{"id":21033449,"url":"https://github.com/electerious/rosid","last_synced_at":"2025-10-24T04:01:26.408Z","repository":{"id":65998944,"uuid":"48647428","full_name":"electerious/Rosid","owner":"electerious","description":"Just-in-time development server and static site generator.","archived":false,"fork":false,"pushed_at":"2022-01-08T15:50:20.000Z","size":263,"stargazers_count":144,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-10T01:08:26.700Z","etag":null,"topics":["browsersync","cli","server","static-site-generator","transpiler"],"latest_commit_sha":null,"homepage":"https://rosid.electerious.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/electerious.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-12-27T14:12:05.000Z","updated_at":"2025-04-07T01:42:22.000Z","dependencies_parsed_at":"2023-06-09T20:00:32.093Z","dependency_job_id":null,"html_url":"https://github.com/electerious/Rosid","commit_stats":null,"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electerious%2FRosid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electerious%2FRosid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electerious%2FRosid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electerious%2FRosid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/electerious","download_url":"https://codeload.github.com/electerious/Rosid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137887,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browsersync","cli","server","static-site-generator","transpiler"],"created_at":"2024-11-19T12:57:10.319Z","updated_at":"2025-10-24T04:01:26.301Z","avatar_url":"https://github.com/electerious.png","language":"JavaScript","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=CYKBESW577YWE"],"categories":[],"sub_categories":[],"readme":"# Rosid\n\n[![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\u0026hosted_button_id=CYKBESW577YWE) [![Greenkeeper badge](https://badges.greenkeeper.io/electerious/Rosid.svg)](https://greenkeeper.io/)\n\nJust-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.\n\n![Terminal and browser](https://s.electerious.com/images/rosid/readme.png)\n\n## Contents\n\n- 🏃 [Get started](#get-started)\n- 📄 [Introduction](#introduction)\n- 🔗 [Links](#links)\n- ⚙️ [Documentation](#documentation)\n- 💡 [Tips](#tips)\n\n## Get started\n\nRosid 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 \u0026#187;](docs/Get%20started.md)\n\n## Introduction\n\n### What is Rosid?\n\nRosid is a framework that focus on two features:\n\n1. A **development server with live reloading**, which transforms files as soon as you request them.\n2. A **static site generator**, which transforms files using defined transform functions.\n\n### Why Rosid?\n\n- It doesn't force you to use a defined directory structure\n- It's built on popular modules like [Browsersync](https://www.browsersync.io)\n- It's lightweight and only includes what it really needs\n- Transformed files don't need to be saved along their source files\n- It lets you compile code to static files to host them anywhere\n\n### How does it work?\n\nRosid 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.\n\n## Links\n\nBoilerplates powered by Rosid:\n\n- 📐 [Skeleton EJS](https://github.com/electerious/Skeleton-EJS): EJS, JS (with Babel, UglifyJS) and SASS (with cssnano, Autoprefixer)\n- 📐 [Skeleton NJK](https://github.com/electerious/Skeleton-NJK): Nunjucks, JS (with Babel, UglifyJS) and SASS (with cssnano, Autoprefixer)\n- 📐 [Skeleton Components](https://github.com/electerious/Skeleton-Components): UI for components written in Nunjucks, JS (with Babel, UglifyJS) and SASS (with cssnano, Autoprefixer)\n\nHandlers build for Rosid:\n\n- ⚙️ [rosid-handler-js](https://github.com/electerious/rosid-handler-js): Load, transform, bundle and compress JS.\n- ⚙️ [rosid-handler-node](https://github.com/electerious/rosid-handler-node): Load JS and transform to HTML.\n- ⚙️ [rosid-handler-sass](https://github.com/electerious/rosid-handler-sass): Load SASS and transform to CSS, add vendor prefixes and minify.\n- ⚙️ [rosid-handler-less](https://github.com/freedeebee/rosid-handler-less): Load LESS and transform to CSS, add vendor prefixes and minify.\n- ⚙️ [rosid-handler-ejs](https://github.com/electerious/rosid-handler-ejs): Load EJS templates and render them.\n- ⚙️ [rosid-handler-njk](https://github.com/electerious/rosid-handler-njk): Load Nunjucks templates and render them.\n- ⚙️ [rosid-handler-twig](https://github.com/electerious/rosid-handler-twig): Load Twig templates and render them.\n- ⚙️ [rosid-handler-malvid](https://github.com/comwrap/rosid-handler-malvid): UI to help you build and document web components.\n- ⚙️ [rosid-handler-postcss](https://github.com/omarkhatibco/rosid-handler-postcss): Load CSS and transform it using Post CSS.\n\nSites powered by Rosid:\n\n- 🌍 [Rosid](https://rosid.electerious.com)\n- 🌎 [Electerious](https://electerious.com)\n- 🌏 [Lychee](https://lychee.electerious.com)\n- 🌍 [LaudableApps](https://laudableapps.com)\n- 🌎 [LaudableSites](https://laudablesites.com)\n- 🌏 [basicLightbox](https://basiclightbox.electerious.com)\n- 🌍 [basicGrid](https://basicgrid.electerious.com)\n- 🌎 [Coffee Table](https://coffee.electerious.com)\n- 🌏 [Malvid](https://malvid.electerious.com)\n\nGuides for Rosid:\n\n- 📄 [Get started](docs/Get%20started.md)\n- 📄 [Writing a handler](docs/Writing%20a%20handler.md)\n\n## Documentation\n\n### Requirements\n\nRosid depends on...\n\n- [Node.js](https://nodejs.org/en/) (v8.9.0 or newer)\n- [npm](https://www.npmjs.com)\n\nMake sure to install and update all dependencies before you setup Rosid.\n\n### Routes\n\nRoutes tell Rosid how to transform your code. They specify which [handler](docs/Handlers.md) should be executed when a defined pattern matches. [Routes \u0026#187;](docs/Routes.md)\n\n### Handlers\n\nHandlers are functions which load and transform files. You can write them on your own or use existing handlers from npm. [Handlers \u0026#187;](docs/Handlers.md)\n\n### API\n\nRosid 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 \u0026#187;](docs/API.md)\n\n### CLI\n\nThe 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 \u0026#187;](docs/CLI.md)\n\n### Options\n\nIf you want more control over Rosid, pass an object of options to it. [Options \u0026#187;](docs/Options.md)\n\n## Tips\n\n- 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felecterious%2Frosid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felecterious%2Frosid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felecterious%2Frosid/lists"}