Skip to content

su-docker/mithril-node-render

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mithril-node-render

Gitter Build Status rethink.js Dependency Status devDependency Status

Use mithril views to render server side

Demo

Usage Example

Installation

npm install mithril-node-render

Usage

var m = require('mithril');
var render = require('mithril-node-render');

render(m('span', 'huhu')).then(function (html) {
  // html === '<span>huhu</span>'
})

Async components

As you see the rendering is asynchron. It waits for resolve of all promises that might get returned from oninit callbacks.

  myAsyncComponent = {
    oninit: function (node) {
      return new Promise(function (resolve) {
        node.state.foo = 'bar'
        resolve()
      })
    },
    view: function (node) {
      return m('div', node.state.foo)
    }
  }

  // usage
  render(myAsyncComponent).then(function (html) {
    // html === '<div>bar</div>'
  }

Options

Optionally pass in options as an object: m.render(component, options).

The following options are supported:

escapeAttributeValue(value) Default: render.escapeHtml A filter function for attribute values. Receives value, returns what is printed.

escapeString(value) Default: render.escapeHtml A filter function for string nodes. Receives value, returns what is printed.

strict Default: false Set this to true to close all empty tags automatically. Default is HTML mode where tags like <br> and <meta> are allowed without closing tags. This is required if you're rendering XML or XHTML documents.

See also

About

Use mithril views to render server side

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%