Merge branch 'master' into spike/search-preview-1

This commit is contained in:
squidfunk 2023-11-20 14:23:55 +01:00
commit ef2665b8a6
No known key found for this signature in database
GPG Key ID: 5ED40BC4F9C436DF
67 changed files with 967 additions and 622 deletions

View File

@ -1,3 +1,25 @@
mkdocs-material-9.4.10+insiders-4.43.1 (2023-11-19)
* Added third-party theme support in projects plugin, improving editing
* Fixed #6360: Projects plugin crashes when theme is not Material for MkDocs
* Fixed #6306: Projects plugin not reloading nested project configuration
mkdocs-material-9.4.10 (2023-11-19)
* Fixed #6356: Version selector can't be disabled via mike's configuration
* Fixed #6281: Navigation not rendering due to Safari bug (9.4.2 regression)
* Fixed #6261: Navigation expansion animates on first load (9.4.2 regression)
mkdocs-material-9.4.9 (2023-11-17)
* Fixed #6344: Long entries cutoff in table of contents
* Fixed #6336: Custom template for glob archive not working with pagination
* Fixed #6328: Blog plugin crashes for locales with dashes, e.g. pt-BR
* Fixed #6327: Copy-to-clipboard button doesn't trim trailing line feed
* Fixed #6302: Version strings not matched when using mike, only aliases
* Fixed instant navigation progress indicator for gzipped content in Chrome
* Fixed rendering bug on details marker rotation in Firefox
mkdocs-material-9.4.8+insiders-4.43.0 (2023-11-05)
* Added support for GitLab committers (document contributors)

View File

@ -2,6 +2,22 @@
## Material for MkDocs
### 9.4.10 <small>November 19, 2023</small> { id="9.4.10" }
- Fixed #6356: Version selector can't be disabled via mike's configuration
- Fixed #6281: Navigation not rendering due to Safari bug (9.4.2 regression)
- Fixed #6261: Navigation expansion animates on first load (9.4.2 regression)
### 9.4.9 <small>November 17, 2023</small> { id="9.4.9" }
- Fixed #6344: Long entries cutoff in table of contents
- Fixed #6336: Custom template for glob archive not working with pagination
- Fixed #6328: Blog plugin crashes for locales with dashes, e.g. `pt-BR`
- Fixed #6327: Copy-to-clipboard button doesn't trim trailing line feed
- Fixed #6302: Version strings not matched when using mike, only aliases
- Fixed instant navigation progress indicator for gzipped content in Chrome
- Fixed rendering bug on details marker rotation in Firefox
### 9.4.8 <small>November 5, 2023</small> { id="9.4.8" }
- Fixed invalid local address replacement when using instant loading

View File

@ -33,7 +33,7 @@ explicitly define them. The default value of the property is always included.
#### <!-- md:default computed --> Default value is computed { #default data-toc-label="is computed" }
Some default values are not set to static values but computed form other values,
Some default values are not set to static values but computed from other values,
like the site language, repository provider, or other settings.
#### <!-- md:default none --> Default value is empty { #default data-toc-label="is empty" }

View File

