diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..d7f548d
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "tabWidth": 2,
+ "useTabs": false,
+ "printWidth": 120,
+ "proseWrap": "always"
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..8b856a5
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,6 @@
+{
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
+ "[javascript]": {
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
+ }
+}
diff --git a/astro.config.mjs b/astro.config.mjs
index 1b39364..2304d21 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -1,21 +1,20 @@
// @ts-check
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
+import sitemap from '@astrojs/sitemap';
// https://astro.build/config
export default defineConfig({
+ site: 'https://workaround.org',
integrations: [
starlight({
- title: 'My Docs',
- social: {
- github: 'https://github.com/withastro/starlight',
- },
+ title: 'ISPmail Guide',
sidebar: [
{
label: 'Guides',
items: [
// Each item here is one entry in the navigation menu.
- { label: 'Example Guide', slug: 'guides/example' },
+ { label: 'Start Here', slug: 'ispmail-bookworm' },
],
},
{
@@ -23,6 +22,12 @@ export default defineConfig({
autogenerate: { directory: 'reference' },
},
],
+ logo: {
+ light: './src/assets/logo.svg',
+ dark: './src/assets/logo-dark.svg',
+ replacesTitle: true,
+ },
}),
+ sitemap()
],
});
diff --git a/package.json b/package.json
index 535badc..26ffcc2 100644
--- a/package.json
+++ b/package.json
@@ -10,10 +10,11 @@
"astro": "astro"
},
"dependencies": {
+ "@astrojs/check": "^0.9.4",
+ "@astrojs/sitemap": "^3.2.1",
"@astrojs/starlight": "^0.28.3",
"astro": "^4.15.3",
"sharp": "^0.32.5",
- "@astrojs/check": "^0.9.4",
"typescript": "^5.6.3"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3c9c3a6..527f8e0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -10,7 +10,10 @@ importers:
dependencies:
'@astrojs/check':
specifier: ^0.9.4
- version: 0.9.4(typescript@5.6.3)
+ version: 0.9.4(prettier@3.3.3)(typescript@5.6.3)
+ '@astrojs/sitemap':
+ specifier: ^3.2.1
+ version: 3.2.1
'@astrojs/starlight':
specifier: ^0.28.3
version: 0.28.3(astro@4.16.6(rollup@4.24.0)(typescript@5.6.3))
@@ -1725,6 +1728,11 @@ packages:
engines: {node: '>=10.13.0'}
hasBin: true
+ prettier@3.3.3:
+ resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
+ engines: {node: '>=14'}
+ hasBin: true
+
prismjs@1.29.0:
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
engines: {node: '>=6'}
@@ -2327,9 +2335,9 @@ snapshots:
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
- '@astrojs/check@0.9.4(typescript@5.6.3)':
+ '@astrojs/check@0.9.4(prettier@3.3.3)(typescript@5.6.3)':
dependencies:
- '@astrojs/language-server': 2.15.3(typescript@5.6.3)
+ '@astrojs/language-server': 2.15.3(prettier@3.3.3)(typescript@5.6.3)
chokidar: 4.0.1
kleur: 4.1.5
typescript: 5.6.3
@@ -2342,7 +2350,7 @@ snapshots:
'@astrojs/internal-helpers@0.4.1': {}
- '@astrojs/language-server@2.15.3(typescript@5.6.3)':
+ '@astrojs/language-server@2.15.3(prettier@3.3.3)(typescript@5.6.3)':
dependencies:
'@astrojs/compiler': 2.10.3
'@astrojs/yaml2ts': 0.2.1
@@ -2356,12 +2364,14 @@ snapshots:
volar-service-css: 0.0.61(@volar/language-service@2.4.6)
volar-service-emmet: 0.0.61(@volar/language-service@2.4.6)
volar-service-html: 0.0.61(@volar/language-service@2.4.6)
- volar-service-prettier: 0.0.61(@volar/language-service@2.4.6)
+ volar-service-prettier: 0.0.61(@volar/language-service@2.4.6)(prettier@3.3.3)
volar-service-typescript: 0.0.61(@volar/language-service@2.4.6)
volar-service-typescript-twoslash-queries: 0.0.61(@volar/language-service@2.4.6)
volar-service-yaml: 0.0.61(@volar/language-service@2.4.6)
vscode-html-languageservice: 5.3.1
vscode-uri: 3.0.8
+ optionalDependencies:
+ prettier: 3.3.3
transitivePeerDependencies:
- typescript
@@ -4545,6 +4555,9 @@ snapshots:
prettier@2.8.7:
optional: true
+ prettier@3.3.3:
+ optional: true
+
prismjs@1.29.0: {}
prompts@2.4.2:
@@ -5107,11 +5120,12 @@ snapshots:
optionalDependencies:
'@volar/language-service': 2.4.6
- volar-service-prettier@0.0.61(@volar/language-service@2.4.6):
+ volar-service-prettier@0.0.61(@volar/language-service@2.4.6)(prettier@3.3.3):
dependencies:
vscode-uri: 3.0.8
optionalDependencies:
'@volar/language-service': 2.4.6
+ prettier: 3.3.3
volar-service-typescript-twoslash-queries@0.0.61(@volar/language-service@2.4.6):
dependencies:
diff --git a/public/favicon.svg b/public/favicon.svg
index cba5ac1..932dba3 100644
--- a/public/favicon.svg
+++ b/public/favicon.svg
@@ -1 +1,78 @@
-
\ No newline at end of file
+
+
+
+
diff --git a/public/large-pingu.jpg b/public/large-pingu.jpg
new file mode 100644
index 0000000..5682175
Binary files /dev/null and b/public/large-pingu.jpg differ
diff --git a/public/robots.txt b/public/robots.txt
new file mode 100644
index 0000000..d8357fd
--- /dev/null
+++ b/public/robots.txt
@@ -0,0 +1,4 @@
+User-agent: *
+Allow: /
+
+Sitemap: https://workaround.org/sitemap-index.xml
diff --git a/src/assets/houston.webp b/src/assets/houston.webp
deleted file mode 100644
index 930c164..0000000
Binary files a/src/assets/houston.webp and /dev/null differ
diff --git a/src/assets/logo-dark.svg b/src/assets/logo-dark.svg
new file mode 100644
index 0000000..643e66d
--- /dev/null
+++ b/src/assets/logo-dark.svg
@@ -0,0 +1,118 @@
+
+
+
+
diff --git a/src/assets/logo.svg b/src/assets/logo.svg
new file mode 100644
index 0000000..5c64647
--- /dev/null
+++ b/src/assets/logo.svg
@@ -0,0 +1,122 @@
+
+
+
+
diff --git a/src/components/Footer.astro b/src/components/Footer.astro
new file mode 100644
index 0000000..c9a6fec
--- /dev/null
+++ b/src/components/Footer.astro
@@ -0,0 +1,3 @@
+
diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx
index 664b681..67c9d49 100644
--- a/src/content/docs/index.mdx
+++ b/src/content/docs/index.mdx
@@ -1,19 +1,15 @@
---
-title: Welcome to Starlight
-description: Get started building your docs site with Starlight.
+title: Welcome to ISPmail – a free guide to your own mail server
+description: ISPmail – a free guide to your own mail server
template: splash
hero:
- tagline: Congrats on setting up a new Starlight project!
+ tagline: ISPmail is a free but extensive do-it-yourself guide to help you build a fully-functional mail server from 100% open-source components. It is based on Debian GNU/Linux. Light enough for your friends and family. Or powerful enough for professional use.
image:
- file: ../../assets/houston.webp
+ file: /public/large-pingu.jpg
actions:
- - text: Example Guide
- link: /guides/example/
+ - text: Let's get into it
+ link: /ispmail-bookworm
icon: right-arrow
- - text: Read the Starlight docs
- link: https://starlight.astro.build
- icon: external
- variant: minimal
---
import { Card, CardGrid } from '@astrojs/starlight/components';
diff --git a/src/content/docs/guides/example.md b/src/content/docs/ispmail-bookworm/index.md
similarity index 100%
rename from src/content/docs/guides/example.md
rename to src/content/docs/ispmail-bookworm/index.md
diff --git a/src/content/docs/reference/example.md b/src/content/docs/reference/example.md
index 0224f09..2f9e6b7 100644
--- a/src/content/docs/reference/example.md
+++ b/src/content/docs/reference/example.md
@@ -3,8 +3,8 @@ title: Example Reference
description: A reference page in my new Starlight docs site.
---
-Reference pages are ideal for outlining how things work in terse and clear terms.
-Less concerned with telling a story or addressing a specific use case, they should give a comprehensive outline of what you're documenting.
+Reference pages are ideal for outlining how things work in terse and clear terms. Less concerned with telling a story or
+addressing a specific use case, they should give a comprehensive outline of what you're documenting.
## Further reading