mirror of
https://github.com/svemagie/blog-eleventy-indiekit.git
synced 2026-04-02 16:44:56 +02:00
Strip personal data from templates so the theme ships clean for any deployer. Collection pages now use generatePageOnEmptyData so empty post types show encouraging placeholders instead of 404s. Navigation is conditional on enabled post types and installed plugins. Sidebar widgets split into individual components with plugin-aware visibility. Slashes page explains required plugins for root-level page creation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
28 lines
1.5 KiB
Plaintext
28 lines
1.5 KiB
Plaintext
{# Empty collection placeholder — encourages creating content #}
|
|
{# Usage: {% include "components/empty-collection.njk" %} with postType set before include #}
|
|
{% set typeInfo = null %}
|
|
{% for pt in enabledPostTypes %}
|
|
{% if pt.type == postType %}{% set typeInfo = pt %}{% endif %}
|
|
{% endfor %}
|
|
|
|
<div class="text-center py-12 px-4">
|
|
<div class="inline-flex items-center justify-center w-16 h-16 rounded-full bg-surface-100 dark:bg-surface-800 mb-4">
|
|
<svg class="w-8 h-8 text-surface-400" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/>
|
|
</svg>
|
|
</div>
|
|
<h2 class="text-lg font-semibold text-surface-700 dark:text-surface-300 mb-2">No {{ title | lower }} yet</h2>
|
|
<p class="text-surface-500 dark:text-surface-400 mb-6 max-w-md mx-auto">
|
|
This is where your {{ title | lower }} will appear once you start creating content.
|
|
</p>
|
|
{% if typeInfo %}
|
|
<a href="{{ typeInfo.createUrl }}"
|
|
class="inline-flex items-center gap-2 px-4 py-2 rounded-lg bg-primary-600 text-white hover:bg-primary-700 transition-colors text-sm font-medium">
|
|
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round">
|
|
<line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/>
|
|
</svg>
|
|
Create your first {{ postType }}
|
|
</a>
|
|
{% endif %}
|
|
</div>
|