# esp-html-skeleton **Repository Path**: mirrors_embedthis/esp-html-skeleton ## Basic Information - **Project Name**: esp-html-skeleton - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2025-10-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README esp-html-skeleton === ESP Application skeleton for HTML MVC applications. ### Description Provides a skeleton for HTML MVC applications using ESP, Expansive and Less stylesheets. The **esp-html-skeleton** provides provides a environment for building HTML MVC applications and web sites. The skeleton includes the ESP default directory structure, templates for generating controllers, database migrations, and scaffolds. The skeleton provides a default look and feel and includes a home page and Less-based stylesheet. The skeleton provides configuration for a "debug" and "release" mode of operation via the "pak.mode" property in package.json. By default, debug mode will use pre-minified libraries if they have a symbol map file. Release mode will minify scripts as required. ### Provides * contents/css — Application less stylesheets * contents/index.esp — Default home page * esp.json — ESP configuration file * expansive.json — Expansive configuration file * layouts/default.html.exp — Master web page layout * paks/ — Installed packages * partials/ — Web page partial content ### Dependencies The esp-html-skeleton package depends upon: * [exp-css](https://github.com/embedthis/exp-css) to process CSS files * [exp-less](https://github.com/embedthis/exp-less) to process Less files * [exp-js](https://github.com/embedthis/exp-js) to process script files * [exp-esp](https://github.com/embedthis/exp-esp) to compile ESP controllers and pages * [esp-mvc](https://github.com/embedthis/esp-mvc) for ESP MVC application support. ### Installation pak install esp-html-skeleton ### Building expansive render ### Running expansive or expansive render esp ### Generate Targets To generate an appweb.conf configuration file for hosting the ESP application in Appweb. esp generate appweb To generate a controller esp generate controller name [action [, action] ... To generate a database table esp generate table name [field:type [, field:type] ...] To generate a migration esp generate migration description model [field:type [, field:type] ...] To generate a scaffold esp generate scaffold model [field:type [, field:type] ...] ### Configuration #### esp.json * esp.generate — Template files to use when using esp generate. * http.auth.store — Store passwords in an application database. * http.routes — Use a default package of RESTful routes. ``` { "esp": { "generate": { "appweb": "esp-html-skeleton/generate/appweb.conf", "clientList": "esp-html-skeleton/generate/list.esp", "clientEdit": "esp-html-skeleton/generate/edit.esp", "controller": "esp-html-skeleton/generate/controller.c", "controllerSingleton": "esp-html-skeleton/generate/controllerSingleton.c" } }, "http": { "auth": { "store": "app" }, "routes": "esp-restful" } } ``` #### expansive.json * less.enable — Enable the less service to process less files. * less.stylesheet — Primary stylesheet to update if any less file changes. If specified, the "dependencies" map will be automatically created. * less.dependencies — Explicit map of dependencies if not using "stylesheet". * less.documents — Array of less files to compile. * css.prefix — Enable running autoprefixer on CSS files to handle browser specific extensions. * css.minify — Enable minifying CSS files. * js.enable — Enable minifying script files. * js.files — Array of files to minify. Files are relative to 'source'. * js.compress — Enable compression of script files. * js.mangle — Enable mangling of Javascript variable and function names. * js.dotmin — Set '.min.js' as the output file extension after minification. Otherwise will be '.js'. ``` { services: { 'less': { enable: true, stylesheet: 'css/all.css', dependencies: { 'css/all.css.less' : '**.less' }, files: [ '!**.less', '**.css.less' ] }, 'css': { enable: true, }, 'js': { enable: true, files: null, compress: true, mangle: true, dotmin: false, } } } ``` ### Download * [Pak](https://www.embedthis.com/pak/) * [Expansive](https://www.embedthis.com/expansive/)