GitHub PagesからJekyllでブログ作る時にやったこと。
jekyllからブログ生成まで
- githubで
<user-name>.github.io
のリポジトリ作成 - chocolateyを使用する
choco install -y ruby
- 環境変数に"C:\tools\ruby25(各version)\bin"を追加
gem install jekyll bundler
jekyll new TestBlog
cd TestBlog
jekyll s
- 生成されたブログプロジェクトを
<user-name>.github.io
リポジトリにpushする
_layoutsフォルダが無い?
https://jekyllrb.com/docs/themes/
bundle show minima
テーマフォルダの中に使用されている_layoutsあります。
内容を変更したい場合は同じフォルダを作って同じファイル名にすれば上書きされるらしい。
カテゴリー用のページを作る
category.html
を作成
※ 公式に載っているやつよりシンプルにした感じです
--- layout: page title: カテゴリー --- {% for categories in site.categories %} {% assign category = categories[0] %} <div> <h3>{{ category }}</h3> {% for post in site.categories[category] %} <a href="{{ post.url | absolute_url }}"> {{ post.title }} </a> {% endfor %} </div> <br> {% endfor %}
ポスト毎回書くのが面倒なので、スクリプトを作成する
post-generate.sh
post_date=`date '+%Y-%m-%d %H:%M:%S %z'` file_name=${post_date:0:19} file_name=${file_name//:/} file_name=${file_name// /-} touch _posts/${file_name}.md cat << EOF > _posts/${file_name}.md --- layout: post title: "xxx ${file_name} xxx" date: ${post_date} categories: blog --- EOF
dateのフォーマットを"yyyy/mm/dd hh:mm:ss"に変更する
layouts/home.html > {{ post.date | date: "%Y-%m-%d %H:%M:%S" }}
layouts/post.html > {{ page.date | date: "%Y-%m-%d %H:%M:%S" }}
カテゴリーを表示する
layouts/home.html > [ <span class="post-meta">{{ post.categories|join: " / " }}</span> ]
layouts/post.html > [ <span class="post-meta">{{ page.categories|join: " / " }}</span> ]
home.htmlの記事(post)の並びを最新順(降順)にする
{% assign sorted = site.posts | sort:"date" | reverse %} <ul class="post-list"> {%- for post in sorted -%} ...