Why this site? How it's made.
2 min read

Why this site? How it's made.

Lately, I have been eager to learn more about web-based stacks and technologies. So, I put this site up partly as a learning experience and partly to share my passion for emerging technology, being an early adopter, and thinking about our future as we move from analog to digital.
Why this site? How it's made.

Why I made this site

Most of my professional tech career has been working on backend systems, systems integration, operations, and automation. Several years ago, I took a leave of absence from work and attended a two-month-long Bootcamp for iOS development. That led to an incredible opportunity to work with emerging technology, like mobile, IoT, and Virtual Reality (VR).

Lately, I have been eager to learn front-end stacks and technologies. So, I put this site up partly as a learning experience and partly to share my passion in emerging technology, being an early adopter, and thinking about our future as we move from an analog to a digital world, and from flat, 2D web and mobile experiences to immersive 3D virtual worlds.

How I made it

Each time I look at JavaScript and web platforms (is this the right word?), I am overwhelmed by the number and variety of options available. Options are great, and it's fantastic to see such a vibrant ecosystem. However, it can be challenging for newbies to know where to start and which open-source project is stable, or which one is gaining momentum in the dev community. At some point, you need to pick one and start.

Ghost

I settled on Ghost as my static-site generator. I have used Hugo in the past and felt that it required quite a bit of care and feeding to blog. In my opinion, it relies heavily on the developer side and is not so friendly to authors with a less technical background.

On the other hand, Ghost appeared to be a modern, author-friendly content management system (CMS), aka blog. I like that it is Node-based and that there are beautiful themes to start. The Docker community manages the Ghost image, with more than 100M downloads! That gives a lot of credibility to the project and signals an active community of developers and theme builders, and that help is easy to find.

Development

Presently, these are the Ghost integrations that I have configured. There will be more in the future 🤓

Development Environment

TIP: How I run the container with data persistence

docker run -d --name kirby-ghost -v /Users/kirby/dev/ghost/kirbyshabaga:/var/lib/ghost/content -e url=http://localhost:3001 -p 3001:2368 ghost
  1. I mount my local development folder to var/lib/ghost/content for file persistence. If you forget to do this, your changes will be lost every time you start the container.
  2. I set a config parameter and perform port mapping so that from my macOS browser when I go to http://localhost:3001, the request is routed to the ghost container.
  3. If I change to a handlebars file .hbs or other configuration change that would typically require a ghost restart command, from my macOS terminal, I type docker restart kirby-ghost and I'm ready to test in two seconds!

Production Environment

TIP: Make sure to perform backups!

Tutorial?

Once I get settled on the integrations I am using and have GitHub actions in place, I may create a full tutorial on setting this up for yourself.

Be seeing you!

Enjoying these posts? Subscribe for more