Какую библиотеку Github использует для анализа уценки?

Github "использует" уценку со вкусом github, но я так и не смог найти, что именно это значит. Какую библиотеку синтаксического анализа они используют на клиенте для рендеринга предпросмотра?

Используется ли одна и та же библиотека для файлов *.md, проблем и вики-страниц?

Бонусные баллы, если вы можете указать мне на ресурс, который показывает, как github ароматизированные уценки и общие знаки перекрываются и как они различаются.

2 ответа

Решение

укажи мне на ресурс, который показывает, как уцененные и обычные маркеры github пересекаются и как они различаются.

Теперь это (март 2017 г.) официально задокументировано: см. " Формальную спецификацию для GitHub Flavored Markdown "

Начиная с сегодняшнего дня, весь пользовательский контент Markdown, размещенный на нашем веб-сайте, включая комментарии пользователей, вики-файлы и файлы.md в репозиториях, будет анализироваться и обрабатываться в соответствии с официальной спецификацией для GitHub Flavored Markdown.

Это подробно описано в " Формальной спецификации для GitHub Flavored Markdown "

Эта формальная спецификация основана на CommonMark, амбициозном проекте по формальному определению синтаксиса Markdown, используемого многими веб-сайтами в Интернете, таким образом, чтобы отражать его использование в реальном мире.
CommonMark позволяет людям продолжать использовать Markdown так же, как и всегда, предлагая разработчикам исчерпывающую спецификацию и справочные реализации для взаимодействия и отображения Markdown согласованным образом между платформами.

Идея заключается в следующем:

Принятие спецификации CommonMark и реорганизация нашего текущего стека пользовательского контента вокруг него - не тривиальная задача.
Основная проблема, с которой мы столкнулись, заключается в том, что спецификация (и, следовательно, ее эталонные реализации) сфокусирована строго на общем подмножестве Markdown, которое поддерживается исходной реализацией Perl.
Это не включает некоторые расширенные функции, которые всегда были доступны на GitHub. В частности, отсутствует поддержка таблиц, перечеркивания, автолинков и списков задач.

Чтобы полностью указать версию Markdown, которую мы используем в GitHub (известную как GFM), нам пришлось формально определить синтаксис и семантику этих функций, чего мы никогда раньше не делали. Мы сделали это в дополнение к существующей спецификации CommonMark, уделяя особое внимание тому, чтобы наши расширения были строгим и необязательным надмножеством исходной спецификации.

Разметка - это "код, который мы [Github] используем для визуализации README.your_favorite_markup". Они перечисляют Redcarpet в качестве библиотеки для Markdown. Это, в свою очередь, использует Sundown. Используется ли это для всего сайта, я не уверен.

Он также утверждает, что имеет "массовую поддержку расширений".

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

Для получения полной информации вам, вероятно, придется покопаться в этих библиотеках.

Бонусные баллы, если вы можете указать мне на ресурс, который показывает, как github ароматизированные уценки и общие знаки перекрываются и как они различаются.

Sundown утверждает, что "полностью соответствует стандартам" с Markdown v1.0.0 и v1.0.3, но я не могу найти эти версии. Только v1.0.1 и CommonMark, который находится в 0.26.

Sundown выходит из коробки с официальными наборами тестов Markdown v1.0.0 и v1.0.3 и был тщательно протестирован с дополнительными угловыми случаями, чтобы удостовериться, что его выходные данные как можно лучше в любое время.

Расширения Github Markdown документированы в их руководстве по Mastering Markdown.

Другие вопросы по тегам