Expansive Features
Expansive will generate static web sites from pages, layouts, partials and scripts. It has the following major features:
- Ejscript templates for dynamic content
- Layout pages to define the look and feel of site
- Partial pages to include replicated content
- Per-page meta data to control layouts and partials
- Integrated web server to serve content
- Watch for changes and automatically render site
- Scripting support via change events
- Automatic sitemap creation
- Content transition pipeline
- Open plugin architecture
Performance
- Very fast rendering. Benchmark: sample site with 1329 pages, 92 scripted pages using master layout, partials, and generating 8 sitemaps — rendered in 1.97 secs.
- Expansive monitoring same site for changes each second uses only 1.7% of the CPU on a Mac notebook.
Expansive Command Tool
- clean — remove generated site
- edit — edit configuration in expansive.json
- init — initialize directories for Expansive
- mode — set the mode property in package.json
- render — create and render site contents
- watch — Watch documents for changes and re-render
- path-names — Render specific pages or directories
Dynamic Content
- Embedded Ejscript statements and expressions for dynamically created content
- API to manage documents, files and meta data
- API to hook events for custom behavior
Page Layout
- Master layout pages can define the look and feel of entire site
- Master pages can be nested
- Partial pages permit sharing of common page content
- Partial pages can be nested
- Configurable meta data enables parameterized layouts and partials
- Scripting to dynamically generate page content
Configuration
- Per-directory expansive.es configuration file — inherited by lower directories
- Per-document meta definition and variables — passed to partials and layouts
Plugins
- Extensible, modular plugin interface
- Plugins packaged as Paks for easy installation via the Pak utility.
Developer Support
- Open source — full source code available
- Implemented in under 2K lines of Javascript
Platform Support
- Linux (2.6)
- Windows (7 and later)
- MAC OSX (Lion)
- Free BSD
- Unix
Other Features
- Packaged installations for Windows and MAC OS X
- Expansive command line tool
Selection of Plugins
Name | Description |
---|---|
exp-css | Process CSS files to add browser specific prefixes and minify the output. |
exp-esp | Compile ESP pages and applications. |
exp-gzip | Compress final output using gzip. |
exp-js | Process Javascript files to mangle and minify. |
exp-less | Process Less stylesheets into CSS. |
exp-md | Process markdown pages. |
exp-ng | Angular applications. |
exp-sass | Process SASS files into css. |
exp-shell | Run shell scripts and capture the output. |
Selection of Skeletons
Skeletons provide ready-to-go starting points for your applications. The include configuration and packages required for specific environments.
Name | Description |
---|---|
exp-html-skeleton | Run shell scripts and capture the output. |
exp-semantic-skeleton | Run shell scripts and capture the output. |