2019-09-06 09:42:35 +09:00
|
|
|
import asyncdispatch
|
2019-07-31 09:15:43 +09:00
|
|
|
from net import Port
|
2019-06-20 23:16:20 +09:00
|
|
|
|
2019-09-06 09:42:35 +09:00
|
|
|
import jester
|
2019-06-25 06:25:21 +09:00
|
|
|
|
2019-09-06 09:42:35 +09:00
|
|
|
import types, config, prefs
|
|
|
|
import views/general
|
|
|
|
import routes/[preferences, timeline, media]
|
2019-06-20 23:16:20 +09:00
|
|
|
|
2019-07-31 09:15:43 +09:00
|
|
|
const configPath {.strdefine.} = "./nitter.conf"
|
|
|
|
let cfg = getConfig(configPath)
|
2019-06-23 09:46:46 +09:00
|
|
|
|
2019-09-06 09:42:35 +09:00
|
|
|
createPrefRouter(cfg)
|
|
|
|
createTimelineRouter(cfg)
|
|
|
|
createMediaRouter(cfg)
|
2019-07-31 09:15:43 +09:00
|
|
|
|
|
|
|
settings:
|
|
|
|
port = Port(cfg.port)
|
|
|
|
staticDir = cfg.staticDir
|
|
|
|
bindAddr = cfg.address
|
|
|
|
|
2019-06-20 23:16:20 +09:00
|
|
|
routes:
|
|
|
|
get "/":
|
2019-08-20 03:25:00 +09:00
|
|
|
resp renderMain(renderSearch(), Prefs(), cfg.title)
|
2019-06-20 23:16:20 +09:00
|
|
|
|
|
|
|
post "/search":
|
|
|
|
if @"query".len == 0:
|
2019-08-16 06:17:13 +09:00
|
|
|
resp Http404, showError("Please enter a username.", cfg.title)
|
2019-06-20 23:16:20 +09:00
|
|
|
redirect("/" & @"query")
|
|
|
|
|
2019-09-06 09:42:35 +09:00
|
|
|
extend preferences, ""
|
|
|
|
extend timeline, ""
|
|
|
|
extend media, ""
|
2019-06-20 23:16:20 +09:00
|
|
|
|
|
|
|
runForever()
|