@foldkit/markdown 0.1.1 → 0.2.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.
package/README.md CHANGED
@@ -15,7 +15,11 @@ pnpm add @foldkit/markdown
15
15
  Add the plugin to `vite.config.ts`:
16
16
 
17
17
  ```typescript
18
+ import { defineConfig } from 'vite'
19
+
18
20
  import { markdown } from '@foldkit/markdown/vite'
21
+ import { foldkit } from '@foldkit/vite-plugin'
22
+ import tailwindcss from '@tailwindcss/vite'
19
23
 
20
24
  export default defineConfig({
21
25
  plugins: [tailwindcss(), foldkit(), markdown()],
@@ -37,13 +41,17 @@ If you run tests with Vitest, add `markdown()` with the same options to the `plu
37
41
  ## Render a document
38
42
 
39
43
  ```typescript
44
+ import { Html, type HtmlBuilder } from 'foldkit/html'
45
+
40
46
  import * as Markdown from '@foldkit/markdown'
41
47
 
42
48
  import aboutRaw from './content/about.md'
49
+ import { type Message } from './message'
43
50
 
44
51
  const about = Markdown.decodeDocument(aboutRaw)
45
52
 
46
- const view = (model: Model): Html => h.div([], [Markdown.view(about)])
53
+ const view = (h: HtmlBuilder<Message>): Html =>
54
+ h.div([], [Markdown.view(about)])
47
55
  ```
48
56
 
49
57
  `Markdown.view` renders every node through unstyled semantic defaults. Restyle any node by overriding its view:
@@ -78,6 +86,9 @@ Islands can wrap _markdown_ too.
78
86
  Declare each island's attributes as a Schema struct, once, in a module both your Vite config and your views import:
79
87
 
80
88
  ```typescript
89
+ // src/islands.ts
90
+ import { Schema as S } from 'effect'
91
+
81
92
  export const islandAttributes = {
82
93
  Counter: S.Struct({ label: S.optionalKey(S.String) }),
83
94
  Note: S.Struct({ tone: S.optionalKey(S.String) }),
@@ -87,25 +98,48 @@ export const islandAttributes = {
87
98
  Pass the definitions to the plugin and every directive validates at build time. An unknown island name, an unknown attribute, or an attribute value outside its schema fails the build with the file and line:
88
99
 
89
100
  ```typescript
101
+ import { markdown } from '@foldkit/markdown/vite'
102
+
103
+ import { islandAttributes } from './src/islands'
104
+
90
105
  markdown({ islands: islandAttributes })
91
106
  ```
92
107
 
93
108
  `islandsFor` pairs the same definitions with typed views: attributes arrive decoded through each island's schema, and the record must cover every declared name. State stays in your Model; the markdown only decides placement. The third argument is the zero-based occurrence of that island name in the document, for identifiers that must be unique per instance, like an `h.submodel` slotId:
94
109
 
95
110
  ```typescript
