Morpheus – Isomorphic web publishing platform, built with React and Flux
alessandro.arnodo.net
alessandro.arnodo.net
- to use Postgres JSON columns for storing documents (rather than the typical CMS approach of a complex EAV/table-per-field structure), and
- to use React components for rendering the public-facing content views, which could then also be used for inline editing or a live split preview/editor – like a markdown editor, but capable of turning arbitrary fields of input into arbitrary output
- embeddable content types/entities which know how to render themselves
- live collaborative editing
Edit: Here's the definition they're using: http://nerds.airbnb.com/isomorphic-javascript-future-web-app.... In short, "JavaScript that runs on both the client and the server." This goes beyond "using node" to mean that (e.g.) everything is rendered on the server, but that you can also render only parts and send them to the client to handle on its own.
When I read about "isomorphic JavaScript" as, essentially, views rendered with the same code on the client or server (and yet a separate API), I can't help but think "You keep using that word. I do not think it means what you think it means."
Perhaps "symmetric JavaScript" would be better? But then the API is still an asymmetry...
I strongly recommend using "fully shared state" or "client-server application" or something to not imply anything more than DRY logic in javascript across the state of the blog. Otherwise it devalues both your work (doesn't fulfill people's expectations of isomorphism) and the word (it no longer has any meaning).
EDIT: To put it another way, I would expect a server to NOT BE NECESSARY for the client to work, just like clients aren't necessary for the server to function correctly.
https://news.ycombinator.com/item?id=8238239
Not trying to be a snob, but this usage is annoying. I use and like JavaScript, unlike other math snobs :)
The approach I'm taking is that each page is a composed component using data files (json, yaml and js/coffee for dynamic data) to provide the state, js/coffee mixin files to provide the logic and js/jsx/coffee/cjsx files to render the body content.
Its working now but I need to generate the documentation and built some better example sites.