@dogsbay/docs-layout 0.2.0-beta.111 → 0.2.0-beta.113
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/package.json +3 -3
- package/src/DocsFooter.astro +52 -12
- package/src/DocsLayout.astro +8 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dogsbay/docs-layout",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.113",
|
|
4
4
|
"description": "Standard documentation layout components for Dogsbay",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"./json-ld": "./src/json-ld.ts"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@dogsbay/primitives": "0.2.0-beta.
|
|
34
|
-
"@dogsbay/ui": "0.2.0-beta.
|
|
33
|
+
"@dogsbay/primitives": "0.2.0-beta.113",
|
|
34
|
+
"@dogsbay/ui": "0.2.0-beta.113"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"happy-dom": "^20.10.6",
|
package/src/DocsFooter.astro
CHANGED
|
@@ -32,6 +32,14 @@ interface Props {
|
|
|
32
32
|
llmsLink?: boolean;
|
|
33
33
|
/** Path to llms.txt. Default `/llms.txt`. */
|
|
34
34
|
llmsLinkHref?: string;
|
|
35
|
+
/**
|
|
36
|
+
* "Powered by DogsBay" attribution. On by default for generated sites;
|
|
37
|
+
* turned off with `poweredBy: false` in dogsbay.config.yml. Kept as a
|
|
38
|
+
* prop rather than hard-coded so a site that opts out renders no trace
|
|
39
|
+
* of it — an attribution you cannot remove is a reason not to adopt a
|
|
40
|
+
* tool. See docs/powered-by.md.
|
|
41
|
+
*/
|
|
42
|
+
poweredBy?: boolean;
|
|
35
43
|
class?: string;
|
|
36
44
|
}
|
|
37
45
|
|
|
@@ -45,6 +53,7 @@ const {
|
|
|
45
53
|
copyright,
|
|
46
54
|
llmsLink = false,
|
|
47
55
|
llmsLinkHref = "/llms.txt",
|
|
56
|
+
poweredBy = false,
|
|
48
57
|
class: className,
|
|
49
58
|
} = Astro.props;
|
|
50
59
|
|
|
@@ -101,20 +110,51 @@ function formatDate(value: string): string {
|
|
|
101
110
|
</nav>
|
|
102
111
|
)}
|
|
103
112
|
|
|
104
|
-
{/* Footer meta — copyright + agent-friendly llms.txt link */}
|
|
105
|
-
{(copyright || llmsLink) && (
|
|
113
|
+
{/* Footer meta — copyright + agent-friendly llms.txt link + attribution */}
|
|
114
|
+
{(copyright || llmsLink || poweredBy) && (
|
|
106
115
|
<div class="mt-6 flex flex-wrap items-center justify-between gap-2 border-t pt-4 text-xs text-muted-foreground">
|
|
107
116
|
{copyright ? <span><Fragment set:html={copyright} /></span> : <span />}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
117
|
+
<div class="flex flex-wrap items-center gap-4">
|
|
118
|
+
{llmsLink && (
|
|
119
|
+
<a
|
|
120
|
+
href={llmsLinkHref}
|
|
121
|
+
class="hover:text-foreground"
|
|
122
|
+
data-llms-link
|
|
123
|
+
aria-label="View this site as llms.txt for LLMs"
|
|
124
|
+
>
|
|
125
|
+
View as llms.txt
|
|
126
|
+
</a>
|
|
127
|
+
)}
|
|
128
|
+
{poweredBy && (
|
|
129
|
+
<a
|
|
130
|
+
href="https://dogsbay.ai"
|
|
131
|
+
class="inline-flex items-center gap-1.5 hover:text-foreground"
|
|
132
|
+
data-powered-by
|
|
133
|
+
target="_blank"
|
|
134
|
+
rel="noopener"
|
|
135
|
+
>
|
|
136
|
+
{/* Inline SVG, not an <img>: no extra request, no asset to copy
|
|
137
|
+
into every generated project, and it inherits the text colour
|
|
138
|
+
so it works in both themes without a second file. */}
|
|
139
|
+
<svg
|
|
140
|
+
width="14"
|
|
141
|
+
height="14"
|
|
142
|
+
viewBox="0 0 24 24"
|
|
143
|
+
fill="none"
|
|
144
|
+
stroke="currentColor"
|
|
145
|
+
stroke-width="2"
|
|
146
|
+
stroke-linecap="round"
|
|
147
|
+
stroke-linejoin="round"
|
|
148
|
+
aria-hidden="true"
|
|
149
|
+
>
|
|
150
|
+
<path d="M3 17.5 12 21l9-3.5" />
|
|
151
|
+
<path d="M3 12.5 12 16l9-3.5" />
|
|
152
|
+
<path d="m12 3 9 4.5-9 4.5-9-4.5L12 3Z" />
|
|
153
|
+
</svg>
|
|
154
|
+
Powered by DogsBay
|
|
155
|
+
</a>
|
|
156
|
+
)}
|
|
157
|
+
</div>
|
|
118
158
|
</div>
|
|
119
159
|
)}
|
|
120
160
|
</footer>
|
package/src/DocsLayout.astro
CHANGED
|
@@ -455,10 +455,17 @@ interface Props {
|
|
|
455
455
|
external?: string;
|
|
456
456
|
internal?: string;
|
|
457
457
|
};
|
|
458
|
+
/**
|
|
459
|
+
* "Powered by DogsBay" footer attribution. Generated sites pass
|
|
460
|
+
* `siteConfig.poweredBy`, which defaults to true and is turned off with
|
|
461
|
+
* `poweredBy: false` in dogsbay.config.yml. See docs/powered-by.md.
|
|
462
|
+
*/
|
|
463
|
+
poweredBy?: boolean;
|
|
458
464
|
class?: string;
|
|
459
465
|
}
|
|
460
466
|
|
|
461
467
|
const {
|
|
468
|
+
poweredBy = false,
|
|
462
469
|
siteName,
|
|
463
470
|
title,
|
|
464
471
|
siteUrl = "/",
|
|
@@ -1311,6 +1318,7 @@ const siteIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"
|
|
|
1311
1318
|
copyright={copyright}
|
|
1312
1319
|
llmsLink={llmFooterLink}
|
|
1313
1320
|
llmsLinkHref={llmsLinkHrefResolved}
|
|
1321
|
+
poweredBy={poweredBy}
|
|
1314
1322
|
/>
|
|
1315
1323
|
</div>
|
|
1316
1324
|
</main>
|