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!!
Atusy's blog