✅ 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.
28 lines
619 B
JavaScript
28 lines
619 B
JavaScript
/**
|
|
* Count how often a character (or substring) is used in a string.
|
|
*
|
|
* @param {string} value
|
|
* Value to search in.
|
|
* @param {string} character
|
|
* Character (or substring) to look for.
|
|
* @return {number}
|
|
* Number of times `character` occurred in `value`.
|
|
*/
|
|
export function ccount(value, character) {
|
|
const source = String(value)
|
|
|
|
if (typeof character !== 'string') {
|
|
throw new TypeError('Expected character')
|
|
}
|
|
|
|
let count = 0
|
|
let index = source.indexOf(character)
|
|
|
|
while (index !== -1) {
|
|
count++
|
|
index = source.indexOf(character, index + character.length)
|
|
}
|
|
|
|
return count
|
|
}
|