ToC o barra laterale in GitHub Wiki


88

Come faccio a creare un ToC o un menu della barra laterale in un Wiki di GitHub?

Ho visto alcune menzioni di esso e gollum il backend sembra supportarlo, ma come posso farlo in un progetto GitHub corrente?

Dovrebbe essere basato automaticamente sulle intestazioni che ho nella pagina.

Tutti questi collegamenti lo menzionano, ma non mostrano come farlo:

  • https://gist.github.com/379469 - alcuni hack JavaScript
  • https://github.com/blog/774-git-powered-wikis-improved - GitHub lo menziona:

    "I wiki di GitHub hanno una capacità poco documentata per i piè di pagina e le barre laterali, qualcosa che alcuni dei nostri autori di Wiki basati su git hanno familiarità. Il nuovo editor Wiki ti offre un editing limitato sul web dei piè di pagina e delle barre laterali che hai sul tuo sito. "


3
Ho sviluppato GitHub Wikifier: un Git Hook pre-commit che genererà tutto il sommario di cui avrai bisogno. Scrivi il tuo contenuto e lascia che prenda il sopravvento. Potrebbe valere la pena controllare. github.com/kuroir/GitHub-Wikifier
MarioRicalde


Il codice di @MarioRicalde è stato spostato su github.com/hybridgroup/GitHub-Wikifier
Jonny

Risposte:


76

Mentre la tua soluzione funziona, c'è un modo più semplice per farlo utilizzando l'interfaccia web di GitHub. Puoi semplicemente creare una pagina denominata _Sidebare / o _Footer.

Vedi le istruzioni dettagliate nel generatore di menu della barra laterale di Github Wiki con multi-livello .

Modifica L'articolo originale è sparito e non riesco a trovarlo nella cache, quindi ho aggiornato il collegamento.


7
@CodeSherpa sono accessibili a https://github.com/[user]/[repo]/wiki/_Sidebar/_editehttps://github.com/[user]/[repo]/wiki/_Footer/_edit
nicerobot

1
L'articolo è stato ottimo ma fornisce informazioni errate (o non aggiornate) su come ottenere l'URL del wiki. Nel caso in cui ti sei perso come me, devi usare l'URL https://github.com/<username>/<projectname>.wiki.gito SSH git@github.com:<username>/<projectname>.wiki.git.
NightOwl888

1
Queste istruzioni dettagliate sono piuttosto scadenti. Cos'è un [[link]]? Inserendo un URL lì, viene visualizzato l'intero URL.
Pithikos

3
@Pithikos è Github Markdown parlare. Le istruzioni non sono lì per insegnarti Markdown. Sono lì per spiegare le barre laterali.
nicerobot

2
@nicerobot e il modo migliore per spiegare qualcosa è usare un esempio concreto ..
Pithikos

26

Quando sei nel wiki del tuo progetto, c'è un collegamento Aggiungi una barra laterale personalizzata . Fare clic su quello.

Inserisci qui la descrizione dell'immagine

Ora hai una pagina che modifichi come faresti con qualsiasi altra pagina Markdown . Per fare un sommario devi farlo manualmente però. Non esiste un metodo automatizzato (a partire da agosto 2014). Quindi per esempio:

# 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

Va bene. Fammi vedere se ho capito bene:

  1. Clona il tuo wiki GitHub. (C'è una sezione Git nel wiki. Puoi controllare il tuo codice simile a wiki.)
  2. Creare _Sidebar.md
  3. Nelle normali pagine wiki, usa [[link]]per la barra laterale
  4. Impegnati e rispedisci a GitHub

Questo processo è un rompicoglioni. Sono sorpreso che questo wiki "gollum" abbia qualche accettazione.

Inoltre: _Sidebar.md è quindi globale per tutte le pagine . Dovrei organizzare il mio wiki in cartelle, così posso definire barre laterali differenti per pagine differenti.


2
Secondo i documenti, è possibile aggiungere barre laterali diverse per cartelle diverse: "Le barre laterali influiscono su tutte le pagine nella loro directory e su tutte le sottodirectory che non hanno un proprio file della barra laterale". vedi: github.com/github/gollum
Subfuzion

10

Nota che la domanda originale riguardava la creazione di una barra laterale (facile, risolta nelle risposte) o di un vero e proprio sommario (senza risposta).

Una cosa che posso dire è che la sintassi wiki gollum 2.1 consente un [[_TOC_]]tag, ma un wiki GitHub non lo riconoscerà (ancora?).


4
Hai avuto fortuna? Questo è terribilmente frustrante essere arrivato da Trac, dove tutte queste cose erano facilmente realizzabili.
jooks

Penso che una risposta migliore alla domanda originale su come creare un sommario "basato sulle intestazioni che ho nella pagina automaticamente" sia attualmente impossibile con GitHub Wiki.
avernet

Questo è attualmente un problema aperto (troppo pigro per cercare il numero) su cui centinaia di persone hanno commentato. Nessuna
risposta

I problemi principali di GitHub che fanno riferimento a questo a partire dal 19/01/2017 sono: 1. Markdown - Sommario 2. Inserisci il sommario sommario generato automaticamente nei file di markdown renderizzati come README.md
ckib16

4

Penso che questo sia descritto nel GollumREADME . (Vedere le sezioni dell'intestazione e della barra laterale.)

In sostanza, crei un _footer.exte _sidebar.extnella directory contenente il contenuto della pagina.


2

Ho implementato il modulo npm github-wiki-sidebar per aiutare gli utenti di github a creare e mantenere facilmente il menu della barra laterale.

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

Pagine di origine (come visualizzate in Wiki admin):

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

Risultato (con ordine personalizzato):

Prerequisiti:

  • clona localmente il tuo repository wiki github (visualizzato in basso a destra dell'interfaccia utente Wiki)
  • installa la barra laterale di github-wiki

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

Crea / aggiorna il tuo menu wiki:

  • crea nuove pagine / rinomina pagine sul tuo amministratore wiki github.com
  • esegui localmente lo script github-wiki-sidebar nella tua cartella del repository 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
    

Il modulo consente la personalizzazione dell'output del markdown incluso l'ordinamento degli elementi, il separatore di categoria, il modello per il menu, il formato dei collegamenti e altro.


0

GitHub genererà automaticamente un sommario del documento:

  1. Crea il tipo di documento AsciiDoc invece di Markdown.
  2. Inserisci :toc:all'inizio del documento.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.