0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-23 21:53:55 -05:00
astro/examples/with-markdoc
Ben Holmes 7c439868a3
[Markdoc] New config format with runtime variable support! (#6653)
* deps: esbuild

* feat: support direct component imports for render!

* deps: add devalue back

* refactor: remove unused components prop

* refactor: load experimental assets config separately

* fix: upate Content type def to support props

* refactor: replace astro stub with inline data

* feat: pass through viteId to getRenderMod

* fix: add back $entry var with defaults convention

* chore: remove unneeded validateRenderProps

* chore: remove uneeded validateComponents

* fix: remove userMarkdocConfig prop

* chore: add helpful error for legacy config

* deps: kleur

* fix: add back `isCapitalized`

* fix: log instead of throw to avoid scary stacktrace

* chore: delete more old logic (nice)

* chore: delete MORE unused utils

* chore: comment on separate assets config

* chore: remove console.log

* chore: general code cleanup

* test: new render config

* docs: new README

* fix: add expect-error on astro:assets

* feat: add defineMarkdocConfig helper

* docs: update example README

* test: add runtime variable

* chore: lint

* chore: changeset

* chore: add component import deletion

* docs: add notes on Vite fork

* fix: astro check

* chore: add `.mts` to markdoc config formats
2023-03-27 18:04:37 -04:00
..
.vscode @astrojs/markdoc (#6209) 2023-03-07 14:05:19 -05:00
public chore: update example favicons (#6487) 2023-03-09 11:23:47 -06:00
src [Markdoc] New config format with runtime variable support! (#6653) 2023-03-27 18:04:37 -04:00
.gitignore @astrojs/markdoc (#6209) 2023-03-07 14:05:19 -05:00
astro.config.mjs [Markdoc] New config format with runtime variable support! (#6653) 2023-03-27 18:04:37 -04:00
markdoc.config.mjs [Markdoc] New config format with runtime variable support! (#6653) 2023-03-27 18:04:37 -04:00
package.json [Markdoc] New config format with runtime variable support! (#6653) 2023-03-27 18:04:37 -04:00
README.md [Markdoc] New config format with runtime variable support! (#6653) 2023-03-27 18:04:37 -04:00
sandbox.config.json @astrojs/markdoc (#6209) 2023-03-07 14:05:19 -05:00
tsconfig.json @astrojs/markdoc (#6209) 2023-03-07 14:05:19 -05:00

Astro Example: Markdoc (experimental)

This starter showcases the experimental Markdoc integration.

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

Open in StackBlitz Open with CodeSandbox

🧑‍🚀 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
│   └── layouts/Layout.astro
│   └── pages/index.astro
|   └── env.d.ts
├── astro.config.mjs
├── markdoc.config.mjs
├── README.md
├── package.json
└── tsconfig.json

Markdoc (.mdoc) files can be used in content collections. See src/content/docs/ for an example file.

You can also render Astro components from your Markdoc files using tags. See the markdoc.config.mjs file for an example configuration.

🧞 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 or jump into our Discord server.