1{
2 lib,
3 babel,
4 backrefs,
5 buildPythonPackage,
6 cairosvg,
7 colorama,
8 fetchFromGitHub,
9 hatch-nodejs-version,
10 hatch-requirements-txt,
11 hatchling,
12 jinja2,
13 markdown,
14 mkdocs,
15 mkdocs-git-revision-date-localized-plugin,
16 mkdocs-material-extensions,
17 mkdocs-minify-plugin,
18 mkdocs-redirects,
19 mkdocs-rss-plugin,
20 paginate,
21 pillow,
22 pygments,
23 pymdown-extensions,
24 regex,
25 requests,
26 trove-classifiers,
27}:
28
29buildPythonPackage rec {
30 pname = "mkdocs-material";
31 version = "9.6.20";
32 pyproject = true;
33
34 src = fetchFromGitHub {
35 owner = "squidfunk";
36 repo = "mkdocs-material";
37 tag = version;
38 hash = "sha256-4VvMy3eAkITASX8qRu8Qdgj2n92dz0vfZJo4q8EFLuU=";
39 };
40
41 nativeBuildInputs = [
42 hatch-requirements-txt
43 hatch-nodejs-version
44 hatchling
45 trove-classifiers
46 ];
47
48 propagatedBuildInputs = [
49 babel
50 backrefs
51 colorama
52 jinja2
53 markdown
54 mkdocs
55 mkdocs-material-extensions
56 paginate
57 pygments
58 pymdown-extensions
59 regex
60 requests
61 ];
62
63 pythonRelaxDeps = [ "backrefs" ];
64
65 optional-dependencies = {
66 recommended = [
67 mkdocs-minify-plugin
68 mkdocs-redirects
69 mkdocs-rss-plugin
70 ];
71 git = [
72 # TODO: gmkdocs-git-committers-plugin
73 mkdocs-git-revision-date-localized-plugin
74 ];
75 imaging = [
76 cairosvg
77 pillow
78 ];
79 };
80
81 # No tests for python
82 doCheck = false;
83
84 pythonImportsCheck = [ "mkdocs" ];
85
86 meta = with lib; {
87 changelog = "https://github.com/squidfunk/mkdocs-material/blob/${src.tag}/CHANGELOG";
88 description = "Material for mkdocs";
89 downloadPage = "https://github.com/squidfunk/mkdocs-material";
90 homepage = "https://squidfunk.github.io/mkdocs-material/";
91 license = licenses.mit;
92 maintainers = with maintainers; [ dandellion ];
93 };
94}