Разные заметки я пишу, используя язык разметки markdown. И все у меня с ним хорошо. Но вот нужно было передать инструкцию в удобном виде, и не в wiki, а документом. И я подумал, а почему бы не в PDF?
Понятно, что на самом деле вариантов много и на markdown свет клином не сошелся — за то время, что я провел в поисках инструмента, можно было в том же libreoffice сделать. Но дело принципа — из markdown сделать PDF.
На самом деле задача легко решается готовыми инструментами.
Вот несколько полезных ссылок:
Это далеко не полный список, в просторах можно найти много других решений. Но никто не приглянулся по разным причинам. Кто не хотел запускаться и требовал внимания, кто тащил за собой целую кучу пакетов.. В онлайн я не очень хотел передавать пароли.
Мой выбор — не новое решение, а связка двух инструментов — python скрипт markdown2 и wkhtmltopdf.
Первый делает из markdown html, второй из html pdf.
После установки я убедился, что по отдельности они работают и написал элементарный скрипт:
#!/bin/sh
WORKDIR="/home/extor/wiki"
CSS="$WORKDIR/tools/css/style2.css"
HTML_HEADER="<!DOCTYPE html><html lang="ru-RU"><head><meta charset="UTF-8"><link rel='stylesheet' href='$CSS'/></head>n"
HTML_FOOTER="</html>"
usage() {
echo "Usage: script <input_file>"
}
if [ $# -eq 1 ];then
echo $HTML_HEADER > $WORKDIR/$1.html
markdown2 $1 >> $WORKDIR/$1.html
echo $HTML_FOOTER >> $WORKDIR/$1.html
wkhtmltopdf $WORKDIR/$1.html $WORKDIR/$1.pdf
else
usage
fi
Для моих нужд хватило, возможно нюансы вылезут потом. =)
Думаю, идею я передал. Соль в том, что красоту html и pdf файла легко править единственной css. Свою я стянул у JasonM23