diff --git a/README.md b/README.md index d4b66959..f4c733d8 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ docker run --name devdocs -d -p 9292:9292 devdocs DevDocs is made of two pieces: a Ruby scraper that generates the documentation and metadata, and a JavaScript app powered by a small Sinatra app. -DevDocs requires Ruby 3.3.0 (defined in [`Gemfile`](./Gemfile)), libcurl, and a JavaScript runtime supported by [ExecJS](https://github.com/rails/execjs#readme) (included in OS X and Windows; [Node.js](https://nodejs.org/en/) on Linux). Once you have these installed, run the following commands: +DevDocs requires Ruby 3.4.1 (defined in [`Gemfile`](./Gemfile)), libcurl, and a JavaScript runtime supported by [ExecJS](https://github.com/rails/execjs#readme) (included in OS X and Windows; [Node.js](https://nodejs.org/en/) on Linux). Once you have these installed, run the following commands: ```sh git clone https://github.com/freeCodeCamp/devdocs.git && cd devdocs diff --git a/assets/javascripts/app/settings.js b/assets/javascripts/app/settings.js index 1dbe3440..617830ec 100644 --- a/assets/javascripts/app/settings.js +++ b/assets/javascripts/app/settings.js @@ -16,6 +16,7 @@ app.Settings = class Settings { "autoInstall", "spaceScroll", "spaceTimeout", + "noDocSpecificIcon", ]; static INTERNAL_KEYS = ["count", "schema", "version", "news"]; @@ -38,6 +39,7 @@ app.Settings = class Settings { theme: "auto", spaceScroll: 1, spaceTimeout: 0.5, + noDocSpecificIcon: false, }; constructor() { diff --git a/assets/javascripts/lib/favicon.js b/assets/javascripts/lib/favicon.js index c4be8d74..6b58016c 100644 --- a/assets/javascripts/lib/favicon.js +++ b/assets/javascripts/lib/favicon.js @@ -19,7 +19,7 @@ const withImage = function (url, action) { }; this.setFaviconForDoc = function (doc) { - if (currentSlug === doc.slug) { + if (currentSlug === doc.slug || app.settings.get("noDocSpecificIcon")) { return; } diff --git a/assets/javascripts/templates/pages/settings_tmpl.js b/assets/javascripts/templates/pages/settings_tmpl.js index 1fae3975..cfd30de1 100644 --- a/assets/javascripts/templates/pages/settings_tmpl.js +++ b/assets/javascripts/templates/pages/settings_tmpl.js @@ -66,6 +66,12 @@ app.templates.settingsPage = (settings) => `\ }>Enable tracking cookies With this checked, we enable Google Analytics and Gauges to collect anonymous traffic information. + diff --git a/assets/javascripts/views/content/settings_page.js b/assets/javascripts/views/content/settings_page.js index 8b1dd32c..46cacb3c 100644 --- a/assets/javascripts/views/content/settings_page.js +++ b/assets/javascripts/views/content/settings_page.js @@ -20,6 +20,7 @@ app.views.SettingsPage = class SettingsPage extends app.View { settings.analyticsConsent = app.settings.get("analyticsConsent"); settings.spaceScroll = app.settings.get("spaceScroll"); settings.spaceTimeout = app.settings.get("spaceTimeout"); + settings.noDocSpecificIcon = app.settings.get("noDocSpecificIcon"); settings.autoSupported = app.settings.autoSupported; for (var layout of app.Settings.LAYOUTS) { settings[layout] = app.settings.hasLayout(layout);