# kc-cli 幫助文檔
[TOC]
## 當(dāng)前版本
* v1.0.0
## 安裝
> 開始安裝之前,請(qǐng)先確定已經(jīng)安裝 node.js . 還有 pandoc(可不裝) —— 如果需要文件轉(zhuǎn)換功能的話。
kc-cli 已經(jīng)發(fā)布到 npm ,直接通過(guò) npm 全局安裝來(lái)安裝:
npm install -g kc-cli
在部分系統(tǒng)上,你可能需要加上權(quán)限聲明,例如在 Ubuntu 上:
sudo npm install -g kc-cli
設(shè)計(jì)的初衷是一個(gè) CLI 工具,所以 kc-cli 沒(méi)有 API 可用,不推薦以 node 模塊的方式引入到npm 項(xiàng)目中。當(dāng)然,這不是說(shuō)絕對(duì)不行,以導(dǎo)入文件的方式還是可以拿到 API 的。
## 使用
kc-cli 是輔助大家編輯看云文檔的工具,請(qǐng)先從看云把文檔倉(cāng)庫(kù)克隆到本地。然后進(jìn)入到文件夾打開終端運(yùn)行 kc-cli 的相應(yīng)命令來(lái)做操作。
> ps: 一定是看云的文檔才行嗎? 不是的,它可以運(yùn)行在任何文件夾,只是看云文檔必須先創(chuàng)建才能編輯,而且創(chuàng)建完成之后它并不是一個(gè)空的 Git 倉(cāng)庫(kù)。如果你熟悉 Git.你完全在本地弄好一切,最后把看云文檔倉(cāng)庫(kù)作為遠(yuǎn)程倉(cāng)庫(kù), push 到看云就可以了。
**小提示**: 如果你的編輯器集成了終端功能,那么你可以省去不少麻煩。推薦:Visual Studio Code。
### 命令及說(shuō)明

