-
-
Notifications
You must be signed in to change notification settings - Fork 257
Expand file tree
/
Copy pathroutes.res
More file actions
58 lines (51 loc) · 2.14 KB
/
routes.res
File metadata and controls
58 lines (51 loc) · 2.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
open ReactRouter.Routes
let stdlibPaths = {
let rawFile = await Node.Fs.readFile("./markdown-pages/docs/api/stdlib.json", "utf-8")
let json = JSON.parseOrThrow(rawFile)
switch json {
| Object(json) => Dict.keysToArray(json)
| _ => []
}
->Array.map(key => "docs/manual/api/" ++ key)
->Array.filter(path => path !== "docs/manual/api/stdlib")
}
let beltPaths = {
let rawFile = await Node.Fs.readFile("./markdown-pages/docs/api/belt.json", "utf-8")
let json = JSON.parseOrThrow(rawFile)
switch json {
| Object(json) => Dict.keysToArray(json)
| _ => []
}
->Array.map(key => "docs/manual/api/" ++ key)
->Array.filter(path => path !== "docs/manual/api/belt")
}
let stdlibRoutes =
stdlibPaths->Array.map(path => route(path, "./routes/ApiRoute.jsx", ~options={id: path}))
let beltRoutes =
beltPaths->Array.map(path => route(path, "./routes/ApiRoute.jsx", ~options={id: path}))
let blogArticleRoutes =
MdxFile.scanPaths(~dir="markdown-pages/blog", ~alias="blog")->Array.map(path =>
route(path, "./routes/BlogArticleRoute.jsx", ~options={id: path})
)
let mdxRoutes =
mdxRoutes("./routes/MdxRoute.jsx")->Array.filter(r =>
!(r.path->Option.map(String.includes(_, "blog"))->Option.getOr(false))
)
let default = [
index("./routes/LandingPageRoute.jsx"),
route("packages", "./routes/PackagesRoute.jsx"),
route("try", "./routes/TryRoute.jsx"),
route("syntax-lookup", "./routes/SyntaxLookupRoute.jsx", ~options={id: "syntax-lookup"}),
route("blog", "./routes/BlogRoute.jsx", ~options={id: "blog-index"}),
route("blog/archived", "./routes/BlogRoute.jsx", ~options={id: "blog-archived"}),
route("docs", "./routes/DocsOverview.jsx", ~options={id: "docs-overview"}),
route("docs/manual/api/stdlib", "./routes/ApiRoute.jsx", ~options={id: "api-stdlib"}),
route("docs/manual/api/introduction", "./routes/ApiRoute.jsx", ~options={id: "api-intro"}),
route("docs/manual/api/belt", "./routes/ApiRoute.jsx", ~options={id: "api-belt"}),
route("docs/manual/api/dom", "./routes/ApiRoute.jsx", ~options={id: "api-dom"}),
...stdlibRoutes,
...beltRoutes,
...blogArticleRoutes,
...mdxRoutes,
route("*", "./routes/NotFoundRoute.jsx"),
]