Comecei a usar o markdown para fazer anotações.
Eu uso marcado para ver minhas notas de remarcação e suas lindas.
Mas, à medida que minhas anotações ficam mais longas, acho difícil encontrar o que quero.
Eu sei que o markdown pode criar tabelas, mas ele é capaz de criar um índice, que pula para seções ou define seções da página no markdown?
Como alternativa, existem leitores / editores de descontos que poderiam fazer essas coisas. Pesquisa seria um bom recurso para ter também.
Em suma, quero torná-la minha ferramenta incrível de anotações e funciona como escrever um livro etc.
\tableofcontents
. Se a roda for reinventada, seria preferível copiar as partes boas... contents::
.Respostas:
O MultiMarkdown Composer parece gerar um índice para ajudar na edição.
Também pode haver uma ou outra biblioteca que pode gerar TOCs: consulte Extensão do TOC do Python Markdown .
fonte
Você pode tentar.
fonte
## Example ## "Example2" ## Third Example<a name="third-example" />
é a única maneira de fazê-lo engolir espaços até agora. Certamente a 3ª tag seria interpretada como -#Third
- seguida por um espaço - e a palavra Exemplo - no seu snippet acima? Hífens não funcionam. Graças1. [Einführung](#einfuhrung)
Aqui está um método útil. Deve produzir referências clicáveis em qualquer editor MarkDown.
Produz:
Índice
Esta é a introdução
Algum texto de introdução, formatado no estilo do título 2
Algum parágrafo
O texto do primeiro parágrafo
Subparágrafo
Este é um subparágrafo, formatado no estilo de título 3
Outro parágrafo
O texto do segundo parágrafo
fonte
## <a name="foo" /> Foo
Para os usuários do Visual Studio Code , uma boa idéia é usar o plug-in Markdown TOC .
Para instalá-lo, inicie o VS Quick Quick Open ( Control/⌘+ P), cole o seguinte comando e pressione enter.
E para gerar o sumário, abra a paleta de comandos ( Control/⌘+Shift + P) e selecione
Markdown TOC:Insert/Update option
ou use Control/⌘+ MT.fonte
[Section Foo](#foo-header-title)
e até funciona fora do modo de visualização (ou seja, na remarcação simples).Você pode tentar esse script ruby para gerar o sumário a partir de um arquivo de remarcação.
fonte
ifndef
,include
eendif
, entre outras directivas de pré-processamento, para a lista de palavras proibidas. Além disso, definir a lista fora do escopo do loop evita a necessidade de restabelecê-la a cada iteração. Além disso, isso selecionará comentários de qualquer idioma que use#
sintaxe de comentários, incluindo Ruby, o que não é bom. Estou disposto a editar, se desejar. No entanto, este é um ótimo começo e funcionou bem para meus propósitos. Muito obrigado!#
), não com os de setext (sublinhados).title.parameterize
o href, obrigado!Existem 2 maneiras de criar seu sumário (sumário) no seu documento de remarcação.
1. Manualmente
2. Programaticamente
Você pode usar, por exemplo, um script que geram resumo para você, dê uma olhada ao meu projeto no github - summarizeMD -
Eu tentei também outro módulo script / npm (por exemplo, doctoc ), mas ninguém reproduz um sumário com âncoras de trabalho.
fonte
Se você usar a remarcação extra, não esqueça que pode adicionar atributos especiais a links, cabeçalhos, cercas de código e imagens.
https://michelf.ca/projects/php-markdown/extra/#spe-attr
fonte
Tags âncora geradas por diferentes analisadores Markdown não são iguais.
Se você estiver trabalhando com analisadores Markdown GFM (GitHub Flavored Markdown) ou Redcarpet, escrevi um plug-in Vim para lidar com o índice.
Recursos
Gere um índice para arquivos Markdown.
Analisadores Markdown suportados:
Atualize o índice existente.
Atualizar automaticamente o índice existente ao salvar.
Screenshots
Uso
Gerar sumário
Mova o cursor para a linha que você deseja anexar ao sumário e digite um comando abaixo. O comando irá gerar títulos após o cursor no sumário.
:GenTocGFM
Gere o índice no estilo de link GFM.
Este comando é adequado para arquivos Markdown em repositórios do GitHub, como README.md, e arquivos Markdown para o GitBook.
:GenTocRedcarpet
Gere o índice no estilo de link Redcarpet.
Este comando é adequado para Jekyll ou em qualquer outro lugar usar Redcarpet como seu analisador Markdown.
Você pode ver aqui as diferenças entre os links GFM e Redcarpet style toc.
Atualizar o índice existente manualmente
Geralmente, você não precisa fazer isso, o índice existente será atualizado automaticamente ao salvar por padrão. Se você quiser fazê-lo manualmente, basta usar
:UpdateToc
comandoDownloads e documentos
https://github.com/mzlogin/vim-markdown-toc
fonte
Você também pode usar
pandoc
o "canivete suíço" para converter "um formato de marcação em outro" . Ele pode gerar automaticamente uma tabela de conteúdo no documento de saída se você fornecer o--toc
argumento.Dica: se você deseja obter um sumário
html
, também é necessário fornecer-s
que gera um documento independente.Exemplo de linha de comando do shell:
fonte
Para o benefício de quem cria
README.md
arquivos no Atom (como encontrei este tópico):https://atom.io/packages/markdown-toc
fonte
Se você deseja usar uma ferramenta javascript / node.js, consulte markdown-toc .
fonte
Você pode gerá-lo usando este one-liner do bash. Assume que seu arquivo de marcação é chamado
FILE.md
.fonte
Eu apenas codifiquei uma extensão para
python-markdown
, que usa seu analisador para recuperar cabeçalhos e gera um TOC como lista não ordenada no formato Markdown com links locais. O arquivo émd_toc.py)... e deve ser colocado no
markdown/extensions/
diretório na instalação de remarcação. Então, tudo que você precisa fazer é digitar<a>
tags âncora com umid="..."
atributo como referência - portanto, para um texto de entrada como este:... a extensão pode ser chamada assim:
... e, em seguida, você pode colar novamente esse toc no seu documento de remarcação (ou ter um atalho no seu editor de texto, que chama o script no documento aberto no momento e depois insere o sumário resultante no mesmo documento).
Observe que versões mais antigas de
python-markdown
não possuem um__main__.py
módulo e, como tal, a chamada de linha de comando conforme acima não funcionará para essas versões.fonte
Como mencionado em outras respostas, existem várias maneiras de gerar um sumário automaticamente. A maioria é de software livre e pode ser adaptada às suas necessidades.
O que estava faltando, no entanto, é uma formatação visualmente atraente para um índice, usando as opções limitadas fornecidas pelo Markdown. Criamos o seguinte:
Código
Dentro do documento, você colocaria os marcadores de subparte de destino como este:
Dependendo de onde e como você usa o Markdown, o seguinte também deve funcionar e fornece um código de aparência mais agradável:
Exemplo de renderização
Vantagens
Você pode adicionar quantos níveis de capítulos e sub-capítulos forem necessários. No Sumário, elas apareceriam como listas não ordenadas aninhadas em níveis mais profundos.
Não há uso de listas ordenadas. Isso criaria um recuo, não vincularia o número e não pode ser usado para criar numeração de classificação decimal como "1.1".
Não há uso de listas para o primeiro nível. Aqui, o uso de uma lista não ordenada é possível, mas não é necessário: o recuo e o marcador apenas adicionam desordem visual e nenhuma função aqui; portanto, não usamos uma lista para o primeiro nível de sumário.
Ênfase visual nas seções de primeiro nível na tabela de conteúdo em negrito.
Marcadores de subparte curtos e significativos que parecem "bonitos" na barra de URL do navegador, em
#heading--1-1
vez de marcadores que contêm partes transformadas do cabeçalho real.O código usa os títulos H2 (
## …
) para as seções, os títulos H3 (### …
) para os subtítulos etc. Isso facilita a leitura do código-fonte, pois## …
fornece uma pista visual mais forte ao rolar em comparação com o caso em que as seções começariam com os títulos H1 (# …
) Ainda é logicamente consistente quando você usa o cabeçalho H1 para o próprio título do documento.Por fim, adicionamos uma boa regra horizontal para separar o índice do conteúdo real.
Para saber mais sobre essa técnica e como a usamos dentro do Discourse , consulte aqui .
fonte
Eu escrevi um script python que analisa um arquivo de remarcação e gera um índice como uma lista de remarcação: md-to-toc
Ao contrário de outros scripts que encontrei, o md-to-toc suporta corretamente títulos duplicados. Também não requer uma conexão com a Internet, portanto funciona em qualquer arquivo md, não apenas nos disponíveis em um repositório público.
fonte
No Visual Studio Code (VSCode), você pode usar a extensão Markdown All in One .
Depois de instalado, siga as etapas abaixo:
fonte
Comecei a fazer a mesma coisa (faça anotações no Markdown). Eu uso o Sublime Text 2 com o plugin MarkdownPreview . O analisador de descontos embutido suporta
[TOC]
.fonte
Typora gera Table of Content adicionando
[TOC]
ao seu documento.fonte
No Gitlab, o markdown suporta isso:
[[_TOC_]]
fonte
Basta usar o seu editor de texto com um plugin.
Seu editor possivelmente possui um pacote / plugin para lidar com isso para você. Por exemplo, no Emacs , você pode instalar o gerador de markdown-toc TOC. Então, enquanto você edita, basta ligar repetidamente
M-x markdown-toc-generate-or-refresh-toc
. Isso vale uma ligação importante se você quiser fazer isso com frequência. É bom gerar um sumário simples sem poluir seu documento com âncoras HTML.Outros editores têm plugins semelhantes, portanto, a lista popular é algo como:
fonte
Com base em albertodebortoli, a resposta criou a função com verificações adicionais e substituição de sinais de pontuação.
fonte
O MultiMarkdown 4.7 possui uma macro {{TOC}} que insere um sumário.
fonte
Para mim, a solução proposta pelo @Tum funciona como um encanto para um sumário com 2 níveis. No entanto, para o terceiro nível, não funcionou. Não exibiu o link como nos dois primeiros níveis; em vez disso, exibe o texto sem formatação
3.5.1. [bla bla bla](#blablabla) <br>
.Minha solução é uma adição à solução do @Tum (que é muito simples) para pessoas que precisam de um índice com 3 níveis ou mais.
No segundo nível, uma guia simples fará o recuo corretamente para você. Mas ele não suporta 2 guias. Em vez disso, você deve usar uma guia e adicionar quantas
necessário para alinhar o terceiro nível corretamente.Aqui está um exemplo usando 4 níveis (mais altos, por mais horrível que seja):
Isso fornece o seguinte resultado, onde cada elemento do sumário é um link para sua seção correspondente. Observe também o
<br>
fim de adicionar uma nova linha em vez de estar na mesma linha.Índice
1.1 Subtítulo
1.1.1. -Sub-sub Título
1.1.1.1. Sub-Sub-Sub-Título
Título
Cabeçallho 1
Subtítulo
Rubrica 2
Subtítulo
Rubrica 3
Sub-Sub-Sub-TítuloRubrica 4
fonte
Dependendo do seu fluxo de trabalho, você pode querer observar a redução
Essa é uma bifurcação da original ( http://strapdownjs.com ) que adiciona a geração da tabela de conteúdo.
Há um arquivo de configuração do apache no repositório (talvez ainda não esteja atualizado corretamente) para encerrar a remarcação em tempo real, se você preferir não escrever em arquivos html.
fonte
Não tenho certeza, qual é a documentação oficial para remarcação. A referência cruzada pode ser escrita apenas entre colchetes
[Heading]
ou com colchetes vazios[Heading][]
.Ambos os trabalhos usam pandoc . Então, eu criei um script bash rápido, que substituirá $ TOC no arquivo md pelo seu TOC. (Você precisará do envsubst, isso pode não fazer parte da sua distribuição)
fonte
Se você usar o Eclipse, poderá usar o atalho Ctrl+ O(estrutura de tópicos), isso mostrará o equivalente ao índice e permitirá pesquisar nos títulos das seções (preenchimento automático).
Você também pode abrir a exibição Estrutura de tópicos (Janela -> Mostrar exibição -> Estrutura de tópicos), mas ela não possui pesquisa de preenchimento automático.
fonte
Use toc.py, que é um pequeno script python que gera um índice para sua remarcação.
Uso:
<toc>
onde deseja que o índice seja colocado.$python toc.py README.md
(Use seu nome de arquivo de remarcação em vez de README.md )Felicidades!
fonte
Usei https://github.com/ekalinin/github-markdown-toc, que fornece um utilitário de linha de comando que gera automaticamente o índice a partir de um documento de redução.
Não há plugins, macros ou outras dependências. Após instalar o utilitário, basta colar a saída do utilitário no local no documento em que você deseja o seu índice. Muito simples de usar.
fonte
Se o seu arquivo Markdown for exibido em um repositório no bitbucket.org, você deve adicionar
[TOC]
o local em que deseja o seu índice. Será então gerado automaticamente. Mais informações aqui:https://confluence.atlassian.com/bitbucket/add-a-table-of-contents-to-a-wiki-221451163.html
fonte
Existe um script Ruby chamado mdtoc.rb que pode gerar automaticamente um Índice GFM Markdown e é semelhante, mas um pouco diferente de outros scripts publicados aqui.
Dado um arquivo Markdown de entrada como:
Ele gera este índice:
Veja também meu post sobre este tópico.
fonte