# Blog Engine: The foundation underneath
Before I write this blog post I am a bit confused. How do I make it?
Do I make it technical, a bit cheesy, or personal..?
Well, I have decided, that for now as I write this I am going to do it free-flow.
Which means it is what it is. The title will be decided after.
So at first let me try to introduce you to my blogging engine. It's bare-bones, pretty simple and I'm excited about it. Excited because I'm basically doing it from scratch^1.
I like simplicity and less moving parts. In fair contrast to my tendency to try to put things together and orchestrate something more complex.
This blog's base shall perhaps be in a tussle between those two ends. :)
I'll try to keep the components simple though whenever possible (and free^2 !).
^1 That's not wholly true. I am using a little library for rendering it.
Other pre-built components may be tacked on over too, but all vetted and optional.
^2 Free as in freedom respecting software
So for a simple introduction: Try to right click on the page and `view page source`.
What you'll find is a little script header with the blog contents following underneath.
All main contents are in a simple text format (markdown/MD),
not even the basic html `p` or `a` elements etc littering the content.
What's up with that?
The script at the top reads the contents of the "md-content" element below and does some basic [MD -> html] conversion right in your browser.
Don't allow scripts in your browser? No problem.. It's all MD anyway, read away.
You can even `wget` and `cat` or `less` it in peace without annoying html tags ruining readability.
### More about the script
My inspiration for this concept was oscarmorrisons project [md-page](https://github.com/oscarmorrison/md-page).
It allows you to slap a line to your MD and have it render as a web page.
The script running here is essentially a private fork of the same. Meaning I've made some customisations for my use case.
What the script does essentially is :
1. Read the contents of specific element (here one with id="md-content") and delete it.
2. Pass it through a library [Showdown](https://github.com/showdownjs/showdown) to get it's html representation.
3. Dump the html back on to the page.
If the script doesn't run that's alright too.
All the contents are preserved neatly in a `pre` formatted tag, so you'll see them as plain old MD text.
Above I discussed the main part of the blog. The contents.
Another popular popular part of many blogs is a comment section.
Writers like getting feedback on what they write (and a sense that at least someone other than an indexing bot is reading :P)
And people love sharing their opinion, or reading what others think. We are very social creatures after all, altogether.
Recently irc has caught my fancy. Having forced myself to familiarize myself with it to reach foss contributors that could possibly mentor me (for outreachy),
eventually I really started liking it. Almost anyone can use irc and the communication is not restricted to something like 'accounts' which you need almost everywhere else.
Here, you just choose a *nick*! Sure, to 'reserve' a chosen nick you may need an account, but that's another matter.
So I thought it'd be cool to have irc as the base of discussions for my blog. For doing so first I created a channel there to host these discussions.
The comment section on my blog currently is just an embedded webchat pointing at that channel.
But of course, irc is more of a live communication platform. There's no logs or history by default.
My intention is to have discussion for any blog post saved to a log and embed the log onto the same page. The 'how' details are to be decided (coming soon)
For now, anyone can still send me message though using the comment section for feedback. With permission I'll just manually place comments back on the page for now. :)
Okay, this turned out to be only technical and vague :(
I was hoping for more.
Alright, we'll do more in the next one!
You may find me on oftc going by cenne [irc-link]