DiscoTOC - índice automático

:discourse2: Resumen DiscoTOC te permitirá generar un índice interactivo para tus temas con un solo clic.
:eyeglasses: Vista previa Vista previa en Discourse Theme Creator
:hammer_and_wrench: Enlace al repositorio https://github.com/discourse/DiscoTOC
:open_book: ¿Eres nuevo en los temas de Discourse? Guía para principiantes sobre el uso de temas de Discourse

Instalar este componente de tema

Ejemplos

Escritorio

Móvil

Características

toc = índice

  • Genera automáticamente todo el índice mediante un botón en el menú de engranajes del compositor

  • El índice siempre estará en la pantalla: se desplazará con el contenido como el widget de progreso del tema

  • A medida que te desplaces por las secciones del tema, el elemento activo en el índice se marcará como activo (resaltado en azul)

  • Cada entrada del índice enlaza al ancla del encabezado, por lo que también puedes enlazar a una sección específica desde otro tema o publicación

  • Hacer clic en cualquier enlace del índice indicará al navegador que navegue a la sección correspondiente (desplazamiento suave)

  • En temas con respuestas, un botón Contenido / Cronología permite a los lectores cambiar entre el índice y la cronología normal del tema. La elección se recuerda en el navegador

  • Compatible con el complemento Discourse Docs

  • Soporte opcional para índices en respuestas, no solo en la primera publicación

  • Compatibilidad con RTL (de derecha a izquierda)

¿Cómo funciona?

En resumen, busca encabezados en los temas que estén marcados para tener un índice (a través del botón del compositor) y, si resulta que el tema actual está marcado, toma todos los encabezados y los coloca en el índice (anidados en orden de niveles de encabezado): esto significa que tu Markdown debe ser sintácticamente correcto.

# encabezado 1
## encabezado 2
### encabezado 3
#### encabezado 4
##### encabezado 5

Eres libre de subir y bajar en los niveles de encabezado, pero el orden debe ser correcto.

# encabezado 2
## encabezado 3
## encabezado 3
### encabezado 4
## encabezado 3
# encabezado 2

etc...

Algunas cosas que debes saber sobre qué encabezados son compatibles:

  • Se incluyen h1 hasta h5. h6 no se incluye.
  • Los encabezados dentro de citas se ignoran, por lo que las citas no ensuciarán el índice.
  • El índice solo aparece si la publicación tiene al menos tantos encabezados como indique la configuración de Mínimo de encabezados para el índice (3 por defecto).

¿Cómo funcionan los enlaces en el índice?

Cada encabezado en una publicación cocida obtiene una ancla en la forma p-<id de publicación>-<slug del encabezado>-<número>: es el objetivo detrás de un encabezado. DiscoTOC enlaza a esas anclas en lugar de inventar las suyas propias.

Como esas anclas incluyen la posición del encabezado en la publicación, cambian si reordenas o retitulás encabezados. Si estás enlazando a secciones desde otro lugar, puedes agregar anclas nombradas estables encima del encabezado:

<div><a name="mi-seccion"></a></div>
## Mi sección

Luego enlaza a /t/tu-slug-de-tema/1234#mi-seccion. Discourse permite <a name="..."> en las publicaciones. Las propias entradas de DiscoTOC seguirán usando las anclas principales de los encabezados, pero las tuyas seguirán funcionando independientemente de las ediciones.

Configuración

Nombre Descripción
nivel mínimo de confianza para crear índice Lo que se debe tener para ver el botón de índice en el compositor
texto del índice del compositor Texto que aparece en la parte superior del compositor para indicar que el tema tendrá un índice
categorías de índice automático Habilita automáticamente las categorías
etiquetas de índice automático Habilita automáticamente el índice en temas con estas etiquetas
habilitar índice para respuestas Permite índices en respuestas. Los índices de las respuestas no se ven afectados por las configuraciones de etiquetas de índice automático y categorías de índice automático y deben insertarse manualmente
mínimo de encabezados para el índice Número mínimo de encabezados en un tema para que se muestre el índice

texto del índice del compositor es lo que aparece en la vista previa del compositor para indicar que se generará un índice:

Traducciones

Traducción Predeterminado
table_of_contents índice
insert_table_of_contents Insertar índice
jump_bottom Ir al final
toggle_toc.show_timeline Cronología
toggle_toc.show_toc Contenido
table_of_contents: "índice"

esto se usa para el botón que abre el índice en dispositivos móviles

insert_table_of_contents: "Insertar índice"

esto se usa como texto para el botón de índice en el menú de engranajes del compositor

toggle_toc.show_toc: "Contenido"
toggle_toc.show_timeline: "Cronología"

estos etiquetan el botón que cambia entre el índice y la cronología del tema

¿Cómo creo un índice?

  1. Escribe un tema con encabezados sintácticamente correctos.
  2. Haz clic en el botón de índice en el menú de engranajes del compositor. Por defecto, solo aparece en la primera publicación de un tema; habilita la configuración habilitar índice para respuestas para usarlo también en respuestas.
  3. ¡Listo!

¿Qué le sucede al widget de progreso del tema cuando un tema tiene un índice?

