Hi There!
I've continued on with trying to find something useful to do with Node-RED and spent the weekend creating a simple blogging platform - blog.openmindmap.org is the result. It has all of two blog entries, so don't expect too much!
What was interesting was creating the moving parts:
- feed.xml for RSS
- favicon support and content delivery that isn't text
- mustache template replacements in markdown to create more markdown
- building the routing to support multiple domains (I.e. demo.openmindmap.org v. blog.openmindmap.org)
- link-call with dynamic target
The basic idea is that there are "special" link-in nodes that represent articles. When a request comes in, e.g. /blog/blogroller, a link-in node is triggered with the name "[blog] blogroller" - that allows me to create new pages simply my creating a new link-in node with the corresponding name. The link-call with dynamic target was the key to this architecture.
A link-in node can also contain some YAML (in the info box) which defines certain parameters for the RSS feed (i.e. title and summary). This idea was taken from Jekyll (ruby-based static site generator). I've tried as much as possible not to repeat stuff, i.e. titles, paths, urls, etc and came up with the YAML-in-the-info-box solution for that purpose. (Funfact: valid YAML can be formatted to be valid markdown!)
The whole blog is based on my mind-map idea (i.e. using Node-RED as a mind-map tool) and each blog article is intended to be mind map, i.e. flow, that is executed by Node-RED. Each page (of the two aforementioned pages) has a link to the source flow for that page. The main blogroller flow is online in exportable read-only format.
This is very much Work-In-Progress and intended to be another demonstration of what Node-RED can also do.
Hope this is useful
Cheers!