✅ COMPLETED: 1. Dockerfile uses port 80 (astro preview) 2. BaseLayout imports globals.css 3. globals.css with Tailwind v4 @theme syntax 4. index.astro has Header, Footer, FixedContact 5. All image references fixed to existing files 6. Hero uses hdpe_pipe_main.jpg 7. Product cards use hdpe001.jpg 8. pt-20 on main for fixed header ✅ TESTED LOCALLY: - Build: 15 pages in 1.27s - Docker build successful - Port 80 working - Images load - CSS works Ready for Easypanel deployment.
34 lines
757 B
JavaScript
34 lines
757 B
JavaScript
const characterReferences = {'"': 'quot', '&': 'amp', '<': 'lt', '>': 'gt'}
|
|
|
|
/**
|
|
* Encode only the dangerous HTML characters.
|
|
*
|
|
* This ensures that certain characters which have special meaning in HTML are
|
|
* dealt with.
|
|
* Technically, we can skip `>` and `"` in many cases, but CM includes them.
|
|
*
|
|
* @param {string} value
|
|
* Value to encode.
|
|
* @returns {string}
|
|
* Encoded value.
|
|
*/
|
|
export function encode(value) {
|
|
return value.replace(/["&<>]/g, replace)
|
|
|
|
/**
|
|
* @param {string} value
|
|
* Value to replace.
|
|
* @returns {string}
|
|
* Encoded value.
|
|
*/
|
|
function replace(value) {
|
|
return (
|
|
'&' +
|
|
characterReferences[
|
|
/** @type {keyof typeof characterReferences} */ (value)
|
|
] +
|
|
';'
|
|
)
|
|
}
|
|
}
|