This ist ein netter kleiner HTML-Präprozessor von Giuseppe Gurgone. Es hat sehr wenige Funktionen, aber eine davon sind HTML-Includes, was etwas ist, das mich weiterhin verwirrt, dass HTML nicht nativ unterstützt. Es gibt unzählige Möglichkeiten, damit umzugehen. Ich finde es albern, dass es seit *Jahrzehnten* durchgängig benötigt wird und HTML sich weiterentwickeln könnte, um es zu unterstützen, aber das nicht getan hat. Also, hier ist eine weitere Option, um damit umzugehen.
Was extra nett ist, ist, dass es nicht nur Includes sind, sondern Templating mit Includes auf wirklich saubere Weise. Wenn dies Nunjucks wäre, lösen sie das, indem sie eine Datei wie template.njk erstellen...
{% block header %}
This is the default (overridable) header.
{% endblock %}
<footer>
{% block footer %}
This is the default (overridable) footer.
{% endblock %}
</footer>
Und dann verwenden Ihre tatsächlichen Seiten diese Vorlage wie...
{% extends "parent.html" %}
{% block footer %}
Special footer for this page.
{% endblock %}
In xm bleibt die Syntax HTML-ähnlich, was nett ist. Also diese template.html...
<slot name="header"></slot>
<footer>
<slot name="footer"></slot>
</footer>
...wird auf einer Seite wie dieser verwendet
<import src="template.html">
<fill name="header">Custom Header</fill>
<fill name="footer">
<p>Custom footer</p>
</fill>
</import>
Sehr sauber. Die zusätzliche Tatsache, dass Sie beliebig einen <markdown>-Tag überall einfügen und Markdown darin verwenden können, ist besonders praktisch.
Es gibt eine Reihe von Tools unter dem Namen pHtml, die dies zusammen mit einigen anderen netten Funktionen tun können.
Es ist alles HTML-fokussiert statt JS.
https://github.com/phtmlorg/phtml#readme
Ich genieße die Nutzung und seine Plugins sehr.
Ich mag das viel mehr als Nunjucks. Wenn man dies mit Gulp verwenden würde, müsste man dann dieses https://github.com/posthtml/gulp-posthtml verwenden, da das Projekt technisch ein PostHTML-Plugin ist?
Hallo Jakob, schau dir dieses GitHub-Issue an https://github.com/giuseppeg/xm/issues/10