About

I built this little blog on my own using the Hugo static site generator, and I’m super proud of it. It’s honestly the most fun I’ve had in developing a website in years! I’ve learned a ton of things in the process, and I’m very capable of building websites using this framework. In fact, if you want a website for yourself or need one for your company, I’d love to build it for you. Just get in touch with me through the contact links on my About page and let me know!

Sometimes I write more technical posts about the work that went into building this site, and I’d love it if you check them out. The links below will take you to some of them.

Posts About My Blog Setup

  1. How to Set Up a Hugo Site on Github Pages - with Git Submodules!
  2. Hugo Themes - Making Modifications while Keeping the Source Up-To-Date

Custom Work / Add-Ons

Projects Page

My Projects page is a custom page layout that I built to be used within this site theme. I created a new site section called ‘projects’ so the layout can read from all subdirectories and display each set of projects in a list. Each project is its own bundled page directory with all relevant media.

content/
__ projects/
___| project1/
___|___| img/
___|___| project-page.md

Shortcodes!

Hugo shortcodes are awesome, and I’ve built a few to quickly display various items throughout my site. Here are some of the smaller ones I’ve built with the Go template code beneath. (I intend to host these on a Github repo in the future!)

mailgo
{{ if .Get 1 }}
  <span class="icon-link">
    <a href="#mailgo" data-address="{{ .Get 0 }}" data-domain="{{ .Get 1 }}" >
      <img src="/icon/mailgo.png" alt="mailgo" {{ with .Get 2 }} height="{{ . }}" {{ end }} />
    </a>
    
    <script src="https://cdn.jsdelivr.net/npm/mailgo@0.8.3/dist/mailgo.min.js"></script>
  </span>
{{ else }}
  {{ errorf "missing email params" }}
{{ end }}
LinkedIn
{{ if .Get 0 }}
  <span class="icon-link">
    <a href="https://linkedin.com/in/{{ .Get 0 }}" target="_blank" >
      <img src="/icon/linkedinmix.png" alt="LinkedIn" {{ with .Get 1 }} height={{ . }} {{end }} />
    </a>
  </span>
{{ else }}
  {{ errorf "missing public profile URL ending" }}
{{ end }}
<div class="gmap">
	<iframe src="https://www.google.com/maps/d/embed?mid={{ with .Get "id" }}{{ . }}{{end}}" width="100%" height='{{ with .Get "height" }}{{.}}{{else}}480{{end}}' frameborder="0" style="border-radius: 8px;"></iframe>
</div>