mirror of
https://github.com/squidfunk/mkdocs-material.git
synced 2024-11-27 17:00:54 +01:00
Updated Insiders changelog and documentation
This commit is contained in:
parent
b8161e0179
commit
93daab252d
@ -1,3 +1,9 @@
|
|||||||
|
mkdocs-material-8.5.6+insiders-4.26.0 (2022-10-18)
|
||||||
|
|
||||||
|
* Refactored privacy plugin to prepare for new features
|
||||||
|
* Added support for rel=noopener links in privacy plugin
|
||||||
|
* Resolve encoding issues with blog and privacy plugin
|
||||||
|
|
||||||
mkdocs-material-8.5.6+insiders-4.25.5 (2022-10-16)
|
mkdocs-material-8.5.6+insiders-4.25.5 (2022-10-16)
|
||||||
|
|
||||||
* Updated MkDocs to 1.4.1
|
* Updated MkDocs to 1.4.1
|
||||||
|
@ -6,6 +6,12 @@ template: overrides/main.html
|
|||||||
|
|
||||||
## Material for MkDocs Insiders
|
## Material for MkDocs Insiders
|
||||||
|
|
||||||
|
### 4.26.0 <small>_ October 18, 2022</small> { id="4.26.0" }
|
||||||
|
|
||||||
|
- Refactored privacy plugin to prepare for new features
|
||||||
|
- Added support for `rel=noopener` links in privacy plugin
|
||||||
|
- Resolve encoding issues with blog and privacy plugin
|
||||||
|
|
||||||
### 4.25.5 <small>_ October 16, 2022</small> { id="4.25.5" }
|
### 4.25.5 <small>_ October 16, 2022</small> { id="4.25.5" }
|
||||||
|
|
||||||
- Updated MkDocs to 1.4.1
|
- Updated MkDocs to 1.4.1
|
||||||
|
@ -307,9 +307,11 @@ are released for general availability.
|
|||||||
|
|
||||||
#### $ 20,000 – Jalapeño
|
#### $ 20,000 – Jalapeño
|
||||||
|
|
||||||
|
- [x] [Privacy plugin: external links]
|
||||||
- [ ] [Instant previews]
|
- [ ] [Instant previews]
|
||||||
- ... more to be announced
|
- ... more to be announced
|
||||||
|
|
||||||
|
[Privacy plugin: external links]: ../setup/ensuring-data-privacy.md#+privacy.external_links
|
||||||
[Instant previews]: https://twitter.com/squidfunk/status/1466794654213492743
|
[Instant previews]: https://twitter.com/squidfunk/status/1466794654213492743
|
||||||
|
|
||||||
### Goals completed
|
### Goals completed
|
||||||
|
@ -31,9 +31,9 @@
|
|||||||
"type": "string",
|
"type": "string",
|
||||||
"default": ".cache/plugin/privacy"
|
"default": ".cache/plugin/privacy"
|
||||||
},
|
},
|
||||||
"externals": {
|
"external_assets": {
|
||||||
"title": "External assets",
|
"title": "External assets",
|
||||||
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/ensuring-data-privacy/#+privacy.externals",
|
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/ensuring-data-privacy/#+privacy.external_assets",
|
||||||
"oneOf": [
|
"oneOf": [
|
||||||
{
|
{
|
||||||
"title": "Bundle external assets",
|
"title": "Bundle external assets",
|
||||||
@ -50,23 +50,45 @@
|
|||||||
],
|
],
|
||||||
"default": "bundle"
|
"default": "bundle"
|
||||||
},
|
},
|
||||||
"externals_dir": {
|
"external_assets_dir": {
|
||||||
"title": "External assets download directory",
|
"title": "External assets download directory",
|
||||||
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/ensuring-data-privacy/#+privacy.externals_dir",
|
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/ensuring-data-privacy/#+privacy.external_assets_dir",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"default": "assets/externals"
|
"default": "assets/external"
|
||||||
},
|
},
|
||||||
"externals_exclude": {
|
"external_assets_exclude": {
|
||||||
"title": "External assets to be excluded",
|
"title": "External assets to be excluded",
|
||||||
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/ensuring-data-privacy/#+privacy.externals_exclude",
|
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/ensuring-data-privacy/#+privacy.external_assets_exclude",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"title": "External assets matching this pattern will not be bundled",
|
"title": "External assets matching this pattern will not be bundled",
|
||||||
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/ensuring-data-privacy/#+privacy.externals_exclude",
|
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/ensuring-data-privacy/#+privacy.external_assets_exclude",
|
||||||
"pattern": ".*"
|
"pattern": ".*"
|
||||||
},
|
},
|
||||||
"uniqueItems": true,
|
"uniqueItems": true,
|
||||||
"minItems": 1
|
"minItems": 1
|
||||||
|
},
|
||||||
|
"external_links": {
|
||||||
|
"title": "External links",
|
||||||
|
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/ensuring-data-privacy/#+privacy.external_links",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
"external_links_attr_map": {
|
||||||
|
"title": "Custom attributes to add to external links",
|
||||||
|
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/ensuring-data-privacy/#+privacy.external_links_attr_map",
|
||||||
|
"type": "object",
|
||||||
|
"patternProperties": {
|
||||||
|
"^[\\w_]+$": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"external_links_noopener": {
|
||||||
|
"title": "Behavior for external links that open in new windows",
|
||||||
|
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/ensuring-data-privacy/#+privacy.external_links_noopener",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"additionalProperties": false
|
"additionalProperties": false
|
||||||
|
@ -159,14 +159,9 @@ the following lines to `mkdocs.yml`:
|
|||||||
|
|
||||||
``` yaml
|
``` yaml
|
||||||
plugins:
|
plugins:
|
||||||
- privacy # (1)!
|
- privacy
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Note that the privacy plugin should be located at the end of the list of
|
|
||||||
`plugins`, as it will scan the resulting HTML for resources to download and
|
|
||||||
replace. If a plugin after the privacy plugin adds further
|
|
||||||
[external assets], these assets will not be downloaded.
|
|
||||||
|
|
||||||
> If you need to be able to build your documentation with and without
|
> If you need to be able to build your documentation with and without
|
||||||
> [Insiders], please refer to the [built-in plugins] section to learn how
|
> [Insiders], please refer to the [built-in plugins] section to learn how
|
||||||
> shared configurations help to achieve this.
|
> shared configurations help to achieve this.
|
||||||
@ -185,7 +180,14 @@ The following configuration options are available:
|
|||||||
enabled: !ENV [CI, false]
|
enabled: !ENV [CI, false]
|
||||||
```
|
```
|
||||||
|
|
||||||
[`externals`](#+privacy.externals){ #+privacy.externals }
|
[Insiders]: ../insiders/index.md
|
||||||
|
[built-in plugins]: ../insiders/getting-started.md#built-in-plugins
|
||||||
|
|
||||||
|
#### External assets
|
||||||
|
|
||||||
|
The following configuration options are available for external assets:
|
||||||
|
|
||||||
|
[`external_assets`](#+privacy.external_assets){ #+privacy.external_assets }
|
||||||
|
|
||||||
: :octicons-milestone-24: Default: `bundle` – This option specifies what the
|
: :octicons-milestone-24: Default: `bundle` – This option specifies what the
|
||||||
plugin should do when encountering external assets. There are two options:
|
plugin should do when encountering external assets. There are two options:
|
||||||
@ -195,7 +197,7 @@ The following configuration options are available:
|
|||||||
``` yaml
|
``` yaml
|
||||||
plugins:
|
plugins:
|
||||||
- privacy:
|
- privacy:
|
||||||
externals: bundle
|
external_assets: bundle
|
||||||
```
|
```
|
||||||
|
|
||||||
If you've removed all external assets from your project via [customization],
|
If you've removed all external assets from your project via [customization],
|
||||||
@ -206,10 +208,7 @@ The following configuration options are available:
|
|||||||
Using `report` in [strict mode] will make the build fail when external
|
Using `report` in [strict mode] will make the build fail when external
|
||||||
assets are detected.
|
assets are detected.
|
||||||
|
|
||||||
[customization]: ../customization.md
|
[`external_assets_dir`](#+privacy.external_assets_dir){ #+privacy.external_assets_dir }
|
||||||
[strict mode]: https://www.mkdocs.org/user-guide/configuration/#strict
|
|
||||||
|
|
||||||
[`externals_dir`](#+privacy.externals_dir){ #+privacy.externals_dir }
|
|
||||||
|
|
||||||
: :octicons-milestone-24: Default: `assets/externals` – This option
|
: :octicons-milestone-24: Default: `assets/externals` – This option
|
||||||
specifies where the downloaded [external assets] will be stored. It's
|
specifies where the downloaded [external assets] will be stored. It's
|
||||||
@ -218,10 +217,12 @@ The following configuration options are available:
|
|||||||
``` yaml
|
``` yaml
|
||||||
plugins:
|
plugins:
|
||||||
- privacy:
|
- privacy:
|
||||||
externals_dir: assets/externals
|
external_assets_dir: assets/externals
|
||||||
```
|
```
|
||||||
|
|
||||||
[`externals_exclude`](#+privacy.externals_exclude){ #+privacy.externals_exclude }
|
The path must be defined relative to [`docs_dir`][docs_dir].
|
||||||
|
|
||||||
|
[`external_assets_exclude`](#+privacy.external_assets_exclude){ #+privacy.external_assets_exclude }
|
||||||
|
|
||||||
: :octicons-milestone-24: Default: _none_ – This option allows to exclude
|
: :octicons-milestone-24: Default: _none_ – This option allows to exclude
|
||||||
certain external assets from processing by the privacy plugin, so they will
|
certain external assets from processing by the privacy plugin, so they will
|
||||||
@ -230,7 +231,7 @@ The following configuration options are available:
|
|||||||
``` yaml
|
``` yaml
|
||||||
plugins:
|
plugins:
|
||||||
- privacy:
|
- privacy:
|
||||||
externals_exclude: # (1)!
|
external_assets_exclude: # (1)!
|
||||||
- cdn.jsdelivr.net/npm/mathjax@3/*
|
- cdn.jsdelivr.net/npm/mathjax@3/*
|
||||||
- giscus.app/*
|
- giscus.app/*
|
||||||
```
|
```
|
||||||
@ -247,16 +248,7 @@ The following configuration options are available:
|
|||||||
dynamically created or relative URLs, which can't be resolved by the privacy
|
dynamically created or relative URLs, which can't be resolved by the privacy
|
||||||
plugin due to [technical limitations].
|
plugin due to [technical limitations].
|
||||||
|
|
||||||
[Insiders]: ../insiders/index.md
|
!!! question "Why can't Material for MkDocs bundle all assets by design?"
|
||||||
[built-in plugins]: ../insiders/getting-started.md#built-in-plugins
|
|
||||||
[MathJax]: ../reference/mathjax.md
|
|
||||||
[MathJax can be self-hosted]: https://docs.mathjax.org/en/latest/web/hosting.html
|
|
||||||
[Giscus can be self-hosted]: https://github.com/giscus/giscus/blob/main/SELF-HOSTING.md
|
|
||||||
[comment system]: adding-a-comment-system.md
|
|
||||||
[external assets]: #how-it-works
|
|
||||||
[environment variable]: https://www.mkdocs.org/user-guide/configuration/#environment-variables
|
|
||||||
|
|
||||||
??? question "Why can't Material for MkDocs bundle all assets by design?"
|
|
||||||
|
|
||||||
The primary reason why Material for MkDocs can't just bundle all of its own
|
The primary reason why Material for MkDocs can't just bundle all of its own
|
||||||
assets is the integration with [Google Fonts], which offers over a thousand
|
assets is the integration with [Google Fonts], which offers over a thousand
|
||||||
@ -273,13 +265,69 @@ The following configuration options are available:
|
|||||||
|
|
||||||
This is the very reason the [built-in privacy plugin] exists — it automates
|
This is the very reason the [built-in privacy plugin] exists — it automates
|
||||||
the process of downloading all external assets manually to ensure compliance
|
the process of downloading all external assets manually to ensure compliance
|
||||||
with GDPR. Note that there are some [technical limitations].
|
with GDPR with some some [technical limitations].
|
||||||
|
|
||||||
|
[customization]: ../customization.md
|
||||||
|
[strict mode]: https://www.mkdocs.org/user-guide/configuration/#strict
|
||||||
|
[docs_dir]: https://www.mkdocs.org/user-guide/configuration/#docs_dir
|
||||||
|
[MathJax]: ../reference/mathjax.md
|
||||||
|
[MathJax can be self-hosted]: https://docs.mathjax.org/en/latest/web/hosting.html
|
||||||
|
[Giscus can be self-hosted]: https://github.com/giscus/giscus/blob/main/SELF-HOSTING.md
|
||||||
|
[comment system]: adding-a-comment-system.md
|
||||||
|
[external assets]: #how-it-works
|
||||||
|
[environment variable]: https://www.mkdocs.org/user-guide/configuration/#environment-variables
|
||||||
[Google Fonts]: changing-the-fonts.md
|
[Google Fonts]: changing-the-fonts.md
|
||||||
[regular font]: changing-the-fonts.md#regular-font
|
[regular font]: changing-the-fonts.md#regular-font
|
||||||
[example]: #example
|
[example]: #example
|
||||||
[technical limitations]: #limitations
|
[technical limitations]: #limitations
|
||||||
|
|
||||||
|
#### External links
|
||||||
|
|
||||||
|
[:octicons-heart-fill-24:{ .mdx-heart } Sponsors only][Insiders]{ .mdx-insiders } ·
|
||||||
|
[:octicons-tag-24: insiders-4.26.0][Insiders] ·
|
||||||
|
:octicons-beaker-24: Experimental
|
||||||
|
|
||||||
|
The following configuration options are available for external links:
|
||||||
|
|
||||||
|
[`external_links`](#+privacy.external_links){ #+privacy.external_links }
|
||||||
|
|
||||||
|
: :octicons-milestone-24: Default: `true` – This option specifies whether the
|
||||||
|
plugin should automatically annotate external links. By default,
|
||||||
|
[`rel="noopener"`][noopener] is added to all links with `target="_blank"`:
|
||||||
|
|
||||||
|
``` yaml
|
||||||
|
plugins:
|
||||||
|
- privacy:
|
||||||
|
external_links: true
|
||||||
|
```
|
||||||
|
|
||||||
|
[`external_links_attr_map`](#+privacy.external_links_attr_map){ #+privacy.external_links_attr_map }
|
||||||
|
|
||||||
|
: :octicons-milestone-24: Default: _None_ – This option specifies custom
|
||||||
|
attributes that should be added to external links, like for example
|
||||||
|
`target="_blank"` so all external links open in a new window:
|
||||||
|
|
||||||
|
``` yaml
|
||||||
|
plugins:
|
||||||
|
- privacy:
|
||||||
|
external_links_attr_map:
|
||||||
|
target: _blank
|
||||||
|
```
|
||||||
|
|
||||||
|
[`external_links_noopener`](#+privacy.external_links_noopener){ #+privacy.external_links_noopener }
|
||||||
|
|
||||||
|
: :octicons-milestone-24: Default: `true` – This option specifies whether the
|
||||||
|
plugin should automatically add [`rel="noopener"`][noopener] to all links
|
||||||
|
with `target="_blank"` for security reasons:
|
||||||
|
|
||||||
|
``` yaml
|
||||||
|
plugins:
|
||||||
|
- privacy:
|
||||||
|
external_links_noopener: true
|
||||||
|
```
|
||||||
|
|
||||||
|
[noopener]: https://mathiasbynens.github.io/rel-noopener/
|
||||||
|
|
||||||
#### How it works
|
#### How it works
|
||||||
|
|
||||||
The [built-in privacy plugin] scans the resulting HTML for links to external
|
The [built-in privacy plugin] scans the resulting HTML for links to external
|
||||||
|
Loading…
Reference in New Issue
Block a user