@mdwrk/mdwrkcom-content-pack 0.1.5

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 (263) hide show
  1. package/README.md +39 -0
  2. package/content/pages/answers/does-mdwrk-require-a-server.md +27 -0
  3. package/content/pages/answers/how-do-mdwrk-theme-packs-work.md +27 -0
  4. package/content/pages/answers/how-does-mdwrk-store-markdown-locally.md +27 -0
  5. package/content/pages/answers/index.md +39 -0
  6. package/content/pages/answers/what-is-a-local-first-markdown-workspace.md +27 -0
  7. package/content/pages/answers/what-is-an-offline-markdown-editor.md +27 -0
  8. package/content/pages/blog/launch.md +42 -0
  9. package/content/pages/compare/index.md +39 -0
  10. package/content/pages/compare/local-first-markdown-editors.md +27 -0
  11. package/content/pages/compare/mdwrk-vs-obsidian.md +27 -0
  12. package/content/pages/compare/mdwrk-vs-typora.md +27 -0
  13. package/content/pages/compare/mdwrk-vs-vscode-markdown.md +27 -0
  14. package/content/pages/docs/extensions.md +34 -0
  15. package/content/pages/docs/quickstart.md +48 -0
  16. package/content/pages/docs/theme-packs.md +34 -0
  17. package/content/pages/es/docs/quickstart.md +50 -0
  18. package/content/pages/features/extension-runtime.md +25 -0
  19. package/content/pages/features/github-sync.md +25 -0
  20. package/content/pages/features/index.md +42 -0
  21. package/content/pages/features/indexeddb-markdown-storage.md +25 -0
  22. package/content/pages/features/live-preview.md +25 -0
  23. package/content/pages/features/pwa-markdown-editor.md +25 -0
  24. package/content/pages/index.md +45 -0
  25. package/content/pages/markdown/basic-markdown-syntax.md +29 -0
  26. package/content/pages/markdown/generated/local-first-markdown-workspace/benefits.md +31 -0
  27. package/content/pages/markdown/generated/local-first-markdown-workspace/best-practices.md +31 -0
  28. package/content/pages/markdown/generated/local-first-markdown-workspace/checklist.md +31 -0
  29. package/content/pages/markdown/generated/local-first-markdown-workspace/examples.md +31 -0
  30. package/content/pages/markdown/generated/local-first-markdown-workspace/for-developers.md +31 -0
  31. package/content/pages/markdown/generated/local-first-markdown-workspace/for-teams.md +31 -0
  32. package/content/pages/markdown/generated/local-first-markdown-workspace/use-cases.md +31 -0
  33. package/content/pages/markdown/generated/local-first-markdown-workspace/workflow.md +31 -0
  34. package/content/pages/markdown/generated/markdown-blogging/benefits.md +31 -0
  35. package/content/pages/markdown/generated/markdown-blogging/best-practices.md +31 -0
  36. package/content/pages/markdown/generated/markdown-blogging/checklist.md +31 -0
  37. package/content/pages/markdown/generated/markdown-blogging/examples.md +31 -0
  38. package/content/pages/markdown/generated/markdown-blogging/for-developers.md +31 -0
  39. package/content/pages/markdown/generated/markdown-blogging/for-teams.md +31 -0
  40. package/content/pages/markdown/generated/markdown-blogging/use-cases.md +31 -0
  41. package/content/pages/markdown/generated/markdown-blogging/workflow.md +31 -0
  42. package/content/pages/markdown/generated/markdown-documentation/benefits.md +31 -0
  43. package/content/pages/markdown/generated/markdown-documentation/best-practices.md +31 -0
  44. package/content/pages/markdown/generated/markdown-documentation/checklist.md +31 -0
  45. package/content/pages/markdown/generated/markdown-documentation/examples.md +31 -0
  46. package/content/pages/markdown/generated/markdown-documentation/for-developers.md +31 -0
  47. package/content/pages/markdown/generated/markdown-documentation/for-teams.md +31 -0
  48. package/content/pages/markdown/generated/markdown-documentation/use-cases.md +31 -0
  49. package/content/pages/markdown/generated/markdown-documentation/workflow.md +31 -0
  50. package/content/pages/markdown/generated/markdown-editor/benefits.md +31 -0
  51. package/content/pages/markdown/generated/markdown-editor/best-practices.md +31 -0
  52. package/content/pages/markdown/generated/markdown-editor/checklist.md +31 -0
  53. package/content/pages/markdown/generated/markdown-editor/examples.md +31 -0
  54. package/content/pages/markdown/generated/markdown-editor/for-developers.md +31 -0
  55. package/content/pages/markdown/generated/markdown-editor/for-teams.md +31 -0
  56. package/content/pages/markdown/generated/markdown-editor/use-cases.md +31 -0
  57. package/content/pages/markdown/generated/markdown-editor/workflow.md +31 -0
  58. package/content/pages/markdown/generated/markdown-extension-workflows/benefits.md +31 -0
  59. package/content/pages/markdown/generated/markdown-extension-workflows/best-practices.md +31 -0
  60. package/content/pages/markdown/generated/markdown-extension-workflows/checklist.md +31 -0
  61. package/content/pages/markdown/generated/markdown-extension-workflows/examples.md +31 -0
  62. package/content/pages/markdown/generated/markdown-extension-workflows/for-developers.md +31 -0
  63. package/content/pages/markdown/generated/markdown-extension-workflows/for-teams.md +31 -0
  64. package/content/pages/markdown/generated/markdown-extension-workflows/use-cases.md +31 -0
  65. package/content/pages/markdown/generated/markdown-extension-workflows/workflow.md +31 -0
  66. package/content/pages/markdown/generated/markdown-for-developers/benefits.md +31 -0
  67. package/content/pages/markdown/generated/markdown-for-developers/best-practices.md +31 -0
  68. package/content/pages/markdown/generated/markdown-for-developers/checklist.md +31 -0
  69. package/content/pages/markdown/generated/markdown-for-developers/examples.md +31 -0
  70. package/content/pages/markdown/generated/markdown-for-developers/for-developers.md +31 -0
  71. package/content/pages/markdown/generated/markdown-for-developers/for-teams.md +31 -0
  72. package/content/pages/markdown/generated/markdown-for-developers/use-cases.md +31 -0
  73. package/content/pages/markdown/generated/markdown-for-developers/workflow.md +31 -0
  74. package/content/pages/markdown/generated/markdown-for-teams/benefits.md +31 -0
  75. package/content/pages/markdown/generated/markdown-for-teams/best-practices.md +31 -0
  76. package/content/pages/markdown/generated/markdown-for-teams/checklist.md +31 -0
  77. package/content/pages/markdown/generated/markdown-for-teams/examples.md +31 -0
  78. package/content/pages/markdown/generated/markdown-for-teams/for-developers.md +31 -0
  79. package/content/pages/markdown/generated/markdown-for-teams/for-teams.md +31 -0
  80. package/content/pages/markdown/generated/markdown-for-teams/use-cases.md +31 -0
  81. package/content/pages/markdown/generated/markdown-for-teams/workflow.md +31 -0
  82. package/content/pages/markdown/generated/markdown-knowledge-base/benefits.md +31 -0
  83. package/content/pages/markdown/generated/markdown-knowledge-base/best-practices.md +31 -0
  84. package/content/pages/markdown/generated/markdown-knowledge-base/checklist.md +31 -0
  85. package/content/pages/markdown/generated/markdown-knowledge-base/examples.md +31 -0
  86. package/content/pages/markdown/generated/markdown-knowledge-base/for-developers.md +31 -0
  87. package/content/pages/markdown/generated/markdown-knowledge-base/for-teams.md +31 -0
  88. package/content/pages/markdown/generated/markdown-knowledge-base/use-cases.md +31 -0
  89. package/content/pages/markdown/generated/markdown-knowledge-base/workflow.md +31 -0
  90. package/content/pages/markdown/generated/markdown-notes/benefits.md +31 -0
  91. package/content/pages/markdown/generated/markdown-notes/best-practices.md +31 -0
  92. package/content/pages/markdown/generated/markdown-notes/checklist.md +31 -0
  93. package/content/pages/markdown/generated/markdown-notes/examples.md +31 -0
  94. package/content/pages/markdown/generated/markdown-notes/for-developers.md +31 -0
  95. package/content/pages/markdown/generated/markdown-notes/for-teams.md +31 -0
  96. package/content/pages/markdown/generated/markdown-notes/use-cases.md +31 -0
  97. package/content/pages/markdown/generated/markdown-notes/workflow.md +31 -0
  98. package/content/pages/markdown/generated/markdown-preview/benefits.md +31 -0
  99. package/content/pages/markdown/generated/markdown-preview/best-practices.md +31 -0
  100. package/content/pages/markdown/generated/markdown-preview/checklist.md +31 -0
  101. package/content/pages/markdown/generated/markdown-preview/examples.md +31 -0
  102. package/content/pages/markdown/generated/markdown-preview/for-developers.md +31 -0
  103. package/content/pages/markdown/generated/markdown-preview/for-teams.md +31 -0
  104. package/content/pages/markdown/generated/markdown-preview/use-cases.md +31 -0
  105. package/content/pages/markdown/generated/markdown-preview/workflow.md +31 -0
  106. package/content/pages/markdown/generated/markdown-project-docs/benefits.md +31 -0
  107. package/content/pages/markdown/generated/markdown-project-docs/best-practices.md +31 -0
  108. package/content/pages/markdown/generated/markdown-project-docs/checklist.md +31 -0
  109. package/content/pages/markdown/generated/markdown-project-docs/examples.md +31 -0
  110. package/content/pages/markdown/generated/markdown-project-docs/for-developers.md +31 -0
  111. package/content/pages/markdown/generated/markdown-project-docs/for-teams.md +31 -0
  112. package/content/pages/markdown/generated/markdown-project-docs/use-cases.md +31 -0
  113. package/content/pages/markdown/generated/markdown-project-docs/workflow.md +31 -0
  114. package/content/pages/markdown/generated/markdown-readme/benefits.md +31 -0
  115. package/content/pages/markdown/generated/markdown-readme/best-practices.md +31 -0
  116. package/content/pages/markdown/generated/markdown-readme/checklist.md +31 -0
  117. package/content/pages/markdown/generated/markdown-readme/examples.md +31 -0
  118. package/content/pages/markdown/generated/markdown-readme/for-developers.md +31 -0
  119. package/content/pages/markdown/generated/markdown-readme/for-teams.md +31 -0
  120. package/content/pages/markdown/generated/markdown-readme/use-cases.md +31 -0
  121. package/content/pages/markdown/generated/markdown-readme/workflow.md +31 -0
  122. package/content/pages/markdown/generated/markdown-theme-packs/benefits.md +31 -0
  123. package/content/pages/markdown/generated/markdown-theme-packs/best-practices.md +31 -0
  124. package/content/pages/markdown/generated/markdown-theme-packs/checklist.md +31 -0
  125. package/content/pages/markdown/generated/markdown-theme-packs/examples.md +31 -0
  126. package/content/pages/markdown/generated/markdown-theme-packs/for-developers.md +31 -0
  127. package/content/pages/markdown/generated/markdown-theme-packs/for-teams.md +31 -0
  128. package/content/pages/markdown/generated/markdown-theme-packs/use-cases.md +31 -0
  129. package/content/pages/markdown/generated/markdown-theme-packs/workflow.md +31 -0
  130. package/content/pages/markdown/generated/markdown-writing-workflow/benefits.md +31 -0
  131. package/content/pages/markdown/generated/markdown-writing-workflow/best-practices.md +31 -0
  132. package/content/pages/markdown/generated/markdown-writing-workflow/checklist.md +31 -0
  133. package/content/pages/markdown/generated/markdown-writing-workflow/examples.md +31 -0
  134. package/content/pages/markdown/generated/markdown-writing-workflow/for-developers.md +31 -0
  135. package/content/pages/markdown/generated/markdown-writing-workflow/for-teams.md +31 -0
  136. package/content/pages/markdown/generated/markdown-writing-workflow/use-cases.md +31 -0
  137. package/content/pages/markdown/generated/markdown-writing-workflow/workflow.md +31 -0
  138. package/content/pages/markdown/generated/offline-markdown-editor/benefits.md +31 -0
  139. package/content/pages/markdown/generated/offline-markdown-editor/best-practices.md +31 -0
  140. package/content/pages/markdown/generated/offline-markdown-editor/checklist.md +31 -0
  141. package/content/pages/markdown/generated/offline-markdown-editor/examples.md +31 -0
  142. package/content/pages/markdown/generated/offline-markdown-editor/for-developers.md +31 -0
  143. package/content/pages/markdown/generated/offline-markdown-editor/for-teams.md +31 -0
  144. package/content/pages/markdown/generated/offline-markdown-editor/use-cases.md +31 -0
  145. package/content/pages/markdown/generated/offline-markdown-editor/workflow.md +31 -0
  146. package/content/pages/markdown/how-to-write-markdown.md +29 -0
  147. package/content/pages/markdown/index.md +40 -0
  148. package/content/pages/markdown/markdown-vs-html.md +29 -0
  149. package/content/pages/markdown/what-is-a-markdown-editor.md +29 -0
  150. package/content/pages/markdown/what-is-markdown-used-for.md +29 -0
  151. package/content/pages/markdown/what-is-markdown.md +29 -0
  152. package/content/pages/packages/extension-runtime.md +33 -0
  153. package/content/pages/packages/index.md +42 -0
  154. package/content/pages/packages/markdown-editor-react.md +33 -0
  155. package/content/pages/packages/markdown-renderer-core.md +33 -0
  156. package/content/pages/packages/markdown-renderer-react.md +33 -0
  157. package/content/pages/packages/theme-contract.md +33 -0
  158. package/content/pages/privacy.md +41 -0
  159. package/content/pages/proof/browser-support.md +22 -0
  160. package/content/pages/proof/markdown-support.md +22 -0
  161. package/content/pages/proof/package-surfaces.md +22 -0
  162. package/content/pages/security.md +38 -0
  163. package/content/pages/trust/privacy-boundary.md +22 -0
  164. package/data/article-metadata.schema.json +111 -0
  165. package/data/content-sitemap.yaml +31 -0
  166. package/data/content.ts +55 -0
  167. package/data/docs.ts +111 -0
  168. package/data/markdown/AGENTS.md +10 -0
  169. package/data/markdown/blog/client-split-out-backstory.md +97 -0
  170. package/data/markdown/blog/desktop-release-and-android-verification.md +65 -0
  171. package/data/markdown/blog/docs-surface-realignment.md +70 -0
  172. package/data/markdown/blog/extension-compatibility-and-publish-gates.md +59 -0
  173. package/data/markdown/blog/extension-host-rollout.md +92 -0
  174. package/data/markdown/blog/governed-releases-and-package-docs.md +69 -0
  175. package/data/markdown/blog/markdown-workspace-launch.md +75 -0
  176. package/data/markdown/blog/pwa-install-and-zoom-controls.md +64 -0
  177. package/data/markdown/blog/responsive-authoring-and-export.md +64 -0
  178. package/data/markdown/blog/retained-client-versions-and-desktop-shell.md +59 -0
  179. package/data/markdown/blog/screenshot-matrix-and-browser-sidebars.md +57 -0
  180. package/data/markdown/blog/settings-simplification-for-daily-flow.md +54 -0
  181. package/data/markdown/blog/workspace-files-and-git-ops-packages.md +53 -0
  182. package/data/markdown/docs/authoring/authoring-overview.md +59 -0
  183. package/data/markdown/docs/authoring/extension-authoring-guide.md +69 -0
  184. package/data/markdown/docs/authoring/extensions.md +93 -0
  185. package/data/markdown/docs/authoring/language-packs.md +81 -0
  186. package/data/markdown/docs/authoring/theme-packs.md +81 -0
  187. package/data/markdown/docs/comparisons/mdwrk-vs-logseq.md +49 -0
  188. package/data/markdown/docs/comparisons/mdwrk-vs-marktext.md +49 -0
  189. package/data/markdown/docs/comparisons/mdwrk-vs-notion.md +49 -0
  190. package/data/markdown/docs/comparisons/mdwrk-vs-obsidian.md +49 -0
  191. package/data/markdown/docs/comparisons/mdwrk-vs-standard-markdown-editors.md +49 -0
  192. package/data/markdown/docs/comparisons/mdwrk-vs-typora.md +49 -0
  193. package/data/markdown/docs/comparisons/mdwrk-vs-vs-code.md +49 -0
  194. package/data/markdown/docs/comparisons/mdwrk-vs-zettlr.md +49 -0
  195. package/data/markdown/docs/extensions/extension-platform.md +64 -0
  196. package/data/markdown/docs/extensions/theme-studio-and-host-surfaces.md +54 -0
  197. package/data/markdown/docs/getting-started/browser-use.md +59 -0
  198. package/data/markdown/docs/getting-started/configuration.md +82 -0
  199. package/data/markdown/docs/getting-started/installation.md +74 -0
  200. package/data/markdown/docs/getting-started/local-setup.md +94 -0
  201. package/data/markdown/docs/getting-started/pwa-installation.md +62 -0
  202. package/data/markdown/docs/getting-started/standalone-modules.md +87 -0
  203. package/data/markdown/docs/github-sync.md +51 -0
  204. package/data/markdown/docs/product/desktop-app-boundary.md +57 -0
  205. package/data/markdown/docs/product/developer-documentation.md +52 -0
  206. package/data/markdown/docs/product/extension-host.md +52 -0
  207. package/data/markdown/docs/product/local-first-markdown-workspace.md +52 -0
  208. package/data/markdown/docs/product/markdown-file-manager.md +52 -0
  209. package/data/markdown/docs/product/markdown-preview-editor.md +52 -0
  210. package/data/markdown/docs/product/markdown-profile-architecture.md +51 -0
  211. package/data/markdown/docs/product/offline-markdown-editor.md +52 -0
  212. package/data/markdown/docs/product/privacy-first-markdown-editor.md +52 -0
  213. package/data/markdown/docs/product/theme-packs.md +52 -0
  214. package/data/markdown/docs/product/uix-responsive-contract.md +51 -0
  215. package/data/markdown/docs/usage/advanced-formatting.md +181 -0
  216. package/data/markdown/docs/usage/checkbox-autocomplete.md +51 -0
  217. package/data/markdown/docs/usage/editor-basics.md +138 -0
  218. package/data/markdown/docs/usage/rendering-and-preview.md +157 -0
  219. package/data/markdown/docs/usage/text-wrap-previewer.md +45 -0
  220. package/data/markdown/docs/usage/ui-refresh-1-3-28.md +43 -0
  221. package/data/markdown/docs/usage/ui-refresh-1-3-29.md +44 -0
  222. package/data/markdown/docs/usage/view-toolbar.md +47 -0
  223. package/data/markdown/legal/privacy.md +21 -0
  224. package/data/markdown/legal/terms.md +19 -0
  225. package/data/markdown-topic-matrix.json +169 -0
  226. package/dist/index.d.ts +26 -0
  227. package/dist/index.d.ts.map +1 -0
  228. package/dist/index.js +49 -0
  229. package/dist/index.js.map +1 -0
  230. package/dist/version.d.ts +2 -0
  231. package/dist/version.d.ts.map +1 -0
  232. package/dist/version.js +2 -0
  233. package/dist/version.js.map +1 -0
  234. package/generated/cache-header-manifest.json +6558 -0
  235. package/generated/content-index.json +3689 -0
  236. package/generated/content-registry.json +15203 -0
  237. package/generated/jsonld-graph.json +21815 -0
  238. package/generated/llms-full.txt +1769 -0
  239. package/generated/llms.txt +225 -0
  240. package/generated/robots.txt +28 -0
  241. package/generated/semantic-index.json +7595 -0
  242. package/generated/sitemap.xml +1114 -0
  243. package/generated/sitemap.xsl +59 -0
  244. package/package.json +57 -0
  245. package/public/blog/media/extension-manager-pane.jpg +0 -0
  246. package/public/blog/media/lander-blog-list.png +0 -0
  247. package/public/blog/media/lander-docs-dark.png +0 -0
  248. package/public/blog/media/lander-home-light.png +0 -0
  249. package/public/blog/media/language-pack-studio-pane.jpg +0 -0
  250. package/public/blog/media/mdwrk-git-pane.png +0 -0
  251. package/public/blog/media/mdwrk-settings-visual.png +0 -0
  252. package/public/blog/media/mdwrk-workspace-editor.png +0 -0
  253. package/public/blog/media/mdwrk-workspace-split.png +0 -0
  254. package/public/blog/media/settings-github-configurations.jpg +0 -0
  255. package/public/blog/media/theme-selector-modal.jpg +0 -0
  256. package/public/blog/media/theme-studio-pane.jpg +0 -0
  257. package/public/favicon.svg +10 -0
  258. package/public/llms.txt +85 -0
  259. package/public/og-image.png +0 -0
  260. package/public/og-image.svg +12 -0
  261. package/public/robots.txt +4 -0
  262. package/public/semantic-index.json +1627 -0
  263. package/public/sitemap.xml +342 -0
