Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

markmead/alpinejs-tash

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Alpine JS Tash

Use a more familiar syntax when rendering Alpine JS {variables} ๐Ÿš€

Alpine JS Tash (Template Hash) lets you use templating syntax from popular frameworks to render Alpine JS data. Instead of writing x-text expressions, simply use curly braces like React, Vue, or Angular in your markup.

Features

  • ๐Ÿ’ช Framework-familiar syntax ({variable}, {{ variable }}, etc.)
  • ๐Ÿ”„ Fully reactive with Alpine JS data
  • ๐ŸŽจ Multiple template styles (React/Svelte, Vue, Angular)
  • ๐Ÿชถ Lightweight addition to your Alpine JS projects
  • ๐Ÿงฉ Simple plugin integration

Why Use Tash?

Tash makes Alpine JS templates more readable and familiar, especially if you're coming from other frameworks. It simplifies string interpolation without sacrificing Alpine JS reactivity system.

Install

CDN

<script
  defer
  src="https://unpkg.com/alpinejs-tash@latest/dist/cdn.min.js"
></script>

<script defer src="https://unpkg.com/alpinejs@latest/dist/cdn.min.js"></script>

Package

yarn add -D alpinejs-tash
npm install -D alpinejs-tash
import Alpine from 'alpinejs'
import tash from 'alpinejs-tash'

Alpine.plugin(tash)

window.Alpine = Alpine

Alpine.start()

Example

<div
  x-data="{ name: 'Walter White', age: 50, company: 'Gray Matter Technologies' }"
>
  <p x-tash="name, age, company">
    Hello, I am {name}! I am {age} years old and I currently work at {company}!
  </p>

  <!-- Hello, I am Walter White! I am 50 years old and I currently work at Gray Matter Technologies! -->
</div>

Options

Template Syntax Options

Alpine JS Tash supports different template syntax styles to match your preference:

Default: React/Svelte Style

<div x-data="{ name: 'John' }">
  <p x-tash="name">Hello, {name}!</p>
</div>

Vue Style

<div x-data="{ name: 'John' }">
  <p x-tash.vue="name">Hello, {{ name }}!</p>
</div>

Angular Style

<div x-data="{ name: 'John' }">
  <p x-tash.angular="name">Hello, {{name}}!</p>
</div>

Choose the syntax that feels most comfortable based on your background or project requirements.

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.