@pagesmith/core 0.1.0

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 (85) hide show
  1. package/README.md +481 -0
  2. package/assets/fonts/OFL.txt +7 -0
  3. package/assets/fonts/jetbrains-mono-variable.woff2 +0 -0
  4. package/assets/fonts/open-sans-variable.woff2 +0 -0
  5. package/assets/fonts.css +17 -0
  6. package/dist/ai/index.d.mts +41 -0
  7. package/dist/ai/index.d.mts.map +1 -0
  8. package/dist/ai/index.mjs +414 -0
  9. package/dist/ai/index.mjs.map +1 -0
  10. package/dist/assets/index.d.mts +31 -0
  11. package/dist/assets/index.d.mts.map +1 -0
  12. package/dist/assets/index.mjs +2 -0
  13. package/dist/assets-bX08zEJm.mjs +155 -0
  14. package/dist/assets-bX08zEJm.mjs.map +1 -0
  15. package/dist/content-config-fHPaFZ7i.d.mts +1128 -0
  16. package/dist/content-config-fHPaFZ7i.d.mts.map +1 -0
  17. package/dist/content-layer-B7fQ3im4.mjs +590 -0
  18. package/dist/content-layer-B7fQ3im4.mjs.map +1 -0
  19. package/dist/convert-DnuB6SVV.mjs +52 -0
  20. package/dist/convert-DnuB6SVV.mjs.map +1 -0
  21. package/dist/create/index.d.mts +20 -0
  22. package/dist/create/index.d.mts.map +1 -0
  23. package/dist/create/index.mjs +215 -0
  24. package/dist/create/index.mjs.map +1 -0
  25. package/dist/css/index.d.mts +2 -0
  26. package/dist/css/index.mjs +2 -0
  27. package/dist/css-ekIt2Fdb.mjs +19 -0
  28. package/dist/css-ekIt2Fdb.mjs.map +1 -0
  29. package/dist/heading-Dhvzlay-.d.mts +27 -0
  30. package/dist/heading-Dhvzlay-.d.mts.map +1 -0
  31. package/dist/index-BQ6B1-qG.d.mts +41 -0
  32. package/dist/index-BQ6B1-qG.d.mts.map +1 -0
  33. package/dist/index-CeNDTM-y.d.mts +7 -0
  34. package/dist/index-CeNDTM-y.d.mts.map +1 -0
  35. package/dist/index-DpRBzO8Q.d.mts +15 -0
  36. package/dist/index-DpRBzO8Q.d.mts.map +1 -0
  37. package/dist/index-sFCx17CD.d.mts +59 -0
  38. package/dist/index-sFCx17CD.d.mts.map +1 -0
  39. package/dist/index.d.mts +131 -0
  40. package/dist/index.d.mts.map +1 -0
  41. package/dist/index.mjs +56 -0
  42. package/dist/index.mjs.map +1 -0
  43. package/dist/jsx-runtime/index.d.mts +24 -0
  44. package/dist/jsx-runtime/index.d.mts.map +1 -0
  45. package/dist/jsx-runtime/index.mjs +88 -0
  46. package/dist/jsx-runtime/index.mjs.map +1 -0
  47. package/dist/loaders/index.d.mts +3 -0
  48. package/dist/loaders/index.mjs +2 -0
  49. package/dist/loaders-DyABmDrE.mjs +179 -0
  50. package/dist/loaders-DyABmDrE.mjs.map +1 -0
  51. package/dist/markdown/index.d.mts +3 -0
  52. package/dist/markdown/index.mjs +2 -0
  53. package/dist/markdown-Cj5X26FL.mjs +95 -0
  54. package/dist/markdown-Cj5X26FL.mjs.map +1 -0
  55. package/dist/runtime/index.d.mts +28 -0
  56. package/dist/runtime/index.d.mts.map +1 -0
  57. package/dist/runtime/index.mjs +90 -0
  58. package/dist/runtime/index.mjs.map +1 -0
  59. package/dist/schemas/index.d.mts +4 -0
  60. package/dist/schemas/index.mjs +2 -0
  61. package/dist/schemas-DJS7wOzd.mjs +47 -0
  62. package/dist/schemas-DJS7wOzd.mjs.map +1 -0
  63. package/dist/types-DUsjRE7Y.d.mts +28 -0
  64. package/dist/types-DUsjRE7Y.d.mts.map +1 -0
  65. package/dist/vite/index.d.mts +9878 -0
  66. package/dist/vite/index.d.mts.map +1 -0
  67. package/dist/vite/index.mjs +549 -0
  68. package/dist/vite/index.mjs.map +1 -0
  69. package/package.json +136 -0
  70. package/src/styles/code/inline.css +26 -0
  71. package/src/styles/content/alerts.css +87 -0
  72. package/src/styles/content/prose.css +225 -0
  73. package/src/styles/content/toc.css +87 -0
  74. package/src/styles/content.css +22 -0
  75. package/src/styles/foundations/reset.css +49 -0
  76. package/src/styles/foundations/tokens.css +66 -0
  77. package/src/styles/layout/grid.css +179 -0
  78. package/src/styles/layout/sidebar.css +18 -0
  79. package/src/styles/standalone.css +18 -0
  80. package/src/styles/viewport.css +20 -0
  81. package/templates/docs/content/README.md +18 -0
  82. package/templates/docs/content/guide/README.md +11 -0
  83. package/templates/docs/content/guide/getting-started/README.md +9 -0
  84. package/templates/docs/content/reference/README.md +11 -0
  85. package/templates/docs/pagesmith.config.json5 +15 -0
