blogdownではR Markdownを使ったウェブサイトの作成ができます。名前の通り、ブログを念頭に置いたパッケージです。ドキュメントは以下にあります。ググると日本語の記事もそれなりに出てきます。
blogdown: Creating Websites with R Markdown
https://bookdown.org/yihui/blogdown/
記事の作成にはblogdown::new_post
関数を使います。すると引数の内容に応じて、タイトルや作成日時などが自動でYAMLフロントマターに入力され、本文は空白なRmdファイルが作成されます。
この時作成されるRmdファイルの内容を変更するには、
archetypes/default.md
というファイルを用意しましょう。
私の場合、段落内で改行した時に、改行の前後が
- 改行の前後が全角文字なら半角スペースを除去
- それ以外なら半角スペースを挿入する
という設定をテンプレートで有効にしたいです。既定値では前後が半角スペース区切りになってしまいます。
というわけで、pandocのeast_asian_line_breaks
オプションを使えるように、こんなdefault.md
を用意してみました。
---
title: ''
author: ~
date: ''
slug: ''
categories: []
tags: []
output:
blogdown::html_page:
md_extensions: +east_asian_line_breaks
---
YAMLのフィールドには、最低限、blogdown::new_post
関数の引数の内、YAMLフロントマターに利用される引数に対応するものは含めておくと良いでしょう。今回は更にoutput
フィールドを追加しました。もちろん、定型文などがあれば、本文に挿入しておいても良いですね。
str(formals(blogdown::new_post))
## Dotted pair list of 12
## $ title : symbol
## $ kind : chr ""
## $ open : language interactive()
## $ author : language getOption("blogdown.author")
## $ categories: NULL
## $ tags : NULL
## $ date : language Sys.Date()
## $ file : NULL
## $ slug : NULL
## $ title_case: language getOption("blogdown.title_case")
## $ subdir : language getOption("blogdown.subdir", "post")
## $ ext : language getOption("blogdown.ext", ".md")
上記の内、title
、author
、categories
、tags
、date
、slug
はYAMLに入れておいた方が良い内容です。
Enjoy!!