Add enableRSS setting in config file
Useful for instance owners who want to disable the RSS endpoint for reasons such as abuse and not enough server resources to handle heavy network traffic through that endpoint. Resolves #437
This commit is contained in:
parent
5caf77481f
commit
2edf54d5b3
5 changed files with 11 additions and 7 deletions
|
@ -28,6 +28,7 @@ tokenCount = 10
|
||||||
# the limit gets reset every 15 minutes, and the pool is filled up so there's
|
# 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
|
# always at least $tokenCount usable tokens. again, only increase this if
|
||||||
# you receive major bursts all the time
|
# 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
|
# Change default preferences here, see src/prefs_impl.nim for a complete list
|
||||||
[Preferences]
|
[Preferences]
|
||||||
|
|
|
@ -25,6 +25,7 @@ proc getConfig*(path: string): (Config, parseCfg.Config) =
|
||||||
hmacKey: cfg.get("Config", "hmacKey", "secretkey"),
|
hmacKey: cfg.get("Config", "hmacKey", "secretkey"),
|
||||||
base64Media: cfg.get("Config", "base64Media", false),
|
base64Media: cfg.get("Config", "base64Media", false),
|
||||||
minTokens: cfg.get("Config", "tokenCount", 10),
|
minTokens: cfg.get("Config", "tokenCount", 10),
|
||||||
|
enableRSS: cfg.get("Config", "enableRSS", true),
|
||||||
|
|
||||||
listCacheTime: cfg.get("Cache", "listMinutes", 120),
|
listCacheTime: cfg.get("Cache", "listMinutes", 120),
|
||||||
rssCacheTime: cfg.get("Cache", "rssMinutes", 10),
|
rssCacheTime: cfg.get("Cache", "rssMinutes", 10),
|
||||||
|
|
|
@ -46,7 +46,8 @@ createStatusRouter(cfg)
|
||||||
createSearchRouter(cfg)
|
createSearchRouter(cfg)
|
||||||
createMediaRouter(cfg)
|
createMediaRouter(cfg)
|
||||||
createEmbedRouter(cfg)
|
createEmbedRouter(cfg)
|
||||||
createRssRouter(cfg)
|
if cfg.enableRSS:
|
||||||
|
createRssRouter(cfg)
|
||||||
|
|
||||||
settings:
|
settings:
|
||||||
port = Port(cfg.port)
|
port = Port(cfg.port)
|
||||||
|
|
|
@ -126,7 +126,7 @@ type
|
||||||
videoDirectMessage = "video_direct_message"
|
videoDirectMessage = "video_direct_message"
|
||||||
imageDirectMessage = "image_direct_message"
|
imageDirectMessage = "image_direct_message"
|
||||||
audiospace = "audiospace"
|
audiospace = "audiospace"
|
||||||
|
|
||||||
Card* = object
|
Card* = object
|
||||||
kind*: CardKind
|
kind*: CardKind
|
||||||
id*: string
|
id*: string
|
||||||
|
@ -212,6 +212,7 @@ type
|
||||||
hmacKey*: string
|
hmacKey*: string
|
||||||
base64Media*: bool
|
base64Media*: bool
|
||||||
minTokens*: int
|
minTokens*: int
|
||||||
|
enableRSS*: bool
|
||||||
|
|
||||||
rssCacheTime*: int
|
rssCacheTime*: int
|
||||||
listCacheTime*: int
|
listCacheTime*: int
|
||||||
|
|
|
@ -10,7 +10,7 @@ const
|
||||||
doctype = "<!DOCTYPE html>\n"
|
doctype = "<!DOCTYPE html>\n"
|
||||||
lp = readFile("public/lp.svg")
|
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)
|
let twitterPath = getTwitterLink(req.path, req.params)
|
||||||
var path = $(parseUri(req.path) ? filterParams(req.params))
|
var path = $(parseUri(req.path) ? filterParams(req.params))
|
||||||
if "/status" in path: path.add "#m"
|
if "/status" in path: path.add "#m"
|
||||||
|
@ -18,13 +18,13 @@ proc renderNavbar*(title, rss: string; req: Request): VNode =
|
||||||
buildHtml(nav):
|
buildHtml(nav):
|
||||||
tdiv(class="inner-nav"):
|
tdiv(class="inner-nav"):
|
||||||
tdiv(class="nav-item"):
|
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")
|
a(href="/"): img(class="site-logo", src="/logo.png")
|
||||||
|
|
||||||
tdiv(class="nav-item right"):
|
tdiv(class="nav-item right"):
|
||||||
icon "search", title="Search", href="/search"
|
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 "rss-feed", title="RSS Feed", href=rss
|
||||||
icon "bird", title="Open in Twitter", href=twitterPath
|
icon "bird", title="Open in Twitter", href=twitterPath
|
||||||
a(href="https://liberapay.com/zedeus"): verbatim lp
|
a(href="https://liberapay.com/zedeus"): verbatim lp
|
||||||
|
@ -57,7 +57,7 @@ proc renderHead*(prefs: Prefs; cfg: Config; titleText=""; desc=""; video="";
|
||||||
link(rel="search", type="application/opensearchdescription+xml", title=cfg.title,
|
link(rel="search", type="application/opensearchdescription+xml", title=cfg.title,
|
||||||
href=opensearchUrl)
|
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")
|
link(rel="alternate", type="application/rss+xml", href=rss, title="RSS feed")
|
||||||
|
|
||||||
if prefs.hlsPlayback:
|
if prefs.hlsPlayback:
|
||||||
|
@ -119,7 +119,7 @@ proc renderMain*(body: VNode; req: Request; cfg: Config; prefs=defaultPrefs;
|
||||||
renderHead(prefs, cfg, titleText, desc, video, images, banner, ogTitle, theme, rss)
|
renderHead(prefs, cfg, titleText, desc, video, images, banner, ogTitle, theme, rss)
|
||||||
|
|
||||||
body:
|
body:
|
||||||
renderNavbar(cfg.title, rss, req)
|
renderNavbar(cfg, rss, req)
|
||||||
|
|
||||||
tdiv(class="container"):
|
tdiv(class="container"):
|
||||||
body
|
body
|
||||||
|
|
Loading…
Reference in a new issue