diff --git a/_config.yml b/_config.yml index 8bb5eba90c48..0f40a01b7709 100644 --- a/_config.yml +++ b/_config.yml @@ -310,7 +310,7 @@ enable_navbar_social: false # enables displaying social links in the enable_project_categories: true # enables categorization of projects into # multiple categories enable_medium_zoom: true # enables image zoom feature (as on medium.com) - +enable_progressbar: false # enables a horizontal progress bar linked to the vertical scroll position # ----------------------------------------------------------------------------- # Library versions diff --git a/_includes/header.html b/_includes/header.html index 29bb66c43290..79779f6a44ff 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -108,4 +108,12 @@ - \ No newline at end of file +{% if site.enable_progressbar %} + + +
+ +
+
+{%- endif %} + diff --git a/_includes/scripts/progressBar.html b/_includes/scripts/progressBar.html new file mode 100644 index 000000000000..88bb73cd35e4 --- /dev/null +++ b/_includes/scripts/progressBar.html @@ -0,0 +1,80 @@ +{% if site.enable_progressbar %} + + + + +{%- endif %} diff --git a/_layouts/default.html b/_layouts/default.html index 1d291e406fca..2887107cc95f 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -30,5 +30,6 @@ {% include scripts/misc.html %} {% include scripts/mathjax.html %} {% include scripts/analytics.html %} + {% include scripts/progressBar.html %} diff --git a/_layouts/distill.html b/_layouts/distill.html index 018b2897dd44..b104771aa720 100644 --- a/_layouts/distill.html +++ b/_layouts/distill.html @@ -105,5 +105,6 @@

Contents

{% include scripts/bootstrap.html %} {% include scripts/analytics.html %} + {% include scripts/progressBar.html %} diff --git a/_sass/_base.scss b/_sass/_base.scss index 0efbcb98535b..f507af59a18d 100644 --- a/_sass/_base.scss +++ b/_sass/_base.scss @@ -656,3 +656,58 @@ html.transition *:after { } } } + +progress { + /* Positioning */ + position: fixed; + left: 0; + top: 56px; + z-index: 10; + + /* Dimensions */ + width: 100%; + height: 5px; + + /* Reset the appearance */ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + + /* Get rid of the default border in Firefox/Opera. */ + border: none; + + /* Progress bar container for Firefox/IE10 */ + background-color: transparent; + + /* Progress bar value for IE10 */ + color: var(--global-theme-color); + } + + progress::-webkit-progress-bar { + background-color: transparent; + } + + progress::-webkit-progress-value { + background-color: var(--global-theme-color); + } + + progress::-moz-progress-bar { + background-color: var(--global-theme-color); + } + + .progress-container { + width: 100%; + background-color: transparent; + position: fixed; + top: 56px; + left: 0; + height: 5px; + display: block; + } + + .progress-bar { + background-color: var(--global-theme-color); + width: 0%; + display: block; + height: inherit; + }