ToC ou barra lateral no GitHub Wiki


87

Como faço para criar um ToC ou um menu da barra lateral em um Wiki do GitHub?

Eu vi algumas menções sobre isso e gollum, o back-end parece suportá-lo, mas como faço isso em um projeto GitHub atual?

É melhor que seja baseado nos cabeçalhos que tenho na página automaticamente.

Todos esses links mencionam isso, mas não mostram como fazer:

  • https://gist.github.com/379469 - algum hack de JavaScript
  • https://github.com/blog/774-git-powered-wikis-improved - GitHub mencionando:

    "Os wikis do GitHub têm uma capacidade pouco documentada para rodapés e barras laterais, algo com o qual alguns de nossos autores Wiki baseados em git estão familiarizados. O novo editor Wiki oferece edição limitada baseada na web dos rodapés e barras laterais que você tem em seu site. "


3
Eu desenvolvi o GitHub Wikifier: um Git Hook pré-commit que irá gerar todo o índice de que você vai precisar. Basta escrever seu conteúdo e deixá-lo assumir. Pode valer a pena um cheque. github.com/kuroir/GitHub-Wikifier
MarioRicalde


O código de @MarioRicalde
Jonny

Respostas:


76

Enquanto sua solução funciona, há uma maneira mais fácil de fazer isso usando a interface da web do GitHub. Você pode simplesmente criar uma página chamada _Sidebare / ou _Footer.

Veja instruções detalhadas no construtor de menu da barra lateral do Github Wiki com vários níveis .

Editar O artigo original sumiu e não consigo encontrá-lo no cache, então atualizei o link.


7
@CodeSherpa eles estão acessíveis em https://github.com/[user]/[repo]/wiki/_Sidebar/_editehttps://github.com/[user]/[repo]/wiki/_Footer/_edit
nicerobot

1
O artigo era ótimo, mas fornece informações incorretas (ou desatualizadas) sobre como obter a URL do wiki. Caso você esteja tão perdido quanto eu, você deve usar a URL https://github.com/<username>/<projectname>.wiki.gitou SSH git@github.com:<username>/<projectname>.wiki.git.
NightOwl888 de

1
Essas instruções detalhadas são muito pobres. O que é [[link]]? Colocar um URL lá resulta na exibição de todo o URL.
Pithikos de

3
@Pithikos é o discurso do Github Markdown. As instruções não estão lá para te ensinar o Markdown. Eles estão lá para explicar as barras laterais.
nicerobot

2
@nicerobot e a melhor maneira de explicar algo é usando um exemplo concreto ..
Pithikos

26

Quando você está no wiki de seu projeto, há um link Adicionar uma barra lateral personalizada . Clique nisso.

Insira a descrição da imagem aqui

Agora você tem uma página que edita como faria com qualquer outra página do Markdown . Para fazer um índice, você deve fazê-lo manualmente. Não há método automatizado (em agosto de 2014). Então, por exemplo:

# My menu
* [Home][home]
* [Technical documentation][techdocs]
* [User manual][usermanual]

[home]: https://github.com/myproject/wiki/Home
[techdocs]: https://github.com/myproject/wiki/Technical-documentation
[usermanual]: https://github.com/myproject/wiki/User-manual

25

OK. Deixe-me ver se entendi corretamente:

  1. Clone seu wiki do GitHub. (Há uma seção Git no wiki. Você pode verificar seu código semelhante ao de um wiki.)
  2. Crio _Sidebar.md
  3. Em páginas wiki normais, use [[link]]para a barra lateral
  4. Comprometa-se e volte ao GitHub

Esse processo é um pé no saco. Estou surpreso que este wiki “gollum” tenha alguma aceitação.

Além disso: _Sidebar.md é, portanto, global para todas as páginas . Eu teria que organizar meu wiki em pastas, para poder definir diferentes barras laterais para diferentes páginas.


2
De acordo com os documentos, você pode adicionar barras laterais diferentes para pastas diferentes: "As barras laterais afetam todas as páginas em seus diretórios e quaisquer subdiretórios que não tenham um arquivo de barra lateral próprio." consulte: github.com/github/gollum
Subfuzion

10

Observe que a pergunta original era sobre como criar uma barra lateral (fácil, resolvido nas respostas) ou um índice real (não respondido).

Uma coisa que posso dizer é que a sintaxe wiki do gollum 2.1 permite uma [[_TOC_]]tag, mas um wiki do GitHub não reconhecerá isso (ainda?).


4
Você já teve alguma sorte? É terrivelmente frustrante ter vindo de Trac, onde todas essas coisas eram feitas facilmente.
jooks

Acho que uma resposta melhor à pergunta original sobre como fazer um índice "com base nos cabeçalhos que tenho na página automaticamente" é que atualmente é impossível com o GitHub Wiki.
avernet

Este é atualmente um problema em aberto (com preguiça de procurar o número) que centenas de pessoas comentaram. Nenhuma resposta do GitHub ainda :(
abalter

Os principais problemas do GitHub que fazem referência a isso desde 19/01/2017 são: 1. Markdown - Índice 2. Inserir o índice TOC gerado automaticamente em arquivos de markdown renderizados como README.md
ckib16

4

Acho que isso está descrito no GollumREADME . (Consulte as seções de cabeçalho e barra lateral.)

Basicamente, você cria um _footer.exte _sidebar.extno diretório que contém o conteúdo da página.


2

Eu implementei o módulo npm github-wiki-sidebar para ajudar os usuários do github a criar e manter facilmente o menu da barra lateral.

Fonte e resultado: https://raw.githubusercontent.com/wiki/adriantanasa/github-wiki-sidebar/images/github-wiki-sidebar-generator.png

Páginas de origem (conforme exibido no admin do Wiki):

Home
Installation
Roadmap
Usage
Usage: Command line modifiers
Usage: Init Mode

Resultado (com pedido personalizado):

Pré requisitos:

  • clone seu repositório wiki github localmente (exibido no canto inferior direito da IU do Wiki)
  • instale o github-wiki-sidebar

    git clone <https://github.com/<username>/<my-project-name>.wiki.git
    npm install -g github-wiki-sidebar
    

Crie / atualize seu menu wiki:

  • criar novas páginas / renomear páginas em seu administrador de wiki github.com
  • execute localmente o script github-wiki-sidebar em sua pasta de repositório wiki

    cd /path/to/<my-project-name>.wiki
    # this fetches latest changes, generates sidebar file (_Sidebar.md) and pushes changes to github
    github-wiki-sidebar --git-push
    

O módulo permite a personalização da saída do markdown, incluindo a ordem dos itens, o separador de categorias, o modelo para o menu, o formato dos links e outros.


0

O GitHub irá gerar automaticamente um sumário do documento:

  1. Faça com que o documento digite AsciiDoc em vez de Markdown.
  2. Insira :toc:no início do documento.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.