Top Banner
Tinkerer @r_rudi (しろう)
27

Tinkerer for pyfes 201303

Jan 15, 2015

Download

Technology

r_rudi

Tinkerer is a Sphinx based blog generator. This presentation introduces What is the tinkerer, How to use and Where to deploy your blog.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tinkerer for pyfes 201303

Tinkerer@r_rudi (しろう)

Page 2: Tinkerer for pyfes 201303

Sphinx-users.jp の方から来ました

Page 3: Tinkerer for pyfes 201303

おまえだれよ?

しろう ( @r_rudi )

お仕事: - PostgreSQL

趣味 - Python - Sphinx - Mercurial(TortoiseHg)

Page 4: Tinkerer for pyfes 201303

今日のお題

Tinkerer

Page 5: Tinkerer for pyfes 201303

Tinkererって?

Sphinx をベースにしたブログ 作成ツール

Page 6: Tinkerer for pyfes 201303

Sphinxとは

- ドキュメント作成ツール

- pythonの公式ドキュメントに使われてる

- reStructuredTextという形式で書ける

markdownとかwiki記法とかと同じ感じ

- コメントからドキュメントを自動生成

- コードハイライトが綺麗

pygmentsというのを使ってます

- 拡張が豊富

100以上の拡張が存在

- htmlの他pdfやepubにも変換してくれる

Page 7: Tinkerer for pyfes 201303

Tinkererって?

Sphinxをベースにしたブログ作成ツール

- 日付ごとに整理

- カテゴリーやタグ

- 複数の著者も可能

- テーマを適用

- コマンドラインで静的なHTMLを生成する

Page 8: Tinkerer for pyfes 201303
Page 9: Tinkerer for pyfes 201303

実際に見てみましょう

Tinker のページ

僭越ながら わたくしのblog

喋ったこと: - テーマを切り替えられる - コメントは disqusで可能

Page 10: Tinkerer for pyfes 201303

実際の使い方

インストール

% pip install tinkerer

初期設定

% mkdir どこか && cd どこか

% tinker -s → 必要なファイル一式が生成される

Page 11: Tinkerer for pyfes 201303

記事の作成

ドラフト作成

% tinker -d "ブログタイトル" → drafts/blogtitle.rstというファイルが出来る

公開

% tinker -p "ドラフトファイル名" → 2013/03/16/blogtitle.rst に移動

ビルド

% tinker -b → blog/html 以下にhtmlが生成される

Page 12: Tinkerer for pyfes 201303

Tinkererの欠点

- コマンドラインでしか叩けない

ブラウザから、とかできない。

- テキストエディタが必要

ブラウザから、とかできない

- 記事が多くなるとbuildに時間がかかる

カテゴリーやRSSがあるので、全部最初から生成しなおしている。

Page 13: Tinkerer for pyfes 201303

以上終わり

Page 14: Tinkerer for pyfes 201303

というのでは

なんなんで

Page 15: Tinkerer for pyfes 201303

どこで提供するか

ということについて

Page 16: Tinkerer for pyfes 201303

候補

1. レンタルサーバーやVPSで公開

2. github pagesやbitbucket で

3. S3 + Web hosting

4. Dropbox + dropbprox

Page 17: Tinkerer for pyfes 201303

1. レンタルサーバーやVPSで公開

コピれ!

以上

Page 18: Tinkerer for pyfes 201303

Tinkererのディレクトリ構造

- 2013/- blog/ - html- drafts/- master.rst- conf.py

- index.html

← 公開用元ファイル

← buildされたhtmlファイル

← ドラフト

← 公開用元ファイルのリスト

← 設定ファイル

← blog/html/index.html へのリダイレクト

Page 19: Tinkerer for pyfes 201303

2. github pagesやbitbucketで公開

http://rrudi.bitbucket.org などで公開できます。

独自ドメインも可能1. rrudiなどのリポジトリを作成しておく

2. tinker -b3. hg commit とか git commit -a でhtmlを更新

4. hg push / git push

bitbucketではprivateリポジトリでも公開OKdraftディレクトリはcommitしないように注意

Page 20: Tinkerer for pyfes 201303

3. s3 + web hosting (1/2)

Amazon S3ではファイルをWeb hostingとして公開出来ます

やり方1. bucket作成

2. web hostingの設定

3. (Route 53などで)DNSの設定

Page 21: Tinkerer for pyfes 201303

3. s3 + web hosting (2/2) deploy

boto_rsyncというツールを使います。

% pip install boto_rsyncとしてインストールしておいて

% tinker -b でビルド

% boto-rsync -r --delete blog/html/ s3://rudi-testblog/でOK。(事前に環境変数AWS_ACCESS_KEY_ID等を設定する必要があります)

Page 22: Tinkerer for pyfes 201303

3. s3 + web hosting (3/3) build

drone.io (http://drone.io) travis ci のような自動テスト・ツール

- bitbucket対応

- 環境変数が設定できる

AWS_SECRET_ACCESS_KEY を設定

つまり

bitbucketにpushするだけでdrone.ioが-自動的にpull-自動的に build-自動的に s3にdeploy

Page 23: Tinkerer for pyfes 201303

4. Dropbox + dropbprox

Dropboxはいくらアクセスされても金額かからない

でも、独自ドメイン使えない

dropbprox Google App Engineで動くproxy

1. tinker -b でビルド

2. Dropboxのディレクトリに cp

Page 24: Tinkerer for pyfes 201303

おまけ

Page 25: Tinkerer for pyfes 201303

どうせ書いた記事、

出版したいよね?

Page 26: Tinkerer for pyfes 201303

Amazonで出版とか

(sphinxなので) ePub作成できます

1. _templatesにいくつか空ファイルを作成

archive.html、rss.html、aggregated.htmlなど

2. conf.pyでepub_basename=" " を設定

(これがファイル名になります)3. % sphinx-build -b epub . build4. build/ の下に.epubファイルが出来上がり

Page 27: Tinkerer for pyfes 201303

以上!