Tinkererでブログする

reStructured Textでブログを書きたくてPython製のTinkererに手をつけてみました。

Tinkererだと、

  1.  ブログ記事を書く
  2.  ビルドする
  3.  公開サーバにアップロードする

と手順が煩わしくもあるんですが、reStructured Textで書ける魅力と、常にローカルと公開サーバに記事があるので、バックアップの心配が若干軽減されます。

環境構築

Tinkererを導入するには、Pythonの実行環境とeasy_install(又はpip)の実行環境が必要です。

加えて、1プロジェクト1仮想環境で運用している私は、Python3.3からのvenvを使ってこのブログ用の仮想環境を作っています。

私のローカル環境は以下の通りです。

Python3.3は 公式サイト からdmgファイルをダウンロードして標準のままインストールしています。

標準だと、Python3.3は/usr/local/bin/python3.3にインストールされます。

easy_installの導入

Python3.3でeasy_installを使うために、以下のコマンドでvenv環境を作り、distributeパッケージをダウンロードしてインストールします。

(注)easy_installやpipでパッケージをインストールしたあと、本当に仮想環境にインストールされたコマンドを参照しているかwhichコマンドを実行する方が安全のようです。実環境のパスを見ているようであれば一度ターミナルを抜けて再度ターミナルを開いてシェルに入って仮想環境を有効にして下さい。

[code lang="shell"]

$ cd ~/.virtualenv # 仮想環境を保存するフォルダです

$ python3.3 -m venv myblog # myblogは自分の仮想環境名に置き換えて下さい

$ exit # 一旦ターミナルを抜けます

# 再度ターミナルを開き直します

$ ~/.virtualenvs/22post/bin/activate

# これで、ターミナルのシェルの左側に(myblog)と表示されていれば仮想環境はできています

# 念のため、現在のシェルのPythonコマンドがPython3.3を参照していることを確認します

(myblog)$ python -V # Python 3.3.0と表示されているはずです

(myblog)$ cd ~/Downloads

(myblog)$ python -c "import urllib.request;urllib.request.urlretrieve('http://python-distribute.org/distribute_setup.py', 'distribute_setup.py')"

(myblog)$ python distirbute_setup.py

(myblog)$ exit

[/code]

Tinkererの導入

TinkererをインストールするためにpipをインストールしてからTinkererをインストールします

[code lang="shell"]

$ ~/.virtualenv/myblog/bin/activate

(myblog)$ easy_install pip

(myblog)$ exit

$ ~/.virtualenv/myblog/bin/activate

(myblog)$ pip install Tinkerer

[/code]

Tinkererでブログをはじめる

Tinkererをインストールするとtinkerコマンドが使えるようになります。

まず、tinkerコマンドを使ってブログの初期構成を生成します。

[code lang="shell"]

(myblog)$ tinker -s

Your new blog is almost ready!

You just need to edit a couple of lines in conf.py

(myblog)$ vim conf.py

[/code]

conf.pyを編集しましょう。

[code lang="python"]

# Change this to the name of your blog

project = 'My blog'

# Change this to the tagline of your blog

tagline = 'Add intelligent tagline here'

# Change this to your name

author = 'Winston Smith'

# Change this to your copyright string

copyright = '1984, ' + author

# Change this to your blog root URL (required for RSS feed)

website = 'http://127.0.0.1/blog/html/'

[/code]

初めてのブログを書く

ブログの記事を、Hello Tinkerer!という表題で作ります。

[code lang="shell"]

tinker -p 'HelloTinkerer'

[/code]

これで、現在のフォルダ配下に2013/03/10/Hello Tinkerer!.rstファイルが作られます。

このrstファイルを適当に編集したらブログをビルドします。

またまた(注)です。

このタイトルはURL(htmlファイル名)として使われます。

なので、日本語の記事を書くときもアルファベットのhtmlファイル名として指定して、出来上がるrstファイルの中で表題を変える必要があります。

[code lang="shell"]

tinker -b

[/code]

これで出来上がったindex.htmlファイルをブラウザで開くとブログが作られていることが確認できます。

 

ページを作ろう

せっかく作ったブログなので、チュートリアルと同様、Aboutページを作りましょう。

[code lang="shell"]

tinker --page 'About'

[/code]

できあがったpages/about.rstファイルを編集してもう一度ビルドしてindex.htmlファイルを開いてみましょう。

基本的なことはできるようになったんですが、

どうやって、ローカルから公開サーバにアップしようか悩んでます。

FTPでアップするのもなぁ、と思いつつ、一回Bitbucket経由するのも面倒臭すぎるし、

ということで、Mercurialでアップできないか調べてみようと思います。