Какую библиотеку 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.