Re: преобразовать man-ы в предпочтительный формат
On 2015-10-03, Victor Wagner wrote:
> Во-первых, в pdf можно преобразовывать сразу, получая разметку и высокое
> (относительно) качество верстки. Всё-таки troff, в формате которого
> пишутся man-страницы - исходно предназначен для верстки книг.
>
> Во-вторых, наиболее распространенный во всем мире формат электронных
> книг - .epub - это немногим более чем зазипованный html, а в html *roff
> тоже умеет преобразовывать.
>
> Другое дело, что для того чтобы сделать из кучки man - страниц
> электронную книг - manual, (как это вообще-то исходно задумано) нужно
> приложить некоторый труд по генерации оглавлений, алфавитных указателей
> и т.д.. Возможно, кто-то это уже проделал.
Мне путь https://metacpan.org/search?q=man кажется сложным.
Формируем HTML:
mkdir $w
for m in /usr/share/man/man[1-8]/*; do
if [ ${m} = ${m%.gz} ]; then
groff -man -Thtml $f >$w/${f##*/}.html
else
gzip -d -c $f | groff -man -Thtml >$w/${f##*/}.html
fi
done
Содержимое HTML файлов имеет простую структуру, потоково обрабатываем каждый файл,
формируя большой fb2 файл:
{
cat <<EOF
$PRE
EOF
for $f in $w/*.html; do
# на основании имиени файла?
XXX-make-TOC-entry $f
done
...
for $f in $w/*.html; do
# на основании содержимого фала
XXX-make-SECTION-entry $f
done
cat <<EOF
$POST
EOF
} > man.fb2
В разделе OPTIONS ".IP" директива создает таблицу. Наверно самая сложная
конструкция в потоке HTML.
Формат fb2: http://fictionbook.org/index.php/Документы;
В man страничках есть подобие гиперссылок, когда текст в виде WORD(N), fb2
поддерживает ссылки, можно сдедать упоминания WORD(N) кликабельными.
В epub много сторонних файлов, я бы не разбирался. В fb2 достаточно почитать
XSD схему.
Из fb2 можно гнать во что угодно.
Если у вас ридер способен читать CHM, то можно вообще быстро сделать.
Я из гонва, палок, sed, sh, find и Emacs сделаю CHM за 10 мин.
Для примера см. как я собирал документацию POSIX (файлик
SYSV3_POSIX_standard_chm-project.zip):
https://www.mediafire.com/folder/u835715i5sqxo/book
Как запустить
~/.wine/drive_c/Program Files/HTML Help Workshop/hhw.exe
можно почитать у меня:
http://gavenkoa.users.sourceforge.net/tips-html/chm.html
--
Best regards!
Reply to: