Portfolio Site Renewal¶
Context and Problem Statement¶
The existing WordPress portfolio site that was hosted on a home server went down due to issues with the Raspberry Pi being used as the home server. A plan for site creation and deployment needs to be prepared for a renewal.
Decision Drivers¶
- I'd like maintenance to be simple and convenient.
- I hope writing posts would be easy.
- The site doesn't have to be very nicely designed.
- It would be good if setting up Korean/English pages is possible.
Considered Options¶
- Create and deploy a WordPress site on a home server or external server
- Create using React (from scratch)
- Create using Jekyll
- Create using Gatsby
- Create using Sphinx
- Create using MkDocs
Decision Outcome¶
Chosen option: "Create using MkDocs", because
- This option had the lowest learning curve.
- This option satisfied all the decision drivers.
Pros and Cons of the Options¶
Create and deploy a WordPress site on a home server or external server¶
This is a method to reuse the previously created WordPress site.
- Good, because I can reuse the existing site.
- Bad, because the issues from operating the existing site (low design freedom if unable to directly examine HTML, JS source code; need for regular plugin updates) remain.
- Bad, because I need to fix the Raspberry Pi to run a home server, or incur costs for an external server.
Create using React (from scratch)¶
- Good, because high design freedom if implementation is possible.
- Good, because I can deploy for free using GitHub Pages if implemented as a static site.
- Bad, because I need to code in React for each page, requiring additional work beyond content creation.
- Bad, because I'm not very familiar with React syntax.
- Bad, because long-term maintenance requires knowing React, but I don't often code in React regularly.
Create using Jekyll¶
- Good, because many portfolio sites made with Jekyll already exist, providing numerous references.
- Good, because I can deploy for free using GitHub Pages.
- Bad, because Jekyll uses Ruby as the main language. I've never used Ruby and am unsure if I'll need it in the future.
Create using Gatsby¶
- Good, because many portfolio sites made with Gatsby already exist, providing numerous references.
- Good, because I can deploy for free using GitHub Pages.
- Bad, because I tried to create Gatsby site but stopped, thinking it would be better to use a simpler site generator with fewer additional features, like a wiki page.
Create using Sphinx¶
- Good, because it's familiar tool to me, mainly used for documenting Python projects.
- Good, because I can deploy for free using GitHub Pages.
- Good, because various user-created templates exist.
- Bad, because it requires using RST file format for documentation, which I've only seen used with Sphinx.
- Bad, because I'm not yet familiar with RST, and requires additional study.
Create using MkDocs¶
- Good, because it's familiar tool to me, which is used for Markdown-based documentation.
- Good, because I can deploy for free using GitHub Pages.
- Good, because user community is active and the Material framework developed for site creation, provides many convenience features for creating portfolio pages.
- Neutral, because it requires payment (need to support on GitHub) to use full features of Material.