
Product
Socket for Jira Is Now Available
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.
A new way to write HTML, elegantly.
head
title = 'Hello World'
body
div #'app' .'container'
div .'row'
div .'col-xs-12 text-center'
img src'images/sick.png'
p = 'This is pretty sick!'
Transforms into the following:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Hello World</title>
</head>
<body>
<div id="app" class="container">
<div class="row">
<div class="col-xs-12 text-center">
<img src="images/sick.png" />
<p>This is pretty sick!</p>
</div>
</div>
</div>
</body>
</html>
If you use Laravel like I do, you'll probably want the Elixir plugin, get it here laravel-elixir-candor.
If you like using Gulp, get the gulp plugin here gulp-candor
Otherwise, in your project directory, run the following command
npm install candor --save
then simply call the following where necessary
var candor = require('candor');
var html = candor.parse(...) // Parse the candor syntax here.
name #'id' .'classes' key'value' +mutator = 'Inline content'
The only required section above is name.
Tag properties are added as key'value'.
Mutators, which are really just properties without values, such as disabled are denoted as +disabled.
Inline content is optional, but if needed is simply specified as = 'content' at the end of a tag. If this section is present, the opening and closing tags generated will be placed onto a single line instead of separate lines.
Eg:
div #'app' .'app app__dark' @click.stop'toggle()' +disabled = 'Hello!'
the above will produce the following rendered HTML:
<div id="app" class="app app__dark" @click.stop="toggle()" disabled>Hello!</div>
? This is a comment.
Comments will not be present in the rendered HTML.
script type'text/javascript'
-- alert('hello world!');
If you require some JavaScript, PHP etc, simply prepend the code with -- and it will be rendered as is. The above would produce:
<script type="text/javascript">
alert('hello world!');
</script>
div
'This is a paragraph.'
HTML content, aka the content that goes inside of a tag, is simply placed within single quotes. The above example would produce:
<div>
This is a paragraph.
</div>
If you don't want candor to automatically add the HTML5 headers to the generated document, simply add !partial to the beginning of the document.
Eg:
!partial
div = 'Some partial content...'
FAQs
A new way to write HTML, elegantly.
We found that candor demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.