Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/heapwolf/to-ml

[deprecated] A tiny module to generate markup
https://github.com/heapwolf/to-ml

Last synced: 25 days ago
JSON representation

[deprecated] A tiny module to generate markup

Awesome Lists containing this project

README

        

# NOTE

In the real world, I recommend **NEVER** building an app with a tool like this for two main reasons: 1.

- Generating markup programmatically **completely** violates the separation of concerns principle.
- It's hostile toward project members who do not have Javascript in their skillset.

# SYNOPSIS
A small library to generate markup.

# DESCRIPTION
Generating markup can get ugly, the mix of html and javascript can
get very confusing very quickly. This little library helps you create
readable code. It also has no dependencies on the DOM so you can use
it on your node.js server.

# USAGE
```js
var template = require('to-ml')().template
```

```js
template(function() {
return div('hey!',
span('this is',
b('easy')
)
})
```

```html

hey!this iseasy

```

### IDs and Classes
If a string value matches the pattern used to create `IDs` and `classes`, they
will be automatically generated.

```js
a('#home.primary.link', 'home', { href: '/' })
```

```html
home
```

The pattern to determine if a string value passed to a tag function is special
looks like this...

```
'[#id][.class1[.class2[...]]]'
```

### Adding attributes
Just add an object to the arguments, doesnt mater what order it's provided in.
```js
textarea('hey!', { 'data-id': 'greeting' })
```

```html
hey!
```

### When there are no params
```js
header(
br,
h1('Hello, World!')
hr,
br
),
```

```html

Hello, World!




```