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

しろう ( @r_rudi )

お仕事:
 - PostgreSQL

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

   Tinkerer
Tinkererって?




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

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

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

PPTX
githubハンズオン
Ayaka Ueda
 
PDF
lilo.linux.or.jp の話 (2017年12月)
Kazuhiro Nishiyama
 
PDF
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
 
PDF
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
Fuminobu Takeyama
 
ODP
20130608 git-3
Kasu Unko
 
PDF
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
Fuminobu Takeyama
 
PPTX
GitLabをバックアップしてみた
VirtualTech Japan Inc./Begi.net Inc.
 
PDF
Gitコマンド勉強会 第2回 stash
Kazuki Sakai
 
githubハンズオン
Ayaka Ueda
 
lilo.linux.or.jp の話 (2017年12月)
Kazuhiro Nishiyama
 
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
 
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
Fuminobu Takeyama
 
20130608 git-3
Kasu Unko
 
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
Fuminobu Takeyama
 
GitLabをバックアップしてみた
VirtualTech Japan Inc./Begi.net Inc.
 
Gitコマンド勉強会 第2回 stash
Kazuki Sakai
 

What's hot (20)

PDF
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
ichikaway
 
PPTX
色んな環境用の たった一つの.gitConfig
wataru uchiyama
 
PDF
CouchDB JP & BigCouch
Yohei Sasaki
 
PDF
Dokku の紹介
Kazuhiro Nishiyama
 
PPTX
Sphinx で手軽に作るドキュメント
Go Yamada
 
PDF
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Hiro H.
 
PDF
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
Yukinori KITADAI
 
PPTX
Introduce for sphinx-users-jp
Go Yamada
 
PDF
pythonでオフィス快適化計画
Kazufumi Ohkawa
 
PPTX
いいこんぶGitマニュアル
Kaito Yuuki
 
PDF
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
toshihirock
 
PDF
Real legacy
Koichiro Ohba
 
PDF
Wiki設置するならgitit!
Kiwamu Okabe
 
PPTX
PyPI入門2018
Yukino Ikegami
 
PDF
20151114 drupal温泉合宿 成果
Kunihiro Imura
 
PDF
kintone REST API client package for R
Ryu Yamashita
 
PDF
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
 
ODP
すいぎんとう Merculial with TracLightning
itouakihiro
 
PPTX
OSS 資料管理システム kassis orange のご紹介
Akifumi Nakamura
 
PPTX
Gunosy.go#2 package/compress
Shunsuke Aihara
 
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
ichikaway
 
色んな環境用の たった一つの.gitConfig
wataru uchiyama
 
CouchDB JP & BigCouch
Yohei Sasaki
 
Dokku の紹介
Kazuhiro Nishiyama
 
Sphinx で手軽に作るドキュメント
Go Yamada
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Hiro H.
 
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
Yukinori KITADAI
 
Introduce for sphinx-users-jp
Go Yamada
 
pythonでオフィス快適化計画
Kazufumi Ohkawa
 
いいこんぶGitマニュアル
Kaito Yuuki
 
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
toshihirock
 
Real legacy
Koichiro Ohba
 
Wiki設置するならgitit!
Kiwamu Okabe
 
PyPI入門2018
Yukino Ikegami
 
20151114 drupal温泉合宿 成果
Kunihiro Imura
 
kintone REST API client package for R
Ryu Yamashita
 
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
 
すいぎんとう Merculial with TracLightning
itouakihiro
 
OSS 資料管理システム kassis orange のご紹介
Akifumi Nakamura
 
Gunosy.go#2 package/compress
Shunsuke Aihara
 
Ad

Viewers also liked (11)

DOC
Bai 1. th la nganh kh tiet 1
Ân Nguyễn
 
PPT
Nota 1 bahagian luar ikan hiasan
ctrosnahsue
 
DOCX
тестове завдання
Olga19744
 
DOCX
госы все
belfegor21
 
PDF
Ansible meetup201409
shirou wakayama
 
