Как сделать ссылку на заголовок, содержащий точку (.) Или запятую (,) в файле уценки (Содержание)?

В моем 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
Другие вопросы по тегам