riot-plain-htmlmin

0.0.6 • Public • Published

riot-plain-htmlmin

NPM Version Build Status

js-standard-style

A small package that extracts HTML from plain-JS Riot tags, passes it through the Riot's HTML compiler and returns a new string with the HTML replaced.

This gives two benefits:

  1. Minifies HTML right inside of plain-JS tags
  2. Fixes all of the HTML limitations when working with riot.tag(), since your HTML starts to act like if it's a .tag file.

It will also keep the same line and column of the actual JS code (`function (opts) { ... }`) which might be helpful in some scenarios when needed to keep stack traces in sync with the source file.

Example

Transpiles a file like this one

import riot from 'riot'
 
riot.tag('my-tag', `
  <div>HTML ...</div>
`, function(opts) {
  // JS ...
})

into

import riot from 'riot'
 
riot.tag('my-tag', `<div>HTML ...</div>`
 
 , function(opts) {
  // JS ...
})

Usage

import fs from 'fs'
import minify from 'riot-plain-htmlmin'
 
const src = fs.readFileSync('my-tag.js', 'utf-8') // the entire file
 
minify(src, { compact: true }) // <- The result

Parameters

Accepts 2 parameters:

  • src – the source of an entire file
  • options – RiotJS options object that passes to the compiler

How it works

Under the hood it just uses Riot's compileHTML function. Basically, it just replaces the HTML string with the compiled one

Package Sidebar

Install

npm i riot-plain-htmlmin

Weekly Downloads

2

Version

0.0.6

License

MIT

Last publish

Collaborators

  • ilearnio