1.0.0 • Published 8 years ago

crixalis v1.0.0

Weekly downloads
36
License
LGPL-3.0
Repository
github
Last release
8 years ago

Crixalis

Lightweight web framework for node.js

Features

  • Small, documented and easily extendable core
  • Advanced routing system (content type, method, host) with RegExp support and placeholders
  • Compression support (gzip, deflate)
  • Static file serving support (with ETag, Last-Modified, Expires and LRU-cache)

Synopsis

General usage

var Crixalis = require('crixalis');

Crixalis

	/* Load plugins */
	.plugin('shortcuts')
	.plugin('access', { format: '%7T %-4m %s %9B %-15h %U%q' })

	/* Add route with placeholder */
	.get('/hello/:name', function () {
		/* Prepare data for response */
		this.stash.json = {
			message: 'Hello, ' + this.params.name + '!'
		};

		/* Render response */
		this.render();
	})

	/* Add another route for GET and HEAD methods */
	.route('/info', { methods: ['GET', 'HEAD'] }, function () {
		var that = this;

		require('fs').readFile('./readme.md', function (error, result) {
			if (error) {
				/* Handle error */
				that.error(error);
			} else {
				that.body = result;
				that.render();
			}
		});
	})

	/* Catch everything else */
	.route('*', function () {
		this.redirect('/hello/World');
	})

	/* Start server on port 8080 */
	.start('http', 8080);

Plugins

Available core plugins

  • access Access log (with configurable CLF support)
  • compression Compress response using gzip or deflate compression (also works with static plugin)
  • request Thin wrapper around http.request and https.request
  • shortcuts Route declaration helpers, .get(), .post(), etc.
  • static Serve static files

Static server

Crixalis comes with script for serving static files

	# Start web server on port `8080` and serve files from current folder
	crixalis

	# Start web server on port `3000` and serve files from `~/www/`
	crixalis --port 3000 --path ~/www/

Copyright and License

Copyright 2012-2016 Alexander Nazarov. All rights reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

1.0.0

8 years ago

0.5.5

8 years ago

0.5.4

9 years ago

0.5.3

9 years ago

0.5.2

10 years ago

0.5.1

10 years ago

0.5.0

10 years ago

0.4.8

10 years ago

0.4.7

10 years ago

0.4.6

10 years ago

0.4.5

11 years ago

0.4.4

11 years ago

0.4.3

11 years ago

0.4.2

11 years ago

0.4.1

11 years ago

0.4.0

11 years ago

0.3.3

11 years ago

0.3.2

11 years ago

0.3.1

11 years ago

0.3.0

11 years ago

0.2.4

11 years ago

0.2.3

11 years ago

0.2.2

11 years ago

0.2.1

11 years ago

0.2.0

11 years ago

0.1.9

11 years ago

0.1.8

11 years ago

0.1.7

11 years ago

0.1.6

11 years ago

0.1.5

11 years ago

0.1.4

11 years ago