✅ 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.
55 lines
1.3 KiB
JavaScript
55 lines
1.3 KiB
JavaScript
/* FIXME :
|
|
:extend() is not handled specifically : its highlighting is buggy.
|
|
Mixin usage must be inside a ruleset to be highlighted.
|
|
At-rules (e.g. import) containing interpolations are buggy.
|
|
Detached rulesets are highlighted as at-rules.
|
|
A comment before a mixin usage prevents the latter to be properly highlighted.
|
|
*/
|
|
|
|
Prism.languages.less = Prism.languages.extend('css', {
|
|
'comment': [
|
|
/\/\*[\s\S]*?\*\//,
|
|
{
|
|
pattern: /(^|[^\\])\/\/.*/,
|
|
lookbehind: true
|
|
}
|
|
],
|
|
'atrule': {
|
|
pattern: /@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,
|
|
inside: {
|
|
'punctuation': /[:()]/
|
|
}
|
|
},
|
|
// selectors and mixins are considered the same
|
|
'selector': {
|
|
pattern: /(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,
|
|
inside: {
|
|
// mixin parameters
|
|
'variable': /@+[\w-]+/
|
|
}
|
|
},
|
|
|
|
'property': /(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,
|
|
'operator': /[+\-*\/]/
|
|
});
|
|
|
|
Prism.languages.insertBefore('less', 'property', {
|
|
'variable': [
|
|
// Variable declaration (the colon must be consumed!)
|
|
{
|
|
pattern: /@[\w-]+\s*:/,
|
|
inside: {
|
|
'punctuation': /:/
|
|
}
|
|
},
|
|
|
|
// Variable usage
|
|
/@@?[\w-]+/
|
|
],
|
|
'mixin-usage': {
|
|
pattern: /([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,
|
|
lookbehind: true,
|
|
alias: 'function'
|
|
}
|
|
});
|