From b8715b0cf2a4a371c45703704da9d8232f6cf907 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Corn=C3=A9=20Haasjes?= Date: Tue, 1 Apr 2025 19:38:31 +0200 Subject: Add support for hooks in layouts/partials/hooks Supported hooks: - head_start - head_end - body_end - footer_start --- layouts/partials/functions/get_hook.html | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 layouts/partials/functions/get_hook.html (limited to 'layouts/partials/functions') diff --git a/layouts/partials/functions/get_hook.html b/layouts/partials/functions/get_hook.html new file mode 100644 index 0000000..79c9987 --- /dev/null +++ b/layouts/partials/functions/get_hook.html @@ -0,0 +1,23 @@ +{{/* + Customize layouts without overwriting files. + Hooks should be defined in the layouts/partials/hooks directory. + + Parameters: + - hook: The name of the hook to be used. + - context: The context to be passed to the partial. +*/}} + +{{ $hook := .hook }} +{{ $context := .context }} +{{ $hookName := $hook.Name }} +{{ $hookType := $hook.Type }} + +{{ if not (hasSuffix $hook ".html") }} + {{ $hook = printf "%s.html" $hook }} +{{ end }} + +{{ $hook_path := path.Join "layouts/partials/hooks" $hook }} + +{{ if fileExists $hook_path }} + {{ partial $hook_path $context }} +{{ end }} \ No newline at end of file -- cgit v1.2.3 From 160d998fa0f96219ae9b7e45d3250ea1d10edede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Corn=C3=A9=20Haasjes?= Date: Tue, 1 Apr 2025 20:31:57 +0200 Subject: Fix get_hook function --- layouts/partials/functions/get_hook.html | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'layouts/partials/functions') diff --git a/layouts/partials/functions/get_hook.html b/layouts/partials/functions/get_hook.html index 79c9987..3e6b4fb 100644 --- a/layouts/partials/functions/get_hook.html +++ b/layouts/partials/functions/get_hook.html @@ -9,15 +9,11 @@ {{ $hook := .hook }} {{ $context := .context }} -{{ $hookName := $hook.Name }} -{{ $hookType := $hook.Type }} {{ if not (hasSuffix $hook ".html") }} {{ $hook = printf "%s.html" $hook }} {{ end }} -{{ $hook_path := path.Join "layouts/partials/hooks" $hook }} - -{{ if fileExists $hook_path }} - {{ partial $hook_path $context }} +{{ if fileExists (path.Join "layouts/partials/hooks" $hook) }} + {{ partial (path.Join "hooks" $hook) $context }} {{ end }} \ No newline at end of file -- cgit v1.2.3