Carlino is kind of full-duplex pug-cli utility:
- If provided with PUG input, it produces HTML output.
- If provided with HTML input, it produces PUG output.
It has no command line options or modifiers and does not allow defining template globals. Its purpose is to be reversible, aiming to facilitate the production of static HTML using PUG syntax while storing it in HTML, eliminating the need for readers to know anything about PUG template syntax.
To install Carlino in your system globally you only need to execute:
npm install -g carlino
You can use Carlino by executing either:
cat myPugFile.pug | carlino > myHtmlFile.html
or:
cat myHtmlFile.html | carlino > myPugFile.pug
...but it is more intended to be used as a shortcut filter in editors like Vim.
Example:
" F8 key -> Switch visually selected text between PUG and HTML:
:vmap <F8> :!carlino<enter>
" F8 key -> Visually select all text (with no blank lines) under cursor and
" switch between PUG and HTML:
:nmap <F8> vip<F8>j
The original PUG behavior uses double
quotes ("
) for HTML attributes, which requires encoding any double quote
character inside by replacing it with "
.
Example:
<div someprop="{"my_attribute":"value's uggly"}"></div>
Carlino adds an additional parsing step to decode any "
occurrence in
HTML properties and replaces enclosing double quotes with single quotes. It
also takes care of single quotes if they appear in any value.
Example:
<div someprop='{"my_attribute":"value's pretty"}'></div>
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.