EditorConfig: Tool to help developers define & maintain consistent coding styles between different editors & IDEs

EditorConfig logo

http://editorconfig.org/


This looks like an alternative to using client-side hooks in your source code repository to format code. EditorConfig plugins exist for the following (No NetBeans!):

  • Atom
  • Code::Blocks
  • Emacs
  • Geany
  • Gedit
  • JetBrain
  • jEdit
  • Notepad++
  • Sublime Text
  • TextMate
  • Vim
  • Visual Studio
  • Browser extension for GitHub

The following core libraries exist for writing new plugins:

  • EditorConfig C Core
  • EditorConfig Java Core
  • EditorConfig Javascript Core
  • EditorConfig Python Core

Nunjucks: JavaScript templating language

Nunjucks logo

http://mozilla.github.io/nunjucks/


Example Template

{% extends "base.html" %}

{% block header %}
<h1>{{ title }}</h1>
{% endblock %}

{% block content %}
<ul>
  {% for name, item in items %}
  <li>{{ name }}: {{ item }}</li>
  {% endfor %}
</ul>
{% endblock %}

Builtin Filters

{{ foo | title }}
{{ foo | join(",") }}
{{ foo | replace("foo", "bar") | capitalize }}

Keyword Arguments

{{ foo(1, 2, bar=3, baz=4) }}
{{ bar | transform(level=2) }}

Template Inheritance

{% extends "base.html" %}

{% block header %}
<h3>{{ subtitle }}</h3>
{% endblock %}

{% block content %}
<h1>{{ page.title }}</h1>
<p>{{ page.content }}</p>
{% endblock %}

Asynchronous Templates

<h1>Posts</h1>
<ul>
{% asyncAll item in items %}
  <li>{{ item.id | lookup }}</li>
{% endall %}
</ul>