Originally created as a simple HTML/CSS site hosted statically I immediately annoyed at the copy/pasting required to format my various projects, experience etc in the same formatting. I at first used Handlebars to do some simple templating backed by JSON files. This worked well but since everything was rendered on the client side it negatively impacted searchability by robots like Google.
After comparing many static site generators I landed on HUGO. HUGO’s templating language uses go for the logic, and includes a live server for local development. This site’s details (experience, skills, personal info) are all still fed by a collection of JSON data files that decouples presentation from content, but is only generated once as part of a CircleCI workflow.
This site itself is a static site generated by HUGO via a CircleCI’s Continuous Delivery pipelines from a github repository.
One of the downsides to a static site is no backend service or Db to support searching by users. Many Hugo sites use 3rd party services to index and search pages, or complex workflows involving npm, grunt or other tools. Instead I opted for purely client side solution that leverages Hugo’s native functionality. You can try search out on this site. The approach was later included in Hugo’s documentation as one of the possible paths to implement searching.
Project link: https://github.com/eddiewebb/json-resume