Jekyll
簡単に多言語サイト作る
http://jekyllrb-ja.github.io/docs/
公式はこちらhttps://github.com/kurtsson/jekyll-multiple-languages-plugin
入れ方は上みてね
Gemのインストール
gem install jekyll bundler gemのインストールです
Gemを使って新しいプロジェクトを作る
jekyll new プロジェクト名
ディレクトリ移動する
cd プロジェクト名
一度サイトを構築して確認しましょう
bundle exec jekyll serve
Jekyll Muliple Language Pluginを入れる
①Gem fileに
gem 'jekyll-multiple-languages-plugin'と記載
②bundle installを実行
③Config.ymlのPluginに以下を記述 詳細は省く
code:config.yml
title: TESTmetroly
email: your-email@example.com
description: >- # this means to ignore newlines until "baseurl:"
Write an awesome description for your new site here. You can edit this
line in _config.yml. It will appear in your document head meta (for
Google search results) and in your feed.xml site description.
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: jekyllrb
github_username: jekyll
# Build settings
# theme: minima #コメントアウト
plugins:
- jekyll-feed
- jekyll-multiple-languages-plugin #これ なおかつ自動生成されるマークダウンファイルを消すこと
languages: 'ja', 'en' #ここ言語 一番最初の言語がデフォルトになる
exclude_from_localizations: "images", "css" #言語ごとにこれらのファイルを書きたくない場合はこのように指定する必要がある。
include: #ここもかいてね
- _sass
- _pages
どの言語を書くかも記述
④_i18nディレクトリを作成
直下に
en.yml
ja.yml
まあ言うたら言語のymlを作る感じ
一度ファイルを作ったらbundle exec jekyll serveとCLIにうって試してみましょう
以下実際にどこになんのファイルを作るべきか記述する
_layouts
default.html   ←これがRailsにおけるindex.html
いわいる骨
↓
_pages
ここからこの要素はここを参照してねーとかこのURLだったらここみてねーとか
ここで実際のBodyを書く
どのリクエストでどのページを表示させるかはhtmlファイルの最初の部分に書いてある。
code:html
---
layout: default
title: About
namespace: about    <!--下記のyamlのabout:に対応してる。 
permalink: /about    <!-- ←どのリンクを表示させたらこれが表示されるか
---
code:yml
global:
country: Japan
greeting: ようこそ、日本へ!
detail: 説明文が入ります。説明文が入ります。
thankGreeting: ありがとう!
product:
title: プロダクト
detail: プロダクトページ。プロダクトページ。プロダクトページ。
test:
title: テスト!
detail: テストだよ。テストだよ。テストだよ。
about:
title: アバウトページです
detail: アバウトだよ。アバウトだよ。アバウトだよ。
↓
_sass
cssファイル記述しようね
↓
assets
imgフォルダはこのディレクトリの下にいれること
rootディレクトリにindex.htmlはいれとけっておはなし
code: index.html
---
layout: default
namespace: /
permalink: /
---
メインのページはこちらに置く。
それ以外ページが増えた場合_pages/に追加していくこと。
疑問点
Root直下にindex.htmlと_pagesにhtmlファイルどちらにおいても表示されますこの場合はメンテナンス考えてPages直下においたほうがいいと思うのですがいかがお考えでしょうか?
undefined method `access' for false:FalseClass (NoMethodError)と出る時
bundle exec jekyll serve --host 0.0.0. でやると携帯でもみれる 
code:zsh
bundle exec jekyll serve --host 0.0.0.0 --livereload
携帯で見る場合は
マックのWiFiマーク押して詳細みてTCP/IPをみてIPv4アドレス+4000とかでみることができる。
JekyllでDockerを使って確認する
JekyllのWebサーバーとNginxが違うので、実際の本番環境で確認したい
1.Docker イメージをビルドする
docler build .
2. 最終行をコピーする。
3.ポート8080にて動かす
docker run -p 8080:8080 -e PORT=8080 コピーしたイメージ名
docker run -it イメージ名 sh
#jekyll