命令|說(shuō)明
----|----
`kc -h` | 獲取幫助信息。
`kc -v` | 獲取當(dāng)前版本。
`kc init`| 初始化看云文檔。
`kc theme [cssFilePath] | none`| ——更改文檔CSS樣式(原有樣式會(huì)被覆蓋),請(qǐng)?zhí)峁〤SS文件路徑。例:<br> kc theme d:/mycss/kanyun.css。<br>1. 如果是` kc theme none `則會(huì)刪除樣式配置文件(文檔會(huì)使用看云默認(rèn)樣式)。<br>2. 不想要當(dāng)前樣式的時(shí)候可以通過(guò)`kc theme none`命令清除樣式。<br>3. 如果只是微調(diào)樣式,可以打開website.css文件進(jìn)行編輯、保存并提交。
`kc summary [dir...]`| 把項(xiàng)目文件夾下的Markdown文件添加到目錄文件 `SUMMARY.md` ,輸出的文件為:'_summary.md' 。<br>[dir...] 是通配符格式路徑,格式和gulp.src([...])一致,只是你不能用[]進(jìn)行描述,只能像這樣:<br>`kc summary 'a/**/*.md' 'b/*.md' '!README.md'`<br> 如果省略則是當(dāng)前目錄下全部的.md文件。
`kc md` | 批量創(chuàng)建 `SUMMARY.md` 中列出的 Markdown 文件。
`kc watch [ignore...]`| 監(jiān)視任務(wù),當(dāng)文件發(fā)生改變的時(shí)候自動(dòng)執(zhí)行相應(yīng)的操作。結(jié)果:'kc summary' 和 'kc md'。<br>[ignore...] 排除不監(jiān)視的文件或文件夾。
`kc docx [name]`| 根據(jù) `SUMMARY.md` 中列出的文件創(chuàng)建 .docx 文件,<br>All in one !,所有文檔都在一個(gè).docx文件里。<br>[name] 可以指定輸出的文件名,省略則為:out.docx
`kc docx -s` | 根據(jù) `SUMMARY.md` 中列出的文件創(chuàng)建 .docx 文件,一一轉(zhuǎn)換,每個(gè)`.md` 有對(duì)應(yīng)的 `.docx` 文件。
`kc html` | 根據(jù) `SUMMARY.md` 中列出的文件創(chuàng)建 .html 文件,是完整的 HTML 文件 。每個(gè)`.md` 和 HTML 文件一一對(duì)應(yīng)。
`kc html code` | 根據(jù) `SUMMARY.md` 中列出的文件創(chuàng)建 .html 文件,只是 HTML 片段。每個(gè)`.md` 和 HTML 文件一一對(duì)應(yīng)。
#### 命令補(bǔ)充說(shuō)明
`kc init` 命令,涉及的文件包括:`style/website.css`、`book.json`、`.gitignore`、封面、`README.md`等。 如果這些文件不存在或者不完整,kc-cli 會(huì)創(chuàng)建它們,如果這些文件已經(jīng)存在 kc-cli 會(huì)忽略它們不做任何操作。如果你想使用 kc-cli 提供的默認(rèn)配置,那么你可以刪除對(duì)應(yīng)的文件,然后運(yùn)行 `kc init` 來(lái)生成這些文件。這一點(diǎn)得做一個(gè)詳細(xì)的說(shuō)明:
* `README.md` 對(duì)應(yīng)看云文檔的【文檔概要】功能; kc-cli 只是創(chuàng)建它,并不會(huì)寫入多余的內(nèi)容,如果你已經(jīng)寫好了【文檔概要】功能,千萬(wàn)不要?jiǎng)h了`README.md`,刪了就沒(méi)了,即便有可能從歷史版本中找到,但又何必自找麻煩。
* 封面圖片,沒(méi)有封面圖片的話,kc-cli 會(huì)有提醒。
* `style/website.css` 看云文檔的自定義樣式文件。沒(méi)有的話 kc-cli 會(huì)創(chuàng)建并使用看云用戶@xiak 提供的配置方案。如果你已經(jīng)配置過(guò)了,那么 kc-cli 會(huì)忽略它。如果你不想要自己的方案,想改成 kc-cli 的方案,可以刪掉這個(gè)文件,然后運(yùn)行 `kc init` 來(lái)得到 kc-cli 提供的CSS配置方案。相應(yīng)的你也可以對(duì) kc-cli 提供的CSS 方案進(jìn)行微調(diào)、刪除,`kc init`命令并不會(huì)重復(fù)地去更改它。如果你什么樣式都不要,那么請(qǐng)把`style/website.css` 文件的代碼清空然后保存,不要?jiǎng)h,刪的話下次運(yùn)行`kc init`命令的時(shí)候還是被創(chuàng)建。
`kc watch` 命令,它是一個(gè)監(jiān)視器任務(wù),當(dāng)監(jiān)視的文件發(fā)生變化的時(shí)候就會(huì)執(zhí)行指定的任務(wù)。在這里 kc-cli 監(jiān)視除`['!node_modules/**', '!./SUMMARY.md','!./_summary.md', '!./README.md']` 以外的所有 `.md` 文件。執(zhí)行的任務(wù)是:`'kc summary' ` 和 `'kc md'`,當(dāng)運(yùn)行這個(gè)命令之后,終端會(huì)被占用,并且已處于運(yùn)行狀態(tài),如果你想停止監(jiān)視或者結(jié)束任務(wù),可以在激活(點(diǎn)擊選中)終端之后按 Ctrl+C 中斷進(jìn)程,輸入“y” 結(jié)束進(jìn)程。
**kc-cli 依賴終端進(jìn)行工作,關(guān)閉終端會(huì)導(dǎo)致進(jìn)程結(jié)束。如果命令沒(méi)有執(zhí)行完畢最好不要關(guān)閉終端。**
