diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index df7c18b79..37ed77117 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -28,12 +28,13 @@ There are several active versions of the documentation. Each version derives fro
Each version has a branch in the repository named accordingly:
-- 11
-- 12
-- 13
+- 11 (EOL)
+- 12 (EOL)
+- 13
- 14
- 15
- 16
+- 17
The source .md files are in the ``docs`` directory.
@@ -140,14 +141,17 @@ mkdocs serve
```
6. To build the PDF documentation, do the following:
- - Install [mkdocs-with-pdf plugin](https://pypi.org/project/mkdocs-with-pdf/)
+ - Install [mkdocs-print-site-plugin](https://timvink.github.io/mkdocs-print-site-plugin/index.html)
- Run the following command
```sh
ENABLE_PDF_EXPORT=1 mkdocs build -f mkdocs-pdf.yml
```
-The PDF document is in the ``site/pdf`` folder.
+This creates a single HTML page for the whole doc project. You can find the page at `site/print_page.html`.
+
+7. Open the `site/print_page.html` in your browser and save as PDF. Depending on the browser, you may need to select the Export to PDF, Print - Save as PDF or just Save and select PDF as the output format.
+
## Repository structure
@@ -161,13 +165,16 @@ The repository includes the following directories and files:
- `_images` - Images, logos and favicons
- `css` - Styles
- `js` - Javascript files
-- `_resource`:
- - `templates`:
+ - `templates`:
- ``styles.scss`` - Styling for PDF documents
- - `theme`:
+ - `pdf_cover_page.tpl` - The PDF cover page template
+- `_resource`:
+ - `overrides` - The directory with customized templates for HTML output
- `main.html` - The layout template for hosting the documentation on Percona website
- - overrides - The folder with the template customization for Netlify builds
+- `_resourcepdf`:
+ - `overrides` - The directory with customized layout templates for PDF
- `.github`:
- `workflows`:
- `main.yml` - The workflow configuration for building documentation with a GitHub action. (The documentation is built with `mike` tool to a dedicated `netlify` branch)
- `site` - This is where the output HTML files are put after the build
+- `snippets` - The folder with pieces of documentation used in multiple places
diff --git a/_resourcepdf/overrides/404.html b/_resourcepdf/overrides/404.html
new file mode 100644
index 000000000..3d3717301
--- /dev/null
+++ b/_resourcepdf/overrides/404.html
@@ -0,0 +1,9 @@
+{#-
+ This file was automatically generated - do not edit
+-#}
+{% extends "main.html" %}
+{% block content %}
+
404 - Not found
+
+We can't find the page you are looking for. Try using the Search or return to homepage .
+{% endblock %}
diff --git a/_resourcepdf/overrides/main.html b/_resourcepdf/overrides/main.html
new file mode 100644
index 000000000..545cd7c41
--- /dev/null
+++ b/_resourcepdf/overrides/main.html
@@ -0,0 +1,69 @@
+{#
+MkDocs template for builds with Material theme to customize docs layout
+by adding marketing-requested elements
+#}
+
+{# Import the theme's layout. #}
+{% extends "base.html" %}
+
+
+ {% block site_nav %}
+ {% if nav %}
+ {% if page.meta and page.meta.hide %}
+ {% set hidden = "hidden" if "navigation" in page.meta.hide %}
+ {% endif %}
+
+
+
+ {% include "partials/nav.html" %}
+
+
+
+
+
+ {% endif %}
+ {% if "toc.integrate" not in features %}
+ {% if page.meta and page.meta.hide %}
+ {% set hidden = "hidden" if "toc" in page.meta.hide %}
+ {% endif %}
+
+
+
+ {% include "partials/toc.html" %}
+
+
+ {% include "partials/banner.html" %}
+
+
+
+ {% endif %}
+ {% endblock %}
+
+ {% block content%}
+
+ {{ super() }}
+
+
+
+ {% endblock %}
\ No newline at end of file
diff --git a/_resourcepdf/overrides/partials/banner.html b/_resourcepdf/overrides/partials/banner.html
new file mode 100644
index 000000000..830718b90
--- /dev/null
+++ b/_resourcepdf/overrides/partials/banner.html
@@ -0,0 +1,9 @@
+
+
+
For help, click the link below to get free database assistance or contact our experts for personalized support.
\ No newline at end of file
diff --git a/_resourcepdf/overrides/partials/copyright.html b/_resourcepdf/overrides/partials/copyright.html
new file mode 100644
index 000000000..dd0f101fa
--- /dev/null
+++ b/_resourcepdf/overrides/partials/copyright.html
@@ -0,0 +1,14 @@
+{#-
+ This file was automatically generated - do not edit
+-#}
+
+ {% if not config.extra.generator == false %}
+ Made with
+
+ Material for MkDocs
+
+ {% endif %}
+
\ No newline at end of file
diff --git a/_resourcepdf/overrides/partials/header.html b/_resourcepdf/overrides/partials/header.html
new file mode 100644
index 000000000..2d0d6e740
--- /dev/null
+++ b/_resourcepdf/overrides/partials/header.html
@@ -0,0 +1,135 @@
+
+
+
+{% set class = "md-header" %}
+{% if "navigation.tabs.sticky" in features %}
+ {% set class = class ~ " md-header--shadow md-header--lifted" %}
+{% elif "navigation.tabs" not in features %}
+ {% set class = class ~ " md-header--shadow" %}
+{% endif %}
+
+
+
+
+
+
+
+
+
+
+ {% if "navigation.tabs.sticky" in features %}
+ {% if "navigation.tabs" in features %}
+ {% include "partials/tabs.html" %}
+ {% endif %}
+ {% endif %}
+
\ No newline at end of file
diff --git a/docs/templates/pdf_cover_page.tpl b/docs/templates/pdf_cover_page.tpl
new file mode 100644
index 000000000..b5ab6ed46
--- /dev/null
+++ b/docs/templates/pdf_cover_page.tpl
@@ -0,0 +1,12 @@
+
+{{ config.extra.added_key }}
+