GitHub PagesからJekyllでブログ作る時にやったこと。

f:id:hayateasdf:20180809184440p:plain https://tikyuu.github.io/

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 -%}
      ...