Html текст ссылка: Виды ссылок | htmlbook.ru

Содержание

Рейтинг биткоин миксеров

Рейтинг биткоин миксеров

Биткоин хоть и считается конфиденциальным, оставляет о прошлых операциях, кому и куда были отправлены монеты, и по этому следу кто угодно при потребности могут вас обнаружить.

Поэтому, когда вы приобретаете биткоины и переводите их на другие кошельки, эти транзакции не анонимны и абсолютно прозрачны.

Следовательно, любой желающий может выяснить, кто приобретает BTC, и на какой счет монеты отправляются. Именно в этом случае могут понадобится услуги биткоин миксеров, о которых мы говорим.

Биткоин тумблеры, также называемые “прачечными“ или «стиркой» ,являются некими платформами, используемые для разрыва связи между адресом отправки и адресом получения биткоинов.

Итак попробуем разобраться «что такое биткоин-тумблер и для чего он нужен?»

Любую криптовалюту довольно просто определить кому он принадлежит. Помимо того что большинство бирж и других платформ теперь требуют предоставить подтверждение личности, каждая транзакция Bitcoin записывается в протокол-блокчейн, который является не анонимным и хранится в открытом доступе.

Поэтому, когда вы приобретаете биткоины и переводите их на другие адреса и кошельки, эти транзакции всем видны и абсолютно прозрачны.

Отсюда следует, что любой желающий может отследить, кто покупает биткоины, и куда они переводятся. Отличным примером является, просочившийся отчет, в котором силовые структуры США и Агентство национальной безопасности хотели отслеживать пользователей криптовалюты, анализируя транзакции.

Поиском незаконных операций связанных с биткоином могут заниматься не только силовики. Есть также биржи, которые отслеживают транзакции из сайтов азартных игр и рынков Darknet. Они не принимают средства с сайтов азартных игр по известным только им причинам. Можно предположить, причина заключается в том, что игровые сайты известны как центры отмывания денег, где часть доходов переводится из “тёмной сети“.

Принцип работы: имеет собственный резерв криптовалюты, который можно представить в виде цепочки биткоинов. Когда вы переводите свои монеты на Blender io, ресурс отправляет ваши средства в конец цепочки и отправляет вам свежие монеты с начала цепочки, никак не связанные со старыми монетами. Следовательно, никакой связи между зачисленными и выходящими монетами быть не может. Через публичный реестр можно отследить только монеты, которые идут из вашего кошелька на адрес Blender io, но не дальше.

Blender io не требует от вас регистрации или предоставления какой-либо информации, кроме “адреса получения“! Сервис не требует регистрации, но потребуется адрес получения монет, лучшей формы анонимности просто быть не может.

Дополнительная функция задержек на вывод максимально расширена и предлагает установку аж до 24 раз в сутки. У других конкурентов такого количества задержек нет.

Blender io дает возможность установить 8 выводных адресов с дополнительной комиссией в 0,00008 BTC на адрес.

Anonymix io – это сервис очистки биткоинов, который может скрыть ваши переводы прошлых транзакций.

На сегодня в Anonymix действует минимальный лимит вывода в 0,03500000 BTC, поэтому пользователям рекомендуется переводить больше, чем 0,035 BTC плюс комиссия, в противном случае вывести средства не получится.

Миксователю дается установить 5 адресов выхода.

Если по какой-то причине, даже после задержки в два часа, баланс пользователя не обновится, то клиент может написать в администратору для принятия мер.

У миксовщиков, которые были неактивны в течение нескольких дней, после входа в систему может пройти до 15 минут, прежде чем вы увидите непогашенные депозиты.

Истории транзакций в течение четверти месяца после этого они автоматически удаляются.

Сервис работает на специально выделенном сервере, который открыто подключается через интернет (при использовании Tor-браузера этого делать не нужно). Биткоин-миксер загружается на другой машине, вся подозрительная активность контролируется, и веб-сайт автоматически блокируется при любых сигналах того, что он находится под вторжением.

SmartMix предоставляет всю анонимность и защиту, стандартную для биткоин-миксера, а также многообразие опций и льгот, которые вы больше нигде не найдёте.

Если для зачисления вы используете новый адрес, биткоины, которые вы получаете чистыми, оказываются полностью отделены от вашей предыдущей истории на блокчейне, поэтому связать историю транзакций с вашей личностью практически невозможно.

SmartMix комиссия составляет только 0,5% от суммы микса и еще 0,0001 BTC/0,00005 BCH на каждый адрес вывода. Можно установить 5 выводных адресов.

Политика конфиденциальности, позволяет удалить всю информацию о смешивании, как только оно завершается.

Ресурс обеспечивает быстрое и надёжное смешивание биткоинов с помощью простого и привлекательного пользовательского интерфейса.

SmartMix обеспечил для пользователей две дополнительные функции в отличие от своих коллег:

1. Реферальная программа. Поделитесь своей анонимной реферальной ссылкой и заработайте криптовалютные бонусы. За каждую транзакцию, проведенную по вашей ссылке, вы получаете 50% от сервисного сбора.

2. Программа вознаграждение за лояльность. Используйте свой анонимный код SmartClub при каждой операции смешивания, чтобы получить скидки на сервисный сбор. Чем больше вы смешиваете, тем больше вы экономите.

Принцип работы ресурса заключается в том, что BitMix biz собирает биткоины всех пользователей на один счет, миксует их, а затем возвращает биткоины своим клиентам.

Вы получаете ту же сумму (за исключением комиссии), уже отмытых биткоинов включающих в себя несколько из разных частей блокчейна. Что делает практически невозможным его анализ.

Так же миксер отправляет вам гарантийное письмо. Это гарантийное письмо является подтверждением обязательств BitMix biz и того что сервис сгенирировал для пользователя адрес для отправки. Данное письмо всегда подписывается с основного биткоин-аккаунта BitMix biz (публично доступного по адресу BitMix biz).

Миксер также предоставляет специальный код из 12 символов, который гарантирует вам что вы никогда не получите именно ваши отправленные биткоины ранее обратно. Сохраните этот код он понадобится для партнерской программы.

BitMix biz включает в себя партнерскую программу и платит пользователям, когда они приводят других пользователей на платформу. Вы будете получать плату за каждую транзакцию,приглашенным клиентом.

Надежная политика конфиденциальности BitMix biz подтверждается несколькими пунктами:

Не требует прохождения регистрации и подтверждения личности.

История биткоин операции утилизируются сразу после того как ваш ордер утратит свою актуальность. Функция рандомизации, в несколько раз затрудняет анализ блокчейна. Поддержка браузера Tor.

Принцип работы: вы переводите целую сумму счет ресурса и система Mixer Money делит ее на маленькие части и распределяет их на разные кошельки, смешивая их с маленькими частями других людей или с монетами взятыми на криптовалютной иностранной бирже, получаете вы их также мелкими частями на ваш кошелек уже очищенными. Данная процедура очень сильно затрудняет анализ блокчейна.

Особенности сервиса:

Главное отличие этого ресурса, в том что он включает в себя 2 режима: режим «миксер» и «полная анонимность».

Используется авто-удаление. В случае взлома ваши данные уже будут удалены к тому моменту.

В одном из режимов осуществляется получение очищенных монет через иностранные биржи криптовалют.. Используются гарантии с подписями PGP. Низкий и высокий минимальный и максимальный порог ввода от 0,001 BTC до 50 BTC.

Период для смешивания сравнительно небольшой – до 6 часов. Заметим, что есть сервисы, которые предлагают ждать 1-2 суток.

Данный ресурс не требует регистрации. Очистка осуществляется в автоматическом режиме.

Осуществляется шифрование данных. На время написания статьи Mixer Money – один из лучших сервисов по смешиванию BTC. Однозначно рекомендуем.

Bitcoin Laundry работает, устраняя связь между вашими старыми и нынешними адресами. Поскольку миксер ликвидирует любую связь между ними, ваши следы транзакций и ваша личность становится не отслеживаемой.

Главным преимуществом является маленькая комиссия. Bitcoin Laundry – это программа, которая работает по схеме донатов. Они не взимают нет комиссий за обслуживание, только сбор за транзакции в размере 0,0002 BTC на адрес выхода, при этом поддерживаются транзакции от 0,0005 до 38 BTC.

Можно выбрать 5 выводных адресов и ввести, какой процент от всей суммы пойдет на каждый адрес.

Включает в себя установленные в ручную или рандомные задержки выплат для каждого адреса, что ещё больше затрудняет отслеживание транзакции.

Bitcoin Laundry может похвастаться политикой «no log» после 7-дневного периода хранения, а также позволяет пользователям при желании вручную удалять истории транзакций всего за один клик.

Это надежный сервис, который с высоким уровнем анонимности.

Процесс занимает всего пару минут. Нужно выбрать одну из трех поддерживаемых монет (Bitcoin, Litecoin, Bitcoin Cash), ввести адрес вывода, установить временную задержку на любое время до 72 часов, перевести нужную сумму на указанный адрес и дождаться их доставки до пункта назначения.

Этот сайт в отличии от других три пула микширования. Можно перемешать биткоины пользователя: с зачисленными биткоинами других пользователей, частными резервами платформы и средствами инвесторов.

Сервис не требует регистрации.

Комиссия за смешивание не большая и взимается из комиссии за майнинг, что очень удобно.

Реферальная программа у SmartMixer одна из самых выгодных, во время первой операции по смешиванию вы получаете смарт-код, который потребуется для получения скидки на комиссию, эта скидка может достигать – 70%.

После каждой транзакции пользователь получает гарантийное письмо. Вся информация о ней ликвидируется через сутки, обеспечивая полную анонимность клиента.

Bitcoin Fog – это сервис смешивания монет, который позволяет скрыть ваши шаги прошлых транзакций.

В настоящее время в Bitcoin Fog действует минимальный порог вывода в 0,03500000 BTC, поэтому пользователям рекомендуется переводить больше, чем 0,03500000 BTC плюс комиссия, в противном случае вывести средства не получится.

Пользователю предоставляется установить 5 адресов выхода.

Если по какой-то причине, даже после задержки в два часа, баланс пользователя не обновится, то пользователь может обратиться в тех. поддержку для принятия мер.

У пользователей, которые были неактивны в течение нескольких дней, после посещения ресурса может пройти до 15 минут, прежде чем вы увидите непогашенные депозиты.

Журналы хранятся в течение 1 недели после этого они автоматически удаляются.

Сервис работает на специально выделенном сервере, который открыто подключается через интернет (при использовании Tor-браузера этого делать не нужно). Биткоин-миксер запускается на другой машине, вся подозрительная активность контролируется, и веб-сайт автоматически блокируется при любых признаках того, что он находится под атакой.

Принцип работы: в отличие от других биткон-тумблеров,эта платформа смешивает вашу криптовалюту с монетами купленной ими на криптовалютных биржах. MixTum io проверяет купленные монеты с помощью системы скоринга с инновационными алгоритмами и использованием таких технологий, как кластерный анализ, анализ объёма блокчейна анализ загрязнений и т. д. После этого вы получите свои монеты обратно, разделённые на случайные части, и даже отправленные по разным адресам, если это необходимо.

Весь процесс длится примерно 6 часов. Ресурсне требует регистрации и не хранит историю о транзакциях.

После каждой проведенной операции смешивания присылается гарантийное письмо, и информация о ней ликвидируется через 24 часа, обеспечивая полную анонимность. Тех. поддержка работает круглосуточно.

MixTum io получает фиксированную комиссию в 5% от транзакции, а также сетевой сбор в 0,00015 BTC. Программа имеет две версии – для обычных браузеров и Tor.

Cryptomixer биткоин-миксер один из немногихон позволяет проводить транзакции большого объёма.

Минимальный размер операции смешивания – 0,001 BTC, любая сумма ниже этого уровня считается пожертвованием и не отправляется обратно клиенту, максимальный лимит транзакций не установлен.

Минимальная комиссия – 0,5% с дополнительным сбором 0,0005 BTC за каждую операцию по вводу средств.

Во время операции смешивания вы получите гарантийное письмо, как во всех всех упомянутых ранее миксеров.

Grams Helix работает в Darknet и является одним из самых популярных биткоин-тумблеров.

Даный ресурс применяет новою схему смешивания, он не просто чистит ваши средства, вы получаете совершенно новые монеты, которые никогда не были в «тёмной сети».

Весь процесс смешивания занимает всего около 4 часов. Чтобы использовать миксер Helix в базовой версии Grams, нужно пройти регистрацию, в версиях Helix Light и Helix Market этого не требуется. Если вы все таки решили пользоваться версией Grams, то нужно оплатить вступительный взнос 0,01 BTC.

В Helix есть дополнительная функция (Auto-Helix), которая позволяет указать, с какими адресами будут смешиваться ваши биткоины, когда они зачислятся на счёт. Helix так же применят политику «no log», все транзакции удаляются автоматически через 7 дней или пользователем сразу после поступления средств на адрес.

У Helix есть собственный сервер, не подключенный к Grams. Ряд пользовательских программ Bitcoin, которые он использует, распологаются на совершенно отдельном от Helix и Grams сервере. Даже если Grams подвергнется атаке или окажется скомпрометирован, это не отразится на работе Helix.

Эта платформа может использоваться не только как тумблер, но и как своппер, то есть, вы можете очистить свои монеты и изменить валюту на другую при выводе, что ещё больше увеличивает анонимность.

Как биткоин-миксер, эта площадка позволяет вам устанавливать пользовательскую комиссию: чем выше комиссия, тем лучше конфиденциальность. Есть также функция задержки времени, которая повышает уровень анонимности, задерживая вывод на целые сутки.

Данный ресурс обладает большими запасами монет, поэтому ваши транзакции совершаются очень быстро, как только приходит подтверждение о переводе монет, если только вы не установите задержки транзакций.

Минимальный депозит 0,01 BTC на транзакцию. Любая меньшая сумма тоже принимается, но считается “пожертвованием” и не возвращается пользователям PrivCoin io.

Ресурс не ведет логи, удаляя сведения об операциях через сутки.

BitBlender будет надежным и простым в использовании. Он существует очень давно и, вероятно, считается одним из самых популярных миксеров в даркнете.

BitBlender взимает рандомизированную комиссию в 1-3%, плюс вы можете отправлять BTC на 10 различных адресов для повышенной конфиденциальности. Из-за рандомизации выводные суммы транзакции оказываются непредсказуемыми, что опять же повышает анонимность.

BitBlender предусматривает регистрацию, чтобы использовать полный набор инструментов, но если вы не не хотите создавать учетную запись, то этот сервис предоставляет режим «быстрого смешивания».

При использовании функции быстрого смешивания вам пришлют код, который определяет каждую транзакцию, чтобы обеспечить гарантию на то, что вы не получите отправленные ранее монеты обратно.

BitBlender предоставляет два дополнительных инструменты. Автоматический вывод средств (Auto-Withdrawal) и – быстрый вывод средств (Quick-Withdraw). Auto-Withdrawal значительно уменьшит время работы, если вам приходится регулярно чистить монеты.

Quick Mix станет полезен тем кто не хочет создавать учётную запись.

BTC Blender делает процесс стирки монет очень простым и удобным для клиента.

В данным ресурсе нужно одно подтверждение транзакции, после чего выводятся свежие очищенные биткоины на указанный кошелёк. Пользователи также имеют возможность контролировать задержки для обработки своих транзакций.

Это оффшорная компания, и её площадки тоже находятся в оффшорах. Это обеспечивает пользователям дополнительное спокойствие и уверенность в том, что их данные строго конфиденциальны. Кроме того, после подтверждения транзакции пользователям высылается уникальная ссылка “удалить журналы”, предоставляющая пользователям возможность удалить свои журналы вручную.

BTC Blender взимает комиссию в размере 0,5%. Это делает BTC Blender лучшим вариантом для пользователей, смешивающих большие объёмы биткоинов.

Как в Google Chrome дать ссылку на конкретную часть страницы

Google Chrome – не самый очевидный выбор для пользователей экосистемы Apple. Мало того, что он довольно ресурсоёмок, так ещё и не очень-то безопасен – по крайней мере, в сравнении с Safari. Другое дело, что по части функциональных возможностей у Chrome всегда всё было в полном порядке. Несмотря на то что Google не обновляла iOS-версию своего браузера с конца прошлого года, последний апдейт за номером 90 добавил Chrome очень полезную функцию, которая позволяет давать ссылку на конкретный фрагменты страницы в любой её части.

Chrome научился давать ссылки на конкретные фрагменты текста. Правда, не весь

Google: Chrome перестал жрать оперативку на Mac и нагревать процессор

На самом деле у пользователей десктопной версии Chrome и раньше была такая возможность. Мы даже посвящали ей отдельную статью. Однако для того, чтобы дать ссылку на конкретную часть страницы, пользователям приходилось задействовать стороннее расширение, потому что по умолчанию Chrome сделать этого не позволял. Соответственно, задействовать такой механизм на мобильных устройствах было нельзя.

Как сделать ссылку на конкретное место страницы

Но с выходом последнего обновления стало можно. Ну, частично:

Включить функцию можно только в меню флагов

  • В открывшемся окне найдите параметр Enabled Shared Highlighting features;
  • В выпадающем меню напротив выберите значение Enabled;
  • Выгрузите Chrome из меню многозадачности и запустите снова;

Ссылку на конкретный фрагмент текста можно открыть только в Chrome

  • Теперь откройте сайт с текстом, выделите фрагмент и в контекстном меню выберите «Ссылка на текст»;
  • Отправьте ссылку на выделенный фрагмент любым удобным способом.

Аналогичным образом функцию создания ссылок на фрагменты текста можно включить в десктопной версии Chrome. Правда, там она почему-то называется более просто – Link to text.

Важное уточнение: в мобильной версии нововведение работает как-то однобоко. Вы можете создать ссылку на конкретный фрагмент текста, вы можете его даже отправить своему собеседнику через мессенджер, приложение социальной сети или по почте. Вот только переход по ней с мобильного устройства на iOS – будь то iPhone или iPad – ничего не даст.

Не работает ссылка на фрагмент текста. Что делать

В Chrome на Mac ссылки можно и создавать, и переходить по ним

Однако, стоит кликнуть по ссылке с компьютера с установленным Google Chrome или со смартфона на Android, всё получится. И в том, и в другом случае браузер – разумеется, при условии, что он обновлён до актуальной версии и у него включен соответствующий параметр в меню флагов – отправит вас к тому самому фрагменту текста, на который и была создана ссылка. Короче, чудеса.

Если всё сработало, переход по ссылке перенесёт вас к нужной чата текста, которая будет выделена жёлтым. У меня это работает только в Chrome на Mac и на Android

Я проверял работу нововведения на всех своих устройствах с iOS, но ни одно из них не смогло открыть ссылку и перенести меня к выделенному фрагменту текста. Каждый раз сайт открывался в самом начале, как если бы я просто переходил по URL из поисковика. Возможно, неполадки связаны с тем, что функция ещё находится в стадии бета-тестирования, а потому скрыта в меню флагов.

Google, что за трэш? Почему не стоит пользоваться Chrome на iOS

Тем не менее, вы можете пользоваться новой функцией создания ссылок на конкретные части текста в одни ворота. Например, если вас просят сослаться на точный фрагмент, и вы знаете, что собеседник пользуется десктопной версией Chrome или Chrome для Android, вы вполне сможете это сделать и не ударите в грязь лицом. Главное – помните, что пытаться попасть к выделенному фрагменту из другого браузера, кроме Chrome (и ещё Edge), у вас не получится.

Ссылки — Yandex Wiki. Справка

Для оформления ссылок используйте разметку:

[текст ссылки](адрес)

Например:

