Skip to content

Commit

Permalink
Merge branch 'master' of github.com:squidfunk/mkdocs-material
Browse files Browse the repository at this point in the history
  • Loading branch information
squidfunk committed May 9, 2020
2 parents de74821 + 252db13 commit bbfaa57
Show file tree
Hide file tree
Showing 9 changed files with 37 additions and 12 deletions.
2 changes: 0 additions & 2 deletions material/assets/javascripts/bundle.193efd2f.min.js

This file was deleted.

1 change: 0 additions & 1 deletion material/assets/javascripts/bundle.193efd2f.min.js.map

This file was deleted.

2 changes: 2 additions & 0 deletions material/assets/javascripts/bundle.1fe7f735.min.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions material/assets/javascripts/bundle.1fe7f735.min.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions material/assets/manifest.json
@@ -1,6 +1,6 @@
{
"assets/javascripts/bundle.js": "assets/javascripts/bundle.193efd2f.min.js",
"assets/javascripts/bundle.js.map": "assets/javascripts/bundle.193efd2f.min.js.map",
"assets/javascripts/bundle.js": "assets/javascripts/bundle.1fe7f735.min.js",
"assets/javascripts/bundle.js.map": "assets/javascripts/bundle.1fe7f735.min.js.map",
"assets/javascripts/vendor.js": "assets/javascripts/vendor.8caa27b7.min.js",
"assets/javascripts/vendor.js.map": "assets/javascripts/vendor.8caa27b7.min.js.map",
"assets/javascripts/worker/search.js": "assets/javascripts/worker/search.37585f48.min.js",
Expand Down
2 changes: 1 addition & 1 deletion material/base.html
Expand Up @@ -179,7 +179,7 @@ <h1>{{ page.title | default(config.site_name, true)}}</h1>
</div>
{% block scripts %}
<script src="{{ 'assets/javascripts/vendor.8caa27b7.min.js' | url }}"></script>
<script src="{{ 'assets/javascripts/bundle.193efd2f.min.js' | url }}"></script>
<script src="{{ 'assets/javascripts/bundle.1fe7f735.min.js' | url }}"></script>
{%- set translations = {} -%}
{%- for key in [
"clipboard.copy",
Expand Down
2 changes: 1 addition & 1 deletion mkdocs.yml
Expand Up @@ -52,7 +52,7 @@ theme:
language: en
features:
- tabs
#- instant
- instant
palette:
primary: indigo
accent: indigo
Expand Down
27 changes: 24 additions & 3 deletions src/assets/javascripts/index.ts
Expand Up @@ -46,7 +46,8 @@ import {
take,
shareReplay,
pluck,
catchError
catchError,
map
} from "rxjs/operators"

import {
Expand Down Expand Up @@ -352,8 +353,28 @@ export function initialize(config: unknown) {
})

/* Enable instant loading, if not on file:// protocol */
if (config.features.includes("instant") && location.protocol !== "file:")
setupInstantLoading({ document$, location$, viewport$ })
if (config.features.includes("instant") && location.protocol !== "file:") {

/* Fetch sitemap and extract URL whitelist */
base$
.pipe(
switchMap(base => ajax({
url: `${base}/sitemap.xml`,
responseType: "document",
withCredentials: true
})
.pipe<Document>(
pluck("response")
)
),
map(document => (
getElements("loc", document).map(node => node.textContent!)
))
)
.subscribe(urls => {
setupInstantLoading(urls, { document$, location$, viewport$ })
})
}

/* ----------------------------------------------------------------------- */

Expand Down
8 changes: 6 additions & 2 deletions src/assets/javascripts/integrations/instant/index.ts
Expand Up @@ -100,7 +100,7 @@ interface SetupOptions {
* @param options - Options
*/
export function setupInstantLoading(
{ document$, viewport$, location$ }: SetupOptions
urls: string[], { document$, viewport$, location$ }: SetupOptions
): void {

/* Disable automatic scroll restoration */
Expand All @@ -125,7 +125,11 @@ export function setupInstantLoading(
switchMap(ev => {
if (ev.target instanceof HTMLElement) {
const el = ev.target.closest("a")
if (el && !el.target && isLocalLocation(el)) {
if (
el && !el.target &&
isLocalLocation(el) &&
urls.includes(el.href)
) {
if (!isAnchorLocation(el))
ev.preventDefault()
return of(el)
Expand Down

0 comments on commit bbfaa57

Please sign in to comment.