lesson: 3 レッスン03 サイトデザインを考える

以下,03_exampleディレクトリを使用します。該当ディレクトリ内のプロジェクトファイルを開いてください。

開いたら,一旦buildしてみて確認してください。

3.1 知っておくべきこと

R Markdownでhtmlを生成してデザインを考える上で,以下のことは頭に留めておいてください:

  1. RmdはPandocを利用してhtmlを生成
  2. 生成されたhtmlにはBootstrapjQueryが標準で組み込まれる

3.2 Rmdで生成されるタグのid, class

  • 基本的にPandocの仕様で生成されます
  • 上記サンプルを参考に,cssを設定すればOK
    • サイト全体テーマなら,_site.ymlで指定したcssファイルに
    • 個別ページで当てたい場合については後述

3.3 Bootstrapのgrid systemを利用

Bootstrapはgrid systemを採用しています。R MarkdownではBootstrapを標準で組み込んでいますので比較的簡単に実装できます。

実装する方法はいくつかあります:

  1. <div>タグ直打ちで準備
    • gridレイアウトにしたい部分に対して
      を直打ちして指定
    • 生成物が複雑になりがちでメンテしにくくなる
  2. Pandocの拡張機能を利用してclass属性を付与

個人的には後者をおすすめします

3.4 cssの優先順位

  • 個別ページでcssを設定した場合_site.ymlで指定したcssと差し替える
    • サイト設定によるcssを活かしたい場合:
      • cssファイルを2つ(orそれ以上)全てそのページで指定
      • yaml部分でincludeを活用してスタイルシートを指定
      • cssチャンクを利用して 部分にstyleを記述
  • cssチャンク > includeによる指定 > サイト設定 の順で優先される
    • Rmdサンプルは03_example/css_test.Rmd
    • 生成されるhtmlは03_example/docs/grid_test.html

他の複数ページでも同じスタイルを利用するのであれば,yamlのincludeオプションでうまく当てるのがスムーズです。もし「このページだけでちょっと当てたい」というのであればcssチャンクを使うのが楽でしょう。