РазметкаРезультат
[Яндекс](https://yandex.ru)
Яндекс

Если вы вставите в текст страницы адрес без элементов разметки, он будет преобразован в ссылку:

Чтобы ссылаться на Вики-страницы, вместо полного адреса страницы или раздела вы можете указывать относительный адрес.

Ссылка на страницу
  • Укажите адрес относительно главной страницы Yandex Wiki. Перед адресом добавьте символ /.

    Куда ведет ссылкаРазметка

    wiki. yandex.ru/users/oleg/notes

    [Заметки Олега](/users/oleg/notes)
  • Укажите адрес относительно родителя той страницы, на которой вы размещаете ссылку. Не добавляйте перед адресом символ /.

    Адреса страницРазметка

    Откуда ссылка: wiki.yandex.ru/users/ivan/newpage

    Куда ведет ссылка: wiki.yandex.ru/users/ivan/notes

    [Заметки Ивана](notes)

    Откуда ссылка: wiki. yandex.ru/users/ivan/notes/note1

    Куда ведет ссылка: wiki.yandex.ru/users/oleg/notes

    [Заметки Олега](../../oleg/notes)
Ссылка на раздел

Для каждого заголовка на странице автоматически создается якорь — идентификатор раздела. Якоря используются для прямых ссылок на разделы страницы.

Якорь формируется из названия раздела. Например, разделу Мой раздел будет назначен якорь m-mojjrazdel.

Чтобы вставить ссылку на раздел, добавьте якорь к адресу страницы через символ #:

[текст ссылки](/адрес-страницы/#m-mojjrazdel)

Чтобы узнать значение якоря раздела:

  1. Наведите указатель на заголовок раздела и нажмите символ §, который появится справа от заголовка.

  2. Скопируйте адрес раздела из адресной строки браузера.

Якорь будет указан в конце адреса после символа #.

Ссылка на произвольное место страницы

В любом месте страницы вы можете создать якорь — идентификатор, который можно использовать для прямой ссылки на это место. Чтобы задать якорь, используйте динамический блок {{anchor}}:

{{anchor name="my-anchor"}}

Чтобы вставить ссылку на такой якорь, добавьте его к адресу страницы через символ #:

[текст ссылки](http://адрес-страницы/#my-anchor)

Если вы вставите в текст ссылку на изображение без элементов разметки, на странице отобразится само изображение.

Чтобы вставить ссылку на изображение, используйте обычную разметку ссылки:

[текст ссылки](адрес изображения)

Вы можете сделать изображение ссылкой, чтобы при нажатии на изображение открывалась страница или файл. Для этого в элемент разметки ссылки вместо текста вставьте изображение:

[![Альтернативный текст](адрес изображения)](адрес ссылки)
РазметкаРезультат
[![Лого](http://img.yandex.net/i/logo95x37x8.png)](https://yandex.ru)

Чтобы добавить ссылку на почтовый адрес:

РазметкаРезультат
<mail@example. com>
[Почта Олега](mailto:[email protected])

Как вставить ссылку отписки {{UnsubscribeUrl}} в UniSender

У подписчиков должна быть возможность отказаться от рассылок в любое время. Для этого во все письма добавляют ссылку отписки. Получатели, которые не находят ссылку отписки, обычно отправляют письмо в спам, а это плохо влияет на репутацию отправителя. Кроме того, ссылка отписки — это обязательное требование к рассылкам со стороны почтовых провайдеров.

UniSender автоматически добавляет ссылку отписки к каждому письму

Если хотите изменить текст такой ссылки, прочитайте статью «Изменение текста ссылки отписки».

Также вы можете разместить ссылку отписки внутри письма. Например, так:

Расскажем, как это сделать.

 

Посмотрите видео о том, как изменить стандартную ссылку отписки.

В блочном конструкторе

Создайте рассылку в блочном конструкторе.

Выделите текст, который нужно сделать ссылкой, и нажмите на панели инструментов «Insert/Edit link».

В поле «URL» введите {{UnsubscribeUrl}}.

Так выглядит добавленная ссылка.

Совет

Чтобы не копировать подстановку из других источников или не прописывать её вручную, используйте инструмент «Подстановки».

В списке выберите «Ссылка отписки».

Затем вырежьте подстановку и вставьте ее вместо ссылки.

В HTML-редакторе

Выделите текст, который нужно сделать ссылкой отписки.

На панели инструментов кликните на «Вставить/редактировать ссылку» или нажмите горячие клавиши Ctrl+L.

Откроется окно с параметрами ссылки. Выберите протокол «Другой», а вместо ссылки вставьте {{UnsubscribeUrl}}.

Добавленная ссылка отписки выглядит так.

Совет

Чтобы не копировать подстановку из других источников или не прописывать вручную, найдите её в редакторе. На панели инструментов в разделе «Дополнительные поля» выберите «Ссылка отписки».

Затем вырежьте подстановку и вставьте вместо ссылки.

В ваш HTML-код

Если вы верстаете письма не в UniSender, а в другом сервисе или редакторе, добавьте подстановку в код вместо ссылки. В тег <a></a> в значение атрибута href вставьте {{UnsubscribeUrl}}.

Пример:

<a href=»{{UnsubscribeUrl}}»>Отписаться от рассылки</a>

 

Чтобы ссылка работала корректно, внутри значения href в кавычках «» и внутри самой подстановки в фигурных скобках {{}} нельзя вставлять никакие другие символы, кроме самой подстановки {{UnsubscribeUrl}}.

Смотреть видео Как настроить ссылку на отписку от рассылки в UniSender

Полезные ссылки

Изменение текста ссылки отписки
Как настроить отписку, чтобы не терять подписчиков
Отписка от рассылки: как уважать подписчиков и не попадать в спам

Гиперссылки в документах HTML

Гиперссылки в документах HTML

 

HTML предлагает большое количество согласованных публичных идиом для создания сложных структурированных документов, но что отличает его от большинства других языков разметки, так это богатые возможности гипертекста и интерактивные документы.
В этом разделе вводится понятие ссылки (или гиперссылки, ссылки Web), базовой конструкции гипертекста. Ссылка это соединение одного Web-ресурса с другим. Несмотря на простоту концепции, ссылка является одной из фундаментальных сил, приведших к успешному развитию Web.

Ссылка имеет два конца — называемых якорями — и направление. Ссылка начинается от якоря «источника» и указывает на якорь «назначения», который может быть любым ресурсом Web (напр., изображением, видеоклипом, аудиофрагментом, программой, документом HTML, элементом в документе HTML и т.д.).

12.1.1  «Посещение» связанного ресурса

Акцией по умолчанию, ассоциированной со ссылкой, является запрос другого ресурса Web. Такое действие является обычным и неявно подразумевается при выборе гиперссылки (напр., щелчком на ней мышью, вводом с клавиатуры и т.д.).

Следующий отрывок HTML содержит две ссылки, якорь одной из которых указывает на документ HTML с названием «chapter2.html», а якорь другой — на GIF-изображение в файле «forest.gif»:

<BODY>
...текст...
<P>Вы найдёте многое на  <A href="chapter2.html">chapter two</A>. 
См. также здесь <A href="../images/forest.gif">карту леса.</A>
</BODY>

Активировав эту ссылку (щелчком мыши, вводом с клавиатуры, голосовой командой и т.п.), пользователь может посетить этот ресурс. Заметьте, что атрибут href в каждом якоре специфицирует адрес якоря назначения с применением URI.

Якорь назначения для гиперссылки может быть элементом в документе HTML. Якорю назначения должно быть дано имя, и любой URI, адресующий этот якорь, должен включать это имя как идентификатор фрагмента.

Якоря назначения в документах HTML могут быть специфицированы  элементом A (атрибутом name)  или любым другим элементом (атрибутом id).

Так, например, автор может создать оглавление, вхождения которого связаны с элементами h3, h4  и т.д. в этом же документе. Используя элемент A для создания якоря назначения, мы могли бы написать:

<h2>Оглавление</h2>
<P><A href="#section1">Введение</A><BR>
<A href="#section2">Фон</A><BR>
<A href="#section2.1">Несколько заметок</A><BR>
...остальная часть оглавления...
...тело документа...
<h3><A name="section1">Введение</A></h3>
...раздел 1...
<h3><A name="section2">Фон</A></h3>
...раздел 2...
<h4><A name="section2.1">Несколько заметок</A></h4>
...раздел 2.1...

Того же эффекта можно достичь, сделав элементы-заголовки якорями:

<h2>Оглавление</h2>
<P><A href="#section1">Введение</A><BR>
<A href="#section2">Фон</A><BR>
<A href="#section2.1">Несколько заметок</A><BR>
...остальная часть оглавления...
...тело документа...
<h3>Introduction</h3>
...раздел 1...
<h3>Фон</h3>
...раздел 2...
<h4>Несколько заметок</h4>
...раздел 2.1...

12.1.2  Другие соотношения гиперссылок

Чаще всего гиперссылки используются для запроса другого ресурса Web, как в предыдущих примерах. Однако, авторы могут включать в свои документы гиперссылки, которые не только выполняют действия типа «активировать эту ссылку для посещения соответствующего ресурса». Гиперссылки, выражающие соотношения других типов, имеют тот или иной тип ссылок, специфицированный в якоре этого ресурса.

Роли гиперссылки, определяемые A или LINK, установлены атрибутами rel и rev.

Например, ссылки, определённые элементом LINK, могут описывать позицию документа в серии документов. В следующем отрывке гиперссылки в документе, озаглавленном «Chapter 5», указывают на следующую и предыдущую главы:

<HEAD>
...другая информация "шапки"...
<TITLE>Chapter 5</TITLE>
<LINK rel="prev" href="chapter4.html">
<LINK rel="next" href="chapter6.html">
</HEAD>

Тип первой ссылки  — «prev», а второй — «next» (два из нескольких распознаваемых типов ссылок). Гиперссылки, специфицированные в LINK, не рассматриваются как содержимое документов, хотя ПА могут отображать их другими способами (напр., утилитами навигации).

Даже если они не используются для навигации, эти гиперссылки могут интерпретироваться интересными способами. Например, ПА, печатающий серию документов HTML как единый документ, может использовать информацию этих ссылок как базис связного линеарного документа. Ниже дана информация о гиперссылках для использования возможностей поисковых машин.

12.1.3  Спецификация якорей и гиперссылок

Хотя гиперссылки на другие ресурсы создаются разными элементами и атрибутами (напр., элемент IMG, элемент FORM и т.д.), в этом разделе рассматриваются гиперссылки и якоря, создаваемые элементами LINK и A.
Элемент LINK может появляться только в «шапке» документа.
Элемент A может появляться только в теле документа.

Если в элементе A установлен атрибут href, этот элемент определяет якорь-источник гиперссылки, который может быть активирован пользователем для запроса Web-ресурса. Якорь источника это размещение объекта A, а якорь назначения — это ресурс Web.

Запрошенный ресурс может быть обработан ПА различными способами:

  • открытие нового документа HTML в том же окне ПА,
  • открытие нового документа HTML в другом окне,
  • запуск другой программы для обработки ресурса и т.д.

Поскольку элемент A имеет содержимое (текст, изображения и т.п.), ПА могут обозначить наличие этого содержимого, например, подчёркиванием гиперссылки.

Если атрибуты name или id элемента A установлены, данный элемент определяет якорь, который может служить якорем назначения других гиперссылок.

Авторы могут установить атрибуты name и href одновременно в одном и том же A.

Элемент LINK определяет взаимоотношение между текущим документом и другим ресурсом. Хотя LINK не имеет содержимого, взаимоотношения, определяемые им, могут воспроизводиться некоторыми ПА.

12.1.4   Заголовки гиперссылок

Атрибут title может быть установлен элементами A и LINK для добавления информации о ссылке. Эта информация может произноситься ПА, может быть показана как подсказка, вызывать изменение вида курсора и т.д.

Таким образом, мы можем расширить предыдущий пример, добавив заголовок к каждой ссылке:

<BODY>
...текст...
<P>Вы найдёте многое на <A href="chapter2.html"
       title="Go to chapter two">chapter two</A>.
<A href="./chapter2.html"
       title="Get chapter two.">chapter two</A>. 
См. также здесь <A href="../images/forest.gif"
       title="GIF image of enchanted forest">карту леса.</A>
</BODY>

12.1.5  Интернационализация и гиперссылки

Поскольку гиперссылки могут указывать на документ, имеющий другой набор символов, элементы A и LINK поддерживают атрибут charset. Этот атрибут даёт авторам возможность уведомлять ПА о кодировке, дате и других данных.

Атрибут hreflang снабжает ПА информацией о языке ресурса гиперссылки так же, как атрибут lang даёт информацию о языке содержимого элемента или значениях атрибутов.

Вооружённые новыми данными, ПА должны исключить показ пользователю различного «мусора». Вместо этого они могут или указать на ресурсы, необходимые для корректного воспроизведения документа, или, при невозможности размещения ресурса, как минимум предупредить пользователя о том, что документ не будет прочитан и указать причину.

12.2  Элемент 

A
<!ELEMENT A - - (%inline;)* -(A)       -- якорь -->
<!ATTLIST A
  %attrs;                              -- %coreattrs, %i18n, %events --
  charset     %Charset;      #ПРЕДПОЛАГАЕТСЯ  -- набор символов связанного ресурса --
  type        %ContentType;  #ПРЕДПОЛАГАЕТСЯ  -- информативный тип содержимого --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- имя целевой ссылки --
  href        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- URI связанного ресурса --
  hreflang    %LanguageCode; #ПРЕДПОЛАГАЕТСЯ  -- код языка --
  rel         %LinkTypes;    #ПРЕДПОЛАГАЕТСЯ  -- типы ссылок вперёд --
  rev         %LinkTypes;    #ПРЕДПОЛАГАЕТСЯ  -- типы ссылок назад --
  accesskey   %Character;    #ПРЕДПОЛАГАЕТСЯ  -- символ быстрого доступа --
  shape       %Shape;        rect             -- для использования с клиентскими картами --
  coords      %Coords;       #IПРЕДПОЛАГАЕТСЯ  -- для использования с клиентскими картами --
  tabindex    NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- позиция в порядке табуляции --
  onfocus     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент получил фокус --
  onblur      %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент потерял фокус --
  >

Конечный тег: необходим, Конечный тег: необходим

Определения атрибутов

name = cdata [CS]
Этот атрибут именует текущий якорь, который может стать якорем назначения  для другой гиперссылки. Значением этого атрибута должно быть уникальное имя якоря. Областью видимости этого имени является текущий документ. Обратите внимание, что этот атрибут использует то же пространство имён, что и атрибут id.
href = uri [CT]
Определяет размещение ресурса Web, определяя таким образом ссылку с текущего элемента (якоря-источника) на якорь назначения, определённый этим атрибутом.
hreflang = langcode [CI]
Определяет базовый язык ресурса, обозначенного в href, и может использоваться, только если href определён.
type = content-type [CI]
Определяет уведомляющую подсказку, к примеру, о типе содержимого, находящегося по целевому адресу гиперссылки. Она позволяет ПА решить, использовать ли fallback-механизм, или получить содержимое, получив предупреждение о том, что это содержимое имеет тип, не поддерживаемый ПА.
Авторы, используя этот атрибут, несут ответственность за обслуживание риска наличия несоответствия  с реальным содержимым, находящимся на конечном адресе гиперссылки.
Текущий список зарегистрированных типов содержимого см. в [MIMETYPES].
rel = типы ссылок [CI]
Описывает соотношение между текущим документом и якорем, определённым атрибутом href. Значением этого атрибута является список разделённых пробелами типов ссылок.
rev = типы ссылок [CI]
Этот атрибут используется для описания ссылки возврата от якоря, специфицированного атрибутом href, к текущему документу. Значением этого атрибута является разделённый пробелами список типов ссылок.
charset = charset [CI]
Определяет набор символов ресурса, на который указывает гиперссылка. См. детали в разделе кодировка символов.

Атрибуты, определённые в другом месте

  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • shape и coords (карты изображений)
  • onfocus, onblur, onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • target (целевой фрэйм)
  • tabindex (навигация табуляцией)
  • accesskey (символ быстрого доступа)

Каждый элемент A определяет якорь:

  1. Содержимое элемента A определяет местонахождение якоря.
  2. Атрибут name именует якорь так, что он может быть якорем назначения 0 или более ссылок (см. также якоря с атрибутом  id).
  3. Атрибут href делает этот якорь источником одной конкретной гиперссылки.

Авторы могут также создать элемент A, который не специфицирует никаких якорей, т.е. не специфицирует href, name или id. Значения этих атрибутов могут быть установлены позже с помощью скриптов.

В следующем примере элемент A определяет гиперссылку. Якорь-источник — это текст «W3C Web site», а якорь-назначение — это «http://www.w3.org/»:

Дополнительную информацию о W3C см. на  
<A href="http://www.w3.org/">W3C Web сайте</A>.

Эта гиперссылка указывает на домашнюю страницу World Wide Web Consortium. Если пользователь активирует эту гиперссылку в ПА, ПА запросит соответствующий ресурс, в данном случае — документ HTML.

ПА обычно отображают гиперссылки так, чтобы сделать их явно видимыми для пользователя (подчёркиванием, обратной прокруткой видео и т.п.). Конкретный вариант зависит от ПА. Вид может зависеть от того, посетил ли уже пользователь ссылку или нет. Предыдущая ссылка может выглядеть так

Дополнительную информацию о W3C см. на W3C Web сайте.

Чтобы явно указать ПА набор символов страницы назначения, установите значение атрибута charset:

Дополнительную информацию о W3C см. на 
<A href="http://www.w3.org/" charset="ISO-8859-1">W3C Web сайте</A> 

Предположим, мы определили якорь «anchor-one» в файле «one.html».

...текст перед якорем...
<A name="anchor-one">This is the location of anchor one.</A>
...текст после якоря...

Так создаётся якорь вокруг текста «This is the location of anchor one.». Обычно содержимое A не отображается, если A определяет только якорь.

Определив якорь, мы можем ссылаться на него из этого же или другого документа.
URI, обозначающие якорь, содержат символ «#» и следующее за ним имя якоря (идентификатор фрагмента). Вот несколько примеров таких URI:

  • Абсолютный URI: http://www.mycompany.com/one.html#anchor-one
  • Относительный URI: ./one.html#anchor-one or one.html#anchor-one
  • Если ссылка определена в том же документе, где определён якорь: #anchor-one

Таким образом, гиперссылка, определённая в файле «two.html» в той же директории, что и «one.html», будет ссылаться на якорь так:

...текст перед ссылкой...
Дополнительную информацию см. на <A href="./one.html#anchor-one"> anchor one</A>.
...текст после ссылки...

Элемент A в следующем примере определяет гиперссылку (с помощью href) и одновременно создаёт именованный якорь (с помощью name):

I just returned from vacation! Here's a
<A name="anchor-two"  href="http://www.somecompany.com/People/Ian/vacation/family.png">
photo of my family at the lake.</A>.

Этот пример содержит ссылку на Web-ресурс другого типа (изображение PNG). Активация гиперссылки должна вызвать получение ресурса из Web (и, возможно, отображение его, если система сконфигурирована соответствующим образом).

Примечание. ПА должны уметь находить якоря, созданные пустыми элементами A, но некоторые ПА не делают этого. Например, некоторые ПА могут не обнаруживать «empty-anchor» в следующем фрагменте HTML:

<A name="empty-anchor"></A>
<EM>...some HTML...</EM>
<A href="#empty-anchor">Link to empty anchor</A>

12.2.1  Синтаксис имён якорей

Имя якоря — это значение атрибута name или id, когда используется в контексте якорей. Имена якорей должны соблюдать следующие правила:

Таким образом, следующий пример корректен в отношении совпадения строк и должен рассматриваться ПА как совпадение:

<P><A href="#xxx">...</A>
...документ...
<P><A name="xxx">...</A>

 НЕВЕРНОЕ ИСПОЛЬЗОВАНИЕ:
Это пример неверного использования имён, поскольку имена одинаковы и различаются только регистром:

<P><A name="xxx">...</A>
<P><A name="XXX">...</A>

Хотя следующий отрывок HTML верен, поведение ПА в этом случае не определено; некоторые ПА могут  (некорректно) рассматривать это как совпадение, а другие — нет.

<P><A href="#xxx">...</A>
...документ...
<P><A name="XXX">...</A>

Имена якорей должны быть указаны в символах ASCII. См. в приложении дополнительную информацию о не-ASCII символах в значениях атрибутов URI.

12.2.2  Вложение ссылок не допускается

Ссылки и якоря, определённые элементом A, не могут вкладываться; элемент A не должен содержать других элементов A.

Поскольку ОТД определяет элемент LINK как пустой, элементы LINK также не могут вкладываться.

12.2.3 Якоря с атрибутом 

id

Атрибут id может использоваться для создания якоря в начальном теге любого элемента (включая элемент A).

Этот пример иллюстрирует использование атрибута id для размещения якоря в элементе h3. Якорь связан посредством элемента A.

Об этом Вы можете узнать больше в <A href="#section2">Section Two</A>.
...позже в документе
<h3>Раздел 2</h3>
...позже в документе
<P>Смотрите <A href="#section2">Раздел 2</A> выше по тексту.

В следующем примере якорь назначения именован с помощью атрибута id:

I just returned from vacation! Here's a
<A>photo of my family at the lake.</A>.

Атрибуты id и name используют общее пространство имён. Это означает, что они не могут одновременно определять якорь с одним именем в одном и том же документе. Допускается использовать оба атрибута для определения уникальных идентификаторов следующих элементов: A, APPLET, FORM, FRAME, IFRAME, IMG и MAP. Если оба атрибута использованы в одном элементе, их значения должны быть идентичны.

ПРИМЕР НЕПРАВИЛЬНОГО ИСПОЛЬЗОВАНИЯ:
Следующий отрывок HTML неверен, поскольку эти атрибуты объявляют одно имя дважды в одном документе:

<A href="#a1">...</A>
...
<h2>
...страницы документа...
<A name="a1"></A>

Следующий пример показывает, что id и name должны быть идентичными, если оба появляются в начальном теге элемента:

<P><A name="a1" href="#a1">...</A>

В соответствии со своей спецификацией в ОТД HTML, атрибут name может содержать символьные мнемоники. Так, значение D&#xfc;rst является верным значением атрибута name, как и D&uuml;rst. Атрибут id, однако, не может содержать символьных мнемоник.

Использовать id или name? Авторы должны учитывать следующие обстоятельства при решении вопроса использования для именования якоря id или name:

  • Атрибут id может действовать не только как имя якоря (напр., селектор таблиц стилей, идентификатор процесса и т.д.).
  • некоторые старые ПА не поддерживают якоря, созданные атрибутом id.
  • Атрибут name допускает расширенные имена якорей (с мнемониками).

12.2.4  Недоступные и неидентифицируемые ресурсы

Ссылка не недоступный или неидентифицируемый ресурс является ошибкой. Хотя ПА могут по разному обрабатывать такие ошибки, мы рекомендуем следующее поведение ПА:

  • Если ПА не может обнаружить связанный ресурс, он должен предупредить пользователя.
  • Если ПА не может идентифицировать тип связанного ресурса, он должен попытаться обработать его. Он должен предупредить пользователя и может дать ему (пользователю) возможность доступа для идентификации типа документа.


12.3  Взаимосвязи документов: элемент  LINK
<!ELEMENT LINK - O EMPTY               -- медиа-независимая ссылка -->
<!ATTLIST LINK
  %attrs;                              -- %coreattrs, %i18n, %events --
  charset     %Charset;      #ПРЕДПОЛАГАЕТСЯ  -- набор символов связанного ресурса --
  href        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- URI связанного ресурса --
  hreflang    %LanguageCode; #ПРЕДПОЛАГАЕТСЯ  -- код языка --
  type        %ContentType;  #ПРЕДПОЛАГАЕТСЯ  -- информативный тип содержимого --
  rel         %LinkTypes;    #ПРЕДПОЛАГАЕТСЯ  -- типы ссылок вперёд --
  rev         %LinkTypes;    #ПРЕДПОЛАГАЕТСЯ  -- типы ссылок назад --
  media       %MediaDesc;    #ПРЕДПОЛАГАЕТСЯ  -- для представления на данном носителе --
  >

Начальный тег: необходим, Конечный тег: запрещён

Атрибуты, определённые в другом месте

  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (название элемента)
  • style (инлайн-стиль)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • href, hreflang, type, rel, rev (ссылки и якоря)
  • target (целевой фрэйм)
  • media (стиль «шапки»)
  • charset(набор символов документа)

Этот элемент определяет ссылку. В отличие от A, он может появляться только в разделе HEAD — «шапки» документа, хотя и может появляться любое количество раз. Хотя LINK не имеет содержимого, он выражает информацию о взаимоотношениях, которая может отображаться ПА различными способами (напр., панель с выпадающим меню со ссылками).

Этот пример показывает, как различные определения LINK могут появляться в разделе HEAD документа. Текущий документ — «Chapter2.html». Атрибут rel специфицирует соотношение связанного документа с текущим. Значения «Index», «Next» и «Prev» разъясняются в разделе типы ссылок.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
  <TITLE>Chapter 2</TITLE>
  <LINK rel="Index" href="../index.htm">
  <LINK rel="Next"  href="Chapter3.html">
  <LINK rel="Prev"  href="Chapter1.html">
</HEAD>
...оставшаяся часть документа...

12.3.1  Гиперссылки вперёд и назад

Атрибуты rel и rev дополнительно могут:  атрибут rel — определять ссылки вперёд, а атрибут rev — ссылки назад.

Рассмотрим два документа — A и B.

Document A:       <LINK href="docB" rel="foo">

имеет то же значение, что и:

Document B:       <LINK href="docA" rev="foo">

Оба атрибута могут быть определены одновременно.

12.3.2  Гиперссылки и внешние таблицы стилей

Если элемент LINK связывает внешнюю таблицу стилей с документом, то атрибут type определяет язык таблицы стилей, а атрибут media определяет соответствующие носители представления. ПА могут сэкономить время, запрашивая из сети только те таблицы стилей, которые применимы к текущему устройству.

Типы носителя рассматриваются в разделе о таблицах стилей.

12.3.3  Гиперссылки и машины поиска

Авторы могут использовать элемент LINK для предоставления поисковым машинам различной информации, в том числе:

  • для ссылок на альтернативные версии документа на других языках;
  • для ссылок на альтернативные версии документа, разработанные для других носителей, Например, специальные версии для печати документов;
  • для ссылок на начальную страницу коллекции документов.

Ниже пример иллюстрирует, как информация о языке, типах носителя и типах ссылок может быть объединена для упрощения обработки документа поисковой машиной.

Здесь мы используем атрибут hreflang, чтобы сообщить поисковой машине, где найти датскую, португальскую и арабскую версии документа. Обратите внимание на использование атрибута charset для арабского варианта учебника. Отметьте также использование атрибута lang для указания на то, что значение атрибута title элемента LINK, указывающего на французский учебник, — французский.

<HEAD>
<TITLE>Учебник на английском</TITLE>
<LINK title="Учебник на датском"
      type="text/html"
      rel="alternate" hreflang="nl"  href="http://someplace.com/manual/dutch.html">
<LINK title="Учебник на португальском"
      type="text/html"
      rel="alternate" hreflang="pt"  href="http://someplace.com/manual/portuguese.html">
<LINK title="Учебник на арабском"
      type="text/html"
      rel="alternate"
      charset="ISO-8859-6"
      hreflang="ar"
      href="http://someplace.com/manual/arabic.html">
<LINK lang="fr" title="La documentation en Fran&ccedil;ais"
      type="text/html"
      rel="alternate"
      hreflang="fr"
      href="http://someplace.com/manual/french.html">
</HEAD>

В следующем примере мы сообщаем поисковой машине, где искать версию для печати:

<HEAD>
<TITLE>Справочник</TITLE>
<LINK media="print" title="Справочник в postscript"
      type="application/postscript"
      rel="alternate" href="http://someplace.com/manual/postscript.ps">
</HEAD>

В следующем примере мы сообщаем поисковой машине, где искать начальную страницу коллекции документов:

<HEAD>
<TITLE>Справочник -- Страница 5</TITLE>
<LINK rel="Start" title="Первая страница"
      type="text/html" href="http://someplace.com/manual/start.html">
</HEAD>

Дополнительная информация находится в примечаниях: помощь поисковым машинам в индексации Вашего Web-сайта.


12.4  Информация пути: элемент  BASE
<!ELEMENT BASE - O EMPTY               -- базовый URI документа -->
<!ATTLIST BASE
  href        %URI;          #НЕОБХОДИМ -- URI, действующий как базовый URI --
  >

Начальный тег: необходим, Конечный тег: запрещён

Определение атрибута

href = uri [CT]
Этот атрибут определяет абсолютный URI, действующий как базовый URI для разрешения (расширения) относительных URI.

Атрибут, определённый в другом месте

В HTML гиперссылки и ссылки на внешние изображения, аплеты, программы обработки форм, таблицы стилей и т.д. всегда специфицируются в URI. Относительные URI разрешаются (расширяются) в соответствии с базовым URI, который может поступать из различных источников. Элемент BASE позволяет авторам явно указать базовый URI.

При наличии, элемент BASE должен появляться в разделе HEAD документа HTML перед любым элементом, ссылающимся на внешний ресурс. Специфицированная элементом BASE информация о пути действует только на URI в том документе, где элемент BASEпоявляется.

Например, при объявлении следующих BASE и A:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
 <HEAD>
   <TITLE>Наши Продукты</TITLE>
   <BASE href="http://www.aviary.com/products/intro.html">
 </HEAD>

 <BODY>
   <P>Вы видели наши <A href="../cages/birds.gif">Клетки для Птиц</A>?
 </BODY>
</HTML>

относительный URI «../cages/birds.gif» будет расширен до:

http://www.aviary.com/cages/birds.gif

12.4.1  Расширение относительных URI

ПА должны вычислять базовый URI для расширения относительных URI в соответствии с [RFC1808], раздел 3.
Ниже объясняется, как [RFC1808] применяется в специфике HTML.

ПА должны высчитывать базовый URI в такой последовательности (приоритет от высшего к низшему):

  1. Базовый URI, установленный элементом BASE.
  2. Базовый URI, полученный из метаданных во время взаимодействия с протоколом, как из «шапки» HTTP (см. [RFC2616]).
  3. По умолчанию, базовым считается URI текущего документа. Не все документы HTML имеют базовый URI (напр., полноценный документ HTML может появиться в email и может не иметь на себя указателя в виде URI). Документы HTML считаются ошибочными, если они содержат относительные URI и соотносятся с базовым URI по умолчанию.

В дополнение к сказанному, элементы OBJECT и APPLET определяют атрибуты, имеющие преимущество перед значениями, установленными элементом BASE. См. определения этих элементов для получения дополнительной информации о вопросах URI, касающихся конкретно этих элементов.

Примечание. Для версий HTTP, определяющих «шапку» Link, ПА могут обрабатывать эти «шапки» точно так же, как элементы LINK в документе. HTTP 1.1, как определено в [RFC2616], не содержит поле «шапки» Link (см. раздел 19.6.3).

 


Как вставить ссылку на сайт

В строке 8 данного примера содержится типичная ошибка — тег <h2> располагается внутри контейнера <a>. Поскольку <h2> это блочный элемент, то его недопустимо вкладывать внутрь ссылки. В строке 9 этого же примера показан корректный вариант.

Основной атрибут href тега <a> мы уже освоили, рассмотрим еще несколько полезных, но необязательных атрибутов этого тега.

target

По умолчанию, при переходе по ссылке документ открывается в текущем окне или фрейме. При необходимости, это условие может быть изменено атрибутом target тега <a>. Синтаксис следующий.

<a target="имя окна">...</a>

В качестве значения используется имя окна или фрейма, заданное атрибутом name. Если установлено несуществующее имя, то будет открыто новое окно. В качестве зарезервированных имен применяются следующие.

  • _blank — загружает страницу в новое окно браузера.
  • _self — загружает страницу в текущее окно (это значение задается по умолчанию).
  • _parent — загружает страницу во фрейм-родитель, если фреймов нет, то это значение работает как _self.
  • _top — отменяет все фреймы и загружает страницу в полном окне браузера, если фреймов нет, то это значение работает как _self.

Открытие ссылки в новом окне

<!DOCTYPE HTML>
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Ссылка в новом окне</title>
 </head>
 <body>
  <p><a href="new.html" target="_blank">Открыть
      в новом окне</a></p>
 </body>
</html>

Просмотреть  пример

Атрибут target корректно использовать только при переходном <!DOCTYPE>, при строгом <!DOCTYPE> будет сообщение об ошибке, поскольку в этой версии HTML target уже не поддерживается.

Учтите также, что пользователи не любят, когда ссылки открываются в новых окнах, поэтому используйте подобную возможность осмотрительно и при крайней необходимости.

title

Добавляет поясняющий текст к ссылке в виде всплывающей подсказки. Такая подсказка отображается, когда курсор мыши задерживается на ссылке, после чего подсказка через некоторое время пропадает. Синтаксис следующий.

<a title="текст">...</a>

В качестве значения указывается любая текстовая строка. Строка должна заключаться в двойные или одинарные кавычки. В примере 8.5 показано, как использовать атрибут title для ссылок.

Создание всплывающей подсказки

<!DOCTYPE HTML>
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Подсказка к ссылке</title>
 </head>
 <body>
  <p><a href="zoo.html" title="Рисунки различных животных и не только...">Рисунки</a></p>
 </body>
</html>

Просмотреть  пример

Ссылка на адрес электронной почты

Создание ссылки на адрес электронной почты делается почти также как и ссылка на веб-страницу. Только вместо URL указывается mailto:адрес электронной почты.

Ссылка на адрес электронной почты

<!DOCTYPE HTML>
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Адрес почты</title>
 </head>
 <body>
  <p><a href="mailto:[email protected]">Задавайте вопросы по электронной почте</a></p>
 </body>
</html>

Просмотреть  пример

В атрибуте href тега <a> вначале пишется ключевое слово mailto, затем через двоеточие желаемый почтовый адрес. Подобная ссылка ничем не отличается от ссылки на веб-страницу, но при нажатии на нее запускается почтовая программа, установленная по умолчанию. Поэтому в названии ссылки следует указывать, что она имеет отношение к электронной почте, чтобы читатели понимали, к чему приведет нажатие на нее.

Можно также автоматически добавить тему сообщения, присоединив к адресу электронной почты через символ вопроса (?) параметр subject=тема сообщения.

Задание темы сообщения

<!DOCTYPE HTML> 
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Тема письма</title>
 </head>
 <body>
 <p><a href="mailto:[email protected]?subject=Вопрос по HTML">Задавайте
  вопросы по электронной почте</a></p>
 </body>
</html>

Просмотреть  пример

При запуске почтовой программы поле Тема (Subject) будет заполнено автоматически.

Якоря

Якорем называется закладка с уникальным именем на определенном месте веб-страницы, предназначенная для создания перехода к ней по ссылке. Якоря удобно применять в документах большого объема, чтобы можно было быстро переходить к нужному разделу.

Для создания якоря следует вначале сделать закладку в соответствующем месте и дать ей имя при помощи атрибута name тега <a>. В качестве значения href для перехода к этому якорю используется имя закладки с символом решетки (#) впереди.

Создание якоря

<!DOCTYPE HTML>
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Быстрый переход внутри документа</title>
 </head>
 <body>
  <p><a name="top"></a></p>
  <p>...</p>
  <p><a href="#top">Наверх</a></p>
 </body>
</html>

Просмотреть  пример

Между тегами <a name=»top»> и </a> текст не обязателен, так как требуется лишь указать местоположение перехода по ссылке, находящейся внизу страницы. Имя ссылки на якорь начинается с символа #, после чего идет имя якоря, оно выбирается любое, соответствующее тематике. Главное, чтобы значения атрибутов name и href совпадали (символ решетки не в счет).

С якорями связана одна особенность работы браузера. После перехода к указанному якорю нажатие на кнопку «Назад» возвращает не на предыдущую просмотренную страницу, а к ссылке, с которой был сделан переход к якорю. Получается, что для перехода к предыдущему документу надо нажать кнопку «Назад» два раза.

Cсылку можно также сделать на закладку, находящуюся в другой веб-странице и даже другом сайте. Для этого в атрибуте href тега <a> надо указать адрес документа и в конце добавить символ решетки # и имя закладки.

Ссылка на закладку из другой веб-страницы

<!DOCTYPE HTML>
<html>
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Якорь в другом документе</title>
 </head>
 <body>
  <p><a href="text.html#bottom">Перейти к нижней части текста</a></p>
  </body>
</html>

Просмотреть  пример

В данном примере показано создание ссылки на файл text.html, при открытии этого файла происходит переход на закладку с именем bottom. Если на веб-странице содержится ссылка на якорь, а самого якоря нет, то никакой ошибки не возникнет.

Полезные ссылки

Изменение текста ссылки отписки
Как настроить отписку, чтобы не терять подписчиков
Отписка от рассылки: как уважать подписчиков и не попадать в спам

Гиперссылки в документах HTML

Гиперссылки в документах HTML

 

HTML предлагает большое количество согласованных публичных идиом для создания сложных структурированных документов, но что отличает его от большинства других языков разметки, так это богатые возможности гипертекста и интерактивные документы.
В этом разделе вводится понятие ссылки (или гиперссылки, ссылки Web), базовой конструкции гипертекста. Ссылка это соединение одного Web-ресурса с другим. Несмотря на простоту концепции, ссылка является одной из фундаментальных сил, приведших к успешному развитию Web.

Ссылка имеет два конца — называемых якорями — и направление. Ссылка начинается от якоря «источника» и указывает на якорь «назначения», который может быть любым ресурсом Web (напр., изображением, видеоклипом, аудиофрагментом, программой, документом HTML, элементом в документе HTML и т.д.).

12.1.1  «Посещение» связанного ресурса

Акцией по умолчанию, ассоциированной со ссылкой, является запрос другого ресурса Web. Такое действие является обычным и неявно подразумевается при выборе гиперссылки (напр., щелчком на ней мышью, вводом с клавиатуры и т.д.).

Следующий отрывок HTML содержит две ссылки, якорь одной из которых указывает на документ HTML с названием «chapter2.html», а якорь другой — на GIF-изображение в файле «forest.gif»:

<BODY>
...текст...
<P>Вы найдёте многое на  <A href="chapter2.html">chapter two</A>. 
См. также здесь <A href="../images/forest.gif">карту леса.</A>
</BODY>

Активировав эту ссылку (щелчком мыши, вводом с клавиатуры, голосовой командой и т.п.), пользователь может посетить этот ресурс. Заметьте, что атрибут href в каждом якоре специфицирует адрес якоря назначения с применением URI.

Якорь назначения для гиперссылки может быть элементом в документе HTML. Якорю назначения должно быть дано имя, и любой URI, адресующий этот якорь, должен включать это имя как идентификатор фрагмента.

Якоря назначения в документах HTML могут быть специфицированы  элементом A (атрибутом name)  или любым другим элементом (атрибутом id).

Так, например, автор может создать оглавление, вхождения которого связаны с элементами h3, h4  и т.д. в этом же документе. Используя элемент A для создания якоря назначения, мы могли бы написать:

<h2>Оглавление</h2>
<P><A href="#section1">Введение</A><BR>
<A href="#section2">Фон</A><BR>
<A href="#section2.1">Несколько заметок</A><BR>
...остальная часть оглавления...
...тело документа...
<h3><A name="section1">Введение</A></h3>
...раздел 1...
<h3><A name="section2">Фон</A></h3>
...раздел 2...
<h4><A name="section2.1">Несколько заметок</A></h4>
...раздел 2.1...

Того же эффекта можно достичь, сделав элементы-заголовки якорями:

<h2>Оглавление</h2>
<P><A href="#section1">Введение</A><BR>
<A href="#section2">Фон</A><BR>
<A href="#section2.1">Несколько заметок</A><BR>
...остальная часть оглавления...
...тело документа...
<h3>Introduction</h3>
...раздел 1...
<h3>Фон</h3>
...раздел 2...
<h4>Несколько заметок</h4>
...раздел 2.1...

12.1.2  Другие соотношения гиперссылок

Чаще всего гиперссылки используются для запроса другого ресурса Web, как в предыдущих примерах. Однако, авторы могут включать в свои документы гиперссылки, которые не только выполняют действия типа «активировать эту ссылку для посещения соответствующего ресурса». Гиперссылки, выражающие соотношения других типов, имеют тот или иной тип ссылок, специфицированный в якоре этого ресурса.

Роли гиперссылки, определяемые A или LINK, установлены атрибутами rel и rev.

Например, ссылки, определённые элементом LINK, могут описывать позицию документа в серии документов. В следующем отрывке гиперссылки в документе, озаглавленном «Chapter 5», указывают на следующую и предыдущую главы:

<HEAD>
...другая информация "шапки"...
<TITLE>Chapter 5</TITLE>
<LINK rel="prev" href="chapter4.html">
<LINK rel="next" href="chapter6.html">
</HEAD>

Тип первой ссылки  — «prev», а второй — «next» (два из нескольких распознаваемых типов ссылок). Гиперссылки, специфицированные в LINK, не рассматриваются как содержимое документов, хотя ПА могут отображать их другими способами (напр., утилитами навигации).

Даже если они не используются для навигации, эти гиперссылки могут интерпретироваться интересными способами. Например, ПА, печатающий серию документов HTML как единый документ, может использовать информацию этих ссылок как базис связного линеарного документа. Ниже дана информация о гиперссылках для использования возможностей поисковых машин.

12.1.3  Спецификация якорей и гиперссылок

Хотя гиперссылки на другие ресурсы создаются разными элементами и атрибутами (напр., элемент IMG, элемент FORM и т.д.), в этом разделе рассматриваются гиперссылки и якоря, создаваемые элементами LINK и A.
Элемент LINK может появляться только в «шапке» документа.
Элемент A может появляться только в теле документа.

Если в элементе A установлен атрибут href, этот элемент определяет якорь-источник гиперссылки, который может быть активирован пользователем для запроса Web-ресурса. Якорь источника это размещение объекта A, а якорь назначения — это ресурс Web.

Запрошенный ресурс может быть обработан ПА различными способами:

  • открытие нового документа HTML в том же окне ПА,
  • открытие нового документа HTML в другом окне,
  • запуск другой программы для обработки ресурса и т.д.

Поскольку элемент A имеет содержимое (текст, изображения и т.п.), ПА могут обозначить наличие этого содержимого, например, подчёркиванием гиперссылки.

Если атрибуты name или id элемента A установлены, данный элемент определяет якорь, который может служить якорем назначения других гиперссылок.

Авторы могут установить атрибуты name и href одновременно в одном и том же A.

Элемент LINK определяет взаимоотношение между текущим документом и другим ресурсом. Хотя LINK не имеет содержимого, взаимоотношения, определяемые им, могут воспроизводиться некоторыми ПА.

12.1.4   Заголовки гиперссылок

Атрибут title может быть установлен элементами A и LINK для добавления информации о ссылке. Эта информация может произноситься ПА, может быть показана как подсказка, вызывать изменение вида курсора и т.д.

Таким образом, мы можем расширить предыдущий пример, добавив заголовок к каждой ссылке:

<BODY>
...текст...
<P>Вы найдёте многое на <A href="chapter2.html"
       title="Go to chapter two">chapter two</A>.
<A href="./chapter2.html"
       title="Get chapter two.">chapter two</A>. 
См. также здесь <A href="../images/forest.gif"
       title="GIF image of enchanted forest">карту леса.</A>
</BODY>

12.1.5  Интернационализация и гиперссылки

Поскольку гиперссылки могут указывать на документ, имеющий другой набор символов, элементы A и LINK поддерживают атрибут charset. Этот атрибут даёт авторам возможность уведомлять ПА о кодировке, дате и других данных.

Атрибут hreflang снабжает ПА информацией о языке ресурса гиперссылки так же, как атрибут lang даёт информацию о языке содержимого элемента или значениях атрибутов.

Вооружённые новыми данными, ПА должны исключить показ пользователю различного «мусора». Вместо этого они могут или указать на ресурсы, необходимые для корректного воспроизведения документа, или, при невозможности размещения ресурса, как минимум предупредить пользователя о том, что документ не будет прочитан и указать причину.

12.2  Элемент 

A
<!ELEMENT A - - (%inline;)* -(A)       -- якорь -->
<!ATTLIST A
  %attrs;                              -- %coreattrs, %i18n, %events --
  charset     %Charset;      #ПРЕДПОЛАГАЕТСЯ  -- набор символов связанного ресурса --
  type        %ContentType;  #ПРЕДПОЛАГАЕТСЯ  -- информативный тип содержимого --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- имя целевой ссылки --
  href        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- URI связанного ресурса --
  hreflang    %LanguageCode; #ПРЕДПОЛАГАЕТСЯ  -- код языка --
  rel         %LinkTypes;    #ПРЕДПОЛАГАЕТСЯ  -- типы ссылок вперёд --
  rev         %LinkTypes;    #ПРЕДПОЛАГАЕТСЯ  -- типы ссылок назад --
  accesskey   %Character;    #ПРЕДПОЛАГАЕТСЯ  -- символ быстрого доступа --
  shape       %Shape;        rect             -- для использования с клиентскими картами --
  coords      %Coords;       #IПРЕДПОЛАГАЕТСЯ  -- для использования с клиентскими картами --
  tabindex    NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- позиция в порядке табуляции --
  onfocus     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент получил фокус --
  onblur      %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент потерял фокус --
  >

Конечный тег: необходим, Конечный тег: необходим

Определения атрибутов

name = cdata [CS]
Этот атрибут именует текущий якорь, который может стать якорем назначения  для другой гиперссылки. Значением этого атрибута должно быть уникальное имя якоря. Областью видимости этого имени является текущий документ. Обратите внимание, что этот атрибут использует то же пространство имён, что и атрибут id.
href = uri [CT]
Определяет размещение ресурса Web, определяя таким образом ссылку с текущего элемента (якоря-источника) на якорь назначения, определённый этим атрибутом.
hreflang = langcode [CI]
Определяет базовый язык ресурса, обозначенного в href, и может использоваться, только если href определён.
type = content-type [CI]
Определяет уведомляющую подсказку, к примеру, о типе содержимого, находящегося по целевому адресу гиперссылки. Она позволяет ПА решить, использовать ли fallback-механизм, или получить содержимое, получив предупреждение о том, что это содержимое имеет тип, не поддерживаемый ПА.
Авторы, используя этот атрибут, несут ответственность за обслуживание риска наличия несоответствия  с реальным содержимым, находящимся на конечном адресе гиперссылки.
Текущий список зарегистрированных типов содержимого см. в [MIMETYPES].
rel = типы ссылок [CI]
Описывает соотношение между текущим документом и якорем, определённым атрибутом href. Значением этого атрибута является список разделённых пробелами типов ссылок.
rev = типы ссылок [CI]
Этот атрибут используется для описания ссылки возврата от якоря, специфицированного атрибутом href, к текущему документу. Значением этого атрибута является разделённый пробелами список типов ссылок.
charset = charset [CI]
Определяет набор символов ресурса, на который указывает гиперссылка. См. детали в разделе кодировка символов.

Атрибуты, определённые в другом месте

  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • shape и coords (карты изображений)
  • onfocus, onblur, onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • target (целевой фрэйм)
  • tabindex (навигация табуляцией)
  • accesskey (символ быстрого доступа)

Каждый элемент A определяет якорь:

  1. Содержимое элемента A определяет местонахождение якоря.
  2. Атрибут name именует якорь так, что он может быть якорем назначения 0 или более ссылок (см. также якоря с атрибутом  id).
  3. Атрибут href делает этот якорь источником одной конкретной гиперссылки.

Авторы могут также создать элемент A, который не специфицирует никаких якорей, т.е. не специфицирует href, name или id. Значения этих атрибутов могут быть установлены позже с помощью скриптов.

В следующем примере элемент A определяет гиперссылку. Якорь-источник — это текст «W3C Web site», а якорь-назначение — это «http://www.w3.org/»:

Дополнительную информацию о W3C см. на  
<A href="http://www.w3.org/">W3C Web сайте</A>.

Эта гиперссылка указывает на домашнюю страницу World Wide Web Consortium. Если пользователь активирует эту гиперссылку в ПА, ПА запросит соответствующий ресурс, в данном случае — документ HTML.

ПА обычно отображают гиперссылки так, чтобы сделать их явно видимыми для пользователя (подчёркиванием, обратной прокруткой видео и т.п.). Конкретный вариант зависит от ПА. Вид может зависеть от того, посетил ли уже пользователь ссылку или нет. Предыдущая ссылка может выглядеть так

Дополнительную информацию о W3C см. на W3C Web сайте.

Чтобы явно указать ПА набор символов страницы назначения, установите значение атрибута charset:

Дополнительную информацию о W3C см. на 
<A href="http://www.w3.org/" charset="ISO-8859-1">W3C Web сайте</A> 

Предположим, мы определили якорь «anchor-one» в файле «one.html».

...текст перед якорем...
<A name="anchor-one">This is the location of anchor one.</A>
...текст после якоря...

Так создаётся якорь вокруг текста «This is the location of anchor one.». Обычно содержимое A не отображается, если A определяет только якорь.

Определив якорь, мы можем ссылаться на него из этого же или другого документа.
URI, обозначающие якорь, содержат символ «#» и следующее за ним имя якоря (идентификатор фрагмента). Вот несколько примеров таких URI:

  • Абсолютный URI: http://www.mycompany.com/one.html#anchor-one
  • Относительный URI: ./one.html#anchor-one or one.html#anchor-one
  • Если ссылка определена в том же документе, где определён якорь: #anchor-one

Таким образом, гиперссылка, определённая в файле «two.html» в той же директории, что и «one.html», будет ссылаться на якорь так:

...текст перед ссылкой...
Дополнительную информацию см. на <A href="./one.html#anchor-one"> anchor one</A>.
...текст после ссылки...

Элемент A в следующем примере определяет гиперссылку (с помощью href) и одновременно создаёт именованный якорь (с помощью name):

I just returned from vacation! Here's a
<A name="anchor-two"  href="http://www.somecompany.com/People/Ian/vacation/family.png">
photo of my family at the lake.</A>.

Этот пример содержит ссылку на Web-ресурс другого типа (изображение PNG). Активация гиперссылки должна вызвать получение ресурса из Web (и, возможно, отображение его, если система сконфигурирована соответствующим образом).

Примечание. ПА должны уметь находить якоря, созданные пустыми элементами A, но некоторые ПА не делают этого. Например, некоторые ПА могут не обнаруживать «empty-anchor» в следующем фрагменте HTML:

<A name="empty-anchor"></A>
<EM>...some HTML...</EM>
<A href="#empty-anchor">Link to empty anchor</A>

12.2.1  Синтаксис имён якорей

Имя якоря — это значение атрибута name или id, когда используется в контексте якорей. Имена якорей должны соблюдать следующие правила:

Таким образом, следующий пример корректен в отношении совпадения строк и должен рассматриваться ПА как совпадение:

<P><A href="#xxx">...</A>
...документ...
<P><A name="xxx">...</A>

 НЕВЕРНОЕ ИСПОЛЬЗОВАНИЕ:
Это пример неверного использования имён, поскольку имена одинаковы и различаются только регистром:

<P><A name="xxx">...</A>
<P><A name="XXX">...</A>

Хотя следующий отрывок HTML верен, поведение ПА в этом случае не определено; некоторые ПА могут  (некорректно) рассматривать это как совпадение, а другие — нет.

<P><A href="#xxx">...</A>
...документ...
<P><A name="XXX">...</A>

Имена якорей должны быть указаны в символах ASCII. См. в приложении дополнительную информацию о не-ASCII символах в значениях атрибутов URI.

12.2.2  Вложение ссылок не допускается

Ссылки и якоря, определённые элементом A, не могут вкладываться; элемент A не должен содержать других элементов A.

Поскольку ОТД определяет элемент LINK как пустой, элементы LINK также не могут вкладываться.

12.2.3 Якоря с атрибутом 

id

Атрибут id может использоваться для создания якоря в начальном теге любого элемента (включая элемент A).

Этот пример иллюстрирует использование атрибута id для размещения якоря в элементе h3. Якорь связан посредством элемента A.

Об этом Вы можете узнать больше в <A href="#section2">Section Two</A>.
...позже в документе
<h3>Раздел 2</h3>
...позже в документе
<P>Смотрите <A href="#section2">Раздел 2</A> выше по тексту.

В следующем примере якорь назначения именован с помощью атрибута id:

I just returned from vacation! Here's a
<A>photo of my family at the lake.</A>.

Атрибуты id и name используют общее пространство имён. Это означает, что они не могут одновременно определять якорь с одним именем в одном и том же документе. Допускается использовать оба атрибута для определения уникальных идентификаторов следующих элементов: A, APPLET, FORM, FRAME, IFRAME, IMG и MAP. Если оба атрибута использованы в одном элементе, их значения должны быть идентичны.

ПРИМЕР НЕПРАВИЛЬНОГО ИСПОЛЬЗОВАНИЯ:
Следующий отрывок HTML неверен, поскольку эти атрибуты объявляют одно имя дважды в одном документе:

<A href="#a1">...</A>
...
<h2>
...страницы документа...
<A name="a1"></A>

Следующий пример показывает, что id и name должны быть идентичными, если оба появляются в начальном теге элемента:

<P><A name="a1" href="#a1">...</A>

В соответствии со своей спецификацией в ОТД HTML, атрибут name может содержать символьные мнемоники. Так, значение D&#xfc;rst является верным значением атрибута name, как и D&uuml;rst. Атрибут id, однако, не может содержать символьных мнемоник.

Использовать id или name? Авторы должны учитывать следующие обстоятельства при решении вопроса использования для именования якоря id или name:

  • Атрибут id может действовать не только как имя якоря (напр., селектор таблиц стилей, идентификатор процесса и т.д.).
  • некоторые старые ПА не поддерживают якоря, созданные атрибутом id.
  • Атрибут name допускает расширенные имена якорей (с мнемониками).

12.2.4  Недоступные и неидентифицируемые ресурсы

Ссылка не недоступный или неидентифицируемый ресурс является ошибкой. Хотя ПА могут по разному обрабатывать такие ошибки, мы рекомендуем следующее поведение ПА:

  • Если ПА не может обнаружить связанный ресурс, он должен предупредить пользователя.
  • Если ПА не может идентифицировать тип связанного ресурса, он должен попытаться обработать его. Он должен предупредить пользователя и может дать ему (пользователю) возможность доступа для идентификации типа документа.


12.3  Взаимосвязи документов: элемент  LINK
<!ELEMENT LINK - O EMPTY               -- медиа-независимая ссылка -->
<!ATTLIST LINK
  %attrs;                              -- %coreattrs, %i18n, %events --
  charset     %Charset;      #ПРЕДПОЛАГАЕТСЯ  -- набор символов связанного ресурса --
  href        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- URI связанного ресурса --
  hreflang    %LanguageCode; #ПРЕДПОЛАГАЕТСЯ  -- код языка --
  type        %ContentType;  #ПРЕДПОЛАГАЕТСЯ  -- информативный тип содержимого --
  rel         %LinkTypes;    #ПРЕДПОЛАГАЕТСЯ  -- типы ссылок вперёд --
  rev         %LinkTypes;    #ПРЕДПОЛАГАЕТСЯ  -- типы ссылок назад --
  media       %MediaDesc;    #ПРЕДПОЛАГАЕТСЯ  -- для представления на данном носителе --
  >

Начальный тег: необходим, Конечный тег: запрещён

Атрибуты, определённые в другом месте

  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (название элемента)
  • style (инлайн-стиль)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • href, hreflang, type, rel, rev (ссылки и якоря)
  • target (целевой фрэйм)
  • media (стиль «шапки»)
  • charset(набор символов документа)

Этот элемент определяет ссылку. В отличие от A, он может появляться только в разделе HEAD — «шапки» документа, хотя и может появляться любое количество раз. Хотя LINK не имеет содержимого, он выражает информацию о взаимоотношениях, которая может отображаться ПА различными способами (напр., панель с выпадающим меню со ссылками).

Этот пример показывает, как различные определения LINK могут появляться в разделе HEAD документа. Текущий документ — «Chapter2.html». Атрибут rel специфицирует соотношение связанного документа с текущим. Значения «Index», «Next» и «Prev» разъясняются в разделе типы ссылок.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
  <TITLE>Chapter 2</TITLE>
  <LINK rel="Index" href="../index.htm">
  <LINK rel="Next"  href="Chapter3.html">
  <LINK rel="Prev"  href="Chapter1.html">
</HEAD>
...оставшаяся часть документа...

12.3.1  Гиперссылки вперёд и назад

Атрибуты rel и rev дополнительно могут:  атрибут rel — определять ссылки вперёд, а атрибут rev — ссылки назад.

Рассмотрим два документа — A и B.

Document A:       <LINK href="docB" rel="foo">

имеет то же значение, что и:

Document B:       <LINK href="docA" rev="foo">

Оба атрибута могут быть определены одновременно.

12.3.2  Гиперссылки и внешние таблицы стилей

Если элемент LINK связывает внешнюю таблицу стилей с документом, то атрибут type определяет язык таблицы стилей, а атрибут media определяет соответствующие носители представления. ПА могут сэкономить время, запрашивая из сети только те таблицы стилей, которые применимы к текущему устройству.

Типы носителя рассматриваются в разделе о таблицах стилей.

12.3.3  Гиперссылки и машины поиска

Авторы могут использовать элемент LINK для предоставления поисковым машинам различной информации, в том числе:

  • для ссылок на альтернативные версии документа на других языках;
  • для ссылок на альтернативные версии документа, разработанные для других носителей, Например, специальные версии для печати документов;
  • для ссылок на начальную страницу коллекции документов.

Ниже пример иллюстрирует, как информация о языке, типах носителя и типах ссылок может быть объединена для упрощения обработки документа поисковой машиной.

Здесь мы используем атрибут hreflang, чтобы сообщить поисковой машине, где найти датскую, португальскую и арабскую версии документа. Обратите внимание на использование атрибута charset для арабского варианта учебника. Отметьте также использование атрибута lang для указания на то, что значение атрибута title элемента LINK, указывающего на французский учебник, — французский.

<HEAD>
<TITLE>Учебник на английском</TITLE>
<LINK title="Учебник на датском"
      type="text/html"
      rel="alternate" hreflang="nl"  href="http://someplace.com/manual/dutch.html">
<LINK title="Учебник на португальском"
      type="text/html"
      rel="alternate" hreflang="pt"  href="http://someplace.com/manual/portuguese.html">
<LINK title="Учебник на арабском"
      type="text/html"
      rel="alternate"
      charset="ISO-8859-6"
      hreflang="ar"
      href="http://someplace.com/manual/arabic.html">
<LINK lang="fr" title="La documentation en Fran&ccedil;ais"
      type="text/html"
      rel="alternate"
      hreflang="fr"
      href="http://someplace.com/manual/french.html">
</HEAD>

В следующем примере мы сообщаем поисковой машине, где искать версию для печати:

<HEAD>
<TITLE>Справочник</TITLE>
<LINK media="print" title="Справочник в postscript"
      type="application/postscript"
      rel="alternate" href="http://someplace.com/manual/postscript.ps">
</HEAD>

В следующем примере мы сообщаем поисковой машине, где искать начальную страницу коллекции документов:

<HEAD>
<TITLE>Справочник -- Страница 5</TITLE>
<LINK rel="Start" title="Первая страница"
      type="text/html" href="http://someplace.com/manual/start.html">
</HEAD>

Дополнительная информация находится в примечаниях: помощь поисковым машинам в индексации Вашего Web-сайта.


12.4  Информация пути: элемент  BASE
<!ELEMENT BASE - O EMPTY               -- базовый URI документа -->
<!ATTLIST BASE
  href        %URI;          #НЕОБХОДИМ -- URI, действующий как базовый URI --
  >

Начальный тег: необходим, Конечный тег: запрещён

Определение атрибута

href = uri [CT]
Этот атрибут определяет абсолютный URI, действующий как базовый URI для разрешения (расширения) относительных URI.

Атрибут, определённый в другом месте

В HTML гиперссылки и ссылки на внешние изображения, аплеты, программы обработки форм, таблицы стилей и т.д. всегда специфицируются в URI. Относительные URI разрешаются (расширяются) в соответствии с базовым URI, который может поступать из различных источников. Элемент BASE позволяет авторам явно указать базовый URI.

При наличии, элемент BASE должен появляться в разделе HEAD документа HTML перед любым элементом, ссылающимся на внешний ресурс. Специфицированная элементом BASE информация о пути действует только на URI в том документе, где элемент BASEпоявляется.

Например, при объявлении следующих BASE и A:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
 <HEAD>
   <TITLE>Наши Продукты</TITLE>
   <BASE href="http://www.aviary.com/products/intro.html">
 </HEAD>

 <BODY>
   <P>Вы видели наши <A href="../cages/birds.gif">Клетки для Птиц</A>?
 </BODY>
</HTML>

относительный URI «../cages/birds.gif» будет расширен до:

http://www.aviary.com/cages/birds.gif

12.4.1  Расширение относительных URI

ПА должны вычислять базовый URI для расширения относительных URI в соответствии с [RFC1808], раздел 3.
Ниже объясняется, как [RFC1808] применяется в специфике HTML.

ПА должны высчитывать базовый URI в такой последовательности (приоритет от высшего к низшему):

  1. Базовый URI, установленный элементом BASE.
  2. Базовый URI, полученный из метаданных во время взаимодействия с протоколом, как из «шапки» HTTP (см. [RFC2616]).
  3. По умолчанию, базовым считается URI текущего документа. Не все документы HTML имеют базовый URI (напр., полноценный документ HTML может появиться в email и может не иметь на себя указателя в виде URI). Документы HTML считаются ошибочными, если они содержат относительные URI и соотносятся с базовым URI по умолчанию.

В дополнение к сказанному, элементы OBJECT и APPLET определяют атрибуты, имеющие преимущество перед значениями, установленными элементом BASE. См. определения этих элементов для получения дополнительной информации о вопросах URI, касающихся конкретно этих элементов.

Примечание. Для версий HTTP, определяющих «шапку» Link, ПА могут обрабатывать эти «шапки» точно так же, как элементы LINK в документе. HTTP 1.1, как определено в [RFC2616], не содержит поле «шапки» Link (см. раздел 19.6.3).

 


Как вставить ссылку на сайт

В строке 8 данного примера содержится типичная ошибка — тег <h2> располагается внутри контейнера <a>. Поскольку <h2> это блочный элемент, то его недопустимо вкладывать внутрь ссылки. В строке 9 этого же примера показан корректный вариант.

Основной атрибут href тега <a> мы уже освоили, рассмотрим еще несколько полезных, но необязательных атрибутов этого тега.

target

По умолчанию, при переходе по ссылке документ открывается в текущем окне или фрейме. При необходимости, это условие может быть изменено атрибутом target тега <a>. Синтаксис следующий.

<a target="имя окна">...</a>

В качестве значения используется имя окна или фрейма, заданное атрибутом name. Если установлено несуществующее имя, то будет открыто новое окно. В качестве зарезервированных имен применяются следующие.

  • _blank — загружает страницу в новое окно браузера.
  • _self — загружает страницу в текущее окно (это значение задается по умолчанию).
  • _parent — загружает страницу во фрейм-родитель, если фреймов нет, то это значение работает как _self.
  • _top — отменяет все фреймы и загружает страницу в полном окне браузера, если фреймов нет, то это значение работает как _self.

Открытие ссылки в новом окне

<!DOCTYPE HTML>
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Ссылка в новом окне</title>
 </head>
 <body>
  <p><a href="new.html" target="_blank">Открыть
      в новом окне</a></p>
 </body>
</html>

Просмотреть  пример

Атрибут target корректно использовать только при переходном <!DOCTYPE>, при строгом <!DOCTYPE> будет сообщение об ошибке, поскольку в этой версии HTML target уже не поддерживается.

Учтите также, что пользователи не любят, когда ссылки открываются в новых окнах, поэтому используйте подобную возможность осмотрительно и при крайней необходимости.

title

Добавляет поясняющий текст к ссылке в виде всплывающей подсказки. Такая подсказка отображается, когда курсор мыши задерживается на ссылке, после чего подсказка через некоторое время пропадает. Синтаксис следующий.

<a title="текст">...</a>

В качестве значения указывается любая текстовая строка. Строка должна заключаться в двойные или одинарные кавычки. В примере 8.5 показано, как использовать атрибут title для ссылок.

Создание всплывающей подсказки

<!DOCTYPE HTML>
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Подсказка к ссылке</title>
 </head>
 <body>
  <p><a href="zoo.html" title="Рисунки различных животных и не только...">Рисунки</a></p>
 </body>
</html>

Просмотреть  пример

Ссылка на адрес электронной почты

Создание ссылки на адрес электронной почты делается почти также как и ссылка на веб-страницу. Только вместо URL указывается mailto:адрес электронной почты.

Ссылка на адрес электронной почты

<!DOCTYPE HTML>
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Адрес почты</title>
 </head>
 <body>
  <p><a href="mailto:vlad@htmlbook.ru">Задавайте вопросы по электронной почте</a></p>
 </body>
</html>

Просмотреть  пример

В атрибуте href тега <a> вначале пишется ключевое слово mailto, затем через двоеточие желаемый почтовый адрес. Подобная ссылка ничем не отличается от ссылки на веб-страницу, но при нажатии на нее запускается почтовая программа, установленная по умолчанию. Поэтому в названии ссылки следует указывать, что она имеет отношение к электронной почте, чтобы читатели понимали, к чему приведет нажатие на нее.

Можно также автоматически добавить тему сообщения, присоединив к адресу электронной почты через символ вопроса (?) параметр subject=тема сообщения.

Задание темы сообщения

<!DOCTYPE HTML> 
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Тема письма</title>
 </head>
 <body>
 <p><a href="mailto:vlad@htmlbook.ru?subject=Вопрос по HTML">Задавайте
  вопросы по электронной почте</a></p>
 </body>
</html>

Просмотреть  пример

При запуске почтовой программы поле Тема (Subject) будет заполнено автоматически.

Якоря

Якорем называется закладка с уникальным именем на определенном месте веб-страницы, предназначенная для создания перехода к ней по ссылке. Якоря удобно применять в документах большого объема, чтобы можно было быстро переходить к нужному разделу.

Для создания якоря следует вначале сделать закладку в соответствующем месте и дать ей имя при помощи атрибута name тега <a>. В качестве значения href для перехода к этому якорю используется имя закладки с символом решетки (#) впереди.

Создание якоря

<!DOCTYPE HTML>
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Быстрый переход внутри документа</title>
 </head>
 <body>
  <p><a name="top"></a></p>
  <p>...</p>
  <p><a href="#top">Наверх</a></p>
 </body>
</html>

Просмотреть  пример

Между тегами <a name=»top»> и </a> текст не обязателен, так как требуется лишь указать местоположение перехода по ссылке, находящейся внизу страницы. Имя ссылки на якорь начинается с символа #, после чего идет имя якоря, оно выбирается любое, соответствующее тематике. Главное, чтобы значения атрибутов name и href совпадали (символ решетки не в счет).

С якорями связана одна особенность работы браузера. После перехода к указанному якорю нажатие на кнопку «Назад» возвращает не на предыдущую просмотренную страницу, а к ссылке, с которой был сделан переход к якорю. Получается, что для перехода к предыдущему документу надо нажать кнопку «Назад» два раза.

Cсылку можно также сделать на закладку, находящуюся в другой веб-странице и даже другом сайте. Для этого в атрибуте href тега <a> надо указать адрес документа и в конце добавить символ решетки # и имя закладки.

Ссылка на закладку из другой веб-страницы

<!DOCTYPE HTML>
<html>
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Якорь в другом документе</title>
 </head>
 <body>
  <p><a href="text.html#bottom">Перейти к нижней части текста</a></p>
  </body>
</html>

Просмотреть  пример

В данном примере показано создание ссылки на файл text.html, при открытии этого файла происходит переход на закладку с именем bottom. Если на веб-странице содержится ссылка на якорь, а самого якоря нет, то никакой ошибки не возникнет.

Якорь HTML | Закладка на веб-странице

Якорь в HTML – закладка на веб-странице, открывающая сетевой документ в месте установки якоря при переходе по ссылке на него. Переход по ссылке на html-якорь откроет страничку сайта (блога) ИМЕННО в месте установки якорька. Такой прием широко используется для целевого направления юзера (читателя) сайта (блога) в конкретное место веб-страницы, например – посредством создания меню-оглавления статьи со ссылками на расставленные в тексте якоря.

  1. Создать якорь HTML
  2. Якорь «name»
  3. Якорь «id»
  4. Ссылка на якорь
  5. Ссылка на якорь и SEO
  6. Покрасить якорь

Создать якорь HTML

Создать якорь HTML на веб-странице – установить в html-документ код якоря с уникальным его именем в пределах устанавливаемой страницы. Уникальное имя якоря содержит минимум три латинских символа в любой комбинации, с добавлением (при желании) цифирь, дефиса («знак минус») и нижнего подчеркивания. Пробелы и служебные символы («,/><[]{}) в написании якорного имени не допускаются. Количество якорей на веб-странице не ограничено, якоря с одинаковым именем – не работают. Различают якорь-«name» и «id»-якорь.

Якорь «name»

Якорь «name» создается присутствием устаревшего и безобиднейшего атрибута ссылки «name» в элементе «a». Код якоря устанавливается непосредственно в оформляемый элемент текста статьи-контента веб-страницы:

<a name="уникальное_имя_якоря"> видимая часть текста </a>

Якорь «name» прост и безопасен в обращении, используется большинством журналистов-литераторов и поддерживается визуальными текстовыми редакторами, вида TinyMCE. Абсолютная ссылка на якорь прекрасно индексируется поисковыми системами, при наличии уникальности видимой части ссылки и якоря.

Установка якоря «name» делается в один клик текстового редактора TinyMCE (кнопка «Вставить якорь»). Якорь устанавливается курсором в любом месте текстовой части веб-страницы без тяжелых последствий для работы её шаблона.

Размеры name-якоря на экране монитора определяются видимой частью текста. При отсутствии буквей и цифрей наполнения видимой части – высота и ширина установленного якоречка равны нолю (невидимый якорь).

Судьба атрибута «name» в HTML полна противоречий, атрибут считается устаревшим. Долгие попытки отказаться от безопасного якоря-name в пользу распрекрасного универсального, но невероятно стремного якоря-id успехом не увенчались. Якорь «name» остается любимым и безопасным инструментом веб-мастеров и, смотря на древность сюжета – рулит простым юзерам.

Якорь «id»

Якорь «id» создается присутствием универсального идентификатора «id» в коде любого элемента веб-страницы, этот идентификатор естессно поддерживающем:

<div> видимая часть </div>

где, элемент <div> взят исключительно для примера. Им может выступить <h> (заголовок), <ol>, <ul> (списки), <table> (таблица), примерно так:

<table>Элементы таблицы</table> 
<ol>Элементы списка</ol>
<h3>Заголовок второй величины</h3>

Использование универсального идентификатора id совершенно противопоказано литераторам многопользовательских сайтов. Ибо, нет лучше и проще способа сковырнуть работу шаблона страницы, чем указать в id-имени якоря имя уже существующего идентификатора id из шаблона разметки веб-документа. Отличный результат гарантирован, ибо два идентификатора «id» с одним одинаковым именем не работают! Замечательные сайтовые грабли! За сим, несмотря на старомодность и не совсем валидность, атрибут name все еще рулит и классно индексируется поисковиками:

<h5><a name="yakor">Якорь</a></h5>

или

<h5><a name="yakor"></a>Якорь</h5>

Якорь «name» не красится в HTML, тогда как открываемый якорь «id» возможно видоизменить, используя псевдокласс CSS «target».

Ссылка на якорь

Ссылка на якорь ничем не отличается от обычной, с той только разницей, что к адресу веб-документа добавляется через решётку # имя якоря, без пробелов. Подобно сородичам, ссылка на якорь бывает абсолютной и относительной. Абсолютная ссылка работает всегда и везде, относительная – в пределах родного сайта или веб-страницы, в зависимости от указанного пути.

<!-- Относительная ссылка (на якорь, в пределах веб-страницы) -->
<a href="#razdel">видимый текст</a>
<!-- Абсолютная ссылка (на якорь, на другой странице, домене) -->
<a href="http://tehnopost.info/adress-stranici.html#razdel">видимый текст</a>

Ссылка на якорь и SEO

Абсолютные ссылки предназначены для якорей, расположенных на других веб-ресурсах – страницах, сайтах, доменах. Переход на якорь по абсолютной ссылке в пределах одной страницы всегда происходит с ее перезагрузкой в браузере. За сим – абсолютная ссылка на якорь в пределах одной страницы уже не приветствуется в условиях массовой экономии трафика. Одно время, абсолютные ссылки в пределах страницы и домена засчитывались поисковиками при наращивании ссылочной массы. Сии веселые времена давно канули в лету. Поисковики не индексируют ссылки на якоря в пределах страницы или домена. Разве что, случайно.

Смелая ссылка, на которую еще никто не ссылался: фрагменты текста

фрагменты текста позволяют указать фрагмент текста во фрагменте URL-адреса.
При переходе по URL-адресу с таким фрагментом текста браузер может выделить
и / или привлечь внимание пользователя.

• Обновлено

Идентификаторы фрагментов #

Chrome 80 был большим выпуском. Он содержал ряд долгожданных функций, таких как модули ECMAScript в Web Workers, нулевое объединение, необязательное связывание и многое другое.О выпуске, как обычно, было объявлено в блоге Chromium. Вы можете увидеть отрывок из сообщения в блоге на скриншоте ниже.

Сообщение в блоге Chromium с красными рамками вокруг элементов с атрибутом id .

Вы, наверное, спрашиваете себя, что означают все красные прямоугольники. Они являются результатом выполнения следующего фрагмента в DevTools. Он выделяет все элементы, у которых есть атрибут id .

  document.querySelectorAll ('[id]'). ForEach ((el) => {
el.style.border = 'сплошной 2px красный';
});

Я могу разместить глубокую ссылку на любой элемент, выделенный красным прямоугольником, благодаря идентификатору фрагмента, который я затем использую в хэше URL-адреса страницы. Предполагая, что я хотел добавить ссылку на . Оставьте отзыв в поле «Форумы по продуктам» в стороне, я мог бы сделать это вручную, создав URL-адрес https://blog.chromium.org/2019/12/chrome-80-content -indexing-es-modules.html # HTML1 . Как вы можете видеть на панели «Элементы» в инструментах разработчика, рассматриваемый элемент имеет атрибут id со значением HTML1 .

Dev Tools, показывающий id элемента.

Если я проанализирую этот URL-адрес с помощью конструктора JavaScript URL () , будут обнаружены различные компоненты. Обратите внимание на свойство hash со значением # HTML1 .

  новый URL ('https://blog.chromium.org/2019/12/chrome-80-content-indexing-es-modules.html#HTML1'); 

Тот факт, что мне пришлось открыть Инструменты разработчика, чтобы найти id элемента, многое говорит о вероятности того, что автор сообщения в блоге должен был связать этот конкретный раздел страницы.

Что делать, если я хочу связать что-то без id ? Скажем, я хочу сделать ссылку на заголовок ECMAScript Modules in Web Workers . Как вы можете видеть на снимке экрана ниже, рассматриваемый

не имеет атрибута id , что означает, что я не могу ссылаться на этот заголовок. Это проблема, которую решают фрагменты текста.

Dev Tools показывает заголовок без идентификатора .

Text Fragments #

Предложение Text Fragments добавляет поддержку указания фрагмента текста в хэше URL.При переходе к URL-адресу с таким фрагментом текста пользовательский агент может выделить и / или привлечь внимание пользователя.

Совместимость с браузером #

Функция фрагментов текста поддерживается в браузерах на основе Chromium 80 и более поздних версий. На момент написания Safari и Firefox публично не заявляли о намерении реализовать эту функцию. См. Ссылки по теме для указателей на обсуждения Safari и Firefox.

По соображениям безопасности функция требует, чтобы ссылки открывались в контексте noopener .Поэтому не забудьте включить rel = "noopener" в разметку привязки или добавить noopener в список функций окон Window.open () .

textStart #

В простейшей форме синтаксис текстовых фрагментов выглядит следующим образом: хэш-символ # , за которым следует : ~: text = и, наконец, textStart , который представляет текст, закодированный в процентах. Я хочу сделать ссылку на.

  

Например, скажем, что я хочу сделать ссылку на ECMAScript Modules in Web Workers заголовок в сообщении блога, объявляющем функции в Chrome 80, URL-адрес в этом случае будет:

https: // blog .chromium.org/2019/12/chrome-80-content-indexing-es-modules.html #: ~: text = ECMAScript% 20Modules% 20in% 20Web% 20Workers

Фрагмент текста выделен как это . Если вы щелкнете ссылку в поддерживающем браузере, таком как Chrome, фрагмент текста будет выделен и прокручивается в поле зрения:

Фрагмент текста прокручивается и выделяется.

textStart и textEnd #

А что, если я хочу создать ссылку на весь раздел под названием Модули ECMAScript в Web Workers , а не только на его заголовок? Процентное кодирование всего текста раздела сделало бы URL-адрес непрактично длинным.

К счастью, есть способ получше. Вместо всего текста я могу кадрировать желаемый текст, используя синтаксис textStart, textEnd . Поэтому я указываю пару слов с процентной кодировкой в ​​начале желаемого текста и пару слов с процентной кодировкой в ​​конце желаемого текста, разделенных запятыми , .

Это выглядит так:

https://blog.chromium.org/2019/12/chrome-80-content-indexing-es-modules.html #: ~: text = ECMAScript% 20Modules% 20in% 20Web% 20Workers, ES% 20Modules% 20in% 20Web% 20Workers. .

Для textStart у меня ECMAScript% 20Modules% 20in% 20Web% 20Workers , затем запятая , , за которой следует ES% 20Modules% 20in% 20Web% 20Workers. как текст Конец . Когда вы щелкаете в поддерживающем браузере, таком как Chrome, весь раздел выделяется и прокручивается для просмотра:

Фрагмент текста прокручивается и выделяется.

Теперь вы можете задаться вопросом о моем выборе textStart и textEnd .Фактически, немного более короткий URL-адрес https://blog.chromium.org/2019/12/chrome-80-content-indexing-es-modules.html #: ~: text = ECMAScript% 20Modules, Web% 20Workers. с двумя словами на каждой стороне тоже подойдет. Сравните textStart и textEnd с предыдущими значениями.

Если я сделаю еще один шаг и теперь использую только одно слово для textStart и textEnd , вы увидите, что у меня проблемы. URL https: // blog.chromium.org/2019/12/chrome-80-content-indexing-es-modules.html #: ~: text = ECMAScript, Workers. теперь еще короче, но выделенный фрагмент текста больше не является изначально желаемым. Выделение прекращается при первом появлении слова Workers. , что верно, но не то, что я хотел выделить. Проблема в том, что желаемый раздел не идентифицируется однозначно текущими однословными значениями textStart и textEnd :

Непреднамеренный фрагмент текста прокручен и выделен.

prefix- и -suffix #

Использование достаточно длинных значений для textStart и textEnd — одно из решений для получения уникальной ссылки. Однако в некоторых ситуациях это невозможно. Кстати, почему я выбрал в качестве примера сообщение в блоге о выпуске Chrome 80? Ответ заключается в том, что в этом выпуске были представлены фрагменты текста:

фрагментов текста, отрывок из сообщения в блоге.

Обратите внимание, как на скриншоте выше слово «текст» появляется четыре раза.Четвертое вхождение написано зеленым кодовым шрифтом. Если бы я хотел сделать ссылку на это конкретное слово, я бы установил textStart на text . Поскольку слово «текст» — это всего лишь одно слово, не может быть textEnd . Что теперь? URL https://blog.chromium.org/2019/12/chrome-80-content-indexing-es-modules.html #: ~: text = text совпадает с первым появлением слова «Текст». «уже в заголовке:

Фрагмент текста, совпадающий при первом появлении» Текст «.

Внимание : Обратите внимание, что при сопоставлении фрагментов текста регистр не учитывается.

К счастью, есть решение. В таких случаях я могу указать префикс - и суффикс - . Слово перед зеленым шрифтом кода «текст» — это «the», а слово после него — «параметр». Ни одно из трех других вхождений слова «текст» не имеет таких же окружающих слов. Вооружившись этими знаниями, я могу настроить предыдущий URL-адрес и добавить префикс - и суффикс - .Как и другие параметры, они также должны быть закодированы в процентах и ​​могут содержать более одного слова. https://blog.chromium.org/2019/12/chrome-80-content-indexing-es-modules.html #: ~: text = the-, text, -parameter . Чтобы синтаксический анализатор мог четко идентифицировать префикс - и суффикс - , их необходимо отделить от textStart и необязательного textEnd тире - .

Фрагмент текста соответствует желаемому вхождению «текста».

Полный синтаксис #

Полный синтаксис текстовых фрагментов показан ниже. (Квадратные скобки указывают на необязательный параметр.) Значения всех параметров должны быть закодированы в процентах. Это особенно важно для символов тире , амперсанда и и запятой , , поэтому они не интерпретируются как часть синтаксиса текстовой директивы.

  

Каждый из prefix- , textStart , textEnd и -suffix будет соответствовать только тексту в пределах одного элемента уровня блока, но полный textStart, textEnd диапазоны могут охватывать несколько блоки.Например, : ~: text = Быстрая, ленивая собака не будет соответствовать в следующем примере, потому что начальная строка «Быстрая» не появляется в одном непрерывном элементе уровня блока:

  



quick brown fox

перепрыгнул через ленивую собаку

Однако в этом примере он совпадает:

  < div> Быстрая коричневая лиса 

перепрыгнула через ленивую собаку

Создание URL-адресов фрагментов текста с расширением браузера #

Создание URL-адресов фрагментов текста вручную утомительно, особенно когда дело доходит до чтобы убедиться, что они уникальны.Если вы действительно хотите, в спецификации есть несколько советов и перечислены точные шаги для создания URL-адресов текстовых фрагментов. Мы предоставляем расширение для браузера с открытым исходным кодом под названием «Ссылка на фрагмент текста», которое позволяет создавать ссылки на любой текст, выделяя его, а затем щелкая «Копировать ссылку на выбранный текст» в контекстном меню. Это расширение доступно для следующих браузеров:

Расширение браузера Link to Text Fragment.

Несколько фрагментов текста в одном URL #

Обратите внимание, что несколько фрагментов текста могут отображаться в одном URL.Конкретные фрагменты текста необходимо разделять символом амперсанда и . Вот пример ссылки с тремя текстовыми фрагментами: https://blog.chromium.org/2019/12/chrome-80-content-indexing-es-modules.html #: ~: text = Text% 20URL% 20Fragments & text = text, -parameter & text =: ~: text = На% 20islands,% 20birds% 20can% 20contribute% 20as% 20much% 20as% 2060% 25% 20of% 20a% 20cat's% 20diet .

Три фрагмента текста в одном URL.

Смешение фрагментов элемента и текста #

Фрагменты традиционного элемента можно совмещать с фрагментами текста.Совершенно нормально иметь оба в одном и том же URL-адресе, например, чтобы обеспечить значимый откат на случай, если исходный текст на странице изменится, так что текстовый фрагмент больше не будет совпадать. URL https://blog.chromium.org/2019/12/chrome-80-content-indexing-es-modules.html # HTML1: ~: text = Give% 20us% 20feedback% 20in% 20our% 20Product% 20Форумы. ссылка на . Оставьте отзыв на наших форумах по продуктам. Раздел содержит как фрагмент элемента ( HTML1, ), так и фрагмент текста ( text = Give% 20us% 20feedback% 20in% 20our% 20Product% 20Forums.):

Связывание как с фрагментом элемента, так и с фрагментом текста.

Директива фрагмента #

Есть один элемент синтаксиса, который я еще не объяснил: директива фрагмента : ~: . Чтобы избежать проблем совместимости с существующими фрагментами элементов URL, как показано выше, в спецификации фрагментов текста вводится директива фрагмента. Директива фрагмента — это часть фрагмента URL, ограниченная кодовой последовательностью : ~: . Он зарезервирован для инструкций пользовательского агента, таких как text = , и удаляется из URL-адреса во время загрузки, чтобы авторские сценарии не могли напрямую взаимодействовать с ним.Инструкции пользовательского агента также называются директивами . В конкретном случае text = поэтому называется текстовой директивой .

Обнаружение функции #

Для обнаружения поддержки проверьте доступное только для чтения свойство fragmentDirective в документе . Директива фрагмента — это механизм URL-адресов для указания инструкций, направленных браузеру, а не документу. Это предназначено для того, чтобы избежать прямого взаимодействия с авторским сценарием, так что будущие инструкции пользовательского агента могут быть добавлены, не опасаясь внесения критических изменений в существующий контент.Одним из возможных примеров таких будущих дополнений могут быть подсказки для перевода.

  if ('fragmentDirective' в документе) {
}

От Chrome 80 до Chrome 85 свойство fragmentDirective было определено в Location.prototype . Подробнее об этом изменении см. WICG / scroll-to-text-fragment # 130.

Обнаружение функций в основном предназначено для случаев, когда ссылки генерируются динамически (например, поисковыми системами), чтобы избежать предоставления ссылок на фрагменты текста браузерам, которые их не поддерживают.

Стилизация фрагментов текста #

По умолчанию браузеры стилизовали фрагменты текста так же, как и стили метки (обычно черный на желтом, цвета системы CSS для метки ). Таблица стилей пользовательского агента содержит CSS, который выглядит следующим образом:

 : root :: target-text {
color: MarkText;
фон: Марка;
}

Как видите, браузер предоставляет псевдоселектор :: target-text , который можно использовать для настройки применяемого выделения.Например, вы можете оформить свои текстовые фрагменты в виде черного текста на красном фоне. Как всегда, не забудьте проверить цветовой контраст, чтобы ваш стиль переопределения не вызвал проблем с доступностью, и убедитесь, что выделение действительно визуально выделяется из остального содержимого.

 : root :: target-text {
цвет: черный;
цвет фона: красный;
}

Возможность полифилирования #

Функция «Фрагменты текста» может быть до некоторой степени полифиллирована. Мы предоставляем полифил, который используется расширением внутри, для браузеров, которые не предоставляют встроенную поддержку текстовых фрагментов, где функциональность реализована на JavaScript.

Создание ссылок на программные фрагменты текста #

Полифилл содержит файл fragment-generation-utils.js , который можно импортировать и использовать для создания ссылок на фрагменты текста. Это показано в примере кода ниже:

  const {generateFragment} = await import ('https://unpkg.com/text-fragments-polyfill/dist/fragment-generation-utils.js'); 
const result = generateFragment (window.getSelection ());
if (result.status === 0) {
let url = `$ {location.origin} $ {location.pathname} $ {location.search} `;
константный фрагмент = результат.фрагмент;
const prefix = фрагмент. Префикс?
`$ {encodeURIComponent (fragment.prefix)} -,`:
'';
const суффикс = фрагмент.суффикс?
`, - $ {encodeURIComponent (fragment.suffix)}`:
'';
const textStart = encodeURIComponent (fragment.textStart);
const textEnd = fragment.textEnd?
`, $ {encodeURIComponent (fragment.textEnd)}`:
'';
url + = `#: ~: text = $ {prefix} $ {textStart} $ {textEnd} $ {суффикс}`; Консоль
.журнал (URL);
}

Получение фрагментов текста для аналитических целей #

Многие сайты используют фрагмент для маршрутизации, поэтому браузеры вырезают фрагменты текста, чтобы не разбивать эти страницы. Существует общепризнанная необходимость предоставлять ссылки на фрагменты текста на страницы, например, для аналитических целей, но предлагаемое решение еще не реализовано. В качестве временного решения вы можете использовать приведенный ниже код для извлечения нужной информации.

  новый URL (перформанс.getEntries (). find (({type}) => type === 'navigate'). name) .hash;  

Безопасность #

Директивы текстовых фрагментов вызываются только при полной навигации (не на одной странице), которая является результатом активации пользователя. Кроме того, для навигации, происходящей из источника, отличного от пункта назначения, потребуется, чтобы навигация происходила в контексте noopener , так что известно, что целевая страница достаточно изолирована. Директивы фрагмента текста применяются только к основному фрейму.Это означает, что поиск текста внутри окон iframe не будет выполняться, а навигация iframe не вызовет фрагмент текста.

Конфиденциальность #

Важно, чтобы реализации спецификации текстовых фрагментов не пропускали утечку независимо от того, был ли фрагмент текста найден на странице или нет. В то время как фрагменты элементов полностью находятся под контролем автора исходной страницы, текстовые фрагменты могут быть созданы кем угодно. Помните, как в моем примере выше не было возможности связать с заголовком модулей ECMAScript в веб-воркерах, поскольку

не имеет идентификатора , но как любой, включая меня, мог просто ссылаться на любое место тщательно обработав фрагмент текста?

Представьте, что я запустил злобную рекламную сеть evil-ads.example.com . Далее представьте, что в одном из моих рекламных фреймов я динамически создал скрытый iframe с перекрестным происхождением для dating.example.com с URL-адресом текстового фрагмента dating.example.com #: ~: text = Log% 20Out один раз пользователь взаимодействует с объявлением. Если обнаружен текст «Выйти», я знаю, что жертва в настоящее время вошла в систему по адресу dating.example.com , который я мог бы использовать для профилирования пользователей. Поскольку реализация наивных текстовых фрагментов может решить, что успешное совпадение должно вызвать переключение фокуса, на evil-ads.example.com Я мог прослушивать событие blur и, таким образом, знать, когда произошло совпадение. В Chrome мы реализовали текстовые фрагменты таким образом, чтобы описанный выше сценарий не мог произойти.

Другая атака может заключаться в использовании сетевого трафика на основе положения прокрутки. Предположим, я имел доступ к журналам сетевого трафика моей жертвы, например, в качестве администратора интрасети компании. А теперь представьте, что существует длинный документ по человеческим ресурсам «Что делать, если вы страдаете от… », а затем список условий, таких как сгорание , беспокойство и т. Д.Я мог бы разместить пиксель отслеживания рядом с каждым элементом в списке. Если затем я определю, что загрузка документа временно происходит одновременно с загрузкой пикселя отслеживания рядом, скажем, с выгорающим элементом , я могу затем, как администратор интрасети, определить, что сотрудник щелкнул по тексту. ссылка на фрагмент с : ~: text = burn% 20out , которую сотрудник мог предположить конфиденциальной и никому не видной. Поскольку этот пример изначально несколько надуманный, и поскольку для его использования требуется очень конкретных предварительных условий, команда безопасности Chrome оценила риск реализации прокрутки при навигации, чтобы быть управляемым.Другие пользовательские агенты могут решить вместо этого показать элемент пользовательского интерфейса ручной прокрутки.

Для сайтов, которые хотят отказаться, Chromium поддерживает значение заголовка Document Policy, которое они могут отправлять, чтобы пользовательские агенты не обрабатывали URL-адреса фрагментов текста.

  Document-Policy: force-load-at-top  

Отключение фрагментов текста #

Самый простой способ отключить эту функцию — использовать расширение, которое может вставлять заголовки HTTP-ответа, например ModHeader (не Google product), чтобы вставить заголовок ответа (, а не запрос ) следующим образом:

  Document-Policy: force-load-at-top  

Другой, более сложный способ отказа — использование настройки предприятия ScrollToTextFragmentEnabled .Для этого в macOS вставьте в терминал команду ниже.

  по умолчанию написать com.google.Chrome ScrollToTextFragmentEnabled -bool false  

В Windows следуйте документации на сайте поддержки Google Chrome Enterprise Help.

Предупреждение : пробуйте это только тогда, когда знаете, что делаете.

Фрагменты текста в веб-поиске #

Для некоторых запросов поисковая система Google предоставляет быстрый ответ или сводку с фрагментом контента с соответствующего веб-сайта.Эти избранных фрагментов , скорее всего, появятся при поиске в форме вопроса. Щелкнув избранный фрагмент, пользователь переходит прямо к тексту избранного фрагмента на исходной веб-странице. Это работает благодаря автоматически созданным URL-адресам фрагментов текста.

Страница результатов поисковой системы Google с избранным фрагментом. В строке состояния отображается URL-адрес фрагментов текста. После щелчка по нему открывается соответствующий раздел страницы.

Заключение #

Текстовые фрагменты URL — это мощная функция для ссылки на произвольный текст на веб-страницах.Научное сообщество может использовать его для предоставления высокоточных ссылок на цитирование или ссылки. Поисковые системы могут использовать его для создания ссылок на текстовые результаты на страницах. Сайты социальных сетей могут использовать его, чтобы позволить пользователям делиться определенными фрагментами веб-страницы, а не недоступными снимками экрана. Я надеюсь, что вы начнете использовать URL-адреса текстовых фрагментов и найдете их такими же полезными, как и я. Обязательно установите расширение браузера Link to Text Fragment.

Благодарности #

Текстовые фрагменты были реализованы и определены Ником Баррисом и Дэвидом Боканом при участии Гранта Ванга.Спасибо Джо Медли за тщательное рассмотрение этой статьи. Изображение героя Грега Ракози на Unsplash.

Последнее обновление: Улучшить статью

Как изменить цвета ссылок в HTML

Вы можете стилизовать ссылки по-разному с помощью свойств CSS. Как правило, для стилизации ссылок используются свойства color, font-family и background-color.

Есть три способа изменить цвет ссылки: встроенный , внутренний и внешний .

Встроенный метод¶

Добавьте атрибут стиля непосредственно в код гиперссылки и укажите свойство color через атрибут стиля, затем присвойте ему значение цвета.

Пример изменения цвета ссылки встроенным методом: ¶

  

  
     Название документа 
  
  
    

Посетите наш веб-сайт .

Попробуйте сами »

Результат

Внутренний метод¶

Внутренний метод требует, чтобы вы использовали тег

Посетите наш веб-сайт .

Попробуйте сами »

Существует 4 состояния ссылок, которые могут быть стилизованы в зависимости от того, в каком состоянии они находятся:

  • a: ссылка - обычная, непосещенная ссылка,
  • a: посещенная - ссылка, которую посетил пользователь,
  • a: hover - ссылка, когда пользователь наводит курсор на нее,
  • a: active - момент нажатия ссылки.

При установке стиля для нескольких состояний ссылки следуйте этим правилам:

  • a: hover ДОЛЖЕН стоять после: link и a: loaded,
  • a: active ДОЛЖЕН идти после: hover.

Пример использования различных состояний ссылки: ¶

  

  
     Название документа 
    <стиль>
      
      ссылка {
        цвет: #ccc;
      }
      
      а: посетил {
        цвет: # 095484;
      }
      
      a: hover {
        цвет: # 8ebf42;
      }
      
      a: active {
        цвет: # 800000;
      }
    
  
  
    

Посетите наш веб-сайт .

Попробуйте сами »

Как изменить цвета подчеркивания гиперссылки и текста привязки¶

Чтобы изменить цвет подчеркивания, в первую очередь необходимо удалить его со значением« нет »текста -decoration и установите значение «none», затем добавьте свойство border-bottom с шириной (в данном случае, используемой как ширина подчеркивания гиперссылки) и свойствами стиля границы (сплошная, пунктирная или пунктирная).Для цвета текста привязки используйте свойство color.

Пример изменения цвета подчеркивания гиперссылки и текста привязки: ¶

  

  
     Название документа 
    <стиль>
      a {
        текстовое оформление: нет;
      }
      ссылка {
        цвет: # 000;
        нижняя граница: сплошной 1px # ff0000;
      }
      а: посетил {
        цвет: # e600e6;
        нижняя граница: сплошная 1px # b3b3b3;
      }
      a: hover {
        цвет: # 2d8653;
        нижняя граница: 1px solid # 000099;
      }
    
  
  
    

Посетите наш веб-сайт .

Попробуйте сами »

Пример стилизации ссылок указанными методами: ¶

  

  
     Название документа 
    <стиль>
      a.one:link {
        цвет: #ccc;
      }
      a.one:visited {
        цвет: # 095484;
      }
      a.one:hover {
        цвет: # 8ebf42;
      }
      а.two: link {
        цвет: #ccc;
      }
      a.two: visit {
        цвет: # 095484;
      }
      a.two: hover {
        размер шрифта: 150%;
      }
      a.three: link {
        цвет: #ccc;
      }
      a.three: visit {
        цвет: # 095484;
      }
      a.three: hover {
        фон: # 8ebf42;
      }
      a.four: link {
        цвет: #ccc;
      }
      a.four: visit {
        цвет: # 095484;
      }
      а.four: hover {
        семейство шрифтов: моноширинный;
      }
      a.five: link {
        цвет: # 095484;
        текстовое оформление: нет;
      }
      a.five: visit {
        цвет: # 095484;
        текстовое оформление: нет;
      }
      a.five: hover {
        оформление текста: подчеркивание подчеркивания;
      }
    
  
  
    

Наведите указатель мыши на ссылки и посмотрите, как они будут изменены:

Эта ссылка меняет цвет

Эта ссылка изменяет размер шрифта

Эта ссылка меняет цвет фона

Эта ссылка изменяет семейство шрифтов

Эта ссылка изменяет оформление текста

Попробуйте сами »

Теперь мы продемонстрируем другой пример, в котором мы используем свойство цвета с его« наследуемым »значением.Это заставит элемент принять цвет своего родителя.

Пример изменения цвета ссылки с помощью значения "наследовать" свойства цвета: ¶

  

  
     Название документа 
    <стиль>
      п {
        цвет: зеленый;
      }
      p a {
        цвет: наследовать;
      }
    
  
  
     

Пример

W3docs.com

Посетите наш Веб-сайт W3docs.com .

Попробуйте сами »

Пример стилизации ссылок с помощью свойства CSS text-decoration-color: ¶

  

  
     Название документа 
    <стиль>
      a {
        цвет оформления текста: серый;
      }
      ссылка {
        цвет: # 777777;
      }
      a: hover {
        цвет: # 2d8653;
      }
    
  
  
    

Посетите наш веб-сайт .

Попробуйте сами »

Внешний метод¶

Используя внешние таблицы стилей, вы можете контролировать все гиперссылки вашего сайта. С помощью внешних таблиц стилей можно создать множество привлекательных эффектов гиперссылок для улучшения внешнего вида вашего веб-сайта.

Используя внешний метод, вы свяжете свои веб-страницы с внешним файлом .css , который может быть создан любым текстовым редактором на вашем устройстве.Это более эффективный метод, особенно когда вам нужно стилизовать большой веб-сайт. Вы можете изменить свой сайт сразу, отредактировав один файл .css .

Подробнее о ссылках CSS.

Базовый синтаксис | Руководство по уценке

Обзор

Почти все приложения Markdown поддерживают базовый синтаксис, описанный в исходном проектном документе Джона Грубера. Между процессорами Markdown есть незначительные вариации и несоответствия - они отмечены встроенными везде, где это возможно.

Заголовки

Чтобы создать заголовок, добавьте цифровые знаки ( # ) перед словом или фразой. Количество используемых цифровых знаков должно соответствовать уровню заголовка. Например, чтобы создать заголовок третьего уровня (

), используйте три числовых знака (например, ### My Header ).

Уценка HTML Выводимый результат
# Уровень заголовка 1

Заголовок уровня 1

## Уровень заголовка 2

Заголовок уровня 2

Уровень заголовка 2

### Уровень заголовка 3

Уровень заголовка 3

Уровень заголовка 3

#### Уровень заголовка 4
Уровень заголовка 4
Уровень заголовка 4
##### Уровень заголовка 5
Уровень заголовка 5
Уровень заголовка 5
###### Уровень заголовка 6
Уровень заголовка 6
Уровень заголовка 6

Альтернативный синтаксис

Либо в строке под текстом добавьте любое количество символов из == для уровня заголовка 1 или символов для уровня заголовка 2.

Уценка HTML Выводимый результат
Уровень заголовка 1
===============

Заголовок уровня 1

Уровень заголовка 2
---------------

Заголовок уровня 2

Уровень заголовка 2

Рекомендации по заголовку

Приложения

Markdown не согласны с тем, как обрабатывать пропущенный пробел между знаками числа ( # ) и названием заголовка.Для совместимости всегда ставьте пробел между числовыми знаками и названием заголовка.

✅ Сделайте это ❌ Не делай этого
# Вот заголовок # Вот заголовок

Вы также должны поместить пустые строки до и после заголовка для совместимости.

✅ Сделайте это ❌ Не делай этого
Попробуйте перед этим поставить пустую строку...

# Заголовок

... и после заголовка.

Без пустых строк это может выглядеть неправильно.
# Heading
Не делайте этого!

Пункты

Для создания абзацев используйте пустую строку для разделения одной или нескольких строк текста.

Уценка HTML Выводимый результат
Мне очень нравится использовать Markdown.

Я думаю, что с этого момента я буду использовать его для форматирования всех моих документов.

Мне очень нравится использовать Markdown.

Думаю, с этого момента я буду использовать его для форматирования всех моих документов.

Мне очень нравится использовать Markdown.

Я думаю, что с этого момента я буду использовать его для форматирования всех моих документов.

Параграф Передовой опыт

Если абзац не находится в списке, не делайте отступы между абзацами пробелами или табуляциями.

✅ Сделайте это ❌ Не делай этого
Не ставьте табуляции или пробелы перед абзацами.

Выровняйте линии по левому краю вот так.

Это может привести к неожиданному проблемы с форматированием.

Не добавляйте табуляции или пробелы перед абзацами.

Разрывы строк

Чтобы создать разрыв строки (
), завершите строку двумя или более пробелами, а затем введите return.

Уценка HTML Выводимый результат
Это первая строка.
А это вторая строка.

Это первая строка.

А это вторая строка.

Это первая строка.
А это вторая строка.

Рекомендации по разрыву строки

Вы можете использовать два или более пробелов (обычно называемых «конечными пробелами») для разрывов строк почти в каждом приложении Markdown, но это спорно.В редакторе трудно увидеть завершающие пробелы, и многие люди случайно или намеренно ставят два пробела после каждого предложения. По этой причине вы можете использовать что-то другое, кроме конечных пробелов для разрывов строк. Если ваше приложение Markdown поддерживает HTML, вы можете использовать HTML-тег
.

Для совместимости используйте конечный пробел или HTML-тег
в конце строки.

Есть два других варианта, которые я не рекомендую использовать.CommonMark и несколько других облегченных языков разметки позволяют вводить обратную косую черту ( \ ) в конце строки, но не все приложения Markdown поддерживают это, поэтому это не лучший вариант с точки зрения совместимости. И, по крайней мере, пара легких языков разметки не требует ничего в конце строки - просто введите return, и они создадут разрыв строки.

✅ Сделайте это ❌ Не делай этого
Первая строка с двумя пробелами после.
И следующая строка.

Первая строка с тегом HTML после.

И следующая строка.

Первая строка с обратной косой чертой после. \
И следующая строка.

Первая строка, после которой ничего нет.
И следующая строка.

Упор

Вы можете выделить текст, выделив его жирным шрифтом или курсивом.

Полужирный

Чтобы выделить полужирный текст, добавьте две звездочки или подчеркивания перед словом или фразой.Чтобы выделить середину слова жирным шрифтом, добавьте две звездочки без пробелов вокруг букв.

Уценка HTML Выводимый результат
Мне просто нравится ** жирный текст **. Мне просто нравится полужирный текст . Мне просто нравится жирный текст .
Мне просто нравится __bold text__. Мне просто нравится полужирный текст . Мне просто нравится жирный текст .
Love ** ** жирный Love жирный Love - жирный
Bold Best Practices
Приложения

Markdown не согласны с тем, как обрабатывать символы подчеркивания в середине слова. Для совместимости используйте звездочки, чтобы выделить середину слова жирным шрифтом.

✅ Сделайте это ❌ Не делай этого
Любовь ** ** смелая Любовь__is__bold

Курсив

Чтобы выделить текст курсивом, добавьте одну звездочку или знак подчеркивания перед и после слова или фразы.Чтобы выделить середину слова для выделения курсивом, добавьте одну звездочку без пробелов вокруг букв.

Уценка HTML Выводимый результат
Курсивом выделено * кошачье мяуканье *. Курсивом выделено кошачье мяуканье . Курсивом выделено кошачье мяуканье .
Курсивом выделено мяуканье кошки. Курсивом выделено кошачье мяуканье . Курсивом выделено кошачье мяуканье .
A * кошка * мяу Мяу кот A кот мяу
Лучшие практики курсивом
Приложения

Markdown не согласны с тем, как обрабатывать символы подчеркивания в середине слова. Для совместимости используйте звездочки, чтобы выделить середину слова курсивом для выделения.

✅ Сделайте это ❌ Не делай этого
А * кот * мяу A_cat_meow

Полужирный и курсив

Чтобы выделить текст жирным шрифтом и курсивом одновременно, добавьте три звездочки или подчеркивания до и после слова или фразы. Чтобы выделить середину слова жирным шрифтом и курсивом, добавьте три звездочки без пробелов вокруг букв.

Уценка HTML Выводимый результат
Этот текст *** действительно важен ***. Этот текст действительно важен . Это текст действительно важный .
Этот текст ___ действительно важен___. Этот текст действительно важен . Это текст действительно важный .
Этот текст __ * действительно важен * __. Этот текст действительно важен . Это текст действительно важный .
Этот текст ** _ действительно важен _ **. Этот текст действительно важен . Это текст действительно важный .
Это действительно *** очень *** важный текст. Это действительно очень текст. Это действительно очень важный текст.
Передовой опыт полужирным и курсивом
Приложения

Markdown не согласны с тем, как обрабатывать символы подчеркивания в середине слова.Для совместимости используйте звездочки, чтобы выделить жирный шрифт, и выделите курсивом середину слова для выделения.

✅ Сделайте это ❌ Не делай этого
Это действительно *** очень *** важный текст. Это действительно ___ очень ___ важный текст.

Цитаты

Чтобы создать цитату, добавьте > перед абзацем.

 > Дороти последовала за ней через множество красивых комнат в ее замке.
  

Результат рендеринга выглядит так:

Дороти последовала за ней через множество красивых комнат в ее замке.

Цитаты с несколькими абзацами

Цитаты могут содержать несколько абзацев. Добавьте > в пустые строки между абзацами.

 > Дороти последовала за ней через множество красивых комнат в ее замке.>
> Ведьма велела ей мыть горшки и чайники, подметать пол и поддерживать огонь дровами.
  

Результат рендеринга выглядит так:

Дороти последовала за ней через множество красивых комнат в ее замке.

Ведьма велела ей мыть горшки и чайники, подметать пол и поддерживать огонь дровами.

Вложенные цитаты

Цитаты могут быть вложенными. Добавьте >> перед абзацем, который вы хотите вложить.

 > Дороти последовала за ней через множество красивых комнат в ее замке.
>
>> Ведьма велела ей мыть горшки и чайники, подметать пол и поддерживать огонь дровами.
  

Результат рендеринга выглядит так:

Дороти последовала за ней через множество красивых комнат в ее замке.

Ведьма велела ей мыть горшки и чайники, подметать пол и поддерживать огонь дровами.

Цитаты с другими элементами

Цитаты могут содержать другие элементы в формате Markdown.Не все элементы можно использовать - вам нужно поэкспериментировать, чтобы увидеть, какие из них работают.

 > #### Квартальные результаты выглядят великолепно!
>
> - Выручка была за пределами графика.
> - Прибыль была выше, чем когда-либо.
>
> * Все * идет по ** плану **.
  

Результат рендеринга выглядит так:

Квартальные результаты выглядят великолепно!
  • Выручка была за пределами графика.
  • Прибыль была выше, чем когда-либо.

Все идет по плану .

Цитаты передового опыта

Для совместимости помещайте пустые строки до и после цитат.

✅ Сделайте это ❌ Не делай этого
Попробуйте поставить пустую строку перед ...

> Это цитата

... и после цитаты.

Без пустых строк это может выглядеть неправильно.
> Это цитата.
Не делай этого!

Списки

Вы можете организовывать элементы в упорядоченные и неупорядоченные списки.

Списки заказов

Чтобы создать упорядоченный список, добавьте позиции с номерами, за которыми следует точка. Номера не обязательно должны быть в порядке номеров, но список должен начинаться с цифры один.

Уценка HTML Выводимый результат
1.Первый элемент
2. Второй элемент
3. Третий элемент
4. Четвертый элемент

  1. Первый элемент

  2. Второй элемент

  3. Третий элемент

  4. Четвертый элемент

  1. Первая позиция
  2. Второй элемент
  3. Третий элемент
  4. Четвертый элемент
1.Первый элемент
1. Второй элемент
1. Третий элемент
1. Четвертый элемент

  1. Первый элемент

  2. Второй элемент

  3. Третий элемент

  4. Четвертый элемент

  1. Первая позиция
  2. Второй элемент
  3. Третий элемент
  4. Четвертый элемент
1.Первый элемент
8. Второй элемент
3. Третий элемент
5. Четвертый элемент

  1. Первый элемент

  2. Второй элемент

  3. Третий элемент

  4. Четвертый элемент

  1. Первая позиция
  2. Второй элемент
  3. Третий элемент
  4. Четвертый элемент
1.Первый элемент
2. Второй элемент
3. Третий элемент
1. Элемент с отступом
2. Элемент с отступом
4. Четвертый элемент

  1. Первый элемент

  2. Второй элемент

  3. Третий элемент

    1. Элемент с отступом

    2. Элемент с отступом < / li>


  4. Четвертый элемент

  1. Первая позиция
  2. Второй элемент
  3. Третий предмет
    1. Элемент с отступом
    2. Элемент с отступом
  4. Четвертый элемент
Рекомендации по упорядоченному списку

CommonMark и несколько других облегченных языков разметки позволяют использовать круглые скобки () ) в качестве разделителя (например,g., 1) Первый элемент ), но не все приложения Markdown поддерживают это, так что это не лучший вариант с точки зрения совместимости. Для совместимости используйте только точки.

✅ Сделайте это ❌ Не делай этого
1. Первый элемент
2. Второй элемент
1) Первый элемент
2) Второй элемент

Неупорядоченные списки

Чтобы создать неупорядоченный список, добавьте тире ( - ), звездочки ( * ) или знаки плюса ( + ) перед позициями.Сделайте отступ для одного или нескольких элементов, чтобы создать вложенный список.

Уценка HTML Выводимый результат
- Первый элемент
- Второй элемент
- Третий элемент
- Четвертый элемент

  • Первый элемент

  • Второй элемент

  • Третий элемент

  • Четвертый элемент

  • Первая позиция
  • Второй элемент
  • Третий элемент
  • Четвертый элемент
* Первый элемент
* Второй элемент
* Третий элемент
* Четвертый элемент

  • Первый элемент

  • Второй элемент

  • Третий элемент

  • Четвертый элемент

  • Первая позиция
  • Второй элемент
  • Третий элемент
  • Четвертый элемент
+ Первый элемент
+ Второй элемент
+ Третий элемент
+ Четвертый элемент

  • Первый элемент

  • Второй элемент

  • Третий элемент

  • Четвертый элемент

  • Первая позиция
  • Второй элемент
  • Третий элемент
  • Четвертый элемент
- Первый элемент
- Второй элемент
- Третий элемент
- Элемент с отступом
- Элемент с отступом
- Четвертый элемент

  • Первый элемент

  • Второй элемент

  • Третий элемент

    • Элемент с отступом

    • Элемент с отступом < / li>


  • Четвертый элемент

  • Первая позиция
  • Второй элемент
  • Третий предмет
    • Элемент с отступом
    • Элемент с отступом
  • Четвертый элемент
Начало элементов неупорядоченного списка с номерами

Если вам нужно начать неупорядоченный элемент списка с числа, за которым следует точка, вы можете использовать обратную косую черту ( \ ), чтобы избежать точки.

Уценка HTML Выводимый результат
- 1968 \. Отличный год!
- Думаю, 1969 год был вторым.

  • 1968 год. Отличный год!

  • Думаю, 1969 был вторым по результативности.

  • 1968.Отличный год!
  • Думаю, 1969 год был вторым.
Рекомендации для неупорядоченного списка
Приложения

Markdown не согласны с тем, как обрабатывать разные разделители в одном списке. Для совместимости не смешивайте и не сопоставляйте разделители в одном списке - выберите один и придерживайтесь его.

✅ Сделайте это ❌ Не делай этого
- Первый элемент
- Второй элемент
- Третий элемент
- Четвертый элемент
+ Первый элемент
* Второй элемент
- Третий элемент
+ Четвертый элемент

Добавление элементов в списки

Чтобы добавить еще один элемент в список, сохраняя при этом непрерывность списка, сделайте отступ для элемента на четыре пробела или одну табуляцию, как показано в следующих примерах.

Совет: Если все выглядит не так, как вы ожидаете, дважды проверьте, что вы сделали отступ для элементов в списке на четыре пробела или одну табуляцию.

Пункты
  * Это первый элемент списка.
* Вот второй пункт списка.

    Мне нужно добавить еще один абзац под вторым элементом списка.

* И вот третий пункт списка.
  

Результат рендеринга выглядит так:

Цитаты
  * Это первый элемент списка.* Вот второй пункт списка.

    > Под вторым пунктом списка будет отлично смотреться цитата.

* И вот третий пункт списка.
  

Результат рендеринга выглядит так:

Кодовые блоки

Кодовые блоки обычно имеют отступ в четыре пробела или одну табуляцию. Когда они находятся в списке, сделайте для них отступ в восемь пробелов или две табуляции.

  1. Откройте файл.
2. Найдите следующий блок кода в строке 21:

        
          
             Тест 
          

3.Обновите заголовок, чтобы он соответствовал названию вашего веб-сайта.
  

Результат рендеринга выглядит так:

  1. Откройте файл.
  2. Найдите следующий блок кода в строке 21:

      
       
          Тест 
       
      
  3. Обновите заголовок, чтобы он соответствовал названию вашего веб-сайта.
Изображений
  1. Откройте файл с талисманом Linux.2. Полюбуйтесь его красотой.

    ! [Тукс, талисман Linux] (/ assets / images / tux.png)

3. Закройте файл.
  

Результат рендеринга выглядит так:

  1. Откройте файл с талисманом Linux.
  2. Полюбуйтесь его красотой.

  3. Закройте файл.
Списки

Вы можете вложить неупорядоченный список в упорядоченный список или наоборот.

  1. Первая позиция
2. Второй пункт
3. Третий пункт
    - Элемент с отступом
    - Элемент с отступом
4.Четвертый пункт
  

Результат рендеринга выглядит так:

  1. Первая позиция
  2. Второй элемент
  3. Третий предмет
    • Элемент с отступом
    • Элемент с отступом
  4. Четвертый элемент

Код

Чтобы обозначить слово или фразу как код, заключите их в обратные кавычки ( `).

Уценка HTML Выводимый результат
В командной строке введите `nano`. В командной строке введите nano . В командной строке введите nano .

Экранирование обратных кавычек

Если слово или фраза, которую вы хотите обозначить как код, содержат один или несколько обратных кавычек, вы можете избежать их, заключив слово или фразу в двойные обратные кавычки ( «).

Уценка HTML Выводимый результат
`Используйте` code` в вашем файле Markdown.` Используйте `code` в вашем файле Markdown. Используйте `code` в вашем файле Markdown.

Кодовые блоки

Для создания блоков кода сделайте отступ каждой строки блока как минимум четырьмя пробелами или одной табуляцией.

  
      
      
    
  

Результат рендеринга выглядит так:

  
  
  

  

Горизонтальные линейки

Чтобы создать горизонтальную линейку, используйте три или более звездочек ( *** ), тире ( --- ) или подчеркивания ( ___ ) на отдельной строке.

  ***

---

_________________
  

Результат рендеринга всех трех выглядит одинаково:


Передовой опыт с горизонтальным правилом

Для совместимости помещайте пустые строки перед горизонтальными линиями и после них.

✅ Сделайте это ❌ Не делай этого
Попробуйте поставить пустую строку перед ...

---

... и после горизонтальной линейки.

Без пустых строк это был бы заголовок.
---
Не делайте этого!

Ссылки

Чтобы создать ссылку, заключите текст ссылки в квадратные скобки (например, [Duck Duck Go] ), а затем сразу же следуйте за ней, указав URL-адрес в круглых скобках (например, (https://duckduckgo.com) ).

  Моя любимая поисковая система - [Duck Duck Go] (https: // duckduckgo.com).
  

Результат рендеринга выглядит так:

Моя любимая поисковая машина - Duck Duck Go.

Добавление заголовков

При желании вы можете добавить заголовок для ссылки. Это будет отображаться как всплывающая подсказка, когда пользователь наводит курсор на ссылку. Чтобы добавить заголовок, заключите его в круглые скобки после URL-адреса.

  Моя любимая поисковая система - [Duck Duck Go] (https://duckduckgo.com «Лучшая поисковая система для обеспечения конфиденциальности»).
  

Результат рендеринга выглядит так:

Моя любимая поисковая машина - Duck Duck Go.

URL и адреса электронной почты

Чтобы быстро превратить URL или адрес электронной почты в ссылку, заключите ее в угловые скобки.

  

  

Результат рендеринга выглядит так:

https://www.markdownguide.org
[email protected]

Ссылки форматирования

Чтобы выделить ссылки, добавьте звездочки до и после скобок и круглых скобок. Чтобы обозначить ссылки как код, добавьте обратные кавычки в скобки.

  Мне нравится поддерживать ** [EFF] (https://eff.org) **.
Это * [Руководство по разметке] (https://www.markdownguide.org) *.
См. Раздел [`code`] (# code).
  

Результат рендеринга выглядит так:

Мне нравится поддерживать EFF .
Это руководство по уценке .
См. Раздел , код .

Ссылки в справочном стиле

Ссылки в стиле ссылок - это особый вид ссылок, которые упрощают отображение и чтение URL-адресов в Markdown.Ссылки в стиле справочника состоят из двух частей: части, которую вы сохраняете в тексте, и части, хранящейся в другом месте файла, чтобы текст был легко читаем.

Форматирование первой части ссылки

Первая часть ссылки в виде справочника оформлена двумя наборами скобок. Первый набор скобок окружает текст, который должен быть связан. Второй набор скобок отображает метку, указывающую на ссылку, которую вы сохраняете в другом месте документа.

Хотя это и не обязательно, вы можете включить пробел между первым и вторым набором скобок. Метка во втором наборе скобок не чувствительна к регистру и может включать буквы, цифры, пробелы или знаки препинания.

Это означает, что следующие форматы примеров примерно эквивалентны для первой части ссылки:

  • [хоббитовая нора] [1]
  • [хоббитовая нора] [1]
Форматирование второй части ссылки

Вторая часть ссылки ссылочного стиля форматируется со следующими атрибутами:

  1. Метка в скобках, сразу за которой следует двоеточие и хотя бы один пробел (e.г., [этикетка]: ).
  2. URL-адрес ссылки, который при желании можно заключить в угловые скобки.
  3. Необязательный заголовок ссылки, который можно заключить в двойные кавычки, одинарные кавычки или круглые скобки.

Это означает, что все следующие форматы примеров примерно эквивалентны для второй части ссылки:

  • [1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle
  • [1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle "Образ жизни хоббита"
  • [1]: https: // en.wikipedia.org/wiki/Hobbit#Lifestyle 'Образ жизни хоббита'
  • [1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle (образ жизни хоббита)
  • [1]: «Образ жизни хоббита»
  • [1]: «Образ жизни хоббита»
  • [1]: (Образ жизни хоббита)

Эту вторую часть ссылки можно разместить в любом месте документа Markdown.Некоторые люди помещают их сразу после абзаца, в котором они появляются, в то время как другие помещают их в конце документа (например, сноски или сноски).

Пример соединения частей

Допустим, вы добавляете URL-адрес в качестве стандартной ссылки URL-адреса к абзацу, и в Markdown он выглядит так:

  В яме в земле жил хоббит. Не мерзкая, грязная, мокрая дыра, заполненная концами
червей и илистого запаха, ни сухой, голой, песчаной ямы, в которой не на что сесть или на
есть: это была [хоббитовая нора] (https: // ru.wikipedia.org/wiki/Hobbit#Lifestyle «Образ жизни хоббита»), а это означает комфорт.
  

Хотя это может указывать на интересную дополнительную информацию, отображаемый URL-адрес на самом деле не добавляет ничего к существующему необработанному тексту, кроме как затрудняет его чтение. Чтобы исправить это, вы можете отформатировать URL-адрес следующим образом:

  В яме в земле жил хоббит. Не мерзкая, грязная, мокрая дыра, заполненная концами
червей и илистого запаха, ни сухой, голой, песчаной ямы, в которой не на что сесть или на
ешьте: это была [хоббитовая нора] [1], а это означает комфорт.[1]:  «Образ жизни хоббита»
  

В обоих приведенных выше случаях результат рендеринга будет идентичным:

В яме в земле жил хоббит. Ни противная, грязная, влажная яма, наполненная кончиками червей и с запахом слизи, ни еще сухая, голая, песчаная яма, в которой не на чем сесть или поесть: это была нора хоббита, и это означает комфорт.

, а HTML-код ссылки будет:

.
   хоббит-нора 
  

Ссылка на передовой опыт

Приложения

Markdown не согласны с тем, как обрабатывать пробелы в середине URL-адреса. Для совместимости попробуйте кодировать любые пробелы в URL с помощью % 20 .

✅ Сделайте это ❌ Не делай этого
[ссылка] (https://www.example.com/my%20great%20page) [ссылка] (https: // www.example.com/ моя отличная страница)

Изображения

Чтобы добавить изображение, добавьте восклицательный знак (! ), за которым следует замещающий текст в скобках и путь или URL-адрес ресурса изображения в скобках. При желании вы можете добавить заголовок после URL-адреса в круглых скобках.

 ! [Горы Сан-Хуан прекрасны!] (/ Assets / images / san-juan-mountains.jpg «Горы Сан-Хуан»)
  

Результат рендеринга выглядит так:

Связывание изображений

Чтобы добавить ссылку на изображение, заключите Markdown для изображения в скобки, а затем добавьте ссылку в скобки.

  [! [Старый камень в пустыне] (/ assets / images / shiprock.jpg «Шипрок, Нью-Мексико, автор Бо Роджерс»)] (https://www.flickr.com/photos/beaurogers/31833779864/in / photolist-Qv3rFw-34mt9F-a9Cmfy-5Ha3Zi-9msKdv-o3hgjr-hWpUte-4WMsJ1-KUQ8N-deshUb-vssBD-6CQci6-8AFCiD-zsJWT-nNfsgB-dPDwZJ-bn9JGn-5HtSXY-6CUhAL-a4UTXB-ugPum-KUPSo-fBLNm-6CUmpy -4WMsc9-8a7D3T-83KJev-6CQ2bK-nNusHJ-a78rQH-nw3NvT-7aq2qf-8wwBso-3nNceh-ugSKP-4mh5kh-bbeeqH-a7biME-q3PtTf-brFpgb-cg38zw-bXMZc-nJPELD-f58Lmo-bXMYG-bz8AAi-bxNtNT-bXMYi-bXMY6 -bXMYv)
  

Результат рендеринга выглядит так:

Спасающиеся персонажи

Чтобы отобразить буквальный символ, который в противном случае использовался бы для форматирования текста в документе Markdown, добавьте обратную косую черту ( \ ) перед символом.

  \ * Без обратной косой черты это было бы маркером в неупорядоченном списке.
  

Результат рендеринга выглядит так:

* Без обратной косой черты это было бы маркером в неупорядоченном списке.

Персонажи, от которых можно сбежать

Для экранирования следующих символов можно использовать обратную косую черту.

Персонаж Имя
\ обратная косая черта
` обратная кавычка (см. Также экранирование обратных кавычек в коде)
* звездочка
_ подчеркивание
{} фигурные скобки
[] кронштейны
<> уголок
() скобок
# знак фунта
+ плюс
знак минус (дефис)
. точка
! восклицательный знак
| труба (см. Также выпускную трубу в таблицах)

HTML

Многие приложения Markdown позволяют использовать HTML-теги в тексте в формате Markdown. Это полезно, если вы предпочитаете определенные HTML-теги синтаксису Markdown. Например, некоторым людям проще использовать HTML-теги для изображений. Использование HTML также полезно, когда вам нужно изменить атрибуты элемента, например указать цвет текста или изменить ширину изображения.

Чтобы использовать HTML, поместите теги в текст файла в формате Markdown.

  Это ** слово ** выделено жирным шрифтом. Это  слово  выделено курсивом.
  

Результат рендеринга выглядит так:

Это слово , выделено жирным шрифтом. Это слово выделено курсивом.

Оптимальные методы работы с HTML

По соображениям безопасности не все приложения Markdown поддерживают HTML в документах Markdown. В случае сомнений проверьте документацию к вашему приложению Markdown.Некоторые приложения поддерживают только подмножество HTML-тегов.

Используйте пустые строки для отделения HTML-элементов уровня блока, таких как

, ,
  и  

, от окружающего содержимого. Старайтесь не делать отступы в тегах табуляцией или пробелами - это может помешать форматированию.

Вы не можете использовать синтаксис Markdown внутри HTML-тегов блочного уровня. Например,

курсив и ** полужирный **

не подойдут.

Поднимите свои навыки Markdown на новый уровень.

Изучите Markdown на 60 страницах. Книга The Markdown Guide , предназначенная как для новичков, так и для экспертов, представляет собой исчерпывающий справочник, в котором есть все необходимое для начала работы и освоения синтаксиса Markdown.

Получить книгу

Не останавливайся сейчас же! 🚀 Включите репозиторий GitHub, а затем введите свой адрес электронной почты ниже, чтобы получать новые руководства по Markdown по электронной почте.Без спама!

HTML Внутренняя ссылка

Внутренняя ссылка HTML связана на той же веб-странице. Эта ссылка может быть абсолютным или относительным путем.

После имени внутренней ссылки HTML стоит знак решетки (#). Вы должны назначить id для ссылки на раздел вашей страницы, который называется внутренней ссылкой на ту же страницу.

Когда вы нажимаете на внутреннюю ссылку привязки, вы автоматически прокручиваетесь до указанного раздела и отображаете его в своем браузере.

Чтобы понять внутреннюю ссылку, см. Примеры ниже.

Примечания : Вы не можете использовать атрибут name вместо атрибута id . Потому что name атрибут не поддерживается в HTML5. Используйте атрибут id вместо.

Пример

  




   Урок.1  
Урок 2
Урок 3
Урок 4

Введение в Lession.1

Это подтема 1

Это подтема 2

Это подтема 3

Это подтема 4



Введение в урок 2

Это подтема.1

Это подтема 2

Это подтема 3

Это подтема 4



Введение в урок 3

Это подтема 1

Это подтема 2

Это подтема 3

Это подтема 4



Введение в урок 4

Это подтема 1

Это подтема.2

Это подтема 3

Это подтема 4

Запустить его... "


Ссылки на части других документов

Вы можете установить цель для определенных разделов других страниц, добавив #id в конце href. После добавления хеш-метка называется «идентификатором фрагмента». Это очень помогает, например, вы можете ссылаться на третий раздел этого руководства из любого другого места, вам нужно написать

    

Использование редактора форматированного текста · Справочный центр Shopify

Эта страница была напечатана 18 сентября 2021 года. Чтобы просмотреть текущую версию, посетите https://help.shopify.com/en/manual/shopify-admin/productivity-tools/rich-text-editor.

Вы можете использовать редактор форматированного текста Shopify для форматирования и стилизации текста, который появляется в вашем интернет-магазине.

Подсказка

При работе с редактором форматированного текста нажмите введите или верните , чтобы создать новый абзац. Чтобы вставить разрыв строки без принудительного создания нового абзаца, нажмите и удерживайте shift , а затем нажмите введите или верните .

Где использовать редактор форматированного текста

Вы можете использовать редактор форматированного текста для добавления или редактирования текста в нескольких местах вашего магазина:

Добавьте HTML-контент с помощью редактора форматированного текста

С помощью редактора форматированного текста можно вводить HTML-контент для сообщений блога, страниц, описаний продуктов и описаний коллекций.

Нажмите кнопку Показать HTML , чтобы просмотреть HTML-код содержимого в редакторе форматированного текста:

В представлении HTML вы можете вносить множество изменений в содержимое в редакторе форматированного текста. Вы можете добавлять изображения, видео или таблицы с помощью HTML, а также отлаживать или настраивать макет и стиль содержимого.

Встроить виджет мультимедиа

Если вы хотите встроить виджет видео или музыки, вам необходимо сначала разместить его на сервисе, таком как Youtube, Vimeo или SoundCloud.Эти службы генерируют код для встраивания, который вы можете скопировать и вставить в свой редактор расширенного текста администратора Shopify.

Шагов:
  1. Найдите код внедрения для носителя, который вы хотите встроить.

  2. Выберите весь код внедрения, щелкнув его и нажав ctrl + A на ПК или команду + A на Mac.

  3. Скопируйте код внедрения, нажав ctrl + C на ПК или команду + C на Mac.

  4. В админке Shopify нажмите кнопку Показать HTML в редакторе форматированного текста для контента, который вы редактируете.

  5. Вставьте код внедрения, нажав ctrl + V на ПК или команду + V на Mac:

  6. Нажмите Сохранить на странице, которую вы редактируете, чтобы сохранить изменения.

Форматирование текста с помощью редактора форматированного текста

С помощью кнопки Форматирование вы можете быстро создавать абзацы, заголовки или цитаты.Использование правильного форматирования и уровней заголовков помогает людям и поисковым системам читать содержимое вашего веб-сайта.

Чтобы выбрать формат текста, выделите текст и нажмите кнопку Форматирование :

Параметры форматирования

  • Пункт

    Большая часть текстового содержимого вашего веб-сайта - это текст абзаца. Текст абзаца обычно имеет размер шрифта 10–12 пунктов, но в некоторых темах используются другие размеры шрифта.

  • Заголовок (1-6)

    Заголовки используются для структурирования контента.Есть 6 уровней заголовков. Заголовок 1 - самый важный уровень, а Заголовок 6 - наименее важный.

  • Цитата

    Цитата из блока используется для отображения текста, приписываемого кому-то другому, например цитаты или отрывка из книги или веб-сайта.

Жирный текст

Чтобы сделать текст полужирным , выделите текст и нажмите кнопку Полужирный :

Выделить текст курсивом

Чтобы сделать текст курсивом, выделите текст и нажмите кнопку Курсив :

Подчеркнуть текст

Чтобы подчеркнуть текст, выделите его и нажмите кнопку Подчеркнуть .

Создать маркированный список

Чтобы создать маркированный список, нажмите кнопку «Маркированный список » :

Вы можете ввести, чтобы создать первый элемент маркированного списка. Чтобы создать новые элементы списка, нажмите клавишу , введите или , верните . Чтобы завершить список, дважды нажмите клавишу , введите или , верните .

Создать нумерованный список

Чтобы создать нумерованный список, нажмите кнопку «Пронумерованный список » :

Вы можете ввести первые нумерованные элементы списка.Чтобы создать новые элементы списка, нажмите клавишу , введите или , верните . Чтобы завершить список, дважды нажмите клавишу , введите или , верните .

Отступ текста

Чтобы сделать отступ абзаца, нажмите кнопку Отступ :

Отступ абзаца дает ему поле с левой стороны.

Невыполненный текст

Чтобы убрать отступ или выделить абзац, нажмите кнопку Outdent :

При снятии отступа абзаца удаляются все поля с отступом, которые у него есть.

Выровнять текст

Чтобы выровнять текст, выделите текст, нажмите кнопку Выравнивание и выберите Выровнять по левому краю , Выровнять по центру или Выровнять по правому краю :

Изменение цвета текста с помощью редактора форматированного текста

Шагов:
  1. Выделите текст и нажмите кнопку Color .

  2. Щелкните цвет или введите шестнадцатеричный код, чтобы изменить выделенный текст на этот цвет.

Изменить цвет фона текста

Шагов:
  1. Выделите текст и нажмите кнопку Color .

  2. Щелкните вкладку Фон .

  3. Щелкните цвет или введите шестнадцатеричный код, чтобы изменить фон выделенного текста на этот цвет.

Очистить форматирование в редакторе форматированного текста

Чтобы удалить форматирование из текста или изображений, выделите содержимое и затем нажмите кнопку Очистить форматирование :

Вставка таблиц с помощью редактора форматированного текста

Вы можете вставлять таблицы в сообщения блога, страницы, описания продуктов и описания коллекций с помощью редактора форматированного текста.Вы можете поместить текст, изображения или даже видео в таблицу после ее создания.

Шагов:
  1. В редакторе форматированного текста нажмите кнопку Вставить таблицу :

  2. Щелкните Вставить таблицу , чтобы вставить таблицу. Это создает таблицу с одной строкой и одним столбцом.

После создания таблицы снова нажмите кнопку Вставить таблицу , чтобы изменить строки и столбцы таблицы:

  • Вставить строку выше : Поместите курсор в строку и нажмите эту кнопку, чтобы вставить новую строку выше.
  • Вставить строку ниже : Поместите курсор в строку и нажмите эту кнопку, чтобы вставить новую строку ниже.
  • Вставить столбец перед : поместите курсор в столбец и нажмите эту кнопку, чтобы вставить новый столбец перед этим столбцом.
  • Вставить столбец после : поместите курсор в столбец и нажмите эту кнопку, чтобы вставить новый столбец после этого столбца.
  • Удалить строку : Поместите курсор в строку, которую вы хотите удалить, и нажмите эту кнопку.
  • Удалить столбец : Поместите курсор в столбец, который вы хотите удалить, и нажмите эту кнопку.
  • Удалить таблицу : Поместите курсор в любое место таблицы и нажмите эту кнопку, чтобы удалить всю таблицу.

Вставка ссылок с помощью редактора форматированного текста

Вы можете вставлять ссылки (гиперссылки) в сообщения блога, страницы, описания продуктов и описания коллекций с помощью редактора форматированного текста. Вы можете добавлять ссылки, которые направляют клиентов на страницы в вашем интернет-магазине Shopify и на другие веб-сайты.Вы также можете добавить ссылки, которые открывают сообщения электронной почты или совершают телефонные звонки, чтобы помочь клиентам связаться с вами.

Шагов:
  1. Выделите текст или изображение, которое вы хотите превратить в ссылку.

  2. Щелкните Вставить ссылку .

  3. Введите целевой URL для ссылки в поле Ссылка на :

  4. Введите краткое описание ссылки в поле Название ссылки .

  5. Выберите, как ссылка будет открываться с Открыть эту ссылку в меню :

    • то же окно : ссылка откроется в существующей вкладке или окне браузера пользователя.
    • новое окно : ссылка откроется в новой вкладке или окне браузера.
  6. Щелкните Вставить ссылку , чтобы преобразовать выделенный текст в ссылку.

Добавьте внутренние и внешние ссылки с помощью редактора форматированного текста

Ссылки на страницы в вашем магазине Shopify называются внутренними ссылками .Вы можете использовать короткие URL-адреса для создания внутренних ссылок. Например, URL-адрес / collections будет указывать на страницу коллекций вашего магазина.

Чтобы создать ссылку на определенную страницу вашего интернет-магазина, например, на страницу коллекции или продукта, используйте формат URL / page-type / page-handle . Например, чтобы создать ссылку на созданную вами коллекцию под названием «Летняя коллекция», используйте URL-адрес / collections / summer-collection .

Примечание

Вы можете проверить дескриптор продукта, коллекции, страницы или блога, посетив его главную страницу в своем администраторе Shopify, найдя раздел предварительного просмотра списка поисковых систем и нажав Изменить веб-сайт SEO .

Ссылки на веб-сайты, которые находятся за пределами вашего магазина Shopify, называются внешними ссылками. Внешние ссылки необходимо вводить полностью и начинаться с http: // .

Ссылка на файл в содержимом страницы

После загрузки файла вы можете связать его с содержимым в редакторе форматированного текста, чтобы сделать его доступным для загрузки из описания продукта или коллекции, веб-страницы или сообщения в блоге.

Шагов:
  1. От администратора Shopify перейдите к Настройки > Файлы .
  1. Из приложения Shopify перейдите в Store > Settings .
  2. В разделе Сохранить настройки коснитесь Файлы .
  1. Из приложения Shopify перейдите в Store > Settings .
  2. В разделе Сохранить настройки коснитесь Файлы .
  1. Скопируйте URL-адрес файла, который вы хотите связать.

  2. В админке Shopify щелкните продукт, коллекцию, веб-страницу или сообщение в блоге, куда вы хотите добавить файл.

  3. В редакторе форматированного текста введите или выберите текст ссылки.

  4. Выберите текст ссылки.

  5. Нажмите Вставить ссылку :

  6. В поле Ссылка на вставьте URL-адрес файла, на который вы хотите создать ссылку.

Примечание

URL-адрес должен начинаться с http://cdn.shopify.com/ . Если вы видите http://static.shopify.com , замените его на http: // cdn.Магазин-магазин .

  1. Щелкните Вставить ссылку . В редакторе форматированного текста связанный текст отображается синим цветом и подчеркивается.

Вставка изображений с помощью редактора форматированного текста

Есть три способа вставить изображение с помощью редактора форматированного текста. Вы можете:

Примечание

Хотя у вас может быть только 250 изображений, связанных с каждым продуктом (включая все его варианты), нет ограничений на количество изображений, которые вы можете использовать в других частях вашего магазина.

Загрузить изображения

Шагов:
  1. В редакторе форматированного текста нажмите кнопку Вставить изображение :

  2. В диалоговом окне Вставить изображение щелкните вкладку Загружено изображений .

  3. Нажмите Загрузить файл .

  4. Выберите файл изображения JPG или PNG на своем компьютере.

  5. Щелкните изображение, которое вы загрузили, чтобы выбрать его.

  6. В меню Размер для вставки выберите размер отображения изображения.Вы можете выбрать Оригинал , чтобы вставить изображение, не изменяя его размер отображения.

    Подсказка

    Выбор размера изображения не перезаписывает исходный размер изображения. Вы можете вставить одно и то же изображение на разные страницы своего магазина в разных размерах.

  7. Щелкните Вставить изображение , чтобы поместить изображение в редактор форматированного текста.

Выберите изображение продукта

Шагов:
  1. В редакторе форматированного текста нажмите кнопку Вставить изображение :

  2. В диалоговом окне Вставить изображение щелкните вкладку Изображения продукта .

  3. Щелкните изображение, которое вы хотите вставить.

    Если вы не видите носитель продукта, который хотите вставить, вы можете использовать кнопки со стрелками для просмотра разных страниц.

  4. В меню Размер для вставки выберите размер отображения изображения. Вы можете выбрать Оригинал , чтобы вставить изображение, не изменяя его размер отображения.

    Подсказка

    Выбор размера изображения не перезаписывает исходный размер изображения.Вы можете вставить одно и то же изображение на разные страницы своего магазина в разных размерах.

  5. Нажмите Вставить изображение , чтобы поместить изображение продукта в редактор форматированного текста.

Использовать URL изображения

Чтобы вставить изображение, используя общедоступный URL:

  1. В редакторе форматированного текста нажмите кнопку Вставить изображение :

  2. В диалоговом окне Вставить изображение щелкните вкладку URL .

  3. Введите общедоступный URL-адрес файла изображения.

  4. Щелкните Вставить изображение , чтобы вставить изображение в редакторе форматированного текста с исходным размером.

Перемещение и изменение размера изображения в редакторе форматированного текста

После добавления изображения в описание продукта или коллекции, на веб-страницу или в блог его можно переместить в другое место в содержимом.

Шагов:
  1. В админке Shopify щелкните продукт, коллекцию, веб-страницу или сообщение в блоге, которое включает изображение, которое вы хотите переместить или изменить размер.

  2. В редакторе форматированного текста щелкните изображение.

  3. Внесите изменения:

    • Чтобы переместить изображение, щелкните и перетащите его в другое место в поле Content .
    • Чтобы изменить размер изображения, щелкните и перетащите один из углов.
  4. Нажмите Сохранить .

Редактировать изображение в редакторе форматированного текста

Вы можете изменить размер, обтекание текстом и выравнивание изображения в редакторе форматированного текста.Вы также можете отредактировать URL-адрес изображения или добавить или отредактировать замещающий текст изображения.

Шагов:
  1. Дважды щелкните изображение в редакторе форматированного текста, чтобы открыть диалоговое окно Редактировать изображение .

  2. Используйте параметры размера и выравнивания для редактирования изображения:

    • Чтобы изменить размер изображения, выберите параметр размера.
    • Чтобы изменить изображение, укажите URL-адрес нового изображения.
    • Чтобы улучшить SEO и доступность вашего интернет-магазина, добавьте или отредактируйте замещающий текст изображения.
    • Чтобы добавить интервал, введите необходимое количество пикселей с каждой стороны.
    • Чтобы изменить выравнивание изображения, выберите один из значков, представляющих выравнивание по левому, центру или правому краю.
    • Чтобы добавить обтекание текстом, установите флажок Обтекать текстом изображения .
  3. Нажмите Изменить изображение , чтобы сохранить изменения.

Вставка видео с помощью редактора форматированного текста

Вы можете вставлять или встраивать видео в сообщения блога, страницы, описания продуктов и описания коллекций с помощью редактора форматированного текста.

Если вы хотите встроить созданное вами видео, вам сначала нужно загрузить его на сайт потокового видео, такой как YouTube или Vimeo.

YouTube не позволяет отключать похожие видео, но вы можете указать, что похожие видео должны быть с того же канала, что и только что воспроизведенное видео.

Шагов:
  1. Скопируйте URL-адрес видео, нажав ctrl + C на ПК или команду + C на Mac.

    Подсказка

    Если ваша тема - Brooklyn или Supply , то вместо этого вы можете скопировать код встраивания вашего видео с Youtube или Vimeo и перейти к шагу 7. Ваша тема автоматически делает встроенные видео адаптивными.

  2. Посетить Адаптивная вставка. Embed Responsively - это инструмент, который предоставит вам улучшенный код для встраивания вашего видео.

    Примечание

    У вас могут возникнуть проблемы с воспроизведением на некоторых моделях iPhone при вертикальном просмотре видео, встроенных с помощью кода из «Встраивать в ответ».

  3. При ответном внедрении щелкните, чтобы выбрать веб-сайт видео, на котором находится ваше видео.

  4. Вставьте URL-адрес видео, который вы скопировали, в поле URL-адрес страницы на странице «Встраивать в ответ», нажав ctrl + V на ПК или команду + V на Mac.

  5. Нажмите Вставить . Embed Responsively создаст для вас код для встраивания.

  6. Если видео с YouTube и вы хотите показывать только похожие видео с того же канала YouTube, найдите URL-адрес видео во встроенном коде.Скопируйте и вставьте ? Rel = 0 в конце в кавычках:

  7. Скопируйте весь код из поля Код для вставки .

  8. В админке Shopify нажмите кнопку Вставить видео в редакторе форматированного текста:

  9. Вставьте код внедрения в поле в диалоговом окне Вставить видео .

  10. Щелкните Вставить видео .

  11. По завершении нажмите Сохранить , чтобы сохранить изменения в редактируемом элементе.

Наконечник

Вы можете сгенерировать код для встраивания прямо с YouTube, но встроенное видео не будет так реагировать на разные размеры экрана.

Вставка аудиофайлов с помощью редактора форматированного текста

Вы можете использовать редактор форматированного текста для вставки или встраивания аудиофайлов в сообщения блога, страницы, описания продуктов и описания коллекций.

Шагов:
  1. В администраторе Shopify нажмите Настройки , затем нажмите Файлы .

  2. Нажмите Загрузить файлы , чтобы загрузить аудиофайл, который вы хотите вставить или встроить в свой магазин.

  3. В разделе Интернет-магазина откройте редактор форматированного текста для страницы или сообщения в блоге, для которого вы хотите добавить аудиофайл.

  4. Скопируйте

    , затем вставьте код в редактор форматированного текста, чтобы встроить аудиоплеер на свою страницу.

  5. Скопируйте следующий код:

    Вставьте этот код в свой текстовый редактор после кода для аудиоплеера, а затем замените https://cdn.shopify.com/s/files/1/0220/2378/files/example.mp3 URL-адресом вы создали для своего аудиофайла, когда загрузили его в Shopify. Вы можете найти URL-адрес своего аудиофайла в любое время на странице Files .

  6. Нажмите Сохранить .

  7. Нажмите Просмотреть , чтобы убедиться, что ваш аудиофайл воспроизводится правильно.

Наконечник

Вы можете встроить код для аудиофайлов непосредственно из Soundcloud, но аудиоплеер Soundcloud может работать некорректно на всех устройствах. Для получения дополнительной информации посетите справочный центр Soundcloud.

Вы можете использовать теги комментариев и -> для внутреннего текста, который вы не хотите публиковать в своем магазине.

Шагов:
  1. В редакторе форматированного текста нажмите кнопку Показать HTML .

  2. Чтобы добавить внутренний комментарий, заключите текст, который вы хотите скрыть, в и -> . Например: .

  3. Нажмите Сохранить .

HTML-теги, заключенные в теги комментариев, сохраняются как внутренний текст. Чтобы эти HTML-теги работали правильно, вам необходимо удалить теги комментариев и -> вокруг них.

Используйте JSDoc: {@link}

Содержание

Синонимы

Синтаксис

  {@link namepathOrURL}
[текст ссылки] {@ link namepathOrURL}
{@link namepathOrURL | текст ссылки}
{@link namepathOrURL текст ссылки (после первого пробела)}
  

Обзор

Встроенный тег {@link} создает ссылку на путь к имени или URL, который вы укажете. Когда вы используете {@link} , вы также можете предоставить текст ссылки в одном из нескольких различных форматов.Если вы этого не сделаете предоставить любой текст ссылки, JSDoc использует путь к имени или URL-адрес в качестве текста ссылки.

Если вам нужна ссылка на учебное пособие, используйте вместо него встроенный тег {@tutorial} тега {@link} .

Форматирование ссылок

По умолчанию {@link} генерирует стандартные теги привязки HTML. Однако вы можете предпочесть рендеринг определенных ссылки моноширинным шрифтом или для указания формата отдельных ссылок. Вы можете использовать следующие синонимы тега {@link} для управления форматированием ссылок:

  • {@linkcode} : заставляет текст ссылки использовать моноширинный шрифт.
  • {@linkplain} : заставляет текст ссылки отображаться как обычный текст без моноширинного шрифта.

Вы также можете установить один из следующих параметров в файле конфигурации JSDoc; видеть Настройка JSDoc для подробностей:

  • templates.cleverLinks : Если установлено значение true , ссылки на URL-адреса используют обычный текст, а ссылки на код используют моноширинный шрифт.
  • templates.monospaceLinks : если установлено значение true , все ссылки используют моноширинный шрифт, кроме ссылок создается с помощью тега {@linkplain} .

Примечание : Хотя шаблон JSDoc по умолчанию отображает все эти теги правильно, другие шаблоны может не распознавать теги {@linkcode} и {@linkplain} . Кроме того, другие шаблоны могут игнорировать параметры конфигурации для рендеринга ссылок.

Примеры

В следующем примере показаны все способы предоставления текста ссылки для тега {@link} :

Предоставление текста ссылки
  / **
 * См. {@Link MyClass} и [свойство MyClass foo] {@ link MyClass # foo}.* Также ознакомьтесь с {@link http: //www.google.com | Google} и
 * {@link https://github.com GitHub}.
 * /
функция myFunction () {}
  

По умолчанию в приведенном выше примере выводится примерно такой:

Вывод для тегов {@link}
  См.  MyClass  и  MyClass foo
недвижимость . Также посетите  Google  и
 GitHub . 

Если для свойства конфигурации templates.cleverLinks было установлено значение true , в приведенном выше примере вывести следующий результат:

Вывод с включенными умными ссылками
  См.   MyClass   и 
 Свойство foo в MyClass  . Также проверьте
 Google  и  GitHub .
  

Добавить ссылки - RST | Сфинкс | Sublime

Вы можете включить ссылки на другие места в тот же документ, в места в других документах и ​​во внешние веб-сайты.

Для получения дополнительной информации о создании ссылок с помощью reStructured Text и Sphinx см. Гиперссылки Sphinx.

Ссылки на разделы в том же документе

Вы можете связать текст с заголовком в любой другой части документа, используя команда : ref: с текстом заголовка в качестве параметра.Например, этот текст в другой части этого документа будет ссылаться на этот раздел:

: ref: `Перекрестные ссылки на местоположения в том же документе`
 

Примечание

Убедитесь, что в расширениях в файле conf.py указано sphinx.ext.autosectionlabel . Например, extension = ['sphinx.ext.autosectionlabel']

.

Текст заголовка печатается как текст ссылки.

Использовать настраиваемый текст ссылки

Для внутренних ссылок, в которых используется текст, отличный от заголовка для раздел, на который вы ссылаетесь, используйте : ref: `custom text ` синтаксис, как в следующем примере.

 Узнайте, как: ref: `связать с другим разделом <Перекрестные ссылки на местоположения в том же документе>`.
 

Примечание

Не добавляйте пробел между последним словом текста ссылки и открытием. угловая скобка для якорного текста.

В этом примере ссылка на другой раздел - это текст ссылки, а - перекрестная ссылка. Ссылки на места в том же документе - это текст заголовка.

Используйте специальный якорь

Если у вас есть два раздела с одинаковым названием в проекте, вы получите ошибки построения, когда у вас есть ссылка на любой из разделов, потому что Sphinx не знать, на какой раздел ссылаться.

В этом случае вы можете создать настраиваемую привязку непосредственно над заголовком и ссылку на него, а не в заголовок. Например, если у вас есть раздел называется Обзор в каждой части вашего документа, вам следует добавить еще конкретный якорь над заголовком раздела.

 .. _RST Обзор:

Обзор
**********

Содержание обзора RST


.. _Sphinx Обзор:

Обзор
*********

Содержание обзора Sphinx
 

Затем в команде : ref: используется текст привязки.Например:

 Это ссылка на RST Overview:: ref: `RST Overview`

Это ссылка на обзор Sphinx:: ref: `Обзор Sphinx`
 

В обоих случаях текст ссылки является заголовком раздела, Обзор , если вы не используете пользовательский текст ссылки.

Ссылки на внешние веб-страницы

Для ссылки на внешнюю веб-страницу используйте следующий синтаксис:

Например:

Вы также можете разделить ссылку и определение цели. Например:

 Получайте последние новости на `CNN`_... _CNN: http://cnn.com/
 

Используйте расширение внешних ссылок

Управление ссылками в больших проектах с несколькими авторами может оказаться сложным. Вы не хотите, чтобы для одной и той же ссылки использовалось несколько определений.

В таких случаях попробуйте использовать расширение внешних ссылок.

С этим расширением ссылки на внешние веб-страницы хранятся на верхнем уровне папка. Каждая ссылка хранится в собственном файле .py .

В следующем примере показана структура определения ссылки в .py файл (для ссылки расширения внешних ссылок):

 ссылка на импорт

link_name = "Внешние ссылки Sphinx"
user_text = "Расширение внешних ссылок"
url = "http://www.sphinx-doc.org/en/stable/ext/extlinks.html"

link.xref_links.update ({link_name: (user_text, url)})
 

Затем вы ссылаетесь на ссылку в содержимом с ролью : xref и ссылкой имя. Например:

: xref: `Внешние ссылки Sphinx`
 

Отображается пользовательский текст со ссылкой на URL-адрес.

Перед тем, как создать ссылку, проверьте, существует ли она в проекте. По возможности повторно используйте уже определенную ссылку.

Настройка внешних ссылок

Чтобы настроить расширение внешних ссылок, выполните следующие действия.

(Вы также можете скопировать настройку проекта для этого документа на GitHub.)

  1. Создайте в исходной папке папку с именем ссылки .

  2. Добавьте файл с именем __init__.py в папку links с следующее содержание:

     от os.путь import dirname, basename, isfile
    
    импортный глобус
    modules = glob.glob (dirname (__ file __) + "/ *. py")
    
    __all__ = [basename (f) [: - 3] для f в модулях, если isfile (f)]
     
  3. Добавьте файл с именем link.py в папку links со следующими содержание:

     xref_links = {"ключ": ("текст ссылки", "URL")}
     
  4. В файле проекта conf.py добавьте следующие строки:

     import sys, os
    sys.path.append ('.')
    из ссылок.ссылка импорт *
    из импорта ссылок *
     

Затем сохраните все файлы определения ссылок в папке ссылок и укажите ссылку с помощью : xref: `link_name` .

Добавить ссылку Сделать команду

Вы можете вручную создавать и сохранять новые файлы ссылок. Вы также можете добавить команду в файл создания проекта, чтобы можно было быстро и легко добавить новую ссылку определения.

Например, следующие дополнения к Makefile позволяют создавать ссылка из командной строки (без проверки ошибок):

 LINKSDIR = источник / ссылки
.PHONY: ссылка
ссылка:
  @read -p "Введите уникальное имя ссылки:" имя_ссылки; \
  read -p "Введите текст ссылки, который видит пользователь:" текст_ссылки; \
  read -p "Введите URL:" link_url; \
  read -p "Введите имя файла .py (use_lower_case_and_underscore имени ссылки):" file_name; \
  echo "Имя ссылки:" $$ link_name; \
  echo "Текст ссылки:" $$ link_text; \
  echo "URL:" $$ link_url; \
  echo "Создание файла:" $ (LINKSDIR) / $$ имя_файла ".py"; \
  echo "Введите ссылку в содержание как: xref: \` "$$ link_name" \ `"; \
  echo "Пользователь увидит:" $$ link_text; \
  echo "Убедитесь, что вы создали и протестировали ссылку."; \
  echo "импорт ссылки \ n \ nen_us_user_text = \" $$ link_text \ "\ n \ n \
links.xref_links.update ({\ "$$ link_name \": (en_us_user_text, \ "$$ link_url \")}) "\
  > $ (LINKSDIR) / $$ имя_файла ".py" \
 

Затем вы можете создать ссылку с помощью команды make link из любого проекта. Вам будет предложено ввести:

  • Соединительный ключ
  • Текст ссылки
  • URL
  • Имя файла Python

Вы также можете добавить фрагмент Sublime для новых ссылок.

Тестирование внешних ссылок

Вы можете использовать встроенную команду Sphinx, проверять ссылки, проверять все внешние ссылки в вашем документе.Команда проверяет доступ к рабочей веб-странице. по указанному URL-адресу и сообщает о любых ошибках.

Добавьте следующий код в проект Makefile :

 LINKCHECKDIR = сборка / проверка ссылок  .PHONY: контрольные ссылки
 контрольные ссылки:
 $ (SPHINXBUILD) -b проверка ссылок $ (ALLSPHINXOPTS) $ (LINKCHECKDIR)
 @echo
 @echo "Проверка завершена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *