@lupinum/ginko-docs 0.2.3 → 0.3.0-rc.1

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 (34) hide show
  1. package/README.md +2 -2
  2. package/app/app.config.ts +1 -1
  3. package/app/app.vue +2 -0
  4. package/app/components/content/Feedback.vue +10 -6
  5. package/app/components/prose/ProseImg.vue +39 -11
  6. package/app/components/site/SiteHeader.vue +12 -1
  7. package/app/components/site/SiteLocaleSwitcher.vue +3 -5
  8. package/app/components/site/SiteSocialLinks.vue +31 -0
  9. package/app/composables/site-navigation.utils.ts +40 -1
  10. package/app/composables/useGinkoAnalytics.ts +12 -8
  11. package/app/composables/useSiteNavigation.ts +7 -22
  12. package/app/features/docs/components/DocsPageContent.vue +10 -1
  13. package/app/features/docs/components/DocsSidebar.vue +8 -2
  14. package/app/features/search/useCommandCenter.ts +2 -2
  15. package/app/pages/blog/[slug].vue +10 -1
  16. package/app/pages/blog/index.vue +12 -1
  17. package/app/pages/index.vue +6 -2
  18. package/content.js +48 -27
  19. package/content.ts +21 -4
  20. package/i18n/messages/global/docs.ts +1 -0
  21. package/i18n/messages/global/nav.ts +0 -1
  22. package/icon-bundle.ts +4 -56
  23. package/modules/feature-routing.ts +15 -0
  24. package/nuxt.config.ts +21 -7
  25. package/package.json +26 -26
  26. package/server/api/_ginko-docs/redirects.get.ts +28 -0
  27. package/server/middleware/redirects.ts +22 -0
  28. package/server/routes/[locale]/blog/rss.xml.get.ts +13 -0
  29. package/server/routes/blog/rss.xml.get.ts +5 -0
  30. package/server/utils/blog-feed.ts +49 -0
  31. package/server/utils/feed.ts +70 -0
  32. package/server/utils/redirects.ts +38 -0
  33. package/server/utils/redirects.utils.ts +58 -0
  34. package/shared/types/app-config.ts +14 -21
@@ -34,6 +34,15 @@ export interface GinkoDocsLink {
34
34
  description?: GinkoDocsLocalizedText;
35
35
  }
36
36
 
37
+ export type GinkoDocsSocialPlatform = "github" | "discord" | "linkedin";
38
+
39
+ /**
40
+ * A URL uses the platform's built-in label and icon. Pass an object to override
41
+ * either — `icon` accepts any Iconify name the consuming app has registered, so
42
+ * sites that ship brand marks are not limited to the layer's bundled icons.
43
+ */
44
+ export type GinkoDocsSocialEntry = string | { href: string; label?: string; icon?: string };
45
+
37
46
  export interface GinkoDocsHeroCodeTab {
38
47
  label: GinkoDocsLocalizedText;
39
48
  /** Iconify icon shown in the tab. */
@@ -49,17 +58,6 @@ export type GinkoDocsHeroMedia =
49
58
  | { type: "code"; code: string; language?: string; filename?: string }
50
59
  | { type: "code-tabs"; tabs: GinkoDocsHeroCodeTab[] };
51
60
 
52
- export type GinkoDocsPlausibleExtension =
53
- | "hash"
54
- | "outbound-links"
55
- | "file-downloads"
56
- | "tagged-events"
57
- | "revenue"
58
- | "pageview-props"
59
- | "compat"
60
- | "local"
61
- | "manual";
62
-
63
61
  export interface GinkoDocsAppConfig {
64
62
  theme: {
65
63
  neutral: GinkoDocsNeutralPalette;
@@ -77,6 +75,8 @@ export interface GinkoDocsAppConfig {
77
75
  nav: {
78
76
  /** "auto" derives Docs (+ Blog when blog routes exist); an array overrides entirely. */
79
77
  links: "auto" | GinkoDocsLink[];
78
+ /** Render configured social links as icon buttons in the header instead of labelled rows. */
79
+ socialIcons: boolean;
80
80
  };
81
81
  banner: {
82
82
  enabled: boolean;
@@ -88,18 +88,11 @@ export interface GinkoDocsAppConfig {
88
88
  };
89
89
  analytics?: {
90
90
  plausible?: {
91
- /** Leave unset to keep analytics fully disabled. */
92
- domain?: string;
93
- /** Self-hosted Plausible script URL override. */
94
- scriptSrc?: string;
95
- /** Plausible script extensions, e.g. ["outbound-links", "file-downloads"]. */
96
- extensions?: GinkoDocsPlausibleExtension[];
91
+ /** Public site-specific ID from the Plausible pa-<id>.js script URL. */
92
+ scriptId?: string;
97
93
  };
98
94
  };
99
- social: {
100
- github?: string;
101
- linkedin?: string;
102
- };
95
+ social: Partial<Record<GinkoDocsSocialPlatform, GinkoDocsSocialEntry>>;
103
96
  feedback: {
104
97
  enabled: boolean;
105
98
  };