Используйте заголовок Markdown вместо необработанного HTML-якоря.
Как описано в github / markup , после преобразования Markdown в HTML ...
HTML очищается, агрессивно удаляя вещи, которые могут навредить вам и вашим родственникам, такие как script
теги, встроенные стили и class
или id
атрибуты.
Хотя атрибуты name
конкретно не упоминаются, атрибуты id
есть, и они выполняют аналогичную функцию. предыдущая версия документа, связанного с санитарным скриптом , который не включает атрибут name
в белый список утвержденных атрибутов. Другими словами, дезинфицирующее средство GitHub удаляет ваш атрибут name
.
На самом деле, если вы используете функцию view source
вашего браузера, я ожидаю, что вы обнаружите, что атрибут name
отсутствует в HTML на этой странице. Однако еще не все потеряно. Если вы заметили, шаг 4 включает в себя (выделение добавлено):
HTML пропускается через другие фильтры в html-конвейере, которые добавляют специальные соусы, такие как эмодзи, списки задач, именованных якорей , кеширование CDN для изображений и автосвязь.
Другими словами, каждому заголовку (h1
, h2
, ... h6
) в документе присваивается уникальный id
. Поэтому вы можете указать на id
, назначенный любому заголовку, и вы получите желаемое поведение.
# Din Panel
...
[link](#din-panel)
Обратите внимание, что для генерации id
все символы преобразуются в символы нижнего регистра ASCII, все знаки пунктуации (за исключением дефисов и пробелов) удаляются, а все пробелы заменяются дефисами (-
). Наконец, при необходимости, добавляемый номер добавляется в конец, чтобы гарантировать, что каждый id
уникален.
Если у вас возникли проблемы с угадыванием автоматически сгенерированного id
, вы всегда можете просмотреть сгенерированную страницу на GitHub, а при наведении курсора на заголовок рядом с текстом появится значок привязки. Этот значок будет содержать ссылку на этот конкретный заголовок с правильным id
. Или вы можете использовать функцию браузера view source
(или инструмент разработчика inspect
), чтобы определить id
, назначенный заголовку.