History

Merge pull request #2422 from SgiobairOg/1074-make-language-specific-favicon-optional

[1074] Make Language Specific Favicon Optional

Simon Legner committed 1 year ago

Commit be5cecc2 parents 1c07f17 5add0f95 files · +11 −2Browse files

Unified · Split

5 files
  1. README.md +1 −1
  2. assets/javascripts/app/settings.js +2 −0
  3. assets/javascripts/lib/favicon.js +1 −1
  4. assets/javascripts/templates/pages/settings_tmpl.js +6 −0
  5. assets/javascripts/views/content/settings_page.js +1 −0
README.md+1−1
@@ -46,7 +46,7 @@ docker run --name devdocs -d -p 9292:9292 devdocs · 45 unmodified lines
46 46
47DevDocs is made of two pieces: a Ruby scraper that generates the documentation and metadata, and a JavaScript app powered by a small Sinatra app.47DevDocs is made of two pieces: a Ruby scraper that generates the documentation and metadata, and a JavaScript app powered by a small Sinatra app.
48 48
49DevDocs 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:49DevDocs 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:
50 50
51```sh51```sh
52git clone https://github.com/freeCodeCamp/devdocs.git && cd devdocs52git clone https://github.com/freeCodeCamp/devdocs.git && cd devdocs
assets/javascripts/app/settings.js+2−0
@@ -16,6 +16,7 @@ app.Settings = class Settings { · 15 unmodified lines
16 "autoInstall",16 "autoInstall",
17 "spaceScroll",17 "spaceScroll",
18 "spaceTimeout",18 "spaceTimeout",
19 "noDocSpecificIcon",
19 ];20 ];
20 21
21 static INTERNAL_KEYS = ["count", "schema", "version", "news"];22 static INTERNAL_KEYS = ["count", "schema", "version", "news"];
@@ -38,6 +39,7 @@ app.Settings = class Settings { · 16 unmodified lines
38 theme: "auto",39 theme: "auto",
39 spaceScroll: 1,40 spaceScroll: 1,
40 spaceTimeout: 0.5,41 spaceTimeout: 0.5,
42 noDocSpecificIcon: false,
41 };43 };
42 44
43 constructor() {45 constructor() {
assets/javascripts/lib/favicon.js+1−1
@@ -19,7 +19,7 @@ const withImage = function (url, action) { · 18 unmodified lines
19};19};
20 20
21this.setFaviconForDoc = function (doc) {21this.setFaviconForDoc = function (doc) {
22 if (currentSlug === doc.slug) {22 if (currentSlug === doc.slug || app.settings.get("noDocSpecificIcon")) {
23 return;23 return;
24 }24 }
25 25
assets/javascripts/templates/pages/settings_tmpl.js+6−0
@@ -66,6 +66,12 @@ app.templates.settingsPage = (settings) => `\ · 65 unmodified lines
66 }>Enable tracking cookies66 }>Enable tracking cookies
67 <small>With this checked, we enable Google Analytics and Gauges to collect anonymous traffic information.</small>67 <small>With this checked, we enable Google Analytics and Gauges to collect anonymous traffic information.</small>
68 </label>68 </label>
69 <label class="_settings-label _hide-on-mobile">
70 <input type="checkbox" form="settings" name="noDocSpecificIcon"${
71 settings.noDocSpecificIcon ? " checked" : ""
72 }>Disable Language-specific Doc Favicons
73 <small>With this checked, we will display the default DevDocs icon for all pages.</small>
74 </label>
69 </div>75 </div>
70</div>76</div>
71 77
assets/javascripts/views/content/settings_page.js+1−0
@@ -20,6 +20,7 @@ app.views.SettingsPage = class SettingsPage extends app.View { · 19 unmodified lines
20 settings.analyticsConsent = app.settings.get("analyticsConsent");20 settings.analyticsConsent = app.settings.get("analyticsConsent");
21 settings.spaceScroll = app.settings.get("spaceScroll");21 settings.spaceScroll = app.settings.get("spaceScroll");
22 settings.spaceTimeout = app.settings.get("spaceTimeout");22 settings.spaceTimeout = app.settings.get("spaceTimeout");
23 settings.noDocSpecificIcon = app.settings.get("noDocSpecificIcon");
23 settings.autoSupported = app.settings.autoSupported;24 settings.autoSupported = app.settings.autoSupported;
24 for (var layout of app.Settings.LAYOUTS) {25 for (var layout of app.Settings.LAYOUTS) {
25 settings[layout] = app.settings.hasLayout(layout);26 settings[layout] = app.settings.hasLayout(layout);