96
- Markdown.view(post, {
97
- islands: Markdown.islandsFor(islandAttributes, {
98
- Counter: ({ label }, _content, occurrenceIndex) =>
99
- h.submodel({
100
- slotId: `counter-${occurrenceIndex}`,
101
- model: model.counter,
102
- view: Counter.view,
103
- toParentMessage: message => GotCounterMessage({ message }),
104
- }),
105
- Note: (_attributes, content) =>
106
- h.aside([h.Class('rounded border p-4')], content),
107
- }),
108
- })
111
+ import { Html, type HtmlBuilder } from 'foldkit/html'
112
+
113
+ import * as Markdown from '@foldkit/markdown'
114
+
115
+ import { Counter } from './counter'
116
+ import { islandAttributes } from './islands'
117
+ import { GotCounterMessage, type Message, type Model } from './message'
118
+
119
+ const postView = (
120
+ model: Model,
121
+ post: Markdown.MarkdownDocument,
122
+ h: HtmlBuilder<Message>,
123
+ ): Html =>
124
+ Markdown.view(post, {
125
+ islands: Markdown.islandsFor(islandAttributes, {
126
+ Counter: ({ label }, _content, occurrenceIndex) =>
127
+ h.div(
128
+ [],
129
+ [
130
+ h.span([], [label ?? 'Counter']),
131
+ h.submodel({
132
+ slotId: `counter-${occurrenceIndex}`,
133
+ model: model.counter,
134
+ view: Counter.view,
135
+ toParentMessage: message => GotCounterMessage({ message }),
136
+ }),
137
+ ],
138
+ ),
139
+ Note: (_attributes, content) =>
140
+ h.aside([h.Class('rounded border p-4')], content),
141
+ }),
142
+ })
109
143
  ```
110
144
 
111
145
  Attribute values are strings on the wire, so transforming field schemas decode past them: `S.NumberFromString` turns `::Chart{height="240"}` into `height: number`. A plain `islands` record of untyped views (`Readonly<Record<string, IslandView>>`) also works when you want to skip the schemas.
@@ -123,5 +157,7 @@ Anything outside the vocabulary fails the build with an error naming the constru
123
157
  ```typescript
124
158
  import { parseMarkdown } from '@foldkit/markdown/vite'
125
159
 
160
+ import { islandAttributes } from './islands'
161
+
126
162
  const document = parseMarkdown('# Title', { islands: islandAttributes })
127
163
  ```
package/dist/ast/ast.d.ts CHANGED
@@ -310,13 +310,13 @@ export type MarkdownDocumentEncoded = typeof MarkdownDocument.Encoded;
310
310
  * Decodes the default export of a compiled markdown module into a typed
311
311
  * {@link MarkdownDocument}. Throws on input outside the markdown vocabulary.
312
312
  */
313
- export declare const decodeDocument: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => S.Struct.ReadonlySide<{
314
- readonly blocks: S.$Array<S.Codec<Block, BlockEncoded, never, never>>;
315
- }, "Type">;
313
+ export declare const decodeDocument: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => {
314
+ readonly blocks: readonly Block[];
315
+ };
316
316
  /** Encodes a {@link MarkdownDocument} into its JSON-safe wire form. */
317
- export declare const encodeDocument: (input: S.Struct.ReadonlySide<{
318
- readonly blocks: S.$Array<S.Codec<Block, BlockEncoded, never, never>>;
319
- }, "Type">, options?: import("effect/SchemaAST").ParseOptions) => S.Struct.ReadonlySide<{
320
- readonly blocks: S.$Array<S.Codec<Block, BlockEncoded, never, never>>;
321
- }, "Encoded">;
317
+ export declare const encodeDocument: (input: {
318
+ readonly blocks: readonly Block[];
319
+ }, options?: import("effect/SchemaAST").ParseOptions) => {
320
+ readonly blocks: readonly BlockEncoded[];
321
+ };
322
322
  //# sourceMappingURL=ast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/ast/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/ast/ast.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,7 @@ export type ViewConfig = Readonly<{
59
59
  * const blogViews: Markdown.Views = {
60
60
  * ...Markdown.defaultViews,
61
61
  * Paragraph: (paragraph, content) =>
62
- * h.p([h.Class('leading-relaxed text-stone-700')], content),
62
+ * ih.p([ih.Class('leading-relaxed text-stone-700')], content),
63
63
  * }
64
64
  * ```
65
65
  */
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/view/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/view/view.ts"],"names":[],"mappings":"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"}
package/dist/view/view.js CHANGED
@@ -1,15 +1,14 @@
1
1
  import { Array, Match as M, Option, Record as Record_, Schema as S, } from 'effect';
2
- import { html } from 'foldkit/html';
3
- const h = html();
2
+ import { inertHtml as ih } from 'foldkit/html';
4
3
  const titleAttribute = (maybeTitle) => Option.match(maybeTitle, {
5
4
  onNone: () => [],
6
- onSome: title => [h.Title(title)],
5
+ onSome: title => [ih.Title(title)],
7
6
  });
