Blog Development
Progress
Refactored the structure of home page content for this site and developed a template for weekly updates.
Engineering Decisions
-
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