package/data/docs.ts ADDED
@@ -0,0 +1,111 @@
1
+ import { parseMarkdown } from '../utils/markdownParser';
2
+ import { isPublishedMetadata } from '../utils/publication';
3
+
4
+ export interface DocEntry {
5
+ slug: string;
6
+ title: string;
7
+ section: string;
8
+ sectionOrder: number;
9
+ order: number;
10
+ content: string;
11
+ metadata: Record<string, string>;
12
+ }
13
+
14
+ const slugify = (value: string) =>
15
+ value
16
+ .toLowerCase()
17
+ .replace(/[^a-z0-9\s-/]/g, '')
18
+ .trim()
19
+ .replace(/\s+/g, '-');
20
+
21
+ const toTitleCase = (value: string) =>
22
+ value
23
+ .replace(/\bmdwrk\b/gim, 'MdWrk')
24
+ .split(/\s+/)
25
+ .map((part) => {
26
+ if (!part) return part;
27
+ if (/^MdWrk$/.test(part)) return part;
28
+ if (/^[A-Z0-9.-]+$/.test(part)) return part;
29
+ return part.charAt(0).toUpperCase() + part.slice(1).toLowerCase();
30
+ })
31
+ .join(' ');
32
+
33
+ const toCompareSlug = (slug: string) =>
34
+ `compare/${slug
35
+ .replace(/^comparisons\//, '')
36
+ .replace(/^mdwrk-vs-/, '')
37
+ .replace(/^mdwrk-vs/i, '')
38
+ .replace(/^vs-/, '')
39
+ .replace(/^vscode$/, 'vs-code')}`;
40
+
41
+ const toFeatureSlug = (slug: string) =>
42
+ `features/${slug
43
+ .replace(/^product\//, '')
44
+ .replace(/^usage\//, '')}`;
45
+
46
+ const rawDocs = import.meta.glob('./markdown/docs/**/*.md', {
47
+ eager: true,
48
+ query: '?raw',
49
+ import: 'default'
50
+ });
51
+
52
+ const docEntries = Object.entries(rawDocs).map(([path, raw]) => {
53
+ const { metadata, content } = parseMarkdown(raw as string);
54
+ const rawTitle = metadata.title || path.split('/').pop()?.replace('.md', '') || 'Document';
55
+ const title = toTitleCase(String(rawTitle));
56
+ const section = metadata.section || 'Docs';
57
+ const rawSlug = metadata.slug || slugify(title);
58
+ const isComparison = section === 'Compares' || String(rawSlug).startsWith('comparisons/');
59
+ const isFeature = section === 'Features';
60
+ const slug = isComparison ? toCompareSlug(String(rawSlug)) : isFeature ? toFeatureSlug(String(rawSlug)) : rawSlug;
61
+ const sectionOrder = Number(metadata.sectionOrder ?? 999);
62
+ const order = Number(metadata.order ?? 999);
63
+
64
+ return {
65
+ slug,
66
+ title,
67
+ section,
68
+ sectionOrder,
69
+ order,
70
+ content,
71
+ metadata
72
+ };
73
+ }).filter((entry) => isPublishedMetadata(entry.metadata));
74
+
75
+ export const compareDocs = docEntries
76
+ .filter((entry) => entry.section === 'Compares' || entry.slug.startsWith('compare/'))
77
+ .slice()
78
+ .sort((a, b) => a.sectionOrder - b.sectionOrder || a.order - b.order || a.title.localeCompare(b.title));
79
+
80
+ export const compareDocsBySlug = compareDocs.reduce<Record<string, DocEntry>>((acc, doc) => {
81
+ acc[doc.slug.replace(/^compare\//, '')] = doc;
82
+ return acc;
83
+ }, {});
84
+
85
+ export const featureDocs = docEntries
86
+ .filter((entry) => entry.section === 'Features' || entry.slug.startsWith('features/'))
87
+ .slice()
88
+ .sort((a, b) => a.sectionOrder - b.sectionOrder || a.order - b.order || a.title.localeCompare(b.title));
89
+
90
+ export const featureDocsBySlug = featureDocs.reduce<Record<string, DocEntry>>((acc, doc) => {
91
+ acc[doc.slug.replace(/^features\//, '')] = doc;
92
+ return acc;
93
+ }, {});
94
+
95
+ export const docs = docEntries
96
+ .filter((entry) => entry.section !== 'Compares' && !entry.slug.startsWith('compare/') && entry.section !== 'Features' && !entry.slug.startsWith('features/'))
97
+ .slice()
98
+ .sort((a, b) => a.sectionOrder - b.sectionOrder || a.order - b.order || a.title.localeCompare(b.title));
99
+
100
+ export const docsBySlug = docs.reduce<Record<string, DocEntry>>((acc, doc) => {
101
+ acc[doc.slug] = doc;
102
+ return acc;
103
+ }, {});
104
+
105
+ export const docSections = docs.reduce<Record<string, DocEntry[]>>((acc, doc) => {
106
+ if (!acc[doc.section]) {
107
+ acc[doc.section] = [];
108
+ }
109
+ acc[doc.section].push(doc);
110
+ return acc;
111
+ }, {});
@@ -0,0 +1,10 @@
1
+ # MdWrk Markdown Copy Agent Instructions
2
+
3
+ Markdown content here is an SEO, AEO, and AI answer-engine copy surface. Treat frontmatter, body copy, route intent, sitemap registration, and generated output as one discoverability contract.
4
+
5
+ - Use the `content_seo_specialist` custom agent for delegated markdown copywriting work in this subtree.
6
+ - Write for retrieval and direct answers: clear titles, concise descriptions, strong openings, question-led headings where appropriate, and grounded FAQ/comparison/supporting copy.
7
+ - Keep frontmatter metadata specific to the page. Title, description, excerpt, image, tags, canonical route intent, and any schema-facing fields must match the body.
8
+ - Prefer present-tense, current-state product guidance with concrete terminology from the live MdWrk surfaces. Do not pad pages with generic marketing filler.
9
+ - When pages are added, moved, renamed, or removed, update content indexes, sitemap sources, and any generated discovery artifacts that depend on them.
10
+ - Keep claims honest and attributable to the real product surface, package surface, or documented workflow described on the page.
@@ -0,0 +1,97 @@
1
+ ---
2
+ title: Build with the Same MdWrk Editor and Renderer the Client Ships
3
+ date: 2026-03-23
4
+ status: published
5
+ author: CobyCloud
6
+ excerpt: MdWrk packages its editor and renderer as reusable modules, giving product teams a direct path to embed the same authoring and preview surfaces the client uses every day.
7
+ ---
8
+
9
+ ## Why this matters
10
+
11
+ Reusable packages give teams a clear path to:
12
+
13
+ - ship MdWrk-powered editing inside internal tools
14
+ - reuse the same renderer in docs, apps, and examples
15
+ - keep extension work aligned with stable public package contracts
16
+ - move from first integration to broader adoption with a package set that already fits the live client
17
+
18
+ ## What you can install today
19
+
20
+ The public package family starts here:
21
+
22
+ ```bash
23
+ npm install @mdwrk/mdwrkspace @mdwrk/markdown-editor-react @mdwrk/markdown-renderer-react
24
+ ```
25
+
26
+ These docs carry the current usage details:
27
+
28
+ - [Client installation](/docs/getting-started/installation)
29
+ - [Standalone modules](/docs/getting-started/standalone-modules)
30
+ - [Local setup](/docs/getting-started/local-setup)
31
+
32
+ ## React example
33
+
34
+ ```tsx
35
+ import { MarkdownEditor } from '@mdwrk/markdown-editor-react';
36
+ import { MarkdownViewer } from '@mdwrk/markdown-renderer-react';
37
+ import { useState } from 'react';
38
+
39
+ export function MdWrkDemo() {
40
+ const [value, setValue] = useState('# Release Notes\n\nMdWrk packages travel well.');
41
+
42
+ return (
43
+ <div style={{ display: 'grid', gap: '1rem', gridTemplateColumns: '1fr 1fr' }}>
44
+ <MarkdownEditor value={value} onChange={setValue} />
45
+ <MarkdownViewer content={value} />
46
+ </div>
47
+ );
48
+ }
49
+ ```
50
+
51
+ ## Screenshot
52
+
53
+ ![MdWrk editor and preview running side by side](/blog/media/mdwrk-workspace-split.png)
54
+
55
+ This split-view surface shows the kind of install target product teams get when they adopt the package family directly.
56
+
57
+ ## Repository history that shapes the package surface
58
+
59
+ The package move sits inside a broader history arc:
60
+
61
+ - [Standalone modules](/docs/getting-started/standalone-modules)
62
+ - [Extension platform](/docs/extensions/extension-platform)
63
+ - [Repository history for package alignment](https://github.com/groupsum/markdown_workspace/commits/master/?since=2026-03-23T00:00:00Z&until=2026-03-24T00:00:00Z)
64
+
65
+ ## Who should use this package family
66
+
67
+ This package family fits:
68
+
69
+ - React application teams that want a markdown editor and renderer with a shared visual contract
70
+ - platform teams building governed docs or knowledge surfaces
71
+ - extension teams that want their work to sit close to the live MdWrk runtime
72
+
73
+ MdWrk turns package reuse into a practical adoption path, and this post marks the point where that path becomes easier to install, easier to use, and easier to extend.
74
+
75
+ ## Article Guide
76
+
77
+ 2026-03-23 marks this MdWrk product story: MdWrk packages its editor and renderer as reusable modules, giving product teams a direct path to embed the same authoring and preview surfaces the client uses every day.
78
+
79
+ This article is useful for readers tracking:
80
+
81
+ - how MdWrk changes affect daily Markdown writing
82
+ - which client, package, or extension surface the change touches
83
+ - where to continue in the product documentation after reading
84
+
85
+ Useful follow-up pages:
86
+
87
+ - [Local-First Markdown Workspace](/features/local-first-markdown-workspace)
88
+ - [Markdown Preview Editor](/features/markdown-preview-editor)
89
+ - [Editor Basics](/features/editor-basics)
90
+
91
+ MdWrk now ships a reusable package stack that product teams can install directly, wire into React, and extend through the same public surfaces that power the client.
92
+
93
+ This milestone is grounded in the March 23, 2026 packaging and naming run:
94
+
95
+ - [feat(v0.2.0) init](https://github.com/groupsum/markdown_workspace/commit/ed7f04a3)
96
+ - [standardize package authors](https://github.com/groupsum/markdown_workspace/commit/5b3eba78)
97
+ - [migrate npm org and package references to @mdwrk](https://github.com/groupsum/markdown_workspace/commit/9da57335)
@@ -0,0 +1,65 @@
1
+ ---
2
+ title: Desktop Release Automation and Android Verification Sharpen MdWrk Cross-Platform Delivery
3
+ date: 2026-04-14
4
+ status: published
5
+ author: CobyCloud
6
+ excerpt: MdWrk refines desktop release automation, version-tag generation, and Android artifact verification, giving release teams a stronger cross-platform shipment story.
7
+ ---
8
+
9
+ ## Why this matters
10
+
11
+ This milestone gives teams a stronger answer to:
12
+
13
+ - how desktop builds move into release
14
+ - how Android artifacts are verified
15
+ - how version tags stay aligned with package state
16
+
17
+ ## Commands that support the release path
18
+
19
+ ```bash
20
+ npm run build:desktop:win
21
+ npm run ci:desktop:build
22
+ npm run ci:desktop:release
23
+ ```
24
+
25
+ ## Screenshot
26
+
27
+ ![MdWrk settings and configuration surface that supports packaged client delivery](/blog/media/settings-github-configurations.jpg)
28
+
29
+ ## Repo history links
30
+
31
+ - [April 14 repository history](https://github.com/groupsum/markdown_workspace/commits/master/?since=2026-04-14T00:00:00Z&until=2026-04-15T00:00:00Z)
32
+ - [Local setup docs](/docs/getting-started/local-setup)
33
+
34
+ This is the point where MdWrk starts communicating a stronger release operations story alongside its authoring story.
35
+
36
+ ## Article Guide
37
+
38
+ 2026-04-14 marks this MdWrk product story: MdWrk refines desktop release automation, version-tag generation, and Android artifact verification, giving release teams a stronger cross-platform shipment story.
39
+
40
+ This article is useful for readers tracking:
41
+
42
+ - how MdWrk changes affect daily Markdown writing
43
+ - which client, package, or extension surface the change touches
44
+ - where to continue in the product documentation after reading
45
+
46
+ Useful follow-up pages:
47
+
48
+ - [Local-First Markdown Workspace](/features/local-first-markdown-workspace)
49
+ - [GitHub Sync](/docs/github-sync)
50
+ - [Local Setup](/docs/getting-started/local-setup)
51
+
52
+ April 14, 2026 marks one of the clearest release-engineering milestones in the repository history.
53
+
54
+ The day includes:
55
+
56
+ - [Auto-generate desktop release tag from package version](https://github.com/groupsum/markdown_workspace/commit/b94c4b46)
57
+ - [Narrow desktop release workflow to installable artifacts](https://github.com/groupsum/markdown_workspace/commit/177c25aa)
58
+ - [Fix release artifacts to include APK and exclude elevate.exe](https://github.com/groupsum/markdown_workspace/commit/edfe9135)
59
+ - [Fix Android APK CI verification for unsigned artifacts](https://github.com/groupsum/markdown_workspace/commit/dd84df6e)
60
+
61
+ It also lines up with published tags:
62
+
63
+ - `v0.2.34`
64
+ - `v0.2.35`
65
+ - `v0.2.38`
@@ -0,0 +1,70 @@
1
+ ---
2
+ title: Explore the MdWrk Client, Packages, and Extensions Through a Sharper Docs Experience
3
+ date: 2026-04-30
4
+ status: published
5
+ author: CobyCloud
6
+ excerpt: The MdWrk site now presents a clearer path into the client, package family, and extension platform, with stronger navigation, sharper titles, and more direct routes into installation and usage.
7
+ ---
8
+
9
+ ## What readers get from the new docs surface
10
+
11
+ The public docs now guide readers into:
12
+
13
+ - installation choices
14
+ - reusable module adoption
15
+ - extension platform details
16
+ - authoring flows for themes, language packs, and extensions
17
+ - repository updates that explain how the platform grows
18
+
19
+ ## Docs that carry the current state
20
+
21
+ - [Installation](/docs/getting-started/installation)
22
+ - [Local setup](/docs/getting-started/local-setup)
23
+ - [Standalone modules](/docs/getting-started/standalone-modules)
24
+ - [Extension platform](/docs/extensions/extension-platform)
25
+
26
+ ## Screenshot
27
+
28
+ ![MdWrk docs view with the modernized navigation and content layout](/blog/media/lander-docs-dark.png)
29
+
30
+ ## What this update improves
31
+
32
+ The site now gives readers:
33
+
34
+ - user-facing titles that communicate product value immediately
35
+ - technical detail that supports installation and implementation
36
+ - direct links between installation, usage, authoring, and package surfaces
37
+ - repository links that show the implementation timeline behind each update
38
+
39
+ ## Use this route in MdWrk
40
+
41
+ 1. Start with [installation](/docs/getting-started/installation).
42
+ 2. Move into [standalone modules](/docs/getting-started/standalone-modules) when package reuse is the main goal.
43
+ 3. Follow [extension platform](/docs/extensions/extension-platform) for the host and runtime surface.
44
+ 4. Read the [April 30 repository history](https://github.com/groupsum/markdown_workspace/commits/master/?since=2026-04-30T00:00:00Z&until=2026-05-01T00:00:00Z) for the concrete docs and brand refinements.
45
+
46
+ MdWrk now gives readers a faster path from the landing page to installation, package usage, and extension workflows.
47
+
48
+ ## Article Guide
49
+
50
+ 2026-04-30 marks this MdWrk product story: The MdWrk site now presents a clearer path into the client, package family, and extension platform, with stronger navigation, sharper titles, and more direct routes into installation and usage.
51
+
52
+ This article is useful for readers tracking:
53
+
54
+ - how MdWrk changes affect daily Markdown writing
55
+ - which client, package, or extension surface the change touches
56
+ - where to continue in the product documentation after reading
57
+
58
+ Useful follow-up pages:
59
+
60
+ - [Local-First Markdown Workspace](/features/local-first-markdown-workspace)
61
+ - [Extension Platform](/docs/extensions/extension-platform)
62
+ - [Theme Packs](/features/theme-packs)
63
+
64
+ April 30, 2026 sharpens the MdWrk site for the client, the reusable packages, and the extension platform.
65
+
66
+ This refresh lines up with:
67
+
68
+ - [Refine lander docs metadata and blog ordering](https://github.com/groupsum/markdown_workspace/commit/56bf195f)
69
+ - [Shorten menu labels and refresh lander branding](https://github.com/groupsum/markdown_workspace/commit/469ea94a)
70
+ - [Refine lander markdown contrast and theme defaults](https://github.com/groupsum/markdown_workspace/commit/d612d2c6)
@@ -0,0 +1,59 @@
1
+ ---
2
+ title: Extension Compatibility Gates Turn MdWrk Publishing into a Clear Quality Signal
3
+ date: 2026-04-01
4
+ status: published
5
+ author: CobyCloud
6
+ excerpt: MdWrk sharpens extension compatibility checks, persistence flows, and publish gates, helping teams ship installable extensions with stronger confidence and cleaner runtime expectations.
7
+ ---
8
+
9
+ ## Why this matters for extension teams
10
+
11
+ A governed extension platform works best when it communicates:
12
+
13
+ - the host version it supports
14
+ - the tests that protect installation and runtime
15
+ - the UX where users manage extensions and settings
16
+
17
+ ## Example compatibility-focused workflow
18
+
19
+ ```bash
20
+ npm run test -w @mdwrk/extension-runtime
21
+ npm run test -w @mdwrk/extension-manager
22
+ npm run validate:compatibility
23
+ ```
24
+
25
+ ## Screenshot
26
+
27
+ ![MdWrk settings and extension-related configuration surfaces](/blog/media/mdwrk-settings-visual.png)
28
+
29
+ ## What to read next
30
+
31
+ - [Extension platform](/docs/extensions/extension-platform)
32
+ - [Extension authoring](/docs/authoring/extensions)
33
+ - [April 1 repository history](https://github.com/groupsum/markdown_workspace/commits/master/?since=2026-04-01T00:00:00Z&until=2026-04-02T00:00:00Z)
34
+
35
+ This post marks the point where MdWrk's extension system becomes easier to trust, easier to document, and easier to carry into release workflows.
36
+
37
+ ## Article Guide
38
+
39
+ 2026-04-01 marks this MdWrk product story: MdWrk sharpens extension compatibility checks, persistence flows, and publish gates, helping teams ship installable extensions with stronger confidence and cleaner runtime expectations.
40
+
41
+ This article is useful for readers tracking:
42
+
43
+ - how MdWrk changes affect daily Markdown writing
44
+ - which client, package, or extension surface the change touches
45
+ - where to continue in the product documentation after reading
46
+
47
+ Useful follow-up pages:
48
+
49
+ - [Local-First Markdown Workspace](/features/local-first-markdown-workspace)
50
+ - [Editor Basics](/features/editor-basics)
51
+ - [Extension Platform](/docs/extensions/extension-platform)
52
+
53
+ April 1, 2026 tightens the extension delivery story with compatibility gates, version alignment, and publish-focused verification.
54
+
55
+ The milestone sits on these commits:
56
+
57
+ - [Enforce test gate before package publish](https://github.com/groupsum/markdown_workspace/commit/9c3e88c5)
58
+ - [Fix extension compatibility checks and editor overflow defaults](https://github.com/groupsum/markdown_workspace/commit/8f2cc526)
59
+ - [Update extension modals, persistence, and workspace version matrix](https://github.com/groupsum/markdown_workspace/commit/a4aaec70)
@@ -0,0 +1,92 @@
1
+ ---
2
+ title: Launch Extensions on the Same Governed Host the MdWrk Client Uses
3
+ date: 2026-04-26
4
+ status: published
5
+ author: CobyCloud
6
+ excerpt: The MdWrk client now presents a governed extension platform with manifest, runtime, manager, theme, language, and workspace surfaces that teams can adopt with a clear authoring path.
7
+ ---
8
+
9
+ ## What extension authors get
10
+
11
+ MdWrk's extension platform includes:
12
+
13
+ - `@mdwrk/extension-manifest` for declarative metadata
14
+ - `@mdwrk/extension-host` for host-safe APIs
15
+ - `@mdwrk/extension-runtime` for activation and lifecycle
16
+ - `@mdwrk/extension-manager` for installation and management UX
17
+ - first-party surfaces for theme authoring, language packs, Git operations, and workspace files
18
+
19
+ ## Installation and authoring references
20
+
21
+ These docs carry the current usage details:
22
+
23
+ - [Extension platform](/docs/extensions/extension-platform)
24
+ - [Extension authoring overview](/docs/authoring/overview)
25
+ - [Extension authoring guide](/docs/authoring/extensions)
26
+
27
+ ## Package-first install example
28
+
29
+ ```bash
30
+ npm install @mdwrk/extension-runtime @mdwrk/extension-host @mdwrk/extension-manifest
31
+ ```
32
+
33
+ ## Manifest example
34
+
35
+ ```json
36
+ {
37
+ "id": "acme.release-notes-tools",
38
+ "name": "Release Notes Tools",
39
+ "version": "1.0.0",
40
+ "publisher": "Acme",
41
+ "engines": {
42
+ "mdwrk": "^1.4.0"
43
+ }
44
+ }
45
+ ```
46
+
47
+ ## Screenshot
48
+
49
+ ![MdWrk extension manager pane inside the client workspace](/blog/media/extension-manager-pane.jpg)
50
+
51
+ This pane shows how MdWrk brings extension discovery and runtime management into the same workspace experience that writers and operators already use.
52
+
53
+ ## Why this rollout matters
54
+
55
+ Extension teams want a host that communicates:
56
+
57
+ - where extensions register
58
+ - how compatibility is checked
59
+ - where settings and commands appear
60
+ - how first-party and third-party surfaces fit together
61
+
62
+ MdWrk now expresses that story clearly in product terms and package terms at the same time.
63
+
64
+ ## Follow the repo history
65
+
66
+ - [Extension platform docs](/docs/extensions/extension-platform)
67
+ - [Authoring overview](/docs/authoring/overview)
68
+ - [April 26 repository history](https://github.com/groupsum/markdown_workspace/commits/master/?since=2026-04-26T00:00:00Z&until=2026-04-27T00:00:00Z)
69
+
70
+ ## Article Guide
71
+
72
+ 2026-04-26 marks this MdWrk product story: The MdWrk client now presents a governed extension platform with manifest, runtime, manager, theme, language, and workspace surfaces that teams can adopt with a clear authoring path.
73
+
74
+ This article is useful for readers tracking:
75
+
76
+ - how MdWrk changes affect daily Markdown writing
77
+ - which client, package, or extension surface the change touches
78
+ - where to continue in the product documentation after reading
79
+
80
+ Useful follow-up pages:
81
+
82
+ - [Local-First Markdown Workspace](/features/local-first-markdown-workspace)
83
+ - [Extension Platform](/docs/extensions/extension-platform)
84
+ - [Theme Packs](/features/theme-packs)
85
+
86
+ MdWrk now gives extension authors a first-class product surface with runtime APIs, compatibility rules, settings adapters, and installation flows that match the live client.
87
+
88
+ The April 26, 2026 extension milestone is anchored in these commits:
89
+
90
+ - [Implement continuous extension experiences](https://github.com/groupsum/markdown_workspace/commit/fe9a53bb)
91
+ - [Publish extension continuous experience release](https://github.com/groupsum/markdown_workspace/commit/b10b5332)
92
+ - [Add workspace module packages for files and git ops](https://github.com/groupsum/markdown_workspace/commit/d4efae4c)
@@ -0,0 +1,69 @@
1
+ ---
2
+ title: Governed Releases, CI Evidence, and Package Docs Give MdWrk a Stronger Public Shape
3
+ date: 2026-03-31
4
+ status: published
5
+ author: CobyCloud
6
+ excerpt: MdWrk expands its release and documentation surface with package evidence, governance checks, and public docs that help teams understand package scope, delivery, and verification commands.
7
+ ---
8
+
9
+ ## What this adds
10
+
11
+ This update brings together the details teams usually need first:
12
+
13
+ - How does the workspace verify package quality?
14
+ - Which docs stay current?
15
+ - Which commands carry release verification?
16
+
17
+ MdWrk now answers those questions through docs and executable CI rails.
18
+
19
+ ## Commands that express the release story
20
+
21
+ ```bash
22
+ npm run ci:workspace:verify
23
+ npm run conformance
24
+ ```
25
+
26
+ ## Docs to read next
27
+
28
+ - [Installation](/docs/getting-started/installation)
29
+ - [Local setup](/docs/getting-started/local-setup)
30
+ - [Extension platform](/docs/extensions/extension-platform)
31
+
32
+ ## Screenshot
33
+
34
+ ![MdWrk docs and product presentation aligned for package usage](/blog/media/lander-docs-dark.png)
35
+
36
+ ## Why this post matters
37
+
38
+ March 31 is where MdWrk gives teams a clearer view of:
39
+
40
+ - package verification
41
+ - release commands
42
+ - current docs
43
+ - package boundaries
44
+
45
+ It is a major point on the timeline because package usage, release checks, and public docs start moving together.
46
+
47
+ ## Article Guide
48
+
49
+ 2026-03-31 marks this MdWrk product story: MdWrk expands its release and documentation surface with package evidence, governance checks, and public docs that help teams understand package scope, delivery, and verification commands.
50
+
51
+ This article is useful for readers tracking:
52
+
53
+ - how MdWrk changes affect daily Markdown writing
54
+ - which client, package, or extension surface the change touches
55
+ - where to continue in the product documentation after reading
56
+
57
+ Useful follow-up pages:
58
+
59
+ - [Local-First Markdown Workspace](/features/local-first-markdown-workspace)
60
+ - [Extension Platform](/docs/extensions/extension-platform)
61
+ - [GitHub Sync](/docs/github-sync)
62
+
63
+ March 31, 2026 brings together docs, governance, and release evidence in a way that gives MdWrk a clearer package and release surface.
64
+
65
+ This milestone is grounded in:
66
+
67
+ - [Add governance specs, CI checks, and documentation overhaul](https://github.com/groupsum/markdown_workspace/commit/3cb1ef10)
68
+ - [Add markdown profile claim gate, tests, and CI evidence](https://github.com/groupsum/markdown_workspace/commit/1e511548)
69
+ - [Align extension manifests and artifacts to 1.1.0](https://github.com/groupsum/markdown_workspace/commit/93ea12ef)
@@ -0,0 +1,75 @@
1
+ ---
2
+ title: Meet the Markdown Workspace That Turns Writing, Preview, and Themes into One Fast Flow
3
+ date: 2026-01-20
4
+ status: published
5
+ author: CobyCloud
6
+ excerpt: Markdown Workspace opens with live writing, preview, themed presentation, and early export foundations that give teams a compelling browser-first markdown workflow from day one.
7
+ ---
8
+
9
+ ## What launches
10
+
11
+ The launch surface already brings together:
12
+
13
+ - a markdown editor
14
+ - a live preview
15
+ - theme switching
16
+ - a workspace shell with clear product polish
17
+
18
+ ## How to try MdWrk today
19
+
20
+ The current entry routes live here:
21
+
22
+ - [Client installation](/docs/getting-started/installation)
23
+ - [Browser use](/docs/getting-started/browser-use)
24
+ - [PWA installation](/docs/getting-started/pwa-installation)
25
+
26
+ ## Screenshot
27
+
28
+ ![MdWrk home and writing surface at launch-stage theme richness](/blog/media/lander-home-light.png)
29
+
30
+ ## Example workflow
31
+
32
+ ```markdown
33
+ # Product Overview
34
+
35
+ MdWrk keeps writing and preview close together.
36
+
37
+ - themes communicate brand tone
38
+ - preview communicates final structure
39
+ - markdown keeps the source portable
40
+ ```
41
+
42
+ ## Why the launch resonates
43
+
44
+ Teams evaluating markdown tools often look for:
45
+
46
+ - speed to first draft
47
+ - visual clarity
48
+ - easy theme variation
49
+ - a clean route to later packaging and deployment
50
+
51
+ MdWrk opens with all four, which gives the product a strong story from its first visible commits.
52
+
53
+ ## Article Guide
54
+
55
+ 2026-01-20 marks this MdWrk product story: Markdown Workspace opens with live writing, preview, themed presentation, and early export foundations that give teams a compelling browser-first markdown workflow from day one.
56
+
57
+ This article is useful for readers tracking:
58
+
59
+ - how MdWrk changes affect daily Markdown writing
60
+ - which client, package, or extension surface the change touches
61
+ - where to continue in the product documentation after reading
62
+
63
+ Useful follow-up pages:
64
+
65
+ - [Local-First Markdown Workspace](/features/local-first-markdown-workspace)
66
+ - [Markdown Preview Editor](/features/markdown-preview-editor)
67
+ - [Editor Basics](/features/editor-basics)
68
+
69
+ The January 20, 2026 launch introduces a writing workspace built for fast authoring, visual polish, and theme-aware reading.
70
+
71
+ This first day is visible in the earliest repo milestones:
72
+
73
+ - [Initial commit](https://github.com/groupsum/markdown_workspace/commit/3964e6bf)
74
+ - [Add acid etched theme skin](https://github.com/groupsum/markdown_workspace/commit/286faf28)
75
+ - [Add theme cycling controls](https://github.com/groupsum/markdown_workspace/commit/99457cd9)