十分钟搭建一个数据科学博客 创建博客的步骤( 二 )


十分钟搭建一个数据科学博客 创建博客的步骤

文章插图
运行完pelican-quickstart以后,jupyter-blog文件夹里多了两个文件夹content和output,还有一些文件,比如pelicanconf.py和publishconf.py 。下边是文件夹目录的示例:
十分钟搭建一个数据科学博客 创建博客的步骤

文章插图
安装 Jupyter 插件
Pelican 默认不支持使用 Jupyter 写文章,所以我们需要安装一个插件来完成这项功能 。我们把插件作为一个 git 子模块(git submodule)来安装,这样便于管理 。如果你还没有安装 git,你可以在这里找到安装说明 。当你安装完成 git 之后:
  • 运行git init来把当前文件夹初始化为一个 git 仓库 。
  • 创建一个叫plugins的文件夹 。
  • 运行git submodule add
    git://github.com/danielfrg/pelican-ipynb.git plugins/ipynb来添加插件 。
现在应该会有一个.gitmodules文件和一个plugins文件夹:
十分钟搭建一个数据科学博客 创建博客的步骤

文章插图
为了激活插件,我们需要修改pelicanconf.py文件,在最下边添加几行代码:
十分钟搭建一个数据科学博客 创建博客的步骤

文章插图
这几行代码告诉 Pelican 当生成 HTML 的时候激活插件 。
写第一篇文章
插件安装完之后,就可以写你的第一篇文章了:
  • 创建一个 Jupyter notebook,简单写一些内容 。这里有一个例子 。
  • 把 notebook 文件复制到content文件夹 。
  • 创建一个和notebook同名的文件,但是扩展名是.ipynb-meta 。这里有一个例子 。
  • 把下边的内容添加到ipynb-meta文件中,但是根据你自己的文章修改相应字段:

十分钟搭建一个数据科学博客 创建博客的步骤

文章插图
这里以上字段的解释:
  • Title——文章的标题 。
  • Slug——你的文章在服务器上的路径 。如果 slug 是first-post,而且你的服务器地址是jupyter-blog.com, 你可以在
    http://www.jupyter-blog.com/first-post这个地址找到你的文章 。
  • Date——文章发布的日期 。
  • Category——文章的类别——可以是任何东西 。
  • Tags——文章的标签 。可以随便挂标签 。
  • Author——文章作者的名字 。
  • Summary——文章的摘要 。
每发布一篇文章,就需要复制一个 notebook 文件,并创建一个ipynb-meta文件
创建好 notebook 和 meta 文件后,就可以生成博客 HTML 文件了 。下边是jupyter-blog文件夹现在的样子:
十分钟搭建一个数据科学博客 创建博客的步骤

文章插图
生成 HTML
为了从文章生成 HTML,我们需要先运行 Pelican 来把 notebooks 转换为 HTML,然后运行本地服务器来查看:
  • 切换到jupyter-blog文件夹 。
  • 运行pelican content来生成 HTML 。
  • 切换到output目录 。
  • 运行python -m pelican.server 。
  • 在浏览器里访问localhost:8000来预览你的博客 。
在浏览器里就可以看到博客里所有文章的列表,以及具体的博客内容了 。
创建 GitHub Pages
GitHub Pages 是 GitHub 的一项功能,允许你快速部署静态网站,让所有人都可以通过特定 URL 访问 。为了完成它的配置,我们需要:
  • 注册一个 GitHub 帐号,如果你还没有的话 。
  • 创建一个叫username.github.io的仓库,这里username是你的 GitHub 用户名 。这里有更详细的说明告诉你怎么做 。
  • 切换到jupyter-blog文件夹 。
  • 运行git remote add origin git@
    github.com:username/username.github.io.git把这个仓库作为远程仓库添加到你的本地仓库,把所有的username参数替换为你的 GitHub 用户名 。
GitHub Pages 会把username.github.io仓库的master分支下的所有 HTML 文件展示到username.github.io这个地址(仓库和 URL 是一样的) 。
首先我们需要修改 Pelican 使得 URL 指向正确的位置:
  • 在publishconf.py文件里编辑SITEURL,把它设置为http://username.github.io,username还是你的GitHub用户名 。
  • 运行pelican content -s publishconf.py 。当你想在本地预览你的博客的时候,运行pelican content 。在部署之前运行pelican content -s publishconf.py 。这将使用正确的配置文件进行部署 。
提交文件
如果你想把 notebooks 和其他文件作为一个 GitHub Page 放在同一个仓库里,你可以使用分支 。