diff --git a/assets/scss/landing_page_trailer.scss b/assets/scss/landing_page_trailer.scss
new file mode 100644
index 0000000..3596194
--- /dev/null
+++ b/assets/scss/landing_page_trailer.scss
@@ -0,0 +1,60 @@
+#trailer-landing-page {
+ display: block;
+ background-image: none;
+ height: fit-content;
+ min-height: 100vh
+}
+
+.trailer-header
+{
+ position: relative;
+ height: fit-content;
+ min-height: 100vh;
+}
+.trailer-header::before
+{
+ content: "";
+ position: absolute;
+ top: 0; left: 0;
+ width: 100%; height: 100%;
+ background-image: url('/images/home/gallery-bar.webp');
+ background-size: cover;
+ filter: grayscale(100%);
+}
+
+.trailer-header > *
+{
+ position: relative;
+}
+
+.logo-link {
+ filter: brightness(1.5);
+}
+
+.trailer-header-logos {
+ background-color: #00000040;
+ box-shadow: 0 0 6px 4px #00000040;
+ max-width: 1000px;
+ backdrop-filter: blur(2px);
+}
+
+.trailer-header-logos > li {
+ display: flex;
+ list-style: none;
+ justify-content: center;
+ flex: 1 0 25%;
+}
+
+@media (max-width: 700px) {
+ .trailer-header-logos > li {
+ flex: revert !important;
+ }
+
+ .trailer-header-logos {
+ flex-direction: column;
+ }
+
+ .trailer-header:before {
+ background-position-x: 415px;
+ }
+}
diff --git a/assets/scss/main.scss b/assets/scss/main.scss
index 1d134b8..7350bc1 100644
--- a/assets/scss/main.scss
+++ b/assets/scss/main.scss
@@ -65,6 +65,7 @@ $fa-font-path: "/fonts/fontawesome";
@import "toc.scss";
@import "media.scss";
@import "serverBrowser.scss";
+@import "landing_page_trailer.scss";
@import "fonts/fira_code.scss";
@import "fonts/montserrat.scss";
diff --git a/config.yml b/config.yml
index 0afdc27..2fc53d0 100644
--- a/config.yml
+++ b/config.yml
@@ -4,6 +4,9 @@ title: "Space Station 14"
ignoreFiles: ["\\.ts$", "tsconfig.json$"]
mainSections: ["post"]
+params:
+ mainFeedSections: ["post", "updates"]
+
# PYGMENTS (Syntax Highlighting) settings!
# I couldn't get Chroma to parse C# at all.
PygmentsUseClassic: true
diff --git a/content/landing_page/trailer.md b/content/landing_page/trailer.md
new file mode 100644
index 0000000..c2f3f86
--- /dev/null
+++ b/content/landing_page/trailer.md
@@ -0,0 +1,6 @@
++++
+title = "Links"
+description = "A collection of links related to space station 14"
+# This is a section page so have to force-override the layout to be single page.
+layout = "trailer"
++++
diff --git a/layouts/home.xml b/layouts/home.xml
new file mode 100644
index 0000000..13dacf7
--- /dev/null
+++ b/layouts/home.xml
@@ -0,0 +1,71 @@
+{{- /* Deprecate site.Author.email in favor of site.Params.author.email */}}
+{{- $authorEmail := "" }}
+{{- with site.Params.author }}
+ {{- if reflect.IsMap . }}
+ {{- with .email }}
+ {{- $authorEmail = . }}
+ {{- end }}
+ {{- end }}
+{{- else }}
+ {{- with site.Author.email }}
+ {{- $authorEmail = . }}
+ {{- warnf "The author key in site configuration is deprecated. Use params.author.email instead." }}
+ {{- end }}
+{{- end }}
+
+{{- /* Deprecate site.Author.name in favor of site.Params.author.name */}}
+{{- $authorName := "" }}
+{{- with site.Params.author }}
+ {{- if reflect.IsMap . }}
+ {{- with .name }}
+ {{- $authorName = . }}
+ {{- end }}
+ {{- else }}
+ {{- $authorName = . }}
+ {{- end }}
+{{- else }}
+ {{- with site.Author.name }}
+ {{- $authorName = . }}
+ {{- warnf "The author key in site configuration is deprecated. Use params.author.name instead." }}
+ {{- end }}
+{{- end }}
+
+{{- $pctx := . }}
+{{- if .IsHome }}{{ $pctx = .Site }}{{ end }}
+{{- $pages := slice }}
+{{- if or $.IsHome $.IsSection }}
+{{- $pages = (where $pctx.RegularPages "Section" "in" .Site.Params.mainFeedSections) }}
+{{- else }}
+{{- $pages = $pctx.Pages }}
+{{- end }}
+{{- $limit := .Site.Config.Services.RSS.Limit }}
+{{- if ge $limit 1 }}
+{{- $pages = $pages | first $limit }}
+{{- end }}
+{{- printf "" | safeHTML }}
+