Commit graph

29 commits

Author SHA1 Message Date
Frederic Werner 358df6ada2
docs(deps): bump mkdocs-material to v8.2.1 (#2422)
* docs(deps): bump mkdocs-material to v8.2.1

* feat(docs): enable mermaid integration

Configuration based on https://squidfunk.github.io/mkdocs-material/reference/diagrams/?h=mermaid#configuration

* fix: allow yaml value mapping

* chore: Adopt mkdocs-material mermaid integration support

Supported by the docs generator now, we no longer need to rely on external image generator or live editor link (both relied on large base64 encoding of mermaid markup). SVG will be rendered by docs now, although a little different style (can be fixed with custom CSS).

Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
2022-02-19 21:26:56 +01:00
Frederic Werner 4f6db41d03
docs(deps): bump mkdocs-material to v8.1.7 (#2374) 2022-01-20 10:45:23 +01:00
Frederic Werner c6b6f680f5
docs(deps): bump mkdocs-material to v8.1.6 (#2368) 2022-01-12 18:10:18 +01:00
Casper d46e094280
Remove quotes to meet style guidelines (#2330)
Co-authored-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>
2021-12-21 17:01:40 +01:00
Frederic Werner 6ad9dd3063
docs(deps): bump mkdocs-material to v8.1.1 (#2324) 2021-12-14 23:10:29 +01:00
Frederic Werner 7f731ebca0
docs(deps): bump mkdocs-material to new major version 8 (#2311)
* docs(deps): bump mkdocs-material to 8.0.2

* docs(deps): bump mkdocs-material to 8.0.3

* chore: add default version of docs

* feat: add version warning

* fix: remove version warning

* docs(deps): bump mkdocs-material to 8.0.5

* added code annotation feature

We can introduce new annotation with new PRs in the future. I'd advise against overhauling all code blocks with this feature in this PR - this PR should just introduce the feature.

* docs(deps): bump mkdocs-material to 8.1.0

* fix: remove unnecessary default value

re-add if version warning gets a thing in the future. See https://github.com/docker-mailserver/docker-mailserver/pull/2311#issuecomment-991805830

Co-authored-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>
2021-12-13 08:43:01 +01:00
Frederic Werner a0bd2c6df9
docs(deps): bump mkdocs-material to 7.3.6 (#2287) 2021-11-05 09:03:12 +13:00
Brennan Kinney fb72f3ad52
ci(docs): Fail when build aborts from broken links (#2266)
Using `set -ex` will exit the script as soon as a non-zero exit code is returned, such as when the docker image fails building the docs due to `build --strict` catching broken links. This also removes the need for `|| exit` when changing directory.

This seems fine for a small script, but AFAIK an alternative fix is just adding `|| exit` to the end of the `docker run` command too? There appears to be advice [against adopting `-e` carelessly](http://mywiki.wooledge.org/BashFAQ/105), while others [encourage `-e`](http://redsymbol.net/articles/unofficial-bash-strict-mode/). I know that several maintainers here have preference towards `set -e` so I've kept the original PR solution.

Additionally:

- `-x` is used to improve command visibility when reviewing the workflow log output.
- `--name` isn't necessary, but was part of the original PR.
- I've chosen not to include `-o pipefail`, only because no pipes are used in this script.

* docs(fix): Fix broken links

* ci(docs): Added inline docs

Extra documentation context for maintainers to quickly grok what's going on.

* chore(docs): Minor typo fix by wernerfred

Added from their related PR by request.
2021-10-31 09:13:18 +13:00
Frederic Werner ced1a27a88
docs(deps): bump mkdocs-material to 7.3.5 (#2265) 2021-10-30 15:10:24 +13:00
Frederic Werner ec6cc3c032
docs(deps): bump mkdocs-material to 7.3.2 (#2244)
* docs(deps): bump mkdocs-material to 7.3.3

Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
2021-10-17 23:50:02 +13:00
Frederic Werner 6715e0bba9
docs(deps): bump mkdocs-material to 7.3.0 (#2207) 2021-09-23 13:37:17 +02:00
Frederic Werner 8ffbeb1c0f
docs(deps): bump mkdocs-material to 7.2.8 (#2204) 2021-09-21 00:14:32 +12:00
Frederic Werner e830e83c0f
docs(deps): bump mkdocs-material to 7.2.7 (#2202) 2021-09-20 07:58:23 +00:00
Frederic Werner 0d4c787b95
docs(deps): bump mkdocs-material to 7.2.6 (#2165) 2021-09-02 20:47:17 +02:00
Frederic Werner 865787c8b0
fix(docs): Use correct function call in CI to update versions.json (#2153) 2021-08-29 20:58:24 +12:00
Frederic Werner fbf8d30915
docs(deps): bump mkdocs-material to 7.2.5 (#2150) 2021-08-26 14:49:09 +02:00
Frederic Werner 776bfe9f7f
docs(deps): bump mkdocs-material to 7.2.4 (#2125) 2021-08-12 12:46:40 +02:00
Frederic Werner d10043e87c
docs(deps): bump mkdocs-material to 7.2.3 (#2118) 2021-08-11 16:38:18 +02:00
Frederic Werner 063cc8e3be
docs(deps): bump mkdocs-material to 7.2.1 (#2099) 2021-07-25 21:04:49 +02:00
Frederic Werner 45345b2f49
docs(deps): bump mkdocs-material to 7.2.0 (#2093) 2021-07-22 17:47:35 +12:00
Frederic Werner 5161b9ac88
docs(deps): bump mkdocs-material to 7.1.11 (#2087) 2021-07-19 09:29:59 +02:00
Frederic Werner 7c188548f7
docs(deps): bump mkdocs-material to 7.1.10 (#2082)
Co-authored-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>
2021-07-11 10:14:29 +00:00
Frederic Werner 84cc295431
docs(deps): bump mkdocs-material to 7.1.9 (#2056) 2021-06-25 14:46:51 +02:00
Frederic Werner ba32943986
docs(deps): bump mkdocs-material to 7.1.8 (#2034) 2021-06-14 12:11:44 +02:00
Frederic Werner ac450f641f
docs(deps): bump mkdocs-material to 7.1.7 (#2028)
Co-authored-by: Georg Lauterbach <44545919+aendeavor@users.noreply.github.com>
2021-06-07 21:13:09 +02:00
Frederic Werner e20a66864a
docs(deps): bump mkdocs-material to 7.1.6 (#2015)
* docs(deps): bump mkdocs-material to 7.1.6

* chore: trigger preview on changes to preview workflows too

* fix: replace deprecated admonition

Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
2021-05-31 19:02:56 +12:00
Frederic Werner 7c3de06bda
docs(deps): bump mkdocs-material to 7.1.5 (#1985) 2021-05-20 22:52:22 +12:00
Brennan Kinney cf22475382
docs(ci): Deploy Previews (#1988)
* docs(ci): Support deploy previews for documentation

Each PR that contributes to docs will generate a unique (to that PR) URL to preview the PR live for review.

* docs(ci): Split workflow

To support previews from non-collaborators PR contributions, we cannot rely on secrets access from workflows triggered by the `pull_request` event.

To do so securely, according to official advice from Github, we must run the third-party contribution in the restricted `pull_request` context, and then use a 2nd workflow to deploy the build (which requires secrets access).

* docs(ci): Rename doc workflows + add commit status

Better naming convention for documentation workflows.

Split workflow only indicated status on PR of the 1st stage (building the preview to deploy), not the deployment progress/result. This needs to be managed more directly until the action better supports split-workflow scenario.

* docs(ci): Add concurrency limit to preview deploy workflow

This would be more ideal on the 2nd phase workflow (`workflow_run`), however keeping it simple for now.

Limits the concurrency of the initial pull request workflow for documentation contributions that have PRs with multiple event triggers in a small time span (before the workflow triggered would complete). The main benefit is to avoid redundant deploys if the initial workflow has been triggered again to build the PR once more. It only will work against concurrent workflows for that PR in the 1st stage, if an existing `workflow_run` (2nd stage) is active for that PR it will not be cancelled.

* docs(ci): Add sponsor branding for deploy preview service

A requirement from Netlify for the [sponsored OSS organization plan](https://www.netlify.com/legal/open-source-policy).

* docs(ci): Use a shared build script

Production and Deploy Preview builds are now maintained via the same shell command, so version updates of docker image is in one place.

Additionally deletes unnecessary build output which upstream provides no support to exclude.

* docs: Add a custom 404 page

This is used by the preview deploys on Netlify. Production deploys on Github Pages require a top-level 404 page manually deployed (since all are deployed to a version subpath).

This 404 page was custom built and optimized by me. This is the final minified output, separate source to build is available if needed.

---

Likewise the `favicon.ico` is a fallback for browsers that implicitly check the domain root for this file if the SVG isn't supported/preferred. Browsers check for this file without it being present in the HTML head meta elements.

On Github Pages the `favicon.ico` isn't likely to be picked up by even top-level as typical deployment has the project name as a subpath. The docs however reference a PNG favicon which should be widely supported.

The `favicon.ico` was generated by RealFaviconGenerator online tool with SVG source input. It contains 16px, 32px and 48px sizes. Quality is better than the `favicon.io` generator.

* chore: Optimized logo

SVG source cleaned up and optimized with SVGO 2.3.

Minified versions (`.min.svg` extension) remove unnecessary data and white-space to reduce size further for production use. This extension better differentiates by filename that it's different from the `src` version.
2021-05-20 22:24:46 +12:00
polarathene 251a87e622 docs(ci): Add versioning support without using 'mike'
It seems it may have be simpler to just use 'mike'..

Additionally squashes related commits providing minor fixes + improvements:

- Use a job dependency (`needs`) to avoid `push` event race conditions due to parallel jobs.
- Improve workflow file documentation via inline comments.
- Make ShellCheck linting happy.
- `chown` doesn't seem to work unless on the default branch for CI. Opted to use the docker `--user` approach instead.
2021-03-25 11:49:24 +13:00