В Markdown, какой лучший способ связать фрагмент страницы, т.е. #some_id?
Я пытаюсь выяснить, как ссылаться на другую область страницы с Markdown. Я могу заставить его работать, если я добавлю
<div id="mylink" />
и для ссылки do:
[My link](#mylink)
Но я предполагаю, что есть другой способ сделать ссылку на странице в Markdown, которая не включает тег div
.
Любые идеи?
Ответы
Ответ 1
См. этот ответ.
В заключение сделайте пункт назначения с
<a name="sometext"></a>
вставляется в любом месте разметки разметки (например, в заголовке:
## heading<a name="headin"></a>
и ссылку на него с помощью привязки уценки:
[This is the link text](#headin)
или
[some text](#sometext)
Не используйте <div>
- это испортит макет для многих рендерингов.
(Я изменил id=
на name=
выше. См. этот ответ для утомительного объяснения.)
Ответ 2
Я думаю, это зависит от того, что вы используете для генерации html из вашей уценки. Я заметил, что jekyll (он используется страницами gihub.io по умолчанию) автоматически добавляет атрибут id = "" в заголовки в html, который он генерирует.
Например, если вы укажете
My header
---------
Полученный html будет выглядеть следующим образом:
<h2 id="my-header">My header</h2>
Таким образом, вы можете ссылаться на него просто [My link](#my-header)
Ответ 3
С PHP-версией Markdown вы также можете связать заголовки с фрагментами идентификаторов на странице, используя синтаксис, как любой из следующих, так как документировано здесь
Header 1 {#header1}
========
## Header 2 ## {#header2}
а затем
[Link back to header 1](#header1)
[Link back to header 2](#header2)
К сожалению, этот синтаксис в настоящее время поддерживается только для заголовков, но по крайней мере он может быть полезен для создания оглавления.
Ответ 4
Целевым якорем для ссылки на HTML-странице может быть любой элемент с атрибутом id
. См. Links на сайте W3C. Вот цитата из соответствующего раздела:
Целевые привязки в документах HTML может быть задано либо A элемент (назвав его именем атрибут) или любым другим элементом (именование с атрибутом id).
Markdown рассматривает HTML как HTML (см. Встроенный HTML), поэтому вы можете создавать идентификаторы фрагментов из любого элемента, который вам нравится. Если, например, вы хотите привязать к абзацу, просто оберните абзац в теге абзаца и включите id:
<p id="mylink">Lorem ipsum dolor sit amet...</p>
Затем используйте стандартный Markdown [My link](#mylink)
, чтобы создать ссылку на фрагмент якоря. Это поможет сохранить ваш HTML чистый, так как нет необходимости в дополнительной разметке.
Ответ 5
Любой, кто использует Visual Studio Team Foundation Server (TFS) 2015, действительно не любит встроенные элементы <a>
или <div>
, по крайней мере, в заголовках. Он также не любит эмодзи в заголовках:
### 🔧 Configuration 🔧
Lorem ipsum problem fixem.
Переводится на:
<h3 id="-configuration-">🔧 Configuration 🔧</h3>
<p>Lorem ipsum problem fixem.</p>
И поэтому ссылки должны либо использовать этот id
(который нарушает это и другие расширения предварительного просмотра в Visual Studio), либо удалить emoji:
Here [how to setup](#-configuration-) //🔧 Configuration 🔧
Here [how to setup](#configuration) //Configuration
Где последняя версия работает как в режиме онлайн в TFS, так и в режиме предварительного просмотра уценки Visual Studio.