Rudimentary content system for Express + CouchDB + HBS.
- Define one or more types of entries.
- Create, update, delete entries.
- Relate entries to each other in a hierarchy.
Entry can be used for instance to build a simple about section with a hierarchical document structure.
Add the following line to your ndistro file and rebuild:
module developmentseed entry
Entry assumes the expresslane
module to be available that exposes an
entryTypes
object describing all available entry types on (see usage)
var entry_settings = require('expresslane').app.set('settings')('entry')
- Express http://expressjs.com/
- CouchDB http://couchdb.apache.org/
- Cradle https://github.com/cloudhead/cradle
- Forms https://github.com/developmentseed/forms
- User https://github.com/developmentseed/user
- Hbs (view engine) https://github.com/developmentseed/hbs
- Markdown https://github.com/andris9/node-markdown
// settings.js
module.exports = {
entry: {
database: 'entries',
types: {
'example': {
'name': 'Example',
'description': 'A simple example entry',
'fields': [
{
id: 'title',
label: 'Title',
form: {
widget: 'text',
required: true
},
render: 'title',
},
{
id: 'body',
label: 'Body',
default: '',
form: {
widget: 'textarea',
required: false
},
render: 'markdown'
}
]
}
}
}
};
curl -X PUT http://127.0.0.1:5984/[database]/_design/pages -d design_docs/pages.json
- Create
new new/example
- Edit
edit/testpage
- Delete
delete/testpage
Plenty.