Minimal site
import Astral.Config
site do
pages "pages"
layouts "layouts" do
default "default.html"
end
endCommon paths
site do
root "."
outdir "dist"
pages "pages"
public "public"
components "components"
endLayouts
layouts "layouts" do
default "default.html"
endUse a .astral layout:
layouts "layouts" do
default "site.astral"
endAssets
assets "assets" do
entry "app.ts"
url_prefix "/assets"
hash true
endContent collections
collections do
collection :posts, "content/posts" do
permalink "/blog/:slug/"
layout "post.html"
schema %{
required(:title) => String.t(),
required(:date) => String.t(),
optional(:draft) => boolean()
}
end
endPlugins
plugins [
{Astral.Plugin.Feed,
site_url: "https://example.com",
title: "My Blog",
author: "Me",
collection: :posts},
{Astral.Plugin.Sitemap,
site_url: "https://example.com"}
]