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}