Compare commits

..

16 Commits

Author SHA1 Message Date
Keith Solomon
994107305b 🐞 fix: Update build script
All checks were successful
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-03-07 20:39:09 -06:00
Keith Solomon
514dc490b5 🐞 fix: Update build script
All checks were successful
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-03-07 20:29:32 -06:00
Keith Solomon
f4782bc9cd 🔵 other: Formatting updates
All checks were successful
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-03-07 19:59:15 -06:00
Keith Solomon
361f57424c 🐞 fix: Update npm stack for bootstrap install
All checks were successful
Sync TODOs with Issues / sync_todos (push) Successful in 6s
2026-03-07 18:54:30 -06:00
Keith Solomon
5b7fed2cb8 🐞 fix: Revert admin UI style overrides, typography updates (#9)
All checks were successful
Sync TODOs with Issues / sync_todos (push) Successful in 8s
2026-03-04 08:55:15 -06:00
Aarish
3ef6385935 Remove wp_print_styles action from wp_head (#5)
Removed the remove_action hook for wp_print_styles in lib/hooks.php. Previously, this hook was preventing stylesheets from loading in the <head> and forcing them to load in the footer. This caused a significant Flash of Unstyled Content (FOUC) where the raw HTML would render before styles were applied.
2026-03-04 08:51:55 -06:00
Keith Solomon
a90272f0af 🐞 fix: Alignment fix 2026-02-24 12:19:03 -06:00
Keith Solomon
57129db550 feature: Update font sizes 2026-02-24 12:18:12 -06:00
Keith Solomon
a420cc430e Merge pull request #6 from Vincent-Design-Inc/fix/wp-script-module-args
Update script enqueueing for WordPress version 6.9
2026-02-20 08:25:31 -06:00
Keith Solomon
45fe3b1cf0 Merge branch 'main' into fix/wp-script-module-args 2026-02-20 08:24:35 -06:00
Keith Solomon
c07436c1f6 🐞 fix: Remove bogus parameters that were causing critical errors, remove unneeded version checks 2026-02-20 08:21:00 -06:00
Keith Solomon
8ef9e0c759 Merge pull request #7 from Vincent-Design-Inc/bugfix/footer-menu-guard
Refactor footer navigation retrieval logic
2026-02-19 14:12:23 -06:00
Keith Solomon
179754d6d0 🐞 fix: Cleaned up phpcs errors 2026-02-19 14:10:59 -06:00
Keith Solomon
7d24009fae 🐞 fix: Get rid of parameters causing critical errors in script calls 2026-02-18 11:57:40 -06:00
willpalahnuk
dc33dea120 Refactor footer navigation retrieval logic
Prevent:

Warning: Undefined array key "footer_navigation" in /Users/will/Local Sites/banffs-indigenous-experiences-map/app/public/wp-content/themes/Banff/footer.php on line 19

Warning: Undefined property: WP_Error::$term_id in /Users/will/Local Sites/banffs-indigenous-experiences-map/app/public/wp-content/themes/Banff/footer.php on line 20
2026-01-30 18:00:56 -06:00
willpalahnuk
bc9cf9bcdb Update script enqueueing for WordPress version 6.9
Backwards compatible for earlier versions, changes can be simplified if we only ever need to consider 6.9+
2026-01-30 17:57:59 -06:00
11 changed files with 218 additions and 185 deletions

10
.vscode/settings.json vendored
View File

@@ -3,6 +3,14 @@
"tree.indentGuidesStroke": "#3d92ec", "tree.indentGuidesStroke": "#3d92ec",
"activityBar.background": "#213309", "activityBar.background": "#213309",
"titleBar.activeBackground": "#2E470C", "titleBar.activeBackground": "#2E470C",
"titleBar.activeForeground": "#F6FCEE" "titleBar.activeForeground": "#F6FCEE",
"titleBar.inactiveBackground": "#213209",
"titleBar.inactiveForeground": "#F7FCEF",
"statusBar.background": "#213209",
"statusBar.foreground": "#F7FCEF",
"statusBar.debuggingBackground": "#213209",
"statusBar.debuggingForeground": "#F7FCEF",
"statusBar.noFolderBackground": "#213209",
"statusBar.noFolderForeground": "#F7FCEF"
} }
} }