@ -66,6 +66,7 @@ theme:
"yaml.customTags": [ // (1)!
"!ENV scalar",
"!ENV sequence",
"!relative scalar",
"tag:yaml.org,2002:python/name:material.extensions.emoji.to_svg",
"tag:yaml.org,2002:python/name:material.extensions.emoji.twemoji",
"tag:yaml.org,2002:python/name:pymdownx.superfences.fence_code_format"

View File

@ -1,5 +1,32 @@
---
template: redirect.html
location: https://calendly.com/squidfunk/enterprise
status: new
---
# Enterprise Feedback
We highly value the insights of our enterprise users, and we're eager to hear
from you. Your feedback is immensely valuable to us. If you're utilizing
Material for MkDocs in an enterprise context and would like to share your
experiences with us, we'd love to connect and discuss:
- What you are building with it
- What aspects you like about it
- What challenges you are facing
- What could be improved
## Let's Connect
To schedule a convenient appointment, please reach out to us via email at
contact@squidfunk.com and provide us with the following details:
- Your company's name
- How you are using Material for MkDocs
- Any specific questions or topics you'd like to address
Once we have this information, we'll promptly get in touch with you to arrange
a 30-minute call. Please note that this call is exclusively intended for
enterprise users and is not meant for technical support. Instead, it's an
opportunity for us to engage in a casual conversation to better understand your
unique needs.
We look forward to our discussion!

View File

@ -2,6 +2,12 @@
## Material for MkDocs Insiders
### 4.43.1 <small>November 19, 2023</small> { id="4.43.1" }
- Added third-party theme support in projects plugin, improving editing
- Fixed #6360: Projects plugin crashes when theme is not Material for MkDocs
- Fixed #6306: Projects plugin not reloading nested project configuration
### 4.43.0 <small>November 5, 2023</small> { id="4.43.0" }
- Added support for GitLab committers (document contributors)

View File

@ -0,0 +1,151 @@
---
title: Community Experts Program
status: new
---
# Calling for Community Experts
Interested in joining the Material for MkDocs team as a Community Expert?
We're on the lookout for individuals who are passionate about supporting our
awesome community. In return for your valuable contributions, time, and
insights, __you'll gain free access to the Insiders edition__.
## Why we need you
As our project and community continue to grow, so do the questions and needs of
our users on our discussion board. Our discussion board is a vital part of our
project, serving as a hub for our community to connect and a valuable knowledge
base to complement our documentation.
We're eager to keeping it well-maintained, organized, easy to search and address
all queries which is why we need extra hands to keep up with the demand.
That's why we're bulding a team of Community Experts!
## Your role
As a Community Expert, your role primarily involves active participation on
the [discussion board], where we'd expect you to be:
- Answering discussions to help users with their questions
- Providing guidance regarding implementations
- Sharing insights into customizations and workarounds
- Optimizing searchability by adjusting discussion titles with relevant keywords
## Your benefits
Here is a list of the benefits we offer to our Community Experts:
- __Free access to Material for MkDocs Insiders__ Exclusive Access to all of
our Material for MkDocs Insiders features for _non-commercial use_.[^1]
- __Close communication with the team__ Stay connected with us through various
channels, including calls and internal project management tools.
- __GitHub profile boost__ Enhance your GitHub profile's visibility and
credibility as your activity increases, earning you valuable badges that can
enhance your credibility.
[^1]:
We can only grant access to individuals who are using Material for MkDocs
for non-commercial purposes. This means they are using it for their private
or Open Source projects. Please note that the role of a Community Expert
cannot be fulfilled by an organization member seeking access for the entire
organization's benefit.
## Your knowledge & skills
To be a successful Community Expert, your skills should include the
following:
- __Material and MkDocs allrounder__ You have an understanding of Material
for MkDocs and the MkDocs ecosystem, including many of its extensions and
plugins.
- __Great communicator__ You enjoy helping others in a productive,
constructive and friendly manner and use inclusive and welcoming language.
- __Independent worker__ You are self-motivated, stay up-to-date with
project developments, regularly check the discussion board, and respond to
notifications in reasonable time.
[discussion board]: https://github.com/squidfunk/mkdocs-material/discussions
[documentation]: https://squidfunk.github.io/mkdocs-material/
[contribution guides]: ../contributing/index.md
## Your time commitment
We don't require a fixed number of hours each week; instead, we ask for a
minimum of __five answered discussions per month[^2]__, which amounts to
slightly more than one per week. Your active interaction within the community is
highly valued.
To do this effectively, it's best to regularly check the discussion board to see
where you can offer help. The time you invest may vary depending on the
complexity of the topics and questions.
Upon joining, you'll receive access to the Insiders' edition for as long as you
continue to assist us. Access will be renewed every three months, allowing you
the flexibility to continue your contributions or take a break as needed.
[^2]:
An answered discussion is a collaborative interaction where knowledge and
expertise are shared, resulting in resolutions or clarifications that benefit
the user and our entire community. In essence, it embodies the spirit of
cooperation and support within our community, highlighting the power of
collective wisdom and the willingness to assist and uplift one another.
## Ready to get started?
Since we have a limited number of seats for these roles[^3], we would like to
get to know you before you become one of our Community Experts. Here's how to
get started:
[^3]:
Please note that we're currently limiting the number of seats on the
Community Experts program to three. We will update this page when we'll
expand the team, which is when we'll be accepting new applications.
### Step 1: Get in touch
Send us an email introducing yourself, sharing a bit about your background, and
include a link to your GitHub profile. Additionally, provide links to three
previous discussions you've answered on the discussion board, where you've
assisted another community member.
Please use the following email template to reach out to us at
community@squidfunk.com:
```
Subject: Community Expert
Intro: Tell us a bit about yourself.
- Name:
- Background:
- Profession:
- GitHub profile:
Answered discussions
- Link 1:
- Link 2:
- Link 3:
```
### Step 2: Evaluation
After receiving and reviewing your application, we will get in touch with you
to discuss everything you need to know to get started. If you get selected, we
will set you up as a collaborator and provide you immediate access to the
Insiders edition for three months.
### Step 3: Dive in
Let's get started! You can actively begin participating in five discussions per
month. We trust you to take the lead, and we won't do strict monitoring. Simply
ensure that you are consistently listed on the _Most Helpful_ list, located on
the discussion board's left side, under the categories.
---
__Ready to join us?__
Sounds good? Let's give it a try!

View File

@ -1,12 +1,12 @@
# Sponsoring FAQs
Do you have questions about Material for MkDocs Insiders? We do our best to
answer all of your questions on this page. If you can't find your question
answer all of your questions on this page. If you can't find your question
below, ask it on our [discussion board]!
[discussion board]: https://github.com/squidfunk/mkdocs-material/discussions/new/chooses
## General
## General
[__Why is the Insiders edition offered as a subscription model?__](#insiders-subscription){ #insiders-subscription }
@ -19,23 +19,23 @@ In order to sustain the project and add new and useful features more frequently,
we decided to create the [Insiders] edition, with early access to the latest and
greatest features of Material for MkDocs. The subscription-based model of the
Insiders edition allows us to dedicate more time and resources to the project,
which benefits all
users of Material for MkDocs. Once our funding goals based on monthly
subscriptions are hit, the Insiders features of those^ funding goals are released
to the community edition, letting everyone benefit from them.
which benefits all
users of Material for MkDocs. Once our funding goals based on monthly
subscriptions are hit, the Insiders features of those^ funding goals are released
to the community edition, letting everyone benefit from them.
Maintaining both the community and Insiders editions is an ongoing process, and
we rely on our sponsors to support us on a monthly basis, which makes this whole
Maintaining both the community and Insiders editions is an ongoing process, and
we rely on our sponsors to support us on a monthly basis, which makes this whole
project possible.
[__What features are included in the Insiders edition?__](#insiders-features){ #insiders-features }
The Insiders edition includes more than 20 additional features. You can find an
The Insiders edition includes more than 20 additional features. You can find an
overview of these features on our [Insiders page], which is updated when new
features are added and released.
[Insiders]: ../insiders/index.md
[Insiders page]: ../insiders/index.md#whats-in-it-for-me
[Insiders]: ../index.md
[Insiders page]: ../index.md#whats-in-it-for-me
[__How often is the Insiders edition updated?__](#insiders-updates){ #insiders-updates }
@ -43,7 +43,7 @@ We try to keep our open issue count low, fixing known bugs quickly. Both our
repositories, the community and Insiders edition, are constantly updated with
bug fixes and new features.
## Sponsorship
## Sponsorship
[__Can I sponsor the project without a GitHub account?__](#sponsorship-account){ #sponsorship-account }
@ -57,11 +57,11 @@ Insiders repository in your environment once you have access.
[__Which sponsoring tier should I choose?__](#sponsorship-tier){ #sponsorship-tier }
The sponsoring tiers are divided into non-commercial and commercial tiers. If
The sponsoring tiers are divided into non-commercial and commercial tiers. If
you are an individual or organization using Material for MkDocs for private or
__non-commercial__ Open Source projects, you have two tiers to choose from,
depending on the number of sites you want to build. For companies using
Material for MkDocs, we offer three different __commercial__ tiers, from which
__non-commercial__ Open Source projects, you have two tiers to choose from,
depending on the number of sites you want to build. For companies using
Material for MkDocs, we offer three different __commercial__ tiers, from which
you can choose depending on your requirements.
Also, please read what is considered [commercial use].
@ -108,7 +108,7 @@ No, there are no limitations on the number of sponsors for any tier. You can
sponsor the project at any tier regardless of how many other sponsors are
already there.
## Payment & billing
## Payment & billing
[__Is there a trial period for the Insiders edition?__](#insiders-trial){ #insiders-trial }
@ -118,16 +118,16 @@ first give the Insiders edition a try, you can sponsor on the [$15] tier with a
personal account for non-commercial evaluation purposes.
Additionally, our subscription model allows you to cancel your sponsorship
anytime. If you decide to cancel, your sponsorship will remain active until
anytime. If you decide to cancel, your sponsorship will remain active until
the end of your billing cycle.
[__What payment options do you accept?__](#insiders-payment){ #insiders-payment }
We manage all our transactions and sponsorships through [GitHub Sponsors] and
[Ko-fi]. To become a sponsor of Material for MkDocs on GitHub, visit
[our sponsors' page]. On there, you can choose from five different sponsorship
tiers and pay by credit card. Please note that as of the beginning of 2023,
[GitHub no longer supports PayPal] payments. If you wish to pay with PayPal,
We manage all our transactions and sponsorships through [GitHub Sponsors] and
[Ko-fi]. To become a sponsor of Material for MkDocs on GitHub, visit
[our sponsors' page]. On there, you can choose from five different sponsorship
tiers and pay by credit card. Please note that as of the beginning of 2023,
[GitHub no longer supports PayPal] payments. If you wish to pay with PayPal,
you can find a selection of our sponsorship tiers on [Ko-fi]. Both platforms
provide you with a payment receipt once your purchase is successful.
@ -141,34 +141,34 @@ please don't hesitate to reach out to sponsors@squidfunk.com.
[__Are discounts available for the Insiders edition, such as student discounts?__](#insiders-discounts){ #insiders-discounts }
Unfortunately, we are not able to offer any discounts for the Material for
MkDocs Insiders program. To ensure that everyone can afford the Insiders program
Unfortunately, we are not able to offer any discounts for the Material for
MkDocs Insiders program. To ensure that everyone can afford the Insiders program
and keep the barrier as low as possible, we have set prices as low as [$15] a
month for non-commercial use.
[__Do you offer free access to Insiders for Open Source projects?__](#insiders-open-source){ #insiders-open-source }
No, we do not offer free access to our Material for MkDocs Insiders edition.
We understand that non-profit organizations may have limited budgets and may
No, we do not offer free access to our Material for MkDocs Insiders edition.
We understand that non-profit organizations may have limited budgets and may
need to prioritize their spending on other projects or organizations. However,
it's important to note that Material for MkDocs is maintained by a small team,
investing a lot of time and resources into constantly improving this project.
Material for MkDocs and its core features are free to the community through our
it's important to note that Material for MkDocs is maintained by a small team,
investing a lot of time and resources into constantly improving this project.
Material for MkDocs and its core features are free to the community through our
Open Source model. Therefore, Material for MkDocs itself is already free.
However, we do offer an affordable sponsorship tier starting at [$15] a month,
which is meant for individuals and non-profit organizations using Material for
MkDocs to build 1-2 sites for non-commercial purposes. This tier provides access
However, we do offer an affordable sponsorship tier starting at [$15] a month,
which is meant for individuals and non-profit organizations using Material for
MkDocs to build 1-2 sites for non-commercial purposes. This tier provides access
to all new features, benefiting you from our ongoing development efforts.
[__Is Insiders free for those who contribute to this project?__](#insiders-contributors){ #insiders-contributors }
Great question! We can not offer free access to "drive-by" contributors that
only fix minor issues like typos or add new languages. These contributions are
always welcome, but as we need to review them, they result in a higher time
investment from our side and don't compensate for this work. However, as this
project keeps growing, we always seek for individuals to support us. In return,
we offer financial compensation or/and Insiders access. If you are interested
Great question! We can not offer free access to "drive-by" contributors that
only fix minor issues like typos or add new languages. These contributions are
always welcome, but as we need to review them, they result in a higher time
investment from our side and don't compensate for this work. However, as this
project keeps growing, we always seek for individuals to support us. In return,
we offer financial compensation or/and Insiders access. If you are interested
and have experience in the technologies and paradigms listed below, please get
in touch with us at sponsors@squidfunk.com:
@ -184,12 +184,12 @@ users with access to Insiders.
[__How can I set my billing to monthly or yearly?__](#insiders-billing-cycle){ #insiders-billing-cycle }
You can sponsor Material for MkDocs on a monthly or yearly basis. Depending on
your billing cycle you automatically become a monthly or yearly sponsor. Your
[billing cycle] is an account-level setting that you can easily change in your
account. If, for some reason, you cannot make this change, you can create a
dedicated bot account with a yearly billing cycle on GitHub, which you only use
for sponsoring (some sponsors already do that). If you have any problems or
You can sponsor Material for MkDocs on a monthly or yearly basis. Depending on
your billing cycle you automatically become a monthly or yearly sponsor. Your
[billing cycle] is an account-level setting that you can easily change in your
account. If, for some reason, you cannot make this change, you can create a
dedicated bot account with a yearly billing cycle on GitHub, which you only use
for sponsoring (some sponsors already do that). If you have any problems or
further questions, please contact us at sponsors@squidfunk.com.
[billing cycle]: https://docs.github.com/en/github/setting-up-and-managing-billing-and-payments-on-github/changing-the-duration-of-your-billing-cycle
@ -198,7 +198,7 @@ further questions, please contact us at sponsors@squidfunk.com.
Right now, we can't provide you with an invoice for your sponsoring transaction,
as [GitHub Sponsors] handles all transactions for us. However, both payment
platforms, [GitHub] and [Ko-Fi], automatically send you a payment receipt
platforms, [GitHub] and [Ko-Fi], automatically send you a payment receipt
via mail once the sponsorship is active.
Furthermore, we are working on a solution to optimize access management and more
@ -210,8 +210,8 @@ reach out as soon as we are live.
[__Can I switch between different sponsoring tiers?__](#insiders-switch-tiers){ #insiders-switch-tiers }
Yes, you can switch between different sponsoring tiers at any time. Simply go
to the [GitHub Sponsors] page and change your sponsoring tier. Once you make
Yes, you can switch between different sponsoring tiers at any time. Simply go
to the [GitHub Sponsors] page and change your sponsoring tier. Once you make
that change, you will immediately change to the new tier.
If you change to a higher tier, the amount will be prorated according to your
@ -220,62 +220,62 @@ billing cycle.
[__Can I sponsor the project for a specific feature or development goal?__](#insiders-goals){ #insiders-goals }
While sponsoring specific goals directly is not possible, our sponsoring goals
are connected to specific features or development goals aligned with the
project's roadmap. You can find an [overview of these sponsoring goals] and their
associated features on our website. Insider users have early access to all
already developed features, including those associated with higher funding goals
that will be reached at a later stage. If you're interested in accessing these
features, becoming a sponsor is the way to go. If you have a feature in mind
that you would like to see on the list, we encourage you to
are connected to specific features or development goals aligned with the
project's roadmap. You can find an [overview of these sponsoring goals] and their
associated features on our website. Insider users have early access to all
already developed features, including those associated with higher funding goals
that will be reached at a later stage. If you're interested in accessing these
features, becoming a sponsor is the way to go. If you have a feature in mind
that you would like to see on the list, we encourage you to
[initiate a new discussion] to evaluate it with others.
[overview of these sponsoring goals]: ../insiders/index.md#goals
[overview of these sponsoring goals]: ../index.md#goals
[initiate a new discussion]: https://github.com/squidfunk/mkdocs-material/discussions/new/chooses
[__What happens if I reach my sponsoring limit for my current tier?__](#insiders-limit){ #insiders-limit }
If you extend the number of sites that are in your current sponsoring limit,
please [upgrade your sponsorship] to a higher tier to continue using the
If you extend the number of sites that are in your current sponsoring limit,
please [upgrade your sponsorship] to a higher tier to continue using the
Insiders version and build more sites. The change will be effective immediately.
[upgrade your sponsorship]: https://docs.github.com/en/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship
[__Do you offer refunds for sponsoring payments?__](#insiders-refunds){ #insiders-refunds }
Unfortunately, we cannot offer any refund for sponsorship payments.
[GitHub Sponsors] and [Ko-Fi] manage all sponsoring transactions. Because of
that, we do not have any insights into the details of the funds and cannot access
them. If you have any payment issues, please get in touch with the GitHub
Unfortunately, we cannot offer any refund for sponsorship payments.
[GitHub Sponsors] and [Ko-Fi] manage all sponsoring transactions. Because of
that, we do not have any insights into the details of the funds and cannot access
them. If you have any payment issues, please get in touch with the GitHub
or Ko-Fi support team, as they can help you.
## Access management
## Access management
[__How do I gain access to the private Insiders repository?__](#access-account){ #access-account }
If you sponsored with your __individual account__, you should have received an
email invitation to the private Material for MkDocs Insiders repository right
after you initiated your sponsorship. Simply accept the invitation within seven
If you sponsored with your __individual account__, you should have received an
email invitation to the private Material for MkDocs Insiders repository right
after you initiated your sponsorship. Simply accept the invitation within seven
days to gain access.
If you sponsored using an __organization account__, please note we need
an individual account that we can list as a collaborator of the private Insiders
repository. After you initiate your sponsorship, please email us at
sponsors@squidfunk.com with the name of the individual or bot account. Once you
provide us with this information, we will add the account as a collaborator, and
If you sponsored using an __organization account__, please note we need
an individual account that we can list as a collaborator of the private Insiders
repository. After you initiate your sponsorship, please email us at
sponsors@squidfunk.com with the name of the individual or bot account. Once you
provide us with this information, we will add the account as a collaborator, and
after you accept the invitation, you will gain access to the repository.
If you have yet to receive the email or the invitation link has expired, please
If you have yet to receive the email or the invitation link has expired, please
contact us, the maintainers, at sponsors@squidfunk.com. We're working on a
solution that will allow you to manage collaborator status yourself.
[__Why can't our whole organization get access to Insiders?__](#access-organization){ #access-organization }
Currently, it is not possible to grant access to an organizational account, as
GitHub only allows for adding individual user accounts. We are working on a
solution ourselves to simplify access for organizations. For now, to ensure that
access is not tied to a particular individual, we recommend creating a bot
account, i.e., a GitHub account that does not belong to a specific individual
but is listed as the owner of the organizational account and using this account
Currently, it is not possible to grant access to an organizational account, as
GitHub only allows for adding individual user accounts. We are working on a
solution ourselves to simplify access for organizations. For now, to ensure that
access is not tied to a particular individual, we recommend creating a bot
account, i.e., a GitHub account that does not belong to a specific individual
but is listed as the owner of the organizational account and using this account
for sponsorship.
[__Do I need to fork the repository to use it?__](#access-fork){ #access-fork }
@ -289,12 +289,12 @@ your fork.
[__Can I share my Insiders access with others?__](#access-share){ #access-share }
At the moment, it is not possible to directly share your collaborator status
for the private Insiders repository with other accounts. However, if you are
working with a team and would like them to access Insiders, you can share the
Insiders repository by utilizing options such as [cloning], [forking], or
[mirroring]. By doing so, you can start collaborating with your team members on
the new repository you have shared. This way, you can collectively benefit
At the moment, it is not possible to directly share your collaborator status
for the private Insiders repository with other accounts. However, if you are
working with a team and would like them to access Insiders, you can share the
Insiders repository by utilizing options such as [cloning], [forking], or
[mirroring]. By doing so, you can start collaborating with your team members on
the new repository you have shared. This way, you can collectively benefit
from the Insiders features and work together on the project.
[cloning]: https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository
@ -302,30 +302,30 @@ from the Insiders features and work together on the project.
[mirroring]: https://docs.github.com/en/repositories/creating-and-managing-repositories/duplicating-a-repository
## Runtime & cancellation
## Runtime & cancellation
[__How long is my sponsorship valid?__](#sponsorship-runtime){ #sponsorship-runtime }
Your sponsorship is valid for as long as your monthly or yearly subscription
is valid. If you choose to cancel your sponsorship, you will lose access to
the Insiders edition once your cancelation is active and will be automatically
removed by GitHub as a collaborator from the private repository.
is valid. If you choose to cancel your sponsorship, you will lose access to
the Insiders edition once your cancelation is active and will be automatically
removed by GitHub as a collaborator from the private repository.
[__How do I cancel my sponsorship?__](#sponsorship-cancellation){ #sponsorship-cancellation }
To cancel your sponsorship, follow the [step-by-step guide] provided by GitHub.
If you sponsored using an organizational account, please ensure that you cancel
your sponsorship using the same organizational account rather than your
To cancel your sponsorship, follow the [step-by-step guide] provided by GitHub.
If you sponsored using an organizational account, please ensure that you cancel
your sponsorship using the same organizational account rather than your
individual account.
[step-by-step guide]: https://docs.github.com/en/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship
[__What happens when I cancel my sponsorship?__](#sponsorship-cancellation-effective){ #sponsorship-cancellation-effective }
If you choose to cancel your subscription to Insiders, you will be
automatically removed by GitHub as a collaborator on the day your cancellation is
effective. From that day on, you will no longer receive future updates. However,
you are __welcome to continue using the latest version__ that was available to
If you choose to cancel your subscription to Insiders, you will be
automatically removed by GitHub as a collaborator on the day your cancellation is
effective. From that day on, you will no longer receive future updates. However,
you are __welcome to continue using the latest version__ that was available to
you at the time of your cancellation for as long as you like.
Please note that [GitHub deletes private forks], so you may want to take steps to ensure
@ -333,15 +333,15 @@ that you have a backup of the software if necessary and use the locally installe
[GitHub deletes private forks]: https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository#deleting-forks-of-private-repositories
## Licensing
## Licensing
[__What constitutes commercial use of the Insiders version?__](#commercial-use){ #commercial-use }
Commercial use refers to any use of the software for a business or for-profit
purpose. This includes any use by a corporation or other organization, whether
or not they generate revenue directly from the software. We offer different
pricing tiers for commercial use, each tailored to the needs of different
businesses. It's important to note that internal use of the software within your
Commercial use refers to any use of the software for a business or for-profit
purpose. This includes any use by a corporation or other organization, whether
or not they generate revenue directly from the software. We offer different
pricing tiers for commercial use, each tailored to the needs of different
businesses. It's important to note that internal use of the software within your
organization is also considered commercial use, as with all commercial software.
[__What constitutes non-commercial use of the Insiders version?__](#non-commercial-use){ #non-commercial-use }
@ -349,62 +349,62 @@ organization is also considered commercial use, as with all commercial software.
Non-commercial use of our Material for MkDocs refers to private use. This
includes individuals using the Insiders edition for private or purely
non-commercial Open Source projects. We offer two different tiers for
non-commercial use, depending on the number of sites you want to build.
non-commercial use, depending on the number of sites you want to build.
[__What is your fair use policy?__](#fair-use-policy){ #fair-use-policy }
Our fair use policy includes the following guidelines:
- Please refrain from __distributing the source code__ of Insiders. While you
may use the software for public, private, or commercial projects and may
privately fork or mirror it, we ask that you keep the source code private. This
is important to our sponsorware strategy, which helps us fund ongoing
- Please refrain from __distributing the source code__ of Insiders. While you
may use the software for public, private, or commercial projects and may
privately fork or mirror it, we ask that you keep the source code private. This
is important to our sponsorware strategy, which helps us fund ongoing
development and support of the software. If this guidelines is violated,
everybody loses, as it will reduce the time of us maintainers we can set aside
to push this project forward.
- As our sponsoring tiers are based on the number of sites you want to build,
please make sure to [upgrade your sponsorship] once your current sponsoring tier
limit has been reached.
- As our sponsoring tiers are based on the number of sites you want to build,
please make sure to [upgrade your sponsorship] once your current sponsoring tier
limit has been reached.
[__Does the Insiders version have a different license?__](#insiders-license){ #insiders-license }
No. Whether you're an individual or a company, you may use Material for
MkDocs Insiders precisely under the same terms as Material for MkDocs, which are
No. Whether you're an individual or a company, you may use Material for
MkDocs Insiders precisely under the same terms as Material for MkDocs, which are
given by the [MIT license].
[MIT license]: ../license.md
[MIT license]: ../../license.md
[__Can outside collaborators build and run the documentation locally without access to Insiders?__](#insiders-outside-collaborators){ #insiders-outside-collaborators }
Yes. Insiders is compatible with Material for MkDocs. Almost all new features
and configuration options are either backward-compatible or implemented behind
feature flags. When working with outside collaborators, changing the general
appearance of your site should be optional. Most Insiders features enhance the
overall experience, e.g., by adding icons to pages or providing a feedback
widget. While these features add value for your site's users, they should be
optional for previewing when making changes to content. Currently, the only
content-related feature in Insiders that non-Insiders users can't properly
feature flags. When working with outside collaborators, changing the general
appearance of your site should be optional. Most Insiders features enhance the
overall experience, e.g., by adding icons to pages or providing a feedback
widget. While these features add value for your site's users, they should be
optional for previewing when making changes to content. Currently, the only
content-related feature in Insiders that non-Insiders users can't properly
preview are [Card grids].
This means that outside collaborators can 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 exclusive to Insiders, it's
recommended to split configuration into a base `mkdocs.yml` and one with plugin
This means that outside collaborators can 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 exclusive to Insiders, it's
recommended to split configuration into a base `mkdocs.yml` and one with plugin
overrides via [configuration inheritance].
See the [getting started guide] for more information.
[configuration inheritance]: https://www.mkdocs.org/user-guide/configuration/#configuration-inheritance
[getting started guide]: ../insiders/getting-started.md#caveats
[Card grids]: ../reference/grids.md?h=grids#using-card-grids
[getting started guide]: ../getting-started.md#caveats
[Card grids]: ../../reference/grids.md?h=grids#using-card-grids
## Support
## Support
[__How can I contact support if I have questions about becoming a sponsor?__ ](#support-contact){ #support-contact }
If you have any questions and would like to contact us before starting your
sponsorship, we are happy to answer all your non-technical questions about the
If you have any questions and would like to contact us before starting your
sponsorship, we are happy to answer all your non-technical questions about the
Insiders program via email at sponsors@squidfunk.com.
All technical questions should be asked openly on our [discussion board].
@ -414,15 +414,15 @@ All technical questions should be asked openly on our [discussion board].
[__Is additional support available for Material for MkDocs Insiders users?__](#support-additional){ #support-additional }
Yes, we provide non-technical support related to sponsoring at
sponsors@squidfunk.com. For technical questions, please submit an issue openly
on our [issue tracker] or start a discussion on our [discussion board]. Issues
and discussions from our organizational sponsors, sponsoring on
sponsors@squidfunk.com. For technical questions, please submit an issue openly
on our [issue tracker] or start a discussion on our [discussion board]. Issues
and discussions from our organizational sponsors, sponsoring on
__The Organization__ tier or higher will be prioritized.[^1]
[^1]:
Priority support means we will prioritize your issue, meaning we will look
into it and do our best to solve your issue asap. However, the prioritized bug
support does not mean that we can solve your issue before any others since
Priority support means we will prioritize your issue, meaning we will look
into it and do our best to solve your issue asap. However, the prioritized bug
support does not mean that we can solve your issue before any others since
some issues might take more time to solve.
[issue tracker]: https://github.com/squidfunk/mkdocs-material/issues
@ -433,49 +433,75 @@ If your sponsorship tier includes logo placement, and you would like us to
display your logo in the [list of premium sponsors] and have it linked to your
site, please contact us via mail. Simply send us a horizontal SVG or PNG version
of your logo making sure it displays the name of your company and the logo to
sponsors@squidfunk.com.
sponsors@squidfunk.com.
[list of premium sponsors]: https://github.com/squidfunk/mkdocs-material#user-content-premium-sponsors
[__Is logo placement optional?__](#sponsorship-logo-placement-optional){ #sponsorship-logo-placement-optional }
Yes, all of our commercial benefits, such as logo placement and backlinks, are
Yes, all of our commercial benefits, such as logo placement and backlinks, are
optional and can be opted in or out at any time. You can keep your sponsorship
completely private.
[__How can I report a bug in the Insiders version?__](#insiders-bugs){ #insiders-bugs }
If you encounter a bug in the Insiders edition, we kindly request that you
report it on our [issue tracker] in the public community repository. When
submitting the bug report, please ensure that you do not include any private
Insiders' source code, as we want to uphold our fair use policy.
If you encounter a bug in the Insiders edition, we kindly request that you
report it on our [issue tracker] in the public community repository. When
submitting the bug report, please ensure that you do not include any private
Insiders' source code, as we want to uphold our fair use policy.
[__How can I report an issue in my customizations?__](#customizations-issues){ #costumisations-issues }
## Privacy
Please note, that we do not offer support for customizations as they vary
widely and are specific to individual cases. Our support is primarily focused on
assisting with our core features. When reporting an issue, please remove all
customizations to ensure effective problem diagnosis with a minimal reproduction
[.zip file], as described in our bug reporting guide. Our [built-in info plugin],
which is essential when creating a reproduction, will not function correctly
with customizations in place. For questions and issues with customizations,
please use our [discussion board] to engage with the community.
[.zip file]: ../../guides/creating-a-reproduction.md
[built-in info plugin]: https://squidfunk.github.io/mkdocs-material/guides/creating-a-reproduction/#creating-a-zip-file
## Privacy
[__Will you sign an NDA for sponsorships?__](#nda){ #nda }
Unfortunately, we cannot sign any NDA or vendor agreement form. As a small team
working on Material for MkDocs, we have limited resources and cannot review
working on Material for MkDocs, we have limited resources and cannot review
and sign agreements.
[__Will you fill out our companys forms?__](#forms){ #forms }
To dedicate more time and resources to the development of our projects, we have
implemented measures to minimize administrative overhead for our small team. As
part of this approach, we have adopted GitHub Sponsors to efficiently handle all
transactions for us. Consequently, we have decided to introduce a setup fee for
any additional administrative tasks other than those handled by GitHub Sponsors
that require our attention and involve the completion of forms or adherence to
company processes when purchasing Material for MkDocs Insiders. If your purchase
departmenz requires additional time and effort from our team, please be aware
that the setup fee will apply. For detailed information and specific inquiries,
please reach out to us at sponsors@squidfunk.com.
[__Can I sponsor privately?__](#sponsorship-private){ #sponsorship-private }
Yes, you can. GitHub gives you the option to set your sponsorship to [private]
when you set up your sponsorship. Additionally, we have a recommended workflow
for you: We suggest you create a new GitHub bot account. This bot account should
not be tied to a particular individual and should be privately listed as an
owner of your GitHub organization. This account can then be used to sponsor
Material for MkDocs privately. As a bot account, it will automatically be listed
as a collaborator of the private Insiders repository. You can clone, fork, or
mirror using this account. All information will be kept confidential; only the
bot account and us maintainers will have insights into his sponsorship.
Yes, you can. GitHub gives you the option to set your sponsorship to [private]
when you set up your sponsorship. Additionally, we have a recommended workflow
for you: We suggest you create a new GitHub bot account. This bot account should
not be tied to a particular individual and should be privately listed as an
owner of your GitHub organization. This account can then be used to sponsor
Material for MkDocs privately. As a bot account, it will automatically be listed
as a collaborator of the private Insiders repository. You can clone, fork, or
mirror using this account. All information will be kept confidential; only the
bot account and us maintainers will have insights into his sponsorship.
[private]: https://docs.github.com/en/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship#managing-the-privacy-setting-for-your-sponsorship
[__Are there any geographical restrictions on becoming a sponsor?__](#sponsorship-geo){ #sponsorship-geo }
No, there are no geographical restrictions for becoming a sponsor. We welcome
sponsorships from individuals and organizations worldwide. As long as your
credit card is valid and accepted by GitHub or Ko-Fi, you are eligible to become
a sponsor and support the project, regardless of your location.
No, there are no geographical restrictions for becoming a sponsor. We welcome
sponsorships from individuals and organizations worldwide. As long as your
credit card is valid and accepted by GitHub or Ko-Fi, you are eligible to become
a sponsor and support the project, regardless of your location.

View File

@ -35,6 +35,10 @@ contents:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v4
with:
python-version: 3.x
@ -90,6 +94,10 @@ contents:
if: github.event.repository.fork == false
steps:
- uses: actions/checkout@v4
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v4
with:
python-version: 3.x

View File

@ -2029,6 +2029,7 @@
"fontawesome/solid/yen-sign",
"fontawesome/solid/yin-yang",
"fontawesome/solid/z",
"logo-monochrome",
"logo",
"material/ab-testing",
"material/abacus",
@ -10168,6 +10169,7 @@
"simple/apacheecharts",
"simple/apacheflink",
"simple/apachegroovy",
"simple/apacheguacamole",
"simple/apachehadoop",
"simple/apachehive",
"simple/apachejmeter",
@ -10324,6 +10326,7 @@
"simple/bitwarden",
"simple/bitwig",
"simple/blackberry",
"simple/blackmagicdesign",
"simple/blazemeter",
"simple/blazor",
"simple/blender",
@ -10616,6 +10619,7 @@
"simple/delonghi",
"simple/delphi",
"simple/delta",
"simple/deluge",
"simple/deno",
"simple/denon",
"simple/dependabot",
@ -10637,6 +10641,7 @@
"simple/digg",
"simple/digikeyelectronics",
"simple/digitalocean",
"simple/dinersclub",
"simple/dior",
"simple/directus",
"simple/discogs",
@ -10774,6 +10779,7 @@
"simple/facebooklive",
"simple/faceit",
"simple/facepunch",
"simple/fairphone",
"simple/falco",
"simple/falcon",
"simple/fampay",
@ -10862,6 +10868,7 @@
"simple/foxtel",
"simple/fozzy",
"simple/framer",
"simple/framework",
"simple/framework7",
"simple/franprix",
"simple/fraunhofergesellschaft",
@ -11067,6 +11074,7 @@
"simple/hibernate",
"simple/hibob",
"simple/hilton",
"simple/hiltonhotelsandresorts",
"simple/hitachi",
"simple/hive",
"simple/hive_blockchain",
@ -11150,6 +11158,7 @@
"simple/inkdrop",
"simple/inkscape",
"simple/insomnia",
"simple/insta360",
"simple/instacart",
"simple/instagram",
"simple/instapaper",
@ -11427,6 +11436,7 @@
"simple/mastodon",
"simple/materialdesign",
"simple/materialdesignicons",
"simple/materialformkdocs",
"simple/matillion",
"simple/matomo",
"simple/matrix",
@ -11458,6 +11468,7 @@
"simple/mercedes",
"simple/merck",
"simple/mercurial",
"simple/mermaid",
"simple/messenger",
"simple/meta",
"simple/metabase",
@ -11541,6 +11552,7 @@
"simple/moscowmetro",
"simple/motorola",
"simple/mozilla",
"simple/mpv",
"simple/mqtt",
"simple/msi",
"simple/msibusiness",
@ -11749,6 +11761,7 @@
"simple/paypal",
"simple/paytm",
"simple/pcgamingwiki",
"simple/pdm",
"simple/peakdesign",
"simple/pearson",
"simple/peerlist",
@ -11799,6 +11812,7 @@
"simple/planetscale",
"simple/plangrid",
"simple/platformdotsh",
"simple/platformio",
"simple/platzi",
"simple/plausibleanalytics",
"simple/playcanvas",
@ -11838,6 +11852,7 @@
"simple/popos",
"simple/porsche",
"simple/portainer",
"simple/portswigger",
"simple/postcss",
"simple/postgresql",
"simple/posthog",
@ -12063,6 +12078,7 @@
"simple/rust",
"simple/rxdb",
"simple/ryanair",
"simple/rye",
"simple/s7airlines",
"simple/sabanci",
"simple/safari",
@ -12082,6 +12098,7 @@
"simple/sap",
"simple/sass",
"simple/sat1",
"simple/satellite",
"simple/saturn",
"simple/saucelabs",
"simple/scala",
@ -12444,6 +12461,7 @@
"simple/trello",
"simple/trendmicro",
"simple/treyarch",
"simple/tricentis",
"simple/trilium",
"simple/triller",
"simple/trino",
@ -12612,6 +12630,7 @@
"simple/webauthn",
"simple/webcomponentsdotorg",
"simple/webdriverio",
"simple/webex",
"simple/webflow",
"simple/webgl",
"simple/webhint",
@ -12628,6 +12647,7 @@
"simple/weightsandbiases",
"simple/welcometothejungle",
"simple/wellfound",
"simple/wellsfargo",
"simple/wemo",
"simple/westerndigital",
"simple/wetransfer",
@ -12710,6 +12730,7 @@
"simple/youtube",
"simple/youtubegaming",
"simple/youtubemusic",
"simple/youtubeshorts",
"simple/youtubestudio",
"simple/youtubetv",
"simple/yubico",

View File

@ -13,99 +13,75 @@
"title": "Analytics provider",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"type": "object",
"properties": {
"provider": {
"title": "Analytics provider",
"anyOf": [
{
"title": "Google Analytics",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"enum": [
"google"
]
},
{
"type": "string"
}
]
},
"property": {
"anyOf": [
{
"title": "Google Analytics 4",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"pattern": "^G-\\w{10}$"
},
{
"title": "Universal Analytics",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"pattern": "^UA-\\w{9}-\\w$"
},
{
"title": "Unknown property",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"type": "string"
}
]
},
"feedback": {
"title": "Was this page helpful?",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#was-this-page-helpful",
"type": "object",
"properties": {
"title": {
"title": "Feedback widget title",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#was-this-page-helpful",
"type": "string",
"default": "Was this page helpful?"
},
"ratings": {
"title": "Feedback ratings",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#was-this-page-helpful",
"type": "array",
"items": {
"title": "Feedback rating",
"type": "object",
"properties": {
"icon": {
"$ref": "#/$defs/icon"
},
"name": {
"title": "Feedback rating name",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#+analytics.feedback.ratings.name",
"type": "string"
},
"data": {
"title": "Feedback rating data",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#+analytics.feedback.ratings.data",
"type": "number"
},
"note": {
"title": "Feedback rating data",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#+analytics.feedback.ratings.note",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"icon",
"name",
"data",
"note"
"allOf": [
{
"if": {
"properties": {
"provider": {
"enum": [
"google"
]
}
}
},
"additionalProperties": false,
"required": [
"title"
]
"then": {
"properties": {
"provider": {
"title": "Google Analytics",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"enum": [
"google"
]
},
"property": {
"anyOf": [
{
"title": "Google Analytics 4",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"pattern": "^G-\\w{10}$"
},
{
"title": "Unknown property",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"type": "string"
}
]
},
"feedback": {
"$ref": "#/$defs/feedback"
}
},
"required": [
"provider",
"property"
],
"additionalProperties": false
}
},
{
"if": {
"properties": {
"provider": {
"type": "string"
}
}
},
"then": {
"properties": {
"provider": {
"title": "Custom analytics provider",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#custom-site-analytics",
"type": "string"
},
"feedback": {
"$ref": "#/$defs/feedback"
}
},
"required": [
"provider"
]
}
}
},
"additionalProperties": false,
"required": [
"provider",
"property"
],
"defaultSnippets": [
{
@ -406,6 +382,59 @@
"type": "string"
}
]
},
"feedback": {
"title": "Was this page helpful?",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#was-this-page-helpful",
"type": "object",
"properties": {
"title": {
"title": "Feedback widget title",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#was-this-page-helpful",
"type": "string",
"default": "Was this page helpful?"
},
"ratings": {
"title": "Feedback ratings",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#was-this-page-helpful",
"type": "array",
"items": {
"title": "Feedback rating",
"type": "object",
"properties": {
"icon": {
"$ref": "#/$defs/icon"
},
"name": {
"title": "Feedback rating name",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#+analytics.feedback.ratings.name",
"type": "string"
},
"data": {
"title": "Feedback rating data",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#+analytics.feedback.ratings.data",
"type": "number"
},
"note": {
"title": "Feedback rating data",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#+analytics.feedback.ratings.note",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"icon",
"name",
"data",
"note"
]
}
}
},
"additionalProperties": false,
"required": [
"title"
]
}
},
"defaultSnippets": [
@ -414,7 +443,7 @@
"body": {
"analytics": {
"provider": "${1:google}",
"property": "${2:UA-XXXXXXXX-X}"
"property": "${2:G-XXXXXXXXXX}"
}
}
}

View File

@ -885,6 +885,7 @@
{
"title": "Google Fonts",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-fonts/",
"type": "object",
"properties": {
"text": {
"$ref": "assets/fonts.json"

View File

@ -18,4 +18,4 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
__version__ = "9.4.8"
__version__ = "9.4.10"

File diff suppressed because one or more lines are too long

View File

@ -23,5 +23,5 @@
{% endblock %}
{% block scripts %}
{{ super() }}
<script src="{{ 'assets/javascripts/custom.9c11c319.min.js' | url }}"></script>
<script src="{{ 'assets/javascripts/custom.fe17d8dd.min.js' | url }}"></script>
{% endblock %}

View File

@ -618,9 +618,9 @@ class BlogPlugin(BasePlugin[BlogConfig]):
# Copy file to temporary directory
copy_file(view.file.abs_src_path, file.abs_src_path)
# Create view and attach to previous page
# Create and yield view
if not isinstance(file.page, View):
yield View(None, file, config)
yield view.__class__(None, file, config)
# Assign pages and posts to view
assert isinstance(file.page, View)
@ -800,7 +800,7 @@ class BlogPlugin(BasePlugin[BlogConfig]):
# Format date
def _format_date(self, date: datetime, format: str, config: MkDocsConfig):
locale = config.theme["language"]
locale: str = config.theme["language"].replace("-", "_")
return format_date(date, format = format, locale = locale)
# Format date for post

View File

@ -47,6 +47,7 @@ class SearchPlugin(BasePlugin[SearchConfig]):
super().__init__(*args, **kwargs)
# Initialize incremental builds
self.is_dirty = False
self.is_dirtyreload = False
# Initialize search index cache

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M17.029 18.772l.777 1.166-5.417 2.709L0 16.451V4.063l5.417-2.709 5.298 7.948 7.867-5.24L24 1.354V16.84l-5.417 2.709-1.554-.777zm2.023-13.827v13.253l3.949-1.975V2.97l-3.949 1.975zM5.076 2.642L1.458 4.45 12.73 21.358l3.618-1.809L5.076 2.642z" />
</svg>

After

Width:  |  Height:  |  Size: 323 B

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.96 12.648h4.08L12 7.74l-2.04 4.908zM12 0 .828 3.984l1.704 14.772L12 24l9.468-5.244 1.704-14.772L12 0zm6.972 18.312h-2.604l-1.404-3.504H9.036l-1.404 3.504H5.028L12 2.652l6.972 15.66z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.712 17.711H7.288l-1.204 2.916L12 24l5.916-3.373-1.204-2.916ZM14.692 0l7.832 16.855.814-12.856L14.692 0ZM9.308 0 .662 3.999l.814 12.856L9.308 0Zm-.405 13.93h6.198L12 6.396 8.903 13.93Z"/></svg>

Before

Width:  |  Height:  |  Size: 262 B

After

Width:  |  Height:  |  Size: 265 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.324 23.984c-.7-.055-1.581-.198-2.236-.363a11.942 11.942 0 0 1-7.814-6.303c-.61-1.239-.967-2.383-1.127-3.61a9.074 9.074 0 0 0-.102-.639c-.058-.25-.058-1.891 0-2.142.024-.103.07-.39.102-.638.16-1.228.517-2.372 1.127-3.611A11.799 11.799 0 0 1 6.68 1.272C7.919.663 9.063.305 10.29.145c.248-.032.536-.078.639-.102.25-.057 1.892-.057 2.142 0 .103.024.391.07.638.102 1.228.16 2.372.518 3.611 1.127a11.799 11.799 0 0 1 5.406 5.406c.61 1.239.967 2.383 1.127 3.611.032.248.078.535.102.638.026.113.043.541.043 1.071 0 .531-.017.958-.043 1.071-.024.103-.07.391-.102.639-.16 1.227-.517 2.371-1.127 3.61a11.799 11.799 0 0 1-5.406 5.406c-1.239.61-2.383.967-3.611 1.127-.247.033-.526.075-.619.094-.234.049-1.334.073-1.766.039Zm1.551-4.36a10.307 10.307 0 0 0 1.868-.248c2.176-.486 3.95-1.695 5.122-3.492.398-.61.405-.712.027-.416-1.135.891-3.013 1.632-4.999 1.973-1.082.186-1.423.211-2.837.211-1.058 0-1.464-.015-1.865-.065-.998-.127-2.116-.366-2.944-.631-1.252-.4-2.535-1.056-3.199-1.637-.212-.186-.314-.243-.314-.177 0 .048.269.554.426.801 1.435 2.269 3.908 3.516 7.295 3.679l.676.034c.042.003.377-.011.744-.032Zm.233-3.907c1.801-.132 3.472-.507 5.054-1.134 1.175-.466 2.374-1.167 2.867-1.675.167-.172.211-.316.345-1.119.05-.301.134-.672.187-.826.076-.219.105-.404.135-.871.058-.893.007-1.261-.237-1.694-.139-.247-.469-.607-.64-.7l-.129-.069-.221.161c-.317.229-.326.246-.243.41.133.261.2.572.199.923-.003.631-.222 1.091-.798 1.675-2.165 2.198-7.956 2.956-12.17 1.594-1.933-.625-3.219-1.592-3.559-2.676-.085-.27-.095-.358-.08-.676.02-.451.088-.613.511-1.239.166-.244.353-.576.418-.739.065-.163.142-.343.172-.402.086-.166.006-.167-.293-.002-.631.35-1.294.878-1.644 1.31-.469.579-.591 1.01-.547 1.934.027.562.087.854.225 1.094.066.116.096.24.113.476.042.551.138 1.102.215 1.228.1.164.616.593 1.066.886 2.328 1.516 5.915 2.36 9.054 2.131Zm-.056-3.569c1.745-.108 3.299-.463 4.478-1.023.594-.283.934-.515 1.331-.909.414-.413.573-.703.6-1.102.019-.282-.072-.621-.172-.638-.045-.008-.901.459-1.53.835-.067.039-.13.063-.142.051a1.993 1.993 0 0 1-.072-.336c-.071-.44-.135-.573-.345-.718-.324-.225-.391-.298-.523-.572-.116-.241-.149-.28-.288-.334-.26-.102-.557-.299-.557-.368 0-.072.239-.753.39-1.112a3.34 3.34 0 0 0 .099-.249c0-.036-.833-.632-.956-.683-.16-.067-.723-.128-1.205-.13a3.688 3.688 0 0 1-1.258-.206c-.631-.208-.665-.211-1.217-.13-.435.063-.514.087-.698.206-.49.315-.879.428-1.478.43a4.01 4.01 0 0 0-.654.059c-.511.106-.66.182-1.031.528-.469.439-.777.645-1.337.897-.589.265-.655.311-.741.515-.199.469-.293.645-.522.976-.367.53-.453.736-.424 1.016.072.69.818 1.448 1.947 1.981 1.638.772 4.02 1.156 6.305 1.016Zm6.174-4.675c.945-.578 1.504-1.038 1.672-1.377.087-.177.076-.241-.075-.425-.373-.452-1.844-1.32-2.491-1.47-.299-.069-.359-.045-.539.217-.277.403-.946 1.948-.946 2.183 0 .032.084.103.187.159.164.09.204.137.315.37.107.226.157.286.319.387.12.074.235.187.304.3.185.297.165.291.445.136.139-.077.503-.292.809-.48Z"/></svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.385 0c-1.15 0-2.076.93-2.076 2.076V5.31c0 1.148.929 2.076 2.076 2.076h3.23c1.15 0 2.076-.93 2.076-2.076V2.076A2.074 2.074 0 0 0 13.615 0h-3.23zm0 .924h3.23c.638 0 1.155.514 1.155 1.152V5.31c0 .638-.516 1.152-1.155 1.152h-3.23A1.152 1.152 0 0 1 9.23 5.309V2.076c0-.638.516-1.152 1.155-1.152zm0 7.385c-1.15 0-2.076.929-2.076 2.076v3.23c0 1.15.929 2.076 2.076 2.076h3.23c1.15 0 2.076-.929 2.076-2.076v-3.23c0-1.15-.929-2.076-2.076-2.076h-3.23zm0 .921h3.23c.638 0 1.155.516 1.155 1.155v3.23c0 .638-.516 1.155-1.155 1.155h-3.23a1.154 1.154 0 0 1-1.155-1.155v-3.23c0-.638.516-1.155 1.155-1.155zm0 7.385c-1.15 0-2.076.93-2.076 2.076v3.233c0 1.149.929 2.076 2.076 2.076h3.23c1.15 0 2.076-.93 2.076-2.076V18.69a2.075 2.075 0 0 0-2.076-2.076h-3.23zm0 .924h3.23c.638 0 1.155.514 1.155 1.152v3.233c0 .638-.516 1.152-1.155 1.152h-3.23a1.152 1.152 0 0 1-1.155-1.152V18.69c0-.638.516-1.152 1.155-1.152Z"/></svg>

After

Width:  |  Height:  |  Size: 969 B

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.53 7.326v16.649C12.328 24 12.227 24 12 24c-.227 0-.354 0-.556-.025V7.326h1.086zm-2.4 0V23.9a8.27 8.27 0 0 1-1.086-.278V7.326h1.087zm4.8 0v16.27c-.555.177-.783.252-1.086.303V7.326h1.086zm-7.2 7.73v8.16c-.227-.075-.328-.125-.555-.227-.177-.075-.303-.126-.53-.252v-7.68H7.73zm9.626 0v7.68c-.43.203-.733.355-1.112.48v-8.16h1.112zM12 0c6.644 0 12 5.381 12 12.05 0 2.653-.859 5.23-2.425 7.226-.708.935-1.39 1.54-2.93 2.703v-6.922h1.085v4.9c2.274-2.601 3.26-4.976 3.26-7.932C22.99 5.861 18.087.885 12 .885S.985 5.885.985 12.074c0 2.83.91 5.028 3.26 7.883v-4.901h1.11v6.922c-1.237-.733-2.4-1.92-3.41-3.41A11.49 11.49 0 0 1 0 12.125C0 5.381 5.33 0 12 0zm0 2.653 3.638 2.854-.632.733L12 3.89 8.994 6.24l-.632-.708L12 2.652z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5.41 22.03c-1.72-1.24-2.63-2.15-3.49-3.46A12.185 12.185 0 0 1 0 12.03C0 5.38 5.36 0 12 0s12 5.38 12 12c0 2.73-.93 5.46-2.58 7.48-.68.86-1.26 1.36-2.83 2.55v-7.02h1.19v4.8c.88-1.04 1.31-1.67 1.74-2.43.88-1.57 1.36-3.51 1.36-5.38 0-6.06-4.88-10.99-10.89-10.99S1.11 5.94 1.11 12.08c0 2.8.99 5.28 3.08 7.73v-4.8H5.4v7.02Zm2.37 1.21c-.23-.05-.76-.3-1.19-.53V15h1.19v8.24Zm7.23-16.92L12 4 8.99 6.32l-.66-.86 3.66-2.86 3.66 2.86-.66.86Zm-4.83 17.56c-.43-.08-.45-.08-.61-.13-.13-.02-.18-.02-.58-.13V7.2h1.19v16.67Zm2.4.1c-.18.02-.23.02-.48.02-.38 0-.51 0-.71-.02V7.2h1.19v16.78Zm2.4-.38c-.38.13-.71.2-1.19.3V7.2h1.19v16.4Zm2.43-.88c-.38.18-.61.28-1.21.56v-8.27h1.21v7.71Z"/></svg>

Before

Width:  |  Height:  |  Size: 795 B

After

Width:  |  Height:  |  Size: 742 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.766 10.341 12.006 0l-6.77 10.342c-1.945 2.97-2.191 6.432-.66 9.264C6.04 22.316 8.885 24 12.001 24c3.113 0 5.957-1.681 7.421-4.388 1.532-2.832 1.287-6.297-.657-9.27zm-10.082 6.9c1.433 2.554 3.608 3.045 6.585 2.102-1.7 1.848-5.188 2.337-7.557-.302-1.63-1.817-1.773-4.351-.642-6.468 1.132-2.117 3.388-2.706 5.012-1.551-3.723.09-4.43 4.38-3.398 6.218zm8.72-6.009c.723 1.107 1.152 2.267 1.314 3.418-3.354 5.763-7.862 4.879-9.062 1.377-.554-1.618 1.19-5.08 4.514-3.725-1.296-2.838-4.238-4.017-6.911-1.809a5.099 5.099 0 0 0-.609.66l5.355-8.179 5.398 8.258z"/></svg>

After

Width:  |  Height:  |  Size: 631 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.506 11.982a6.026 6.026 0 0 0-3.866-5.618V17.6a6.025 6.025 0 0 0 3.866-5.618zM8.33 17.598V6.365a6.03 6.03 0 0 0-3.863 5.617 6.028 6.028 0 0 0 3.863 5.616zm2.156-15.113A9.497 9.497 0 0 0 .99 11.982a9.495 9.495 0 0 0 9.495 9.494 9.495 9.495 0 0 0 9.496-9.494 9.499 9.499 0 0 0-9.496-9.497Zm-.023 19.888C4.723 22.4 0 17.75 0 12.09 0 5.905 4.723 1.626 10.463 1.627h2.69C18.822 1.627 24 5.903 24 12.09c0 5.658-5.176 10.283-10.848 10.283"/></svg>

After

Width:  |  Height:  |  Size: 512 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3.25 12.358c.124-.306.25-.612.38-.918.058.306.12.613.185.918H3.25zm.129-1.943a46.426 46.426 0 0 0-1.396 3.151h.649a.234.234 0 0 0 .216-.154c.05-.137.102-.273.155-.41h.957l.103.411a.2.2 0 0 0 .195.155h.667a38.402 38.402 0 0 1-.752-3.152l-.794-.001zm1.935 3.152h.784c.062-1.044.17-2.089.321-3.134h-.783a36.666 36.666 0 0 0-.322 3.134m3.23-2.018c-.029.25-.201.407-.467.407h-.388c.028-.273.06-.546.094-.819h.384c.262 0 .41.134.378.402v.009m.793-.04c0-.008.002-.016.003-.023.037-.318-.026-.56-.172-.734-.17-.206-.461-.318-.871-.318H6.882a27.6 27.6 0 0 0-.096.703h.218c-.103.81-.178 1.62-.226 2.43h.78c.02-.323.043-.646.07-.97h.278c.128.285.26.57.394.856a.2.2 0 0 0 .183.115h.756a53.18 53.18 0 0 1-.542-1.137 1.11 1.11 0 0 0 .64-.922m2.093.062c-.031.264-.212.43-.487.43h-.274c.03-.293.062-.572.099-.865h.27c.283 0 .427.134.393.42l-.001.014m-.257-1.137H9.866c-.033.23-.066.473-.096.703h.217a36.478 36.478 0 0 0-.224 2.432h.78c.018-.303.04-.606.065-.909h.3c.669-.009 1.225-.367 1.31-1.12l.002-.017c.083-.703-.326-1.088-1.046-1.088m3.032 1.19h-.866c.044-.396.096-.793.154-1.19h-.784a36.105 36.105 0 0 0-.32 3.134h.784c.023-.403.053-.806.09-1.209h.867c-.037.403-.067.806-.09 1.21h.788a36.75 36.75 0 0 1 .321-3.135h-.789c-.058.397-.11.794-.154 1.19m6.068.386a52.412 52.412 0 0 1-.847-1.631l-.718.12a36.018 36.018 0 0 0-.312 3.07h.773c.031-.547.076-1.095.133-1.642.278.516.566 1.032.865 1.548a.188.188 0 0 0 .163.094h.59a36.75 36.75 0 0 1 .32-3.134h-.772a38.732 38.732 0 0 0-.196 1.576M.941 11.713c.02-.185.042-.37.066-.556h1.427c.031-.24.064-.482.1-.724H.104c-.036.242-.069.483-.1.725h.218A35.93 35.93 0 0 0 0 13.568h.784c.023-.386.052-.773.087-1.16h.845a.247.247 0 0 0 .236-.221c.016-.158.032-.315.05-.473H.94zm21.461 1.147c.015-.18.03-.359.047-.538h.859a.247.247 0 0 0 .237-.221c.014-.149.03-.297.047-.446h-1.075c.02-.172.04-.343.062-.515h1.324c.03-.235.063-.471.097-.707h-2.317a34.27 34.27 0 0 0-.097.707h.218a35.363 35.363 0 0 0-.225 2.427h2.119c.013-.236.03-.471.048-.707h-1.344zm-5.079-.795-.005.049c-.054.542-.293.782-.66.782-.36 0-.59-.332-.535-.874 0-.016.003-.033.005-.049.056-.542.349-.869.71-.869a.46.46 0 0 1 .408.225l-.11.106c.093.15.217.357.188.63m.414-1.202.108-.105c-.212-.243-.52-.383-.903-.383-.818 0-1.52.658-1.616 1.593l-.007.068c-.095.94.463 1.59 1.286 1.59.822 0 1.419-.572 1.513-1.508l.007-.067a1.545 1.545 0 0 0-.388-1.188"/></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23.186 9.07 21.41 8.019a2.78 2.78 0 0 1-1.344-2.391V3.523c0-.431-.19-.837-.516-1.108A11.965 11.965 0 0 0 16.317.493a1.356 1.356 0 0 0-1.193.091L13.347 1.64a2.622 2.622 0 0 1-2.688 0L8.882.584a1.348 1.348 0 0 0-1.194-.09 11.93 11.93 0 0 0-3.231 1.918 1.44 1.44 0 0 0-.516 1.108v2.104c0 .986-.51 1.897-1.344 2.392L.823 9.068c-.363.215-.61.588-.675 1.013A12.24 12.24 0 0 0 0 12.001c0 .651.048 1.292.145 1.916.065.425.312.801.675 1.016l1.774 1.052a2.78 2.78 0 0 1 1.344 2.392v2.104c0 .431.191.837.516 1.108.965.8 2.054 1.452 3.231 1.919.393.155.831.124 1.194-.091l1.777-1.055a2.622 2.622 0 0 1 2.688 0l1.777 1.055c.363.215.804.246 1.193.091a11.973 11.973 0 0 0 3.232-1.92 1.44 1.44 0 0 0 .516-1.107v-2.104a2.78 2.78 0 0 1 1.344-2.392l1.774-1.052c.363-.215.61-.588.675-1.016.094-.624.145-1.265.145-1.916 0-.652-.048-1.293-.145-1.917a1.41 1.41 0 0 0-.67-1.013zM12.003 19.41c-3.981 0-7.21-3.317-7.21-7.407s3.229-7.406 7.21-7.406c3.98 0 7.21 3.316 7.21 7.406s-3.23 7.407-7.21 7.407z"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.996 0a1.119 1.119 0 0 0-.057.003.9.9 0 0 0-.236.05.907.907 0 0 0-.165.079L1.936 5.675a.889.889 0 0 0-.445.77V17.556a.889.889 0 0 0 .47.784l9.598 5.541.054.029v.002a.857.857 0 0 0 .083.035l.012.004c.028.01.056.018.085.024.01.001.011.003.016.004a.93.93 0 0 0 .296.015.683.683 0 0 0 .086-.015c.01 0 .011-.002.016-.004a.94.94 0 0 0 .085-.024l.012-.004a.882.882 0 0 0 .083-.035v-.002a1.086 1.086 0 0 0 .054-.029l9.599-5.541a.889.889 0 0 0 .469-.784V6.48l-.001-.026v-.008a.889.889 0 0 0-.312-.676l-.029-.024c0-.002-.01-.005-.01-.007a.899.899 0 0 0-.107-.07L12.453.127A.887.887 0 0 0 11.99 0zm.01 2.253c.072 0 .144.019.209.056l6.537 3.774a.418.418 0 0 1 0 .724l-6.537 3.774a.418.418 0 0 1-.418 0L5.26 6.807a.418.418 0 0 1 0-.724l6.537-3.774a.42.42 0 0 1 .209-.056zm-8.08 6.458a.414.414 0 0 1 .215.057l6.524 3.766a.417.417 0 0 1 .208.361v7.533a.417.417 0 0 1-.626.361l-6.523-3.766a.417.417 0 0 1-.209-.362V9.13c0-.241.196-.414.41-.418zm16.16 0c.215.004.41.177.41.418v7.532c0 .15-.08.287-.208.362l-6.524 3.766a.417.417 0 0 1-.626-.361v-7.533c0-.149.08-.286.209-.36l6.523-3.767a.415.415 0 0 1 .216-.057z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m22.51 6.457.001-.013a.888.888 0 0 0-.271-.638l-.027-.024c-.019-.016-.037-.033-.057-.048-.02-.015-.04-.028-.06-.04l-.029-.02-9.61-5.547a.891.891 0 0 0-.922.004L1.933 5.674l-.03.02-.023.014-.02.015a.877.877 0 0 0-.147.134l-.003.003a.887.887 0 0 0-.221.584v.014l-.001.027v11.07c0 .328.18.63.469.784l9.599 5.542.023.011a.875.875 0 0 0 .166.07l.04.01a.88.88 0 0 0 .072.015c.012.002.023.005.035.006a.835.835 0 0 0 .216 0c.012-.001.023-.004.035-.006a.9.9 0 0 0 .072-.014l.04-.012a.895.895 0 0 0 .064-.022.913.913 0 0 0 .102-.047l.023-.011 9.599-5.542a.889.889 0 0 0 .469-.784V6.478l-.001-.021zM5.255 6.082l6.537-3.774a.418.418 0 0 1 .418 0l6.537 3.774a.418.418 0 0 1 0 .725l-6.537 3.774a.418.418 0 0 1-.418 0L5.254 6.807a.418.418 0 0 1 0-.725zm5.614 14.345a.417.417 0 0 1-.626.361l-6.524-3.766a.417.417 0 0 1-.209-.361V9.127a.417.417 0 0 1 .626-.361l6.524 3.766a.417.417 0 0 1 .209.362v7.532zm9.623-3.766a.417.417 0 0 1-.209.36l-6.524 3.767a.417.417 0 0 1-.626-.36v-7.533c0-.15.08-.287.209-.362l6.524-3.766a.417.417 0 0 1 .626.36v7.534z"/></svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.197 3.696C4.749 3.696 0 7.802 0 12.19c0 2.267 1.275 4.177 2.88 5.5l.122-.083C1.729 16.553.58 14.9.58 12.637.916 7.835 6.825 5.13 12.076 5.13c3.718 0 10.393.86 10.393 7.086 0 3.248-3.464 7.473-10.736 7.473-3.725 0-6.618-1.999-6.618-4.87 0-2.488 1.943-4.258 4.841-4.258.799 0 1.547.187 2.118.342-1.209-.218-3.085.093-4.056.857v4.205h3.561v-4.78a4.399 4.399 0 0 1 1.551.598v4.182h.928c-.73.82-2.088 1.319-3.264 1.135v.176c3.384.267 4.816-1.341 4.816-3.15 0-2.128-1.994-3.378-4.03-3.634V7.349H8.017v3.18c-2.305.465-4.56 1.837-4.56 4.11 0 3.498 4.88 5.665 9.125 5.665 6.452 0 11.417-3.125 11.417-7.51 0-5.31-7.168-9.098-12.803-9.098m4.908 10.552c0-1.545-1.055-2.784-2.975-3.382V7.35h3.557v8.616h-1.112c.391-.552.53-1.178.53-1.717"/></svg>

After

Width:  |  Height:  |  Size: 806 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.402 11.19c-.701.7-1.838.7-2.54 0a1.796 1.796 0 1 1 2.539 0m.998-3.614a6.17 6.17 0 0 0-4.39-1.818 6.17 6.17 0 0 0-4.392 1.818 6.217 6.217 0 0 0 0 8.782 6.169 6.169 0 0 0 4.39 1.819 6.169 6.169 0 0 0 4.392-1.82 6.217 6.217 0 0 0 0-8.78m1.554 10.33a8.353 8.353 0 0 1-5.945 2.462 8.353 8.353 0 0 1-5.944-2.46c-3.277-3.277-3.277-8.607 0-11.883a8.353 8.353 0 0 1 5.944-2.46 8.35 8.35 0 0 1 5.944 2.46c3.278 3.276 3.278 8.606 0 11.882m4.51-11.293a20.81 20.81 0 0 1-.137-.292 2.779 2.779 0 0 1 .485-3.007c.018-.014.08-.08.117-.118a.412.412 0 0 0 .053-.069.66.66 0 0 0-.097-.81.296.296 0 0 0-.026-.02 1.113 1.113 0 0 0-.18-.11l-.068-.034A19.08 19.08 0 0 0 9.71.443l-.016.022a11.708 11.708 0 0 0-6.012 3.218c-3.75 3.75-4.44 9.403-2.065 13.852.023.043.107.195.123.233a2.778 2.778 0 0 1-.556 2.919 4.39 4.39 0 0 0-.072.08.66.66 0 0 0 0 .934c.06.056.127.105.198.146l.01.006a19.08 19.08 0 0 0 13 1.677v.002a11.708 11.708 0 0 0 5.997-3.216c3.709-3.708 4.423-9.277 2.144-13.702"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.029 18.772.777 1.166-5.417 2.709L0 16.451V4.063l5.417-2.709 5.298 7.948 7.867-5.24L24 1.354V16.84l-5.417 2.709zm2.023-13.827v13.253l3.949-1.975V2.97zM5.076 2.642 1.458 4.45 12.73 21.358l3.618-1.809z"/></svg>

After

Width:  |  Height:  |  Size: 280 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23.99 2.115A12.223 12.223 0 0 0 12 10.149 12.223 12.223 0 0 0 .01 2.115a12.23 12.23 0 0 0 5.32 10.604 6.562 6.562 0 0 1 2.845 5.423v3.754h7.65v-3.754a6.561 6.561 0 0 1 2.844-5.423 12.223 12.223 0 0 0 5.32-10.604Z"/></svg>

After

Width:  |  Height:  |  Size: 291 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0zm.312 22.775c-6.153 0-11.142-4.988-11.142-11.142S6.16.491 12.312.491c6.154 0 11.142 4.989 11.142 11.142s-4.988 11.142-11.142 11.142zm.643-20.464a8.587 8.587 0 1 0 0 17.174 8.587 8.587 0 0 0 0-17.174zm-1.113 15.257a5.517 5.517 0 1 1 0-11.034 5.517 5.517 0 0 1 0 11.034zm-1.399-7.995L14.4 11.97l-3.957 2.518V9.573z"/></svg>

After

Width:  |  Height:  |  Size: 461 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.44.418a3.12 3.12 0 0 1 3.12 0l7.69 4.44a3.12 3.12 0 0 1 1.56 2.702v8.88a3.12 3.12 0 0 1-1.56 2.702l-7.69 4.44a3.12 3.12 0 0 1-3.12 0l-7.69-4.44a3.12 3.12 0 0 1-1.56-2.702V7.56a3.12 3.12 0 0 1 1.56-2.702Zm3.87 3.315L12.311 2.58a.624.624 0 0 0-.624 0l-7.69 4.44a.624.624 0 0 0-.312.54v3.774l10.623-6.133Zm2.496 13.643 1.255.725 1.941-1.12a.624.624 0 0 0 .312-.541V7.56a.624.624 0 0 0-.312-.54l-3.196-1.845Zm-2.497-1.441V8.083l-6.8 3.926ZM3.686 14.217v2.223c0 .223.119.429.312.54l7.69 4.44a.624.624 0 0 0 .624 0l3.252-1.878-10.55-6.091Z"/></svg>

After

Width:  |  Height:  |  Size: 615 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 23.992c1.25.211 7.051-3.743 9.113-8.217.253-.686.61-1.198.746-2.5.21-2.016-.41-3.912-1.59-5.419-.987-1.163-2.305-2.004-3.88-2.532l.683-2.583a1.371 1.371 0 1 0-.76-.189L15.64 5.1c-1.109-.288-2.328-.437-3.64-.444m5.978 11.667c-1.548 1.346-2.525 1.488-3.045 1.467-.274-.034-.75-.558-.919-1.104-.188-.612-.28-1.282-.273-2.2-.199-2.476 1.465-5.624 3.937-6.041 1.003-.186 2.39.493 2.889 2.088.506 1.422-.645 4.147-2.589 5.79zM12 4.656c-1.315.007-2.538.156-3.65.447l-.675-2.56A1.37 1.37 0 0 0 6.962 0a1.372 1.372 0 0 0-.044 2.742L7.6 5.328c-1.57.528-2.885 1.367-3.871 2.528-1.179 1.507-1.8 3.403-1.588 5.419.136 1.302.492 1.814.745 2.5 2.062 4.474 7.862 8.428 9.113 8.217m-1.507-9.507c.007.92-.086 1.589-.274 2.201-.167.546-.644 1.07-.918 1.104-.52.021-1.498-.121-3.045-1.467-1.944-1.643-3.095-4.368-2.589-5.79.5-1.595 1.886-2.274 2.889-2.088 2.471.417 4.136 3.565 3.937 6.04zm6.45-2.19a1.24 1.24 0 1 0 0 2.48 1.24 1.24 0 0 0 0-2.48zm.416 1.149a.325.325 0 1 1 0-.65.325.325 0 0 1 0 .65zM7.25 12.294a1.24 1.24 0 1 0 0 2.48 1.24 1.24 0 0 0 0-2.48zm-.418 1.15a.325.325 0 1 1 0-.65.325.325 0 0 1 0 .65z"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0v24h10.718v-3.805l3.496-4.272h-3.496v-5.205H4.427l6.291-7.767V0Zm13.282 0v3.884L9.786 8.155h3.496v5.205h6.291l-6.291 7.767V24H24V0Z"/></svg>

After

Width:  |  Height:  |  Size: 213 B

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.957 5.077a.787.787 0 1 0-.409 1.52L17.7 9.04a.787.787 0 1 0 .409-1.52l-9.15-2.444ZM6.97 9.434a.79.79 0 0 1 .967-.557l9.15 2.445a.787.787 0 1 1-.409 1.52l-9.15-2.444a.787.787 0 0 1-.558-.964Zm-.055 3.244a.787.787 0 1 0-.409 1.52l5.338 1.427a.787.787 0 1 0 .409-1.52l-5.338-1.427Zm13.945-9.31L8.658.107a3.159 3.159 0 0 0-3.867 2.226L.907 16.777a3.147 3.147 0 0 0 2.233 3.855l12.201 3.26a3.159 3.159 0 0 0 3.868-2.226l3.882-14.443a3.147 3.147 0 0 0-2.233-3.856ZM6.316 2.74a1.58 1.58 0 0 1 1.933-1.113l12.201 3.26a1.573 1.573 0 0 1 1.116 1.927L17.684 21.26a1.58 1.58 0 0 1-1.933 1.113L3.55 19.111a1.573 1.573 0 0 1-1.117-1.927L6.316 2.74Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.831 3.367 8.67.108a3.148 3.148 0 0 0-3.856 2.226L.943 16.777a3.148 3.148 0 0 0 2.226 3.856l12.163 3.259a3.148 3.148 0 0 0 3.855-2.226l3.87-14.443a3.148 3.148 0 0 0-2.226-3.856ZM6.333 2.741a1.574 1.574 0 0 1 1.928-1.113l12.163 3.26a1.574 1.574 0 0 1 1.113 1.927l-3.87 14.444a1.574 1.574 0 0 1-1.928 1.113l-12.163-3.26a1.574 1.574 0 0 1-1.113-1.927L6.333 2.74Zm2.634 2.336a.787.787 0 1 0-.407 1.52l9.122 2.444a.787.787 0 1 0 .407-1.52L8.967 5.077ZM6.985 9.434a.787.787 0 0 1 .963-.557l9.123 2.445a.787.787 0 0 1-.408 1.52l-9.122-2.444a.787.787 0 0 1-.556-.964Zm-.055 3.244a.787.787 0 0 0-.407 1.52l5.32 1.427a.787.787 0 0 0 .408-1.52L6.93 12.677Z"/></svg>

Before

Width:  |  Height:  |  Size: 715 B

After

Width:  |  Height:  |  Size: 726 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 0C5.372 0 0 5.372 0 11.999c0 5.422 3.597 10.003 8.536 11.49.011-.186.028-.406.049-.669.026-.316-.142-.784-.382-.963-2.67-1.997-3.534-4.125-2.906-7.394a.197.197 0 0 1 .335-.101c.72.747 1.234 1.218 1.988 2.094 1.121 1.305 1.557 2.839 1.42 4.59.123-.531.3-1.057.358-1.596.242-2.222.775-4.326 2.426-5.958.425-.42.939-.823 1.488-1.033 1.448-.552 2.953-.965 3.931-2.339.08.049-.451 1.869-.541 2.263-.645 2.193-.42 2.3-1.186 4.45-.506 1.417-1.596 2.404-3.125 2.798-1.504.386-2.349 1.4-2.56 2.898-.077.558-.123.947-.149 1.246.75.147 1.525.225 2.318.225 6.628 0 12-5.372 12-11.999C24 5.374 18.629 0 12 0Zm-1.158 13.463a1.425 1.425 0 0 1-.306.689c-.578.658-1.105 1.844-1.418 3.425-.567-1.75-2.556-3.304-3.273-4.606-.247-.448-.051-1.963.281-3.223.607-1.782.637-2.096.981-3.594 1.689 1.365 2.041 2.267 2.954 3.879.456.804.957 1.904.782 3.43zm4.227-2.272c-1.586.647-2.565 1.018-3.576 1.82.252-1.354-.602-2.944-1.137-4.146-.079-.177.948-1.858 1.13-2.14 1.205-1.498 1.17-1.767 2.83-2.38 1.354-.5 2.719-.97 4.065-1.449-.24 3.291-.805 7.273-3.312 8.295z"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.413 7.62c.042 0 .063.02.105.02.062 0 .148-.02.21-.061l.736-.415c.21-.124.273-.372.148-.559l-.946-1.635a.374.374 0 0 0-.253-.187c-.105-.02-.23-.02-.315.042l-.735.414c-.211.125-.274.373-.148.56l.946 1.635c.042.082.147.145.252.186zm3.699 4.06-.735.413c-.21.125-.274.374-.148.56l.946 1.635a.373.373 0 0 0 .253.187c.041 0 .062.02.104.02a.409.409 0 0 0 .211-.062l.735-.414c.21-.125.274-.373.148-.56l-.946-1.635a.375.375 0 0 0-.252-.187.558.558 0 0 0-.316.042ZM11.989 0C6.105 0 1.333 4.7 1.333 10.499c0 .953.127 1.884.379 2.795.147.56.735.87 1.282.725.567-.145.882-.725.736-1.263a8.098 8.098 0 0 1-.316-2.237C3.436 5.86 7.28 2.071 11.99 2.071s8.555 3.79 8.555 8.428c0 3.189-1.787 6.067-4.667 7.517a6.35 6.35 0 0 1-.861.372c-.126.041-.252.104-.4.145a1.046 1.046 0 0 0-.735.994c0 .498.084 1.056.274 1.657l-2.46-1.305c-.987-.517-1.955-1.056-2.753-1.822-.904-.87-1.198-1.429-1.282-2.444-.084-.931.147-1.594.904-2.505.4-.497.924-.85 1.344-1.097.4-.25.82-.477 1.262-.685a2.097 2.097 0 0 0 2.27.146 2.053 2.053 0 0 0 .798-2.816c-.567-.995-1.849-1.347-2.858-.788a2.021 2.021 0 0 0-1.051 1.575c-.525.249-1.05.538-1.534.849-.547.331-1.262.828-1.87 1.573-.758.932-1.514 2.133-1.367 3.976.126 1.532.631 2.527 1.892 3.748 1.009.974 2.101 1.595 3.258 2.196l3.95 2.05c.211.103.463.165.694.165.379 0 .736-.145 1.009-.394a1.41 1.41 0 0 0 .315-1.656 7.646 7.646 0 0 1-.588-1.677c.252-.104.505-.229.756-.332 3.595-1.801 5.823-5.384 5.823-9.36C22.645 4.701 17.875 0 11.989 0Z"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23.73 10.23a10.274 10.274 0 0 0-1.331-3.411c-.18-.324-.417-.63-.619-.919-1.35-1.893-2.418-2.53-2.624-2.643a9.732 9.732 0 0 0-.562-.375c-1.743-1.087-2.868-1.237-2.868-1.237a9.806 9.806 0 0 0-2.174-.618c-1.256-.15-2.306-.131-3.224 0 .15-.263.281-.356.318-.375.024 0 .017 0 0 0-.45.037-.993.337-1.48.637.337-.656 1.05-1.03 1.143-1.087h.019C9.765.165 8.172.521 6.804 2.039 2.549 3.82 0 7.72 0 11.973c0 3.224 1.256 5.548 2.624 7.085 1.293 1.406 2.718 2.156 3.393 2.362.07.028.225.037.225.037.018-.056-.863-1.462-1.256-3.149.787.806 1.724 1.425 2.774 1.537.112.02-.375-.58-.9-1.368l.712.244 7.817 2.605c-.769.787-1.8 1.556-3.206 2.23 0 0 3.15-.262 4.705-2.005-.637 1.462-2.38 2.25-2.38 2.25 1.274-.188 4.648-1.182 6.785-3.862 2.437-3.036 3.168-5.885 2.437-9.71zm-6.223 7.104c-.244 1.18-.75 2.493-1.893 3.749L1.799 16.49c-.393-1.255-.58-2.717-.468-4.423.243.45.974.825 1.424.843-1.05-2.343-.637-3.955.15-5.023a635.68 635.68 0 0 1 1.031 1.518v-.112c.019-.15.038-.263.075-.375-.356-.525-.656-.975-.88-1.293A5.288 5.288 0 0 1 4.48 6.537c.018.207.056.394.112.619.075.319.094.787.056 1.162V8.3c0 .075-.018.15-.037.225-.019.075-.225.281-.281.825-.057.581.15.9.356 1.143.243-.225.693-.787 1.518-1.106.825-.337 1.368-.824 2.418-1.349.619-.319 1.275-.281 2.1-.244 1.48.263 3.43.788 5.248.881.412.975.58 2.38.58 2.418 0 .131.02.244.02.356-3.225 1.219-7.01 2.606-8.604 3.018-.131.038-1.518-1.968-2.812-3.88-.018.038-.056.056-.075.075-.037.038-.075.075-.093.113h-.113c1.387 2.043 2.868 4.16 3.018 4.16 1.406-.505 5.604-1.949 8.66-2.998-.02 2.305-.581 3.167-.581 3.167s.768-.3 1.555-1.087c0 .637-.168 2.287-1.5 3.88 0 0 .694-.187 1.481-.562Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.948 4.444h-.005c-1.92.788-2.126 2.55-1.817 3.499v.02C9.236 7.18 10.658 6.76 12 6.76c3.26 0 5.902 2.156 5.902 4.815 0 2.66-2.643 4.816-5.902 4.816l-.083-.002c-.155-.006-.354-.013-.435.118-.096.156.116.397.238.536 1.274 1.441 3.123 1.622 3.608 1.67l.076.008c-4.281.414-9.304-2.32-9.306-7.076 0-1.12.414-2.073 1.075-2.83l-.005-.002h-.003C7.31 6.38 6.376 3.47 4.629 2.898c-.124-.04-.246.054-.262.183-.23 1.924-.727 2.59-1.264 3.31-.805 1.08-1.39 2.328-1.365 3.698a10.99 10.99 0 0 1-.705-1.91c-.024-.09-.17-.365-.333-.272-.13.072-.227.274-.296.485A12.137 12.137 0 0 0 0 11.489c0 6.536 5.475 12 12 12 6.627 0 12-5.372 12-12 0-2.526-.781-4.87-2.115-6.805l.167-.002c.518 0 1.024.045 1.51.129-.734-.816-1.724-1.475-2.877-1.904a8.54 8.54 0 0 1 2.494-.495c-1.426-1.166-3.508-1.9-5.827-1.9-3.355 0-6.648 1.29-7.404 3.93zm.682 9.166c-.87-.905-3.473-3.91-3.473-3.91l.202.01 4.075 3.042c.305.223.74.22 1.043-.004l3.996-3.034.212-.018s-2.518 2.935-3.483 3.9c-.964.968-1.703.919-2.572.014zm2.774-10.083s.055.625-.576.824c-.722.227-1.042-.38-1.042-.38s.09-.417.676-.61c.626-.206.942.166.942.166z"/></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.271 10.42 6.86 3.006 9.833.034l4.438 4.438L18.742 0l2.974 2.974ZM9.825 24l-2.973-2.974 7.445-7.445 7.412 7.412-2.974 2.973-4.438-4.437zm-4.567-4.568-2.974-2.974 4.47-4.47-4.437-4.439 2.974-2.974 7.412 7.412Z"/></svg>

After

Width:  |  Height:  |  Size: 289 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.78 7.376c.512 1.181.032 2.644-1.11 3.106-2.157.888-3-1.295-3-1.295-.236-.55-.727-1.496-1.335-1.496-.204 0-.503 0-.94.844-.229.443-.434 1.185-.616 1.84l-.09.32c-.373-1.587-.821-3.454-1.536-4.816-.195-.38-.42-.74-.673-1.08a5.135 5.135 0 0 1 1.743-1.337 4.891 4.891 0 0 1 2.112-.463c1.045 0 2.765.338 4.227 2.227.167.206.317.424.448.654.278.441.52.904.726 1.383l.043.113zM.02 8.4C-.15 7.105.8 5.845 1.953 5.755c1.794-.157 2.36 1.385 2.455 1.89l.022.137c.07.44.29 1.838.48 2.744.078.4.244 1.013.353 1.416l.006.022.026.092c.11.4.232.799.362 1.193.185.548.399 1.085.641 1.61.47.955.93 1.45 1.367 1.45.203 0 .512 0 .96-.878.283-.59.512-1.208.684-1.845.373 1.598.811 3.128 1.495 4.456.205.406.444.794.715 1.16a5.124 5.124 0 0 1-1.742 1.338 4.88 4.88 0 0 1-2.112.461c-1.548 0-3.727-.698-5.339-4.005a22.407 22.407 0 0 1-1.078-2.824 26.848 26.848 0 0 1-.693-2.656 48.56 48.56 0 0 1-.215-1.114A31.971 31.971 0 0 1 .02 8.4zm22.047-2.645-.202-.022h-.052c.222.392.421.797.597 1.215l.053.113a3.29 3.29 0 0 1 .068 2.391 3.079 3.079 0 0 1-1.552 1.749 2.93 2.93 0 0 1-1.228.28 3.115 3.115 0 0 1-.854-.135c-.299 1.182-.768 2.634-1.195 3.511-.427.877-.93 1.451-1.378 1.451-.192 0-.501 0-.95-.877a10.746 10.746 0 0 1-.683-1.845 38.722 38.722 0 0 1-.396-1.575 12.67 12.67 0 0 1-.136-.598l-.002-.01c-.406-1.778-.865-3.645-1.655-5.142A8.263 8.263 0 0 0 11.52 4.8a5.136 5.136 0 0 0-1.748-1.34A4.892 4.892 0 0 0 7.654 3C6.618 3 4.9 3.338 3.437 5.228c.466.223.867.562 1.164.984.305.433.499.933.565 1.458.076.563.256 1.654.47 2.688l.001.007c.021.11.042.221.073.342.126-.34.25-.642.38-.955l.112-.271.128-.293c.235-.55.726-1.496 1.324-1.496.213 0 .513 0 .95.844.296.606.532 1.239.706 1.89.138.507.276 1.047.394 1.587.04.148.07.296.101.444l.006.028c.427 1.879.875 3.69 1.644 5.187a7.82 7.82 0 0 0 1.025 1.531c1.27 1.45 2.733 1.8 3.843 1.8 1.548 0 3.738-.698 5.35-4.006.822-1.7 1.515-4.208 1.772-5.48.256-1.27.449-2.419.534-3.115a2.42 2.42 0 0 0-.433-1.743 2.247 2.247 0 0 0-.653-.607 2.143 2.143 0 0 0-.826-.296z"/></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.136 13.949c0 .392-.245.616-.719.616h-.628v-1.226h.628c.48 0 .72.212.72.61zM6.922 15.06h1.044l-.523-1.443-.521 1.443zm12.46-1.82c-.72 0-1.109.562-1.109 1.526 0 .97.384 1.526 1.108 1.526.725 0 1.108-.556 1.108-1.526 0-.964-.389-1.526-1.108-1.526zM23.73 0v24H.269V0h23.462zm-5.548 10.652c.484.245.948.354 1.571.354.895 0 1.481-.458 1.481-1.171 0-.6-.357-1.014-1.028-1.172l-.677-.158c-.394-.092-.559-.25-.559-.517 0-.322.25-.523.74-.523s.778.18.89.604l.048.186h.383v-.943a2.927 2.927 0 0 0-1.352-.338c-.911 0-1.497.447-1.497 1.166 0 .556.34.965.996 1.112l.676.152c.432.099.592.273.592.562 0 .354-.261.55-.784.55-.59 0-.894-.24-1.027-.697l-.07-.235h-.383v1.068zm-3.378.245h3.02V9.595h-.383l-.043.19c-.106.486-.255.638-.607.638h-.74V7.557h.506v-.474h-1.753v.474h.453v2.866h-.453v.474zm-3.355 0h3.02V9.595h-.384l-.042.19c-.107.486-.256.638-.608.638h-.74V7.557h.506v-.474H11.45v.474h.452v2.866h-.452v.474zm-8.758-3.34.938 3.34h.74l.778-2.768.756 2.768h.74l.932-3.34h.736v2.866h-.453v.474h3.201V9.595h-.383l-.043.19c-.106.486-.26.638-.607.638h-.922V9.241h1.071a.58.58 0 0 0 .059-.273.55.55 0 0 0-.059-.26h-1.07v-1.15h.884c.357 0 .48.157.596.615l.038.147h.383V7.083H6.49v.474h.522l-.613 2.305-.762-2.779h-.766l-.746 2.774-.624-2.3h.501v-.474H2.266v.474h.426zm1.412 7.002v-1.22h.947c.358 0 .48.158.597.615l.038.147h.383v-1.236H2.857v.474h.453v2.866h-.453v.474h1.78v-.474h-.533v-1.112H5.2a.58.58 0 0 0 .058-.272.551.551 0 0 0-.058-.262H4.104zm9.114 1.913a.461.461 0 0 0-.048-.224.663.663 0 0 1-.112.011c-.245 0-.309-.142-.34-.458l-.022-.201c-.048-.43-.245-.708-.73-.746v-.017c.48-.022.975-.349.975-.964 0-.621-.496-1.008-1.257-1.008H9.542v.474h.453v2.866H9.26l-1.332-3.34H7.22l-1.305 3.34h-.373v.474h1.412v-.474h-.448l.245-.682h1.385l.245.682h-.437v.474h3.35v-.474h-.505v-1.16h.293c.586 0 .761.212.826.762l.02.19c.06.507.31.725.826.725.15 0 .299-.01.416-.027a.46.46 0 0 0 .048-.223zm3.633-1.788h-1.417a.52.52 0 0 0-.059.256c0 .11.016.18.059.268h.634v.964a1.598 1.598 0 0 1-.629.125c-.767 0-1.166-.56-1.166-1.53s.4-1.532 1.124-1.532c.485 0 .767.245.932.67l.058.153h.384v-.976a3.063 3.063 0 0 0-1.412-.337c-1.172 0-1.96.8-1.96 2.027 0 1.231.767 2.016 1.96 2.016.474 0 .964-.136 1.492-.404v-1.7zm4.512.082c0-1.182-.831-2.021-1.982-2.021-1.145 0-1.981.839-1.981 2.021 0 1.188.83 2.022 1.981 2.022 1.156 0 1.982-.834 1.982-2.022z"/></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m18.931 9.99-1.441-.601 1.717-.913a4.48 4.48 0 0 0 1.874-6.078 4.506 4.506 0 0 0-6.09-1.874L4.792 5.929a4.504 4.504 0 0 0-2.402 4.193 4.521 4.521 0 0 0 2.666 3.904c.036.012 1.442.6 1.442.6l-1.706.901a4.51 4.51 0 0 0-2.369 3.967A4.528 4.528 0 0 0 6.93 24c.725 0 1.437-.174 2.08-.508l10.21-5.406a4.494 4.494 0 0 0 2.39-4.192 4.525 4.525 0 0 0-2.678-3.904Zm-9.334 5.2V8.824l6.007 3.184z"/></svg>

After

Width:  |  Height:  |  Size: 461 B

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -32,7 +32,7 @@
<link rel="alternate" type="application/rss+xml" title="{{ lang.t('rss.updated') }}" href="{{ 'feed_rss_updated.xml' | url }}">
{% endif %}
<link rel="icon" href="{{ config.theme.favicon | url }}">
<meta name="generator" content="mkdocs-{{ mkdocs_version }}, mkdocs-material-9.4.8">
<meta name="generator" content="mkdocs-{{ mkdocs_version }}, mkdocs-material-9.4.10">
{% endblock %}
{% block htmltitle %}
{% if page.meta and page.meta.title %}
@ -44,7 +44,7 @@
{% endif %}
{% endblock %}
{% block styles %}
<link rel="stylesheet" href="{{ 'assets/stylesheets/main.78cf6014.min.css' | url }}">
<link rel="stylesheet" href="{{ 'assets/stylesheets/main.fad675c6.min.css' | url }}">
{% if config.theme.palette %}
{% set palette = config.theme.palette %}
<link rel="stylesheet" href="{{ 'assets/stylesheets/palette.356b1318.min.css' | url }}">
@ -224,7 +224,10 @@
"search": "assets/javascripts/workers/search.970b9345.min.js" | url
} -%}
{%- if config.extra.version -%}
{%- set _ = app.update({ "version": config.extra.version }) -%}
{%- set mike = config.plugins.get("mike") -%}
{%- if not mike or mike.config.version_selector -%}
{%- set _ = app.update({ "version": config.extra.version }) -%}
{%- endif -%}
{%- endif -%}
{%- if config.extra.tags -%}
{%- set _ = app.update({ "tags": config.extra.tags }) -%}
@ -249,7 +252,7 @@
</script>
{% endblock %}
{% block scripts %}
<script src="{{ 'assets/javascripts/bundle.81fa17fe.min.js' | url }}"></script>
<script src="{{ 'assets/javascripts/bundle.6c14ae12.min.js' | url }}"></script>
{% for script in config.extra_javascript %}
{{ script | script_tag }}
{% endfor %}

View File

@ -3,7 +3,9 @@
-#}
<li class="md-nav__item">
<a href="{{ toc_item.url }}" class="md-nav__link">
{{ toc_item.title }}
<span class="md-ellipsis">
{{ toc_item.title }}
</span>
</a>
{% if toc_item.children %}
<nav class="md-nav" aria-label="{{ toc_item.title | striptags }}">

View File

@ -192,8 +192,6 @@ nav:
- Asking a question: https://github.com/squidfunk/mkdocs-material/discussions
- Guides:
- Creating a reproduction: guides/creating-a-reproduction.md
- FAQ:
- Sponsoring: faq/sponsoring.md
- Setup:
- setup/index.md
- Changing the colors: setup/changing-the-colors.md
@ -255,8 +253,11 @@ nav:
- Insiders:
- insiders/index.md
- Getting started: insiders/getting-started.md
- FAQ: insiders/faq/sponsoring.md
- Changelog:
- insiders/changelog/index.md
- How to upgrade: insiders/upgrade.md
- Community Experts Program:
- insiders/community-experts-program/index.md
- Blog:
- blog/index.md

618
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "mkdocs-material",
"version": "9.4.8",
"version": "9.4.10",
"description": "Documentation that simply works",
"keywords": [
"mkdocs",
@ -49,24 +49,24 @@
"@fortawesome/fontawesome-free": "^6.4.2",
"@mdi/svg": "^7.3.67",
"@primer/octicons": "^19.8.0",
"@types/css-modules": "^1.0.4",
"@types/escape-html": "^1.0.3",
"@types/fuzzaldrin-plus": "^0.6.4",
"@types/html-minifier": "^4.0.4",
"@types/lunr": "^2.3.6",
"@types/node": "^20.8.10",
"@types/resize-observer-browser": "^0.1.9",
"@types/css-modules": "^1.0.5",
"@types/escape-html": "^1.0.4",
"@types/fuzzaldrin-plus": "^0.6.5",
"@types/html-minifier": "^4.0.5",
"@types/lunr": "^2.3.7",
"@types/node": "^20.9.2",
"@types/resize-observer-browser": "^0.1.10",
"@types/sass": "^1.45.0",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"autoprefixer": "^10.4.16",
"chokidar": "^3.5.3",
"cssnano": "5.1.0",
"esbuild": "^0.19.5",
"eslint": "^8.53.0",
"esbuild": "^0.19.6",
"eslint": "^8.54.0",
"eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-import": "^2.29.0",
"eslint-plugin-jsdoc": "^46.8.2",
"eslint-plugin-jsdoc": "^46.9.0",
"eslint-plugin-no-null": "^1.0.2",
"github-types": "^1.0.0",
"gitlab": "^14.2.2",
@ -81,15 +81,15 @@
"postcss-inline-svg": "^6.0.0",
"postcss-logical": "5.0.4",
"postcss-pseudo-is": "^0.3.0",
"preact": "^10.18.2",
"preact": "^10.19.2",
"rimraf": "^5.0.5",
"sass": "^1.69.5",
"simple-icons": "^9.19.1",
"simple-icons": "^9.21.0",
"stylelint": "^15.11.0",
"stylelint-config-recess-order": "4.2.0",
"stylelint-config-recommended": "^13.0.0",
"stylelint-config-standard-scss": "^11.1.0",
"stylelint-scss": "^5.3.0",
"stylelint-scss": "^5.3.1",
"stylelint-stylistic": "^0.4.3",
"svgo": "3.0.0",
"tiny-glob": "^0.2.9",

View File

@ -618,9 +618,9 @@ class BlogPlugin(BasePlugin[BlogConfig]):
# Copy file to temporary directory
copy_file(view.file.abs_src_path, file.abs_src_path)
# Create view and attach to previous page
# Create and yield view
if not isinstance(file.page, View):
yield View(None, file, config)
yield view.__class__(None, file, config)
# Assign pages and posts to view
assert isinstance(file.page, View)
@ -800,7 +800,7 @@ class BlogPlugin(BasePlugin[BlogConfig]):
# Format date
def _format_date(self, date: datetime, format: str, config: MkDocsConfig):
locale = config.theme["language"]
locale: str = config.theme["language"].replace("-", "_")
return format_date(date, format = format, locale = locale)
# Format date for post

View File

@ -47,6 +47,7 @@ class SearchPlugin(BasePlugin[SearchConfig]):
super().__init__(*args, **kwargs)
# Initialize incremental builds
self.is_dirty = False
self.is_dirtyreload = False
# Initialize search index cache

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M17.029 18.772l.777 1.166-5.417 2.709L0 16.451V4.063l5.417-2.709 5.298 7.948 7.867-5.24L24 1.354V16.84l-5.417 2.709-1.554-.777zm2.023-13.827v13.253l3.949-1.975V2.97l-3.949 1.975zM5.076 2.642L1.458 4.45 12.73 21.358l3.618-1.809L5.076 2.642z" />
</svg>

After

Width:  |  Height:  |  Size: 323 B

Binary file not shown.

View File

@ -85,7 +85,12 @@ export function request(
// Handle download progress
if (typeof options?.progress$ !== "undefined") {
req.addEventListener("progress", event => {
options.progress$!.next((event.loaded / event.total) * 100)
if (event.lengthComputable) {
options.progress$!.next((event.loaded / event.total) * 100)
} else { // https://bugs.chromium.org/p/chromium/issues/detail?id=463622
const totalFromHeader = Number(req.getResponseHeader("Content-Length")) || 0
options.progress$!.next((event.loaded / totalFromHeader) * 100)
}
})
// Immediately set progress to 5% to indicate that we're loading

View File

@ -60,7 +60,7 @@ function extract(el: HTMLElement): string {
? copy.getAttribute("data-copy")!
: el.innerText
el.removeAttribute("data-md-copying")
return text
return text.trimEnd()
}
/* ----------------------------------------------------------------------------

View File

@ -168,8 +168,8 @@ export function setupVersionSelector(
/* Check if version is considered a default */
main: for (const ignore of ignored)
for (const alias of current.aliases)
if (new RegExp(ignore, "i").test(alias)) {
for (const version of current.aliases.concat(current.version))
if (new RegExp(ignore, "i").test(version)) {
outdated = false
break main
}

View File

@ -567,7 +567,7 @@
}
// Show nested navigation when toggle is active or indeterminate
&__toggle:is(:checked, :indeterminate) ~ & {
&__toggle:is(:checked, .md-toggle--indeterminate) ~ & {
grid-template-rows: 1fr;
visibility: visible;
opacity: 1;
@ -577,6 +577,11 @@
visibility 0ms;
}
// Disable transition for expanded navigation
&__toggle.md-toggle--indeterminate ~ & {
transition: none;
}
// Hide navigation title in nested navigation
&__item--nested > & > &__title {
display: none;
@ -661,7 +666,7 @@
// Navigation icon - rotate icon when toggle is active or indeterminate
.md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link &,
.md-nav__item--nested .md-nav__toggle:indeterminate ~ .md-nav__link & {
.md-nav__item--nested .md-toggle--indeterminate ~ .md-nav__link & {
transform: rotate(90deg);
}
}

View File

@ -401,7 +401,10 @@
<!-- Versioning -->
{%- if config.extra.version -%}
{%- set _ = app.update({ "version": config.extra.version }) -%}
{%- set mike = config.plugins.get("mike") -%}
{%- if not mike or mike.config.version_selector -%}
{%- set _ = app.update({ "version": config.extra.version }) -%}
{%- endif -%}
{%- endif -%}
<!-- Tags -->

View File

@ -23,7 +23,9 @@
<!-- Table of contents item -->
<li class="md-nav__item">
<a href="{{ toc_item.url }}" class="md-nav__link">
{{ toc_item.title }}
<span class="md-ellipsis">
{{ toc_item.title }}
</span>
</a>
<!-- Table of contents list -->