Updating KB collections

Initially, KB collections structure of this website was:

- collection
    - _circleci
    - _css
    - _javascript
    - _jekyll
    - ...
    - _posts
    - ...

but it resulted in a loooot of duplicates:

  • collection definition in _config.yml
  • collection default front matters in _config.yml
  • data entry in data/kb.yml

For the data file, it is quite light and the user friendly name has to be stored somewhere so nothing will be changed. However, collection structure could be improved

I then switched to:

- collection
    - _kb
        - circleci
        - css
        - javascript
        - jekyll
        - ...
    - _posts

Notice that technology names have stripped the underscore prefix.

Like this:

  • only one collection definition and default front matters in _config.yml
  • technologies list is dynamic provided the name is input in kb.yml data file

However, it breaks the KB menu (on the left) and the linking from posts to articles

  • posts to articles links are easily updated (change collection folder)
  • KB page menu must involve grouping by a front matter, which is kind of duplicating this information but as these front matters are generated by a script, it’s OK

Articles: