repos / starfx

supercharged async flow control library.
git clone https://github.com/neurosnap/starfx.git

starfx / docs
Eric Bower · 26 Aug 24

main.go

  1package main
  2
  3import (
  4	"log/slog"
  5
  6	"github.com/picosh/pdocs"
  7)
  8
  9func main() {
 10	pager := pdocs.Pager("./posts")
 11	sitemap := &pdocs.Sitemap{
 12		Children: []*pdocs.Sitemap{
 13			{
 14				Text: "Home",
 15				Href: "/",
 16				Page: pager("home.md"),
 17			},
 18			{
 19				Text: "Sitemap",
 20				Href: "/sitemap",
 21				Page: pager("sitemap.md"),
 22			},
 23			{
 24				Text: "Getting started",
 25				Href: "/getting-started",
 26				Page: pager("getting-started.md"),
 27			},
 28			{
 29				Text: "Learn",
 30				Href: "/learn",
 31				Page: pager("learn.md"),
 32			},
 33			{
 34				Text: "Controllers",
 35				Href: "/controllers",
 36				Page: pager("controllers.md"),
 37				Children: []*pdocs.Sitemap{
 38					{
 39						Text: "Thunks",
 40						Href: "/thunks",
 41						Page: pager("thunks.md"),
 42					},
 43					{
 44						Text: "Endpoints",
 45						Href: "/endpoints",
 46						Page: pager("endpoints.md"),
 47					},
 48					{
 49						Text: "Dispatch",
 50						Href: "/dispatch",
 51						Page: pager("dispatch.md"),
 52					},
 53				},
 54			},
 55			{
 56				Text: "Models",
 57				Href: "/models",
 58				Page: pager("models.md"),
 59				Children: []*pdocs.Sitemap{
 60					{
 61
 62						Text: "Store",
 63						Href: "/store",
 64						Page: pager("store.md"),
 65					},
 66					{
 67						Text: "Schema",
 68						Href: "/schema",
 69						Page: pager("schema.md"),
 70					},
 71					{
 72						Text: "Selectors",
 73						Href: "/selectors",
 74						Page: pager("selectors.md"),
 75					},
 76				},
 77			},
 78			{
 79				Text: "React",
 80				Href: "/react",
 81				Page: pager("react.md"),
 82			},
 83			{
 84				Text: "Guides & Concepts",
 85				Children: []*pdocs.Sitemap{
 86					{
 87						Text: "Caching",
 88						Href: "/caching",
 89						Page: pager("caching.md"),
 90					},
 91					{
 92						Text: "Dependent Queries",
 93						Href: "/dependent-queries",
 94						Page: pager("dependent.md"),
 95					},
 96					{
 97						Text: "Middleware",
 98						Href: "/middleware",
 99						Page: pager("mdw.md"),
100					},
101					{
102						Text: "Loaders",
103						Href: "/loaders",
104						Page: pager("loaders.md"),
105					},
106					{
107						Text: "FX",
108						Href: "/fx",
109						Page: pager("fx.md"),
110					},
111					{
112						Text: "Error Handling",
113						Href: "/error-handling",
114						Page: pager("error-handling.md"),
115					},
116					{
117						Text: "Structured Concurrency",
118						Href: "/structured-concurrency",
119						Page: pager("structured-concurrency.md"),
120					},
121					{
122						Text: "Supervisors",
123						Href: "/supervisors",
124						Page: pager("supervisors.md"),
125					},
126					{
127						Text: "Testing",
128						Href: "/testing",
129						Page: pager("testing.md"),
130					},
131					{
132						Text: "Design Philosophy",
133						Href: "/design-philosophy",
134						Page: pager("design-philosophy.md"),
135					},
136				},
137			},
138			{
139				Text: "Resources",
140				Href: "/resources",
141				Page: pager("resources.md"),
142			},
143		},
144	}
145
146	logger := slog.Default()
147	config := &pdocs.DocConfig{
148		Logger:   logger,
149		Sitemap:  sitemap,
150		Out:      "./public",
151		Tmpl:     "./tmpl",
152		PageTmpl: "post.page.tmpl",
153	}
154
155	err := config.GenSite()
156	if err != nil {
157		panic(err)
158	}
159}