@ewanc26/pds-landing 2.0.5 → 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.
- package/README.md +3 -122
- 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
|
-
|
|
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
|
-
|
|
83
|
-
<script>
|
|
84
|
-
import { KVGrid } from '@ewanc26/pds-landing';
|
|
85
|
-
import type { KVItem } from '@ewanc26/pds-landing';
|
|
11
|
+
## Licence
|
|
86
12
|
|
|
87
|
-
|
|
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.
|
|
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.
|
|
29
|
+
"@ewanc26/ui": "0.1.9"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@sveltejs/adapter-static": "^3.0.10",
|
|
33
|
-
"@sveltejs/kit": "^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
|
|
37
|
+
"@tailwindcss/vite": "^4.2.1",
|
|
38
38
|
"prettier": "^3.8.1",
|
|
39
|
-
"prettier-plugin-svelte": "^3.
|
|
39
|
+
"prettier-plugin-svelte": "^3.5.1",
|
|
40
40
|
"prettier-plugin-tailwindcss": "^0.7.2",
|
|
41
|
-
"publint": "^0.3.
|
|
42
|
-
"svelte": "^5.
|
|
43
|
-
"svelte-check": "^4.4.
|
|
44
|
-
"tailwindcss": "^4.1
|
|
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
|
},
|