Things One Needs To Know

Picking a Theme, Functional Requirements and Things One Needs To Know

So you’ve made the decision that you will execute your Static Web Project using Hugo and now it is time to select a “Theme”. You will find that there are many, many options for this. A good place to review some of the options for this can be found in the Hugo Themes Library.

In my case, I selected the Mainroad Theme as a place to start.

Earlier in this discussion it was mentioned that a good place to start on an effort is to specify the “Functional Requirements”. To that end there are five areas of discussion and research that I would like to expand upon with this web presence.

  • Overall Background on myself, the origins of Knowledge Implementations and the history of Web Technology
  • Website Development - a detailed discussion of the technology tradeoffs and approach taken to implement this site
  • Market Analytics - an attempt to define a framework for generating indicators that can provide actionable intelligence to support short term range trading of financial instruments
  • RF Communications - reflections and conclusions on decades of radio technology and ham radio experience
  • Photography - musings on the art of photography and it’s role in documenting the moments of time that make up one’s life journey

The basic units of content organization for a Hugo theme are Home, Section and Type. If you put a content file into a content directory it will automatically be classified to be the Section and Type associated with that directory. A content directory is any subdirectory of the ‘content’ folder that was created when you used the hugo new site command line function to create a new site. Desmond Lua of Luasoftware.com provides an elegant review of this feature. The beauty of this feature is that it does not depend on whether you use the hugo new command line function to create the folders and content or if you create them with a file manager and a text editor. The end result is the same.

If you choose to use the command line functions, Hugo will automatically populate the basic scaffolding of the content file according to the “Archtype” that is represented by the location in the directory structure of the new content. The scaffolding for the file of a particular Archtype is determined by content items found in the archtypes folder of either the site itself or the theme chosen. Whatever is found first as Hugo iterates down it standard search path determines what will be used for the new content.

If the ‘hugo new’ command line function is used then all of the content of a specific variety will start with the same basic structure. This can speedup the process of generating new content of a particular variety and encourage a design discipline that keeps all items of the same variety uniform, but if this is not important, a simple cut and paste of information from file to file will accomplish this as well. In other words, there is no secret magic associated with the use of the ‘hugo new’ command line function other than providing the basic content that this variety of content uses by default as a starting point.

With this in mind I went ahead and generated the content file structure for my site by executing something like this:

mkdir content/"Website Development"
mkdir content/"Market Analytics"
mkdir content/"RF Communications"
mkdir content/Photography

In this structure the top level of the content directory is where the “Home” file, _index.md, lives. This is where I will put the web history information mentioned above. Other support files such as an About.md and Resume.md file that will contain information about Knowledge Implementations and myself will also live at this root level.

Namaste