Hugo, a Golang Framework to Build Websites
Hugo is a powerful template system for building static and compliant websites.What I was trying to accomplish
When Donna and I travel, we would often start a travel blog. This varied from writing an email to each other on our thoughts, feelings, likes and dislikes. Writing the email on a daily basis quickly became cumbersome and we would forget to update it. After a few months of traveling we found that our representations of where we were became more of a question rather than a recollection. We needed something to help us track, represent, and chronicle our travels.
Commercial products like wordpress, wix, drupal, etc.. exist to help people accomplish publishing all sorts of content. I however wanted something that was fast, advertising free and something I was in full control of. I also wanted to control my own data, viewership, membership and not have any vendor lock-in. Looking at many of the top RV sites, it seems that wordpress is the market leader. Wordpress is a commercial product with prices ranging from $4 - $65+ per month. My intention is to take and post as many pictures as possible. The plans from wordpress with 225GB of storage would not grow with me in a cost effective manner. Additionally the features to justify the high cost are simply not things I would use. IE: I am not a merchant, I am not trying to sell anything, I don’t need shopping carts, store design kits, or inventory management.
With commercial products out of the picture due to cost, scalability, speed, and features. I decided to build my own. I know a few languages, however front end presentation work is not my area of expertise. I needed something I could dissect quickly and grok out of the box. After a few days of searching I found hugo. A golang static site generator (https://gohugo.io/). Hugo was written in a language I have produced production code in. Hugo has an active user base with excellent documentation, and support forums that were clear and concise.
Content creation workflow
Use our phones to take pictures. All picture automatically get added to photos.google.com
The photos service from google allows a few critical features. Automatic backup and geo tagging. The adage a picture is worth a thousand words applies here as I can recollect feelings and thoughts from reviewing pictures.
This is often where I start writing content. I review pictures from the day prior and put my thoughts into markdown. Hugo takes markdown and converts it into content that exist in the archetypes you create.
Another critical feature of the photos UI is the geo tagging. This allows me to associate a picture to a place in a highly reliable way. Allowing me to us the shortcodes from google maps in the page to represent where we were and what we were doing.
TODO list
Image processing with Hugo
- Do stuff with exif data
EXIF Data ProcessorEXIF Data Collection- LAT LONG Storage/query
- Trip GPS data display
- Hugo image processing with internal and external links
Enable Dynamic Search
Build local searchLocal Search with Lunar.js
Template modifications
Create an archive of all published pagesarchiveHave separate archetypes for categoriesarchetypes
Enable subscription services
Create a subscription serviceRSSRSS/XML ReadersEmail subscriptionSending emails
Improving Performance
Make site fast and reliableFix formatting for good page speed scoringIntegrate into CDN
Enable Google services
Enable Google Search consoleSetup Google Search ConsoleEnable Google AdsenseDid it, removed it due to me not liking ads
If you would like email or rss feed updates. Visit the Subscribe page