文/周慶國 謝啟榮 高成龍 周睿
這些步驟指導你:輕松創(chuàng)建協(xié)作式開放在線教程
文/周慶國 謝啟榮 高成龍 周睿
協(xié)作式開放在線課程,英文名稱為Collaborative Open Online Course,縮寫為COOC,是對MOOC的補充和支撐,它能夠把優(yōu)質(zhì)在線資源與課堂面對面教學的優(yōu)勢有機結合起來。
隨著科學技術的發(fā)展,各行各業(yè)的知識技能都在飛速的迭代,尤其是信息技術領域更是日新月異,然而作為知識最主要載體的教材卻沒有跟上時代的步伐,導致書本上的許多知識都與行業(yè)發(fā)展脫節(jié),而協(xié)作式開放在線教程則是一種新型的,采用互聯(lián)網(wǎng)的思維來編寫教材的方式。本文詳細描述了創(chuàng)建協(xié)作式開放在線教程的步驟,旨在提高大眾對于協(xié)作式開放在線教程平臺的了解和興趣,引導更多的人加入到協(xié)作式開放在線教程的建設中來。
GitHub
GitHub是一個基于Web和Git的互聯(lián)網(wǎng)托管服務,它除了提供了Git的所有功能之外,還添加了一些自己的特性,比如優(yōu)美的Web圖形化前段、Windows和Mac客戶端、訪問控制和一些多人協(xié)作的特性如問題追蹤、功能需求、任務管理。
在GitHub上,任何人可以通過fork和pull request方式參與任何公共項目的開發(fā),并可以通過協(xié)作示意圖來查看參與的開發(fā)者及其貢獻量并追蹤所有fork的版本。正是由于這些特性,為我們的協(xié)作式開放在線課程提供了機會。
GitBook
GitBook創(chuàng)建于2014年,它是一個基于NodeJS創(chuàng)建的工具庫,其原則是建立一套更加簡單、現(xiàn)代化的文檔、電子刊物寫作和出版的方案。使用GitBook可以輕松地編寫出漂亮的圖書,它可以將圖書以靜態(tài)網(wǎng)站、PDF、ePub、MOBI幾種不同的形式呈現(xiàn)。此外,GitBook完全開源。
圖書結構:一本圖書就是一個GitBook中的一個倉庫, 至少包含兩個文件: README.md 和 SUMMARY.md。
1. README.md可以被自動地加入到最終的Summary 之中。
2. SUMMARY.md 定義了圖書的目錄。它應該包含章節(jié)的列表,以及它們的鏈接。
例如,SUMMARY.md的內(nèi)容會是以下這樣:
# Summary
This is the summary of my book.
* [section 1](section1/README.md)
* [example 1](section1/example1.md)
* [example 2](section1/example2.md)* [section 2](section2/README.md)* [example 1](section2/example1.md)
不被 SUMMARY.md 包含的文件不會被 GitBook 處理,此外,你可能還需要book.json這個文件來配置一些圖書相關信息。
協(xié)作式在線開放教程
協(xié)作式開放在線課程,英文名稱為Collaborative Open Online Course,縮寫為COOC,是對MOOC的補充和支撐,它能夠把優(yōu)質(zhì)在線資源與課堂面對面教學的優(yōu)勢有機結合起來,激勵教學者和學習者都投入到課程的建設與完善中來,實現(xiàn)對教學流程的重構與創(chuàng)新。COOC以GitHub和GitBook為支撐工具,采用了開源協(xié)作的思想來編寫教材,符合當前開源開放的發(fā)展趨勢。目前,COOC平臺的官網(wǎng)地址為https://cooc-china.github.io。
圖1 Connect to GitHub
創(chuàng)建倉庫
1. 打開GitBook(https://www.gitbook. com),若已有賬戶直接登錄,沒有賬戶則先注冊。
圖2 Authorize application
圖3 Connect to GitHub成功
圖4 需要填寫的信息
2. 進入Dashboard后,點擊“SETTINGS”進入設置頁面。
3. 在SETTINGS頁面向下滑動,在GitHub處先點擊“Connect to GitHub”右邊的三角箭頭,再在下拉菜單中點擊“With access to public repostories”,如圖1所示。
4. 接下來如果瀏覽器已登錄過GitHub則會直接進入第5步的授權確認頁,否則會到GitHub的登錄頁,在此可輸入GitHub的賬戶名和郵箱登錄,若無GitHub賬戶則先點擊下方的“Create an account”創(chuàng)建賬戶。
5. 登錄后會轉到授權確認頁,點擊“Authorize application”確認授權GitBook使用GitHub的倉庫,如圖2所示。
6. 授權確認后會跳轉回GitBook的SETTINGS頁面,此時GitHub面板處會如下圖所示,否則請重試以上步驟,如圖3所示。
7. 在GitBook中創(chuàng)建圖書倉庫,點擊上方導航欄右側的“+NEW”按鈕,創(chuàng)建一個圖書倉庫。
然后在彈出的對話框中填寫以下信息,再點擊“Create Book”即可完成在GitBook中創(chuàng)建圖書倉庫,如圖4所示。
接下來將此倉庫導出到GitHub中建立兩個倉庫的關聯(lián),導出到GitHub中是因為發(fā)揮GitHub在協(xié)同工作方面的優(yōu)勢,并且便于統(tǒng)計每個人的貢獻量以及問題追蹤等。建立好關聯(lián)之后兩個倉庫的代碼就完全同步了,即在GitHub倉庫中做出改動會自動同步到GitBook倉庫中,反之亦然。
8. 在GitBook中創(chuàng)建完成后會跳轉到圖書的歡迎頁面,在頁面中點擊“SETTINGS”進入圖書的設置頁面,如圖5所示。
9. 在圖書設置頁面中,可以在Options選項卡中修改圖書的Name等屬性,也可以添加Topic、修改圖書語言等,點擊左側的“GitHub”打開GitHub選項卡,在這里點擊“Export to GitHub”進入GitHub Importer頁面,如圖6所示。
10. 在GitHub Importer頁面中先點擊“Check URL”。
11. 等待Check URL完成,即可設置GitHub中倉庫的名字和是否公開(請選擇Public),設置完后點擊“Begin Import”,如圖7所示。
12. 接下來會跳轉到GitBook的授權頁,在這里輸入GitBook的賬戶名和密碼,后點擊“Authenticate”,授權后等待導入完成,如圖8所示。
13. 點擊“Continue to repository”,即可進入GitHub中查看倉庫,可以看到之前提到的GitBook圖書倉庫中必須包含的兩個文件:SUMMARY.md和README.md,如圖9所示。
至此就已經(jīng)完成了GitBook圖書倉庫創(chuàng)建和導出到GitHub倉庫并建立兩個倉庫的關聯(lián)這些步驟。
安裝環(huán)境、寫作
1. 通過客戶端方式撰寫(以Windows平臺為例)
此方法不適合大眾協(xié)同貢獻,僅適合團隊內(nèi)部成員維護。
(1)下載并安裝GitBook客戶端(該客戶端同時支持Windows、Linux和Mac平臺)。
(2)打開GitBook客戶端并登錄。
(3)點擊GITBOOK.COM,并在下方選擇要編輯的圖書,圖書的撰寫遵循Markdown語法,下面介紹圖書編輯界面,如圖10所示。
(4)寫作完之后請點擊“Sync”將改動提交到遠程倉庫中,除了使用離線客戶端,你還可以使用Web編輯器在線編輯,在GitBook的圖書歡迎頁面中點擊右上角的“Edit”即可進入在線編輯器界面,界面布局與操作方式大致同客戶端編輯器,由于國內(nèi)的網(wǎng)絡環(huán)境,不推薦使用在線編輯器。
2. 通過命令行的方式編寫(以Ubuntu平臺為例)
其他平臺也可參考此方法。
(1)安裝Git,打開終端模擬器,運行一下命令:
$ sudo apt-get install git #安裝Git
$ git config --global user.name "Git用戶名(不可使用中文字符)"
圖5 圖書的SETTINGS
圖6 Export to GitHub
圖7 Begin import
$ git config --global user.email "郵箱"
(2) 安裝NodeJS
$ curl -sL https://deb.nodesource.com/ setup_4.x | sudo -E bash -
$ sudo apt-get install -y nodejs
(3)安裝GitBook
$ sudo npm install -g gitbook-cli
(4)獲取圖書源文件
$ git clone 前面提到的GitHub遠程倉庫的地址
(5)撰寫圖書按照GitBook目錄的說明創(chuàng)建章節(jié)等并撰寫相關內(nèi)容,使用普通的文本編輯器即可,也可使用專用的Markdown編輯器,推薦使用Haroopad
(6)本地預覽,在終端模擬器中進入本地倉庫根目錄運行
圖8 導入完成
圖9 已導入至GitHub
圖10 編輯面板
$ gitbook serve
(7)然后可通過瀏覽器打開http:// localhost:4000以查看圖書效果,確認無誤后運行以下命令將改動提交到遠程倉庫。
$ git add -A
$ git commit -m "提交說明"
$ git push origin master
GitBook高級用法
通過以上步驟已經(jīng)可以在GitBook上創(chuàng)建并維護一門COOC教程了,但是這時圖書的一切配置都只是默認的,比如語言默認是英語、側邊欄的鏈接無法更改等。要想修改這些屬性則需要配置之前提到的book.json文件,以下就對book.json文件中一些常用的配置做介紹。
book.json是一個JSON文件,其格式當然就必須按照JSON格式來寫,通過book.json文件你可以配置圖書的名稱等信息,可以配置側邊欄鏈接、使用插件、配置語言等。以下是一個完整的book.json文件的內(nèi)容:
{
"author": "COOC China",
"title": "測試教程",
"description": "COOC 測試教程",
"links": {
"sidebar": {
"COOC China": "https://cooc-china.github.io/",
"參與貢獻": "https://github.com/Archxr/demo-book.
git"
}
},
"plugins": [
"duoshuo" ],
"pluginsConfig": {
"sharing": {
"facebook": false,
"google": false,
"twitter": false, "weibo": true,
"instapaper": false, "all": [
"weibo" ]
},
"duoshuo": {
"short_name": "demo-book" }
},
"language": "zh-hans"
}
1. author表示圖書的作者;
2. title表示圖書的標題;
3. description表示圖書的描述;
4. links里的內(nèi)容控制在瀏覽器瀏覽圖書時側邊欄上方顯示的鏈接;
5. plugins表示這本圖書里要使用的插件,插件具有很強大的功能,比如在書中插入習題等就可以用插件來完成,所有的插件可以在https://plugins.gitbook.com/找到,其中duoshuo是一款社會化評論插件,使用時需要先在http://duoshuo.com/創(chuàng)建一個站點;
6. pluginsConfig是對插件的一些配置,其中sharing是一個默認使用的分享插件,即以網(wǎng)站形式瀏覽時右上角的分享按鈕,“false”值表示不顯示分享到此平臺的按鈕。duoshuo的“short_name”是多說創(chuàng)建站點時填寫的唯一ID;
7. language表示圖書所使用的語言,簡體中文用“zh-hans”表示。
以上就是創(chuàng)建一門COOC教程的完整步驟,普通用戶、熟悉Git與計算機的高級用戶都可以輕松地創(chuàng)建一門COOC教程。COOC倡導開放協(xié)作的思想完全符合目前開源開放的時代趨勢,在合適的開放協(xié)議和質(zhì)量控制手段的配合下,必定能像Linux內(nèi)核一樣以星星之火呈現(xiàn)出燎原之勢。
(作者單位為蘭州大學信息科學與工程學院嵌入式與分布式實驗室)