The basic concept for this starter is to integrate a minimal Astro Static Site Generator setup with a headless CMS to edit the markdown files, but without making choices about the web UI framework to use. The focus is have enough batteries for you to start running.
For now, Decap CMS (previously known as Netlify) is used as the headless CMS, as it doesn't require a database, and has a (beta) feature to edit files locally.
There is another contender Static CMS which was forked off a couple of months before Decap CMS took over the project. Although it decided to promote several beta features to official features, it had also decided to swap out the Slate editor, apparently for the interim while they figure out what to do.
Depending on how the two CMSes evolve, this starter may still decide to switch.
Notes:
- A fix is applied to work around a blocking issue with the Slate editor in current version of Decap CMS.
- Integrate DecapCMS, using local Git Gateway backend
- Media folder
- Site settings: about, locations, google analytics, etc
- Demo collection of articles
- Draft field for articles
- Optional tags for articles
- Selectable layout template (with default)
- Own media folder for certain collections (beta)
- [?] (not working as desired) Nested articles - e.g. for wiki or documentation site
- Integrate site CSS
- Integrate site favicon
- Integrate page previews
- Provide basic layouts for the contents, but without bringing in any particular web UI or CSS frameworks
- Provide a very basic baseline CSS just so that it looks decent
- Site logo & favicon
- Article layout
- Article listing page
- Wiki / Docs pages
- About page
- Tags listing page
- PWA site
- static search engine integration
- RSS feed
- Social meta tags
- change
date
topubDate
to align better with RSS feeds - Convert from pages folder to content collections to fully decouple contents from astro codes
- light/dark theme toggle
- page transitions using Swup
- (fancy) special layout for presentation content
- (fancy) special layout or component for code blocks
- (fancy) MDX? no editor
Published date is configured as a datetime, and recorded as UTC. If you want to store date only, it might good to set the date picker to UTC so that everyone sees the same date regardless of where they are.- for pagefind to work, run
npm run build
and thennpm run preview
to test the prod build. The dev build will not work.
- media folder does not support subfolders
- if a collection specify its own media folder, it will not be able to pick from the global folder
- nested collections are wonky, and can only work with index files