-
Notifications
You must be signed in to change notification settings - Fork 224
/
Copy pathserver.py
114 lines (100 loc) · 3.14 KB
/
server.py
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
from flask import Flask, abort, redirect, render_template
from jinja2 import TemplateNotFound
DOCS_SIDENAV_ITEMS = [
{"name": "quickstart", "href": "/docs/quickstart", "label": "Quickstart"},
{"name": "themes", "href": "/docs/themes", "label": "Themes"},
{"name": "icons", "href": "/docs/icons", "label": "Icons"},
{"name": "faq", "href": "/docs/faq", "label": "FAQ"},
{"name": "components", "href": "/docs/components", "label": "Components"},
]
THEMES_SIDENAV_ITEMS = DOCS_SIDENAV_ITEMS[:]
THEMES_SIDENAV_ITEMS[1] = {
"name": "themes",
"href": "/docs/themes",
"label": "Themes",
"children": [
{
"name": "overview",
"href": "/docs/themes/",
"label": "Overview",
},
{
"name": "explorer",
"href": "/docs/themes/explorer",
"label": "Theme explorer",
},
],
}
def create_server():
server = Flask(__name__)
@server.route("/")
def index():
try:
return render_template("index.html")
except TemplateNotFound:
abort(404)
@server.route("/docs/")
@server.route("/docs/quickstart/")
def quickstart():
try:
return render_template(
"generated/docs/quickstart.html",
sidenav_items=DOCS_SIDENAV_ITEMS,
sidenav_active="quickstart",
)
except TemplateNotFound:
abort(404)
@server.route("/docs/themes/")
def themes():
try:
return render_template(
"generated/docs/themes.html",
sidenav_items=THEMES_SIDENAV_ITEMS,
sidenav_active="themes",
active_child="overview",
)
except TemplateNotFound:
abort(404)
@server.route("/docs/themes/explorer/")
def theme_explorer():
try:
return render_template("theme-explorer.html")
except TemplateNotFound:
abort(404)
@server.route("/docs/icons/")
def icons():
try:
return render_template(
"generated/docs/icons.html",
sidenav_items=DOCS_SIDENAV_ITEMS,
sidenav_active="icons",
)
except TemplateNotFound:
abort(404)
@server.route("/docs/faq/")
def faq():
try:
return render_template(
"generated/docs/faq.html",
sidenav_items=DOCS_SIDENAV_ITEMS,
sidenav_active="faq",
)
except TemplateNotFound:
abort(404)
@server.route("/l/components/", defaults={"slug": "main"})
@server.route("/l/components/<slug>/")
def components_redirect(slug):
return redirect(f"/docs/components/{slug}", 302)
@server.route("/examples/")
def examples_index():
try:
return render_template("examples-index.html")
except TemplateNotFound:
abort(404)
@server.route("/changelog/")
def changelog():
try:
return render_template("generated/changelog.html")
except TemplateNotFound:
abort(404)
return server