From: Eduardo Date: Thu, 2 Nov 2023 02:02:14 +0000 (+0100) Subject: template generator functions for partials and first generation (for testing) X-Git-Url: http://git.edufdez.es/?a=commitdiff_plain;h=63de24aee0256bc73a18ad06b3375b9dfde36505;p=thericegoat.com.git template generator functions for partials and first generation (for testing) --- diff --git a/page-generator/generator.php b/page-generator/generator.php index f99c8bb..9be2709 100644 --- a/page-generator/generator.php +++ b/page-generator/generator.php @@ -53,4 +53,29 @@ class CodeGenerator mkdir($basePath . '/' . $folder); } } + + /** + * Create or append to a file ($filePath) the text in $content + */ + function writeToFile(string $filePath, string $content) + { + file_put_contents($filePath, $content, FILE_APPEND | LOCK_EX); + } + + /** + * returns a string with the var name encoded to be set later with setTemplateVar() + */ + function templateVar(string $name): string + { + return "$$" . $name . "$$"; + } + + function setTemplateVar(string $filePath, string $var, string $value) + { + $replaceVar = "$$" . $var . "$$"; + + $content = file_get_contents($filePath); + $content = str_replace($replaceVar, $value, $content); + file_put_contents($filePath, $content, LOCK_EX); + } } diff --git a/page-generator/index.php b/page-generator/index.php index 23a5d40..16fbf8d 100644 --- a/page-generator/index.php +++ b/page-generator/index.php @@ -29,14 +29,25 @@ foreach ($image_list as $image) { } // create partials: -mkdir(BASE_PATH_TEMP . "/partials"); +$partialsPath = BASE_PATH_TEMP . "/partials"; +mkdir($partialsPath); // generate head +$generator->writeToFile($partialsPath . "/head.html", ' + + + + + + '. $generator->templateVar("page-title") .' + +'); + // generate footer // get menu $menu_list = file_get_contents(URL . '?sheet=_menu'); -$menu_list = json_decode($menu_list); +$menu_list = json_decode($menu_list, true); // FIXME: DEBUG print_r($menu_list); @@ -55,6 +66,7 @@ mkdir(BASE_PATH_TEMP . "/pages"); $generator->generateFoldersForPages($page_array, BASE_PATH_TEMP . "/pages"); // generate each page +$generator->setTemplateVar($partialsPath . "/head.html", "page-title", "TheRiceGoat"); // add partials to pages