diff --git a/src/lib/constants.js b/src/lib/constants.js index ce7bf7a..f16a083 100644 --- a/src/lib/constants.js +++ b/src/lib/constants.js @@ -24,7 +24,8 @@ let constants = { allow_user_from_reel: "preferForRSS", // one of: "never", "fallback", "prefer", "onlyPreferSaved", "preferForRSS" settings: { - rss_enabled: true + rss_enabled: true, + display_feed_validation_buttons: false }, caching: { diff --git a/src/site/api/routes.js b/src/site/api/routes.js index c1be33d..d7fb391 100644 --- a/src/site/api/routes.js +++ b/src/site/api/routes.js @@ -58,7 +58,8 @@ module.exports = [ if (typeof page === "number" && !isNaN(page) && page >= 1) { await user.timeline.fetchUpToPage(page - 1) } - return render(200, "pug/user.pug", {url, user, constants, website_origin: constants.website_origin}) + const {website_origin, settings: {display_feed_validation_buttons}} = constants + return render(200, "pug/user.pug", {url, user, constants, website_origin, display_feed_validation_buttons}) }).catch(error => { if (error === constants.symbols.NOT_FOUND || error === constants.symbols.ENDPOINT_OVERRIDDEN) { return render(404, "pug/friendlyerror.pug", { diff --git a/src/site/pug/includes/feed_link.pug b/src/site/pug/includes/feed_link.pug index b30eeb2..a3e7772 100644 --- a/src/site/pug/includes/feed_link.pug +++ b/src/site/pug/includes/feed_link.pug @@ -1,9 +1,10 @@ -mixin feed_link(name, urlPart, username, contentType) +mixin feed_link(name, urlPart, username, contentType, display_feed_validation_buttons) span a(rel="alternate" type=contentType href=`/u/${username}/${urlPart}.xml`) = name - sup.validate-feed - - - let params = new URLSearchParams() - params.set("url", `${website_origin}/u/${username}/${urlPart}.xml`) - a(href="https://validator.w3.org/feed/check.cgi?"+params.toString() title="Validate this feed") v! + if display_feed_validation_buttons + sup.validate-feed + - + let params = new URLSearchParams() + params.set("url", `${website_origin}/u/${username}/${urlPart}.xml`) + a(href="https://validator.w3.org/feed/check.cgi?"+params.toString() title="Validate this feed") v! diff --git a/src/site/pug/user.pug b/src/site/pug/user.pug index 5bad081..75bbc98 100644 --- a/src/site/pug/user.pug +++ b/src/site/pug/user.pug @@ -1,4 +1,4 @@ -//- Needs user, url, constants, website_origin +//- Needs user, url, constants, website_origin, display_feed_validation_buttons include includes/timeline_page.pug include includes/next_page_button.pug @@ -44,8 +44,8 @@ html div.profile-counter #[span(data-numberformat=user.followedBy).count #{numberFormat(user.followedBy)}] followed by div.links if constants.settings.rss_enabled - +feed_link("RSS", "rss", user.data.username, "application/rss+xml") - +feed_link("Atom", "atom", user.data.username, "application/atom+xml") + +feed_link("RSS", "rss", user.data.username, "application/rss+xml", display_feed_validation_buttons) + +feed_link("Atom", "atom", user.data.username, "application/atom+xml", display_feed_validation_buttons) a(rel="noreferrer noopener" href=`https://www.instagram.com/${user.data.username}`) instagram.com - const hasPosts = !user.data.is_private && user.timeline.pages.length && user.timeline.pages[0].length