Personal Portfolio and Blog
Introductory Note
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.
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.
PDF Render
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
Commenting
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.