Skip to content

ilearnio/riot-plain-htmlmin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Minifies HTML right inside of plain-JS Riot tags

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published