狠狠撸

狠狠撸Share a Scribd company logo
Tinkerer
           @r_rudi (しろう)
Sphinx-users.jp の方から
        来ました
おまえだれよ?

しろう ( @r_rudi )

お仕事:
 - PostgreSQL

趣味
 - Python
 - Sphinx
 - Mercurial(TortoiseHg)
今日のお题

   Tinkerer
罢颈苍办别谤别谤って?




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

- ドキュメント作成ツール
- pythonの公式ドキュメントに使われてる
- reStructuredTextという形式で書ける
    markdownとかwiki記法とかと同じ感じ
- コメントからドキュメントを自動生成
- コードハイライトが綺麗
   pygmentsというのを使ってます
- 拡張が豊富
    100以上の拡張が存在
- htmlの他pdfやepubにも変換してくれる
罢颈苍办别谤别谤って?

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

- 日付ごとに整理
- カテゴリーやタグ
- 複数の著者も可能
- テーマを適用

- コマンドラインで静的なHTMLを生成する
Tinkerer for pyfes 201303
実際に見てみましょう



Tinker のページ

僭越ながら わたくしのblog



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

インストール
 % pip install tinkerer

初期設定
 % mkdir どこか && cd どこか
 % tinker -s
     → 必要なファイル一式が生成される
記事の作成

ドラフト作成
 % tinker -d "ブログタイトル"
     → drafts/blogtitle.rstというファイルが出来る
公開
  % tinker -p "ドラフトファイル名"
     → 2013/03/16/blogtitle.rst に移動
ビルド
  % tinker -b
     → blog/html 以下にhtmlが生成される
Tinkererの欠点

- コマンドラインでしか叩けない
   ブラウザから、とかできない。
- テキストエディタが必要
   ブラウザから、とかできない

- 記事が多くなるとbuildに時間がかかる
   カテゴリーやRSSがあるので、全部最初から生
成しなおしている。
以上终わり
というのでは

なんなんで
どこで提供するか

ということについて
候補

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

2. github pagesやbitbucket で

3. S3 + Web hosting

4. Dropbox + dropbprox
1. レンタルサーバーやVPSで公開



      コピれ!

        以上
Tinkererのディレクトリ構造

- 2013/        ← 公開用元ファイル
- blog/
     - html    ← buildされたhtmlファイル
- drafts/      ← ドラフト
- master.rst   ← 公開用元ファイルのリスト
- conf.py      ← 設定ファイル


- index.html ← blog/html/index.html へのリダイレクト
2. github pagesやbitbucketで公開

http://rrudi.bitbucket.org などで公開できます。
独自ドメインも可能
1. rrudiなどのリポジトリを作成しておく
2. tinker -b
3. hg commit とか git commit -a でhtmlを更新
4. hg push / git push

bitbucketではprivateリポジトリでも公開OK
draftディレクトリはcommitしないように注意
3. s3 + web hosting (1/2)

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

やり方
 1. bucket作成
 2. web hostingの設定
 3. (Route 53などで)DNSの設定
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等を
設定する必要があります)
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
4. Dropbox + dropbprox

Dropboxはいくらアクセスされても金額かからない
でも、独自ドメイン使えない


dropbprox
   Google App Engineで動くproxy

1. tinker -b でビルド
2. Dropboxのディレクトリに cp
おまけ
どうせ書いた記事、

出版したいよね?
Amazonで出版とか

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

1. _templatesにいくつか空ファイルを作成
  archive.html、rss.html、aggregated.htmlなど
2. conf.pyでepub_basename=" " を設定
   (これがファイル名になります)
3. % sphinx-build -b epub . build
4. build/ の下に.epubファイルが出来上がり
以上!

More Related Content

Tinkerer for pyfes 201303