# Copyright (c) 2016-2025 Martin Donath <martin.donath@squidfunk.com>

# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:

# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.

# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.

[build-system]
requires = [
  "hatchling",
  "hatch-requirements-txt",
  "hatch-nodejs-version>=0.3.0",
  # Needed for "Framework :: MkDocs"
  "trove_classifiers>=2023.10.18",
]
build-backend = "hatchling.build"

[project]
name = "mkdocs-material"
dynamic = [
  "version",
  "dependencies",
  "license",
  "description",
  "authors",
  "keywords"
]
readme = "README.md"
requires-python = ">=3.8"
classifiers = [
  "Development Status :: 5 - Production/Stable",
  "Environment :: Web Environment",
  "Framework :: MkDocs",
  "License :: OSI Approved :: MIT License",
  "Programming Language :: JavaScript",
  "Programming Language :: Python",
  "Topic :: Documentation",
  "Topic :: Software Development :: Documentation",
  "Topic :: Text Processing :: Markup :: HTML",
]

[project.optional-dependencies]
recommended = [
  "mkdocs-minify-plugin>=0.7",
  "mkdocs-redirects>=1.2",
  "mkdocs-rss-plugin>=1.6"
]
git = [
  "mkdocs-git-committers-plugin-2>=1.1",
  "mkdocs-git-revision-date-localized-plugin>=1.2.4"
]
imaging = [
  "pillow>=10.2",
  "cairosvg>=2.6"
]

[project.urls]
Documentation = "https://squidfunk.github.io/mkdocs-material/"
Source = "https://github.com/squidfunk/mkdocs-material"
Changelog = "https://squidfunk.github.io/mkdocs-material/changelog/"
Issues = "https://github.com/squidfunk/mkdocs-material/issues"

[project.entry-points."mkdocs.plugins"]
"material/blog" = "material.plugins.blog.plugin:BlogPlugin"
"material/group" = "material.plugins.group.plugin:GroupPlugin"
"material/info" = "material.plugins.info.plugin:InfoPlugin"
"material/meta" = "material.plugins.meta.plugin:MetaPlugin"
"material/offline" = "material.plugins.offline.plugin:OfflinePlugin"
"material/optimize" = "material.plugins.optimize.plugin:OptimizePlugin"
"material/privacy" = "material.plugins.privacy.plugin:PrivacyPlugin"
"material/projects" = "material.plugins.projects.plugin:ProjectsPlugin"
"material/search" = "material.plugins.search.plugin:SearchPlugin"
"material/social" = "material.plugins.social.plugin:SocialPlugin"
"material/tags" = "material.plugins.tags.plugin:TagsPlugin"
"material/typeset" = "material.plugins.typeset.plugin:TypesetPlugin"

[project.entry-points."mkdocs.themes"]
material = "material.templates"

[tool.hatch.version]
source = "nodejs"

[tool.hatch.metadata.hooks.nodejs]
fields = ["license", "description", "authors", "keywords", "urls"]

[tool.hatch.metadata.hooks.requirements_txt]
filename = "requirements.txt"

[tool.hatch.build.targets.wheel]
include = ["/material"]

[tool.hatch.build.targets.sdist]
include = ["/material", "/package.json", "/requirements.txt"]
exclude = ["/material/overrides"]
