Rabian is still under active development - At the current rate it should see version 1.0.0 release around mid/late 2024.
RabianJS.php is a modular lightweight cosmetic library and bootloader for CSS and Javascript libraries. I made it so that I could package many useful modules in an organized and efficient way. It has the ability to dynamically alter the content of the page based on its directory structure and files. It can be used to make custom profiles that load compressed versions of your tool suites, for rapid deployment to new servers. It is as simple as dragging all your Javascript, css, less and sass into a folder.
It will work with CMS systems like Drupal and Wordpress or anything with PHP (allthough its module system can be used without PHP). It has cosmetic features for various html elements and a very unique navigation and waypoint system that is ideal for use in long documentation pages. Its modular structure means you only load the parts you want.
Using rabian means you can develop modules on a live site with stealth mode enabled. The html is also compressed on delivery if you use the compression includes (more on that later).
The various navigation and cosmetic features include javascript parallax blocks (that work on mobile), loading effects, GDRP cookie consent boxes and a floating menu bar. It comes pre loaded with the smooth scroll polyfill. You can build a profile by filling the preload and postload folders with your entire toolsuite, for example if you wanted jquery and bootstrap in a project, you can just drop them in the preload or postload folder. Rabian also supports LESS and SASS, it will autocompile them into the cache folder with the rest of your css and automatically place them into the page. Once the cache is created JShrink is applied to compress them before delivery. It comes with preconfigured CORS and a
You can include the script and use any of the features on their own. Rabian only loads the modules you call from the page. This allows the module to be super light weight and lets it plug into CMS templates easily without the need to install it as a module.
Back-end
Front-end
Addon modules/projects
CSS packs
Rabian included addons
Installing Rabian is fairly easy in most cases. If the requirements are met, simply download the file from the top of this page and upload it onto your server in the root of the project, so it sits at https://whateveryoursiteis.com/rabian. If you would prefer to do it from the command line, you can do the following, note: this will not work until release of the project.
sudo wget -c https://rabian.io/not_available_yet.tar && tar xvf not_available_yet.tar
Then you need to run the following to give php write access to the rabian folder.
sudo chown -R www-data rabian
After installing, you should navigate to https://your-website.tld/rabian which will take you through first time setup, and check to see if requirements are met. This is a multi step procedure, that will require you to change your passcodes from the default.
Running this startup procedure, will generate a clear-cache key and a server private key, in the folder server_key. For added safety you can move the server_key file out of the web directory, as long as you update the location of the server_key file, in components.php which resides in rabian/core/
The first thing to do is navigate to /rabian/server_key/password.php and edit the file here:
// Set the pass codes it is recommended to set at least 3 in whichever pattern you like. You can use a-z,0-9.
$passcode_1 = '11';
$passcode_2 = '22';
$passcode_3 = '';
$passcode_4 = '';
$passcode_5 = '';
$passcode_6 = '';
$passcode_7 = '';
$passcode_8 = '';
$passcode_9 = '33';
If you would would like to change the location of the server_key file to somewhere outside of the web directory, you need to move the file, then locate /rabian/core/components.php and change this line to the new location:
$secret_location = "location you put the folder";
Rabian has two inclusion modes: Javascript only (legacy mode) and PHP mode that uses pseudo-templates. These are preconfigured per page packs of includes. The pseudo-templates allow for stealth mode (which lets you develop hidden modules on a live site) and use gatherer.php to automatically add every possible combination of include tag for the entire file system. As gatherer is an expensive operation, it generates a cache file to include in the pseudo-template when executed from the control panel or the admin overlay. After adding a module, you can either manually include it using the psudo-template, or use the version from gatherer after a rebuild. First though, I will show you how to include in legacy mode.