parent
							
								
									d9841f60a0
								
							
						
					
					
						commit
						e689a6a655
					
				@ -0,0 +1,54 @@ | 
				
			|||||||
 | 
					# 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`. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue