Opravy střední priority - sjednocení cest, lazy loading, minifikace

- Sjednoceny všechny relativní cesty na absolutní (od kořene /web/)
- Přidáno loading="lazy" pro všechny obrázky pod foldem
- Vytvořeny minifikované verze:
  - web/js/min/shared.min.js (125 → 3 řádky)
  - web/css/min/shared.min.css
  - web/css/min/variables.min.css
- Přidány dev dependencies: cssnano, terser
- Vytvořen minify.js skript pro budoucí minifikaci

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
kankys committed 2026-08-10 20:08:15 +02:00
1 parent c816b42bc8
commit 31833adfb7
52 files changed
+4207 -51

No files matched your search

+67
View File
@@ -0,0 +1,67 @@
const fs = require('fs');
const path = require('path');
const { minify: minifyJs } = require('terser');
// Minify JavaScript files
const jsFiles = [
'js/shared.js'
];
// Minify CSS files (simple approach - remove whitespace and comments)
function minifyCss(content) {
return content
.replace(/\/\*[\s\S]*?\*\//g, '') // Remove multi-line comments
.replace(/\/\*.*\*\//g, '') // Remove single-line comments
.replace(/\s+/g, ' ') // Collapse whitespace
.replace(/\s*([{}:;,>])\s*/g, '$1') // Remove spaces around brackets
.replace(/\s*\n\s*/g, '\n') // Remove empty lines
.replace(/\n/g, '') // Remove all newlines
.trim();
}
async function minifyAll() {
// Minify JS files
for (const file of jsFiles) {
try {
const content = fs.readFileSync(file, 'utf8');
const result = await minifyJs(content, {
compress: {
drop_console: false,
keep_fnames: false,
passes: 2
},
mangle: true,
format: {
beautify: false,
comments: false
}
});
const outputPath = file.replace('.js', '.min.js');
fs.writeFileSync(outputPath, result.code);
console.log(`Minified: ${file} -> ${outputPath}`);
} catch (error) {
console.error(`Error minifying ${file}:`, error);
}
}
// Minify CSS files
const cssFiles = [
'css/shared.css',
'css/variables.css'
];
for (const file of cssFiles) {
try {
const content = fs.readFileSync(file, 'utf8');
const minified = minifyCss(content);
const outputPath = file.replace('.css', '.min.css');
fs.writeFileSync(outputPath, minified);
console.log(`Minified: ${file} -> ${outputPath}`);
} catch (error) {
console.error(`Error minifying ${file}:`, error);
}
}
}
minifyAll().catch(console.error);