Skip to content

Prepares given Emmet abbreviation for HTML output

License

Notifications You must be signed in to change notification settings

gushuro/html-transform

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emmet abbreviation transformer for HTML Build Status

This modules takes parsed Emmet abbreviation tree and transforms it for markup syntax (HTML, XML, Pug, Slim etc.) output. This transformation includes:

  • Implicit tag name resolving. Fills omitted tag names, depending on parent’s name. For example, table>.row>.cell will be resolved to table>tr.row>td.cell equivalent.
  • Item Numbering. Replaces $ symbol in node’s name, attributes and content with repeater value. For example, .item$*3 will produce nodes with item1, item2 and item3 class names. Multiple $ will zero-pad repeater value, e.g. $$$001...012...123. Precede $ character with \ to skip numbering on it and keep as is.
  • Content insertion. A part of Wrap With Abbreviation action: clones implicitly repeated element (like li*) for every item of given content array and inserts item content into cloned node.

Usage

import parse from '@emmetio/abbreviation';
import transform from '@emmetio/html-transform';

const abbr = transform(parse('ul>.item$*'), ['foo', 'bar']);
// `abbr` now holds equivalent of `ul>li.item1{foo}+li.item2{bar}` abbreviation

About

Prepares given Emmet abbreviation for HTML output

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%