About

CLIpedia borns as a space to collect and organize resources about CLI and terminal programs. We believe that the command line still has a huge relevance in computing systems even in these days when everything mostly shines through the web or mobile phones.

The goal of CLIpedia is to have a place where to report interesting CLI/TUI programs, with their characteristics and to show how they look using images and screenshots (mostly taken from the web). The consistent use of tags also helps in categorizing the content.

The motivation for CLIpedia

I personally made several attempts and carry on several initiatives to collect the types of resources that you can find here on CLIpedia.

The Awesome list on GitHub

For example, I (somehow) regularly update my Curated Awesome list of CLI/TUI programs, where CLI apps and resources are listed concisely. The nice of that Awesome list is that the information are well structured in CSV files that are easy to work with and very effective when it is time to make some statistics. In fact, some Python machinery is included in the repository to generate the README page displayed by GitHub together with some updated stats. The drawback is that it is not well suited for including information made by images, screenshots, animated GIFs, Asciicasts and other multimedia content.

My Shaarli collection of links also contains many references to CLI apps. You can isolate the references to the CLI apps by searching the tag #cli-app. Following this link you will point directly to the result of the search.

The main advantage of using Shaarli is that I can easily add new links when I find them while surfing the Internet from the mobile phone. It allows the inclusion of much more content w.r.t. the GitHub project, and provides support for tags with builtin listing and counting. On the other hand, the possibility to include "unusual" content, such as Asciicasts or embedded youtube videos is very limited, as well as the editing capabilities of the internal markdown editor. Moreover, given the nature of the backend database used by Shaarli, it is not directly possible to host my own images or other non-textual content. In some cases I point to external URLs, but they may be ephemeral and disappear in any moment.

Using a static site generator

To overcome the limitations of the above approaches, CLIpedia borns as a regular website, with all the flexibility to manage CSSs and other visual aspects.

On the other hand, I want to produce and edit the content without the need of a web interface. Therefore, all the CMS-like solutions such as Wordpress are out of scope, leaving space to the use of the Hugo static site generator. Once put together with the right theme supporting tags, responsive content and all the (few) necessary requirements, I was ready to start populating the content without too much hassle about styles and other web-related pains.

Philosophy

The key points are, in short:

  • The goal is not to write full-fledged articles for each tool, but to have a space where easily and freely collect info about CLI/TUI projects, also including resources available on the web (other articles, screenshots, etc.), and organizing the material with tags.
  • CLIpedia posts may be subject to updates as new interesting info emerges about a command, making an article more similar to a wiki page than to "usual" blog posts.
  • Since the web is already full of high quality material, some content will be taken and mostly re-elaborated from available sources (programs homepages, articles, etc.).

Acknowledgements

CLIpedia is realized with the help of

  • The Hugo static site generator.
  • The hugo-clarity template with some customizations.