Легкий экспорт из github wiki (?)
Я собираю довольно много материала в вики GitHub. Мне очень нравится использовать wiki для сотрудничества с другими людьми, и IMHO платформа действительно хороша, мне она нравится!
Итак, я бы хотел использовать GH wiki для сбора материалов, редактирования, сохранения и т.д., но я также хотел бы экспортировать содержимое, чтобы создать pdf файл, который мы можем назвать "руководством".
Я хотел бы генерировать обновленную версию руководства автоматически каждый раз, когда я хочу просто запустить несколько скриптов, я не могу приложить к этому слишком много усилий.
Я думаю, что можно каким-то образом экспортировать контент и использовать pandoc (http://johnmacfarlane.net/pandoc/), чтобы создать pdf файл, возможно, добавив индекс и файл стиля.
Еще одна интересная идея - опубликовать веб-сайт раз в месяц, сбрасывая содержимое непосредственно из вики.
Я думаю, что другие люди уже делали что-то подобное, но я ничего не нашел.
Любая идея?
Ответы
Ответ 1
Но... вики Github репо GitHub - это репозиторий git сам по себе (представленный в августе 2010 г.).
Вы можете клонировать его, нажимать на него или извлекать из него.
Каждая wiki - это репозиторий git, поэтому вы можете нажать и вытащить их, как что-нибудь еще.
Каждая вики уважает те же права, что и исходный репозиторий.
Просто добавьте ".wiki
" к любому имени репозитория в URL, и вы готовы к работе.
Это делает "экспорт" частью вашего вопроса действительно тривиальным.
Оттуда вы найдете тонны script для преобразования страниц разметки в pdf:
Ответ 2
Я добавляю к этому ответу, если это поможет новым читателям :) вот что я сделал:
Я установил GitHub Desktop: https://desktop.github.com/
Затем, на странице wiki в моем репозитории, я нажал "Clone in Desktop" ![Clone]()
Это сохранили wiki локально как.md файл (после выполнения действий на экране)
Затем я использовал http://www.markdowntopdf.com/, чтобы преобразовать его в pdf (Примечание: я переименовал файлы для удаления символов, которые не будут работать в имени файла pdf перед загрузкой на веб-сайт)
Конечный результат был действительно приятным.
Ответ 3
Я обнаружил, что многие из этих решений трудно воспроизвести/получить правильную версию/понять/исправить/и т.д. Поэтому вместо этого я представим решение для док-станции с пэчворком, которое легко конвертируется в Windows (используя git bash )/MacOS/Linux в 5 "простых" командах
git clone {project_url}.wiki .
# Convert *.md to *.md.html using the actual github pipeline
docker run --rm -e DOCKER_USER_ID=`id -u` -e DOCKER_GROUP_ID=`id -u` \
v "`pwd`:/src" -v "`pwd`:/out" andyneff/github-markdown-preview
# Fix hyperlinks, since wkhtmltopdf is stricter than github servers
docker run --rm -v `pwd`:/src -w /src perl \
perl -p -i -e 's|(<a href=")([^/"#]+?)(#[^"]*)?(">.*?</a>)|\1\L\2\E.md.html\L\3\E\4|g'\
*.html
# Lowercase all filename so that hyperlink match
docker run --rm -v `pwd`:/src -w /src python \
python -c 'import sys;import os; [os.rename(f, f.lower()) for f in sys.argv[1:]]' \
*.md.html
#Convert html to pdf using QT webkit
docker run -it --rm -e DOCKER_USER_ID=`id -u` -e DOCKER_GROUP_ID=`id -u`\
-v `pwd`:/work -w /work andyneff/wkhtmltopdf \
wkhtmltopdf --encoding utf-8 --minimum-font-size 14 \
--footer-left "[date]" --footer-right "[page] / [topage]" \
--footer-font-size 10 \
toc \
*.html document.pdf
Перл - это основная часть, которая может выйти из строя без лучшего решения. Pandoc имеет действительно хорошее решение фильтра, но не использует трубопровод github.
Ошибки:
-
Экстра широкие кодовые блоки будут отображаться с помощью полосы прокрутки и существенно отсекаются в pdf. Было бы лучше сделать блок кода не переполнением, но вы можете добавить --user-style-sheet user.css
в команду wkhtmltopdf (до toc
/cover
) и добавить в свой user.css
.markdown-body .highlight pre,
.markdown-body pre{
overflow:visible !important;
}
-
Некоторая ссылка в финальном pdf отключена на +1 странице, некоторые - нет. Не уверен, что такое шаблон. Но якоря с идентификаторами (#), похоже, не имеют этой проблемы.
Ответ 4
Я выполнил именно это, создав переносимую документацию для Barcode Writer в Pure PostScript:
GitHub Wiki + Makefile + pandoc → PDF
Процесс описан в этом сообщении .
Ответ 5
Другой вариант, когда вы клонируете wiki, особенно если вы уже используете Atom, нужно использовать этот пакет Markdown для PDF. Отлично работает для меня.
Ответ 6
Я нашел действительно раздражающим необходимость конвертировать каждый документ по уценке отдельно (ссылки между документами по уценке потеряны), поэтому я в итоге написал простую программу на С# для собственного использования, которая делает это за один шаг: a) Загрузите последнюю версию вики от Github, б) конвертировать все документы уценки объединены в один PDF
Вы можете загрузить двоичные файлы (Windows или любую платформу, поддерживающую Mono) по адресу: https://github.com/borjafdezgauna/CoderDocTools/releases/latest
Если, например, вы хотите преобразовать репозиторий SimionZoo в PDF с помощью пользователя simionsoft, вы можете:
MarkdownToPDF.exe user=simionsoft project=SimionZoo output-file=SimionZoo.pdf
Ответ 7
Вы также можете попробовать html_links_to_pdf!
Это Python 3 script, сделанный для преобразования вики GitHub в формат PDF, используя тот же стиль, что и GitHub, но немного более чистый.