Skip to content

i13302/printout

Repository files navigation

printout

Abstruct

markdownからPDF( markdown+css→HTML→PDF )を出力する取り組み.
大量のドキュメントを前提とし,GitHub Actionsで,1ドキュメント1PDFに変換する.
現状の生成物は,各Actionsの実行結果を確認のこと.

markdown+css→HTML

CSSなどのスタイルやレイアウトは,授業資料とか技術系のドキュメントなど,自由に組み込める.
CSSや画像はbase64 encodeし,単一HTMLとして出力する.
pandocをbaseとした i13302/pandocイメージを用いる.

HTML→PDF

Chromeの Page.printToPDF 機能を用いる.
A4サイズでのPDF化,日付のヘッダーやページ番号のフッターの付与が実現する.
i13302/printoutイメージを用いる.

Status

  • MarkdownからCSSを維持したHTMLファイルの生成
  • HTMLファイルからPDFの生成
  • ヘッダーやフッターを持つPDFの生成
  • 一連の実行を1手順での自動化
  • 大量のドキュメントへの対応

Usage

Project Download

git clone https://github.com/i13302/printout.git
cd printout

Get Image

Docker Pull

Package pandoc Package printout

docker pull ghcr.io/i13302/pandoc
docker pull ghcr.io/i13302/printout

Local Build

make build

Builded Image i13302/pandoc and i13302/printout.

Build Text

Create dir is used this system.

make setup

Result.

$ tree work/
work/
├── base
├── css
├── html
├── markdown
└── pdf

The markdown text into work/markdown dir and css into work/css dir.

make run

Product PDF

markdown is builded to PDF file in work/pdf dir.

Clean up builded files

remove work/html/* and work/pdf/*.

make clean

Test

This is builded in test dir.

Build Text

make test_run

Clean up

make test_clean

License

MIT License.