

Open-sourcing my new blogging engine implementation - MadRabbit
http://nikolay.rocks/2015-07-24-how-i-blog-now

======
tlarkworthy
It seems the development tool that builds and obfuscates the application is
not available, which makes it a dubious classification of open source.

~~~
MadRabbit
i use the engine for some commercial work at the moment, i might open-source
it eventually as well (if there is enough interest in it). but at the moment
it's just a bunch of make-shift scripts thrown together which are not really
in a publisheable shape

~~~
claar
That's reasonable, of course, but it makes the title of this story rather
inaccurate.

Even so, kudos -- your blog is lightning fast and a pleasure to use.

I did try it on my low-end Android phone w/Chrome, and it's plenty fast, and
the menu works well, but the header and text overflow the view port.

~~~
MadRabbit
thanks! i don't have a small android, but i'll see if i can fix it with some
google chrome emulator on desktop

~~~
claar
My apologies -- I updated Chrome and it works fine. That or you fixed
something. Either way, nice job.

~~~
MadRabbit
no problem. i didn't touch anything yet. but i did optimize it for iphone5 at
some point, so that might be it.

but, thank you for letting me know about it either way! :)

------
click170
It seems to require Javascript to load the content. Is there information about
this elsewhere that doesn't require Javascript to view?

~~~
detaro
It builds the page using javascript from a copy of this file:
[https://github.com/MadRabbit/nikolay.rocks/blob/master/pages...](https://github.com/MadRabbit/nikolay.rocks/blob/master/pages/Rocket%20Shed/2015-07-24-how-
i-blog-now.md)

~~~
click170
Oh I get it now!

lol at the irony of my comment, I honestly had no idea.

I personally wouldn't use this for my blog because in my opinion a blog
shouldn't require Javascript to display content, but I know I'm in the
minority there and it's important that people try different things and push
the boundaries. Thank you for sharing this OP!

~~~
ams6110
I strongly agree. It's fine if you want to use javascript to augment
appearance and behavior, but if a _blog post_ won't load something basically
readable in lynx or w3m or similar, you've taken a wrong turn somewhere.

~~~
Rapzid
I could care less as long as my browser loads it. I don't surf the internet
with cURL though, so it doesn't really effect me.

------
nkantar
> The overwhelming majority of users have javascript enabled.

