Helping Marko to Roll Uphill, Pass the CaScadeS and reach the GladeJS at 11' for Tea (it's a frontend framework).
MIT License
GladeJS is a simple Rollup setup for bundling Web Sites built with Marko and Eleventy.
If the above description does not speak to you, try one of these for size :
Or maybe listing what it's not and doesn't do will give you a better idea :
<Link>
tagThis project requires NodeJS v14.x or superior and the included "npm" CLI v6.14 or superior. It is tested on the latest versions of NodeJS v14, v15 & v16 on MacOS, Ubuntu and Windows.
The complete installation instructions are in this section, don't look for any more details, it's all here.
A "@gladejs/create" automatic initialization package is planned for the v1.0 release.
It will allow for a simple "npm init @gladejs MyWebSite
" installation, but not yet.
mkdir MyWebSite && cd MyWebSite
npm init -y && npm i -D gladejs
package.json
" file with :"scripts": {
"vite": "rollup -c --watch --environment VITE_ENV",
"live": "rollup -c --watch",
"build": "rollup -c",
"clean": "rimraf build _site",
"build:prod": "rollup -c --environment NODE_ENV:production"
},
npx shx cp node_modules/gladejs/rollup.config.mjs .
The bare minimum to get you started is here, but you'll find detailed information in the "docs" folder.
A single "rollup.config.mjs
" file is used to configure your build process.
If you are not a NodeJS and/or Rollup guru, fret not, the defaults are just fine.
Nevertheless, give it a quick glance, it's relatively organised and documented.
GladeJS is directly controlled via NPM scripts, using the following commands :
npm run vite
" to run ViteJS "watch mode" for fast developmentnpm run live
" to run Rollup "watch mode" for live developmentnpm run build
" to bundle your project without any minificationnpm run clean
" to delete all files & folders created by GladeJSnpm run build:prod
" to bundle your project with minificationThe files & folders structure is marked by a distinctive lack of imagination :
pages
" input dir and Marko UI Components into the "components
" dir.layouts
" for 11ty Layouts, "includes
" for Includes and "datastores
" for Data Files.style.{css|less|sass|scss|styl}
" file placed next to any index.{html|md|marko|11ty.js|liquid|njk|hbs|mustache|ejs|haml|pug|jstl}
" page.Static assets are pulled in using relative, absolute or NPM package file paths :
import
" keyword at the top of any page for CSS, JS and images.src
" attribute or any normal HTML resource tag ("script
", "style
", "link
").CSS & JS resources are "swallowed" by Rollup to be bundled, chunked and pressed.
<gladejs-rollup />
".name
, type
, scoped
& rollup="ignore|bundle"
attributes for more control.Now, enter the GladeJS "docs", follow the floating possum around 11ty or RTFMD (Read The Fabulous Marko Docs).
While still in early development, everything is in place to receive your contributions.
You are now ready to contribute, so ... where is the code ? Mostly in another castle, Mario.
Finally, GladeJS relies on over 22 major OSS projects, including 7 Rollup plugins, contributing to any of them, not only benefits this project, but also many others.