0.1.4 • Published 7 years ago

fis3-parser-swig2 v0.1.4

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

fis3-parser-swig2

NPM version Downloads

a plugin for fis3, use swig to enhance html.

Fis3-parser-swig2 can help us to use swig with fis3. We can use some awesome features in swig, like extends, SwigOpts.locals and so on. Fis3-parser-swig2 mainly solves the problem of resource location using swig with fis3.

You can see some examples below.

Installation

npm install --save-dev fis3-parser-swig2

Use

parser: fis.plugin('swig2'[,options]);

options type(Object) Properties:

NameTypeDescription
autoescapebooleanControls whether or not variable output will automatically be escaped for safe HTML output. Defaults to true. Functions executed in variable statements will not be auto-escaped. Your application/functions should take care of their own auto-escaping.
varControlsarrayOpen and close controls for variables. Defaults to '{{', '}}'.
tagControlsarrayOpen and close controls for tags. Defaults to '{%', '%}'.
cmtControlsarrayOpen and close controls for comments. Defaults to '{#', '#}'.
localsobjectDefault variable context to be passed to all templates.

Examples

/widgets/layout/layout.tpl

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>{% block title %}My Site{% endblock %}</title>

  {% block head %}
  <link rel="stylesheet" href="./main.css">
  {% endblock %}
</head>
<body>
  <a href="{{ pageUrl }}"></a>
  {% block content %}{% endblock %}
</body>
</html>

widgets/index/index.tpl

{% extends '/widgets/layout/layout.tpl' %}

{% block title %}My Page{% endblock %}

{% block head %}
  {% parent %}
  <link rel="stylesheet" href="./custom.css">
{% endblock %}

{% block content %}
<p>This is just an awesome page.</p>
{% endblock %}

fis-conf.js

fis.set('project.ignore', fis.get('project.ignore').concat(['package.json', 'conf/**']));

fis.match('*.tpl', {
	rExt: '.html',
	parser: fis.plugin('swig2', {
		locals: require('./conf')
	})
});

conf/index.js

module.exports = {
	pageUrl: './page/url'
};

result: widgets/index/index.html

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>My Page</title>


  <link rel="stylesheet" href="/widgets/layout/main.css">

  <link rel="stylesheet" href="/widgets/index/custom.css">

</head>
<body>
  <a href="./page/url"></a>

<p>This is just an awesome page.</p>

</body>
</html>
0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago