diff --git a/src/lib/banner2.svelte b/src/lib/banner2.svelte
index 3ff339c..0d8a866 100644
--- a/src/lib/banner2.svelte
+++ b/src/lib/banner2.svelte
@@ -1,57 +1,43 @@
-{#snippet titles({title, subtitle, date}: {title: string, subtitle: string, date: string})}
+{#snippet titles()}
-
{title}
+
{content.title}
- {#if subtitle}
-
[ {subtitle} ]
+ {#if content.subtitle}
+
[ {content.subtitle} ]
{/if}
- {#if tags.length}
+ {#if content.tags && content.tags.length > 0}
- {#each tags as tag}
+ {#each content.tags as tag}
{tag}
{/each}
{/if}
- {#if date || dateUpdated || dateIndeterminate}
+ {#if content.date || content.dateUpdated || content.dateIndeterminate}
- {#if dateIndeterminate}
-
:: {dateIndeterminate}
+ {#if content.dateIndeterminate && content.dateIndeterminate != "undefined"}
+
:: {content.dateIndeterminate}
{/if}
- {#if date}
-
posted :: {date}
+ {#if content.date && content.date != "undefined"}
+
posted :: {content.date}
{/if}
- {#if dateUpdated}
-
last updated :: {dateUpdated}
+ {#if content.dateUpdated && content.dateUpdated != "undefined"}
+
last updated :: {content.dateUpdated}
{/if}
{/if}
@@ -59,13 +45,13 @@
{/snippet}
diff --git a/src/lib/components/banner-content.ts b/src/lib/components/banner-content.ts
new file mode 100644
index 0000000..53b9be5
--- /dev/null
+++ b/src/lib/components/banner-content.ts
@@ -0,0 +1,11 @@
+export interface BannerContent {
+ title: string;
+ date?: string; // date posted
+ dateUpdated?: string;
+ dateIndeterminate?: string; // raw date without an explanation marker next to it
+ subtitle?: string;
+ banner?: string;
+ bannerAlt?: string;
+ tags?: string[];
+ pixelated?: boolean;
+}
\ No newline at end of file
diff --git a/src/lib/components/table-of-contents.svelte b/src/lib/components/table-of-contents.svelte
index dd05ffe..dd97af4 100644
--- a/src/lib/components/table-of-contents.svelte
+++ b/src/lib/components/table-of-contents.svelte
@@ -1,5 +1,12 @@
+
+
+
+
+
-
-
-
+
-
+
+ {@render children()}
+
+