]> git.bts.cx Git - garden.git/commitdiff
Better configuration
authorBen Sherratt <redacted>
Mon, 29 Dec 2025 11:57:18 +0000 (11:57 +0000)
committerBen Sherratt <redacted>
Mon, 29 Dec 2025 12:01:54 +0000 (12:01 +0000)
* Added links
* Added feed file targets

config.php
garden.php
templates/atom.php
templates/base.php

index 9ea6b10cc370b84fd5b57a4291a69531a1bfb0a5..074f8f378e59a1bff3f8ad9d20aec2ddee444c5d 100644 (file)
@@ -12,6 +12,12 @@ define('GARDEN_TEMPLATE_DIR', garden_path(__DIR__, 'templates'));
 // Where do you want to write the website to?
 define('GARDEN_OUTPUT_DIR', garden_path(__DIR__, 'public'));
 
+// Filename for the Atom feed
+define('GARDEN_ATOM_FEED_FILENAME', 'feed.atom');
+
+// Filename for the JSON feed
+define('GARDEN_JSON_FEED_FILENAME', 'feed.json');
+
 // Put anything here you want the templates to be able to see...
 define('GARDEN_TEMPLATE_CONSTANTS', [
        'site_name' => 'garden',
@@ -24,4 +30,8 @@ define('GARDEN_TEMPLATE_CONSTANTS', [
 
        'itch_link' => 'https://itch.io',
        'itch_handle' => '@???.itch.io',
+
+       'sidebar_links' => [
+               [ 'text' => 'git', 'url' => 'https://git-scm.com/' ],
+       ],
 ]);
index e4429e3f65248ca82f2dbb82f3ac166a696f41b7..99cb0123ac8f07091403252717e70e4058d05b80 100644 (file)
@@ -520,7 +520,7 @@ function garden_generate_html($output_directory, $content_items) {
 // Feed
 ///////////////////////////////////////////////////////////////////////////////
 
-function garden_generate_atom($output_directory, $content_items) {
+function garden_generate_atom($output_directory, $output_filename, $content_items) {
        $recent_items = [];
        foreach ($content_items as $item) {
                if ($item->type != GardenItemType::Article) {
@@ -538,10 +538,10 @@ function garden_generate_atom($output_directory, $content_items) {
        $variables['recent_items'] =  $recent_items;
        $html_data = garden_template_render('atom', $variables);
 
-       garden_write_file(garden_path($output_directory, 'feed.atom'), $html_data);
+       garden_write_file(garden_path($output_directory, $output_filename), $html_data);
 }
 
-function garden_generate_json($output_directory, $content_items) {
+function garden_generate_json($output_directory, $output_filename, $content_items) {
        $recent_items = [];
        foreach ($content_items as $item) {
                if ($item->type != GardenItemType::Article) {
@@ -559,7 +559,7 @@ function garden_generate_json($output_directory, $content_items) {
        $feed['version'] = 'https://jsonfeed.org/version/1.1';
        $feed['title'] = GARDEN_TEMPLATE_CONSTANTS['site_name'];
        $feed['home_page_url'] = garden_site_url('/');
-       $feed['feed_url'] = garden_site_url('/feed.json');
+       $feed['feed_url'] = garden_site_url($output_filename);
        $feed['items'] = [];
 
        foreach ($recent_items as $item) {
@@ -573,7 +573,7 @@ function garden_generate_json($output_directory, $content_items) {
        }
 
        $json_data = json_encode($feed);
-       garden_write_file(garden_path($output_directory, 'feed.json'), $json_data);
+       garden_write_file(garden_path($output_directory, $output_filename), $json_data);
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -588,8 +588,14 @@ function garden() {
        garden_move_raw($process_items);
        $post_process_items = garden_generate_html(GARDEN_OUTPUT_DIR, $process_items);
        garden_make_images($post_process_items);
-       garden_generate_atom(GARDEN_OUTPUT_DIR, $process_items);
-       garden_generate_json(GARDEN_OUTPUT_DIR, $process_items);
+
+       if (defined('GARDEN_ATOM_FEED_FILENAME')) {
+               garden_generate_atom(GARDEN_OUTPUT_DIR, GARDEN_ATOM_FEED_FILENAME, $process_items);
+       }
+
+       if (defined('GARDEN_JSON_FEED_FILENAME')) {
+               garden_generate_json(GARDEN_OUTPUT_DIR, GARDEN_JSON_FEED_FILENAME, $process_items);
+       }
 }
 
 ///////////////////////////////////////////////////////////////////////////////
index 5335752526831aac016bd954a079932883744782..d074dbc2ff40585189cc91c1eaff14bb5ae4acf7 100644 (file)
@@ -6,7 +6,7 @@
 
        <updated><?= date(DATE_RFC3339, $recent_items[0]->date) ?></updated>
 
-       <link href="<?= garden_site_url('feed.atom'); ?>" rel="self" type="application/atom+xml" />
+       <link href="<?= garden_site_url(GARDEN_ATOM_FEED_FILENAME); ?>" rel="self" type="application/atom+xml" />
        <link href="<?= garden_site_url('/'); ?>" rel="alternate" type="text/html" />
 
        <author>
index 75cedb2dde5f84f593b44968cf2db28f62aea084..2961a4bf7ea5fb606a906209f4a4ac5372fa6928 100644 (file)
                                </ul>
 
                                <ul>
-                                       <li><a href="<?= garden_site_url('feed.atom') ?>" class="feed">Atom Feed</a></li>
-                                       <li><a href="<?= garden_site_url('feed.json') ?>" class="feed">JSON Feed</a></li>
+                                       <?php if (defined('GARDEN_ATOM_FEED_FILENAME')): ?>
+                                       <li><a href="<?= garden_site_url(GARDEN_ATOM_FEED_FILENAME) ?>" class="feed">Atom Feed</a></li>
+                                       <?php endif ?>
+
+                                       <?php if (defined('GARDEN_JSON_FEED_FILENAME')): ?>
+                                       <li><a href="<?= garden_site_url(GARDEN_JSON_FEED_FILENAME) ?>" class="feed">JSON Feed</a></li>
+                                       <?php endif ?>
+                               </ul>
+
+                               <?php if (isset($sidebar_links)): ?>
+                               <ul>
+                                       <?php foreach ($sidebar_links as $link): ?>
+                                               <li><a href="<?= $link['url'] ?>"><?= $link['text'] ?></a></li>
+                                       <?php endforeach ?>
                                </ul>
+                               <?php endif ?>
                        </nav>
 
                        <?= garden_template_content(); ?>