Star Harp on GitHub

The static web server with built-in preprocessing.

Harp serves Jade, Markdown, EJS, CoffeeScript, Sass, LESS and Stylus as HTML, CSS & JavaScript—no configuration necessary.

sudo npm install -g harp
harp init myproject
harp server myproject
Install HarpLooking for the Harp Platform?
main.less
@color: #f938ab;
body {
  color: @color;
}
h2 {
  color: @color;
}
index.html
<html>
  <head>
    <!-- You write LESS, Harp auto-compiles it to CSS -->
    <link rel="stylesheet" href="/main.css", type="text/css">
  </head>
  <body>
    ...
  </body>
</html>

Harp is a fast, lightweight web server

Harp intelligently compiles assets as the browser needs them, so it’s insanely fast. All you have to do is Save and Refresh.

Learn More

Preprocessors are built-in

Harp delivers HTML, CSS & JavaScript to the browser from your Markdown, Jade, EJS, LESS, Stylus, Sass and CoffeeScript, without any configuration. Now you can focus on writing instead of wrangling.

Learn More
_navbar.ejs
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
  <ul class="nav nav-tabs">
    <li class="active"><a href="#">Home</a></li>
    <li><a href="#">Product</a></li>
    <li><a href="#">Services</a></li>
  </ul>
</nav>
index.ejs
<html>
  <head>
    ...
  </head>
  <body>
    <!-- Write it once, and it is available by including it. -->
    <%= partial("/_navbar.ejs") %>
  </body>
</html>

The beloved Layout/Partial paradigm

Keep your code clean and organized: reuse common elements with partials, and maintain a consistent site design with layouts. Harp makes both paradigms available to Jade and EJS.

Learn More

Flexible, custom metadata

Move from static assets to truly dynamic content by passing metadata into your views and pages. Using your favorite templating engine, variables and loops make writing Harp applications fun and powerful.

Learn More
_data.json
{
   "team": {
       "title": "All about Chloi Inc.",
       "members": ["Rob", "Brock", "Jorge", "Kenneth"]
   }
}
team.jade
html
  head
    // Variables are passed into the page from _data.json
    title= title
  body
    ul
      // Lets loop though all team members
      each member in members
        li= member

Compile and deploy

Whether you’re making a GitHub project page, or a mobile application using Apache Cordova/PhoneGap, you can easily compile your code to HTML, CSS & JavaScript and host it anywhere.

Or, skip compiling all together, and publish from Dropbox with the Harp Platform.