
Show HN: Simple-blogger – blog generated from GitHub project READMEs - depthfirst
https://github.com/vksah32/simple-blogger
======
pcr910303
This is... at best not favorable for a lot of static blogs.

For people who didn't understand what this is doing - it's using client-side
JS to load the markdown files from GitHub, compiling it to HTML and displaying
it on the browser.

Looks like the advantage of this is that it's a one-time setup - you don't
need to build the files every time you commit, you can add your markdown files
on GitHub and it automatically gets 'added' to your blog.

The downside of this is that this makes RSS feeds impossible, and non-JS users
will suffer.

~~~
nindalf
> you don’t need to build the files every time you commit.

Is this a big advantage? I write an article in markdown and push to my server.
The server’s post-commit hook automatically runs a static site generator. It
takes less than a second to run each time. It took me half an hour to set this
up[1], https included.

Importantly, since it’s a static site with no client side JS, it’s faster and
better for SEO. Anecdotal evidence - my blog is a featured snippet from google
for a couple of tech related queries. This wasn’t the case earlier when my
blog was generated by ghost.

[1] - [https://blog.nindalf.com/posts/setting-up-this-
blog/](https://blog.nindalf.com/posts/setting-up-this-blog/)

~~~
johnonolan
Whether you choose to use clientside JS isn't related to any platform. Lots of
people conflate this. They build ostensibly a totally empty scaffold site with
an SSG and say "look how fast it is" \- but the truth is if you built _that_
same site with really any platform in the world, it would be just as fast.

Ghost doesnt require any clientside JS of any kind, it's totally user choice
if/when they want to have that. Yesterday I built a Ghost theme with 2.5kb
page size, and average pageload of 100ms. Super easy :)

~~~
nindalf
The speed comparison between my blog on Ghost and my blog on Hugo (an SSG)
indicated that it is faster on Hugo. Note that I’m comparing time taken to
serve the website, not time taken to generate files.

The same content with the same URLs is ranked higher by Google after the
switch, suggesting that Google prefers this.

------
captn3m0
I do this for automatically generating pages on my personal website for
various projects via Jekyll.

So [https://captnemo.in/ideas/](https://captnemo.in/ideas/) loads the README
from [https://github.com/captn3m0/ideas](https://github.com/captn3m0/ideas).

If you'd like to replicate, use this layout[0], and create a post with just a
few bits of frontmatter[1]

The obvious advantage is that I can now serve READMEs for various projects
within my website, without having to worry about updating it in any way. The
READMEs stay in their respective projects. Its all done client side though, so
not recommended if you'd like to use the page on your website as the primary.
The one issue is that internal links in markdown don't work easily.

[0]:
[https://github.com/captn3m0/captn3m0.github.com/blob/master/...](https://github.com/captn3m0/captn3m0.github.com/blob/master/_layouts/repo.html)

[1]:
[https://github.com/captn3m0/captn3m0.github.com/blob/master/...](https://github.com/captn3m0/captn3m0.github.com/blob/master/projects/ideas.md)

------
kfk
I have created something similar. I have a content folder with articles and
auto generate content on my site at each commit. I built it as a Docker
container and I run it on Nomad. It’s interesting how much content (crm?) we
can put together by scraping other apps we use (github, hacker news, reddit,
etc)

------
frequentnapper
this functionality has already been available as part of github pages. Not
really sure what you are adding here.

~~~
antoncohen
I don't think so. This uses the GitHub API via browser side Javascript to auto
generate a page, listing and rendering the READMEs in your recent repos. Plus
listing and rendering the .md files in a special "blog-posts" repo.

This is similar to what some big companies do to render a projects page. A
copied Twitter's[1][2] a while back when it was simpler[3][4].

[1] [https://twitter.github.io/](https://twitter.github.io/)

[2]
[https://github.com/twitter/twitter.github.io](https://github.com/twitter/twitter.github.io)

[3] [http://antoncohen.github.io/](http://antoncohen.github.io/)

[4]
[https://github.com/antoncohen/antoncohen.github.io](https://github.com/antoncohen/antoncohen.github.io)

~~~
city41
I’m confused about the blog-posts repo. Why wouldn’t that be the only data
source? Why would you want to pull in other repos?

~~~
depthfirst
There are two use-cases: project pages (from github repo README) and blog-
posts (coming from .md files in blog-posts repo). You can choose to not have
blog-posts and it will still generate a blog-like site from all your github
project READMEs.

