今回は、少し細かいところになりますが、titleタグとmeta descriptionをよしなに表示させるようにします。
Jekyllのテーマを自作する 基本編
Jekyllのテーマを自作する 基本編 – はじめに
Jekyllのテーマを自作する 基本編 – 第1回 – 初期データを作成する
Jekyllのテーマを自作する 基本編 – 第2回 – 設定ファイルを作成する
Jekyllのテーマを自作する 基本編 – 第3回 – 基本レイアウトを作成する
Jekyllのテーマを自作する 基本編 – 第4回 – Sass(CSS)でスタイルを作成する
Jekyllのテーマを自作する 基本編 – 第5回 – titleタグとmeta descriptionを作成する
Jekyllのテーマを自作する 基本編 – 第6回 – トップページに記事一覧を作成する
Jekyllのテーマを自作する 基本編 – 第7回 – ページネーションを作成する
Jekyllのテーマを自作する 基本編 – 第8回 – 記事のフィード(feed.xml)を作成する
Jekyllのテーマを自作する 基本編 – 第9回(終) – まとめ
titleタグを修正する
こんな感じに表示できるようにします。
- トップページでは「サイトタイトル | サイトの説明文」と表示する
- 他のページでは「ページタイトル | サイトタイトル」と表示する
if文を使って、「_layouts/default.html」のtitleタグ内を以下のように書き換えます。
<title>{% if page.title %}{{ page.title }} | {{ site.title }}{% else %}{{ site.title }} | {{ site.description}}{% endif %}</title>
meta descriptionを修正する
meta descriptionはこんな感じに表示できるようにします。
- トップページではサイトの説明文を表示する
- それ以外ページでは、ページの概要を表示する(160文字)
If文を使って以下の用に書き換えます。
<meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
page.excerptは、デフォルトの設定では、ページの最初の一段落を取得します(厳密には'\n\n'
の前まで)。
WordPressのように、<!–more–>前までなどに変更する場合は、_config.ymlに以下のように記述します。
excerpt_separator: "<!--more-->"
「_layouts/default.html」はこのようになりました。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>{% if page.title %}{{ page.title }} | {{ site.title }}{% else %}{{ site.title }} | {{ site.description}}{% endif %}</title>
<!-- Normalize.css -->
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- Main CSS -->
<link rel="stylesheet" href="{{ '/assets/css/style.css' | relative_url }}">
<meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="{{ page.url | replace:'index.html','' | absolute_url }}">
</head>
<body>
<!-- サイト名とナビゲーション部分。全ページ共通 -->
<header class="header">
<div class="container">
<div class="site-title"><a href="{{ '/' | relative_url }}">{{ site.title }}</a></div>
<nav class="nav">
<ul class="nav__list">
<li class="nav__item"><a href="{{ '/' | relative_url }}">Home</a></li>
<li class="nav__item"><a href="{{ '/about/' | relative_url }}">About</a></li>
</ul>
</nav>
</div>
</header>
{{ content }}
<!-- フッター。全ページ共通 -->
<footer class="footer">
<div class="container">
<div class="footer__container">
<p class="copyright"><small>© 2017 {{ site.author.name }}</small></p>
<div class="social-link">
{% if site.author.github %}
<p class="social-link__item">
<a href="https://github.com/{{ site.author.github }}"><i class="fa fa-github"></i></a>
</p>
{% endif %}
{% if site.author.twitter %}
<p class="social-link__item">
<a href="https://twitter.com/{{ site.author.twitter }}"><i class="fa fa-twitter"></i></a>
</p>
{% endif %}
</div>
</div><!--footer__container-->
</div><!--container-->
</footer>
</body>
</html>
さて、今回は以上です。次回はトップページの記事一覧を作成します。