astro/examples/blog
Nate Moore 17c02925c5
Migrate to new config (#2962)
* wip: config migration

* fix: formatting

* refactor: projectRoot -> root

* refactor: pageUrlFormat -> format

* refactor: buildOptions.site -> site

* refactor: public -> publicDir

* refactor: dist -> outDir

* refactor: styleOptions -> style

* fix: some dist tests -> outDir

* refactor: remove legacyBuild (with TODOs)

* refactor: more legacyBuild cleanup

* refactor: server host and port

* fix: remove experimentalStaticBuild CLI flag

* refactor: src -> srcDir

* refactor: devOptions.trailing -> trailing

* refactor: remove sitemap + related flags

* refactor: experimentalSSR -> experimental.ssr

* fix: last devOptions

* refactor: drafts -> markdown.drafts

* fix: TS error on port as const

* refactor: remove pages

* refactor: more --project-root updates

* refactor: markdownOptions -> markdown

* fix: remaining type errors

* feat: update AstroUserConfig

* refactor: update CLI flag mapper + server mapper

* fix: loadFixture projectRoot

* fix: merge CLI flags before validating / transforming

* wip: attempt to fix bad createRouteManifest config

* refactor: combine config.base and config.site

* fix: skip route manifest test for now

* fix: site and base handling

* refactor: update failing config testes

* fix: build failure

* feat: update config types with migration help

* chore: update types

* fix(deno): update deno fixture

* chore: remove config migration logic

* chore: remove logLevel

* chore: clean-up config types

* chore: update config warning

* chore: add changeset

* Sitemap Integration (#2965)

* feat: add sitemap filter config option

* feat: add canonicalURL sitemap config option

* docs: update sitemap README

* fix: update for new config

* fix: filter not being applied

* chore: changeset

Co-authored-by: bholmesdev <hey@bholmes.dev>

* fred pass

* fix: Astro.resolve typo

* fix: public => publicDir

Co-authored-by: bholmesdev <hey@bholmes.dev>
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2022-04-02 12:29:59 -06:00
..
.vscode [ci] format 2022-03-22 03:16:42 +00:00
public move styles to src (#2003) 2021-11-24 11:10:12 -08:00
src New Markdown API (#2862) 2022-03-28 17:16:06 -07:00
.gitignore chore(.gitignore): remove pnpm error logs from git (#2938) 2022-03-30 10:41:53 -05:00
.npmrc Move from yarn to pnpm (#2455) 2022-03-08 15:46:11 -06:00
.stackblitzrc update examples for stackblitz (#1379) 2021-09-16 08:06:22 -07:00
astro.config.mjs Migrate to new config (#2962) 2022-04-02 12:29:59 -06:00
package.json [ci] release (#2923) 2022-03-28 16:52:04 -07:00
README.md update repo URL (#1994) 2021-11-23 14:47:05 -08:00
sandbox.config.json Adding CodeSandbox config file to all the "next" examples (#1744) 2021-11-05 10:41:37 -05:00
tsconfig.json Adjust TSConfig example files to include compilerOptions (#2278) 2021-12-26 22:39:30 -05:00

Astro Starter Kit: Blog

npm init astro -- --template blog

Open in StackBlitz

🧑‍🚀 Seasoned astronaut? Delete this file. Have fun!

Features:

  • SEO-friendly setup with canonical URLs and OpenGraph data
  • Full Markdown support
  • RSS 2.0 generation
  • Sitemap.xml generation

🚀 Project Structure

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

/
├── public/
│   ├── robots.txt
│   └── favicon.ico
├── src/
│   ├── components/
│   │   └── Tour.astro
│   └── pages/
│       └── index.astro
└── package.json

Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.

There's nothing special about src/components/, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.

Any static assets, like images, can be placed in the public/ directory.

🧞 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

👀 Want to learn more?

Feel free to check our documentation or jump into our Discord server.