第三讲:如何记录自己的代码并转换成网页格式

3.1 记录自己的代码和分析步骤

在生信学习中,我们经?;嵝匆恍┐肜窗镏焖偈迪质莘治?。如何有效且便捷的记录自己的代码和数据分析步骤?这是一件值得思考的事情。

不能及时有效的记录自己的代码或者分析步骤,一段时间后就可能会忘掉。这样一来,自己还需花大量时间去重新整理思路。对生信学习来讲,这是不可取的。良好的实验分析记录习惯是非常重要的,尽管这可能会花掉一部分时间,但是其中的好处是不可估量的。

现在很多生信学习者喜欢用markdown去记录自己的日常。markdown对于大部分使用者来说是友好的。语法简单,容易掌握。市面上也出现了一些比较好用的markdown软件,例如:CMD Markdown。这里为了提升自己的文件逼格然后与诸如Read the Docs之类的接轨,我给大家介绍一下Jupyter notebookSphinx这两个神器。

3.1.1 Jupyter notebook的安装与使用

Jupyter notebook 想必大家都不陌生,这里我简单地给大家介绍一下它。 目前Jupyter notebook主要支持python2/3内核, R内核,Bash内核还有Julia 内核。对于它的安装也相对比较简单。如果你的电脑里已经安装了Python (2或者3),你可以直接用pip对其进行安装。 如果你没有安装pip, 可以用以下代码去安装(已经安装的小伙伴可以跳过此步骤)

$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py

安装结束后,你可以用pip进行对jupyter的安装。

$ pip install jupyter

对于bash内核的支持,大家可以用以下代码去安装(仅限于Linux/MacOS系统)

$ pip install bash_kernel
$ python -m bash_kernel.install

一切准备就绪后,大家就可以打开Jupyter notebook

$ jupyter notebook

然后通过选择跳出网页右上角New 选项去建立例如bash文本。具体的写作语句可以参考这里。在此我就不赘述了。

3.1.2 Sphinx的安装与使用

作为高端大气上档次的html转化器,sphinx你值得拥有。 Sphinx提供了很多主题,可以帮助美化你的jupyter notebook文本并将它转化成html网页版。Read the Docs就是应用sphinx来转化docs的。 废话不多讲,先看看怎么安装它。

安装之前请确保你的系统中已经安装了Pandoc.

完成以上安装后,你可以参考以下代码去安装sphinx

$ pip install pandoc
$ pip install pypandoc
$ pip install sphinx
$ pip install nbsphinx
$ pip install sphinx_rtd_theme

nbsphinx的使用手册可以参考:http://nbsphinx.readthedocs.io

如何使用sphinx

$ mkdir -p docs
$ cd docs
$ sphinx-quickstart

你会看到这样的信息:

Welcome to the Sphinx 1.6.7 quickstart utility.

Please enter values for the following settings (just press Enter to
accept a default value, if one is given in brackets).

Enter the root path for documentation.
> Root path for the documentation [.]:

打回车键,你会看到

You have two options for placing the build directory for Sphinx output.
Either, you use a directory "_build" within the root path, or you separate
"source" and "build" directories within the root path.
> Separate source and build directories (y/n) [n]: 

选择y, 然后打回车键,你会看到

Inside the root directory, two more directories will be created; "_templates"
for custom HTML templates and "_static" for custom stylesheets and other static
files. You can enter another prefix (such as ".") to replace the underscore.
> Name prefix for templates and static dir [_]: 

打回车键,你会看到

The project name will occur in several places in the built documentation.
> Project name: 

填写自己的project名字,作者,版本号,然后一直按回车键直到:

Please indicate if you want to use one of the following Sphinx extensions:
> autodoc: automatically insert docstrings from modules (y/n) [n]: 

选择y。然后接着回车键到最后。你就建立一个属于自己的project。具体的文件结构如下:

.
├── Makefile
├── build
├── make.bat
└── source
    ├── _static
    ├── _templates
    ├── conf.py
    └── index.rst

这里最重要的是你的conf.pyindex.rst文件。

要想有效的利用sphinx, 你可以先把.ipynb文件转换成.rst文件 (语法丰富多彩,感兴趣的可以自己直接写.rst文件).

$ ipython nbconvert --to rst /path/to/your/test.ipynb

转化完成后将test.rst 文件拷贝到上面的sourcefolder。

下面就是对index.rst的设置了。
index.rst要求必须保留toctree 设置,其他不用的可以删掉,具体如下:

====================================
Welcome to my sphinx documentation!   ##给自己文档起个名字
====================================

.. toctree::
   :maxdepth: <int>  ##可选任意数,如10.
   :caption: xxxxxx   ##标题注释,也可不填

   test ##这里是你转化的rst文件名字

接下来是conf.py的设置,可参考:

nbsphinx_execute = 'never'
nbsphinx_allow_errors = True
nbsphinx_prompt_width = 0
exclude_patterns = ['_build', '**.ipynb_checkpoints', 'Thumbs.db', '.DS_Store']
html_theme = 'sphinx_rtd_theme' ##主题很多,可自行选择
html_theme_options = {'collapse_navigation': True}

sphinx有不少的主题,你可以在sphinx-themes 浏览下载。

完成以上设置后,回到上一级 docs folder 里,然后

$ make html

你的html文本就会出现在你的./build/html文件中。

下一讲我将介绍如何免费创建自己Read the docs,敬请关注。

希望大家相互学习,多批评指正!

版权所有者 Andy. Twitter: @Yuxuan_Yuan; Wechat: yyx8671;微信公众号:生信人生

最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,100评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,308评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,718评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,275评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,376评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,454评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,464评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,248评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,686评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,974评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,150评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,817评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,484评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,140评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,374评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,012评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,041评论 2 351

推荐阅读更多精彩内容