lesson: 3 レッスン03 サイトデザインを考える
以下,03_exampleディレクトリを使用します。該当ディレクトリ内のプロジェクトファイルを開いてください。
開いたら,一旦buildしてみて確認してください。
3.1 知っておくべきこと
R Markdownでhtmlを生成してデザインを考える上で,以下のことは頭に留めておいてください:
3.2 Rmdで生成されるタグのid, class
- 基本的にPandocの仕様で生成されます
- Rmdのサンプルは
03_example/id_class_check.Rmd
- 生成されるhtmlは
03_example/docs/id_class_check.html
- これの詳しい解説は,以下の記事を参照
- Rmdのサンプルは
- 上記サンプルを参考に,cssを設定すればOK
- サイト全体テーマなら,
_site.yml
で指定したcssファイルに - 個別ページで当てたい場合については後述
- サイト全体テーマなら,
3.3 Bootstrapのgrid systemを利用
Bootstrapはgrid systemを採用しています。R MarkdownではBootstrapを標準で組み込んでいますので比較的簡単に実装できます。
実装する方法はいくつかあります:
<div>
タグ直打ちで準備- gridレイアウトにしたい部分に対して
を直打ちして指定
- 生成物が複雑になりがちでメンテしにくくなる
- Pandocの拡張機能を利用してclass属性を付与
- 詳しくは以下の記事を参照
- Rmdのサンプルは
03_example/grid_test.Rmd
- 生成されるhtmlは
03_example/docs/grid_test.html
- 設定する見出しのレベルにさえ配慮しておけば簡単
個人的には後者をおすすめします
3.4 cssの優先順位
- 個別ページでcssを設定した場合
_site.yml
で指定したcssと差し替える- サイト設定によるcssを活かしたい場合:
- cssファイルを2つ(orそれ以上)全てそのページで指定
- yaml部分で
include
を活用してスタイルシートを指定 - cssチャンクを利用して 部分にstyleを記述
- サイト設定によるcssを活かしたい場合:
- cssチャンク > includeによる指定 > サイト設定 の順で優先される
- Rmdサンプルは
03_example/css_test.Rmd
- 生成されるhtmlは
03_example/docs/grid_test.html
- Rmdサンプルは
他の複数ページでも同じスタイルを利用するのであれば,yamlの
include
オプションでうまく当てるのがスムーズです。もし「このページだけでちょっと当てたい」というのであればcssチャンクを使うのが楽でしょう。
- gridレイアウトにしたい部分に対して