Le informazioni vanno organizzate per essere fruibili.

Le informazioni vanno organizzate per essere fruibili.

Photo by Maksym Kaharlytskyi on Unsplash

A cosa serve avere un indice

Perché mai dovrei mettere un indice (table of contents) dentro l’articolo di un sito web? Nel caso di articoli molto brevi probabilmente non è necessario, ma se si pubblicano articoli di una certa lunghezza, oppure guide/manuali, un indice è molto utile per fornire al lettore una scaletta del contenuto per poter accedere direttamente alla sezione che più gli interessa.

Inoltre anche da un punto di vista SEO pare che avere un indice ben strutturato e con delle ancore che puntano varie sezioni, sia molto utile. Pertanto con un semplice indice si ottiene un vantaggio sia per l’utente che per il posizionamento su Google.

Come inserire il table of contents (indice)

Nel caso di un sito web creato con Hugo + ox-hugo, la creazione dell’indice è facilissima.

Negli articoli in cui si vuole inserire l’indice basta aggiungere questo parametro:

:EXPORT_OPTIONS: toc:1

Inserendo il valore 0 invece se ne disattiva la generazione, mentre inserendo un valore maggiore di 1 si crea un indice a più livelli che segue la struttura dei vari heading. Quindi, se metto toc:2 ed ho sia degli h2 che degli h3 nidificati, l’indice verrà creato in due livelli usando tali titoli/sottotitoli.

Questo indice viene generato direttamente da ox-hugo ed inserito come codice markdown nel file che poi verrà processato da Hugo.

Come tradurre il titolo

Di default l’indice viene aggiunto nei post con un titoletto in inglese, Table of Contents. Se però vogliamo inserirlo in una lingua diversa, ad esempio in italiano, basta specificare la lingua del post ed automaticamente il titolo verrà tradotto. Ci sono tre modi per farlo:

  • Inserendo una direttiva front matter direttamente nelle proprietà del singolo post.

      :EXPORT_LANGUAGE: it
    
  • Inserendo la stessa direttiva nel sub-tree che contiene il post. In questo modo tutti i post del sub-tree saranno visti in tale lingua.

  • Da oggi si può anche dichiarare la lingua direttamente in testa al file .org gestito da ox-hugo grazie a https://github.com/kaushalmodi/ox-hugo/issues/366[questo bugfix]]. In questo modo non serve dover specificare la lingua in ogni post:

      #+language: it
    
Leonardo Finetti

Leonardo Finetti
Si occupa di informatica dalla metà degli anni novanta principalmente in ambito web con tecnologie Open Source. Esperto di Drupal e di SEO offre consulenze in tali ambiti e nel tempo libero si diletta scrivendo articoli di informatica ed anche di design, ergonomia, usabilità e sicurezza.