Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/laktek/punch

A fun and easy way to build modern websites
https://github.com/laktek/punch

Last synced: about 1 month ago
JSON representation

A fun and easy way to build modern websites

Awesome Lists containing this project

README

        

# 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](https://github.com/laktek/punch/wiki/Installing-on-Windows).

### Documentation

For complete documentation on usage & customizations, check the [Punch Guide](https://github.com/laktek/punch/wiki)

### Licence

[MIT LICENSE](https://github.com/laktek/punch/blob/master/LICENSE)