View File

@@ -16,7 +16,7 @@ const cwd = path.resolve("..");
module.exports.tailwindToCSS = debounce(() => { module.exports.tailwindToCSS = debounce(() => {
try { try {
require("child_process").execSync( require("child_process").execSync(
`npx @tailwindcss/cli -i styles/theme.css -o static/dist/theme.css`, `./node_modules/.bin/tailwindcss -i styles/theme.css -o static/dist/theme.css`,
{ stdio: "inherit" } { stdio: "inherit" }
); );
} catch (error) { } catch (error) {

View File

@@ -16,8 +16,9 @@ $copyright_text = getFieldValue( 'footer.copyright_text' ) ? getFieldValue( 'foo
$copyright = str_replace( '%Y', gmdate( 'Y' ), $copyright_text ); $copyright = str_replace( '%Y', gmdate( 'Y' ), $copyright_text );
$locations = get_nav_menu_locations(); $locations = get_nav_menu_locations();
$footerMenu = get_term( $locations['footer_navigation'], 'nav_menu' ); $footerNav = ! empty( $locations['footer_navigation'] )
$footerNav = wp_get_nav_menu_items( $footerMenu->term_id ); ? ( wp_get_nav_menu_items( (int) $locations['footer_navigation'] ) ? wp_get_nav_menu_items( (int) $locations['footer_navigation'] ) : array() )
: array();
?> ?>
</main> </main>

View File

@@ -23,6 +23,7 @@ class Enqueue {
public function __construct() { public function __construct() {
add_action( 'wp_enqueue_scripts', array( $this, 'enqFEAssets' ) ); add_action( 'wp_enqueue_scripts', array( $this, 'enqFEAssets' ) );
add_action( 'admin_enqueue_scripts', array( $this, 'enqBEAssets' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'enqBEAssets' ) );
add_action( 'enqueue_block_editor_assets', array( $this, 'enqEditorAssets' ) );
} }
/** /**
@@ -52,8 +53,8 @@ class Enqueue {
if ( file_exists( $theme_dir . $js_path ) ) { if ( file_exists( $theme_dir . $js_path ) ) {
$version = filemtime( $theme_dir . $js_path ); $version = filemtime( $theme_dir . $js_path );
wp_enqueue_script( 'jquery' ); // Needed by downstream scripts; modules can't depend on classic scripts. wp_enqueue_script( 'jquery' ); // Needed by downstream scripts; modules can't depend on classic scripts.
wp_enqueue_script_module( 'basicwp-theme', $theme_uri . $js_path, array(), $version, true ); wp_enqueue_script_module( 'basicwp-theme', $theme_uri . $js_path, array(), $version );
wp_enqueue_script_module( 'basicwp-button', $theme_uri . '/static/js/components/button.js', array( 'basicwp-theme' ), $version, true ); wp_enqueue_script_module( 'basicwp-button', $theme_uri . '/static/js/components/button.js', array( 'basicwp-theme' ), $version );
} }
} }
@@ -64,15 +65,6 @@ class Enqueue {
$theme_dir = get_stylesheet_directory(); $theme_dir = get_stylesheet_directory();
$theme_uri = get_stylesheet_directory_uri(); $theme_uri = get_stylesheet_directory_uri();
/**
* Editor CSS
*/
$editor_css_path = '/styles/backend/editor.css';
if ( file_exists( $theme_dir . $editor_css_path ) ) {
$version = filemtime( $theme_dir . $editor_css_path );
wp_enqueue_style( 'basicwp-editor', $theme_uri . $editor_css_path, array(), $version );
}
$font_ver = gmdate( 'U' ); $font_ver = gmdate( 'U' );
wp_enqueue_style( 'raleway', 'https://fonts.googleapis.com/css2?family=Raleway:wght@100..900&display=swap', false, $font_ver ); wp_enqueue_style( 'raleway', 'https://fonts.googleapis.com/css2?family=Raleway:wght@100..900&display=swap', false, $font_ver );
@@ -92,8 +84,26 @@ class Enqueue {
if ( file_exists( $theme_dir . $admin_js_path ) ) { if ( file_exists( $theme_dir . $admin_js_path ) ) {
$version = filemtime( $theme_dir . $admin_js_path ); $version = filemtime( $theme_dir . $admin_js_path );
wp_enqueue_script( 'jquery' ); // Needed by downstream scripts; modules can't depend on classic scripts. wp_enqueue_script( 'jquery' ); // Needed by downstream scripts; modules can't depend on classic scripts.
wp_enqueue_script_module( 'basicwp-admin', $theme_uri . $admin_js_path, array(), $version, true ); wp_enqueue_script_module( 'basicwp-admin', $theme_uri . $admin_js_path, array(), $version );
wp_enqueue_script_module( 'basicwp-button', $theme_uri . '/static/js/components/button.js', array( 'basicwp-admin' ), $version, true ); wp_enqueue_script_module( 'basicwp-button', $theme_uri . '/static/js/components/button.js', array( 'basicwp-admin' ), $version );
}
}
/**
* Enqueue block editor CSS (scoped to editor to avoid leaking into wp-admin UI).
*/
public function enqEditorAssets() {
$theme_dir = get_stylesheet_directory();
$theme_uri = get_stylesheet_directory_uri();
$editor_css_path = '/styles/backend/editor.css';
$font_ver = gmdate( 'U' );
wp_enqueue_style( 'raleway', 'https://fonts.googleapis.com/css2?family=Raleway:wght@100..900&display=swap', false, $font_ver );
if ( file_exists( $theme_dir . $editor_css_path ) ) {
$version = filemtime( $theme_dir . $editor_css_path );
wp_enqueue_style( 'basicwp-editor', $theme_uri . $editor_css_path, array(), $version );
} }
} }
} }

View File

@@ -155,7 +155,6 @@ function init() {
wp_dequeue_style( 'core-block-styles' ); // Core block styles. wp_dequeue_style( 'core-block-styles' ); // Core block styles.
remove_action( 'wp_enqueue_scripts', 'wp_enqueue_global_styles', 1 ); remove_action( 'wp_enqueue_scripts', 'wp_enqueue_global_styles', 1 );
remove_action( 'wp_enqueue_scripts', 'wp_enqueue_classic_theme_styles', 1 ); remove_action( 'wp_enqueue_scripts', 'wp_enqueue_classic_theme_styles', 1 );
remove_action( 'wp_head', 'wp_print_styles', 8 );
remove_action( 'wp_head', 'wp_print_head_scripts', 9 ); remove_action( 'wp_head', 'wp_print_head_scripts', 9 );
remove_action( 'wp_head', 'wp_generator' ); // WordPress version. remove_action( 'wp_head', 'wp_generator' ); // WordPress version.
remove_action( 'wp_head', 'rsd_link' ); // RSD link. remove_action( 'wp_head', 'rsd_link' ); // RSD link.

View File

@@ -5,7 +5,7 @@
"scripts": { "scripts": {
"start": "npm run watch", "start": "npm run watch",
"watch": "node bin/.watch.js", "watch": "node bin/.watch.js",
"build": "npx @tailwindcss/cli -i ./styles/theme.css -o ./static/dist/theme.css --optimize" "build": "./node_modules/.bin/tailwindcss -i ./styles/theme.css -o ./static/dist/theme.css --optimize"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -32,11 +32,11 @@
"dotenv": "^16.4.7" "dotenv": "^16.4.7"
}, },
"dependencies": { "dependencies": {
"tailwindcss": "^4.0.13",
"@tailwindcss/cli": "^4.0.13", "@tailwindcss/cli": "^4.0.13",
"@tailwindcss/typography": "^0.5.16", "@tailwindcss/typography": "^0.5.16",
"glob": "^10.3.10", "glob": "^10.3.10",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"lodash.debounce": "^4.0.8", "lodash.debounce": "^4.0.8"
"tailwindcss": "^4.0.13"
} }
} }

View File

@@ -1,16 +1,2 @@
/* Theme admin styles */ /* Light admin styles; avoid overriding core wp-admin UI */
@import "../../static/dist/theme.css";
body {
font-family: 'Raleway', sans-serif;
#wpwrap {
@layer utilities {
table.fixed { table-layout: fixed; position: static; }
}
}
}
#wpbody ul, ol, ul li, ol li { list-style-type: none; }
#adminmenu li ul, li ol { margin: 0; }

View File

@@ -2,7 +2,16 @@
@import "../../static/dist/theme.css"; @import "../../static/dist/theme.css";
body { font-family: 'Raleway', sans-serif; } body {
font-family: var(--font-sans);
h1, h2, h3,
h4, h5, h6 {
font-family: var(--font-headings);
font-weight: 700;
margin: 0 0 1rem;
}
}
.wp-block-buttons .block-editor-block-list__layout { .wp-block-buttons .block-editor-block-list__layout {
display: flex; display: flex;

View File

@@ -19,6 +19,24 @@
* text-60px: 30px-80px, default: 60px * text-60px: 30px-80px, default: 60px
* text-70px: 30px-76px, default: 70px * text-70px: 30px-76px, default: 70px
* text-75px: 32px-80px, default: 75px * text-75px: 32px-80px, default: 75px
*
* Font sizes at standard viewport widths:
* | 360px | 640px | 768px | 1024px | 1280px | 1440px | 1920px
* |-------|-------|-------|--------|--------|--------|-------
* text-14px | 12.00 | 12.36 | 12.52 | 12.85 | 13.18 | 13.38 | 14.00
* text-16px | 14.00 | 14.36 | 14.52 | 14.85 | 15.18 | 15.38 | 16.00
* text-18px | 14.00 | 14.72 | 15.05 | 15.70 | 16.36 | 16.77 | 18.00
* text-20px | 16.00 | 16.72 | 17.05 | 17.70 | 18.36 | 18.77 | 20.00
* text-22px | 17.60 | 18.36 | 18.75 | 19.47 | 20.19 | 20.65 | 22.00
* text-25px | 18.00 | 19.26 | 19.83 | 20.98 | 22.13 | 22.85 | 25.00
* text-30px | 18.96 | 20.89 | 21.85 | 23.66 | 25.47 | 26.60 | 30.00
* text-35px | 20.00 | 22.69 | 23.92 | 26.38 | 28.85 | 30.38 | 35.00
* text-38px | 22.40 | 24.85 | 26.48 | 29.04 | 31.60 | 33.20 | 38.00
* text-40px | 24.00 | 26.87 | 28.18 | 30.81 | 33.44 | 35.08 | 40.00
* text-45px | 25.60 | 29.22 | 30.67 | 33.86 | 37.04 | 39.03 | 45.00
* text-50px | 27.20 | 31.58 | 33.16 | 36.90 | 40.65 | 42.98 | 50.00
* text-70px | 30.40 | 37.01 | 40.76 | 47.26 | 53.75 | 57.82 | 70.00
* text-75px | 32.00 | 39.46 | 43.25 | 50.30 | 57.36 | 61.77 | 75.00
*/ */
@theme { @theme {
@@ -26,20 +44,20 @@
--line-height: 1.6; --line-height: 1.6;
--text-base: 1rem; --text-base: 1rem;
--text-14px: clamp(0.75rem, 0.7292vw, 1.7rem); --text-14px: clamp(0.75rem, calc(0.7212rem + 0.1282vw), 0.875rem);
--text-16px: clamp(0.875rem, 0.8333vw, 1.8rem); --text-16px: clamp(0.875rem, calc(0.8462rem + 0.1282vw), 1rem);
--text-18px: clamp(0.875rem, 0.9375vw, 1.9rem); --text-18px: clamp(0.875rem, calc(0.8173rem + 0.2564vw), 1.125rem);
--text-20px: clamp(1rem, 1.0417vw, 2rem); --text-20px: clamp(1rem, calc(0.9423rem + 0.2564vw), 1.25rem);
--text-22px: clamp(1.1rem, 1.15vw, 2.1rem); --text-22px: clamp(1.1rem, calc(1.0365rem + 0.2821vw), 1.375rem);
--text-25px: clamp(1.125rem, 1.3021vw, 2.2rem); --text-25px: clamp(1.125rem, calc(1.024rem + 0.4487vw), 1.5625rem);
--text-30px: clamp(1.185rem, 1.5625vw, 2.35rem); --text-30px: clamp(1.185rem, calc(1.0258rem + 0.7077vw), 1.875rem);
--text-35px: clamp(1.25rem, 1.8229vw, 2.5rem); --text-35px: clamp(1.25rem, calc(1.0337rem + 0.9615vw), 2.1875rem);
--text-38px: clamp(1.4rem, 1.9791vw, 3rem); --text-38px: clamp(1.4rem, calc(1.175rem + 1vw), 2.375rem);
--text-40px: clamp(1.5rem, 2.0834vw, 3.5rem); --text-40px: clamp(1.5rem, calc(1.2692rem + 1.0256vw), 2.5rem);
--text-45px: clamp(1.6rem, 2.3438vw, 4rem); --text-45px: clamp(1.6rem, calc(1.3202rem + 1.2436vw), 2.8125rem);
--text-50px: clamp(1.7rem, 2.6042vw, 4.5rem); --text-50px: clamp(1.7rem, calc(1.3712rem + 1.4615vw), 3.125rem);
--text-70px: clamp(1.9rem, 3.6458vw, 4.8rem); --text-70px: clamp(1.9rem, calc(1.3288rem + 2.5385vw), 4.375rem);
--text-75px: clamp(2rem, 3.9063vw, 5rem); --text-75px: clamp(2rem, calc(1.3798rem + 2.7564vw), 4.6875rem);
--h1: calc(var(--text-base) * 2.25); --h1: calc(var(--text-base) * 2.25);
--h2: calc(var(--text-base) * 1.75); --h2: calc(var(--text-base) * 1.75);
@@ -62,6 +80,7 @@ body {
@layer components { @layer components {
h1, h2, h3, h1, h2, h3,
h4, h5, h6 { h4, h5, h6 {
font-family: var(--font-headings);
font-weight: 700; font-weight: 700;
margin: 0 0 1rem; margin: 0 0 1rem;
} }
@@ -112,12 +131,13 @@ p {
margin-bottom: 1rem; margin-bottom: 1rem;
} }
li ul, li ol { margin: 0 1rem; }
ul { list-style-type: disc; } ul { list-style-type: disc; }
ol { list-style-type: decimal; } ol { list-style-type: decimal; }
li ul, li ol { margin: 0 1rem; }
ol ol { list-style: lower-alpha; } ol ol { list-style: lower-alpha; }
ol ol ol { list-style: lower-roman; } ol ol ol { list-style: lower-roman; }
@@ -141,7 +161,7 @@ pre code {
} }
code { code {
@apply bg-black/30 px-[3px] py-[2px] font-mono text-black text-xs rounded-sm; @apply bg-black/30 px-[3px] py-0.5 font-mono text-black text-xs rounded-sm;
} }
hr { hr {