在我們學(xué)習(xí)某些東西的時候纷责,經(jīng)常會用pdf
、markdown
文件或者ipynb
文件等去記錄一些分析過程臣樱,但是如果文件比較多并且比較長的時候靶擦,后面查閱起來會很麻煩。因此雇毫,想著用Jupyter Book
這一工具將他們轉(zhuǎn)成網(wǎng)頁書的形式玄捕,方便閱讀
1 軟件安裝
# 直接使用pip進(jìn)行安裝就行了
pip install jupyter-book
2 使用
1初始化項(xiàng)目結(jié)構(gòu)
jupyter-book create mybook/
2組織內(nèi)容
將你的 Jupyter Notebook (.ipynb)
、Markdown (.md)
文件以及其他支持的文檔放入 mybook/content/
目錄下棚放,一般這個目錄自己創(chuàng)建就行了枚粘,確保放入前是個空目錄
3 配置書本
修改 mybook/_config.yml
文件,以配置書本的標(biāo)題飘蚯、作者馍迄、語言、主題以及其他高級選項(xiàng)局骤。
title: "My R Learning Book"
author: "Lulu Shi"
baseurl: "https://crazzy-rabbit.github.io/Rscript-to-anaylise-and-visualize/"
repository:
url : "https://github.com/crazzy-rabbit/Rscript-to-anaylise-and-visualize"
#######################################################################################
sphinx:
config:
source_suffix:
- .ipynb
#######################################################################################
# Execution settings
execute:
execute_notebooks : auto # Whether to execute notebooks at build time. Must be one of ("auto", "force", "cache", "off")
cache : "" # A path to the jupyter cache that will be used to store execution artifacts. Defaults to `_build/.jupyter_cache/`
exclude_patterns : [] # A list of patterns to *skip* in execution (e.g. a notebook that takes a really long time)
timeout : 30 # The maximum time (in seconds) each notebook cell is allowed to run.
run_in_temp : false # If `True`, then a temporary directory will be created and used as the command working directory (cwd),
# otherwise the notebook's parent directory will be the cwd.
allow_errors : false # If `False`, when a code cell raises an error the execution is stopped, otherwise all cells are always run.
stderr_output : show # One of 'show', 'remove', 'remove-warn', 'warn', 'error', 'severe'
修改 mybook/_toc.yml
文件攀圈,以配置書本的章節(jié)
# Table of contents
# Learn more at https://jupyterbook.org/customize/toc.html
format: jb-book
root: intro
chapters:
- file: "content/R語言學(xué)習(xí)1-語法函數(shù)1-基礎(chǔ)介紹.ipynb"
- file: "content/R語言學(xué)習(xí)2-語法函數(shù)2-數(shù)據(jù)處理dplyr包.ipynb"
- file: "content/R語言學(xué)習(xí)3-語法函數(shù)3-正則表達(dá)式-stringr包.ipynb"
- file: "content/R語言學(xué)習(xí)4-語法函數(shù)4-因子型變量_數(shù)據(jù)框_函數(shù)式編程purrr包.ipynb"
- file: "content/R語言學(xué)習(xí)5-數(shù)據(jù)可視化-ggplot入門.ipynb"
- file: "content/R語言學(xué)習(xí)6-數(shù)據(jù)可視化-ggplot進(jìn)階(1)之各種圖的實(shí)現(xiàn).ipynb"
- file: "content/R語言學(xué)習(xí)7-數(shù)據(jù)可視化-ggplot進(jìn)階(2)之標(biāo)度scale相關(guān)語法.ipynb"
- file: "content/R語言學(xué)習(xí)8-數(shù)據(jù)可視化-ggplot進(jìn)階(3)之主題設(shè)置theme語法.ipynb"
- file: "content/R語言學(xué)習(xí)9-數(shù)據(jù)可視化-ggplot進(jìn)階(4)之圖例系統(tǒng).ipynb"
- file: "content/R語言學(xué)習(xí)10-數(shù)據(jù)可視化-ggplot進(jìn)階(5)之?dāng)U展內(nèi)容.ipynb"
- file: "content/R語言學(xué)習(xí)11-數(shù)據(jù)可視化-ggplot進(jìn)階(6)之統(tǒng)計(jì)圖層.ipynb"
5 構(gòu)建書本
jupyter-book build -W -n --keep-going --all .
# .表示當(dāng)前目錄為mybook/
# --all表示重新構(gòu)建所有
生成的文件在_build/
文件夾下,而發(fā)布書時峦甩,只需要_build/html
文件夾下的內(nèi)容
6 發(fā)布到Github Pages
_build/html
目錄下的內(nèi)容(不包括這個目錄本身)上傳到 GitHub 新建的reposiory
中赘来,點(diǎn)擊settings
,后選擇pages
凯傲,然后進(jìn)行分支的選擇(如果是新建的reposiory犬辰,則選擇main\root
)
注意!1ァ忧风!在 main\root
目錄下需要添加.nojekyll
文件空文件:
- 由于
GitHub Pages
默認(rèn)使用Jekyll
來構(gòu)建網(wǎng)站, - 而
Jupyter Book
生成的靜態(tài)網(wǎng)站可能不符合Jekyll
的要求球凰, - 因此需要在 分支的根目錄下添加一個名為
.nojekyll
的空文件狮腿。這樣可以告訴GitHub Pages
不要使用Jekyll
來構(gòu)建您的網(wǎng)站腿宰。