ToC o barra lateral en GitHub Wiki


87

¿Cómo creo un ToC o un menú de barra lateral en un Wiki de GitHub?

Vi algunas menciones y gollum el backend parece admitirlo, pero ¿cómo lo hago en un proyecto actual de GitHub?

Debería basarse mejor en los encabezados que tengo en la página automáticamente.

Todos estos enlaces lo mencionan, pero no muestran cómo hacerlo:

  • https://gist.github.com/379469 - algunos trucos de JavaScript
  • https://github.com/blog/774-git-powered-wikis-improved - GitHub lo menciona:

    "Los Wikis de GitHub tienen una capacidad poco documentada para pies de página y barras laterales, algo con lo que algunos de nuestros autores de Wiki basados ​​en git están familiarizados. El nuevo editor Wiki le brinda una edición limitada basada en la web de los pies de página y barras laterales que tiene en su sitio. "


3
Desarrollé GitHub Wikifier: un Git Hook de confirmación previa que generará toda la tabla de contenido que necesitará. Simplemente escribe tu contenido y deja que se haga cargo. Puede valer la pena un cheque. github.com/kuroir/GitHub-Wikifier
MarioRicalde


El código de @MarioRicalde se
Jonny

Respuestas:


76

Mientras su solución funciona, hay una manera más fácil de hacerlo usando la interfaz web de GitHub. Simplemente puede crear una página con el nombre _Sidebary / o _Footer.

Consulte las instrucciones detalladas en el generador de menús de la barra lateral de Github Wiki con varios niveles .

Editar El artículo original desapareció y no puedo encontrarlo en la caché, así que actualicé el enlace.


7
@CodeSherpa están disponibles en https://github.com/[user]/[repo]/wiki/_Sidebar/_edityhttps://github.com/[user]/[repo]/wiki/_Footer/_edit
nicerobot

1
El artículo fue excelente, pero brinda información incorrecta (o desactualizada) sobre cómo obtener la URL de la wiki. En caso de que estés tan perdido como yo, debes usar la URL https://github.com/<username>/<projectname>.wiki.gito SSH git@github.com:<username>/<projectname>.wiki.git.
NightOwl888

1
Estas instrucciones detalladas son bastante pobres. ¿Qué es un [[link]]? Poner una URL allí da como resultado que se muestre toda la URL.
Pithikos

3
@Pithikos es el habla de Github Markdown. Las instrucciones no están ahí para enseñarte Markdown. Están ahí para explicar las barras laterales.
nicerobot

2
@nicerobot y la mejor manera de explicar algo es usando un ejemplo concreto ..
Pithikos

26

Cuando estás en la wiki de tu proyecto, hay un enlace Agregar una barra lateral personalizada . Haga clic en eso.

Ingrese la descripción de la imagen aquí

Ahora tiene una página que puede editar como editaría cualquier otra página de Markdown . Sin embargo, para hacer una tabla de contenido, debe hacerlo manualmente. No existe un método automatizado (a partir de agosto de 2014). Así por ejemplo:

# 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

Bueno. Déjame ver si entiendo esto correctamente:

  1. Clona tu wiki de GitHub. (Hay una sección de Git en la wiki. Puede consultar su código similar a una wiki).
  2. Crear _Sidebar.md
  3. En páginas wiki normales, use [[link]]para la barra lateral
  4. Confirmar y devolver a GitHub

Este proceso es un dolor de cabeza. Me sorprende que esta wiki de "gollum" tenga alguna aceptación.

Además: _Sidebar.md es por tanto global para todas las páginas . Tendría que organizar mi wiki en carpetas, para poder definir diferentes barras laterales para diferentes páginas.


2
De acuerdo con los documentos, puede agregar diferentes barras laterales para diferentes carpetas: "Las barras laterales afectan a todas las páginas de su directorio y cualquier subdirectorio que no tenga un archivo de barra lateral propio". ver: github.com/github/gollum
Subfuzion

10

Tenga en cuenta que la pregunta original se refería a la creación de una barra lateral (fácil, resuelto en las respuestas) o una tabla de contenido real (no respondida).

Una cosa que puedo decir es que la sintaxis wiki de gollum 2.1 permite una [[_TOC_]]etiqueta, pero una wiki de GitHub no reconocerá eso (¿todavía?).


4
¿Has tenido algo de suerte? Es terriblemente frustrante haber venido de Trac, donde todas estas cosas se hicieron fácilmente.
bromas

Creo que una mejor respuesta a la pregunta original sobre cómo hacer una tabla de contenido "basada en los encabezados que tengo en la página automáticamente" es que actualmente es imposible con GitHub Wiki.
avernet

Este es actualmente un tema abierto (demasiado perezoso para buscar el número) que cientos de personas han comentado. No hay noticias de GitHub todavía :(
abalter

Los principales problemas de GitHub que hacen referencia a esto a partir del 2017-01-19 son: 1. Markdown - Tabla de contenido 2. Insertar tabla de contenido TOC generada automáticamente en archivos de markdown renderizados como README.md
ckib16

4

Creo que esto se describe en el GollumREADME . (Consulte las secciones de encabezado y barra lateral).

Básicamente, crea un _footer.exty _sidebar.exten el directorio que contiene el contenido de la página.


2

Implementé el módulo npm github-wiki-sidebar para ayudar a los usuarios de github a crear y mantener fácilmente el menú de la barra lateral.

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

Páginas de origen (como se muestra en el administrador de Wiki):

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

Resultado (con pedido personalizado):

Pre requisitos:

  • clone su repositorio wiki de github localmente (que se muestra en la parte inferior derecha de la interfaz de usuario de Wiki)
  • instalar la barra lateral de github-wiki

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

Crea / actualiza tu menú wiki:

  • crear nuevas páginas / cambiar el nombre de las páginas en su administrador wiki de github.com
  • ejecute localmente el script github-wiki-sidebar en su carpeta de repositorio 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
    

El módulo permite la personalización de la salida de rebajas, incluido el orden de los elementos, el separador de categorías, la plantilla para el menú, el formato de los enlaces y otros.


0

GitHub generará automáticamente una tabla de contenido del documento:

  1. Haga que el documento escriba AsciiDoc en lugar de Markdown.
  2. Insertar :toc:al principio del documento.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.