Skript pro sestavování webových aplikací pro ESP8266/ESP32. Používá se jako Git submodul u projektu.
generate.py | ||
LICENSE | ||
README.md |
WebApp_builder
Skript pro sestavování webových aplikací pro ESP8266/ESP32. Používá se jako Git submodul u projektu.
Návod k použití
Pro svoji práci používá soubor project.json
, který obsahuje parametry pro sestavení. Povinná sekce je sekce build
, která musí obsahovat následující:
approotdir
- cesta ke kořenovému adresáři projektu
"approotdir":"./",
outputdir
- cesta k adresáři, do kterého je umístěna sestavená verze projektu bez použití komprese souborů (určena pro kontrolu a případné ladění na PC)
"outputdir":"./dist/",
datadir
- cesta k adresáři, do kterého je generovaný výsledný obsah včetně případné komprese souborů
"datadir":"../AZP_IoT_PIO/data/",
flist
- jméno souboru s obsahem webu pro případnou automatickou aktualizaci ze zařízení. Není-li uvedeno, seznam se negeneruje.
"flist": "flist.txt",
combine
- seznam souborů, vzniklých kombinací (spojením) souborů jiných. Určeno pro minimalizaci současně stahovaných souborů.
"combine": [
{"name": "js/app.js",
"items":[
"js/l10n/l10n.js",
"js/drooltip/package/js/build/drooltip.js",
"js/MsgPop/js/msgPop.js",
"js/sparkline/sparkline.js",
"js/es6-promise.auto.min.js",
"js/SweetAlert2/dist/sweetalert2.min.js",
"js/menu.js",
"js/app.js"
]
}
],
copy
- seznam souborů a adresářů pro vytváření finální aplikace, obashuje také příznaky pro kompresi
"copy": [
{"src":"img/","dst":""},
{"src":"lang/","dst":""},
{"src":"html/favicon.png","dst":"favicon.png"},
{"src":"html/index.htm","dst":"index.htm","compress": true,"istemplate":true,"flistforce":true},
{"src":"html/setup.htm","dst":"setup.htm","compress": true,"istemplate":true,"flistforce":true},
{"src":"html/update.htm","dst":"update.htm","istemplate":true},
{"src":"devices/basic.json","dst":"basic.json","flistignore": true},
{"src":"devices/acdc.json","dst":"acdc.json","flistignore": true},
{"src":"devices/nmcu.json","dst":"nmcu.json","flistignore": true},
{"src":"devices/creas.json","dst":"creas.json","flistignore": true},
{"src":"js/microajax.js","dst":"","compress": true},
{"synthetic":true, "src":"js/app.js","dst":"","compress": true},
{"synthetic":true, "src":"css/app.css","dst":"","compress": true},
{"src":"html/.htaccess","dst":".htaccess","flistignore":true}
]
Doplňující parametry v sekci copy
jsou:
compress
- při kopírování dodatadir
se použije komprese gzip a jméno souboru se doplní o příponu.gz
.istemplate
- při kopírování se použije textový template engine s nahrazováním - určeno pro uložení čísla verzeflistforce
- v souboru se seznamem se použije klíčové slovoforce
, které vynutí násilný přepis souboru v cílovém zařízeníflistignore
- soubor se neuloží do seznamu v souborusyntehtic
- příznak, že soubor pro přesun vznikl pomocí sekcecombine
a nemá se tedy hledat ve zdrojových adresářích
K projektu hovětšinou přidáváme pomocí
git submodule add https://git.xpablo.cz/xPablo.cz/WebApp_builder.git ./tools/generate