@astrojs/markdoc (#6209)
* 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 c06f83ef85146831457fde1f2126b338f656b093.
* Squashed commit of `markdoc-poc`
commit bd0dd9d71938da22f596ddd1662d9b91707f80c7
Author: bholmesdev <hey@bholmes.dev>
Date: Wed Feb 15 09:43:04 2023 -0500
Revert "feat: support `.md` overrides for content collections"
This reverts commit c06f83ef85146831457fde1f2126b338f656b093.
commit 5b9a1f33f4d0ffd4a63a81a86652fee032b75d76
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 13:48:56 2023 -0500
feat: generate `.md` types override
commit e464ae894ed69cf492de1d3e8018d9a17c00d7a3
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 12:56:11 2023 -0500
chore: mdoc -> md
commit b74fd6a7d6b973b2bfd9b2ab9567801ff4d7fec1
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 12:56:01 2023 -0500
feat: support `.md` overrides for content collections
commit bdcc18a7c03e3524927ba7c1b18ad2fd80a2e994
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 12:30:48 2023 -0500
deps: remove html-escaper
commit f44b57f0fa2ac923a3f2a46471fda710e92d5824
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 12:30:42 2023 -0500
fix: remove unneeded html-escaper
commit fb7919498aca6beded444ed5922f3598d244d30c
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 12:08:04 2023 -0500
fix: type inferencing in preview
commit 0c05034b321a82f2f054b527538d57f45f096822
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 11:32:19 2023 -0500
fix: import types from @astrojs/markdoc
commit 57e741a6306b801ac4ce47f20f7664518359611d
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 11:28:33 2023 -0500
refactor: remove unneeded async
commit b19d85451e60da281bc32a2a180452987a049479
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 10:26:20 2023 -0500
fix: lock
commit b1083a14f9fefe5e7a9f2a8c7c31626a7430c851
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 10:19:50 2023 -0500
nit: 0.0.0 to avoid version bump
commit 71891ebe9dd54b495e965bf064ee78aaca9dfede
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 09:33:27 2023 -0500
chore: changeset
commit 444752a5e27c4f5bda54ac024eca9a7ab1c4563f
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 09:30:10 2023 -0500
docs: add note on Aside src
commit 619d4b3fdf02cc34ea3f8f9a0b4d93db273bb0a1
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 09:25:56 2023 -0500
nit: reorder type import
commit e914da05706382b17e1b8f3404fc2852002a5dc7
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 09:25:38 2023 -0500
refactor: clean up astroNode
commit 2dfc226f56dc6a9e3e3ace72d4c3889a1fde4e6d
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 09:08:56 2023 -0500
docs: README edits
commit 3c7b85c7d9e3c75d551baf33aba9a646d0d61cba
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 09:07:29 2023 -0500
docs: change with-markdoc title
commit 29cdea9a0be439b631389cbc906751185489cbe9
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 18:29:10 2023 -0500
docs: add usage and examples to Markdoc README
commit e397a80179e9bd934ef8875155d7491b1d4e077a
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 18:18:54 2023 -0500
fix: line endings in test
commit f9ebf59982fa7dc1202368da344897f54de7f259
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 18:09:15 2023 -0500
docs: @astrojs/markdoc README intro
commit 7800e9c9dac946f89e139b200a0083b53942118d
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 18:08:07 2023 -0500
docs: update example README
commit f0b900a6fa7f0775dfab7600c4fb04c9b64e7439
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 18:04:34 2023 -0500
chore: remove markdoc.config loader
commit 3f040e44d0c639dc51976abe75f46c57f0be60fc
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 17:58:52 2023 -0500
chore: remove unused fixture dep
commit b2ea6c26df6acf1df8f06d2feb9c91da8c8eafae
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 17:58:25 2023 -0500
fix: glob for single content extension
commit f4e171c05c421f8696ebc406c9d4d28967f80690
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 15:10:39 2023 -0500
chore: remove unused deps
commit d9095d0284b0fc22d5da367771bc5286eb8f1926
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 15:10:31 2023 -0500
chore: unused style tag
commit a5435f13575577bf6a954c68eef9e883959568dc
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 15:08:52 2023 -0500
chore: clean up Markdoc starter to essentials
commit 815e2f2bad5617ab077d278d7c751f34c22dd0d9
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 14:13:02 2023 -0500
feat: content prop types for markdoc!
commit 8bcd23c4e70b4900b16ebf5a30dad6ec998f4092
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 14:05:40 2023 -0500
feat: allow Render type injection
commit cdb7e9e4878888c0883d4082d2415f4d85050389
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 14:04:37 2023 -0500
chore: unused file
commit 0df33ea37d4ca9bd933be54d7f8b455fce174679
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 14:04:31 2023 -0500
chore: with-markdoc strictNullChecks
commit 377c6d766bd51469f09e1f946a1c2b77affe6620
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 17:39:35 2023 -0500
play: add docs example with Aside and Since ported
commit f9f811257167da7a5e05a7de3a12b58e7b3568b1
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:22:47 2023 -0500
chore: remove unused options object
commit c9a66bfeb0ce55ef0a1c0c6ed2da746d5250c795
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:18:27 2023 -0500
chore: remove content-types. Too early!
commit 67f49e86a980c5d858ad0e384bdc67fad5e096e6
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:18:20 2023 -0500
fix: ContentEntryType import
commit 9b93d8189213a12346520fa8a71eae824386ad3e
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:10:06 2023 -0500
chore: Markdoc working! log
commit 90f77645ef3985fbba1badeb4413759626290b1a
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:09:58 2023 -0500
test: content component dev and build
commit 14559f6a40af63106cebeba210e73392d5d1c37d
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:01:10 2023 -0500
test: prod builds
commit a0dcbff73cf8b3cf9b55434a8fb2b0b683903c5f
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:01:04 2023 -0500
fix: stop bundling markdoc for isTag
commit cb1904876f074c50c206131e9588878230bbab47
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:00:53 2023 -0500
fix: avoid import if no config present (prod build error)
commit bda8295e7920638c013875ab9fe31ce87743c95f
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:00:33 2023 -0500
chore: ignore `.astro` type error
commit 28a6d7993a227c68aeca747661254ff68883244a
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:00:12 2023 -0500
fix: remove "components" from tsconfig
commit 0297bb749599aa8063e685a7ece738afe3ae77cc
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:00:01 2023 -0500
deps: add shiki for Code comp error
commit e4f141e558b3d76b761bec69e694eaa40cdf250d
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 08:45:37 2023 -0500
play: make sure md also works
commit dfdb35f0888ee83457ee825172f7d8485b7d2a43
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 13:25:18 2023 -0500
test: entry and collections parse
commit eaf4994bf309955209f406d7db0863775fdf4fe0
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 13:25:07 2023 -0500
deps: devalue, test fixture
commit 3f71932c04f8064cfe74b7f4b02409c681925e4a
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 13:24:47 2023 -0500
chore: remove unused dream file
commit b182686f88878cdf003efba798edb69372872b21
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 12:29:32 2023 -0500
refactor: remove fallback loader
commit 0540d701ccb33db7a82be861c36dcafec0dbbb81
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 12:26:21 2023 -0500
fix: markdoc.config loading
commit 575dadf70e7b5aa263e30c8b496a1cceebd31bb4
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 12:16:18 2023 -0500
oops, forgot to commit untracked
commit 9746a97bc2dfcf63bfd685f541ffbd229ea134ca
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 12:16:02 2023 -0500
refactor: pass file contents
commit 534a658325cbddbb153bea1c1338d13011eb0e4f
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 12:13:38 2023 -0500
refactor: move plain md to content entry type
commit 24df79b1475c12ccefaadb2392e9d5911c491872
Author: bholmesdev <hey@bholmes.dev>
Date: Wed Feb 8 15:51:44 2023 -0500
wip: move mdx to collection type API
commit cc44e4fa3453353041fdbe9424d96040f93f28a7
Author: bholmesdev <hey@bholmes.dev>
Date: Wed Feb 8 15:50:52 2023 -0500
deps: mdx
commit c30c1b3dcf6da3a075c1f07260ae893ef93e07e2
Author: bholmesdev <hey@bholmes.dev>
Date: Wed Feb 8 10:10:39 2023 -0500
wip: scaffold content types
commit 2487aedf9deb74a5725ba8393766b68f60b74af8
Author: bholmesdev <hey@bholmes.dev>
Date: Wed Feb 8 09:53:35 2023 -0500
feat: move Renderer to markdoc, get Content component!
commit 44faff911b8de6f6da45f195dad0a56a426b076e
Author: bholmesdev <hey@bholmes.dev>
Date: Wed Feb 8 09:53:06 2023 -0500
deps: move to @astrojs/markdoc
commit bef26906f3f2f1104b88332778ee219cf062fe88
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 7 16:01:34 2023 -0500
feat: addContentEntryType integration hook
commit 508568f5117a56fc4ef14db9d0482cdfcfe5007d
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 7 16:00:42 2023 -0500
deps: graymatter
commit cb706020391b4b61f3854b3e9a9d9190a94785c9
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 7 14:00:27 2023 -0500
chore: unit tests
commit 545246d15362b8f981f8c315d3b7d0341626eeb8
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 7 14:00:23 2023 -0500
wip: get dream API for file loader working
commit 97664e0f862f7f6e0c9ce8478b3bed58432f6426
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 18:09:23 2023 -0500
wip: play with separate markdoc config
commit c5d8a3336cc9f5dd7b4115b7f86fdb86474ca462
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 17:04:22 2023 -0500
fix: render attributes to html
commit 82e30a0083b20c85307726027ee7e74df7378632
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 17:04:14 2023 -0500
deps: stringify-attributes
commit b72ba6167db88d5042eee51d5912d4270417bca5
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 16:33:27 2023 -0500
fix: component render bug
commit 59f1e5c6f89d2c7457a0b0e0acb838bf945d39bf
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 16:11:15 2023 -0500
feat: basic Astro renderer in with-markdoc
commit de15a7213d9afbc94dd0e50f713c9a02dc8e90e5
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 16:11:01 2023 -0500
wip: expose Markdoc from integration
commit 83bfe4441b652a7eb880486785dc2c5eda08e3b3
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 11:21:17 2023 -0500
feat: get markdoc contents
commit 6f500689a00b8f8c2151254930fda24e0b3e4207
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 11:13:57 2023 -0500
chore: integration setup
* Squashed commit of `markdoc-poc`
commit bd0dd9d71938da22f596ddd1662d9b91707f80c7
Author: bholmesdev <hey@bholmes.dev>
Date: Wed Feb 15 09:43:04 2023 -0500
Revert "feat: support `.md` overrides for content collections"
This reverts commit c06f83ef85146831457fde1f2126b338f656b093.
commit 5b9a1f33f4d0ffd4a63a81a86652fee032b75d76
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 13:48:56 2023 -0500
feat: generate `.md` types override
commit e464ae894ed69cf492de1d3e8018d9a17c00d7a3
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 12:56:11 2023 -0500
chore: mdoc -> md
commit b74fd6a7d6b973b2bfd9b2ab9567801ff4d7fec1
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 12:56:01 2023 -0500
feat: support `.md` overrides for content collections
commit bdcc18a7c03e3524927ba7c1b18ad2fd80a2e994
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 12:30:48 2023 -0500
deps: remove html-escaper
commit f44b57f0fa2ac923a3f2a46471fda710e92d5824
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 12:30:42 2023 -0500
fix: remove unneeded html-escaper
commit fb7919498aca6beded444ed5922f3598d244d30c
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 12:08:04 2023 -0500
fix: type inferencing in preview
commit 0c05034b321a82f2f054b527538d57f45f096822
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 11:32:19 2023 -0500
fix: import types from @astrojs/markdoc
commit 57e741a6306b801ac4ce47f20f7664518359611d
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 11:28:33 2023 -0500
refactor: remove unneeded async
commit b19d85451e60da281bc32a2a180452987a049479
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 10:26:20 2023 -0500
fix: lock
commit b1083a14f9fefe5e7a9f2a8c7c31626a7430c851
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 10:19:50 2023 -0500
nit: 0.0.0 to avoid version bump
commit 71891ebe9dd54b495e965bf064ee78aaca9dfede
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 09:33:27 2023 -0500
chore: changeset
commit 444752a5e27c4f5bda54ac024eca9a7ab1c4563f
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 09:30:10 2023 -0500
docs: add note on Aside src
commit 619d4b3fdf02cc34ea3f8f9a0b4d93db273bb0a1
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 09:25:56 2023 -0500
nit: reorder type import
commit e914da05706382b17e1b8f3404fc2852002a5dc7
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 09:25:38 2023 -0500
refactor: clean up astroNode
commit 2dfc226f56dc6a9e3e3ace72d4c3889a1fde4e6d
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 09:08:56 2023 -0500
docs: README edits
commit 3c7b85c7d9e3c75d551baf33aba9a646d0d61cba
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 14 09:07:29 2023 -0500
docs: change with-markdoc title
commit 29cdea9a0be439b631389cbc906751185489cbe9
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 18:29:10 2023 -0500
docs: add usage and examples to Markdoc README
commit e397a80179e9bd934ef8875155d7491b1d4e077a
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 18:18:54 2023 -0500
fix: line endings in test
commit f9ebf59982fa7dc1202368da344897f54de7f259
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 18:09:15 2023 -0500
docs: @astrojs/markdoc README intro
commit 7800e9c9dac946f89e139b200a0083b53942118d
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 18:08:07 2023 -0500
docs: update example README
commit f0b900a6fa7f0775dfab7600c4fb04c9b64e7439
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 18:04:34 2023 -0500
chore: remove markdoc.config loader
commit 3f040e44d0c639dc51976abe75f46c57f0be60fc
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 17:58:52 2023 -0500
chore: remove unused fixture dep
commit b2ea6c26df6acf1df8f06d2feb9c91da8c8eafae
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 17:58:25 2023 -0500
fix: glob for single content extension
commit f4e171c05c421f8696ebc406c9d4d28967f80690
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 15:10:39 2023 -0500
chore: remove unused deps
commit d9095d0284b0fc22d5da367771bc5286eb8f1926
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 15:10:31 2023 -0500
chore: unused style tag
commit a5435f13575577bf6a954c68eef9e883959568dc
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 15:08:52 2023 -0500
chore: clean up Markdoc starter to essentials
commit 815e2f2bad5617ab077d278d7c751f34c22dd0d9
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 14:13:02 2023 -0500
feat: content prop types for markdoc!
commit 8bcd23c4e70b4900b16ebf5a30dad6ec998f4092
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 14:05:40 2023 -0500
feat: allow Render type injection
commit cdb7e9e4878888c0883d4082d2415f4d85050389
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 14:04:37 2023 -0500
chore: unused file
commit 0df33ea37d4ca9bd933be54d7f8b455fce174679
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 13 14:04:31 2023 -0500
chore: with-markdoc strictNullChecks
commit 377c6d766bd51469f09e1f946a1c2b77affe6620
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 17:39:35 2023 -0500
play: add docs example with Aside and Since ported
commit f9f811257167da7a5e05a7de3a12b58e7b3568b1
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:22:47 2023 -0500
chore: remove unused options object
commit c9a66bfeb0ce55ef0a1c0c6ed2da746d5250c795
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:18:27 2023 -0500
chore: remove content-types. Too early!
commit 67f49e86a980c5d858ad0e384bdc67fad5e096e6
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:18:20 2023 -0500
fix: ContentEntryType import
commit 9b93d8189213a12346520fa8a71eae824386ad3e
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:10:06 2023 -0500
chore: Markdoc working! log
commit 90f77645ef3985fbba1badeb4413759626290b1a
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:09:58 2023 -0500
test: content component dev and build
commit 14559f6a40af63106cebeba210e73392d5d1c37d
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:01:10 2023 -0500
test: prod builds
commit a0dcbff73cf8b3cf9b55434a8fb2b0b683903c5f
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:01:04 2023 -0500
fix: stop bundling markdoc for isTag
commit cb1904876f074c50c206131e9588878230bbab47
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:00:53 2023 -0500
fix: avoid import if no config present (prod build error)
commit bda8295e7920638c013875ab9fe31ce87743c95f
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:00:33 2023 -0500
chore: ignore `.astro` type error
commit 28a6d7993a227c68aeca747661254ff68883244a
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:00:12 2023 -0500
fix: remove "components" from tsconfig
commit 0297bb749599aa8063e685a7ece738afe3ae77cc
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 09:00:01 2023 -0500
deps: add shiki for Code comp error
commit e4f141e558b3d76b761bec69e694eaa40cdf250d
Author: bholmesdev <hey@bholmes.dev>
Date: Fri Feb 10 08:45:37 2023 -0500
play: make sure md also works
commit dfdb35f0888ee83457ee825172f7d8485b7d2a43
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 13:25:18 2023 -0500
test: entry and collections parse
commit eaf4994bf309955209f406d7db0863775fdf4fe0
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 13:25:07 2023 -0500
deps: devalue, test fixture
commit 3f71932c04f8064cfe74b7f4b02409c681925e4a
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 13:24:47 2023 -0500
chore: remove unused dream file
commit b182686f88878cdf003efba798edb69372872b21
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 12:29:32 2023 -0500
refactor: remove fallback loader
commit 0540d701ccb33db7a82be861c36dcafec0dbbb81
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 12:26:21 2023 -0500
fix: markdoc.config loading
commit 575dadf70e7b5aa263e30c8b496a1cceebd31bb4
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 12:16:18 2023 -0500
oops, forgot to commit untracked
commit 9746a97bc2dfcf63bfd685f541ffbd229ea134ca
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 12:16:02 2023 -0500
refactor: pass file contents
commit 534a658325cbddbb153bea1c1338d13011eb0e4f
Author: bholmesdev <hey@bholmes.dev>
Date: Thu Feb 9 12:13:38 2023 -0500
refactor: move plain md to content entry type
commit 24df79b1475c12ccefaadb2392e9d5911c491872
Author: bholmesdev <hey@bholmes.dev>
Date: Wed Feb 8 15:51:44 2023 -0500
wip: move mdx to collection type API
commit cc44e4fa3453353041fdbe9424d96040f93f28a7
Author: bholmesdev <hey@bholmes.dev>
Date: Wed Feb 8 15:50:52 2023 -0500
deps: mdx
commit c30c1b3dcf6da3a075c1f07260ae893ef93e07e2
Author: bholmesdev <hey@bholmes.dev>
Date: Wed Feb 8 10:10:39 2023 -0500
wip: scaffold content types
commit 2487aedf9deb74a5725ba8393766b68f60b74af8
Author: bholmesdev <hey@bholmes.dev>
Date: Wed Feb 8 09:53:35 2023 -0500
feat: move Renderer to markdoc, get Content component!
commit 44faff911b8de6f6da45f195dad0a56a426b076e
Author: bholmesdev <hey@bholmes.dev>
Date: Wed Feb 8 09:53:06 2023 -0500
deps: move to @astrojs/markdoc
commit bef26906f3f2f1104b88332778ee219cf062fe88
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 7 16:01:34 2023 -0500
feat: addContentEntryType integration hook
commit 508568f5117a56fc4ef14db9d0482cdfcfe5007d
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 7 16:00:42 2023 -0500
deps: graymatter
commit cb706020391b4b61f3854b3e9a9d9190a94785c9
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 7 14:00:27 2023 -0500
chore: unit tests
commit 545246d15362b8f981f8c315d3b7d0341626eeb8
Author: bholmesdev <hey@bholmes.dev>
Date: Tue Feb 7 14:00:23 2023 -0500
wip: get dream API for file loader working
commit 97664e0f862f7f6e0c9ce8478b3bed58432f6426
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 18:09:23 2023 -0500
wip: play with separate markdoc config
commit c5d8a3336cc9f5dd7b4115b7f86fdb86474ca462
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 17:04:22 2023 -0500
fix: render attributes to html
commit 82e30a0083b20c85307726027ee7e74df7378632
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 17:04:14 2023 -0500
deps: stringify-attributes
commit b72ba6167db88d5042eee51d5912d4270417bca5
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 16:33:27 2023 -0500
fix: component render bug
commit 59f1e5c6f89d2c7457a0b0e0acb838bf945d39bf
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 16:11:15 2023 -0500
feat: basic Astro renderer in with-markdoc
commit de15a7213d9afbc94dd0e50f713c9a02dc8e90e5
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 16:11:01 2023 -0500
wip: expose Markdoc from integration
commit 83bfe4441b652a7eb880486785dc2c5eda08e3b3
Author: bholmesdev <hey@bholmes.dev>
Date: Mon Feb 6 11:21:17 2023 -0500
feat: get markdoc contents
commit 6f500689a00b8f8c2151254930fda24e0b3e4207
Author: bholmesdev <hey@bholmes.dev>
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 <sarah@rainsberger.ca>
* 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 <sarah@rainsberger.ca>
* nit: don't capitalize cc
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* docs: :::
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* 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 45fac9922d099f33ff97176895efc9b1941dd03c.
* 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 <sarah@rainsberger.ca>
* 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 fbab73c96e9cecc23eff7e78a5d919b0aa8ec2cf
Author: matthewp <matthewp@users.noreply.github.com>
Date: Tue Mar 7 16:38:11 2023 +0000
[ci] format
commit a20610609863ae3b48afe96819b8f11ae4f414d5
Author: Matthew Phillips <matthew@skypack.dev>
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 27515843873ca47d56d30c7fcefedaf5cb2e5208
Author: Princesseuh <Princesseuh@users.noreply.github.com>
Date: Tue Mar 7 15:14:15 2023 +0000
[ci] format
commit 694918a56b01104831296be0c25456135a63c784
Author: Erika <3019731+Princesseuh@users.noreply.github.com>
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 063aa276e2f30f928a108a930f603a234e22ff11.
* 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 <swithinbank@gmail.com>
* Update .changeset/gold-rocks-cry.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update packages/astro/src/@types/astro.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/assets/services/service.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/assets/services/service.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/assets/services/service.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/assets/types.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/assets/types.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
---------
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
commit 377530a810f6f581d60c80ca25b8f69909ddf9c9
Author: ematipico <ematipico@users.noreply.github.com>
Date: Tue Mar 7 13:43:21 2023 +0000
[ci] format
commit fe88f89512d583e651f114fe010a35b33bae1910
Author: Emanuele Stoppa <my.burning@gmail.com>
Date: Tue Mar 7 13:41:24 2023 +0000
chore: use directive `@ts-expect-error` instead of `@ts-ignore` (#6429)
commit e1858e633484d0e1eca0e3ad72af679fc12271e0
Author: ematipico <ematipico@users.noreply.github.com>
Date: Tue Mar 7 06:57:52 2023 +0000
[ci] format
commit 75921b3cd916d439f6392c487c21532fde35ed13
Author: Emanuele Stoppa <my.burning@gmail.com>
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 <3019731+Princesseuh@users.noreply.github.com>
* code suggestions
* chore: rebase
---------
Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com>
commit 1291afc09dc31c61770e1a4f27b2aa94d1fb39aa
Author: Bjorn Lu <bjornlu.dev@gmail.com>
Date: Tue Mar 7 14:50:34 2023 +0800
Fix changeset run (#6442)
commit 00a0af7ed44f5bb275f570ca38bbd0b798ce84ad
Author: Bjorn Lu <bjornlu.dev@gmail.com>
Date: Tue Mar 7 10:52:47 2023 +0800
Move benchmark package and update changeset config (#6433)
commit af05a4fa4637bad9b20b9928e6d2c2f894aa9139
Author: Nate Moore <natemoo-re@users.noreply.github.com>
Date: Mon Mar 6 14:06:33 2023 -0600
Update README.md (#6437)
* Update README.md
* Update README.md
commit 8ebf4b7481ad783243badec6866aeb4cdd4005c3
Author: Nate Moore <natemoo-re@users.noreply.github.com>
Date: Mon Mar 6 14:03:33 2023 -0600
chore: update branding assets (#6436)
commit afbbc4d5bfafc1779bac00b41c2a1cb1c90f2808
Author: Erika <3019731+Princesseuh@users.noreply.github.com>
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 18acae3edca702c418fcaf39b177555f5ea10017
Author: Sarah Rainsberger <sarah@rainsberger.ca>
Date: Mon Mar 6 14:36:40 2023 -0400
[error docs] update link for client-side scripts (#6423)
commit 8b49d1781d0294610377fa16689b8fcd85c9a16b
Author: ematipico <ematipico@users.noreply.github.com>
Date: Mon Mar 6 17:03:18 2023 +0000
[ci] format
commit a4a74ab70cd2aa0d812a1f6b202c4e240a8913bf
Author: Emanuele Stoppa <my.burning@gmail.com>
Date: Mon Mar 6 16:58:56 2023 +0000
feat(cli): add help flags to various commands (#6394)
Co-authored-by: Happydev <81974850+MoustaphaDev@users.noreply.github.com>
commit b087b83fe266c431fe34a07d5c2293cc4ab011c6
Author: Dennis Morello <dennismorello@gmail.com>
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 19fe4cb6299d723ad286c4adf766ba8cd41461b4
Author: Houston (Bot) <108291165+astrobot-houston@users.noreply.github.com>
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 fbe129bf959a886ee17cef873f3046ae3afc893c.
* 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 3e997837bb5fbf8ac353c204d30dd6b9055914af.
---------
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-03-07 19:05:19 +00:00
|
|
|
import { parseHTML } from 'linkedom';
|
|
|
|
import { parse as parseDevalue } from 'devalue';
|
|
|
|
import { expect } from 'chai';
|
|
|
|
import { loadFixture, fixLineEndings } from '../../../astro/test/test-utils.js';
|
|
|
|
import markdoc from '../dist/index.js';
|
|
|
|
|
|
|
|
function formatPost(post) {
|
|
|
|
return {
|
|
|
|
...post,
|
|
|
|
body: fixLineEndings(post.body),
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
const root = new URL('./fixtures/content-collections/', import.meta.url);
|
|
|
|
|
|
|
|
describe('Markdoc - Content Collections', () => {
|
|
|
|
let baseFixture;
|
|
|
|
|
|
|
|
before(async () => {
|
|
|
|
baseFixture = await loadFixture({
|
|
|
|
root,
|
|
|
|
integrations: [markdoc()],
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('dev', () => {
|
|
|
|
let devServer;
|
|
|
|
|
|
|
|
before(async () => {
|
|
|
|
devServer = await baseFixture.startDevServer();
|
|
|
|
});
|
|
|
|
|
|
|
|
after(async () => {
|
|
|
|
await devServer.stop();
|
|
|
|
});
|
|
|
|
|
|
|
|
it('loads entry', async () => {
|
|
|
|
const res = await baseFixture.fetch('/entry.json');
|
|
|
|
const post = parseDevalue(await res.text());
|
|
|
|
expect(formatPost(post)).to.deep.equal(simplePostEntry);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('loads collection', async () => {
|
|
|
|
const res = await baseFixture.fetch('/collection.json');
|
|
|
|
const posts = parseDevalue(await res.text());
|
|
|
|
expect(posts).to.not.be.null;
|
|
|
|
expect(posts.sort().map((post) => formatPost(post))).to.deep.equal([
|
|
|
|
simplePostEntry,
|
|
|
|
withComponentsEntry,
|
|
|
|
withConfigEntry,
|
|
|
|
]);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('renders content - simple', async () => {
|
|
|
|
const res = await baseFixture.fetch('/content-simple');
|
|
|
|
const html = await res.text();
|
|
|
|
const { document } = parseHTML(html);
|
|
|
|
const h2 = document.querySelector('h2');
|
|
|
|
expect(h2.textContent).to.equal('Simple post');
|
|
|
|
const p = document.querySelector('p');
|
|
|
|
expect(p.textContent).to.equal('This is a simple Markdoc post.');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('renders content - with config', async () => {
|
|
|
|
const fixture = await getFixtureWithConfig();
|
|
|
|
const server = await fixture.startDevServer();
|
|
|
|
|
|
|
|
const res = await fixture.fetch('/content-with-config');
|
|
|
|
const html = await res.text();
|
|
|
|
const { document } = parseHTML(html);
|
|
|
|
const h2 = document.querySelector('h2');
|
|
|
|
expect(h2.textContent).to.equal('Post with config');
|
|
|
|
const textContent = html;
|
|
|
|
|
|
|
|
expect(textContent).to.not.include('Hello');
|
|
|
|
expect(textContent).to.include('Hola');
|
|
|
|
expect(textContent).to.include(`Konnichiwa`);
|
|
|
|
|
|
|
|
await server.stop();
|
|
|
|
});
|
|
|
|
|
|
|
|
it('renders content - with components', async () => {
|
|
|
|
const fixture = await getFixtureWithComponents();
|
|
|
|
const server = await fixture.startDevServer();
|
|
|
|
|
|
|
|
const res = await fixture.fetch('/content-with-components');
|
|
|
|
const html = await res.text();
|
|
|
|
const { document } = parseHTML(html);
|
|
|
|
const h2 = document.querySelector('h2');
|
|
|
|
expect(h2.textContent).to.equal('Post with components');
|
|
|
|
|
|
|
|
// Renders custom shortcode component
|
|
|
|
const marquee = document.querySelector('marquee');
|
|
|
|
expect(marquee).to.not.be.null;
|
|
|
|
expect(marquee.hasAttribute('data-custom-marquee')).to.equal(true);
|
|
|
|
|
|
|
|
// Renders Astro Code component
|
|
|
|
const pre = document.querySelector('pre');
|
|
|
|
expect(pre).to.not.be.null;
|
|
|
|
expect(pre.className).to.equal('astro-code');
|
|
|
|
|
|
|
|
await server.stop();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('build', () => {
|
|
|
|
before(async () => {
|
|
|
|
await baseFixture.build();
|
|
|
|
});
|
|
|
|
|
|
|
|
it('loads entry', async () => {
|
|
|
|
const res = await baseFixture.readFile('/entry.json');
|
|
|
|
const post = parseDevalue(res);
|
|
|
|
expect(formatPost(post)).to.deep.equal(simplePostEntry);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('loads collection', async () => {
|
|
|
|
const res = await baseFixture.readFile('/collection.json');
|
|
|
|
const posts = parseDevalue(res);
|
|
|
|
expect(posts).to.not.be.null;
|
|
|
|
expect(posts.sort().map((post) => formatPost(post))).to.deep.equal([
|
|
|
|
simplePostEntry,
|
|
|
|
withComponentsEntry,
|
|
|
|
withConfigEntry,
|
|
|
|
]);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('renders content - simple', async () => {
|
|
|
|
const html = await baseFixture.readFile('/content-simple/index.html');
|
|
|
|
const { document } = parseHTML(html);
|
|
|
|
const h2 = document.querySelector('h2');
|
|
|
|
expect(h2.textContent).to.equal('Simple post');
|
|
|
|
const p = document.querySelector('p');
|
|
|
|
expect(p.textContent).to.equal('This is a simple Markdoc post.');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('renders content - with config', async () => {
|
|
|
|
const fixture = await getFixtureWithConfig();
|
|
|
|
await fixture.build();
|
|
|
|
|
|
|
|
const html = await fixture.readFile('/content-with-config/index.html');
|
|
|
|
const { document } = parseHTML(html);
|
|
|
|
const h2 = document.querySelector('h2');
|
|
|
|
expect(h2.textContent).to.equal('Post with config');
|
|
|
|
const textContent = html;
|
|
|
|
|
|
|
|
expect(textContent).to.not.include('Hello');
|
|
|
|
expect(textContent).to.include('Hola');
|
|
|
|
expect(textContent).to.include(`Konnichiwa`);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('renders content - with components', async () => {
|
|
|
|
const fixture = await getFixtureWithComponents();
|
|
|
|
await fixture.build();
|
|
|
|
|
|
|
|
const html = await fixture.readFile('/content-with-components/index.html');
|
|
|
|
const { document } = parseHTML(html);
|
|
|
|
const h2 = document.querySelector('h2');
|
|
|
|
expect(h2.textContent).to.equal('Post with components');
|
|
|
|
|
|
|
|
// Renders custom shortcode component
|
|
|
|
const marquee = document.querySelector('marquee');
|
|
|
|
expect(marquee).to.not.be.null;
|
|
|
|
expect(marquee.hasAttribute('data-custom-marquee')).to.equal(true);
|
|
|
|
|
|
|
|
// Renders Astro Code component
|
|
|
|
const pre = document.querySelector('pre');
|
|
|
|
expect(pre).to.not.be.null;
|
|
|
|
expect(pre.className).to.equal('astro-code');
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
function getFixtureWithConfig() {
|
|
|
|
return loadFixture({
|
|
|
|
root,
|
|
|
|
integrations: [
|
|
|
|
markdoc({
|
|
|
|
variables: {
|
|
|
|
countries: ['ES', 'JP'],
|
|
|
|
},
|
|
|
|
functions: {
|
|
|
|
includes: {
|
|
|
|
transform(parameters) {
|
|
|
|
const [array, value] = Object.values(parameters);
|
|
|
|
return Array.isArray(array) ? array.includes(value) : false;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function getFixtureWithComponents() {
|
|
|
|
return loadFixture({
|
|
|
|
root,
|
|
|
|
integrations: [
|
|
|
|
markdoc({
|
|
|
|
nodes: {
|
|
|
|
fence: {
|
|
|
|
render: 'Code',
|
|
|
|
attributes: {
|
|
|
|
language: { type: String },
|
|
|
|
content: { type: String },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
tags: {
|
|
|
|
mq: {
|
|
|
|
render: 'CustomMarquee',
|
|
|
|
attributes: {
|
|
|
|
direction: {
|
|
|
|
type: String,
|
|
|
|
default: 'left',
|
|
|
|
matches: ['left', 'right', 'up', 'down'],
|
|
|
|
errorLevel: 'critical',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
const simplePostEntry = {
|
|
|
|
id: 'simple.mdoc',
|
|
|
|
slug: 'simple',
|
|
|
|
collection: 'blog',
|
|
|
|
data: {
|
|
|
|
schemaWorks: true,
|
|
|
|
title: 'Simple post',
|
|
|
|
},
|
|
|
|
body: '\n## Simple post\n\nThis is a simple Markdoc post.\n',
|
|
|
|
};
|
|
|
|
|
|
|
|
const withComponentsEntry = {
|
|
|
|
id: 'with-components.mdoc',
|
|
|
|
slug: 'with-components',
|
|
|
|
collection: 'blog',
|
|
|
|
data: {
|
|
|
|
schemaWorks: true,
|
|
|
|
title: 'Post with components',
|
|
|
|
},
|
|
|
|
body: '\n## Post with components\n\nThis uses a custom marquee component with a shortcode:\n\n{% mq direction="right" %}\nI\'m a marquee too!\n{% /mq %}\n\nAnd a code component for code blocks:\n\n```js\nconst isRenderedWithShiki = true;\n```\n',
|
|
|
|
};
|
|
|
|
|
|
|
|
const withConfigEntry = {
|
|
|
|
id: 'with-config.mdoc',
|
|
|
|
slug: 'with-config',
|
|
|
|
collection: 'blog',
|
|
|
|
data: {
|
|
|
|
schemaWorks: true,
|
|
|
|
title: 'Post with config',
|
|
|
|
},
|
|
|
|
body: '\n## Post with config\n\n{% if includes($countries, "EN") %} Hello {% /if %}\n{% if includes($countries, "ES") %} Hola {% /if %}\n{% if includes($countries, "JP") %} Konnichiwa {% /if %}\n',
|
|
|
|
};
|