Skip to content

Crossbow-js/crossbow-sites

Repository files navigation

babel

Crossbow is a lightning fast Static Site Generator & Blog Engine

It gives you insane speed, unique features and the best development workflow on the planet!

So, if you want Jekyll-style thing, minus the all the Ruby and the slowness, then you've come to correct place! Checkout this 2 min screencast for a preview. Also, there's a gif below.

#Crossbow Build Status

Join the chat at https://gitter.im/Crossbow-js/crossbow

Crossbow-js

Killer Features

  • Speed - In comparison to Jekyll, the most popular static site generator, our benchmark tests of 1000 markdown files with syntax highlighting, partials & layouts show Crossbow to be approx 8 - 13 times faster. Seriously.

  • Development Workflow First - Crossbow has incredible HTML injecting technology that allows you write in markdown, compile into html (with highlighting) and inject into all connected browsers - all this in less than 20ms. This has to be seen to be believed.

  • Incremental builds - When in 'writing mode' only the file you are editing will be recompiled making the already blazing-fast process even quicker. It's really smart too, if you change a partial (that could affect many files) or change the front-matter (that could affect lists of post/pages etc) then the entire site will be rebuilt. This could take a upto a whopping 100ms... :p

  • Pretty Markup - We forked Handlebars to create a incredible feature where we perfectly preserve your indentation even when using partials. This is especially helpful when debuggin markup.

We'll have more info and more docs coming soon, but just to keep you interested, why not try out the beta?

Quick start

Crossbow is a brand new project, as such we're light on documentation right now as we're still in beta. It's completely stable though and if you want to see what it's like to run a Crossbow static site/blog you can check out the Crossbow Starter Blog

Install (beta)

npm install crossbow --save-dev

Usage with Gulp

var gulp     = require("gulp");
var crossbow = require("crossbow");

gulp.task("crossbow", function () {
    return gulp.src(["app/*.html"])
        .pipe(crossbow.stream({
            config: {
                base: "app"
            }
        }))
        .pipe(gulp.dest("_site"));
});

API usage

var site = crossbow.builder();
var page = site.add({type: "page", key: "index.html", content: "<p>Hey I'm an index file</p>"});
site.compile({
    item: page,
    cb: function (err, out) {
        if (err) {
            throw err
        }
        console.log(out.get("compiled"));
    }
});

Credits

Todo

About

Static Site Generator API - built for speed & extensibility

Resources

Stars

Watchers

Forks

Packages

No packages published