Skip to content

marko-js/marko

Marko

A declarative, HTML-based language that makes building web apps fun 🔥

NPM Discord Chat Continuous Integration status Code coverage % # of monthly downloads OpenSSF Best Practices

DocsTry OnlineContributeGet Support

Intro

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.

Example Component

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>

Getting Started

  1. npm init marko
  2. Read the docs

Community & Support

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

Contributors

Marko would not be what it is without all those who have contributed ✨

All marko-js/marko GitHub contributors

Get Involved!