Skript pro sestavování webových aplikací pro ESP8266/ESP32. Používá se jako Git submodul u projektu.
Go to file
2021-12-01 08:50:00 +01:00
generate.py Priprava na sablony i ve virtualnich datech - nefunguje na js, kvuli nedokonalemu Template engine 2020-10-28 09:39:34 +01:00
gitrev.py Skript pro ziskani verze z gitu 2021-12-01 08:50:00 +01:00
LICENSE Initial commit 2020-07-02 09:41:32 +02:00
README.md Generovani flist.txt opet funkcni, template promenne, verze 1.3.0 2020-08-28 12:53:37 +02:00

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í do datadir 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 verze

  • flistforce - v souboru se seznamem se použije klíčové slovo force, které vynutí násilný přepis souboru v cílovém zařízení

  • flistignore - soubor se neuloží do seznamu v souboru

  • syntehtic - příznak, že soubor pro přesun vznikl pomocí sekce combine a nemá se tedy hledat ve zdrojových adresářích

  • templatevariables - seznam proměnných a jejich hodnoty, nahrazované template procesorem.

  "templatevariables": {"title":"Titulek", "name":"Jmeno aplikace"}

K projektu ho většinou přidáváme pomocí

git submodule add https://git.xpablo.cz/xPablo.cz/WebApp_builder.git ./tools/generate