0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-16 21:46:22 -05:00
astro/examples/with-markdoc
Ben Holmes fb7af55114
feat: New Markdoc render API (#7468)
* feat: URL support for markdoc tags

* refactor: move to separate file

* feat: support URL for markdoc nodes

* feat: support `extends` with URL

* chore: changeset

* fix: bad AstroMarkdocConfig type

* fix: experimentalAssetsConfig missing

* fix: correctly merge runtime config

* chore: formatting

* deps: astro internal helpers

* feat: component() util, new astro bundling

* chore: remove now unused code

* todo: missing hint

* fix: import.meta.url type error

* wip: test nested collection calls

* feat: resolve paths from project root

* refactor: move getHeadings() to runtime module

* fix: broken collectHeadings

* test: update fixture configs

* chore: remove suggestions. Out of scope!

* fix: throw outside esbuild

* refactor: shuffle imports around

* Revert "wip: test nested collection calls"

This reverts commit 9354b3cf9222fd65b974b0cddf4e7a95ab3cd2b2.

* chore: revert back to mjs config

* chore: add jsdocs to stringified helpers

* fix: restore updated changeset

---------

Co-authored-by: bholmesdev <bholmesdev@gmail.com>
2023-06-27 15:05:17 -04:00
..
.vscode
public chore: update example favicons (#6487) 2023-03-09 11:23:47 -06:00
src Markdoc asset bleed, second try (#7185) 2023-05-31 19:18:07 -04:00
.gitignore
astro.config.mjs [Markdoc] New config format with runtime variable support! (#6653) 2023-03-27 18:04:37 -04:00
markdoc.config.mjs feat: New Markdoc render API (#7468) 2023-06-27 15:05:17 -04:00
package.json [ci] release (#7449) 2023-06-27 08:42:46 -04:00
README.md docs: add the right npm command regarding astro --help for examples' README.md files (#6864) 2023-04-18 08:02:40 +02:00
sandbox.config.json
tsconfig.json

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.