Pelican のテーマを変更する

この blog のテーマ(外観)を変更しました。下に紹介している blog.rdtr.net さんのエントリを参照しながらちょこちょこっと作業するだけで、簡単でした。

まずテーマファイルを GitHub からダウンロードします。私の場合はこの blog のコンテンツを置いているディレクトリ osanaiorg と同じ階層に themes というディレクトリを作ってそこにテーマファイルを置くことにしました。この blog とは別に他のテーマで blog を作る事になった場合に共有できるからです。

content, output などがある階層でシェルから下記のコマンドを実行します。ディレクトリ themes は予め作っておく必要はありません。

git clone --recursive git://github.com/getpelican/pelican-themes ../themes

http よりも git プロトコルの方が高速だという話を読んだ気がするので git:// を使用してみましょう。現時点で 63 くらいのテーマが公開されています ...

more ...

Pelican エントリに画像を入れる方法

Pelican で画像を入れる方法を調べました。公式ドキュメントに載っていたやり方ではうまく表示できなかったのでいろいろ試してみました。(ただ、私のやり方がまずかっただけかもしれません)

公式ドキュメントでは content の中に images というディレクトリがあり、そこに画像が置いてあるという前提で、下記のように記述すると書かれていました。

![Alt Text]({filename}/images/han.jpg)

私の環境では content の中ではなく blog ごとのディレクトリのルートというか、 content と同じ階層に images がありました。また、上記の書式で記述しても画像が表示されなかったため、一般的な reST の記法を調べてみます。

image というディレクティブで指定すればよいようです。Pelican でビルドする際に alt 属性がないという Warning が出たので alt テキストを適当に指定しておきます。

.. image:: /images/68_1.png
           :alt: Quicksilver

結局 content ...

more ...

Pelican タグクラウドを表示する 2

先日とりかかった件、何回か試して変更が反映されるやり方がわかりました。変更を加える対象のファイルを間違えていたというものでした。

Pelican 本体のディレクトリの中にテーマファイルがありますが、その中の notmyidea という方がデフォルトのテーマだったようです。 templates の中の適当なファイルに先のエントリに載せたような html を加えてビルドすると無事タグが表示されました。

site-packages/pelican/themes/notmyidea/templates/base.html

今回は base.html に書きました。

ただ、タグのページの設定をしていないため、タグをクリックしてもリンク切れとなってしまいます。このあたり、もう少し調べて対処しなければいけませんね。手がかかるので面倒というふうに思わなくもないですが、いろいろいじることができるので勉強にもなりそうです。

Pelican が使っているテンプレートエンジン Jinja2 についてももう少し調べようと思います。

more ...

Pelican タグクラウドを表示する

この blog は今のところは Pelican のデフォルトテーマを使用していますがいくつか変更したいところもあり、この連休中に少しでも進められたらと思っています。

気になっているところの一つはタグの表示で、ドキュメントを見たところタグクラウドを簡単に導入できそうだったので試してみたのですが、まだできていません。

下記の html をテンプレートに入れるだけでできそうな感じだったので pelican/lib/python3.3/site-packages/pelican/themes/simple/templates/base.html に入れてみたのですが特に表示はされませんでした。 pelicanconf.pyTAG_CLOUD_STEPS = 4 と書いても結果は変わらず。記述するテンプレートのファイルが正しくないのかもしれません。

<ul>
  {% for tag in tag_cloud %}
  <li class="tag-{{ tag.1 }}"><a href="/tag/{{ tag.0 ...
more ...

Pelican の blog をカスタマイズしたい

この blog を書き始めて少し経ち、少々変更したいことなども出てきました。

  • とりあえず blog 内を検索するフォームを導入したい
  • デザインもちょっと変更したいかも
  • コメントフォームも付けようかな(DISQUS ?)

まずは 公式のドキュメント を読み込まないといけませんね。英語だけど!

more ...

Pelican のファイルを Dropbox に置いた

Pelican のような静的 blog ツールではローカルで reST なり Markdown なりで書かれたテキストから記事の html を生成して、それをサーバーにアップするという方式を取ります。

そのため、MovableType や WordPress などのサーバーにインストールするタイプと異なり、どの PC からでもログインできる管理画面があるわけではなく、使用している blog ツールのプログラム本体と記事データが基本的に PC の中にあることになります。

この blog を自宅の Mac mini だけでなくノート PC からでも更新できるようにするにはそれらのデータをマシン間で共有する必要があるのです。なのでノートの方でも Python 3.3 系に Pelican をインストールし(pip install pelican とするだけ)、データ一式のディレクトリを Dropboxに置きました。

データの場所を変更しても特に設定ファイルの変更などは不要で、そのまま同じようにビルドできたので一安心です。

more ...

Pelican で手軽に記事ファイルを作成する

Pelican では reST 形式でテキストファイルを作成してその中身が HTML として作成されます。Emacs で autoinsert を使ってメタデータのテンプレートが自動で入るようにしたり していますがさらにお手軽に reST のテキストを書けるようにしたいと思い、少し Emacs をいじっていました。

  1. open-junk-file を流用して reST ファイルを作成する
  2. key-chord を設定して df 同時押しで↑を実行する

やったことは簡単で、まず open-junk-file.el をコピーしてリネームします。適当に open-rest-file.el としておきました。 ファイルの中身を開いて open-junk-file という文字列をすべて open-rest-file に置換します。

init.el に設定を書きます。ファイルの保存先ディレクトリとファイル名の形式を指定しましょう。

;; open-rest-file
;; open-junk-file をコピー
;; http://d.hatena.ne ...
more ...

Pelican で syntax highlight を使用する

Pelican でコードを色分け表示(syntax highlight)をするのはどうしたらよいのかを調べました。Pelican では Pygments という Python のモジュールを使っているようなので Pygments のサイトを確認します。

書き方は .. sourcecode:: language-name というタグ(ディレクティブというのでしたっけ?)を書いて続くコードをインデントすればよいようです。

.. sourcecode:: python

   import os

   for i in range(10):
       print i

ちなみに Emacs lisp の場合は scheme と指定すれば OK でした。

あ、こちらにも解説が書かれていますね。 sourcecode ではなく ...

more ...