APP下载

这些步骤指导你:轻松创建协作式开放在线教程

2016-11-22周庆国谢启荣高成龙周睿

中国教育网络 2016年8期
关键词:编辑器教程插件

文/周庆国 谢启荣 高成龙 周睿

这些步骤指导你:轻松创建协作式开放在线教程

文/周庆国 谢启荣 高成龙 周睿

协作式开放在线课程,英文名称为Collaborative Open Online Course,缩写为COOC,是对MOOC的补充和支撑,它能够把优质在线资源与课堂面对面教学的优势有机结合起来。

随着科学技术的发展,各行各业的知识技能都在飞速的迭代,尤其是信息技术领域更是日新月异,然而作为知识最主要载体的教材却没有跟上时代的步伐,导致书本上的许多知识都与行业发展脱节,而协作式开放在线教程则是一种新型的,采用互联网的思维来编写教材的方式。本文详细描述了创建协作式开放在线教程的步骤,旨在提高大众对于协作式开放在线教程平台的了解和兴趣,引导更多的人加入到协作式开放在线教程的建设中来。

概念解释

GitHub

GitHub是一个基于Web和Git的互联网托管服务,它除了提供了Git的所有功能之外,还添加了一些自己的特性,比如优美的Web图形化前段、Windows和Mac客户端、访问控制和一些多人协作的特性如问题追踪、功能需求、任务管理。

在GitHub上,任何人可以通过fork和pull request方式参与任何公共项目的开发,并可以通过协作示意图来查看参与的开发者及其贡献量并追踪所有fork的版本。正是由于这些特性,为我们的协作式开放在线课程提供了机会。

GitBook

GitBook创建于2014年,它是一个基于NodeJS创建的工具库,其原则是建立一套更加简单、现代化的文档、电子刊物写作和出版的方案。使用GitBook可以轻松地编写出漂亮的图书,它可以将图书以静态网站、PDF、ePub、MOBI几种不同的形式呈现。此外,GitBook完全开源。

图书结构:一本图书就是一个GitBook中的一个仓库, 至少包含两个文件: README.md 和 SUMMARY.md。

1. README.md可以被自动地加入到最终的Summary 之中。

2. SUMMARY.md 定义了图书的目录。它应该包含章节的列表,以及它们的链接。

例如,SUMMARY.md的内容会是以下这样:

# 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这个文件来配置一些图书相关信息。

协作式在线开放教程

协作式开放在线课程,英文名称为Collaborative Open Online Course,缩写为COOC,是对MOOC的补充和支撑,它能够把优质在线资源与课堂面对面教学的优势有机结合起来,激励教学者和学习者都投入到课程的建设与完善中来,实现对教学流程的重构与创新。COOC以GitHub和GitBook为支撑工具,采用了开源协作的思想来编写教材,符合当前开源开放的发展趋势。目前,COOC平台的官网地址为https://cooc-china.github.io。

图1 Connect to GitHub

协作式开放在线教程创建步骤

创建仓库

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”创建账户。

5. 登录后会转到授权确认页,点击“Authorize application”确认授权GitBook使用GitHub的仓库,如图2所示。

6. 授权确认后会跳转回GitBook的SETTINGS页面,此时GitHub面板处会如下图所示,否则请重试以上步骤,如图3所示。

7. 在GitBook中创建图书仓库,点击上方导航栏右侧的“+NEW”按钮,创建一个图书仓库。

然后在弹出的对话框中填写以下信息,再点击“Create Book”即可完成在GitBook中创建图书仓库,如图4所示。

接下来将此仓库导出到GitHub中建立两个仓库的关联,导出到GitHub中是因为发挥GitHub在协同工作方面的优势,并且便于统计每个人的贡献量以及问题追踪等。建立好关联之后两个仓库的代码就完全同步了,即在GitHub仓库中做出改动会自动同步到GitBook仓库中,反之亦然。

8. 在GitBook中创建完成后会跳转到图书的欢迎页面,在页面中点击“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所示。

至此就已经完成了GitBook图书仓库创建和导出到GitHub仓库并建立两个仓库的关联这些步骤。

安装环境、写作

1. 通过客户端方式撰写(以Windows平台为例)

此方法不适合大众协同贡献,仅适合团队内部成员维护。

(1)下载并安装GitBook客户端(该客户端同时支持Windows、Linux和Mac平台)。

(2)打开GitBook客户端并登录。

(3)点击GITBOOK.COM,并在下方选择要编辑的图书,图书的撰写遵循Markdown语法,下面介绍图书编辑界面,如图10所示。

(4)写作完之后请点击“Sync”将改动提交到远程仓库中,除了使用离线客户端,你还可以使用Web编辑器在线编辑,在GitBook的图书欢迎页面中点击右上角的“Edit”即可进入在线编辑器界面,界面布局与操作方式大致同客户端编辑器,由于国内的网络环境,不推荐使用在线编辑器。

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目录的说明创建章节等并撰写相关内容,使用普通的文本编辑器即可,也可使用专用的Markdown编辑器,推荐使用Haroopad

(6)本地预览,在终端模拟器中进入本地仓库根目录运行

图8 导入完成

图9 已导入至GitHub

图10 编辑面板

$ gitbook serve

(7)然后可通过浏览器打开http:// localhost:4000以查看图书效果,确认无误后运行以下命令将改动提交到远程仓库。

$ git add -A

$ git commit -m "提交说明"

$ git push origin master

GitBook高级用法

通过以上步骤已经可以在GitBook上创建并维护一门COOC教程了,但是这时图书的一切配置都只是默认的,比如语言默认是英语、侧边栏的链接无法更改等。要想修改这些属性则需要配置之前提到的book.json文件,以下就对book.json文件中一些常用的配置做介绍。

book.json是一个JSON文件,其格式当然就必须按照JSON格式来写,通过book.json文件你可以配置图书的名称等信息,可以配置侧边栏链接、使用插件、配置语言等。以下是一个完整的book.json文件的内容:

{

"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里的内容控制在浏览器浏览图书时侧边栏上方显示的链接;

5. plugins表示这本图书里要使用的插件,插件具有很强大的功能,比如在书中插入习题等就可以用插件来完成,所有的插件可以在https://plugins.gitbook.com/找到,其中duoshuo是一款社会化评论插件,使用时需要先在http://duoshuo.com/创建一个站点;

6. pluginsConfig是对插件的一些配置,其中sharing是一个默认使用的分享插件,即以网站形式浏览时右上角的分享按钮,“false”值表示不显示分享到此平台的按钮。duoshuo的“short_name”是多说创建站点时填写的唯一ID;

7. language表示图书所使用的语言,简体中文用“zh-hans”表示。

以上就是创建一门COOC教程的完整步骤,普通用户、熟悉Git与计算机的高级用户都可以轻松地创建一门COOC教程。COOC倡导开放协作的思想完全符合目前开源开放的时代趋势,在合适的开放协议和质量控制手段的配合下,必定能像Linux内核一样以星星之火呈现出燎原之势。

(作者单位为兰州大学信息科学与工程学院嵌入式与分布式实验室)

猜你喜欢

编辑器教程插件
司空见惯感觉烦 锁屏画面快走开
融合计算思维的国外项目式创客教程分析——以微软micro:bit CS教程为例
自编插件完善App Inventor与乐高机器人通信
你距离微信创作达人还有多远?
挽碧制作教程
车辆段收发车运行图编辑器的设计与实现
基于jQUerY的自定义插件开发
基于Revit MEP的插件制作探讨
一绾青絲深,此意最绵绵——古风发型教程
实践 学习 在实践——《新闻个案教程》开讲五年实录及思考