Rouleau is a sandbox website used to experiment a couple of technologies. It intends to be JAMstack compliant and PWA capable. It consists of two parts:
- The static content, i.e. the html/css/javascript files of the front-end, that can be delivered by a CDN
- A REST server for the dynamic content
The front-end files are generated by transpilation to help to find bugs early and get proper code. The following languages are used:
- pug for HTML
- Sass for CSS
- TypeScript for JavaScript
HTML5, CSS3 and ES6 are preferred even if they restrict the compatibility with old browsers. Rouleau is a single-page application with an original layout, intended to highlight the functioning.
This project requires nodejs and npm:
> node -v
v8.10.0
> npm -v
6.9.0
To upgrade your npm version, you can try:
sudo npm i -g npm
Additional requirements:
sudo apt install rst2pdf evince curl
pip install --user pipenv
In a bash terminal, type:
git clone https://github.com/charlyoleg/rouleau
cd rouleau
npm install
npm start
You can check the node-package dependencies with:
npm ls --depth=0
npm ls --prod --depth=0
npm ls --dev --depth=0
Because the Rouleau's front-end is a static website, it can be built and deployed by free CDN solutions like Netlify, CloudFlare, FireBase, AWS, Surge.sh, Aerobic and Now.sh.
With Netlify:
With Surge.sh:
With Now.sh:
To generate and view the documentation:
npm run install_py
npm run the_docs
Or visit the online documentation on Read-the-Docs: