This post is a short one dedicated to sharing how I built out this website, www.deflor.net, and how I write and share posts. A couple of my friends have been interested in how I set it up, so I figured this might be nice to put together and post.
Background#
I am a software engineer by trade, but not a web developer per se, so building this site was something for which I had to do a bit of up-front digging to get up to date on the latest and greatest since my school days. My interest was to make something rather customizable and lightweight, fun to maintain, using some of the tools that I already enjoy using for my software engineering work. Nine months from launch, I believe I have achieved those objectives.
Below is what my website is built on, and how I make new posts on it, as of writing.
Foundation#
Domain#
I use Namecheap.
Hosting and Continuous Deployment#
I use GitLab. (GitLab Pages functionality specifically)
Website Creation Framework#
I use the Hugo framework .
I use the Blowfish theme specifically; there are many nice themes.
There are many ways to build a nice personal website; Wordpress, Wix, etc. I have touched several in the past, but I wanted to try something new, that was easily source controlled & hosted via Git and GitLab, without adding a lot of extra weight to writing and sharing posts. After some research, Hugo fit the bill perfectly for my interests and current needs, as a quick and clean static website creator.
Source Control#
I use Git and GitLab. From desktop, I use GitBASH on Windows.
Writing and Editing#
(Writing and editing could technically be done directly in GitLab web browser editor, but I do it in the manner detailed below, personally)
Writing my posts#
Typically I write blog posts in Microsoft Word or Apache OpenOffice Writer, and write poetry in Microsoft Notepad or whatever Notes-style app I happen to have handy.
Organizing my posts#
I currently break my website into overall “Blog” and “Poetry” folders, plus some one-off top-level pages, like “Gallery,” “Contact,” etc. And, of course, the home page.
Categories and Tags#
For further subdivision in both my blog section and my poetry section, I use the categories and tags taxonomy descriptors of the Hugo framework. I use categories for general topics / labels relevant to the post, and tags for more specific terms.
Editing my posts for final Markdown adherence#
I use Vim (which is included in GitBASH).
Final posting#
I flip the post from draft to ready in Hugo front matter, git commit, & git push from desktop GitBASH to GitLab Pages.
The website rebuilds and re-deploys automatically via a GitLab CI/CD Pipeline, with the new or updated post available for public viewing.
