diff --git a/docs/_config.yml b/docs/_config.yml
index b08b1e9..7682241 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -1,9 +1,44 @@
title: SSO Manager
-description: A self-hosted OpenID Connect provider with an OpenLDAP directory and a web management UI
-theme: jekyll-theme-cayman
-show_downloads: false
+description: A self-hosted OpenID Connect provider with a bundled OpenLDAP directory and a web management UI, for home labs and small businesses that want their own identity provider.
+url: "https://theta42.github.io"
+baseurl: "/sso-manager-node"
+logo: /assets/img/theta42.svg
+lang: en_US
+
+plugins:
+ - jekyll-seo-tag
+ - jekyll-sitemap
+
github:
repository_url: https://github.com/theta42/sso-manager-node
zip_url: https://github.com/theta42/sso-manager-node/archive/refs/heads/master.zip
tar_url: https://github.com/theta42/sso-manager-node/archive/refs/heads/master.tar.gz
- repository_name: theta42/sso-manager-node
\ No newline at end of file
+ repository_name: theta42/sso-manager-node
+
+nav:
+ - title: Home
+ page: /
+ icon: fa-house
+ - title: Deployment
+ page: /deployment.html
+ icon: fa-server
+ - title: Configuration
+ page: /configuration.html
+ icon: fa-gears
+ - title: OAuth
+ page: /oauth.html
+ icon: fa-key
+ - title: LDAP
+ page: /ldap.html
+ icon: fa-address-book
+ - title: Changelog
+ url: https://github.com/theta42/sso-manager-node/blob/master/CHANGELOG.md
+ icon: fa-list
+
+defaults:
+ - scope:
+ path: ""
+ type: "pages"
+ values:
+ layout: default
+ image: /assets/img/theta42.svg
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
new file mode 100644
index 0000000..39af120
--- /dev/null
+++ b/docs/_layouts/default.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+ {% seo title=false %}
+ {% if page.title %}{{ page.title }} · {% endif %}{{ site.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css
new file mode 100644
index 0000000..e24a5de
--- /dev/null
+++ b/docs/assets/css/style.css
@@ -0,0 +1,116 @@
+/* theta42 docs site — shares the in-app dark navbar/footer + card look
+ (Bootstrap 5 + Font Awesome, same as the running apps) rather than a
+ generic Jekyll theme. */
+
+body {
+ background-color: #f4f5f6;
+}
+
+.navbar-brand img {
+ filter: drop-shadow(0 0 2px rgba(0, 0, 0, .4));
+}
+
+.navbar-nav .nav-link.active {
+ color: #fff;
+ font-weight: 600;
+}
+
+/* Markdown content typography, scoped to the card body so it doesn't leak
+ into the nav/footer. */
+.site-content h1:first-child {
+ margin-top: 0;
+}
+
+.site-content h1,
+.site-content h2,
+.site-content h3 {
+ font-weight: 700;
+}
+
+.site-content h2 {
+ margin-top: 2.5rem;
+ padding-bottom: .4rem;
+ border-bottom: 1px solid #e9ecef;
+}
+
+.site-content h3 {
+ margin-top: 1.75rem;
+}
+
+.site-content a {
+ color: #a3671f;
+ text-decoration-color: rgba(163, 103, 31, .35);
+}
+
+.site-content a:hover {
+ color: #8a5a16;
+}
+
+.site-content pre {
+ background-color: #212529;
+ color: #f8f9fa;
+ padding: 1rem 1.25rem;
+ border-radius: .375rem;
+ overflow-x: auto;
+}
+
+.site-content code {
+ color: #a3671f;
+ background-color: #f4f0e8;
+ padding: .15em .4em;
+ border-radius: .25rem;
+ font-size: .875em;
+}
+
+.site-content pre code {
+ color: inherit;
+ background: none;
+ padding: 0;
+}
+
+.site-content table {
+ display: block;
+ overflow-x: auto;
+ width: 100%;
+ border-collapse: collapse;
+ margin: 1.25rem 0;
+}
+
+.site-content table th,
+.site-content table td {
+ border: 1px solid #dee2e6;
+ padding: .5rem .75rem;
+ text-align: left;
+}
+
+.site-content table th {
+ background-color: #f8f9fa;
+}
+
+.site-content blockquote {
+ border-left: 4px solid #C59341;
+ padding: .5rem 1rem;
+ margin: 1.25rem 0;
+ background-color: #f8f6f1;
+ color: #495057;
+}
+
+.site-content img {
+ max-width: 100%;
+ height: auto;
+}
+
+/* Screenshot grids in the markdown use width="49%" inline attrs for a
+ two-up desktop layout -- stack them on narrow screens instead of
+ squeezing to illegibility. */
+@media (max-width: 576px) {
+ .site-content img[width] {
+ width: 100% !important;
+ margin-bottom: .75rem;
+ }
+}
+
+.site-content hr {
+ margin: 2rem 0;
+ border-top: 1px solid #e9ecef;
+}
diff --git a/docs/assets/img/theta42.svg b/docs/assets/img/theta42.svg
new file mode 100644
index 0000000..e598305
--- /dev/null
+++ b/docs/assets/img/theta42.svg
@@ -0,0 +1,51 @@
+
diff --git a/docs/configuration.md b/docs/configuration.md
index 15a6765..bcb9b4d 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -1,6 +1,7 @@
---
layout: default
title: Configuration
+description: SSO Manager's config layers — conf/base.js defaults, secrets.js overrides, and app_* environment variables.
---
# Configuration
diff --git a/docs/deployment.md b/docs/deployment.md
index bbfe469..f4cb789 100644
--- a/docs/deployment.md
+++ b/docs/deployment.md
@@ -1,6 +1,7 @@
---
layout: default
title: Deployment
+description: Deploying SSO Manager — the all-in-one Docker image, bare-metal install, config layers, and backups.
---
# Deployment Guide
diff --git a/docs/index.md b/docs/index.md
index f4597a8..79989c8 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,6 +1,7 @@
---
layout: default
title: Home
+description: A self-hosted OpenID Connect provider with a bundled OpenLDAP directory and a web management UI. One login for your modern apps, one LDAP directory for the rest, no phone-home.
---
# SSO Manager
diff --git a/docs/ldap.md b/docs/ldap.md
index 9ff199b..64bf6a1 100644
--- a/docs/ldap.md
+++ b/docs/ldap.md
@@ -1,6 +1,7 @@
---
layout: default
title: LDAP
+description: SSO Manager's bundled OpenLDAP directory — schema, service accounts, TLS, and connecting third-party apps directly.
---
# LDAP Directory
diff --git a/docs/oauth.md b/docs/oauth.md
index 88e6944..02b8cb1 100644
--- a/docs/oauth.md
+++ b/docs/oauth.md
@@ -1,6 +1,7 @@
---
layout: default
title: OAuth / OIDC
+description: SSO Manager's OpenID Connect / OAuth 2.0 provider — discovery document, client registration, and token endpoints.
---
# OAuth 2.0 / OpenID Connect
diff --git a/docs/robots.txt b/docs/robots.txt
new file mode 100644
index 0000000..9bfccd1
--- /dev/null
+++ b/docs/robots.txt
@@ -0,0 +1,4 @@
+User-agent: *
+Allow: /
+
+Sitemap: https://theta42.github.io/sso-manager-node/sitemap.xml