PDF
EdisonでMQTT
shirou wakayama
 
PDF
MQTT meetup in Tokyo 機能概要
shirou wakayama
 
PDF
Ansible入門...?
shirou wakayama
 
PDF
Ansible for beginners ...?
shirou wakayama
 
PPTX
Using Google+ As A Marketing Channel
Brian Jensen
 
PPTX
Akhlak thn 6
rapeahmustajam
 
Bai 1. th la nganh kh tiet 1
Ân Nguyễn
 
Nota 1 bahagian luar ikan hiasan
ctrosnahsue
 
тестове завдання
Olga19744
 
госы все
belfegor21
 
Ansible meetup201409
shirou wakayama
 
EdisonでMQTT
shirou wakayama
 
MQTT meetup in Tokyo 機能概要
shirou wakayama
 
Ansible入門...?
shirou wakayama
 
Ansible for beginners ...?
shirou wakayama
 
Using Google+ As A Marketing Channel
Brian Jensen
 
Akhlak thn 6
rapeahmustajam
 
Ad

Similar to Tinkerer for pyfes 201303 (20)

PPTX
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
Takayuki Shimizukawa
 
PPTX
Sphinx拡張 探訪 2014 #sphinxjp
Takeshi Komiya
 
PDF
Sphinxでドキュメントを書こう
Kazufumi Ohkawa
 
PDF
OSS開発勉強会-01B
Kohei KaiGai
 
PDF
@s_ssk13さん向けGitHub入門
Takashi Imagire
 
PDF
ソフトウェア工学2023 13 ドキュメンテーション
Toru Tamaki
 
PPTX
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
Takayuki Shimizukawa
 
KEY
Git (実践入門編)
Naomichi Yamakita
 
PDF
Sphinx/reST
Ryo Maruyama
 
PDF
GitHubで見つかるFileMaker関連ソフトウェア
Atsushi Matsuo
 
PDF
LingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶ
Kenichiro MATOHARA
 
KEY
P4p20120408
Naoto Koshikawa
 
PPTX
Gitlab meetup prm説明資料_2017_1117
Tetsuya Sato
 
PPTX
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
Takeshi Komiya
 
PDF
ソフトウェア工学2023 14 ビルド
Toru Tamaki
 
PDF
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
 
PDF
FluentdとRedshiftの素敵な関係
moai kids
 
PDF
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
 
PDF
Sinatraアプリをherokuにアップ
Hiroshi Oyamada
 
PPTX
今さら聞けない人のためのGit超入門 GitLab 14対応版
VirtualTech Japan Inc./Begi.net Inc.
 
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
Takayuki Shimizukawa
 
Sphinx拡張 探訪 2014 #sphinxjp
Takeshi Komiya
 
Sphinxでドキュメントを書こう
Kazufumi Ohkawa
 
OSS開発勉強会-01B
Kohei KaiGai
 
@s_ssk13さん向けGitHub入門
Takashi Imagire
 
ソフトウェア工学2023 13 ドキュメンテーション
Toru Tamaki
 
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
Takayuki Shimizukawa
 
Git (実践入門編)
Naomichi Yamakita
 
Sphinx/reST
Ryo Maruyama
 
GitHubで見つかるFileMaker関連ソフトウェア
Atsushi Matsuo
 
LingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶ
Kenichiro MATOHARA
 
P4p20120408
Naoto Koshikawa
 
Gitlab meetup prm説明資料_2017_1117
Tetsuya Sato
 
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
Takeshi Komiya
 
ソフトウェア工学2023 14 ビルド
Toru Tamaki
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
 
FluentdとRedshiftの素敵な関係
moai kids
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
 
Sinatraアプリをherokuにアップ
Hiroshi Oyamada
 
今さら聞けない人のためのGit超入門 GitLab 14対応版
VirtualTech Japan Inc./Begi.net Inc.
 

Recently uploaded (8)

PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
20250729_Devin-for-Enterprise
Masaki Yamakawa
 

Tinkerer for pyfes 201303