diff --git a/CHANGELOG b/CHANGELOG index c48af8181..20ff98c8e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,18 @@ +mkdocs-material-9.1.21+insiders-4.39.0 (2023-08-01) + + * Added support for hoisting theme media files when building projects + * Added support for sorting pages on tags index for tags plugin + * Added support for adding date of last update to blog posts + * Fixed #5797: Parse error in typeset plugin (4.38.1 regression) + +mkdocs-material-9.1.21+insiders-4.38.1 (2023-08-01) + + * Improved nested serve mode for projects plugin + * Improved compat in privacy plugin with third-party plugins + * Fixed #5790: Typeset plugin ignores data-toc-label attribute + * Fixed #5778: Interplay of privacy plugin with git-revision-date-localized + * Fixed #5773: Info plugin erroring when community edition is in beta + mkdocs-material-9.1.21+insiders-4.38.0 (2023-07-29) * Added projects plugin for building nested projects diff --git a/docs/getting-started.md b/docs/getting-started.md index 68fd32e5c..783fe1dc3 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -123,16 +123,31 @@ The following plugins are bundled with the Docker image: ??? question "How to add plugins to the Docker image?" Material for MkDocs only bundles selected plugins in order to keep the size - of the official image small. If the plugin you want to use is not included, - create a `user-requirements.txt` file in the repository root with the packages - you want to install additionally, e.g.: + of the official image small. If the plugin you want to use is not included, + you can add them easily: - ``` txt title="user-requirements.txt" - mkdocs-macros-plugin==0.7.0 - mkdocs-glightbox>=0.3.1 - ``` + === "Material for MkDocs" - Next, you can build the image with the following command: + Create a `Dockerfile` and extend the official image: + + ``` Dockerfile title="Dockerfile" + FROM squidfunk/mkdocs-material + RUN pip install mkdocs-macros-plugin + RUN pip install mkdocs-glightbox + ``` + + === "Insiders" + + Clone or fork the Insiders repository, and create a file called + `user-requirements.txt` in the root of the repository. Then, add the + plugins that should be installed to the file, e.g.: + + ``` txt title="user-requirements.txt" + mkdocs-macros-plugin + mkdocs-glightbox + ``` + + Next, build the image with the following command: ``` docker build -t squidfunk/mkdocs-material . diff --git a/docs/insiders/changelog.md b/docs/insiders/changelog.md index d24813ddd..c658a13b1 100644 --- a/docs/insiders/changelog.md +++ b/docs/insiders/changelog.md @@ -2,6 +2,21 @@ ## Material for MkDocs Insiders +### 4.39.0 August 3, 2023 { id="4.39.0" } + +- Added support for hoisting theme media files when building projects +- Added support for sorting pages on tags index for tags plugin +- Added support for adding date of last update to blog posts +- Fixed #5797: Parse error in typeset plugin (4.38.1 regression) + +### 4.38.1 August 1, 2023 { id="4.38.1" } + +- Improved nested serve mode for projects plugin +- Improved compat in privacy plugin with third-party plugins +- Fixed #5790: Typeset plugin ignores data-toc-label attribute +- Fixed #5778: Interplay of privacy plugin with git-revision-date-localized +- Fixed #5773: Info plugin erroring when community edition is in beta + ### 4.38.0 July 29, 2023 { id="4.38.0" } - Added projects plugin for building nested projects diff --git a/docs/setup/building-an-optimized-site.md b/docs/setup/building-an-optimized-site.md index 24c1837e1..d75a9370c 100644 --- a/docs/setup/building-an-optimized-site.md +++ b/docs/setup/building-an-optimized-site.md @@ -118,6 +118,28 @@ The following configuration options are available for projects: projects_dir: path/to/folder ``` +#### Hoisting + +The following configuration options are available for hoisting: + +[`hoisting`](#+projects.hoisting){ #+projects.hoisting } + +: [:octicons-tag-24: insiders-4.39.0][Insiders] · :octicons-milestone-24: + Default: `true` – This option specifies whether the plugin should hoist all + themes files to the top-level project. If you disable this setting, each + project will have a copy of the themes files, which in general, can be + considered redundant: + + ``` yaml + plugins: + - projects: + hoisting: false + ``` + + It's generally advisable to enable hoisting, as it leads to faster + deployments and faster loading of your project's sites, because the files + are the same for all projects. + ### Built-in optimize plugin [:octicons-heart-fill-24:{ .mdx-heart } Sponsors only][Insiders]{ .mdx-insiders } · diff --git a/docs/setup/setting-up-a-blog.md b/docs/setup/setting-up-a-blog.md index 08d2db59a..c400c9dd2 100644 --- a/docs/setup/setting-up-a-blog.md +++ b/docs/setup/setting-up-a-blog.md @@ -978,7 +978,7 @@ Create a new file called `hello-world.md` and add the following lines: ``` yaml --- draft: true # (1)! -date: 2022-01-31 +date: 2022-01-31 # (2)! categories: - Hello - World @@ -993,6 +993,9 @@ categories: output. [This behavior can be changed], e.g. for rendering drafts when building deploy previews. +2. You can use `date_updated` to signal when you updated a blog posts. The + date will be rendered as part of the sidebar. + When you spin up the [live preview server], you should be greeted by your first post! You'll also realize, that [archive] and [category] indexes have been automatically generated for you. diff --git a/docs/setup/setting-up-tags.md b/docs/setup/setting-up-tags.md index 921e5b897..0eaca3772 100644 --- a/docs/setup/setting-up-tags.md +++ b/docs/setup/setting-up-tags.md @@ -159,6 +159,43 @@ The following configuration options are available: tags_compare_reverse: true ``` +[`tags_pages_compare`](#+tags.tags_pages_compare){ #+tags.tags_pages_compare } + +: [:octicons-tag-24: insiders-4.39.0][Insiders] · :octicons-milestone-24: + Default: `None` – This option specifies which function to use when + comparing pages for sorting. If you wish to sort pages, use: + + === "Sort by page title" + + ``` yaml + plugins: + - tags: + tags_pages_compare: !!python/name:material.plugins.tags.page_title + ``` + + === "Sort by page URL" + + ``` yaml + plugins: + - tags: + tags_pages_compare: !!python/name:material.plugins.tags.page_url + ``` + + You can also define your own comparison function which must return a page + value (as a string) that is used for sorting, and reference it accordingly. + +[`tags_pages_compare_reverse`](#+tags.tags_pages_compare_reverse){ #+tags.tags_pages_compare_reverse } + +: [:octicons-tag-24: insiders-4.39.0][Insiders] · :octicons-milestone-24: + Default: `false` – This option specifies whether pages are sorted in reverse + order. It is mainly provided for completeness. To change direction, use: + + ``` yaml + plugins: + - tags: + tags_pages_compare_reverse: true + ``` + [`tags_allowed`](#+tags.tags_allowed){ #+tags.tags_allowed } : [:octicons-tag-24: insiders-4.25.0][Insiders] · :octicons-milestone-24: