minidownで軽量・高機能なHTMLレポートを作成する

Atusy

2021-10-30

whoami

Atusy

趣味がRパッケージ開発の人

特にR Markdown関連パッケージに貢献

自作パッケージ多数

R関係の本も書いてる人

商業誌

  • Rが生産性を高める〜データ分析ワークフロー効率化の実践
    (2022年1月発売予定!!)

同人誌

Rのコミュニティ運営に参加してる人

Osaka.R主催者

毎朝朝もく開催してます。

(最近は子育てであまり参加できてない)

https://osaka-r.connpass.com

Pythonで仕事してる人

HACARUS Inc.

産業製品の概観検査とか画像解析系が主。

minidown

なぜ作ったのか

html_documentに不満があるから

  • 歴史が重く先進的な機能を盛り込みにくい
    • コードや結果の折り畳みの自由度が低い
    • 目次からタブを開けない
    • HTML4のままでHTML Living Standardを使えない
  • 出力ファイルが重く、一般的なHTMLレポートに対して過剰なフレームワークを使っている
    • 脱Bootstrapしたい
    • 脱jQueryしたい
    • Bootstrapの見た目はいらんけど機能は欲しいみたいなことをしにくい

ここが凄いぞ

コードや結果の折り畳みの自由度

code_folding

チャンクの生成するコードブロックを種類に応じて自由に折り畳みできるぞ。

  • source
  • output
  • message
  • warning
  • error

html_documentはsourceしか折り畳めないぞ。

https://minidown.atusy.net/?framework=sakura&theme=default#code-folding

results_folding

sourceから出力されたものを全部折り畳めるぞ。 グラフとかも隠せるから問題集で答えを隠す用途なんかにピッタリ。

https://minidown.atusy.net/?framework=sakura&theme=default#results-folding

目次からタブに飛べるぞ

html_documentでは今のところできない。

https://minidown.atusy.net/?framework=sakura&theme=default#tabset

数式にKaTeXを採用

html_documentのMathJaxより速いぞ!

(html_documentでも使えるようにPRはしてるよ)

https://minidown.atusy.net/?framework=sakura&theme=default#math-with-katex

多様なテーマ

https://minidown.atusy.net/?framework=sakura&theme=default#frameworks-and-themes

めっちゃ軽い

ほぼhtml_documentと同等の機能を持ちながら、600KB以上の軽量化に成功。

  • できるだけJavaScriptを使わずCSSでレスポンシブなデザインを実現
  • 有効化した機能の分しかCSS・JavaScriptを使わない

https://cran.r-project.org/web/packages/minidown/vignettes/Writing-vignettes-with-minidown.html#light-weight

HTML Living Standard

HTML4は古い。 時代の最先端を追おう!

ツールチップ表示できる脚注(実験段階)

詳細は脚注を見てね1

さあインストールしよう

install.packages('minidown')

Enjoy & Gimme Stars!

GitHubで★をつけてくれるとめっちゃ喜びます。

https://github.com/atusy/minidown

thankyoustarsパッケージを使うのもいいですね。

ThankYouStarsで感謝の気持ちをスターで伝えよう


  1. マウスを重ねるだけで見れるよ。リンクをクリックしても良いよ。↩︎