// 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',
'itch_link' => 'https://itch.io',
'itch_handle' => '@???.itch.io',
+
+ 'sidebar_links' => [
+ [ 'text' => 'git', 'url' => 'https://git-scm.com/' ],
+ ],
]);
// 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) {
$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) {
$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) {
}
$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);
}
///////////////////////////////////////////////////////////////////////////////
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);
+ }
}
///////////////////////////////////////////////////////////////////////////////
</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(); ?>