Автоматический ток в github-ароматизированный-markdown



можно ли создать автоматическое оглавление с помощью GitHub В Markdown Принятый?

900   14  

14 ответов:

Я создал два варианта для создания toc для GitHub-flavored-markdown:

Инструмент Командной Строки DocToc (источник) требует узел.js

Установка:

npm install -g doctoc

Использование:

doctoc . для добавления оглавления во все файлы markdown в текущем и всех подкаталогах.

DocToc WebApp

Если вы хотите сначала попробовать его в интернете, перейдите в doctoc сайт, паста ссылка на страницу markdown и она будет генерировать таблицу содержимое, которое можно вставить в верхнюю часть файла markdown.

Github Вики и якоря

как отметил Мэтью Флашен в комментариях ниже, для своих вики-страниц GitHub ранее не создавал якоря, которые doctoc зависит от.

обновление: однако, они исправлены этот вопрос.

страницы GitHub (который в основном является оболочкой для Jekyll) кажется, использовать kramdown, который реализует все Maruku, и поэтому имеет поддержку автоматически сгенерированное оглавление через a:

* auto-gen TOC:
{:toc}

первая строка просто начинает неупорядоченный список и фактически выбрасывается.

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

Примечание: это должно работать для страниц GitHub, а не GitHub Flavored Markdown (GFM), как используется в комментариях или вики-страницах. Насколько мне известно, решения не существует, для этого не.

это не автоматически, но он использует Блокнот++ регулярные выражения:

заменить все первые на вторые (удаляет все строки, не имеющие заголовков)

