http://xordataexchange.github.io/crypt/
Crypt allows you to store and retrieve encrypted configuration values from an etcd or consul key/value store.
http://xordataexchange.github.io/crypt/
Crypt allows you to store and retrieve encrypted configuration values from an etcd or consul key/value store.
http://mozilla.github.io/nunjucks/
{% extends "base.html" %}
{% block header %}
<h1>{{ title }}</h1>
{% endblock %}
{% block content %}
<ul>
{% for name, item in items %}
<li>{{ name }}: {{ item }}</li>
{% endfor %}
</ul>
{% endblock %}
{{ foo | title }}
{{ foo | join(",") }}
{{ foo | replace("foo", "bar") | capitalize }}
{{ foo(1, 2, bar=3, baz=4) }}
{{ bar | transform(level=2) }}
{% extends "base.html" %}
{% block header %}
<h3>{{ subtitle }}</h3>
{% endblock %}
{% block content %}
<h1>{{ page.title }}</h1>
<p>{{ page.content }}</p>
{% endblock %}
<h1>Posts</h1>
<ul>
{% asyncAll item in items %}
<li>{{ item.id | lookup }}</li>
{% endall %}
</ul>
Raw PhantomJS
phantom.create(function (ph) {
ph.createPage(function (page) {
page.open('http://yahoo.com', function (status) {
page.evaluate(function () {
var el =
document.querySelector('input[title="Search"]');
el.value = 'github nightmare';
}, function (result) {
page.evaluate(function () {
var el = document.querySelector('.searchsubmit');
var event = document.createEvent('MouseEvent');
event.initEvent('click', true, false);
el.dispatchEvent(event);
}, function (result) {
ph.exit();
});
});
});
});
});
With Nightmare
new Nightmare()
.goto('http://yahoo.com')
.type('input[title="Search"]', 'github nightmare')
.click('.searchsubmit')
.run();
- Dead Simple – Intuitive, minimalist and very expressive syntax.
- Flexible – PSGI support, plugins and modular design allow for strong scalability.
- Few dependencies – Dancer depends on as few CPAN modules as possible making it easy to install.