Ce petit hack, tiré du blog de Zhy Yong, “Add ‘Related Posts’ Section to Octopress”, permet d’afficher une liste d’articles relié au post affiché.

Il s’agit là d’une des bonnes pratiques, non seulement en terme de SEO, mais également pour aiguiller le lecteur une fois l’article terminé.

Premièrement, éditez le fichier _config.yml pour y ajouter la ligne suivante :

<span class="err">lsi</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span>

Ensuite, créez le fichier source/_includes/post/related_posts.html avec le contenu suivant :


  <h3>Related posts</h3>
  <ul class="posts">
  
    <li class="related">
      <a href="/2018/09/14/54402.html"></a>
    </li>
  
    <li class="related">
      <a href="/2018/09/14/test-de-forestry.html">Test de Forestry</a>
    </li>
  
    <li class="related">
      <a href="/2017/02/14/debian-laptop-tlp.html">Laptop sous Linux : gestion de l'énergie</a>
    </li>
  
  </ul>

Il suffit maintenant d’inclure le fichier nouvellement créé à l’endroit voulu, probablement quelque part dans votre fichier source/_layouts/post.html

 % include post/related_posts.html %}

Afin de générer l’index nécessaire au calcul des articles similaires, il faut installer la gem gsl. Ajouter donc la ligne suivante dans le Gemfile

gem 'gsl'

Installez-la en exécutant :

bundle

Pour terminer, il faudra installer gsl sur votre système.

Pour MacOS :

brew install gsl

Pour Ubuntu/Debian :

<span class="nv">$ </span><span class="nb">sudo </span>gem install gsl-bin

Il ne reste plus qu’a regénérer le contenu statique de votre blog pour voir le résultat

rake generate

Note

Après cette modification, vous remarquerez deux nouvelles étapes qui peuvent prendre un peu plus de temps lors du rake generate: Population LSI et Rebuilding index

<span class="nv">$ </span>rake preview
Starting to watch <span class="nb">source </span>with Jekyll and Compass. Starting Rack on port 4000
Configuration file: /Users/cedric/Code/cedricbousmanne.github.io/_config.yml
<span class="o">>>></span> Compass is watching <span class="k">for </span>changes. Press Ctrl-C to Stop.
            Source: <span class="nb">source
       </span>Destination: public
      Generating...
<span class="o">[</span>2015-10-04 21:29:47] INFO  WEBrick 1.3.1
<span class="o">[</span>2015-10-04 21:29:47] INFO  ruby 2.0.0 <span class="o">(</span>2014-02-24<span class="o">)</span> <span class="o">[</span>x86_64-darwin13.1.0]
<span class="o">[</span>2015-10-04 21:29:47] INFO  WEBrick::HTTPServer#start: <span class="nv">pid</span><span class="o">=</span>15455 <span class="nv">port</span><span class="o">=</span>4000
    write public/stylesheets/screen.css

  Populating LSI...
Rebuilding index...