renovatebot/renovatebot.github.io

Announcement bar with link to latest major version release notes

HonkingGoose opened this issue · 4 comments

What would you like to be able to do?

Users of Renovate frequently get confused and open issues/discussions to report "bugs" that are actually intended behavior from a breaking major release of Renovate.

I think we can reduce instances of readers getting confused by mentioning on our Docs homepage what our latest major release is, and to give them a link to read the release notes.

Did you already have any implementation ideas?

Material for MkDocs allows you to override 1 the defaults with a custom overrides folder, where you can put a main.html file where you use a templating language to add your own custom HTML.

So we can use these features to add a announcement bar. 2

Unfortunately, we cannot let our readers "mark the announcement bar as read" 3 as that's a feature for people who sponsor Material for MkDocs, which costs $10 a month.
This means that the announcement bar stays visible when you visit a anchor link that takes you to the top of any page. The announcement bar will disappear when scrolling down though.

Proof of concept:

Proof of concept branch: https://github.com/HonkingGoose/renovatebot.github.io/tree/announcement-bar-poc

Screenshot:

announcement-bar-proof-of-concept

Footnotes

  1. https://squidfunk.github.io/mkdocs-material/customization/#overriding-partials

  2. https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-header/#announcement-bar

  3. https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-header/#mark-as-read

@rarkins What do you think of the idea to have an announcement bar at the top of our documentation website? We could use it to highlight important information like:

  • Release notes with breaking changes for latest major Renovate version
  • Highlight new pages recently added to docs
  • Anything else that's important for our readers to know

Unfortunately, you cannot dismiss the announcement bar after reading it, that is a feature restricted to paying sponsors of Material for MkDocs.

I think we can find out a way to pay for it. Any other benefits?

Management overview

Big benefits of sponsoring:

  • Keep development of Material for MkDocs sustainable
  • Dismissable announcement bar <-- This will be free soon
  • Better search previews
  • Social cards when people link to Renovate Docs
  • Feedback widget (was this page helpful yes/no feedback) <-- This will be free soon also
  • Custom admonitions (might be nice to have a deprecation warning custom admonition)

Drawbacks:

  • It will be a bit more work to configure our GitHub Actions so it builds with the Insiders track
  • I don't know if we can setup Renovate bot to update the private Insiders track???
  • Needs personal access token with repo permissions, which should be kept secret
  • Configuration needs to be split into:
    • mkdocs.insiders.yml
    • mkdocs.yml
  • Material for MkDocs is run/maintained by one person, if something bad happens to them, the project will likely not get improvements/bug fixes anymore

Sponsorship tiers (before September 1, 2022)

To get the Insiders features, we need to pay at least $10 a month for The Supporter tier.

Tier Cost per month Insider access Priority handling of issues Sponsorship logo + link
The Supporter $10 Yes
The Generous Supporter $25 Yes
The Organization $100 Yes Yes Yes

Sponsorship tiers (as of September 1, 2022)

To get the Insiders features, we need to pay at least $15 a month for The Supporter tier.

Tier Cost per month Insider access Priority handling of issues Sponsorship logo + link
The Supporter $15 Yes
The Generous Supporter $35 Yes
The Organization $125 Yes Yes Yes

Full list of Insiders-only features

The project has a full list of Insiders-only features.

How to sponsor

Read the how to be become a sponsor guide.

How it works

Read the installation guide for Insiders to get the exact instructions.

People who sponsor get invited as a collaborator on a private fork of Material for MkDocs.

Most features are behind feature flags, and should be backwards compatible.
This means that if we stop paying, our site should keep working with minimal effort.

If we stop paying we can keep using the last version of the Insiders track that was available at the time, but remember that GitHub deletes private forks.
I think this means that we should make a backup before we stop paying. 😉

We're not allowed to make the source code public, but we're allowed to privately fork or mirror it.

I think it might be a bit complicated to figure out how to build MkDocs Insiders on our GitHub Actions, and how to make it so that I can actually preview the Insiders features in private.

Sponsoring price increase

I think we can find out a way to pay for it. Any other benefits?

Heads-up: sponsoring Material for MkDocs will cost more as of September 1, 2022. 1 But you can "lock-in" the old price if you start sponsoring before that date. I updated the pricing table in the post above.

Closing announcement bar will be free

Unfortunately, we cannot let our readers "mark the announcement bar as read" 3 as that's a feature for people who sponsor Material for MkDocs, which costs $10 a month.

"marking the announcement bar as read" will be free for anybody soon. 🥳 It's planned to go in the stable 1.4 release. 2

Outside collaborators and Insiders-only-builds

If the renovate org decides to sponsor, it gets access to an insiders fork. This fork must be kept private. This also means that outside collaborators like me, can't preview two features of Material for MkDocs: 3:

Currently, the only content-related features in Insiders that can't be properly previewed by non-Insiders users are:

This means that outside collaborators are able to build the documentation locally with Material for MkDocs and when they push their changes, your CI pipeline will build it with Insiders.

When using built-in plugins that are exclusive to Insiders, it's recommended to split configuration into a base mkdocs.yml and one with plugin overrides via configuration inheritance.

Footnotes

  1. https://github.com/squidfunk/mkdocs-material/issues/3986

  2. https://github.com/squidfunk/mkdocs-material/pull/4146

  3. https://squidfunk.github.io/mkdocs-material/insiders/#compatibility