Personal Portfolio and Blog

Portfolio Homepage

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.

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.

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.

Yiping Su
Yiping Su
Software Engineer

I am interested in data, software engineering, and the application of computer science concepts in real-world scenarios.