@@ -0,0 +1,179 @@
1
+ /* ═══════════════════════════════════════════════════════════════
2
+ Responsive layout system
3
+
4
+ Breakpoints (ch-based):
5
+ < 110ch — single column, sidebar hidden, mobile TOC shown
6
+ ≥ 110ch — content + right sidebar (30ch)
7
+ ≥ 160ch — centered: content (100ch max) + right sidebar (30ch)
8
+
9
+ layout-two-col: content + right sidebar (blog-style)
10
+ layout-doc: left sidebar + content + right sidebar (doc-style)
11
+ ═══════════════════════════════════════════════════════════════ */
12
+
13
+ /* ─── Layout variables ─── */
14
+ :root {
15
+ --content-min: 80ch;
16
+ --content-max: 100ch;
17
+ --sidebar-width: 30ch;
18
+ --header-height: 60px;
19
+ }
20
+
21
+ /* ─── Main content ─── */
22
+ .main-content {
23
+ max-width: var(--content-max);
24
+ padding: 2.5rem 1.5rem;
25
+ width: 100%;
26
+ min-width: 0;
27
+ }
28
+ .main-home {
29
+ margin: 0 auto;
30
+ padding-top: 4rem;
31
+ padding-bottom: 4rem;
32
+ }
33
+ .main-narrow {
34
+ margin: 0 auto;
35
+ }
36
+
37
+ /* ═══════════════════════════════════════════════════════════════
38
+ Two-column: [empty 1fr] [content] [sidebar 1fr]
39
+ ═══════════════════════════════════════════════════════════════ */
40
+ .layout-two-col {
41
+ display: grid;
42
+ grid-template-columns:
43
+ minmax(0, 1fr) minmax(0, var(--content-max)) minmax(var(--sidebar-width), 1fr);
44
+ min-height: calc(100vh - var(--header-height));
45
+ }
46
+
47
+ .layout-two-col > :first-child {
48
+ grid-column: 2;
49
+ }
50
+ .layout-two-col > :nth-child(2) {
51
+ grid-column: 3;
52
+ }
53
+
54
+ /* ═══════════════════════════════════════════════════════════════
55
+ Doc-style 3-column: [left sidebar] [content] [right sidebar]
56
+
57
+ < 110ch: single column, both sidebars hidden
58
+ ≥ 110ch: content + right sidebar (30ch), left via overlay
59
+ ≥ 140ch: left (30ch) + content + right (30ch)
60
+ ≥ 160ch: centered: left (30ch) + content (100ch) + right (30ch)
61
+ ═══════════════════════════════════════════════════════════════ */
62
+ .layout-doc {
63
+ display: grid;
64
+ grid-template-columns: minmax(0, 1fr);
65
+ min-height: calc(100vh - var(--header-height));
66
+ }
67
+
68
+ .layout-doc > .doc-sidebar {
69
+ display: none;
70
+ }
71
+
72
+ .layout-doc > .doc-aside {
73
+ display: none;
74
+ }
75
+
76
+ .layout-doc > .doc-main {
77
+ max-width: var(--content-max);
78
+ width: 100%;
79
+ margin: 0 auto;
80
+ padding: 2rem 1.25rem;
81
+ }
82
+
83
+ /* ─── Mobile accordion (hidden when sidebar visible) ─── */
84
+ .toc-mobile {
85
+ display: none;
86
+ }
87
+
88
+ .layout-doc .toc-mobile {
89
+ display: block;
90
+ }
91
+
92
+ /* ═══════════════════════════════════════════════════════════════
93
+ ≥ 110ch — show right sidebar
94
+ ═══════════════════════════════════════════════════════════════ */
95
+ @media (min-width: 110ch) {
96
+ /* Two-column: no change needed, already shows sidebar */
97
+
98
+ /* Doc layout: show right aside */
99
+ .layout-doc {
100
+ grid-template-columns: minmax(0, 1fr) var(--sidebar-width);
101
+ }
102
+
103
+ .layout-doc > .doc-aside {
104
+ display: block;
105
+ position: sticky;
106
+ top: var(--header-height);
107
+ height: fit-content;
108
+ max-height: calc(100vh - var(--header-height));
109
+ overflow-y: auto;
110
+ padding: 2rem 1.5rem 2rem 0;
111
+ scrollbar-width: thin;
112
+ }
113
+
114
+ .layout-doc > .doc-main {
115
+ padding: 2rem 2.5rem;
116
+ }
117
+
118
+ .layout-doc .toc-mobile {
119
+ display: none;
120
+ }
121
+ }
122
+
123
+ /* ═══════════════════════════════════════════════════════════════
124
+ ≥ 140ch — show left sidebar in doc layout
125
+ ═══════════════════════════════════════════════════════════════ */
126
+ @media (min-width: 140ch) {
127
+ .layout-doc {
128
+ grid-template-columns: var(--sidebar-width) minmax(0, 1fr) var(--sidebar-width);
129
+ }
130
+
131
+ .layout-doc > .doc-sidebar {
132
+ display: block;
133
+ position: sticky;
134
+ top: var(--header-height);
135
+ height: calc(100vh - var(--header-height));
136
+ overflow-y: auto;
137
+ padding: 1.5rem 1rem 2rem 1.5rem;
138
+ border-right: 1px solid var(--color-border-subtle);
139
+ scrollbar-width: thin;
140
+ }
141
+ }
142
+
143
+ /* ═══════════════════════════════════════════════════════════════
144
+ ≥ 160ch — centered layouts
145
+ ═══════════════════════════════════════════════════════════════ */
146
+ @media (min-width: 160ch) {
147
+ .layout-doc {
148
+ grid-template-columns: var(--sidebar-width) minmax(0, var(--content-max)) var(--sidebar-width);
149
+ justify-content: center;
150
+ }
151
+ }
152
+
153
+ /* ═══════════════════════════════════════════════════════════════
154
+ < 110ch — single column for all layouts
155
+ ═══════════════════════════════════════════════════════════════ */
156
+ @media (max-width: 110ch) {
157
+ .layout-two-col {
158
+ display: block;
159
+ }
160
+ .sidebar-right {
161
+ display: none;
162
+ }
163
+ .toc-mobile {
164
+ display: block;
165
+ }
166
+ .main-content {
167
+ padding: 1.5rem 1rem;
168
+ }
169
+ .main-home {
170
+ padding-top: 2rem;
171
+ padding-bottom: 2rem;
172
+ }
173
+ }
174
+
175
+ @media (max-width: 640px) {
176
+ h1 {
177
+ font-size: var(--font-size-2xl);
178
+ }
179
+ }
@@ -0,0 +1,18 @@
1
+ /* ─── Right sidebar (On This Page) ─── */
2
+ /* Sticky within its grid column. The column itself stretches to
3
+ the viewport edge (1fr) so the sidebar scrollbar sits flush
4
+ against the page scrollbar — no floating gap on wide screens. */
5
+ .sidebar {
6
+ padding-top: 2.5rem;
7
+ padding-bottom: 2rem;
8
+ position: sticky;
9
+ top: var(--header-height);
10
+ align-self: start;
11
+ max-height: calc(100vh - var(--header-height));
12
+ overflow-y: auto;
13
+ overscroll-behavior: contain;
14
+ }
15
+ .sidebar-right {
16
+ padding-left: 1rem;
17
+ padding-right: 1.5rem;
18
+ }
@@ -0,0 +1,18 @@
1
+ /* Foundations */
2
+ @import "./foundations/reset.css";
3
+ @import "./foundations/tokens.css";
4
+
5
+ /* Content */
6
+ @import "./content/prose.css";
7
+ @import "./content/toc.css";
8
+ @import "./content/alerts.css";
9
+
10
+ /* Inline code */
11
+ @import "./code/inline.css";
12
+
13
+ /* Viewport */
14
+ @import "./viewport.css";
15
+
16
+ /* Layout */
17
+ @import "./layout/grid.css";
18
+ @import "./layout/sidebar.css";
@@ -0,0 +1,20 @@
1
+ /* ═══════════════════════════════════════════════════════════════
2
+ Viewport overflow prevention.
3
+
4
+ Targets common overflow culprits in prose content:
5
+ tables, code blocks, images, figures, and embeds.
6
+ Ensures nothing exceeds the viewport width on small screens.
7
+ ═══════════════════════════════════════════════════════════════ */
8
+
9
+ .prose pre,
10
+ .prose table,
11
+ .prose img,
12
+ .prose figure,
13
+ .prose iframe {
14
+ max-width: 100%;
15
+ overflow-x: auto;
16
+ }
17
+ .prose pre code {
18
+ display: block;
19
+ overflow-x: auto;
20
+ }
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: My Docs
3
+ description: A documentation site powered by Pagesmith.
4
+ tagline: Convention-based docs with built-in search.
5
+ actions:
6
+ - text: Get Started
7
+ link: /guide/getting-started
8
+ theme: brand
9
+ features:
10
+ - title: Filesystem First
11
+ details: Organize your docs with top-level folders like guide, reference, and packages.
12
+ - title: Built-In Search
13
+ details: Pagefind indexing is included in @pagesmith/docs by default.
14
+ ---
15
+
16
+ # Welcome
17
+
18
+ Edit `content/README.md` to shape the home page and add your own hero copy, feature cards, or getting-started guidance.
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: Guide
3
+ description: Learn the project structure and authoring workflow.
4
+ navLabel: Guide
5
+ sidebarLabel: Overview
6
+ order: 1
7
+ ---
8
+
9
+ # Guide
10
+
11
+ This section becomes part of the top navigation automatically because it lives in a top-level folder under `content/`.
@@ -0,0 +1,9 @@
1
+ ---
2
+ title: Getting Started
3
+ description: Your first docs page.
4
+ order: 2
5
+ ---
6
+
7
+ # Getting Started
8
+
9
+ Add more markdown pages under `content/guide/`, `content/reference/`, or `content/packages/` to grow your docs site.
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: Reference
3
+ description: API and package reference material.
4
+ navLabel: Reference
5
+ sidebarLabel: Overview
6
+ order: 1
7
+ ---
8
+
9
+ # Reference
10
+
11
+ Use this section for reference pages, package APIs, and detailed configuration guides.
@@ -0,0 +1,15 @@
1
+ {
2
+ name: 'My Docs',
3
+ title: 'My Docs',
4
+ description: 'Documentation built with @pagesmith/docs',
5
+ origin: 'https://example.com',
6
+ contentDir: './content',
7
+ outDir: './dist',
8
+ footerLinks: [
9
+ { label: 'Guide', path: '/guide' },
10
+ { label: 'Reference', path: '/reference' },
11
+ ],
12
+ search: {
13
+ enabled: true,
14
+ },
15
+ }