npm.io
0.22.6 • Published 4 weeks agoCLI

mancha

Licence
MIT
Version
0.22.6
Deps
7
Size
857 kB
Vulns
0
Weekly
0
Stars
21

mancha

mancha is a simple HTML templating and reactivity library for simple people. It works on the browser or the server. It can be used as a command-line tool, or imported as a Javascript module.

Here's a small sample of the things that you can do with mancha:

<!-- Use the bundled file from `unkpg` and load a drop-in replacement for Tailwind CSS. -->
<script src="//unpkg.com/mancha" target="main" css="utils" init></script>

<!-- Scoped variables using the `:data` attribute. -->
<main class="p-4" :data="{count: 0, name: 'Stranger'}">
	<!-- Custom HTML tag element registration. -->
	<template is="counter">
		<div>
			<slot></slot>
			<button :on:click="count = count + 1">Counter: {{ count }}</button>
		</div>
	</template>

	<!-- Custom HTML tag element usage. -->
	<counter class="my-2">Click me:</counter>

	<!-- Reactive data binding. -->
	<p>Enter your name: <input type="text" :bind="name" /></p>
	<p>Hello, <span class="underline">{{ name }}</span>!</p>

	<!-- Include HTML partials. -->
	<footer class="text-xs">
		<include src="html/partial/footer.tpl.html"></include>
	</footer>
</main>

Why another front-end Javascript library?

mancha is great for:

  • prototyping, just plop a script tag in your HTML and off you go
  • testing, individual components can be rendered and tested outside the browser
  • progressive enhancement, from simple templating and basic reactivity to a full-blown app
Feature mancha Svelte React.js Vue.js petite-vue Alpine.js
Simple to learn
< 18kb compressed
Custom web components
Client-side rendering
Server-side rendering

Documentation

AI Agents

If you are an AI agent building with mancha, you can dump all the documentation in a single concatenated output by running:

npx mancha docs

Dependencies

The browser bundle contains no external dependencies. The unbundled version can use htmlparser2, which is compatible with web workers, or jsdom.

Keywords