@ewanc26/pds-landing 2.0.6 → 2.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +3 -122
  2. package/package.json +9 -9
package/README.md CHANGED
@@ -2,131 +2,12 @@
2
2
 
3
3
  Composable Svelte 5 components for an ATProto PDS landing page — terminal aesthetic, live status fetching, zero config to drop in.
4
4
 
5
- ## Install
6
-
7
5
  ```bash
8
6
  pnpm add @ewanc26/pds-landing @ewanc26/ui
9
7
  ```
10
8
 
11
- ## Quick start — full page
12
-
13
- ```svelte
14
- <script>
15
- import { PDSPage } from '@ewanc26/pds-landing';
16
- </script>
17
-
18
- <!-- Drop-in: renders the complete terminal landing page -->
19
- <PDSPage
20
- cardTitle="ewan's pds"
21
- promptUser="server"
22
- promptHost="pds.ewancroft.uk"
23
- tagline="Bluesky-compatible ATProto PDS · personal instance"
24
- blueskyHandle="ewancroft.uk"
25
- />
26
- ```
27
-
28
- Import the PDS design tokens and base styles once in your layout:
29
-
30
- ```css
31
- /* app.css / layout.css */
32
- @import '@ewanc26/ui/styles/pds-tokens.css';
33
- ```
34
-
35
- ---
36
-
37
- ## Mix-and-match — primitives
38
-
39
- All primitives are exported individually so you can compose custom layouts.
40
-
41
- ```svelte
42
- <script>
43
- import {
44
- TerminalCard,
45
- PromptLine,
46
- Tagline,
47
- SectionLabel,
48
- Divider,
49
- StatusGrid,
50
- LinkList,
51
- ContactSection,
52
- PDSFooter,
53
- } from '@ewanc26/pds-landing';
54
- </script>
55
-
56
- <TerminalCard title="my pds">
57
- <PromptLine user="server" host="pds.example.com" />
58
- <Tagline text="My custom tagline" />
59
-
60
- <SectionLabel label="status" />
61
- <StatusGrid /> <!-- fetches live from same origin -->
62
-
63
- <Divider />
64
-
65
- <SectionLabel label="links" />
66
- <LinkList links={[
67
- { href: 'https://bsky.app', label: 'Bluesky' },
68
- { href: 'https://atproto.com', label: 'ATProto docs' },
69
- ]} />
70
-
71
- <Divider />
72
-
73
- <SectionLabel label="contact" />
74
- <ContactSection blueskyHandle="you.bsky.social" />
75
- </TerminalCard>
76
-
77
- <PDSFooter />
78
- ```
79
-
80
- ### Use raw KV data
9
+ Full documentation at **[docs.ewancroft.uk](https://docs.ewancroft.uk/projects/pds-landing)**.
81
10
 
82
- ```svelte
83
- <script>
84
- import { KVGrid } from '@ewanc26/pds-landing';
85
- import type { KVItem } from '@ewanc26/pds-landing';
11
+ ## Licence
86
12
 
87
- const items: KVItem[] = [
88
- { key: 'status', value: '✓ online', status: 'ok' },
89
- { key: 'region', value: 'eu-west-1' },
90
- { key: 'invite', value: 'required', status: 'warn' },
91
- ];
92
- </script>
93
-
94
- <KVGrid {items} />
95
- ```
96
-
97
- ### Fetch status yourself
98
-
99
- ```ts
100
- import { fetchPDSStatus } from '@ewanc26/pds-landing';
101
-
102
- const { health, description, accountCount } = await fetchPDSStatus('https://pds.example.com');
103
- ```
104
-
105
- ---
106
-
107
- ## Components
108
-
109
- | Component | Description |
110
- |---|---|
111
- | `PDSPage` | Full assembled landing page (convenience) |
112
- | `TerminalCard` | Terminal window shell with traffic-light dots titlebar |
113
- | `PromptLine` | `user@host:path $` bash prompt header |
114
- | `Tagline` | Dimmed subtitle beneath the prompt |
115
- | `SectionLabel` | Uppercase section heading |
116
- | `Divider` | Thin green-tinted `<hr>` |
117
- | `KVGrid` | Key-value grid with ok/warn/err/loading states |
118
- | `StatusGrid` | Live-fetching PDS status grid (wraps `KVGrid`) |
119
- | `LinkList` | `→ link` list |
120
- | `ContactSection` | Bluesky mention + optional email |
121
- | `PDSFooter` | Footer with nixpkgs / atproto links |
122
-
123
- ## Design tokens
124
-
125
- All components consume CSS custom properties from `@ewanc26/ui/styles/pds-tokens.css`:
126
-
127
- ```
128
- --pds-font-mono
129
- --pds-color-crust / mantle / base / surface-0 / surface-1 / overlay-0
130
- --pds-color-text / subtext-0
131
- --pds-color-green / red / yellow / shadow
132
- ```
13
+ See the root [LICENSE](../../LICENSE).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ewanc26/pds-landing",
3
- "version": "2.0.6",
3
+ "version": "2.0.7",
4
4
  "description": "Composable Svelte components for an ATProto PDS landing page — terminal-aesthetic UI with live status fetching.",
5
5
  "files": [
6
6
  "dist",
@@ -26,22 +26,22 @@
26
26
  "tailwindcss": ">=4.0.0"
27
27
  },
28
28
  "dependencies": {
29
- "@ewanc26/ui": "0.1.2"
29
+ "@ewanc26/ui": "0.1.9"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@sveltejs/adapter-static": "^3.0.10",
33
- "@sveltejs/kit": "^2.50.2",
33
+ "@sveltejs/kit": "^2.55.0",
34
34
  "@sveltejs/package": "^2.5.7",
35
35
  "@sveltejs/vite-plugin-svelte": "^6.2.4",
36
36
  "@tailwindcss/typography": "^0.5.19",
37
- "@tailwindcss/vite": "^4.1.18",
37
+ "@tailwindcss/vite": "^4.2.1",
38
38
  "prettier": "^3.8.1",
39
- "prettier-plugin-svelte": "^3.4.1",
39
+ "prettier-plugin-svelte": "^3.5.1",
40
40
  "prettier-plugin-tailwindcss": "^0.7.2",
41
- "publint": "^0.3.17",
42
- "svelte": "^5.51.0",
43
- "svelte-check": "^4.4.2",
44
- "tailwindcss": "^4.1.18",
41
+ "publint": "^0.3.18",
42
+ "svelte": "^5.53.11",
43
+ "svelte-check": "^4.4.5",
44
+ "tailwindcss": "^4.2.1",
45
45
  "typescript": "^5.9.3",
46
46
  "vite": "^7.3.1"
47
47
  },