Как сделать ссылку на заголовок, содержащий точку (.) Или запятую (,) в файле уценки (Содержание)?
В моем Readme.MD
файл разметки, который я хочу создать оглавление (для Github). [TOC]
(генерируется Typora) не отображается на Github. Это показывает как [TOC]
, Некоторые из моих заголовков содержат символы, такие как точка или запятая. Есть ли способ ссылки на эти заголовки?
Я попробовал почти все, что я думаю, например: [app.js File](#app.js-file)
, [app.js File](#app-js-file)
, [app.js](#app--js-file)
, [app.js](#app\.js-file)
, [app.js](#appjs-file)
, Ничего не работает
Вот пример:
Table of contents:
[app.js](#app-js)
[script.js](#script.js)
[One, two, three](#one,-two,-three)
# app.js File
Some text
# script.js File
Some text
# One, two, three
Some text
PS Некоторые люди говорят о создании HTML-якорей (именованных), но как / где вы пишете их в своем MD-файле (если это решение). Не могли бы вы объяснить это, пожалуйста (я не мог найти никакого решения в Интернете).
3 ответа
Если вы наведите курсор мыши на заголовок, на который хотите сослаться в отображаемом контенте, вы увидите значок ссылки. Наведите курсор мыши на этот значок, чтобы увидеть, на что он ссылается, и используйте его в качестве цели. Я думаю, что вы найдете ссылки по имени
appjs-file
scriptjs-file
one-two-three
Этот ответ указывает на некоторую логику, которая может управлять именованием ссылок, но я не смог подтвердить.
Как примечание, Markdown разработан так, чтобы его можно было легко прочитать даже в необработанном виде. Я настоятельно рекомендую добавить пробел между хешами заголовка и текстом заголовка и пустую строку между заголовком и его содержимым, например
# app.js File
Some text
Некоторые процессоры Markdown требуют одного или обоих из них для правильной визуализации.
Вопрос 1
Есть ли способ дать ссылку на эти заголовки (содержащие знаки препинания)?
Да. Отбросьте все знаки препинания и замените пробелы дефисами. Это работает для Github, но с некоторыми другими редакторами уценки, такими как, например, на hashnode.com, вы должны заменить знаки препинания дефисами.
В приведенном выше примере я не связал полные заголовки. Вот почему некоторые не работали. Чтобы исправить приведенный вами пример:
Table of contents:
[app.js](#appjs-file)
[script.js](#scriptjs-file)
[One, two, three](#one-two-three)
# app.js File
Some text
# script.js File
Some text
# One, two, three
Some text
вопрос 2
Некоторые люди говорят о создании HTML-якорей (названных), но как / где вы записываете их в свой MD-файл (если это решение)?
Вы добавляете якоря HTML прямо рядом с заголовком, на который хотите создать ссылку, в той же строке. Ссылка, которую вы предоставляете в оглавлении, должна совпадать с именем привязки в заголовке, но отбрасывать хэш.
Вот пример:
Table of contents:
[app.js](#app-js-file)
[script.js](#script-js-file)
[One, two, three](#one-two-three)
# app.js File <a name="app-js-file"></a>
Some text
# script.js File <a name="script-js-file"></a>
Some text
# One, two, three <a name="one-two-three"></a>
Some text
Вот Github Gist, чтобы продемонстрировать, что он работает на Github.
В GitHub, если вы наведете курсор на слова заголовка раздела, слева от слов заголовка раздела появится значок ссылки. Если вы наведете курсор на значок ссылки , URL-адрес веб-страницы, на которой вы находитесь, появится внизу страницы (например, github.com/username/.../README.md). Если вы продолжите наводить указатель мыши на значок ссылки в течение нескольких секунд, эта ссылка будет включать добавленную ссылку на раздел (например, github.com/username/repo/edit/main/README.md#appjs-file).
Решение:
Table of contents:
[app.js File](#appjs-file)
[script.js File](#scriptjs-file)
[One, two, three](#one-two-three)
# app.js File
Some text
# script.js File
Some text
# One, two, three
Some text