Skip to content
This repository has been archived by the owner on Nov 27, 2018. It is now read-only.

laktek/punch

Repository files navigation

Punch

A Fun and Easy Way to Build Modern Websites

Punch is a simple, intuitive web publishing framework that will delight both designers and developers.

With Punch you can...

  • Use boilerplates to quickly setup a site.
  • Write minimal templates with Mustache.
  • Create flexible site structures with inheritable layouts and partials.
  • Define page contents in JSON.
  • Use Markdown to write formatted content.
  • Use CoffeeScript and LESS if that's your thing.
  • Minify and bundle assets before serving.
  • Preview changes on the fly, while you develop.
  • Set cache headers and compress responses. (play nice with CDNs)
  • Easily publish to Amazon S3 or to a custom server with SFTP.

Wait, There's more...

  • Use any data source for content (eg. Relational databases, Document stores or REST APIs).
  • Don't like Mustache? Switch to a different template engine of your choice.
  • Write helpers to add run-time behaviour.
  • Add custom content parsers, pre-compilers, minifiers and publishers.
  • Add hooks to run after generating a page or site.
  • Define your own publishing strategy.

Getting Started

  • Download and install Node.js. http://nodejs.org/#download

  • To install Punch, run npm install -g punch

  • You can create your first site by running: punch setup mysite

  • Then, go to the mysite directory and start the server: cd mysite; punch s

  • Open your browser and visit: http://localhost:9009

  • Follow the steps in hands-on tutorial.

Note: If you experience any issues in installing Punch on Windows, please read this guide.

Documentation

For complete documentation on usage & customizations, check the Punch Guide

Licence

MIT LICENSE