ESPTerm web interface submodule, separated to make testing and development easier
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Ondřej Hruška e689a6a655 Create README.md 7 years ago
css Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago
fontello Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago
img Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago
js Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago
jssrc crlf mode, cursor style config; changed Attrs Word to 3B 7 years ago
lang crlf mode, cursor style config; changed Attrs Word to 3B 7 years ago
out fix build script to also build html 7 years ago
pages crlf mode, cursor style config; changed Attrs Word to 3B 7 years ago
sass Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago
.gitignore fix build script to also build html 7 years ago
LICENSE.txt Added MPL license file 7 years ago
README.md Create README.md 7 years ago
_debug_replacements.php Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago
_env.php.example Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago
_pages.php Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago
base.php Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago
build.sh fix build script to also build html 7 years ago
build_html.php fix build script to also build html 7 years ago
dump_js_lang.php Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago
favicon.ico Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago
index.php Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago
server.sh Added content from old ESPTerm repo @ b8ed46cbea0b88730a2a6bad8375790158110910 7 years ago

README.md

ESPTerm web interface

This repository contains the ESPTerm web interface source files.

Installation

Run yarn install (if a yarn.lock file is present) to set up the build tools used for JS and SASS. (Otherwise, globally install sass.)

You also need PHP installed (preferably version >= 7, but older may work too). PHP is used to build the HTML files and apply substitutions.

Development

JavaScript source files can be found in the jssrc/ folder, SASS files in the sass folder.

Fontello (icon font) is maintained in the fontello/ folder. To update Fontello, replace the fontello.zip file and run unpack.sh in the same folder. This will extract the needed CSS from the zip file and put them into the sass/ folder to be included with the other styles.

To test you changes (after building JS and CSS), run a PHP local server in the project directory using the server.sh script or by a command like php -S 0.0.0.0:2000. Template substitutions (that are normally done by the ESPTerm's webserver) applied to the files fior testing can be defined in _debug_replacements.php.

Template strings

Template strings are used to embed substitutions dynamically when serving the web page. They have the format %key%, %j:key% or %h:key%, the prefix j: and h: causes the value to be HTML- or JS-escaped.

HTML escape turns '"<> into HTML entities. JS escape turns '"\<>\r\n into the corresponding JS-string escape sequences (<> use \u003C and \u003E).

Building

To build the final JS and CSS files, run build.sh. This script also puts static versions of the HTML files in the out/ folder to be retrieved by the ESPTerm's firmware build script.

Files with template substitutions use the .tpl suffix. This ensures they are not pre-gzipped when building the ESPTerm firmware, as .html files are sent to the browser already compressed to save file size and substitutions would not be possible.

Demo build

If the env variable ESP_DEMO is set when running build.sh, those static HTML files will be altered for use in the ESPTerm web demo (i.e. the JS will make no attempts to communicate with the back-end and use dummy values instead.

All files use the .html suffix in a demo build and have replacements applied using _debug_replacements.php.