etch 0.4.2

Not just a text formatter, don't mark it down, etch it.
Documentation
<p>In etch paragraphs are marked by two or more new&nbsp;lines.</p>
<p>For example, this is a new&nbsp;paragraph.</p>
<p class="tags some">You can also tag paragraphs and other block level elements by placing a tags section on the previous&nbsp;line.</p>
<p>You can tag words by <span><a href="https://example.com">appending</a></span> a tags section following the word and you can tag multiple words by <span><a href="https://example.com">wrapping them with square brackets</a></span> followed by a tags&nbsp;section.</p>
<p>You can also mark multiple words with <em>emphasis</em> or <strong>strong emphasis</strong> by wrapping them with one or two asterisk characters. You can also <em><a href="https://example.com">tag&nbsp;them</a></em>.</p>
<p>You can also mark inline quotes with <q>double quotation marks</q>, but not single quotation characters as those are reserved for apostrophies. And don't forget, you can also <q><a href="https://example.com">tag&nbsp;them</a></q>.</p>
<p>You can also mark inline preformatted words with <code>single</code>, <code>double</code> or <code>triple</code> backtick characters. This is useful in situations where you have a backtick in your code&nbsp;sample.</p>
<p>Headings can be written by prefixing your test with one to six <code>#</code>&nbsp;characters:</p>
<h1>This is my&nbsp;section</h1>
<h2>This is my&nbsp;state.</h2>
<p>You can write bulleted lists with either a&nbsp;dash:</p>
<ul>
    <li>
        <p>First&nbsp;item,</p>
    </li>
    <li>
        <p>Second&nbsp;item!</p>
    </li>
</ul>
<p>And list items can contain any other block level element, so long as it is indented to the same&nbsp;depth:</p>
<ul>
    <li>
        <p>My&nbsp;list</p>
        <ul>
            <li>
                <p>Is&nbsp;quite</p>
                <ul>
                    <li>
                        <h1>Deep!</h1>
                        <p>It even contains&nbsp;paragraphs!</p>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
<p>Numbered lists can be written using an&nbsp;asterisk:</p>
<ol>
    <li>
        <p>Now how am I supposed to&nbsp;breathe,</p>
    </li>
    <li>
        <p>When there is no&nbsp;air?</p>
    </li>
</ol>
<p>And description lists can be written with a title followed by a colon, and multiple descriptions marked with either an asterisk or a&nbsp;dash:</p>
<p>Description title: - First description, - Alternate description. Another description title: - I don't know what this&nbsp;means.</p>
<p>You can write figures using three or more equal signs as a prefix and&nbsp;suffix:</p>
<figure>
    <p> This is a figure, it can contain any block level&nbsp;elements.</p>
</figure>
<p>Figures may also have&nbsp;captions:</p>
<figure>
    <p> This is a&nbsp;figure,</p>
    <figcaption>
        <p> And this is a&nbsp;caption.</p>
    </figcaption>
</figure>
<p>Quotations are very similar to figures but using double quotation&nbsp;marks:</p>
<blockquote>
    <p> This is a quotation, it can contain any block level&nbsp;elements,</p>
    <footer>
        <p> This is a&nbsp;citation.</p>
    </footer>
</blockquote>
<p>You can of course write preformatted sections using three or more&nbsp;backticks:</p>
<pre>This is preformatted and will not be processed.</pre>
<p>You and don't forget, you can mark any block level element with&nbsp;tags:</p>
<pre><span class="source rust"><span class="meta function rust"><span class="meta function rust"><span class="storage type function rust">fn</span> </span><span class="entity name function rust">main</span></span><span class="meta function rust"><span class="meta function parameters rust"><span class="punctuation section parameters begin rust">(</span></span><span class="meta function rust"><span class="meta function parameters rust"><span class="punctuation section parameters end rust">)</span></span></span></span><span class="meta function rust"> <span class="meta function rust"></span></span><span class="meta function rust"><span class="meta block rust"><span class="punctuation section block begin rust">{</span> <span class="keyword operator rust">...</span> </span><span class="meta block rust"><span class="punctuation section block end rust">}</span></span></span>
</span></pre>
<p>Finally, you can define your tags using attributes, the following attributes define the <code>some</code> and <code>tags</code> tags as&nbsp;classes:</p>
<p>You can also use tags to link to other documents or set element&nbsp;attributes:</p>
<p>Tags can be predefined by the etch processor. For example, this is used for implementing syntax highlighting with the <code>rs</code>&nbsp;tag.</p>
<p>Attributes can also be used to specify metadata about a&nbsp;document:</p>
<p>You can also import other documents into the current&nbsp;document:</p>
<p>This is <code>footer.etch</code>.</p>
<p>You can also import other files as preformatted&nbsp;text:</p>
<pre><span class="source rust"><span class="meta function rust"><span class="meta function rust"><span class="storage type function rust">fn</span> </span><span class="entity name function rust">main</span></span><span class="meta function rust"><span class="meta function parameters rust"><span class="punctuation section parameters begin rust">(</span></span><span class="meta function rust"><span class="meta function parameters rust"><span class="punctuation section parameters end rust">)</span></span></span></span><span class="meta function rust"> <span class="meta function rust"></span></span><span class="meta function rust"><span class="meta block rust"><span class="punctuation section block begin rust">{</span>
    <span class="support macro rust">println!</span><span class="meta group rust"><span class="punctuation section group begin rust">(</span></span><span class="meta group rust"><span class="string quoted double rust"><span class="punctuation definition string begin rust">&quot;</span>Hello world!<span class="punctuation definition string end rust">&quot;</span></span><span class="meta group rust"></span></span><span class="meta group rust"><span class="punctuation section group end rust">)</span></span><span class="punctuation terminator rust">;</span>
</span><span class="meta block rust"><span class="punctuation section block end rust">}</span></span></span>
</span></pre>
<dl>
    <dt>https://example.com</dt>
    <dd>tag them</dd>
</dl>