index.mdじゃなくて、index.htmlだ

Github Pages(Jekyll)の設定でハマりました。

ブログっぽく記事を区切って表示しようと思ったんですが、paginateってのが、 書いてある通りに設定してもデータが取れない。間違ってないはずなのに。なのに。なのにーー!って思ったら、 index.mdじゃなくて、index.htmlだ とのことでした。

たしかにあらゆるところに書いてありましたよ。「index.htmlに書きましょう」と。 でもさ、index.mdを自動でindex.htmlに変換してくれるっていうのがウリのサービスで、本当にgithub側にindex.htmlを配置すると思わないですよね。 脳内変換して、何回もindex.mdに書いて、あーでもない、こーでもない、やってました。 site.postsとかはindex.mdでも普通に取れるのに、paginate.postsだけとれない。

私と同じことでハマった人がこのページを見つけてくれる事を祈って、タイトルにでっかく書きました。

Github Pagesに変更

あけましておめでとうございます。

去年は全然ブログを書けなかったので、今年はもっとアウトプットしていきたいです。 しょーもないことでもアウトプット大事。

いつでも更新できるように、ブログの場所をGithub Pagesに変更しました。 Markdownで記事を書いていたので、移行が簡単でした。 リポジトリ作って、設定するだけで便利ですね。

手軽に書きたいのにmakeするのめんどいのと、私の都合ですがプロバイダーにアップするのめんどくさかったです。 githubのWebページでも直接修正できるのが魅力。有料会員なので下書きはprivateなのもGoodです。

去年6本だったんで、今年は倍の12本を目標に。

ブログをWordpressからSphinxに乗り換えた話

私とブログ

  • 1995年にパソコン購入。同時にパソコン通信(niftyサーブ)開始。
  • 1999年当時のプロバイダだったInfoWeb(現@nifty)からホームページスペースを与えられたので、htmlを自分で書いてブログスタート。
  • 2004年html書くのめんどくさくなって、どっかのブログサービスでブログ開始。
  • 2006年フリーランスになったので、勉強のために自分でCMSを運営しようとhetemlと契約。Nucleus CMSにブログを乗り換え。
  • 2010年Wordpressの仕事が増えて、プラグインを作ったりしていた。Nucleus CMSの更新がほぼなくなり、hetemlがサポートするPHPのバージョンと合わなくなってくる。hetemlにWordpress簡単インストールというサービスができた機にWordpressに乗り換え。
  • 2016年Sphinx製の静的Webページに乗り換え

どうして乗り換えたか

  • PHPを書かなくなっているうちにhetemlのPHPがバージョン7になった。
  • Wordpressがしょっちゅう更新しろ!と言ってきて、鬱陶しくなった。
  • Wordpressにセキュリティーホールが見つかるたびにhetemlからお知らせが来て、対応しないといけないのがめんどくさくなってきた。
  • ブログしかやってないので、はてなにでも乗り換えようか。。。
  • セキュリティーとか気にしなくていい、静的HTMLに乗り換えよう!
  • せっかく、Pythonかけるようになったし、Sphinxだ!

乗り換え方

### 元のサイトをcurlする curlはHTTPアクセスをしてコンテンツを取得できるコマンドです。

私のブログは記事に番号がついていてそれがURLでした。

http://kamekokamekame.net/archives/1207/

↑こんなの

curl http://kamekokamekame.net/archives/[1-9999]/ -o "#1.html"

これで、[記事の番号].htmlというファイル名で取得できます。

htmlをMarkdownに変換

htmlを編集し続けるのが嫌だったので、どこにでも持っていきやすいMarkdownにPythonスクリプト書いて置き換えました。

(ここが素敵だとかっこいいんですが、一回だけなんで、愚直に適当に書いてしまいました。見たかったらどうぞ gist)

Sphinxでhtmlを作ろう

### インストール $ python3 -m venv env $ pip install Sphinx commonmark recommonmark

プロジェクト作成

$ sphinx-quickstart

conf.pyの修正 python source_suffix = ['.rst', '.md'] source_parsers = { '.md': 'recommonmark.parser.CommonMarkParser', }

index.rstを作成

ビルド

make html

build/htmlフォルダの中身をサーバーにドーン!

まとめ

  • 実はあまりPythonをわかっていなくても, Markdownが書ければ、いいだけな気がする。
  • 嫌になったら、Githubでブログを営むこともできるのでMarkdownにしておくのはいいと思う。

おまけ(rss)

feedのプラグインがなかったんで、feedを出力してくれるスクリプトも作りました。

自分のMarkdownから、タイトルとか記事とか取るだけのスクリプト。(汚いですが、見たかったらどうぞ。 gist

結局、feedgeneratorというのを使うと各情報を渡すだけでfeedできます。どーん。

# フィードを生成
return feedgenerator.Rss201rev2Feed(title=title,link=link,feed_url=feed_url,description=description,language="ja")

これはもうちょっと綺麗にしたいです。

PyCon JP 2日目とブースと私

私のPyCon JP 2016が終わりました。

ブースにもたくさんの方に来ていただいてありがとうございました。

今年もみんなすごいなーと思っているうちに終わってしまいました。

ブースに気持ちが持って行かれて、トークは一つしか聞けませんでしたが、やる気は注入されました。

貰ったり、買ったりしたもの。

PyLadiesシール

PyLadiesシャツ

PyLadiesシールとシャツ

募金した人が貰えるシール

募金した人が貰えるシール(2回目)

カップケーキ

Pythonマークのカップケーキ

来年へ向けて

来年も憧れのスタッフはできなさそうですが、スピーカーに選ばれるように頑張ります。どう頑張るかはこれから。。。。

やる気があるうちに、WordPressとPHPのメンテをするのが嫌になっていたこのBlogをSphinxで作った静的htmlに入れ替えました。 DBも使わないし、MarkDownでも編集できるし、便利ですね。

PyCon JPに一言

毎年行きたいので、続いていくことを祈っています。関係者の皆様、ありがとうございました。

PyCon JP 1日目とブース

PyCon JP 2016 にブース出してます。1日目が終わったです。疲れたです。

初のブース運営で、精神的に一杯一杯で普通のチケットを持っていたのですが、トークに一個もいけませんでした。明日こそは、明日こそは。

ブースでは自社のサービスを宣伝しています。よかったら、お話きかせてください。

ブース

スタンプラリー用のシールもキンコーズに行って作ったんですが、余り売れなかったので、明日もあるんでよろしくお願いします!!

スタンプラリー用のシール

用意していたものは諸々役に立ったので良かったなと思っています。明日も頑張ります!遊びに来てください!



記事一覧