mirror of
https://github.com/withastro/astro.git
synced 2025-01-27 22:19:04 -05:00
5ec0f6ed55
* feat: port content plugin as-is
* feat: add `fetchContent` to `.astro`
* refactor: move more logic to content-internals
* refactor: move internals -> content dir
* feat: nested dir support
* feat: add with-content playground
* edit: update README
* fix: serialize route pattern for Netlify edge
Co-authored-by: Jackie Macharia <jackiewmacharia>
* wip: add ?astro-asset-ssr flag
* wip: exclude astro-ssr-asset styles from build
* revert: SSR asset flag babel changes
* feat: only load CSS when mdx is rendered!
* fix(vercel): Include all files inside `dist/` instead of only `entry.mjs` (#5175)
* chore: only-allow pnpm (#5131)
* [MDX] Support `recmaPlugins` config (#5146)
* feat: support recma plugins
* chore: add `test:match` to MDX
* chore: changeset
* docs: add recmaPlugins to README
* removes default content-visibility styles from image components (#5180)
* wip: check renderContent works
* nit: injectDelayedAssetPlugin doesn't need enforce
* feat: render content with generated entries
* feat: renderContent style injection POC
* wip: scrappy renderContent binding
* deps: parse-imports
* feat: only bind renderContent when imported
* feat: new-and-improved render-content
* fix: update example to use render-content
* refactor: extract normalizeFilename helper
* feat: move renderContent to `.astro`
* feat: add `getStaticPaths` demo 👀
* chore: remove console log
* refactor: internals -> internal
* fix: style bleed on dynamic routes
* chore: remove console log
* refactor: move rendercontentmap inside same file
* fix: style bleed in dev!
* feat: clean up example
* refactor: curry generateContent
* nit: add datetime demo
* refactor: rename and move content plugins
* feat: granular content updates in development
* chore: console.log
* refactor: move write logic, fix edge cases
* fix: use z.any() when ~schema is missing
* refactor: clean up logging
* fix: add delayed asset flag to render map
* fix: use new server loader
* chore: import type
* fix: split delayed assets to separate chunks
* chore: bad merge changesets
* feat: rework content map to Vite globs
* fix: formatted errors
* fix: get `renderContent` working with new APIs
* refactor: rename to getCollection, getEntry, renderEntry
* feat: streamline type alias!
* fix: check schema import is an import
* refactor: change ~schema -> index with defineCollection
* feat: auto apply env.d.ts reference
* feat: expose `headings` on `renderEntry`
* refactor: expose zod from astro/zod
* feat: add Collection util type
* refactor: generated types in src/content/
* edit: remove env.d.ts change from with-content
* feat: collectionToPaths utility
* refactor: migrate `examples/blog`
* refactor: simplify [...slug]
* fix: invalid date
* fix: renderEntry
* feat: migrate examples/docs to content!
* refactor: union -> enum
* fix: remove duplicate header
* chore: changeset
* Revert "fix: serialize route pattern for Netlify edge"
This reverts commit ac46a0d323
.
* fix: lint
* fix: include zod in package files
* chore: push type gen for astro check
* feat: move to single defineCollections file
* feat: move examples to new collections model
* chore: type check valid collection names
* fix: ignore collections path in err logs
* refactor: content/index -> content/config
* refactor: defineCollections -> defineCollection
* fix: update docs to defineCollection
* chore: update with-content to new `astro:content` setup
* fix: renderEntry styles
* fix: bad Collection type
* fix: blog types generated
* feat: expose injectedFrontmatter on renderEntry
* chore: `import type`
* chore: add MDX to changeset
* fix: template package file
* fix: unneeded log on content config change
* chore: add `injectedFrontmatter` to generated types
* fix: escape import.meta.env in `body`
* fix: escape import.meta.env in frontmatter
* chore: unused import
* fix: use URL for config pathname
* feat: allow zod async transforms
* deps: devalue
* feat: custom slugs + better type checking
* fix: update types on config added or removed
* chore: add error msg for MDX preview release
* refactor: restore old normalizeFilename
* fix: add loadContentConfig error classes back
* Add initial tests for renderEntry
* add fixture tests
* Use head propagation APIs in renderEntry
* chore: new type gen
* fix: sort content keys before writing
* fix: avoid writing '.' collection with warning
* chore: docs types generated
* fix: generated types only once in build
* fix: use relative path to config for git
* chore: update generated types
* fix: glob pattern on valid exts
* feat: warn on possible collection typos
* chore: better error on bad lazy import
* fix: clear gray-matter cache for rawData
* fix: wait for config file while generating
* test: get collection and get entry basic
* test: multiple collections and entries
* test: add publishedDate test on entry
* tests: getStaticPaths integration
* test: ssr endpoint integration
* chore: consistent test names
* refactor: simplify generates... test
* chore: tests lockfile
* feat: add `experimental` flag
* chore: revert blog and docs examples
* chore: add experimental flag to with-content
* refactor: reuse contentFileExts
* refactor: make contentCollectionCss required
* chore: remove parse-imports dependency
* chore: remove unresolved idea redundancy
* chore: update changeset to minor v
* chore: clean up with-content pass 1
* refactor: de-monolith vite-plugin-content
* chore: remove maximum jank warning (it's acceptable jank)
* refactor: extract types-generator to separate file
* refactor: onEvent -> handleEvent
* edit: change content log to "types generated"
* fix: more experimental checks in prod build
* refactor: 2 jsToTreeNode calls -> 1
* feat: change with-content example to blog example
* fix: Content component type
* Fix use of renderEntry within a slot
* fix: warn for non-underscore _ files, refine logs
* chore: Content type in tests
* fix: types no updating with config changes
* fix: remove `result: SSRResult` type
* chore: entry var shadowing
* fix: bad experimental flag call
* wip: skip render entry tests
* fix: path resolution for .relative on windows
* chore: remove dead code
* wip: log entryPath into
* fix: use URL for entry
* refactor: getEntryInfo normalization
* refactor: move debounce to queueEvent only
* fix: resolve loader on config error
* fix: pathToFileURL -> new URL
* fix: dangerous pathname comparison
* refactor: move rawEvent -> event mapping to queueEvent
* fix: bad type
* wip: remove mkdir call
* wip: log content paths
* fix: more bad paths
* wip: more logs
* fix: correct glob path
* fix: normalize virtual mod path
* fix: content server file paths
* chore: remove render entry test skip
* wip: skip renderEntry tests (windows issues?)
* chore: remove console log
* feat: renderEntry -> render
* chore: add `--experimental-content-collections`
* refactor: only skip renderEntry tests on windows
* refactor: index.ts barrel export
* fix: cli type error
* fix: proper test skip on windows
* refactor: remove collectionToPaths :(
* refactor: use AstroError for frontmatter error
* nit: its schema, .*
* fix: bad isWindows import
* fix: await mod -> mod = await
Co-authored-by: Juan Martín Seery <me@juanm04.com>
Co-authored-by: 花果山大圣 <316783812@qq.com>
Co-authored-by: Tony Sullivan <tony.f.sullivan@outlook.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: bholmesdev <bholmesdev@gmail.com>
52 lines
2.2 KiB
Markdown
52 lines
2.2 KiB
Markdown
# Astro Content Collections (Experimental)
|
|
|
|
This demos our Blog Starter using **[the experimental Content Collections API.](https://docs.astro.build/en/guides/content-collections)**
|
|
|
|
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/with-content)
|
|
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/s/github/withastro/astro/tree/latest/examples/with-content)
|
|
|
|
> 🧑🚀 **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/
|
|
│ └── blog/
|
|
│ ├── first.md
|
|
│ └── second.md
|
|
│ └── config.ts
|
|
│ ├── components/
|
|
│ ├── layouts/
|
|
│ └── pages/
|
|
├── astro.config.mjs
|
|
├── README.md
|
|
├── package.json
|
|
└── tsconfig.json
|
|
```
|
|
|
|
`src/content/` contains "collections" of related Markdown and MDX documents. Astro will generate a `getCollection` function to retrieve posts from `src/content/`, and type-check your frontmatter using an optional schema (see `src/content/config.ts`).
|
|
|
|
## 🧞 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?
|
|
|
|
Check out [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
|
|
|
|
## Credit
|
|
|
|
This theme is based off of the lovely [Bear Blog](https://github.com/HermanMartinus/bearblog/).
|