mirror of
https://github.com/squidfunk/mkdocs-material.git
synced 2024-11-30 18:24:35 +01:00
Modernized metadata (#4341)
* Revert "Revert "Switched to new build and publish workflow (#4337)" (#4340)"
This reverts commit 1a9bc1dd6a
.
* Create setup.py
* update
This commit is contained in:
parent
209b653cb6
commit
16bb4379d1
4
.github/workflows/publish.yml
vendored
4
.github/workflows/publish.yml
vendored
@ -46,10 +46,10 @@ jobs:
|
|||||||
python-version: ${{ env.PYTHON_VERSION }}
|
python-version: ${{ env.PYTHON_VERSION }}
|
||||||
|
|
||||||
- name: Set up Python dependencies
|
- name: Set up Python dependencies
|
||||||
run: pip install --upgrade setuptools wheel twine
|
run: pip install --upgrade build twine
|
||||||
|
|
||||||
- name: Build Python package
|
- name: Build Python package
|
||||||
run: python setup.py build sdist bdist_wheel --universal
|
run: python -m build
|
||||||
|
|
||||||
- name: Publish Python package
|
- name: Publish Python package
|
||||||
env:
|
env:
|
||||||
|
@ -32,11 +32,10 @@ WORKDIR /tmp
|
|||||||
|
|
||||||
# Copy files necessary for build
|
# Copy files necessary for build
|
||||||
COPY material material
|
COPY material material
|
||||||
COPY MANIFEST.in MANIFEST.in
|
|
||||||
COPY package.json package.json
|
COPY package.json package.json
|
||||||
COPY README.md README.md
|
COPY README.md README.md
|
||||||
COPY requirements.txt requirements.txt
|
COPY requirements.txt requirements.txt
|
||||||
COPY setup.py setup.py
|
COPY pyproject.toml pyproject.toml
|
||||||
|
|
||||||
# Perform build and cleanup artifacts and caches
|
# Perform build and cleanup artifacts and caches
|
||||||
RUN \
|
RUN \
|
||||||
|
11
MANIFEST.in
11
MANIFEST.in
@ -1,11 +0,0 @@
|
|||||||
recursive-include material *.js *.css *.map *.html *.svg *.png *.yml
|
|
||||||
recursive-include material *.ttf *.woff *.woff2 LICENSE*
|
|
||||||
recursive-exclude material/overrides *
|
|
||||||
recursive-exclude site *
|
|
||||||
recursive-exclude src *
|
|
||||||
recursive-exclude * __pycache__
|
|
||||||
recursive-exclude * *.py[co]
|
|
||||||
include LICENSE
|
|
||||||
include package.json
|
|
||||||
include README.md
|
|
||||||
include requirements.txt
|
|
51
pyproject.toml
Normal file
51
pyproject.toml
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["hatchling", "hatch-requirements-txt", "hatch-nodejs-version"]
|
||||||
|
build-backend = "hatchling.build"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "mkdocs-material"
|
||||||
|
dynamic = [
|
||||||
|
"version",
|
||||||
|
"dependencies",
|
||||||
|
"license",
|
||||||
|
"description",
|
||||||
|
"authors",
|
||||||
|
"keywords",
|
||||||
|
"urls",
|
||||||
|
]
|
||||||
|
readme = "README.md"
|
||||||
|
requires-python = ">=3.7"
|
||||||
|
classifiers = [
|
||||||
|
"Development Status :: 5 - Production/Stable",
|
||||||
|
"Environment :: Web Environment",
|
||||||
|
"License :: OSI Approved :: MIT License",
|
||||||
|
"Programming Language :: JavaScript",
|
||||||
|
"Programming Language :: Python",
|
||||||
|
"Topic :: Documentation",
|
||||||
|
"Topic :: Software Development :: Documentation",
|
||||||
|
"Topic :: Text Processing :: Markup :: HTML",
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.entry-points."mkdocs.plugins"]
|
||||||
|
search = "material.plugins.search.plugin:SearchPlugin"
|
||||||
|
social = "material.plugins.social.plugin:SocialPlugin"
|
||||||
|
tags = "material.plugins.tags.plugin:TagsPlugin"
|
||||||
|
|
||||||
|
[project.entry-points."mkdocs.themes"]
|
||||||
|
material = "material"
|
||||||
|
|
||||||
|
[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"]
|
83
setup.py
83
setup.py
@ -1,79 +1,32 @@
|
|||||||
# Copyright (c) 2016-2022 Martin Donath <martin.donath@squidfunk.com>
|
import sys
|
||||||
|
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
from setuptools import setup
|
||||||
# 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
|
sys.stderr.write(
|
||||||
# all copies or substantial portions of the Software.
|
"""
|
||||||
|
===============================
|
||||||
|
Unsupported installation method
|
||||||
|
===============================
|
||||||
|
This version of mkdocs-material no longer supports
|
||||||
|
installation with `python setup.py install`.
|
||||||
|
|
||||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
Please use `python -m pip install .` instead.
|
||||||
# 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
|
sys.exit(1)
|
||||||
# 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.
|
|
||||||
|
|
||||||
import json
|
|
||||||
from setuptools import setup, find_packages
|
|
||||||
|
|
||||||
# Load package.json contents
|
# The below code will never execute, however GitHub is particularly
|
||||||
with open("package.json") as f:
|
# picky about where it finds Python packaging metadata.
|
||||||
package = json.load(f)
|
# See: https://github.com/github/feedback/discussions/6456
|
||||||
|
|
||||||
# Load list of dependencies
|
|
||||||
with open("requirements.txt") as f:
|
with open("requirements.txt") as f:
|
||||||
install_requires = [
|
install_requires = [
|
||||||
line for line in f.read().split("\n")
|
line for line in f.read().split("\n")
|
||||||
if line and not line.startswith("#")
|
if line and not line.startswith("#")
|
||||||
]
|
]
|
||||||
|
|
||||||
# Load README contents
|
|
||||||
with open("README.md", encoding = "utf-8") as f:
|
|
||||||
long_description = f.read()
|
|
||||||
|
|
||||||
# Package description
|
|
||||||
setup(
|
setup(
|
||||||
name = "mkdocs-material",
|
name="mkdocs-material",
|
||||||
version = package["version"],
|
install_requires=install_requires,
|
||||||
url = package["homepage"],
|
|
||||||
project_urls = {
|
|
||||||
"Source": "https://github.com/squidfunk/mkdocs-material",
|
|
||||||
},
|
|
||||||
license = package["license"],
|
|
||||||
description = package["description"],
|
|
||||||
long_description = long_description,
|
|
||||||
long_description_content_type = "text/markdown",
|
|
||||||
author = package["author"]["name"],
|
|
||||||
author_email = package["author"]["email"],
|
|
||||||
keywords = package["keywords"],
|
|
||||||
classifiers = [
|
|
||||||
"Development Status :: 5 - Production/Stable",
|
|
||||||
"Environment :: Web Environment",
|
|
||||||
"License :: OSI Approved :: MIT License",
|
|
||||||
"Programming Language :: JavaScript",
|
|
||||||
"Programming Language :: Python",
|
|
||||||
"Topic :: Documentation",
|
|
||||||
"Topic :: Software Development :: Documentation",
|
|
||||||
"Topic :: Text Processing :: Markup :: HTML"
|
|
||||||
],
|
|
||||||
packages = find_packages(exclude = ["src", "src.*"]),
|
|
||||||
include_package_data = True,
|
|
||||||
install_requires = install_requires,
|
|
||||||
python_requires='>=3.7',
|
|
||||||
entry_points = {
|
|
||||||
"mkdocs.themes": [
|
|
||||||
"material = material"
|
|
||||||
],
|
|
||||||
"mkdocs.plugins": [
|
|
||||||
"search = material.plugins.search.plugin:SearchPlugin",
|
|
||||||
"social = material.plugins.social.plugin:SocialPlugin",
|
|
||||||
"tags = material.plugins.tags.plugin:TagsPlugin"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
zip_safe = False
|
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user