8
7
  const startAttribute = (maybeStartNumber) => Option.match(maybeStartNumber, {
9
8
  onNone: () => [],
10
- onSome: startNumber => [h.Start(startNumber)],
9
+ onSome: startNumber => [ih.Start(startNumber)],
11
10
  });
12
- const alignmentAttribute = (alignment) => M.value(alignment).pipe(M.when('None', () => []), M.when('Left', () => [h.Style({ 'text-align': 'left' })]), M.when('Center', () => [h.Style({ 'text-align': 'center' })]), M.when('Right', () => [h.Style({ 'text-align': 'right' })]), M.exhaustive);
11
+ const alignmentAttribute = (alignment) => M.value(alignment).pipe(M.when('None', () => []), M.when('Left', () => [ih.Style({ 'text-align': 'left' })]), M.when('Center', () => [ih.Style({ 'text-align': 'center' })]), M.when('Right', () => [ih.Style({ 'text-align': 'right' })]), M.exhaustive);
13
12
  /**
14
13
  * Unstyled semantic defaults for every markdown node. Spread these into your
15
14
  * own record and replace the nodes you want to restyle:
@@ -19,7 +18,7 @@ const alignmentAttribute = (alignment) => M.value(alignment).pipe(M.when('None',
19
18
  * const blogViews: Markdown.Views = {
20
19
  * ...Markdown.defaultViews,
21
20
  * Paragraph: (paragraph, content) =>
22
- * h.p([h.Class('leading-relaxed text-stone-700')], content),
21
+ * ih.p([ih.Class('leading-relaxed text-stone-700')], content),
23
22
  * }
24
23
  * ```
25
24
  */
