- build-pages.mjs: per-locale page/partial overrides (*.en.html), i18n token
resolution with ru fallback, <html lang> + assetPrefix per locale
- UI dictionaries src/i18n/{ru,en}.json; lang-switch partial
- headers/footer/partials converted to {{i18n:…}} tokens
- root-absolute static asset refs so /en/ subpath loads css/js/vendor
- EN content: homepage (index.en.html + partials) and cookie-policy.en.html
(cookie-policy body translated via apinex.bond /v1/tools/translator)
21 lines
825 B
JavaScript
21 lines
825 B
JavaScript
/**
|
|
* Live-reload-клиент для стендов public/_lab.
|
|
* Подключается к SSE /_lab/events сервера serve-dev.mjs и перезагружает
|
|
* страницу при правке любого css/js/mjs/html в public/.
|
|
*
|
|
* Вставка в стенд: <script type="module" src="/_lab/live-reload.js"></script>
|
|
* Работает только при запущенном `npm run serve` (нет на проде).
|
|
*/
|
|
(function () {
|
|
if (!window.EventSource) return;
|
|
const es = new EventSource("/_lab/events");
|
|
es.onmessage = (e) => {
|
|
if (e.data === "reload") {
|
|
es.close();
|
|
window.location.reload();
|
|
}
|
|
};
|
|
// Если сервер не поднят — молча уходим, F5 работает как раньше.
|
|
es.onerror = () => es.close();
|
|
})();
|