The website you are currently visiting is my personal portfolio and blog. I consider this site
an active, ongoing project of mine because I will be continually updating it with new
tool integrations and posts.
The Hugo theme, Wowchemy, is developed by George Cushen. I am using George Cushen’s theme,
reformatting the basic templates, and adding new API integration for my personal customizations.
The default theme demo can be found here.
Wowchemy is free to use and customize under the MIT License.
This project page will go over my design choices and third-party integrations.
Further analyses will be added as I integrate or create new functionalities.
Design
Custom Domain
My custom domain was registered at Google Domains.
I generally recommend Google Domains over other domain registrars because Google Domains is:
Inexpensive
Provides included privacy protection
My domain costs $12 a year with included privacy protection, and I have enough faith in
Google that it will not raise prices without notice.
Site Hosting
This site’s source code is hosted on GitHub in a private repository.
I update my site by pushing changes to the repository.
Deployment
The site is deployed by Netlify. Netlify has a deploy key which
allows it to continually update my site when I push new changes to the repository.
Single vs Multiple Pages
I chose multiple pages over single pages because the amount of technical
and project posts would end up increasing the total amount of widgets on the homepage.
Furthermore, linking menu items to homepage widgets will persist even after the user
changes to different pages. Clicking the back-button will cause the user to jump back
to the previous widget it was set to.
Integration
Prodibi
Prodibi is an image platform which allows you to embed high resolution photos
to a website. I am using their API to display my travel albums from New Zealand,
Australia, Japan, and California.
I wrote a simple Prodibi shortcode for Hugo. Feel free to use the code below.
I originally used Google Drive Viewer to render my PDF files, however, I noticed that the viewer had
a bug where it would occasionally return an error code. Thus, I decided to embed the PDF file directly instead.
The shortcode I wrote will:
Display the PDF file using the browser’s native plugin
Link to where the PDF can be found if render is unsuccessful
If the browser is able to render the PDF file, it will do so. If not, the browser will display an error message and link
to the address given in the url parameter of the shortcode.
The comment system is provided by Commento. Commento is a
lightweight, and privacy-oriented comment platform. You can choose to either use a hosted
plan or host a server yourself.