Ricky W. Johnson

Blog Development

Progress

Refactored the structure of home page content for this site and developed a template for weekly updates.

Engineering Decisions

  1. Decoupling Content/Presentation: For non-blog text content, separated it out from the pages that display it by storing it in an object data structure within a separate JS file. The object's keys relate to the section of the site and values that are JSX snippets containing the text content.

    • Pros: Clearer separation of concerns, easier to maintain, can update text content without risking unintended side effects to presentation layer.

    • Cons: Not portable to other non-JS code bases.

    • Alternative Approaches: Store text content in a JSON file that could be fetched during build time, which would be more portable to other code bases. Decided the additional complexity was not worth it as I do not forsee using the text content outside of this personal site, thus the portability is unnecessary.

Learnings

  • Front Matter and the ability to parse it easily with npm libraries
  • Headless CMS and its implementation for a BLOG product