ゆくゆくは有へと

おかゆ/彼ノ∅有生 の雑記

Nikola を windows でやるぞ [1] gh-pagesにデプロう

iuk.hateblo.jp

gh-pages にデプロイするぞ俺は

The Nikola Handbook | Nikola

"deploying to github" の項もあるし、やっぱりNikolaを、最高やな!

conf.py の以下のところ(560行目くらい)を適宜変える。

もっぱら大事なのは2つ:

  • GITHUB_DEPLOY_BRANCH : project page なら gh-pages、user page なら master
  • GITHUB_SOURCE_BRANCH : project page なら master、user page なら src

多分デフォルトでは user page デプロイ用の設定になってるはず。下のはプロジェクト用。

# github_deploy configuration
# For more details, read the manual:
# https://getnikola.com/handbook.html#deploying-to-github
# You will need to configure the deployment branch on GitHub.
GITHUB_SOURCE_BRANCH = 'master' #変更
GITHUB_DEPLOY_BRANCH = 'gh-pages' #変更

# The name of the remote where you wish to push to, using github_deploy.
GITHUB_REMOTE_NAME = 'origin'

# Whether or not github_deploy should commit to the source branch automatically
# before deploying.
GITHUB_COMMIT_SOURCE = True

それから、.gitignore も作っておく。公式おすすめは

cache
.doit.db
__pycache__
output

コピペでいいでしょ。で、nikola github_deploy。git まわりに不備がなければいける。

ちな、gitまわりの設定は

git init .
git remote add origin [ssh address]

公開鍵め(怒)

おかゆは git まわりがうんこでした(おこ)。公開鍵でdenyされた。

qiita.com

ここ参考に、git shell 開いて、作り直したら、denyされんくなった。

リポジトリは新しいのを用意しておいてね

github側でリモートリポジトリを作成しておく。readme.md とか全く作らないこと。 空っぽの状態にじゃないとうまくデプロイできないみたいですね(引っかかりましたよ(おこ))

ここでようやく nikola github_deploy がうまくいきました。やったぜ。

うまくいったというのは、github_deploy が error 起こさなかったってことです。

でも 5分くらいまっても gh-pages 404なんですけど!!!!!!!

もしかして、と思って conf.pySITE_URL を書き換えて push したけどやぱりダメ。

…そういえば、conf.py 90行目あたりの

TRANSLATIONS = {
    DEFAULT_LANG: "",
    # Example for another language:
    # "es": "./es",
}

DEFAULT_LANG"ja" にしたな…と思ってこっそり元に戻して再push

やったぜ。 やたらめったら変なとこ弄るもんじゃないねハハハ(なにわろてんねん)

ちなみに、今のところを ja にしておくと、ja フォルダの中に諸々が入るので1階層深くなります。

ので、"http://USER.github.io/REPOSITORY/ja/" にすると普通に入れました(アホ)


ここまでの感想。

pelican よりずっとデプロイも楽な気がする。

pelican はなんかみんな make 使ってて、windows対応してないんじゃボケって思ってたけど、nikola はそんなことなくて優しい世界でしたね。

ひとまず、これで "Getting Started" と gh-pages へのデプロイのやり方は分かった。 とりあえず Getting Started に書いてあった箇条書きを訳しておくね。

  • demoコンテンツを調べて Nikola で何ができるか見てみてね。これが全てってわけじゃないけど!
  • nikola help で他に使えるコマンドがわかるよ。
  • Nikola Handbookにもっと詳細があるから読んでね。
  • conf.py はあなたの好きなようにイジってね。
  • Nikola のテーマプラグインを調べてみてね。あるいは自分で書いてみてね。

だそうです。

demo 消すぞ

あらから demo の内容も見終わったら「demo 消してね」だそう(当たり前)

nikola build すれば outputフォルダの大体は上書きされるけど、一部データは残るらしい。 それらをも消すには nikola check --clean-filesただし、nikola orphans でその前に残りカスのバックアップを取っておいたほうが無難

ポストする

そういえばこれだけ説明してなかった。新しい投稿するためには、

nikola new_post -e

すると title 入れてちょって言われるから入れたら、適当に作ってくれる。

-e を入れておくと、$EDITORで登録してあるエディタ開いてくれるらしい。

new_post でつくられたファイルの名前は入力した title から作られる。ASCII なら小文字になる("I love YOU" だと "i-love-you")。日本語の場合はひらがな・カタカナはローマ字表記になるけど、漢字は多分中国語読みになってる(「テスト日和」でつくったら "tesutori-he" になってた)。

作られたファイルの拡張子は conf.pyPOSTS[0] に一致してるはずで、おかゆの場合は .md になっている。

post でなく page をつくりたい場合は nikola new_post -pninkola new_page

ファイルの置き場所を指定したい場合は nikola new_post [rootからのpath] でいける。たとえば、nikola new_page /pages/lojban/index.md とすれば、そこに index.md が作られる。

これでガチでおわり

Getting Started はおわり。あとはNikola Handbookを見ていくくらいかな。