ToC или боковая панель в GitHub Wiki


87

Как создать ToC или меню боковой панели в GitHub Wiki?

Я видел некоторые упоминания об этом, и gollum, похоже, поддерживает его, но как мне это сделать в текущем проекте GitHub?

Лучше всего он должен основываться на заголовках, которые у меня есть на странице автоматически.

Все эти ссылки упоминают об этом, но не показывают, как это сделать:

  • https://gist.github.com/379469 - какой-нибудь хак JavaScript
  • https://github.com/blog/774-git-powered-wikis-improved - GitHub упоминает об этом:

    «Вики-сайты GitHub имеют мало задокументированные возможности для нижних колонтитулов и боковых панелей, с которыми знакомы некоторые наши авторы вики-сайтов на основе git. Новый редактор Wiki дает вам ограниченное веб-редактирование нижних колонтитулов и боковых панелей на вашем сайте. "


3
Я разработал GitHub Wikifier: Git Hook перед фиксацией, который сгенерирует все оглавление, которое вам когда-либо понадобится. Просто напишите свой контент и позвольте ему взять верх. Может стоит проверить. github.com/kuroir/GitHub-Wikifier
MarioRicalde


Код @MarioRicalde перемещен на github.com/hybridgroup/GitHub-Wikifier
Джонни,

Ответы:


76

Пока ваше решение работает, есть более простой способ сделать это с помощью веб-интерфейса GitHub. Вы можете просто создать страницу с именем _Sidebarи / или _Footer.

См. Подробные инструкции в многоуровневом конструкторе меню боковой панели Github Wiki .

Править Исходная статья исчезла, и я не могу найти ее в кеше, поэтому обновил ссылку.


7
@CodeSherpa они доступны https://github.com/[user]/[repo]/wiki/_Sidebar/_editиhttps://github.com/[user]/[repo]/wiki/_Footer/_edit
nicerobot

1
Статья отличная, но дает неверную (или устаревшую) информацию о том, как получить URL-адрес вики. Если вы так же потерялись, как и я, вам нужно использовать URL-адрес https://github.com/<username>/<projectname>.wiki.gitили SSH git@github.com:<username>/<projectname>.wiki.git.
NightOwl888,

1
Эти подробные инструкции довольно скудны. Что такое [[link]]? Ввод URL-адреса приводит к отображению всего URL-адреса.
Pithikos

3
@Pithikos, это говорит Github Markdown. Инструкций нет, чтобы научить вас Markdown. Они нужны для объяснения боковых панелей.
nicerobot

2
@nicerobot, и лучший способ что-то объяснить - это на конкретном примере ..
Питикос,

26

Когда вы находитесь в вики своего проекта, есть ссылка Добавить настраиваемую боковую панель . Щелкните это.

Введите описание изображения здесь

Теперь у вас есть страница, которую вы редактируете так же, как любую другую страницу Markdown . Однако, чтобы составить оглавление, вы должны сделать это вручную. Автоматизированного метода нет (по состоянию на август 2014 г.). Так например:

# My menu
* [Home][home]
* [Technical documentation][techdocs]
* [User manual][usermanual]

[home]: https://github.com/myproject/wiki/Home
[techdocs]: https://github.com/myproject/wiki/Technical-documentation
[usermanual]: https://github.com/myproject/wiki/User-manual

25

Ладно. Посмотрим, правильно ли я это понимаю:

  1. Клонируйте свою вики на GitHub. (В вики есть раздел Git. Вы можете проверить свой вики-подобный код.)
  2. Создайте _Sidebar.md
  3. На обычных страницах вики используйте [[link]]для боковой панели
  4. Зафиксировать и отправить обратно на GitHub

Этот процесс - заноза в заднице. Я удивлен, что эта вики о «голлуме» получила какое-то признание.

Также: _Sidebar.md поэтому является глобальным для всех страниц . Мне пришлось бы организовать свою вики по папкам, чтобы я мог определять разные боковые панели для разных страниц.


2
Согласно документам, вы можете добавлять разные боковые панели для разных папок: «Боковые панели влияют на все страницы в своем каталоге и любые подкаталоги, у которых нет собственного файла боковой панели». см .: github.com/github/gollum
Subfuzion,

10

Обратите внимание, что исходный вопрос был о создании боковой панели (легко, решено в ответах) или фактического содержания (без ответа).

Одно могу сказать, что синтаксис wiki gollum 2.1 допускает использование [[_TOC_]]тега, но вики GitHub не распознает это (пока?).


4
Вам повезло? Это ужасно расстраивает то, что я пришел из Trac, где все это было легко сделано.
jooks

Я думаю, что лучший ответ на исходный вопрос о том, как создать оглавление «автоматически на основе заголовков, которые у меня есть на странице», - это то, что в настоящее время невозможно с GitHub Wiki.
avernet

В настоящее время это открытый вопрос (слишком ленив, чтобы найти число), который прокомментировали сотни людей. Ответа от GitHub пока нет :(
abalter


4

Я думаю, это описано в ГоллумеREADME . (См. Разделы заголовка и боковой панели.)

По сути, вы создаете _footer.extи _sidebar.extв каталоге, содержащем содержимое страницы.


2

Я реализовал модуль npm github-wiki-sidebar, чтобы помочь пользователям github легко создавать и поддерживать меню боковой панели.

Источник и результат: https://raw.githubusercontent.com/wiki/adriantanasa/github-wiki-sidebar/images/github-wiki-sidebar-generator.png

Исходные страницы (как показано в Wiki admin):

Home
Installation
Roadmap
Usage
Usage: Command line modifiers
Usage: Init Mode

Результат (с индивидуальным заказом):

Предварительно требования:

  • клонируйте свой репозиторий github wiki локально (отображается в правом нижнем углу пользовательского интерфейса Wiki)
  • установить боковую панель github-wiki

    git clone <https://github.com/<username>/<my-project-name>.wiki.git
    npm install -g github-wiki-sidebar
    

Создайте / обновите свое вики-меню:

  • создавать новые страницы / переименовывать страницы в админке вики github.com
  • выполнить локально скрипт github-wiki-sidebar в папке репозитория вики

    cd /path/to/<my-project-name>.wiki
    # this fetches latest changes, generates sidebar file (_Sidebar.md) and pushes changes to github
    github-wiki-sidebar --git-push
    

Модуль позволяет настраивать вывод уценки, включая порядок элементов, разделитель категорий, шаблон для меню, формат ссылок и другие.


0

GitHub автоматически сгенерирует оглавление документа:

  1. Сделайте документ типа AsciiDoc вместо Markdown.
  2. Вставить :toc:в начало документа.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.