✅ 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.
50 lines
1.1 KiB
JavaScript
50 lines
1.1 KiB
JavaScript
(function (Prism) {
|
|
|
|
function createBlock(prefix, inside, contentAlias) {
|
|
return {
|
|
pattern: RegExp('<#' + prefix + '[\\s\\S]*?#>'),
|
|
alias: 'block',
|
|
inside: {
|
|
'delimiter': {
|
|
pattern: RegExp('^<#' + prefix + '|#>$'),
|
|
alias: 'important'
|
|
},
|
|
'content': {
|
|
pattern: /[\s\S]+/,
|
|
inside: inside,
|
|
alias: contentAlias
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
function createT4(insideLang) {
|
|
var grammar = Prism.languages[insideLang];
|
|
var className = 'language-' + insideLang;
|
|
|
|
return {
|
|
'block': {
|
|
pattern: /<#[\s\S]+?#>/,
|
|
inside: {
|
|
'directive': createBlock('@', {
|
|
'attr-value': {
|
|
pattern: /=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/,
|
|
inside: {
|
|
'punctuation': /^=|^["']|["']$/
|
|
}
|
|
},
|
|
'keyword': /\b\w+(?=\s)/,
|
|
'attr-name': /\b\w+/
|
|
}),
|
|
'expression': createBlock('=', grammar, className),
|
|
'class-feature': createBlock('\\+', grammar, className),
|
|
'standard': createBlock('', grammar, className)
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
Prism.languages['t4-templating'] = Object.defineProperty({}, 'createT4', { value: createT4 });
|
|
|
|
}(Prism));
|