Zen Coding

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Zen Coding is a set of plug-ins for text editors that allow for high-speed coding and editing in HTML, XML, XSL, and other structured code formats via content assist. The project was started by Vadim Makeev in 2008[1] and continues to be actively developed by Sergey Chikuyonok and Zen Coding users based upon the Zen Coding 2.0 concept.[2] The tools have been incorporated into a number of high-profile text editors, as well as some plug-ins developed by the Zen Coding team and others implemented independently. However, Zen Coding is primarily independent from any text editor, as the engine works directly with text rather than with any particular software.[3]

Zen Coding is open sourced under the MIT License.

In recent versions it has been renamed to Emmet.

Functions[edit]

Expand abbreviations[edit]

Zen Coding uses a specific syntax in order to expand small snippets of code, similar to CSS selectors, into full-fledged HTML code.[4] For example, the sequence

div#page>div.logo+ul#navigation>li*5>a

expands into

<div id="page">
	<div class="logo"></div>
	<ul id="navigation">
		<li><a href=""></a></li>
		<li><a href=""></a></li>
		<li><a href=""></a></li>
		<li><a href=""></a></li>
		<li><a href=""></a></li>
	</ul>
</div>

The expand abbreviations function includes several other complex functions, such as wrapping a section of code with expanded code.[5]

Tag balancing[edit]

The HTML Pair Matcher allows users to locate the matching open/close tag for the tag at the current cursor position. Unlike other HTML pair matchers, Zen Coding searches from the cursor's current position rather than scanning the document from the beginning.[6]

Text editors[edit]

The plug-ins for following text editors were developed by the Zen Coding team

The following text-editor plug-ins were developed by third-party groups with the official Zen Coding engine

The following text editor plug-ins were developed independently and with a different Zen Coding engine

References[edit]

External links[edit]