Article Outline
Gitbook 教學
前言
第一部分:申請Gitlab、安裝Gitkraken、安裝Typora、安裝Atom
1: 申請Gitlab
- 可以先了解一下什麼是Git。而Github或Gitlab,都是不錯代碼托管的大平台,而這兩家中,雖然Github一直都是龍頭,但Gitlab提供的page服務、以及gitbook template,讓我們可以快速地佈署我們的Gitbook,因此我們要先去申請一個Gitlab帳號
- 我們可以點選右上角的New Project 來新增一個專案
選擇Create from template;接著選Pages/Gitbook -> Use template
取好名字、按Create Project、Visibility Level選成Public
注意名命時不要有
空格
,請用-
代替
- 你的Gitbook就完成啦
2: 安裝GitKraken
基於初學者看到終端機可能會感到有點陌生,我們可以安裝GitKraken來輔助我們使用Git
我們選擇Start a hosted repo: on GitLab
照下圖的選擇 Clone : GitLab.com (這裡應該會要你登入你的GitLab帳號,登入後就會看到跟我一樣的畫面);選擇你要clone的repo (我們選擇剛剛創的gitbook-demo)
同時要記得選擇取你的電腦上的位置(Full Path)我們目標就是把在GitLab上創好的Repo複製到我們自己的電腦裡。
這樣就完成啦;我們可以選Open Now
這樣就會看到我們的專案了
在Finder中也可以看到
當然如果你懂git的話,也可以直接在終端裡clone下來
3: 安裝Typora
- 我們可以在Finder中設定所有.md格式的文件都用Typora打開
4: 安裝VSCode
之後可能會用來編輯一些Code,
第二部分:如何設定自己的Gitbook
1: 到官網安裝Node.js,選擇Long Term Support (LTS) 版本
在mac中,我自己是用Homebrew安裝的,可以直接在終端機裡輸入
brew install node
(要先裝好Homebrew,詳見這篇)
2: 回到我們的gitbook-demo檔案夾
- 我們要做一些配置,詳細內容可以看這本Gitbook,如果懶得看就照下面的步驟來就可以。
3: 打開Vscode,
- 在Start下選擇Open folder,打開我們的專案資料夾。
- 新增一個名叫
book.json
的空白文件
或是直接在終端機裡輸入
touch book.json
{
"author": "作者",
"description": "This is a sample book created by gitbook",
"extension": null,
"generator": "site",
"links": {
"sidebar":{
"你的部落格" : "https://medium.com/as-a-med-student"
}
},
"language": "zh",
"plugins": [
"-lunr",
"-search",
"search-pro",
"chapter-fold",
"expandable-chapters",
"splitter",
"back-to-top-button",
"hide-element",
"chapter-numbering",
"code",
"popup",
"youtubex",
"click-reveal",
"auto-scroll-table",
"pageview-count",
"todo",
"ancre-navigation",
"flexible-alerts",
"js-sequence-diagram-full@>=0.3.1",
"mermaid"
],
"pluginsConfig": {
"hide-element": {
"elements": [".gitbook-link"]
}
}
}
4: 打開終端機
在mac中,把我們的檔案夾拉到dock中的終端機圖示上放開
應該會看到如下的圖片
更多終端機教學請看這裡
在終端機裡輸入
gitbook install
安裝plugin在終端機裡輸入
gitbook serve
發佈這本書
5: 完成,在Chrome中貼上http://localhost:4000就可以開啟書了
第三部分:如何編輯Gitbook
1: 新增文件
- 點開README.md檔案來開啟typora,在左側側邊欄會看到這個資料夾下的所有檔案
- 按左下角有一個
+
號,新增一個叫chapter1的文件 - 在這裡我們就可以開始用Markdown語法來編輯文件了
2: 編輯SUMMARY.md
- 我們還要把這個文件加入我們的目錄中,請打開
SUMMARY.md
, 並依照項目符號加入檔案,好了之後存檔 ``` = markdown
![](https://i.imgur.com/xDsfsZF.png)
2. 我們可以在終端機中執行`gitbook serve`指令,看一下我們的成果,一樣到http://localhost:4000 ,就可以看到我們新增的第一章了
![](https://i.imgur.com/LoFeZS2.png)
### 3: push回gitlab
1. 打開Gitkraken,選擇右上角`View changes`
![](https://i.imgur.com/4jkC9j7.png)
2. 接著選<span style="color: green;"> Stage all changes</span>
![](https://i.imgur.com/nfBU0ZA.png)
3. 在下面的**Commit Message**中打入我們做的調整 (提醒自己做了哪些事);接著按 <span style="color: green;"> Commit</span>
![](https://i.imgur.com/NVZgHuJ.png)
4. 然後按`Push`上傳我們的更動回GitLab
![](https://i.imgur.com/o7gIrP2.png)
5. 完成
![](https://i.imgur.com/XXlP0Hk.png)
6. 接著我們回到GitLab,可以在左欄 Repository下的 Commits中,看到我們剛剛推送的 Commit,可以看到Status的小logo顯示正在運行中
![](https://i.imgur.com/21FEvh3.png)
7. 完成就會在CI/CD下的Pipelines看到Commit顯示為 <span style="color: green;"> passed </span>
![](https://i.imgur.com/bpDGwO8.png)
8. 在左側找到Settings: Pages,可以看到**Your pages are served under** : e.g. https://htlin222.gitlab.io/gitbook-demo
![](https://i.imgur.com/Vv0DxWr.png)
9. 我們的書就大功告成了
![](https://i.imgur.com/4CFdo8w.png)
## 第四部分:如何Fork別人的Gitbook,並協作
### 1: 如何Fork別人的文件
[在這篇](https://gitbook.tw/chapters/github/pull-request.html)裡提到:在 GitHub 上有個有趣的機制:
- 先複製(Fork)一份原作的專案到你自己的 GitHub 帳號底下。
- 因為這個複製回來的專案已經在你自己的 GitHub 帳號下,所以你就有完整的權限,想怎麼改就怎麼改。
- 改完後,先推回(Push)你自己帳號的專案。
- 然後發個通知,讓原作者知道你有幫忙做了一些事情,請他看一下。
- 原作者看完後說「我覺得可以」,然後就決定把你做的這些修改合併(Merge)到他的專案裡。
其中,第 4 步的那個「通知」,就是發一個請原作來拉回去(Pull)的請求(Request),稱之 Pull Request,簡稱 PR。
1. [辦好Gitlab](https://hackmd.io/@htlin222/gitbook-how?fbclid=IwAR1A6xbEj8ekA2qAsujBbw7dLrdv_w4H_Nd1aQVfUiZB1gAcqMa-5VZjQA0#1-%E7%94%B3%E8%AB%8BGitlab)後,當你開啟[別人的專案](https://gitlab.com/htlin222/gitbook-demo)(你可以點我的試試看),請點右上角的`fork`
![](https://i.imgur.com/0GtJgUC.png)
2. 可以看到這個project已經成功複製到你自己的頁面來了
![](https://i.imgur.com/0ZyHbDV.png)
3. 接下來你可以自行修改這個專案內容,你可以[clone](https://hackmd.io/@htlin222/gitbook-how#2-%E5%AE%89%E8%A3%9DGitKraken)到自己電腦裡,也可以增加.md的文件後,照上面教過的push功能從本地推到雲端
4. 你也可以直接上傳.md文件
![](https://i.imgur.com/dcKEwEb.png)
5. 如果你用不習慣typora,也可以直接在[hackMD](https://hackmd.io/)裡編輯後,在右上角的選單中下載成markdown (.md)格式,然後用上一個步驟的方式上傳
![](https://i.imgur.com/c7uIdTK.png)
6. 可以直接在GitLab裡[修改SUMMARY.md](https://hackmd.io/@htlin222/gitbook-how#2-%E7%B7%A8%E8%BC%AFSUMMARYmd),選擇右上角的 `edit`
![](https://i.imgur.com/eo64AYr.png)
7. 記得commit
![](https://i.imgur.com/5NjbdBL.png)
### 2: 如何把內容推回去給原作者
1. 在左欄有一個叫Merge Requests的選項 (GitHub叫Pull request),選擇new merge request
![](https://i.imgur.com/uwyQkjl.png)
2. 選擇你自己要Merge的sourse branch,接著按Compare branches and continue
![](https://i.imgur.com/lOCS7bi.png)
3. 可以描述一下你做了哪些更動
![](https://i.imgur.com/f8TMUXe.png)
4. 捲到最底**submit merge request**
![](https://i.imgur.com/CyE7DNJ.png)
5. 原作者就會在自己的repo中看到來自你的merge request
![](https://i.imgur.com/j4U1eKK.png)
6. 他只需要按<span style="color: blue;">Approve</span>,再按<span style="color: green;">Merge</span>就可以了
![](https://i.imgur.com/KW4rzon.png)
7. 再回到 https://htlin222.gitlab.io/gitbook-demo 看看,可以見到我們的更動都在了~
![](https://i.imgur.com/t6MgaVR.png)
## 結語
製作好看的共筆一直時自學生時間以來所追求的聖杯,如果共筆組以HackMD一起製作共筆,完成後下載成.md,再由共筆長編入Gitbook,相信在製作發行上,一定會更有效率。