A declarative, HTML-based language that makes building web apps fun 🔥
Docs ∙ Try Online ∙ Contribute ∙ Get Support
Marko is HTML reimagined as a language for building dynamic and reactive user interfaces. Almost any valid HTML is valid Marko, and Marko extends HTML for building modern applications more declaratively. Among these extensions are components, conditionals and loops, and a full reactivity system.
The following renders a button and a counter of how many times the button has been pressed:
click-count.marko
// HTML + JavaScript = 💜
<let/count=0>
<button onClick() { count++ }>
Clicked ${count} times
</button>
npm init marko
- Read the docs
Hang out in our Discord server to ask questions & discuss marko |
Keep up with the community on Bluesky at @markojs.com |
Tweet to @MarkoDevTeam or use the #markojs hashtag |
Browse the code, open issues, & make pull requests on GitHub |
Marko would not be what it is without all those who have contributed ✨
- Pull requests are welcome!
- Submit GitHub issues for any feature enhancements, bugs, or documentation problems
- Read the Contribution Tips and Guidelines
- Participants in this project agree to abide by its Code of Conduct