2014-08-30 2 views
9

У меня есть хранилище с wiki, полным более 80 страниц. Я хочу отобразить индекс всех страниц вики на сайте Jekyll (GitHub Pages) для проекта, а также отобразить каждую страницу на сайте с использованием пользовательского макета и использовать стили остальной части сайта.Рендеринг вики GitHub на страницах GitHub Сайт Jekyll

Для этого моим первым инстинктом было использование god-подмодулей для включения страниц из вики (которые GitHub предоставляет как git-репо) на репозитории сайта Jekyll. Но это насколько я понял: насколько я могу судить, нигде Jekyll не будет принимать файлы разметки, которые не соответствуют сообщению. Они не имеют названия с датой, и у них нет никаких сторонников, поэтому Джекил просто игнорирует их.

Чтобы обойти это, я бы просто написал плагин, чтобы делать то, что хотел. Но поскольку сайт размещен на страницах GitHub, он не позволит создавать какие-либо плагины.

Итак, я действительно не знаю, как действовать. Возможно ли это без пользовательских плагинов?

ответ

7

Идея такова:

  1. загрузить мой плагин: https://github.com/djacquel/WikiToJekyll
  2. читать документ
  3. установить и грабли
  4. пить пиво

Я проверил его здесь: https://github.com/djacquel/JekyllTest/tree/gh-pages С этой страницей wiki: https://github.com/djacquel/JekyllTest/wiki

Что делать, как только установлен и настроен (5 минут) raketask/плагин:

  1. rake wikisub добавить GIT подмодуль, указывающий на вики. Должна быть публичной вики, но может быть на другое хранилище
  2. копирования и преобразование загруженных страниц вики, как уценки с YAML вводной
  3. построить Джекил, то вики-страница плагина перехватывать ссылки преобразования их преобразования, как Джекил ссылку
  4. заказа пиццы

На данный момент единственная проблема (или нет) в том, что Kramdown не очень хорошо справляется с уценкой Github. Вы должны переключиться на красную дорожку.

Две другие задачи доступны:

  • rake wikibuild: восстановление вики-страниц

  • rake wiki: синхронизирующий вики-страницы, создавать и, возможно, подтолкнуть изменения в Jekyll хранилище

Et хмелевой !

+0

Это очень хороший и подробный ответ.У меня было что-то подобное, но мне было слишком лениво написать что-то подобное :) Одной из вещей, которые, вероятно, также необходимо будет решить, являются внутренние ссылки между страницами wiki (если они есть), которые, возможно, необходимо будет изменить на укажите страницы на сайте, а не страницы на github (я думаю, это зависит от того, являются ли ссылки абсолютными или относительными, и если основная структура страницы похожа на страницу на github). –

+0

@ MitjaBezenšek ты прав, я пропустил этот момент. Это может быть хороший код ката для вас ;-) 'требуют "kramdown"' затем что-то вроде 'kDoc = Kramdown :: Document.new (fileContent)' , но сейчас я не могу get the parser.parse возвращает коллекцию парсера :: link_defs для wiki-страниц вообще. На всякий случай репозиторий находится здесь: https://github.com/djacquel/JekyllTest –

+0

Именно поэтому я понимаю, что я бы вручную запускал сценарий, который бы сбрасывал новые изменения, копировал файлы в другую папку, а затем добавить фронтмасс к каждому из них (и, возможно, исправить ссылки)? –

Смежные вопросы