I find that it's often developers who _don 't_, making it a questionable
tradeoff (in my mind) for a blog written by one. For this very reason I choose
to use absolutely no JavaScript on mine. (Correction: Oops, Gists are included
via JavaScript — I'll be replacing them with code blocks ASAP.)

I had some of the same annoyances as the OP, and chose Jekyll + GitHub Pages
instead ([http://nkantar.com/choosing-jekyll/](http://nkantar.com/choosing-
jekyll/)). I found that optimizing for my _workflow_ (write Markdown, commit,
push) was more worthwhile than having absolutely zero generation tools (which
I don't even need if I simply create a new file on GitHub, as a neat bonus
I've used at least once so far).

~~~
spc476
I wrote my own blogging engine [1] back when there weren't many (any?) to
choose from (started it in 1999), and geared the workflow of posting to my
preferred method: email (although it helps that I run my own server) and I'm
surprised that method isn't used more often.

I can also use a web interface if I am desperate, as well as adding an entry
as a file (the email interface is similar to the file mechanism---it just
pulls the entry out of the body of the email).

Granted, the language I used is rather unorthodox, but it works.

[1] [https://github.com/spc476/mod_blog](https://github.com/spc476/mod_blog)

~~~
AdieuToLogic
A C-based Apache httpd blogging engine using email to create the blog
entries... Sweet.

Reading the source and discovering:

    
    
      WTF?  This isn't a WTF.  This is a debugging technique.
    

Hard core! :-)

------
djokkataja
If you have a loading spinner and your site already loads in <500ms, just get
rid of the spinner. Your brain filters out short transitions anyway, so all a
loading spinner does with such a brief time span is distract the user from
whatever they were thinking about.

~~~
NKCSS
Then why not add a delay to showing the spinner? that way, if it ever takes
longer than, say, your 500ms, you'll have an indicator...

------
elmin
Why not use gulp to build static html pages, and serve those with
S3/CloudFront. Simpler, more reliable, and no need to run a node service.

~~~
MadRabbit
because that's an extra moving part, i will have to handle those compiled
files separately, collect them somewhere, copy to S3 or whatevers. I don't
want that. I want a simple thing that has just the content and a shallow
presentation layer that just shows the content in a browser, that's it. No
extra transformations or anything, this way the system is immediate and
simple. markdown + front-end, no other moving parts

~~~
jeena
You're doing that with the atom.xml already anyway.

Your approach right now doesn't seem to work with search engines very well:

[https://encrypted.google.com/search?hl=en&q=site%3Ahttp%3A%2...](https://encrypted.google.com/search?hl=en&q=site%3Ahttp%3A%2F%2Fnikolay.rocks#hl=en&q=site:http:%2F%2Fnikolay.rocks+How+I+Blog+Now)

[https://duckduckgo.com/?t=lm&q=site%3Ahttp%3A%2F%2Fnikolay.r...](https://duckduckgo.com/?t=lm&q=site%3Ahttp%3A%2F%2Fnikolay.rocks+How+I+Blog+Now)

[https://yandex.ru/search/?lr=114311&text=site%3Ahttp%3A%2F%2...](https://yandex.ru/search/?lr=114311&text=site%3Ahttp%3A%2F%2Fnikolay.rocks%20How%20I%20Blog%20Now)

[http://www.bing.com/search?q=site%3Ahttp%3A%2F%2Fnikolay.roc...](http://www.bing.com/search?q=site%3Ahttp%3A%2F%2Fnikolay.rocks+How+I+Blog+Now&qs=n&form=QBLH&pq=site%3Ahttp%3A%2F%2Fnikolay.rocks+how+i+blog+now&sc=0-0&sp=-1&sk=&cvid=9a34c93494e34f40992d3b240500606e)

[https://se.search.yahoo.com/search?p=site%3Ahttp%3A%2F%2Fnik...](https://se.search.yahoo.com/search?p=site%3Ahttp%3A%2F%2Fnikolay.rocks+How+I+Blog+Now&fr=yfp-t-925)

~~~
MadRabbit
looks like it works perfectly

~~~
jeena
Hm, really? When I click on those links they all show me that they didn't find
anything. Ok I see that google did find what I was looking for, I wasn't
expecting that. But none of the other search engine did for me. I only got:
"No more results.", "По вашему запросу ничего не нашлось", "No results found
for site:[http://nikolay.rocks](http://nikolay.rocks) How I Blog Now." and "We
did not find results for: site:[http://nikolay.rocks](http://nikolay.rocks)
How I Blog Now."

When I remove "sites:" from the query then they all find this page on GitHub:
[https://github.com/MadRabbit/nikolay.rocks/commit/58a90810f1...](https://github.com/MadRabbit/nikolay.rocks/commit/58a90810f1c1bad5e95659e3516c9b03b2771df4?short_path=f2f4e07)

But that doesn't seem like a nice thing to read, I mean it is better than
nothing, but to do that you wouldn't need your own domain and all the
JavaScript.

------
neoCrimeLabs
All I see is a blank page with a spinner. Using elinks all I see is
"Loading..." When I look at the source code there is no content!

Not very search engine friendly.

~~~
MadRabbit
all search engines are javascript enabled those days. google indexes
nikolay.rocks perfectly. i have analytics running and everything on it

------
csense
Nikola, Pelican, and Jekyll are frameworks built around a similar philosophy.

~~~
tarr11
It would be nice if everyone standardized the folder and data formats on
jekyll. Then, I could consider switching to a new engine without much work.

~~~
zuck9
Could you elaborate on what you mean by standardising folder and data formats?

------
Touche
Text shouldn't have a loading spinner. React can do server side rendering so
I'd take advantage of that.

~~~
MadRabbit
there is no server side

~~~
AdieuToLogic
> there is no server side

According to the blog:

    
    
      There is a small #nodejs server that basically
      does mode-rewrite and sends index.html file for
      any HTTP request.
    

Sounds like a "server side" to me.

------
klekticist
I like this. Very cool :)

~~~
MadRabbit
thanks! :)

------
yuez
Great! I'm searching for more open sourced blogs like yours.

