Existe sintaxe de remarcação para o equivalente a:
Take me to <a href="#pookie">pookie</a>
...
<a name="pookie">this is pookie</a>
fonte
Existe sintaxe de remarcação para o equivalente a:
Take me to <a href="#pookie">pookie</a>
...
<a name="pookie">this is pookie</a>
Take me to [pookie](#pookie)
deve ser a sintaxe correta da marcação para pular para o ponto de ancoragem chamado pookie.
Para inserir um ponto de ancoragem com esse nome, use HTML:
<a name="pookie"></a>
Markdown não parece se importar onde você coloca o ponto de ancoragem. Um local útil para colocá-lo é um cabeçalho. Por exemplo:
### <a name="tith"></a>This is the Heading
funciona muito bem (Eu demonstraria aqui, mas o renderizador da SO retira a âncora.)
id=
versusname=
Uma versão anterior desta postagem sugeria usar <a id='tith' />
, usar a sintaxe de fechamento automático para XHTML e usar o id
atributo em vez de name
.
O XHTML permite que qualquer tag seja 'vazia' e 'fechada automaticamente'. Ou seja, <tag />
é uma abreviação de <tag></tag>
, um par de tags correspondente com um corpo vazio. A maioria dos navegadores aceita XHTML, mas outros não. Para evitar problemas entre navegadores, feche a tag explicitamente usando o <tag></tag>
recomendado acima.
Finalmente, o atributo name=
foi descontinuado em XHTML, então usei originalmente id=
, o que todos reconhecem. No entanto, o HTML5 agora cria uma variável global em JavaScript ao usar id=
, e isso pode não ser necessariamente o que você deseja. Portanto, name=
agora é provável que o uso seja mais amigável.
(Obrigado a Slipp Douglas por me explicar o XHTML e a nailer por apontar o efeito colateral do HTML5 - veja os comentários e a resposta do nailer para obter mais detalhes. Parece funcionar em qualquer lugar, embora esteja obsoleto no XHTML.)name=
<a>
um href, não significa que ele seja fechado automaticamente. A menos que eu esteja completamente louco, os dois: test-xhtml11 e [ sln.6bitt.com/public/test-html5.htmlι(test-html5) renderizam o restante da página na tag <a>. Vá em frente e inspecione com um inspetor da web de sua escolha.<a id="hi"/> rest of doc
, mas foi tratado como<a id="hi"> rest of doc</a>
. (E a análise de elementos da página também mostra isso.) Meu erro: observei os elementos exibidos e não a fonte bruta. Você acha que a resposta deve ser modificada, à luz desta observação?name
atributo também cria variáveis globais (consulte stackoverflow.com/questions/3434278/… ); portanto, você também pode usar oid
atributo como o destino dos URLs de identificador de fragmento, conforme desejado.No bitbucket.org, a solução votada não funcionaria. Em vez disso, ao usar cabeçalhos (com ##), é possível referenciá-los como âncoras, prefixando-os como # markdown-header-my-header-name, em que # markdown-header- é um prefixo implícito gerado pelo representante e o restante é o título do cabeçalho com letras minúsculas, com traços substituindo espaços.
Exemplo
produzirá uma âncora implícita como esta
O URL inteiro antes de cada referência de âncora é opcional, ou seja,
é equivalente a
desde que estejam na mesma página.
Fonte: https://bitbucket.org/tutorials/markdowndemo/overview (edite a fonte desse arquivo .md e veja como são feitas as âncoras).
fonte
## My paragraph title
produzirá a seguinte âncorauser-content-my-paragraph-title
, para que você possa referenciá-la com [Some text] (# user-content-my-paragraph-title). No entanto, não encontrei documentação oficial para isso.[linky](#header)
havia uma âncora suficiente e também funcionava quando publicado no Gist.Use a
name
. Usar umid
não é necessário no HTML 5 e criará variáveis globais no seu JavaScriptConsulte a especificação HTML 5, 5.9.8 Navegando para um identificador de fragmento - ambos
id
ename
são usados.É importante saber que a maioria dos navegadores ainda transforma IDs em variáveis globais . Aqui está um teste rápido . O uso de um
name
evita a criação de globais e quaisquer conflitos que possam resultar.Exemplo usando um nome:
E a âncora de destino:
fonte
name
eid
é diferente.fineuploader
, não poderá usar ofineuploader
módulo. Evitar a criação de globais desnecessários ajuda a evitar esses conflitos.A âncora de Markdown suporta o hashmark; portanto, um link para uma âncora na página seria simplesmente
[Pookie](#pookie)
A geração da âncora não é realmente suportada no Gruber Markdown, mas em outras implementações, como o Markdown Extra .
No Markdown Extra, o ID da âncora é anexado a um cabeçalho ou subtítulo com
{#pookie}
.O Markdown com sabor do Github nas páginas do repositório Git (mas não no Gists) gera automaticamente âncoras com várias tags de marcação em todos os cabeçalhos (h1, h2, h3 etc.), incluindo:
id="user-content-HEADERTEXT"
class="anchor"
href="#HEADERTEXT"
aria-hidden="true"
(isto é para um ícone de link svg que é exibido na passagem do mouse)Excluindo o ícone ária / svg, quando se escreve:
# Header Title
O Github gera:
<h1><a id="user-content-header-title" class="anchor" href="#header-title">Header Title</a></h1>
Portanto, não é necessário fazer nada para criar os links do cabeçalho e sempre pode-se vincular a eles com:
[Header Title](#header-title)
fonte
Não há sintaxe prontamente disponível para fazer isso na sintaxe original do Markdown, mas o Markdown Extra fornece um meio de pelo menos atribuir IDs aos cabeçalhos - aos quais você pode vincular facilmente. Observe também que você pode usar HTML regular no Markdown e no Markdown Extra e que o
name
atributo foi substituído peloid
atributo nas versões mais recentes do HTML.fonte
Para quem está procurando uma solução para esse problema no GitBook. Foi assim que eu fiz funcionar (no GitBook). Você precisa marcar seu cabeçalho explicitamente, assim:
Em seguida, vincule a esta âncora como esta
Solução e exemplos adicionais podem ser encontrados aqui: https://seadude.gitbooks.io/learn-gitbook/
fonte
Tarde para a festa, mas acho que essa adição pode ser útil para as pessoas que trabalham
rmarkdown
. Normarkdown
há suporte embutido para referências a cabeçalhos no documento.Qualquer cabeçalho definido por
pode ser referenciado por
A seguir está um
.rmd
arquivo autônomo mínimo que mostra esse comportamento. Pode ser tricotado em.pdf
e.html
.fonte
Usando o Markdown mais recente, você poderá usar a seguinte sintaxe:
[](){:name='anchorName'}
Isso deve criar o seguinte HTML:
<a name="anchorName"></a>
Se você deseja que a âncora tenha texto, basta adicioná-lo entre colchetes:
[Some Text](){:name='anchorName'}
fonte
Maruku
conhece essa sintaxe. Veja a marca de babel.Para os geradores de redução mais comuns. Você tem uma âncora auto gerada simples em cada cabeçalho. Por exemplo, com o pandoc , a âncora gerada será uma lesma de caso de kebab do seu cabeçalho.
Dependendo do analisador de remarcação usado, a âncora pode mudar (pegue o exemplo das respostas de SymbolRush e La muerte Peluda, elas são diferentes!). Veja esta marca de rótulo onde você pode ver as âncoras geradas, dependendo da sua implementação de redução .
fonte