使用GitBook寫文檔并生成電子書(靜態(tài)網(wǎng)頁(yè))

本文目錄

nodejs高于6.0版本要安裝gitbook3.2.3版本以上扇调,否則會(huì)有問(wèn)題

1抢肛、Gitbook 簡(jiǎn)介

1.1 Gitbook

  • GitBook 是一個(gè)基于 Node.js 開發(fā)的命令行工具狼钮,使用它可以很方便的管理電子書,GitBook 是目前最流行的開源書籍寫作方案捡絮。

  • 使用 GitBook 可以讓創(chuàng)作者專注寫作,自由的揮灑福稳,不必太多的關(guān)心內(nèi)容排版、發(fā)布和版本管理等問(wèn)題半火。

  • 除了通過(guò) GitBook 命令行管理電子書外,還可以在線或者使用桌面編輯器 Gitbook Editor 來(lái)編寫和管理電子書种玛。

  • 對(duì)于新手來(lái)說(shuō),推薦使用 Gitbook Editor 來(lái)編寫和管理電子書挠蛉,因?yàn)樗闪?GitBook 命令祭示、Markdown 編器和 Git 的功能,內(nèi)容通過(guò) Git 可與 gitbook.com / Gitlab / GitHub 同步谴古,方便版本管理和團(tuán)隊(duì)協(xié)作质涛。

  • 可對(duì)于程序員或熟悉 Git 和 Markdown 的人,更推薦使用 GitBook 命令行 + Typora + SourceTree 來(lái)編寫和管理電子書掰担。使用專業(yè)工具做專業(yè)的事汇陆,比 Gitbook Editor 高效很多。

  • GitBook 是開源的带饱。

1.2 GitBook 功能

  • 支持 Markdown 或 AsciiDoc 語(yǔ)法毡代。
  • 可導(dǎo)出靜態(tài)站點(diǎn)或電子書(PDF、epub勺疼、mobi)教寂。
  • 支持多語(yǔ)言。
  • 可設(shè)置封面执庐。
  • 支持變量酪耕、模板和模板繼承。
  • 有豐富的插件轨淌。

1.3 GitBook 的工具組合

  • Node.js:為了使用 npm 安裝 GitBook迂烁,一定要先安裝 Node.js。
  • GitBook 命令:基于 Node.js 開發(fā)的命令行工具猿诸,用于創(chuàng)建和管理電子書婚被。
  • Markdown:GitBook 使用 Markdown 來(lái)寫作,作者再也不用擔(dān)心排版了梳虽。
  • Git:GitBook 使用 Git 管理寫作內(nèi)容址芯,方便多人協(xié)作和版本管理。
  • Github/Gitlab:跟代碼一樣,寫作的內(nèi)容可以托管在 Github 或 Gitlab 中谷炸。
  • gitbook.com:用于在線編寫北专、發(fā)布和托管電子書的網(wǎng)站。

1.4 GitBook 的使用場(chǎng)景

  • 搭建公司內(nèi)部的文檔平臺(tái)旬陡,用于公司內(nèi)部的資料共享拓颓。
  • 發(fā)表開源的電子書,用于在互聯(lián)網(wǎng)上共享自己的知識(shí)描孟,普惠大眾驶睦。

2、Gitbook 環(huán)境配置

2.1 安裝 Node.js

  • 因?yàn)?GitBook 是使用 Node.js 開發(fā)的匿醒,需要通過(guò) Node.js 包管理工具 NPM 安裝场航,所以在開始之前要先把 Node.js 安裝好。

2.2 安裝 GitBook

  • 使用 NPM 安裝 GitBook 的命令行工具廉羔。

    $ sudo npm install gitbook-cli -g
    
  • 安裝完成后查看 GitBook 的版本溉痢。

    $ gitbook --version
    
  • 更新 GitBook 命令。

    $ npm update gitbook-cli -g
    
  • 卸載 GitBook 命令憋他。

    $ sudo npm uninstall gitbook-cli -g
    
  • 注意:

    • 本例中使用的是全局安裝 GitBook 命令孩饼,還有一種安裝方式是本地安裝,兩種方式有什么不同呢竹挡?

      • 本地安裝:安裝包會(huì)被下載到當(dāng)前所在目錄镀娶,因此只能在當(dāng)前目錄下使用。
      • 全局安裝:安裝包會(huì)被下載到到特定的系統(tǒng)目錄下揪罕,安裝包能夠在所有目錄下使用汽畴。
    • 例如,查看 macOS 下全局安裝被安裝到了哪里耸序?

      $ which gitbook
      /usr/local/bin/gitbook
      
      • GitBook 被安裝到了 /usr/local/bin/ 目錄下忍些,因此可以全局使用。

2.3 快速開始 GitBook

  • 1)初始化 GitBook

    # 創(chuàng)建 mygitbook 文件夾坎怪,并切換到這個(gè)文件夾下面
    $ mkdir mygitbook && cd mygitbook
    
    # 初始化 gitbook 工作目錄罢坝,創(chuàng)建必要的文件
    $ gitbook init
    warn: no summary file in this book
    info: create README.md
    info: create SUMMARY.md
    info: initialization is finished
    
    • 然后會(huì)初始化 GitBook 目錄,創(chuàng)建兩個(gè) md 格式的文件 README.md 和 SUMMARY.md

      • README.md - 項(xiàng)目的介紹都寫在這個(gè)文件里搅窿。
      • SUMMARY.md - GitBook 的目錄結(jié)構(gòu)在這里配置嘁酿。
  • 2)定義目錄結(jié)構(gòu)

    • 兩種方法

      • 在 SUMMARY.md 文件中定義目錄結(jié)構(gòu)有兩種方法。

        • 方法 ?. 先定義好目錄結(jié)構(gòu)男应,通過(guò) gitbook init 自動(dòng)生成目錄結(jié)構(gòu)對(duì)應(yīng)的文件夾和 Markdown 文件闹司。

        • 方法 ?. 先創(chuàng)建好文件夾和 Markdown 文件再來(lái)編輯目錄結(jié)構(gòu)。

    • SUMMARY.md

      • SUMMARY.md 的目錄結(jié)構(gòu)長(zhǎng)什么樣沐飘?看下面:

        # Summary
        
        * [項(xiàng)目簡(jiǎn)介](README.md)
        * [快速開始](docs/快速開始.md)
         * [環(huán)境搭建](docs/環(huán)境搭建.md)
         * [簡(jiǎn)單使用](docs/簡(jiǎn)單使用.md)
        * [學(xué)入學(xué)習(xí)](docs/深入學(xué)習(xí)) 
        
    • 這個(gè)目錄建好以后在根目錄下執(zhí)行命令:

      $ gitbook init
      
    • 那些沒(méi)有的目錄和文件都會(huì)被創(chuàng)建:

      info: create docs/快速開始.md
      info: create docs/環(huán)境搭建.md
      info: create docs/簡(jiǎn)單使用.md
      info: create docs/深入學(xué)習(xí).md
      info: create SUMMARY.md
      info: initialization is finished
      
      • gitbook init 只支持生成兩級(jí)目錄游桩。
  • 3)啟動(dòng)服務(wù)

    • 在根目錄執(zhí)行命令:

      $ gitbook serve
      
      • 結(jié)果:

        Live reload server started on port: 35729
        Press CTRL+C to quit ...
        
        info: 7 plugins are installed
        info: loading plugin "livereload"... OK
        info: loading plugin "highlight"... OK
        info: loading plugin "search"... OK
        info: loading plugin "lunr"... OK
        info: loading plugin "sharing"... OK
        info: loading plugin "fontsettings"... OK
        info: loading plugin "theme-default"... OK
        info: found 5 pages
        info: found 0 asset files
        info: >> generation finished with success in 1.9s !
        
        Starting server ...
        Serving book on http://localhost:4000       # 注意瀏覽地址
        
    • 執(zhí)行 gitbook serve 命令后牲迫,會(huì)先編譯書籍 gitbook build,如果沒(méi)有問(wèn)題會(huì)打開一個(gè) Web 服務(wù)器借卧,默認(rèn)監(jiān)聽(tīng) 4000 端口盹憎。如果編譯有問(wèn)題,會(huì)拋出錯(cuò)誤信息铐刘。

gitbook新版本"gitbook build"命令導(dǎo)出的html不能跳轉(zhuǎn)的解決辦法

gitbook是一個(gè)很好用的工具檩禾,但是呢,我裝了好幾個(gè)版本疤祭,老是出現(xiàn)這個(gè)問(wèn)題锌订,于是請(qǐng)教周圍的前端大神,大神提出了解決方法画株,這個(gè)問(wèn)題倒是可以暫時(shí)解決,具體一勞永逸的做法還沒(méi)找到啦辐,誰(shuí)知道了谓传,別忘了告訴我一聲啊芹关!
可能原因
新版本的gitbook不支持了這個(gè)功能

具體原因
由于點(diǎn)擊事件被js代碼禁用续挟,所以點(diǎn)擊沒(méi)有反應(yīng),但是如果右鍵侥衬,在新窗口/新標(biāo)簽頁(yè)打開的話是可以跳轉(zhuǎn)的

解決辦法
找到j(luò)s代碼诗祸,并修改

找到項(xiàng)目目錄gitbook
找到目錄下的theme.js文件
找到下面的代碼
將if(m)改成if(false)
由于代碼是壓縮后的,會(huì)沒(méi)有空格轴总,搜索的時(shí)候可以直接搜索: if(m)for(n.handler&&

if (m)
    for (n.handler && (i = n,
    n = i.handler,
    o = i.selector),
    o && de.find.matchesSelector(Ye, o),
    n.guid || (n.guid = de.guid++),
    (u = m.events) || (u = m.events = {}),
    (a = m.handle) || (a = m.handle = function(t) {
        return "undefined" != typeof de && de.event.triggered !== t.type ? de.event.dispatch.apply(e, arguments) : void 0
    }
    ),
    t = (t || "").match(qe) || [""],
    l = t.length; l--; )
        s = Ze.exec(t[l]) || [],
        h = g = s[1],
        d = (s[2] || "").split(".").sort(),
        h && (f = de.event.special[h] || {},
        h = (o ? f.delegateType : f.bindType) || h,
        f = de.event.special[h] || {},
        c = de.extend({
            type: h,
            origType: g,
            data: r,
            handler: n,
            guid: n.guid,
            selector: o,
            needsContext: o && de.expr.match.needsContext.test(o),
            namespace: d.join(".")
        }, i),
        (p = u[h]) || (p = u[h] = [],
        p.delegateCount = 0,
        f.setup && f.setup.call(e, r, d, a) !== !1 || e.addEventListener && e.addEventListener(h, a)),
        f.add && (f.add.call(e, c),
        c.handler.guid || (c.handler.guid = n.guid)),
        o ? p.splice(p.delegateCount++, 0, c) : p.push(c),
        de.event.global[h] = !0)
    }

完成修改
保存直颅,測(cè)試可用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市怀樟,隨后出現(xiàn)的幾起案子功偿,更是在濱河造成了極大的恐慌,老刑警劉巖往堡,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件械荷,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡虑灰,警方通過(guò)查閱死者的電腦和手機(jī)吨瞎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)穆咐,“玉大人颤诀,你說(shuō)我怎么就攤上這事字旭。” “怎么了着绊?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵谐算,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我归露,道長(zhǎng)洲脂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任剧包,我火速辦了婚禮恐锦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疆液。我一直安慰自己一铅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布堕油。 她就那樣靜靜地躺著潘飘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪掉缺。 梳的紋絲不亂的頭發(fā)上卜录,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音眶明,去河邊找鬼艰毒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛搜囱,可吹牛的內(nèi)容都是我干的丑瞧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼蜀肘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼绊汹!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起扮宠,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤灸促,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后涵卵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體浴栽,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年轿偎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了典鸡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡坏晦,死狀恐怖萝玷,靈堂內(nèi)的尸體忽然破棺而出嫁乘,到底是詐尸還是另有隱情,我是刑警寧澤球碉,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布蜓斧,位于F島的核電站,受9級(jí)特大地震影響睁冬,放射性物質(zhì)發(fā)生泄漏挎春。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一豆拨、第九天 我趴在偏房一處隱蔽的房頂上張望直奋。 院中可真熱鬧,春花似錦施禾、人聲如沸脚线。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)邮绿。三九已至,卻和暖如春攀例,著一層夾襖步出監(jiān)牢的瞬間船逮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工肛度, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人投慈。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓承耿,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親伪煤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子加袋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

推薦閱讀更多精彩內(nèi)容