^##(#?)(#?)(.*?)$(.|\r|\n)*?(?=^##|\z)
- [](#)\n

затем (преобразует заголовки III в пробелы)

-##
        -

затем (преобразует заголовки II в помещениях)

-#
    -

затем (удалите неиспользуемые символы в начале и в конце заголовка ссылки)

\[ *((?:(?![ .:#!\?;]*\])[^#])*)[ #:!\?;]*\]
[]

затем (конвертировать последние маркеры в нижний регистр и тире вместо пробелов)

\]([^ \r\n]*) ([^\r\n ]*)
]\L-

удалите неиспользованные конечные фунты и начальные тире:

(?:()[-:;!\?#]+$|(\]#)-)

удалить бесполезные символы в ссылках:

(\].*?)(?:\(|\))

и, наконец, добавить скобки вокруг конечных ссылок:

\](?!\()(.*?)$
\]\(\)

и вуаля! Вы даже можете поместить это в глобальный макрос, если вы повторите его достаточно времени.

Если вы редактируете файлы Markdown с Vim, вы можете попробовать этот плагин vim-markdown-toc.

использование простое, просто переместите курсор на место, которое вы хотите добавить оглавление и запустить :GenTocGFM, молодец!

скриншоты:

vim-markdown-toc

характеристики:

  1. создать toc для файлов Markdown. (Поддержка GitHub ароматизированный Markdown и Redcarpet)

  2. обновить существующие оглавление.

  3. автоматическое обновление toc при сохранении.

GitHub Flavored Markdown использует RedCarpet в качестве своего механизма уценки. Из РЕПО RedCarpet:

: with_toc_data-добавление HTML-якорей к каждому заголовку в выходном HTML, разрешить привязку к каждому разделу.

кажется, что вам нужно будет получить на уровне рендерера, чтобы установить этот флаг, что, очевидно, невозможно на Github. Тем не менее,обновление для страниц Github кажется, что автоматическая привязка включено для заголовков, создающих ссылочные заголовки. Не совсем то, что вы хотите, но это может помочь вам создать TOC для вашего документа немного проще (хотя и вручную).

Это невозможно, за исключением предлагаемого решения.

Я предложил расширение Kramdown TOC и другие возможности [email protected] и Стивен! Рагнарек ответил с обычными:

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

давайте поднимем этот вопрос, пока это не произойдет.

другое (вообще недопустимо) решением проблемы является использование asciidoc вместо уценки, что делает рендер TOCs.

можно создать веб-страницу автоматически с помощью http://documentup.com/ от . Это не создание TOC, но для многих это может решить причину, по которой вы хотите создать TOC.

Другой альтернативой Documentup является Flatdoc:http://ricostacruz.com/flatdoc/

Gitdown является препроцессором markdown для Github.

С помощью Gitdown вы можете:

  • создать Оглавление
  • найти мертвые URL-адреса и идентификаторы фрагментов
  • включить переменные
  • включаемые файлы
  • получить размер файла
  • Генерировать Знаки
  • Дата Печати
  • печать информации о самом репозитории

Gitdown упрощает общие задачи, связанные с ведением страницы документации для репозитория GitHub.

используя это просто:

var Gitdown = require('gitdown');

Gitdown
    // Gitdown flavored markdown.
    .read('.gitdown/README.md')
    // GitHub compatible markdown.
    .write('README.md');

вы можете либо иметь его как отдельный скрипт, либо иметь его как часть процедуры сценария сборки (например,залпом).

использовать coryfklein / doctoc, форк thlorenz / doctoc не добавлять " генерируется с помощьюDocToc " к каждому оглавлению.

npm install -g coryfklein/doctoc

очень удобным способом достижения оглавления для файла mardown при работе с кодом Visual Studio является расширение Markdown-TOC.

Он может добавить toc к существующим файлам markdown и даже поддерживать toc в актуальном состоянии при сохранении.

enter image description here

мой коллега @schmiedc и я создали сценарий GreaseMonkey, который устанавливает новый TOC кнопка слева от h1 кнопка, которая использует отличный markdown-js библиотека для добавления / обновления оглавления.

преимущество перед такими решениями, как doctoc, заключается в том, что он интегрируется в вики-редактор GitHub и не требует от пользователей работы в командной строке (и требует от пользователей установки таких инструментов, как node.js). В Chrome он работает путем перетаскивания в Страница расширения, в Firefox вам нужно будет установить расширение GreaseMonkey.

Он будет работать с простой markdown (т. е. он не обрабатывает блоки кода правильно, так как это расширение GitHub для markdown). Взносы приветствуются.

Это не прямой ответ на этот вопрос, так как многие люди предоставили обходные пути. Я не думаю, что создание TOC было официально поддержано Github до сих пор. Если вы хотите, чтобы GitHub автоматически отображал оглавление на своих страницах предварительного просмотра GFM, пожалуйста, примите участие в обсуждении на официальном проблема с запросом функции.

В настоящее время не возможно использование синтаксиса markdown (см. текущий обсуждение на GitHub), однако вы можете использовать внешние инструменты, такие как:


альтернативно использовать AsciiDoc вместо (например,README.adoc), например,

:toc: macro
:toc-title:
:toclevels: 99
# Title

## A

### A2

## B

### B2

как предложено в этом комментарий. Проверьте демо здесь.

на текстовый редактор Github Атом проверьте этот удивительный плагин (или "пакет" в Atom-lingo), который генерирует "TOC (оглавление) заголовков из разбираемой markdown" файлы:

markdown-toc

после установки в качестве Atom-пакета вы можете использовать ярлык ctrl-alt-c чтобы вставить TOC на основе вашей структуры markdown-doc в текущей позиции курсора...

скриншоты:

enter image description here

Atom Keybindings

markdown-toc дает вам следующие привязки ключей по умолчанию для управления плагином в Atom:

  • ctrl-alt-c => создать TOC в позиции курсора
  • ctrl-alt-u = > обновить TOC
  • ctrl-alt-r = > удалить TOC

Плагины (от проект README)

  • автоматическое связывание через якорные теги, например # A 1#a-1
  • контроль глубины [1-6] С depthFrom:1 и depthTo:6
  • включить или отключить ссылки с withLinks:1
  • обновить список при сохранении с помощью updateOnSave:1
  • использовать упорядоченный список (1. ..., 2. ...) с orderedList:0

Comments

    Ничего не найдено.