

Ask HN: What technologies should I use if I am building a blogging platform? - vishalzone2002

Hi HNers,
 I am working on building a blogging platform. This is my first attempt at building a CMS but I wish to build something similar to medium&#x2F;tumblr. 
 Do you guys have any helpful resources&#x2F; suggestions?
Thanks !
======
isoos
As someone who recently re-built his own blog/site, I can offer you some of
the insights I went through. May not be applicable for every use case, keep
that in mind.

1) Input formats:

Markdown is the default for many blogging. It is limited, and if you want a
bit more than a bold text, it will get into your way. As most products support
markdown, if you settle with this, you'll be just on of the many (but it is a
low-risk choice).

WYSIWYG editors are mediocre at best, but may work for blogging UI. The
benefit of using these is that you are not really limited and can use any HTML
feature. If there is an advance in the editor, the app gets it without much
effort. The downside is that it will be HTML only, not much support for pdf or
similar output formats, but most bloggers won't really care.

Asciidoc: This is my choice, because it is easy to version control, and use
for various purpose. Generating docbook then HTML is very easy, complex UI
structures too.

2) Static vs dynamic site:

Most blog content is static, yet no blogging platform offers good editor
workflow and good static export at the same time. Static content is also
faster and cheaper to host, so this is a thing that you can optimize for.

If you are planning a hosted service, one idea is to provide the editor
workflow as the service, and publish the articles to S3 or similar platforms
for hosting.

3) Social, comments:

For some, social integration and comment system is important. I don't mind
having a blog without any of these, so it may work. Disqus, livefyre and other
javascript-based comment systems are easy to integrate anyway, so if you need
these, there are some tools to start with.

Sharing button is two-fold. Having an explicit policy that you won't help to
track your readers through these button could make you apart from the
competition, but of course it will provide less "engagement".

4) Tech stack:

Almost anything will do. CMS, blogs, websites can be parallelized by design,
and even if you start with something monolithic, and got some traffic, it will
be easy to scale it later on.

------
anonyfox
If you don't mind the "i want some text rendered by the server!!11" crowd, go
with [https://www.meteor.com/](https://www.meteor.com/) . From account
management to data persistence, it should get you started in a few hours until
the core functionality is done with Meteor, with modern stuff like soft-
realtime-updates and collaborative features included out of the box.

The UI and UX parts will require substantial more amount of time, but stuff
like the medium WYSIWYG editor is already avaliable for you:
[https://github.com/donflopez/meteor-medium-
editor](https://github.com/donflopez/meteor-medium-editor) if you like it.

With seamless includes of additional packages your and your client's sites
will be crawlable, too. You may read [http://blog.plague-dev.de/posts/meteor-
isomorphic-fullstack-...](http://blog.plague-dev.de/posts/meteor-isomorphic-
fullstack-development) for more intersting bits about meteor's capabilities.

------
dougcorrea
Hi! I was planning to create one Blogging Platform using AngularJS and
Firebase as backed. Then I was thinking that using Angular $resource, maybe we
can isolate the backend and create a Blogging Platform entire based on
frontend (AngularJS). And let the community create adapters for backend. For
example, we even can use Trello as backend using Trello API.