No hay espacio para mostrar ambos al mismo tiempo, por lo que en un tema con índice, el widget de progreso del tema se oculta mientras estás en la primera publicación, y ves el índice en su lugar. Una vez que te desplazas más allá de la primera publicación, el índice se reemplaza por el widget de progreso del tema regular mientras lees las respuestas. (Con habilitar índice para respuestas activado, una respuesta que tenga su propio índice mostrará ese en su lugar).

En temas con más de una publicación, un botón Contenido / Cronología permite a los lectores cambiar entre los dos, y la preferencia se recuerda en su navegador.

En pantallas estrechas, el índice se abre como una superposición a través de un botón en el área de progreso del tema.

¿Hay alguna desventaja en usar este componente?

Casi todo ocurre en el lado del cliente, por lo que puedes eliminar el componente en cualquier momento y tus publicaciones se renderizarán como lo hacían antes. La única cosa que toca tu contenido es el botón del compositor: envuelve la publicación en un marcador <div data-theme-toc="true">, que es cómo el componente sabe que la publicación debe tener un índice. Si desinstalas el componente, ese envoltorio permanece en la publicación pero no tiene efecto visible.

Limitaciones

Los encabezados h6 y los encabezados dentro de citas no se incluyen en el índice.

Crédito

Esto comenzó como una bifurcación dura de la biblioteca tocify.js de Greg Franko, y desde entonces se ha reescrito como componentes nativos de Ember. No hay dependencias externas ni solicitudes.

Un gran agradecimiento a @erlend_sh por toda la valiosa retroalimentación y a @david por su ayuda con las traducciones.

:discourse2: ¿¿Alojado por nosotros? Los componentes de tema están disponibles para usar en nuestros planes Pro, Business y Enterprise.

182 Me gusta
Automatic Table of Contents generation
Creative Uses of Discourse
Wiki improvement – Split content into multiple sections?
:cn: DiscoTOC 自动内容表格
Traditional multi level hierarchy vs flat discourse hierarchy
What are the different ways to customize content inside a post (custom attributes and such)
Is anyone working on a Discourse Wiki?
Tagged topic progress bar - feasible or not?
Big Header - Little Header
Timeline with labelled step by step sections - how is this achieved?
How to get topic navigation menu
Theme Components - Can Discourse hosted sites install them?
Reader Mode
How To Add Marker To Table Of Contents Feature?
How do you create a table of content like this one?
How can i show a floating sticky 300x250 Adsense Ad on right side bar of topic page above the fold?
How do I add a table of contents sidebar to a topic?
Cannot deep link to anchor in text
How can I compare arbitrary revisions of a post?
Understanding Discourse for new users
Problem with DiscoTOC: TypeError: _offsetCalculator.headerOffset is not a function
How to create an In-app Knowledge Base with Discourse Docs?
OP Contents on Progress Bar
How to get topic sidebar
Customizing your site with existing theme components
Link to headers (anchor links)
Outline Enable
What is essential content for a new community?
Tools for creating image-heavy articles
Layouts Plugin
Adding DiscoTOC to Published Pages
Customize Your Site Branding
Discourse Doc Categories
Gif icon not displaying and showing error
Must have plugins and components for Discourse?
I created a bookmarklet to create the table of content for forum posts
Could a List of Recommended Topics Be Added to the Top Menu?
?page=n URLs have high CLS hence bad SEO
Something recently changed, can't increase `--topic-body-width`
How to enable side navigation?
Displaying "full topic" text on category page + access to subcategory from menu bar
Improve iPad screen real estate
Missing anchor links in certain TOC topics?
DiscoTOC not showing in composer after latest component update
Missing anchor links in certain TOC topics?
How to create a documentation theme used by discourse
Where's Jump to end?
Handling anchors in posts created with markdown
Reader Mode
Hidden Timeline button
Horizon Theme
Collections
Bulk Export of Raw Post Sources with Markup
AI summary in topic header
Contents button and Timeline button floating unexpectedly
Living with corrupted SVGs for almost a year. Need Help!
Wiki table of contents on pro plan
Auto-Linkify Words
Missing strings (DiscoTOC)
Copy pasting nested lists from Word into a post
:cn: Discourse Post Formatting Guide 加点格式,让帖子多姿多彩
Require users to "Reply as Linked Topic"
Links not working
Using Posts as a Wiki?
Using Posts as a Wiki?
Is anyone working on a Discourse Wiki?
Using Posts as a Wiki?
Using Posts as a Wiki?
DiscoTOC & Brand Header - using together
Docs: Add link to top menu
More than two levels of [details]
Category page with fixed organization of topics
Blog Post Styling
Inlink the topics within the same article
Navigating to local URL fragment doesn't modify browser history
Relating to Profile Picture Scroll Functionality
Need to include PGN (chess game notation) in a post
How can I get a table of contents for my docs?
Linking to a heading within a post
Topic list on the right side
Set up Slack notifications using the discourse-chat-integration plugin
Wrong title in the history popup (firefox)
Possible to insert post in a topic
I created a bookmarklet to create the table of content for forum posts
How to add table of content sidebar beside a topic?