diff --git a/nitter.example.conf b/nitter.example.conf index 8e9454e..d4dfdbf 100644 --- a/nitter.example.conf +++ b/nitter.example.conf @@ -28,6 +28,7 @@ tokenCount = 10 # the limit gets reset every 15 minutes, and the pool is filled up so there's # always at least $tokenCount usable tokens. again, only increase this if # you receive major bursts all the time +enableRSS = true # set this to false to disable RSS feeds # Change default preferences here, see src/prefs_impl.nim for a complete list [Preferences] diff --git a/src/config.nim b/src/config.nim index 31eda23..db09533 100644 --- a/src/config.nim +++ b/src/config.nim @@ -26,6 +26,7 @@ proc getConfig*(path: string): (Config, parseCfg.Config) = hmacKey: cfg.get("Config", "hmacKey", "secretkey"), base64Media: cfg.get("Config", "base64Media", false), minTokens: cfg.get("Config", "tokenCount", 10), + enableRSS: cfg.get("Config", "enableRSS", true), listCacheTime: cfg.get("Cache", "listMinutes", 120), rssCacheTime: cfg.get("Cache", "rssMinutes", 10), diff --git a/src/nitter.nim b/src/nitter.nim index 2e69576..08946e5 100644 --- a/src/nitter.nim +++ b/src/nitter.nim @@ -48,7 +48,8 @@ createStatusRouter(cfg) createSearchRouter(cfg) createMediaRouter(cfg) createEmbedRouter(cfg) -createRssRouter(cfg) +if cfg.enableRSS: + createRssRouter(cfg) settings: port = Port(cfg.port) diff --git a/src/types.nim b/src/types.nim index 8d8355d..27c0dc6 100644 --- a/src/types.nim +++ b/src/types.nim @@ -216,6 +216,7 @@ type hmacKey*: string base64Media*: bool minTokens*: int + enableRSS*: bool rssCacheTime*: int listCacheTime*: int diff --git a/src/views/general.nim b/src/views/general.nim index 13b2cb1..1ddd512 100644 --- a/src/views/general.nim +++ b/src/views/general.nim @@ -11,7 +11,7 @@ const doctype = "\n" lp = readFile("public/lp.svg") -proc renderNavbar*(title, rss: string; req: Request): VNode = +proc renderNavbar*(cfg: Config, rss: string; req: Request): VNode = let twitterPath = getTwitterLink(req.path, req.params) var path = $(parseUri(req.path) ? filterParams(req.params)) if "/status" in path: path.add "#m" @@ -19,13 +19,13 @@ proc renderNavbar*(title, rss: string; req: Request): VNode = buildHtml(nav): tdiv(class="inner-nav"): tdiv(class="nav-item"): - a(class="site-name", href="/"): text title + a(class="site-name", href="/"): text cfg.title a(href="/"): img(class="site-logo", src="/logo.png", alt="Logo") tdiv(class="nav-item right"): icon "search", title="Search", href="/search" - if rss.len > 0: + if cfg.enableRSS and rss.len > 0: icon "rss-feed", title="RSS Feed", href=rss icon "bird", title="Open in Twitter", href=twitterPath a(href="https://liberapay.com/zedeus"): verbatim lp @@ -58,7 +58,7 @@ proc renderHead*(prefs: Prefs; cfg: Config; titleText=""; desc=""; video=""; link(rel="search", type="application/opensearchdescription+xml", title=cfg.title, href=opensearchUrl) - if rss.len > 0: + if cfg.enableRSS and rss.len > 0: link(rel="alternate", type="application/rss+xml", href=rss, title="RSS feed") if prefs.hlsPlayback: @@ -121,7 +121,7 @@ proc renderMain*(body: VNode; req: Request; cfg: Config; prefs=defaultPrefs; renderHead(prefs, cfg, titleText, desc, video, images, banner, ogTitle, theme, rss) body: - renderNavbar(cfg.title, rss, req) + renderNavbar(cfg, rss, req) tdiv(class="container"): body