Skip to content

Commit

Permalink
@astrojs/markdoc (#6209)
Browse files Browse the repository at this point in the history
* chore: integration setup

* feat: get markdoc contents

* wip: expose Markdoc from integration

* feat: basic Astro renderer in with-markdoc

* fix: component render bug

* deps: stringify-attributes

* fix: render attributes to html

* wip: play with separate markdoc config

* wip: get dream API for file loader working

* chore: unit tests

* deps: graymatter

* feat: addContentEntryType integration hook

* deps: move to @astrojs/markdoc

* feat: move Renderer to markdoc, get Content component!

* wip: scaffold content types

* deps: mdx

* wip: move mdx to collection type API

* refactor: move plain md to content entry type

* refactor: pass file contents

* oops, forgot to commit untracked

* fix: markdoc.config loading

* refactor: remove fallback loader

* chore: remove unused dream file

* deps: devalue, test fixture

* test: entry and collections parse

* play: make sure md also works

* deps: add shiki for Code comp error

* fix: remove "components" from tsconfig

* chore: ignore `.astro` type error

* fix: avoid import if no config present (prod build error)

* fix: stop bundling markdoc for isTag

* test: prod builds

* test: content component dev and build

* chore: Markdoc working! log

* fix: ContentEntryType import

* chore: remove content-types. Too early!

* chore: remove unused options object

* play: add docs example with Aside and Since ported

* chore: with-markdoc strictNullChecks

* chore: unused file

* feat: allow Render type injection

* feat: content prop types for markdoc!

* chore: clean up Markdoc starter to essentials

* chore: unused style tag

* chore: remove unused deps

* fix: glob for single content extension

* chore: remove unused fixture dep

* chore: remove markdoc.config loader

* docs: update example README

* docs: @astrojs/markdoc README intro

* fix: line endings in test

* docs: add usage and examples to Markdoc README

* docs: change with-markdoc title

* docs: README edits

* refactor: clean up astroNode

* nit: reorder type import

* docs: add note on Aside src

* chore: changeset

* nit: 0.0.0 to avoid version bump

* fix: lock

* refactor: remove unneeded async

* fix: import types from @astrojs/markdoc

* fix: type inferencing in preview

* fix: remove unneeded html-escaper

* deps: remove html-escaper

* feat: support `.md` overrides for content collections

* chore: mdoc -> md

* feat: generate `.md` types override

* Revert "feat: support `.md` overrides for content collections"

This reverts commit c06f83e.

* Squashed commit of `markdoc-poc`

commit bd0dd9d
Author: bholmesdev <[email protected]>
Date:   Wed Feb 15 09:43:04 2023 -0500

    Revert "feat: support `.md` overrides for content collections"

    This reverts commit c06f83e.

commit 5b9a1f3
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 13:48:56 2023 -0500

    feat: generate `.md` types override

commit e464ae8
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 12:56:11 2023 -0500

    chore: mdoc -> md

commit b74fd6a
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 12:56:01 2023 -0500

    feat: support `.md` overrides for content collections

commit bdcc18a
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 12:30:48 2023 -0500

    deps: remove html-escaper

commit f44b57f
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 12:30:42 2023 -0500

    fix: remove unneeded html-escaper

commit fb79194
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 12:08:04 2023 -0500

    fix: type inferencing in preview

commit 0c05034
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 11:32:19 2023 -0500

    fix: import types from @astrojs/markdoc

commit 57e741a
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 11:28:33 2023 -0500

    refactor: remove unneeded async

commit b19d854
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 10:26:20 2023 -0500

    fix: lock

commit b1083a1
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 10:19:50 2023 -0500

    nit: 0.0.0 to avoid version bump

commit 71891eb
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 09:33:27 2023 -0500

    chore: changeset

commit 444752a
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 09:30:10 2023 -0500

    docs: add note on Aside src

commit 619d4b3
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 09:25:56 2023 -0500

    nit: reorder type import

commit e914da0
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 09:25:38 2023 -0500

    refactor: clean up astroNode

commit 2dfc226
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 09:08:56 2023 -0500

    docs: README edits

commit 3c7b85c
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 09:07:29 2023 -0500

    docs: change with-markdoc title

commit 29cdea9
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 18:29:10 2023 -0500

    docs: add usage and examples to Markdoc README

commit e397a80
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 18:18:54 2023 -0500

    fix: line endings in test

commit f9ebf59
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 18:09:15 2023 -0500

    docs: @astrojs/markdoc README intro

commit 7800e9c
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 18:08:07 2023 -0500

    docs: update example README

commit f0b900a
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 18:04:34 2023 -0500

    chore: remove markdoc.config loader

commit 3f040e4
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 17:58:52 2023 -0500

    chore: remove unused fixture dep

commit b2ea6c2
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 17:58:25 2023 -0500

    fix: glob for single content extension

commit f4e171c
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 15:10:39 2023 -0500

    chore: remove unused deps

commit d9095d0
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 15:10:31 2023 -0500

    chore: unused style tag

commit a5435f1
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 15:08:52 2023 -0500

    chore: clean up Markdoc starter to essentials

commit 815e2f2
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 14:13:02 2023 -0500

    feat: content prop types for markdoc!

commit 8bcd23c
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 14:05:40 2023 -0500

    feat: allow Render type injection

commit cdb7e9e
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 14:04:37 2023 -0500

    chore: unused file

commit 0df33ea
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 14:04:31 2023 -0500

    chore: with-markdoc strictNullChecks

commit 377c6d7
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 17:39:35 2023 -0500

    play: add docs example with Aside and Since ported

commit f9f8112
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:22:47 2023 -0500

    chore: remove unused options object

commit c9a66bf
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:18:27 2023 -0500

    chore: remove content-types. Too early!

commit 67f49e8
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:18:20 2023 -0500

    fix: ContentEntryType import

commit 9b93d81
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:10:06 2023 -0500

    chore: Markdoc working! log

commit 90f7764
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:09:58 2023 -0500

    test: content component dev and build

commit 14559f6
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:01:10 2023 -0500

    test: prod builds

commit a0dcbff
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:01:04 2023 -0500

    fix: stop bundling markdoc for isTag

commit cb19048
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:00:53 2023 -0500

    fix: avoid import if no config present (prod build error)

commit bda8295
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:00:33 2023 -0500

    chore: ignore `.astro` type error

commit 28a6d79
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:00:12 2023 -0500

    fix: remove "components" from tsconfig

commit 0297bb7
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:00:01 2023 -0500

    deps: add shiki for Code comp error

commit e4f141e
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 08:45:37 2023 -0500

    play: make sure md also works

commit dfdb35f
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 13:25:18 2023 -0500

    test: entry and collections parse

commit eaf4994
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 13:25:07 2023 -0500

    deps: devalue, test fixture

commit 3f71932
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 13:24:47 2023 -0500

    chore: remove unused dream file

commit b182686
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 12:29:32 2023 -0500

    refactor: remove fallback loader

commit 0540d70
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 12:26:21 2023 -0500

    fix: markdoc.config loading

commit 575dadf
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 12:16:18 2023 -0500

    oops, forgot to commit untracked

commit 9746a97
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 12:16:02 2023 -0500

    refactor: pass file contents

commit 534a658
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 12:13:38 2023 -0500

    refactor: move plain md to content entry type

commit 24df79b
Author: bholmesdev <[email protected]>
Date:   Wed Feb 8 15:51:44 2023 -0500

    wip: move mdx to collection type API

commit cc44e4f
Author: bholmesdev <[email protected]>
Date:   Wed Feb 8 15:50:52 2023 -0500

    deps: mdx

commit c30c1b3
Author: bholmesdev <[email protected]>
Date:   Wed Feb 8 10:10:39 2023 -0500

    wip: scaffold content types

commit 2487aed
Author: bholmesdev <[email protected]>
Date:   Wed Feb 8 09:53:35 2023 -0500

    feat: move Renderer to markdoc, get Content component!

commit 44faff9
Author: bholmesdev <[email protected]>
Date:   Wed Feb 8 09:53:06 2023 -0500

    deps: move to @astrojs/markdoc

commit bef2690
Author: bholmesdev <[email protected]>
Date:   Tue Feb 7 16:01:34 2023 -0500

    feat: addContentEntryType integration hook

commit 508568f
Author: bholmesdev <[email protected]>
Date:   Tue Feb 7 16:00:42 2023 -0500

    deps: graymatter

commit cb70602
Author: bholmesdev <[email protected]>
Date:   Tue Feb 7 14:00:27 2023 -0500

    chore: unit tests

commit 545246d
Author: bholmesdev <[email protected]>
Date:   Tue Feb 7 14:00:23 2023 -0500

    wip: get dream API for file loader working

commit 97664e0
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 18:09:23 2023 -0500

    wip: play with separate markdoc config

commit c5d8a33
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 17:04:22 2023 -0500

    fix: render attributes to html

commit 82e30a0
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 17:04:14 2023 -0500

    deps: stringify-attributes

commit b72ba61
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 16:33:27 2023 -0500

    fix: component render bug

commit 59f1e5c
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 16:11:15 2023 -0500

    feat: basic Astro renderer in with-markdoc

commit de15a72
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 16:11:01 2023 -0500

    wip: expose Markdoc from integration

commit 83bfe44
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 11:21:17 2023 -0500

    feat: get markdoc contents

commit 6f50068
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 11:13:57 2023 -0500

    chore: integration setup

* Squashed commit of `markdoc-poc`

commit bd0dd9d
Author: bholmesdev <[email protected]>
Date:   Wed Feb 15 09:43:04 2023 -0500

    Revert "feat: support `.md` overrides for content collections"

    This reverts commit c06f83e.

commit 5b9a1f3
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 13:48:56 2023 -0500

    feat: generate `.md` types override

commit e464ae8
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 12:56:11 2023 -0500

    chore: mdoc -> md

commit b74fd6a
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 12:56:01 2023 -0500

    feat: support `.md` overrides for content collections

commit bdcc18a
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 12:30:48 2023 -0500

    deps: remove html-escaper

commit f44b57f
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 12:30:42 2023 -0500

    fix: remove unneeded html-escaper

commit fb79194
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 12:08:04 2023 -0500

    fix: type inferencing in preview

commit 0c05034
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 11:32:19 2023 -0500

    fix: import types from @astrojs/markdoc

commit 57e741a
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 11:28:33 2023 -0500

    refactor: remove unneeded async

commit b19d854
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 10:26:20 2023 -0500

    fix: lock

commit b1083a1
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 10:19:50 2023 -0500

    nit: 0.0.0 to avoid version bump

commit 71891eb
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 09:33:27 2023 -0500

    chore: changeset

commit 444752a
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 09:30:10 2023 -0500

    docs: add note on Aside src

commit 619d4b3
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 09:25:56 2023 -0500

    nit: reorder type import

commit e914da0
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 09:25:38 2023 -0500

    refactor: clean up astroNode

commit 2dfc226
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 09:08:56 2023 -0500

    docs: README edits

commit 3c7b85c
Author: bholmesdev <[email protected]>
Date:   Tue Feb 14 09:07:29 2023 -0500

    docs: change with-markdoc title

commit 29cdea9
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 18:29:10 2023 -0500

    docs: add usage and examples to Markdoc README

commit e397a80
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 18:18:54 2023 -0500

    fix: line endings in test

commit f9ebf59
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 18:09:15 2023 -0500

    docs: @astrojs/markdoc README intro

commit 7800e9c
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 18:08:07 2023 -0500

    docs: update example README

commit f0b900a
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 18:04:34 2023 -0500

    chore: remove markdoc.config loader

commit 3f040e4
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 17:58:52 2023 -0500

    chore: remove unused fixture dep

commit b2ea6c2
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 17:58:25 2023 -0500

    fix: glob for single content extension

commit f4e171c
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 15:10:39 2023 -0500

    chore: remove unused deps

commit d9095d0
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 15:10:31 2023 -0500

    chore: unused style tag

commit a5435f1
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 15:08:52 2023 -0500

    chore: clean up Markdoc starter to essentials

commit 815e2f2
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 14:13:02 2023 -0500

    feat: content prop types for markdoc!

commit 8bcd23c
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 14:05:40 2023 -0500

    feat: allow Render type injection

commit cdb7e9e
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 14:04:37 2023 -0500

    chore: unused file

commit 0df33ea
Author: bholmesdev <[email protected]>
Date:   Mon Feb 13 14:04:31 2023 -0500

    chore: with-markdoc strictNullChecks

commit 377c6d7
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 17:39:35 2023 -0500

    play: add docs example with Aside and Since ported

commit f9f8112
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:22:47 2023 -0500

    chore: remove unused options object

commit c9a66bf
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:18:27 2023 -0500

    chore: remove content-types. Too early!

commit 67f49e8
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:18:20 2023 -0500

    fix: ContentEntryType import

commit 9b93d81
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:10:06 2023 -0500

    chore: Markdoc working! log

commit 90f7764
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:09:58 2023 -0500

    test: content component dev and build

commit 14559f6
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:01:10 2023 -0500

    test: prod builds

commit a0dcbff
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:01:04 2023 -0500

    fix: stop bundling markdoc for isTag

commit cb19048
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:00:53 2023 -0500

    fix: avoid import if no config present (prod build error)

commit bda8295
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:00:33 2023 -0500

    chore: ignore `.astro` type error

commit 28a6d79
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:00:12 2023 -0500

    fix: remove "components" from tsconfig

commit 0297bb7
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 09:00:01 2023 -0500

    deps: add shiki for Code comp error

commit e4f141e
Author: bholmesdev <[email protected]>
Date:   Fri Feb 10 08:45:37 2023 -0500

    play: make sure md also works

commit dfdb35f
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 13:25:18 2023 -0500

    test: entry and collections parse

commit eaf4994
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 13:25:07 2023 -0500

    deps: devalue, test fixture

commit 3f71932
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 13:24:47 2023 -0500

    chore: remove unused dream file

commit b182686
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 12:29:32 2023 -0500

    refactor: remove fallback loader

commit 0540d70
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 12:26:21 2023 -0500

    fix: markdoc.config loading

commit 575dadf
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 12:16:18 2023 -0500

    oops, forgot to commit untracked

commit 9746a97
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 12:16:02 2023 -0500

    refactor: pass file contents

commit 534a658
Author: bholmesdev <[email protected]>
Date:   Thu Feb 9 12:13:38 2023 -0500

    refactor: move plain md to content entry type

commit 24df79b
Author: bholmesdev <[email protected]>
Date:   Wed Feb 8 15:51:44 2023 -0500

    wip: move mdx to collection type API

commit cc44e4f
Author: bholmesdev <[email protected]>
Date:   Wed Feb 8 15:50:52 2023 -0500

    deps: mdx

commit c30c1b3
Author: bholmesdev <[email protected]>
Date:   Wed Feb 8 10:10:39 2023 -0500

    wip: scaffold content types

commit 2487aed
Author: bholmesdev <[email protected]>
Date:   Wed Feb 8 09:53:35 2023 -0500

    feat: move Renderer to markdoc, get Content component!

commit 44faff9
Author: bholmesdev <[email protected]>
Date:   Wed Feb 8 09:53:06 2023 -0500

    deps: move to @astrojs/markdoc

commit bef2690
Author: bholmesdev <[email protected]>
Date:   Tue Feb 7 16:01:34 2023 -0500

    feat: addContentEntryType integration hook

commit 508568f
Author: bholmesdev <[email protected]>
Date:   Tue Feb 7 16:00:42 2023 -0500

    deps: graymatter

commit cb70602
Author: bholmesdev <[email protected]>
Date:   Tue Feb 7 14:00:27 2023 -0500

    chore: unit tests

commit 545246d
Author: bholmesdev <[email protected]>
Date:   Tue Feb 7 14:00:23 2023 -0500

    wip: get dream API for file loader working

commit 97664e0
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 18:09:23 2023 -0500

    wip: play with separate markdoc config

commit c5d8a33
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 17:04:22 2023 -0500

    fix: render attributes to html

commit 82e30a0
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 17:04:14 2023 -0500

    deps: stringify-attributes

commit b72ba61
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 16:33:27 2023 -0500

    fix: component render bug

commit 59f1e5c
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 16:11:15 2023 -0500

    feat: basic Astro renderer in with-markdoc

commit de15a72
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 16:11:01 2023 -0500

    wip: expose Markdoc from integration

commit 83bfe44
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 11:21:17 2023 -0500

    feat: get markdoc contents

commit 6f50068
Author: bholmesdev <[email protected]>
Date:   Mon Feb 6 11:13:57 2023 -0500

    chore: integration setup

* feat: add `--perf` flag to skip md plugins

* wip: performance pkg with md fixture

* refactor: move rendering to util

* refactor: generate posts instead of commiting

* deps: npm-run-all

* chore: mdoc and mdx fixtures

* chore: remove generated files from git

* chore: lockfile

* chore: remove .astro types from remote

* refactor: --perf -> --internal-ci-perf

* chore: log ext and directory on write

* refactor: --perf -> env var

* feat: add perf benchmark check to mdx

* refactor: isPerfBenchmark

* chore: refine generated ignore

* feat: test simple and with-components cases

* chore: remove old --internal-ci reference

* refactor: ASTRO_CI_PERFORMANCE_RUN -> ASTRO_PERFORMANCE_BENCHMARK

* chore: remove accidental file

* feat: add react-component render benchmark

* chore: add `--format` flag to benchmark

* refactor: move markdoc transform to build time

* docs: only used in content collections

Co-authored-by: Sarah Rainsberger <[email protected]>

* chore: use Markdoc terms for transform

* refactor: remove Markdoc export

* refactor: remove advanced component API

* test: update fixture to match new config

* chore: with-markdoc filetree

* docs: add "exclusively" to README

* docs: query for -> query your collection

* docs: update config to new Markdoc options

* docs: astro-ui-frameworks -> astro-components

* edit: add client component instructions

* nit: add "today" to imply future support

* docs: add separate HTML and component examples

* fix: inconsistent tabs v spaces

* fix: indentation

* deps: zod

* chore: check components are capitalized names

* chore: raise error if no matching component found

* chore: hand `mjs` highlighting in error overlay

* chore: validate tags and nodes

* refactor: use MarkdocError on render errors

* fix: handle possible cache miss

* chore: use error hint

* test: update Markdoc node config test

* chore: clarify Markdoc config

* docs: reshuffle note

* chore: update to `nodes` rec

* docs: clarify Markdoc attributes

* docs: add editor integration

* chore: update example coding challenge

* chore: update DocsContent comments

* fix: cant find zod for some reason

* fix: potentially unreliable cache

* chore: remove revealSecret from ex

* wip: forward slash??

* fix: forward slash.

* chore: lint

* chore: ignore statements

* chore: clarify semi-private hooks

* docs: with-mdx -> with-markdoc

Co-authored-by: Sarah Rainsberger <[email protected]>

* nit: don't capitalize cc

Co-authored-by: Sarah Rainsberger <[email protected]>

* docs: :::

Co-authored-by: Sarah Rainsberger <[email protected]>

* nit: remove IFFE

* chore: remove accidental changelog

* nit: attempt pathToFileURL

* nit: tested if

* fix: smartypants should be avoided in benchmark!

* nit: remove `any`

* nit: extract component zod obj

* fix: move validateComponents to render comp

* nit: remove unused return

* nit: move shiki highlighter consts to outer scope

* nit: remove `any` from mdx

* refactor: add type defs for private integration hooks

* fix: type error in mdx defaults

* fix: broke extendMarkdownConfig, oops!

* Revert "nit: attempt pathToFileURL"

This reverts commit 45fac99.

* fix: only validate when components is defined

* fix: remove types from git

* fix: migrate mdoc perf benchmark to new config

* chore: delete more sneaky types

* docs: add usage to changeset

* docs: update config example in README

* docs: add manual rendering instructions

* Update examples/with-markdoc/README.md

Co-authored-by: Sarah Rainsberger <[email protected]>

* docs: reorder configuration options

* docs: "see the next section"

* chore: add numPosts as a benchmark flag

* chore: bump to minor changesets for MDX

* chore: update TODO docs links

* docs: update component key naming and node instr

* docs: redraft markdoc runtime config intro

* Squashed commit of the following:

commit fbab73c
Author: matthewp <[email protected]>
Date:   Tue Mar 7 16:38:11 2023 +0000

    [ci] format

commit a206106
Author: Matthew Phillips <[email protected]>
Date:   Tue Mar 7 11:35:54 2023 -0500

    Expose the ssr manifest (#6435)

    * Expose the ssr manifest

    * Add changeset

    * Add types for virtual mod

commit 2751584
Author: Princesseuh <[email protected]>
Date:   Tue Mar 7 15:14:15 2023 +0000

    [ci] format

commit 694918a
Author: Erika <[email protected]>
Date:   Tue Mar 7 16:12:21 2023 +0100

    Implement RFC "A core story for images" (#6344)

    * feat(assets): Add Vite plugin

    * feat(images): Set up Image component

    * fix(types): Attempt to fix type generation

    * Revert "fix(types): Attempt to fix type generation"

    This reverts commit 063aa27.

    * fix(image): Fix image types causing build to fail

    * feat(image): Implement client side part

    * feat(services): Allow arbitrary transforms parameters

    * fix(image): Fix paths and types

    * config(types): Update config types to provide completions for available services

    * feat(image): Add serving in dev

    * feat(image): Improve type error messages

    * refactor(image): Move sharp's parseParams to baseService

    * refactor(image): Skip work in dev for remote servies

    * feat(image): Add support for remote images

    * feat(image): Add squoosh service

    * chore: update export map

    * refactor(image): Abstract attributes handling by services

    * config(vercel): Remove test image service

    * feat(image): Support for relative images in Markdown (WIP)

    * feat(images): Add support for relative images in Markdown

    * feat(image): Update with RFC feedback

    * fix(image): Fix alt error on getImage

    * feat(image): Add support for assets validation through content collections

    * feat(image): Remove validateTransform

    * feat(image): Move to assets folder

    * fix(image): Fix package exports

    * feat(image): Add static imports references to virtual moduel

    * fix(image): Fix images from content collections not working when embedded

    * chore: lockfile

    * fix(markdown): Fix type

    * fix(images): Flag enhanced images behing an experimental flag

    * config(example): Update images example conifg

    * fix(image): Fix types

    * fix(image): Fix asset type for strict, allow arbritary input and output formats

    * chore: fix example check

    * feat(image): Emit assets for ESM imported images

    * Add initial core image tests (#6381)

    * feat(images): Make frontmatter extraction more generic than images for future

    * feat(image): Add support for building

    * fix(image): Fix types

    * fix(images): Fix compatibility with image integration

    * feat(images): Cuter generation stats

    * fix(images): Globals are unsafe, it turns out

    * fix(images): Only generate images if flag is enabled

    * fix(images): Only create `addStaticImage` in build

    * feat(images): Add SSR endpoint

    * fix(images): Only inject route in SSR

    * Add tests for SSR

    * Remove console.log

    * Updated lockfile

    * rename to satisfy the link gods

    * skip build tests for now

    * fix(images): Fix WASM files not being copied in dev

    * feat(images): Add quality presets

    * fix build tests running

    * Remove console.log

    * Add tests for getImage

    * Test local services

    * Test the content collections API

    * Add tests for quality

    * Skipping content collections test

    * feat(image): Add support for `~/assets` alias

    * test(image): Add tests for aliases in dev

    * Fix windows + content collections

    * test(image): Add tests for aliased images and images in Markdown

    * Fix markdown images being built

    * Should be posix join

    * Use the optimized image

    * fix test

    * Fixes windows smoke

    * fix(image): Nits

    * feat(images): Add automatic update for `env.d.ts` when experimental images are enabled

    * fix(images): Revert env.d.ts change if the user opted-out of the experimental image support

    * chore: remove bad image example project

    * feat(image): Rename `experimental.images` to `experimental.assets`

    * fix(images): Remove unused code in MDX integration

    * chore: Remove unrelated change

    * fix(images): Remove export from astro/components

    * Fix, esm import on Win

    * test(images): Add test for format

    * fix(images): Add `client-image.d.ts` to export map

    * chore: changeset

    * fix(images): Adjust with feedback, no more automatic refine, asset() -> image()

    * fix(images): Fix types

    * fix(images): Remove unnecessary spread

    * fix(images): Better types for parseUrl and transform

    * fix(images): Fix types

    * fix(images): Adjust from feedback

    * fix(images): Pass width and height through getHTMLAttributes even if they're not added by the uesr

    * fix(images): Recusirsively extract frontmatter assets

    * fix(images): Use a reduce instead

    * feat(images): Add support for data: URIs

    * chore: changeset

    * docs(images): Misc docs fixes

    * Update .changeset/gold-rocks-cry.md

    Co-authored-by: Chris Swithinbank <[email protected]>

    * Update .changeset/gold-rocks-cry.md

    Co-authored-by: Sarah Rainsberger <[email protected]>

    * Update packages/astro/src/@types/astro.ts

    Co-authored-by: Chris Swithinbank <[email protected]>

    * Update packages/astro/src/assets/services/service.ts

    Co-authored-by: Chris Swithinbank <[email protected]>

    * Update packages/astro/src/assets/services/service.ts

    Co-authored-by: Chris Swithinbank <[email protected]>

    * Update packages/astro/src/assets/services/service.ts

    Co-authored-by: Chris Swithinbank <[email protected]>

    * Update packages/astro/src/assets/types.ts

    Co-authored-by: Chris Swithinbank <[email protected]>

    * Update packages/astro/src/assets/types.ts

    Co-authored-by: Chris Swithinbank <[email protected]>

    ---------

    Co-authored-by: Matthew Phillips <[email protected]>
    Co-authored-by: Matthew Phillips <[email protected]>
    Co-authored-by: Chris Swithinbank <[email protected]>
    Co-authored-by: Sarah Rainsberger <[email protected]>

commit 377530a
Author: ematipico <[email protected]>
Date:   Tue Mar 7 13:43:21 2023 +0000

    [ci] format

commit fe88f89
Author: Emanuele Stoppa <[email protected]>
Date:   Tue Mar 7 13:41:24 2023 +0000

    chore: use directive `@ts-expect-error` instead of `@ts-ignore` (#6429)

commit e1858e6
Author: ematipico <[email protected]>
Date:   Tue Mar 7 06:57:52 2023 +0000

    [ci] format

commit 75921b3
Author: Emanuele Stoppa <[email protected]>
Date:   Tue Mar 7 06:55:41 2023 +0000

    feat(cli): add `--watch` to `astro check` command (#6356)

    * feat(cli): add `--watch` to `astro check` command

    * chore: refactor in a leaner way, logic not changed

    * chore: lint

    * chore: revert changes in sync command

    * chore: tweak server settings

    * test: add one test case

    * chore: increase timeout

    * test: predictable testing

    * chore: add changeset

    * chore: code suggestions

    * code suggestions

    * chore: use directly `chokidar`

    * chore: tweak code

    * fix: open documents first

    * chore: disable test

    * chore: code suggestions

    * chore: code suggestions

    * Apply suggestions from code review

    Co-authored-by: Erika <[email protected]>

    * code suggestions

    * chore: rebase

    ---------

    Co-authored-by: Erika <[email protected]>

commit 1291afc
Author: Bjorn Lu <[email protected]>
Date:   Tue Mar 7 14:50:34 2023 +0800

    Fix changeset run (#6442)

commit 00a0af7
Author: Bjorn Lu <[email protected]>
Date:   Tue Mar 7 10:52:47 2023 +0800

    Move benchmark package and update changeset config (#6433)

commit af05a4f
Author: Nate Moore <[email protected]>
Date:   Mon Mar 6 14:06:33 2023 -0600

    Update README.md (#6437)

    * Update README.md

    * Update README.md

commit 8ebf4b7
Author: Nate Moore <[email protected]>
Date:   Mon Mar 6 14:03:33 2023 -0600

    chore: update branding assets (#6436)

commit afbbc4d
Author: Erika <[email protected]>
Date:   Mon Mar 6 19:57:16 2023 +0100

    Update compilation target for Node 16 (#6213)

    * config(esbuild): Update esbuild target to node16

    * config(package): Update root package.json node engine

    * config(tsconfig): Update all the tsconfigs module and targets

    * chore: changeset

    * chore: remove unneeded file

commit 18acae3
Author: Sarah Rainsberger <[email protected]>
Date:   Mon Mar 6 14:36:40 2023 -0400

    [error docs] update link for client-side scripts (#6423)

commit 8b49d17
Author: ematipico <[email protected]>
Date:   Mon Mar 6 17:03:18 2023 +0000

    [ci] format

commit a4a74ab
Author: Emanuele Stoppa <[email protected]>
Date:   Mon Mar 6 16:58:56 2023 +0000

    feat(cli): add help flags to various commands (#6394)

    Co-authored-by: Happydev <[email protected]>

commit b087b83
Author: Dennis Morello <[email protected]>
Date:   Mon Mar 6 17:38:42 2023 +0100

    Add getStaticPaths type helpers to infer params and props (#6150)

    * feat(astro): add InferGetStaticParamsType and InferGetStaticPropsType type helpers

    * chore(astro): added changeset

commit 19fe4cb
Author: Houston (Bot) <[email protected]>
Date:   Mon Mar 6 08:30:38 2023 -0800

    [ci] release (#6414)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Revert "Squashed commit of the following:"

This reverts commit fbe129b.

* feat: add mdx backwards compat to make nonbreaking

* chore: add comment on error code

* Revert "chore: bump to minor changesets for MDX"

This reverts commit 3e99783.

---------

Co-authored-by: Sarah Rainsberger <[email protected]>
  • Loading branch information
bholmesdev and sarah11918 authored Mar 7, 2023
1 parent 28e1224 commit fec5839
Show file tree
Hide file tree
Showing 101 changed files with 3,085 additions and 166 deletions.
15 changes: 15 additions & 0 deletions .changeset/breezy-cats-grab.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
'astro': patch
'@astrojs/markdoc': patch
'@astrojs/mdx': patch
---

Introduce the (experimental) `@astrojs/markdoc` integration. This unlocks Markdoc inside your Content Collections, bringing support for Astro and UI components in your content. This also improves Astro core internals to make Content Collections extensible to more file types in the future.

You can install this integration using the `astro add` command:

```
astro add markdoc
```

[Read the `@astrojs/markdoc` documentation](https://docs.astro.build/en/guides/integrations-guide/markdoc/) for usage instructions, and browse the [new `with-markdoc` starter](https://astro.new/with-markdoc) to try for yourself.
21 changes: 21 additions & 0 deletions examples/with-markdoc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# build output
dist/
# generated types
.astro/

# dependencies
node_modules/

# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*


# environment variables
.env
.env.production

# macOS-specific files
.DS_Store
4 changes: 4 additions & 0 deletions examples/with-markdoc/.vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"recommendations": ["astro-build.astro-vscode"],
"unwantedRecommendations": []
}
11 changes: 11 additions & 0 deletions examples/with-markdoc/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"version": "0.2.0",
"configurations": [
{
"command": "./node_modules/.bin/astro dev",
"name": "Development server",
"request": "launch",
"type": "node-terminal"
}
]
}
59 changes: 59 additions & 0 deletions examples/with-markdoc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Astro Example: Markdoc (experimental)

This starter showcases the experimental Markdoc integration.

```
npm create astro@latest -- --template with-markdoc
```

[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/with-markdoc)
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/with-markdoc)

> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun!
## 🚀 Project Structure

Inside of your Astro project, you'll see the following folders and files:

```
/
├── public/
├── src/
│ └── content/
└── docs/
│ └── intro.mdoc
| └── config.ts
│ └── components/
| ├── Aside.astro
│ └── DocsContent.astro
│ └── layouts/
│ └── Layout.astro
│ └── pages/
│ └── index.astro
| └── env.d.ts
├── astro.config.mjs
├── README.md
├── package.json
└── tsconfig.json
```

Markdoc (`.mdoc`) files can be used in content collections to author your Markdown content alongside Astro and server-rendered UI framework components (React, Vue, Svelte, and more). See `src/content/docs/` for an example file.

You can also apply Astro components and server-rendered UI components (React, Vue, Svelte, etc) to your Markdoc files. See `src/content/DocsContent.astro` for an example.

## 🧞 Commands

All commands are run from the root of the project, from a terminal:

| Command | Action |
| :--------------------- | :----------------------------------------------- |
| `npm install` | Installs dependencies |
| `npm run dev` | Starts local dev server at `localhost:3000` |
| `npm run build` | Build your production site to `./dist/` |
| `npm run preview` | Preview your build locally, before deploying |
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
| `npm run astro --help` | Get help using the Astro CLI |

## 👀 Want to learn more?

Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
19 changes: 19 additions & 0 deletions examples/with-markdoc/astro.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { defineConfig } from 'astro/config';
import markdoc from '@astrojs/markdoc';

// https://astro.build/config
export default defineConfig({
integrations: [
markdoc({
tags: {
aside: {
render: 'Aside',
attributes: {
type: { type: String },
title: { type: String },
},
},
},
}),
],
});
17 changes: 17 additions & 0 deletions examples/with-markdoc/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"name": "@example/with-markdoc",
"type": "module",
"version": "0.0.1",
"private": true,
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro build",
"preview": "astro preview",
"astro": "astro"
},
"dependencies": {
"@astrojs/markdoc": "^0.0.0",
"astro": "^2.0.6"
}
}
13 changes: 13 additions & 0 deletions examples/with-markdoc/public/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions examples/with-markdoc/sandbox.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"infiniteLoopProtection": true,
"hardReloadOnChange": false,
"view": "browser",
"template": "node",
"container": {
"port": 3000,
"startScript": "start",
"node": "14"
}
}
116 changes: 116 additions & 0 deletions examples/with-markdoc/src/components/Aside.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
---
// Inspired by the `Aside` component from docs.astro.build
// https://github.com/withastro/docs/blob/main/src/components/Aside.astro
export interface Props {
type?: 'note' | 'tip' | 'caution' | 'danger';
title?: string;
}
const labelByType = {
note: 'Note',
tip: 'Tip',
caution: 'Caution',
danger: 'Danger',
};
const { type = 'note' } = Astro.props as Props;
const title = Astro.props.title ?? labelByType[type] ?? '';
// SVG icon paths based on GitHub Octicons
const icons: Record<NonNullable<Props['type']>, { viewBox: string; d: string }> = {
note: {
viewBox: '0 0 18 18',
d: 'M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0114.25 14H1.75A1.75 1.75 0 010 12.25v-8.5zm1.75-.25a.25.25 0 00-.25.25v8.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-8.5a.25.25 0 00-.25-.25H1.75zM3.5 6.25a.75.75 0 01.75-.75h7a.75.75 0 010 1.5h-7a.75.75 0 01-.75-.75zm.75 2.25a.75.75 0 000 1.5h4a.75.75 0 000-1.5h-4z',
},
tip: {
viewBox: '0 0 18 18',
d: 'M14 0a8.8 8.8 0 0 0-6 2.6l-.5.4-.9 1H3.3a1.8 1.8 0 0 0-1.5.8L.1 7.6a.8.8 0 0 0 .4 1.1l3.1 1 .2.1 2.4 2.4.1.2 1 3a.8.8 0 0 0 1 .5l2.9-1.7a1.8 1.8 0 0 0 .8-1.5V9.5l1-1 .4-.4A8.8 8.8 0 0 0 16 2v-.1A1.8 1.8 0 0 0 14.2 0h-.1zm-3.5 10.6-.3.2L8 12.3l.5 1.8 2-1.2a.3.3 0 0 0 .1-.2v-2zM3.7 8.1l1.5-2.3.2-.3h-2a.3.3 0 0 0-.3.1l-1.2 2 1.8.5zm5.2-4.5a7.3 7.3 0 0 1 5.2-2.1h.1a.3.3 0 0 1 .3.3v.1a7.3 7.3 0 0 1-2.1 5.2l-.5.4a15.2 15.2 0 0 1-2.5 2L7.1 11 5 9l1.5-2.3a15.3 15.3 0 0 1 2-2.5l.4-.5zM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-8.4 9.6a1.5 1.5 0 1 0-2.2-2.2 7 7 0 0 0-1.1 3 .2.2 0 0 0 .3.3c.6 0 2.2-.4 3-1.1z',
},
caution: {
viewBox: '-1 1 18 18',
d: 'M8.9 1.5C8.7 1.2 8.4 1 8 1s-.7.2-.9.5l-7 12a1 1 0 0 0 0 1c.2.3.6.5 1 .5H15c.4 0 .7-.2.9-.5a1 1 0 0 0 0-1l-7-12zM9 13H7v-2h2v2zm0-3H7V6h2v4z',
},
danger: {
viewBox: '0 1 14 17',
d: 'M5 .3c.9 2.2.5 3.4-.5 4.3C3.5 5.6 2 6.5 1 8c-1.5 2-1.7 6.5 3.5 7.7-2.2-1.2-2.6-4.5-.3-6.6-.6 2 .6 3.3 2 2.8 1.4-.4 2.3.6 2.2 1.7 0 .8-.3 1.4-1 1.8A5.6 5.6 0 0 0 12 10c0-2.9-2.5-3.3-1.3-5.7-1.5.2-2 1.2-1.8 2.8 0 1-1 1.8-2 1.3-.6-.4-.6-1.2 0-1.8C8.2 5.3 8.7 2.5 5 .3z',
},
};
const { viewBox, d } = icons[type];
---

<aside class={`content ${type}`} aria-label={title}>
<p class="title" aria-hidden="true">
<span class="icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox={viewBox} width={16} height={16}>
<path fill-rule="evenodd" d={d}></path>
</svg>
</span>
{title}
</p>
<section>
<slot />
</section>
</aside>

<style>
aside {
--color-base-purple: 269, 79%;
--color-base-teal: 180, 80%;
--color-base-red: 351, 100%;
--color-base-yellow: 41, 100%;

--aside-color-base: var(--color-base-purple);
--aside-color-lightness: 54%;
--aside-accent-color: hsl(var(--aside-color-base), var(--aside-color-lightness));
--aside-text-lightness: 20%;
--aside-text-accent-color: hsl(var(--aside-color-base), var(--aside-text-lightness));

border-inline-start: 4px solid var(--aside-accent-color);
padding: 1rem;
background-color: hsla(var(--aside-color-base), var(--aside-color-lightness), 0.1);
/* Indicates the aside boundaries for forced colors users, transparent is changed to a solid color */
outline: 1px solid transparent;
}

.title {
line-height: 1;
margin-bottom: 0.5rem;
font-size: 0.9rem;
letter-spacing: 0.05em;
font-weight: bold;
text-transform: uppercase;
color: var(--aside-text-accent-color);
}

.icon svg {
width: 1.5em;
height: 1.5em;
vertical-align: middle;
fill: currentcolor;
}

aside :global(a),
aside :global(a > code:not([class*='language'])) {
color: var(--aside-text-accent-color);
}

aside :global(pre) {
margin-left: 0;
margin-right: 0;
}

.tip {
--aside-color-lightness: 42%;
--aside-color-base: var(--color-base-teal);
}

.caution {
--aside-color-lightness: 59%;
--aside-color-base: var(--color-base-yellow);
}

.danger {
--aside-color-lightness: 54%;
--aside-color-base: var(--color-base-red);
}
</style>
32 changes: 32 additions & 0 deletions examples/with-markdoc/src/components/DocsContent.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
import Aside from './Aside.astro';
import type { CollectionEntry } from 'astro:content';
type Props = {
entry: CollectionEntry<'docs'>;
};
const { entry } = Astro.props;
const { Content } = await entry.render();
---

<Content
components={{
// Pass a mapping from the component name
// To an Astro or UI component import
// See your `astro.config.mjs` for
// for the Markdoc tag mapping
Aside,
}}
/>

<style is:global>
table {
margin-block: 2rem;
margin-inline: auto;
}
table td {
padding-block: 0.3rem;
padding-inline: 0.5rem;
}
</style>
9 changes: 9 additions & 0 deletions examples/with-markdoc/src/content/config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { defineCollection, z } from 'astro:content';

const docs = defineCollection({
schema: z.object({
title: z.string(),
}),
});

export const collections = { docs };
39 changes: 39 additions & 0 deletions examples/with-markdoc/src/content/docs/intro.mdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
title: Welcome to Markdoc 👋
---

This simple starter showcases Markdoc with Content Collections. All Markdoc features are supported, including this nifty built-in `{% table %}` tag:

{% table %}
* Feature
* Supported
---
* `.mdoc` in Content Collections
* ✅
---
* Markdoc transform configuration
* ✅
---
* Astro components
* ✅
{% /table %}

{% aside title="Code Challenge" type="tip" %}

Reveal the secret message below by adding `revealSecret: true` to your list of Markdoc variables.

_Hint: Try [adding a `variables` object](https://markdoc.dev/docs/variables#global-variables) to your Markdoc config. Check the `astro.config.mjs`._

{% if $revealSecret %}

Maybe the real secret was the Rick Rolls we shared along the way.

![Rick Astley dancing](https://media.tenor.com/x8v1oNUOmg4AAAAM/rickroll-roll.gif)

{% /if %}

{% /aside %}

Check out [the `@astrojs/markdoc` integration][astro-markdoc] for complete documentation and usage examples.

[astro-markdoc]: https://docs.astro.build/en/guides/integrations-guide/markdoc/
2 changes: 2 additions & 0 deletions examples/with-markdoc/src/env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/// <reference path="../.astro/types.d.ts" />
/// <reference types="astro/client" />
Loading

0 comments on commit fec5839

Please sign in to comment.