Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/electerious/rosid
Just-in-time development server and static site generator.
https://github.com/electerious/rosid
browsersync cli server static-site-generator transpiler
Last synced: about 8 hours ago
JSON representation
Just-in-time development server and static site generator.
- Host: GitHub
- URL: https://github.com/electerious/rosid
- Owner: electerious
- License: mit
- Created: 2015-12-27T14:12:05.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-01-08T15:50:20.000Z (about 3 years ago)
- Last Synced: 2024-10-29T10:45:35.348Z (3 months ago)
- Topics: browsersync, cli, server, static-site-generator, transpiler
- Language: JavaScript
- Homepage: https://rosid.electerious.com
- Size: 257 KB
- Stars: 143
- Watchers: 5
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Rosid
[![Travis Build Status](https://travis-ci.org/electerious/Rosid.svg?branch=master)](https://travis-ci.org/electerious/Rosid) [![Coverage Status](https://coveralls.io/repos/github/electerious/Rosid/badge.svg?branch=master)](https://coveralls.io/github/electerious/Rosid?branch=master) [![Dependencies](https://david-dm.org/electerious/Rosid.svg)](https://david-dm.org/electerious/Rosid#info=dependencies) [![Donate via PayPal](https://img.shields.io/badge/paypal-donate-009cde.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CYKBESW577YWE) [![Greenkeeper badge](https://badges.greenkeeper.io/electerious/Rosid.svg)](https://greenkeeper.io/)
Just-in-time server and static site generator written in [Node.js](https://nodejs.org/). Rosid transforms your files on-the-fly before serving them to the browser.
![Terminal and browser](https://s.electerious.com/images/rosid/readme.png)
## Contents
- ๐ [Get started](#get-started)
- ๐ [Introduction](#introduction)
- ๐ [Links](#links)
- โ๏ธ [Documentation](#documentation)
- ๐ก [Tips](#tips)## Get started
Rosid can be integrated into your project in two ways: Using the CLI *or* using the API of Rosid. Check out our guide for more information. [Get started with Rosid ยป](docs/Get%20started.md)
## Introduction
### What is Rosid?
Rosid is a framework that focus on two features:
1. A **development server with live reloading**, which transforms files as soon as you request them.
2. A **static site generator**, which transforms files using defined transform functions.### Why Rosid?
- It doesn't force you to use a defined directory structure
- It's built on popular modules like [Browsersync](https://www.browsersync.io)
- It's lightweight and only includes what it really needs
- Transformed files don't need to be saved along their source files
- It lets you compile code to static files to host them anywhere### How does it work?
Rosid starts a server and compares requested URLs with [user-defined patterns](docs/Routes.md). An associated [file handler](docs/Handlers.md) will be executed when a pattern matches. The handler receives information about the request and can transform the file, which will be sent to the browser.
## Links
Boilerplates powered by Rosid:
- ๐ [Skeleton EJS](https://github.com/electerious/Skeleton-EJS): EJS, JS (with Babel, UglifyJS) and SASS (with cssnano, Autoprefixer)
- ๐ [Skeleton NJK](https://github.com/electerious/Skeleton-NJK): Nunjucks, JS (with Babel, UglifyJS) and SASS (with cssnano, Autoprefixer)
- ๐ [Skeleton Components](https://github.com/electerious/Skeleton-Components): UI for components written in Nunjucks, JS (with Babel, UglifyJS) and SASS (with cssnano, Autoprefixer)Handlers build for Rosid:
- โ๏ธ [rosid-handler-js](https://github.com/electerious/rosid-handler-js): Load, transform, bundle and compress JS.
- โ๏ธ [rosid-handler-node](https://github.com/electerious/rosid-handler-node): Load JS and transform to HTML.
- โ๏ธ [rosid-handler-sass](https://github.com/electerious/rosid-handler-sass): Load SASS and transform to CSS, add vendor prefixes and minify.
- โ๏ธ [rosid-handler-less](https://github.com/freedeebee/rosid-handler-less): Load LESS and transform to CSS, add vendor prefixes and minify.
- โ๏ธ [rosid-handler-ejs](https://github.com/electerious/rosid-handler-ejs): Load EJS templates and render them.
- โ๏ธ [rosid-handler-njk](https://github.com/electerious/rosid-handler-njk): Load Nunjucks templates and render them.
- โ๏ธ [rosid-handler-twig](https://github.com/electerious/rosid-handler-twig): Load Twig templates and render them.
- โ๏ธ [rosid-handler-malvid](https://github.com/comwrap/rosid-handler-malvid): UI to help you build and document web components.
- โ๏ธ [rosid-handler-postcss](https://github.com/omarkhatibco/rosid-handler-postcss): Load CSS and transform it using Post CSS.Sites powered by Rosid:
- ๐ [Rosid](https://rosid.electerious.com)
- ๐ย [Electerious](https://electerious.com)
- ๐ย [Lychee](https://lychee.electerious.com)
- ๐ [LaudableApps](https://laudableapps.com)
- ๐ [LaudableSites](https://laudablesites.com)
- ๐ [basicLightbox](https://basiclightbox.electerious.com)
- ๐ [basicGrid](https://basicgrid.electerious.com)
- ๐ [Coffee Table](https://coffee.electerious.com)
- ๐ [Malvid](https://malvid.electerious.com)Guides for Rosid:
- ๐ [Get started](docs/Get%20started.md)
- ๐ [Writing a handler](docs/Writing%20a%20handler.md)## Documentation
### Requirements
Rosid depends on...
- [Node.js](https://nodejs.org/en/) (v8.9.0 or newer)
- [npm](https://www.npmjs.com)Make sure to install and update all dependencies before you setup Rosid.
### Routes
Routes tell Rosid how to transform your code. They specify which [handler](docs/Handlers.md) should be executed when a defined pattern matches. [Routes ยป](docs/Routes.md)
### Handlers
Handlers are functions which load and transform files. You can write them on your own or use existing handlers from npm. [Handlers ยป](docs/Handlers.md)
### API
Rosid can be integrated into your project using its API *or* CLI. The API gives you more flexibility and allows you to use Rosid in your existing asset pipeline or toolset. [API ยป](docs/API.md)
### CLI
The CLI of Rosid is located in the `bin` folder and allows you to run the `serve` and `compile` functions without adding JS files to your project. This approach is simpler than using the API, but provides less flexibility. [CLI ยป](docs/CLI.md)
### Options
If you want more control over Rosid, pass an object of options to it. [Options ยป](docs/Options.md)
## Tips
- Install Rosid without optional dependencies using npm's `--no-optional` flag. This speeds up the installation and skips a lot of dependencies. It's perfect when used in production. The downside: Running the `serve` function isn't possible anymore.