nitter.nim 976 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import asyncdispatch
  2. from net import Port
  3. import jester
  4. import types, config, prefs
  5. import views/[general, about]
  6. import routes/[
  7. preferences, timeline, status, media, search, rss, list, unsupported]
  8. const configPath {.strdefine.} = "./nitter.conf"
  9. let cfg = getConfig(configPath)
  10. createUnsupportedRouter(cfg)
  11. createPrefRouter(cfg)
  12. createTimelineRouter(cfg)
  13. createListRouter(cfg)
  14. createStatusRouter(cfg)
  15. createSearchRouter(cfg)
  16. createMediaRouter(cfg)
  17. createRssRouter(cfg)
  18. settings:
  19. port = Port(cfg.port)
  20. staticDir = cfg.staticDir
  21. bindAddr = cfg.address
  22. routes:
  23. get "/":
  24. resp renderMain(renderSearch(), request, cfg.title)
  25. get "/about":
  26. resp renderMain(renderAbout(), request, cfg.title)
  27. get "/explore":
  28. redirect("/about")
  29. get "/help":
  30. redirect("/about")
  31. extend unsupported, ""
  32. extend preferences, ""
  33. extend rss, ""
  34. extend search, ""
  35. extend timeline, ""
  36. extend list, ""
  37. extend status, ""
  38. extend media, ""
  39. runForever()