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.15";
32 pyproject = true;
33
34 src = fetchFromGitHub {
35 owner = "squidfunk";
36 repo = "mkdocs-material";
37 tag = version;
38 hash = "sha256-EksLvPl/VfGSufdqgWlQTd6kz07/pTIAOz7hMBdy8Ro=";
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 optional-dependencies = {
64 recommended = [
65 mkdocs-minify-plugin
66 mkdocs-redirects
67 mkdocs-rss-plugin
68 ];
69 git = [
70 # TODO: gmkdocs-git-committers-plugin
71 mkdocs-git-revision-date-localized-plugin
72 ];
73 imaging = [
74 cairosvg
75 pillow
76 ];
77 };
78
79 # No tests for python
80 doCheck = false;
81
82 pythonImportsCheck = [ "mkdocs" ];
83
84 meta = with lib; {
85 changelog = "https://github.com/squidfunk/mkdocs-material/blob/${src.tag}/CHANGELOG";
86 description = "Material for mkdocs";
87 downloadPage = "https://github.com/squidfunk/mkdocs-material";
88 homepage = "https://squidfunk.github.io/mkdocs-material/";
89 license = licenses.mit;
90 maintainers = with maintainers; [ dandellion ];
91 };
92}