IPythonNotebook、便利ですよね。
データ分析ツールとしても良し。
コードの確認としても良し。
実際のノートとして使っても良し。
HTMLしたら共有も楽勝〜。
でもわがままな人はこう思ったりするんです。
「ノートがファイルに別れてるから、共有しにくい」
それ、解決しましょう。
Pythonの静的CMS「Pelican」にIPythonNotebookのノートが流し込めます。
ブログとして閲覧できるようになります。
Pelicanとは
動的CMSと言えば、Wordpress。
これはデータベースに記事を格納してます。
Pelicanはそれとは異なりPython製の静的CMS
対して、静的CMSは事前にHTMLを出力して、
それを静的サーバでブログとして提供します。
なので、DropboxのPublicフォルダや、GitHubPageでもブログが公開できるんです。
ちょっとした身内用のブログ公開に便利です。
で、IPythonNotebookのノートを研究室メンバーだけとか、
チームメンバーだけにチョッパヤで公開出来ます。
Pelican入門
pip install pelican
基本はreSTなので、欲しければmarkdownモジュールも。
あとはブログ用のプロジェクトを作るだけです。
mkdir blog cd blog pelican-quickstart
こうするとPelicanがブログ名などを聞いてきます。
わかんなければエンター連打で。
タイムゾーンと使用言語だけはちゃんと答えておいてもいいかも。
(後で設定ファイルで変えられます)
一通り終わると、プロジェクトが出来てます。
blog ├content ├output ├pelicanconf.py └publishconf.py
contentディレクトリに記事ファイルを置いて、
pelican content
とターミナルから実行すると、
outputに出力ファイルができています。
確認したいときは、outputディレクトリに移動して
python -m SimpleHTTPServer
=>ブラウザで確認。
なお、公開用の出力を行うときはpelican content -s publisconf.py
を実行します。
記事の作成
contentフォルダにいれる記事のファイルには
Title: Slug: Date: Category: Tags: Author: Summary:
というヘッダー情報を入れておく必要があります。
あとはMarkdownやreSt書式で書いておけばOK。
IpythonNotebookのノートを変換する
IPythonNotebookのノートから記事をつくるには、
プラグインが必要です。
github.com からクローンしてきます。
で
blog ├content ├output ├plugins │└ipynb ├pelicanconf.py └publishconf.py
のようにplugins/ipynbディレクトリをつくり
、
クローンしてきたファイルをそこに置きます。
pelicanconf.pyに
MARKUP = ('md', 'ipynb') PLUGIN_PATHS = ['./plugins'] PLUGINS = ['ipynb.markup']
という記述を追加。
これで下準備は完了。
ノートをつくる
ここまできたら、
普通にIPythonNotebookでノートをつくります。
contentフォルダに作ってください。
ノートができたら、ノートをテキストエディタで開きます。
(ノートはjsonファイルなのでテキストエディタで編集できます)
そしたら、セル情報ではない、ノート情報のmetadataにPelican用の情報を足します。
{ ====セルの情報===== "metadata": { "name": , "Title": , "Date": , "Category":, "Tags": ", "slug": ", "Author": , ====その他情報==== }
あとはPelican contentをすればブログ用のHTMLが出力されます。
注意
私のPython2.7系環境だと、
プラグイン実行時にエラーが出ます。
core.pyの85行目のBeautifulSoupの記述を以下のように変えます。
soup = BeautifulSoup(content,"html.parser")
また、markup.pyの92行目もcodecエラーを起こすので以下のように変えます。
content=content.decode("utf-8")
これで一旦動きます。
なお、IPythonNotebookに関してはこの本が今のところはおすすめです。
IPythonデータサイエンスクックブック ―対話型コンピューティングと可視化のためのレシピ集
- 作者: Cyrille Rossant,菊池彰
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/12/25
- メディア: 大型本
- この商品を含むブログ (1件) を見る