text.js 465 B

1234567891011121314151617181920
  1. 'use strict'
  2. var xtend = require('xtend')
  3. var entities = require('stringify-entities')
  4. module.exports = text
  5. /* Stringify `text`. */
  6. function text(ctx, node, index, parent) {
  7. var value = node.value
  8. return isLiteral(parent)
  9. ? value
  10. : entities(value, xtend(ctx.entities, {subset: ['<', '&']}))
  11. }
  12. /* Check if content of `node` should be escaped. */
  13. function isLiteral(node) {
  14. return node && (node.tagName === 'script' || node.tagName === 'style')
  15. }