@@ -30,35 +29,35 @@ const alignmentAttribute = (alignment) => M.value(alignment).pipe(M.when('None',
30
29
  // whole document belongs on the consumer's key around the rendered output.
31
30
  export const defaultViews = {
32
31
  Text: ({ value }) => value,
33
- InlineCode: ({ value }) => h.code([], [value]),
34
- HardBreak: () => h.br([]),
35
- Emphasis: (_emphasis, content) => h.em([], content),
36
- Strong: (_strong, content) => h.strong([], content),
37
- Strikethrough: (_strikethrough, content) => h.del([], content),
38
- Link: ({ url, maybeTitle }, content) => h.a([h.Href(url), ...titleAttribute(maybeTitle)], content),
39
- Image: ({ url, alt, maybeTitle }) => h.img([h.Src(url), h.Alt(alt), ...titleAttribute(maybeTitle)]),
40
- Heading: ({ level }, content) => M.value(level).pipe(M.withReturnType(), M.when(1, () => h.h1([], content)), M.when(2, () => h.h2([], content)), M.when(3, () => h.h3([], content)), M.when(4, () => h.h4([], content)), M.when(5, () => h.h5([], content)), M.when(6, () => h.h6([], content)), M.exhaustive),
41
- Paragraph: (_paragraph, content) => h.p([], content),
42
- CodeBlock: ({ value }) => h.pre([], [h.code([], [value])]),
32
+ InlineCode: ({ value }) => ih.code([], [value]),
33
+ HardBreak: () => ih.br([]),
34
+ Emphasis: (_emphasis, content) => ih.em([], content),
35
+ Strong: (_strong, content) => ih.strong([], content),
36
+ Strikethrough: (_strikethrough, content) => ih.del([], content),
37
+ Link: ({ url, maybeTitle }, content) => ih.a([ih.Href(url), ...titleAttribute(maybeTitle)], content),
38
+ Image: ({ url, alt, maybeTitle }) => ih.img([ih.Src(url), ih.Alt(alt), ...titleAttribute(maybeTitle)]),
39
+ Heading: ({ level }, content) => M.value(level).pipe(M.withReturnType(), M.when(1, () => ih.h1([], content)), M.when(2, () => ih.h2([], content)), M.when(3, () => ih.h3([], content)), M.when(4, () => ih.h4([], content)), M.when(5, () => ih.h5([], content)), M.when(6, () => ih.h6([], content)), M.exhaustive),
40
+ Paragraph: (_paragraph, content) => ih.p([], content),
41
+ CodeBlock: ({ value }) => ih.pre([], [ih.code([], [value])]),
43
42
  List: ({ isOrdered, maybeStartNumber }, items) => {
44
43
  if (isOrdered) {
45
- return h.ol(startAttribute(maybeStartNumber), items);
44
+ return ih.ol(startAttribute(maybeStartNumber), items);
46
45
  }
47
46
  else {
48
- return h.ul([], items);
47
+ return ih.ul([], items);
49
48
  }
50
49
  },
51
- ListItem: (_listItem, blocks) => h.li([], blocks),
52
- Blockquote: (_blockquote, blocks) => h.blockquote([], blocks),
53
- ThematicBreak: () => h.hr([]),
54
- Table: (_table, headerRow, bodyRows) => h.table([], [h.thead([], [headerRow]), h.tbody([], bodyRows)]),
55
- TableRow: (_tableRow, cells) => h.tr([], cells),
50
+ ListItem: (_listItem, blocks) => ih.li([], blocks),
51
+ Blockquote: (_blockquote, blocks) => ih.blockquote([], blocks),
52
+ ThematicBreak: () => ih.hr([]),
53
+ Table: (_table, headerRow, bodyRows) => ih.table([], [ih.thead([], [headerRow]), ih.tbody([], bodyRows)]),
54
+ TableRow: (_tableRow, cells) => ih.tr([], cells),
56
55
  TableCell: (_tableCell, content, alignment, isHeader) => {
57
56
  if (isHeader) {
58
- return h.th(alignmentAttribute(alignment), content);
57
+ return ih.th(alignmentAttribute(alignment), content);
59
58
  }
60
59
  else {
61
- return h.td(alignmentAttribute(alignment), content);
60
+ return ih.td(alignmentAttribute(alignment), content);
62
61
  }
63
62
  },
64
63
  };
@@ -161,4 +160,4 @@ export const viewBlocks = (document, config = {}) => {
161
160
  * {@link defaultViews} unless overridden in `config.views`, and every Island
162
161
  * directive renders through the matching entry in `config.islands`.
163
162
  */
164
- export const view = (document, config = {}) => h.div([], viewBlocks(document, config));
163
+ export const view = (document, config = {}) => ih.div([], viewBlocks(document, config));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foldkit/markdown",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Write markdown files, get Foldkit views with live islands.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,7 +25,7 @@
25
25
  "content.d.ts"
26
26
  ],
27
27
  "peerDependencies": {
28
- "effect": "4.0.0-beta.97",
28
+ "effect": "4.0.0-beta.102",
29
29
  "foldkit": "^0",
30
30
  "vite": "^7.0.0 || ^8.0.0"
31
31
  },
@@ -39,14 +39,14 @@
39
39
  "devDependencies": {
40
40
  "@types/mdast": "^4.0.4",
41
41
  "@types/unist": "^3.0.3",
42
- "effect": "4.0.0-beta.97",
42
+ "effect": "4.0.0-beta.102",
43
43
  "happy-dom": "^20.10.4",
44
44
  "mdast-util-directive": "^3.1.0",
45
45
  "rimraf": "^6.1.3",
46
46
  "typescript": "^6.0.3",
47
47
  "vite": "^8.0.16",
48
48
  "vitest": "^4.1.9",
49
- "foldkit": "0.130.0"
49
+ "foldkit": "0.134.0"
50
50
  },
51
51
  "keywords": [
52
52
  "foldkit",