1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 flit-core,
6 mdformat-beautysh,
7 mdformat-footnote,
8 mdformat-frontmatter,
9 mdformat-gfm,
10 mdformat-simple-breaks,
11 mdformat-tables,
12 mdformat,
13 mdit-py-plugins,
14 more-itertools,
15 pytest-snapshot,
16 pytestCheckHook,
17 pythonOlder,
18}:
19
20buildPythonPackage rec {
21 pname = "mdformat-mkdocs";
22 version = "4.4.1";
23 pyproject = true;
24
25 disabled = pythonOlder "3.8";
26
27 src = fetchFromGitHub {
28 owner = "KyleKing";
29 repo = "mdformat-mkdocs";
30 tag = "v${version}";
31 hash = "sha256-J1gLi85tEFJcWupV2FzunJhROFdU3G12hRHxbLSX0kc=";
32 };
33
34 nativeBuildInputs = [ flit-core ];
35
36 propagatedBuildInputs = [
37 mdformat
38 mdformat-gfm
39 mdit-py-plugins
40 more-itertools
41 ];
42
43 optional-dependencies = {
44 recommended = [
45 mdformat-beautysh
46 # mdformat-config
47 mdformat-footnote
48 mdformat-frontmatter
49 # mdformat-ruff
50 mdformat-simple-breaks
51 mdformat-tables
52 # mdformat-web
53 # mdformat-wikilink
54 ];
55 };
56
57 nativeCheckInputs = [
58 pytest-snapshot
59 pytestCheckHook
60 ];
61
62 disabledTestPaths = [
63 # AssertionError: assert ParsedText(lines=[LineResult(parsed=ParsedLine(line_...
64 "tests/format/test_parsed_result.py"
65 ];
66
67 pythonImportsCheck = [ "mdformat_mkdocs" ];
68
69 meta = with lib; {
70 description = "Mdformat plugin for MkDocs";
71 homepage = "https://github.com/KyleKing/mdformat-mkdocs";
72 changelog = "https://github.com/KyleKing/mdformat-mkdocs/releases/tag/${src.tag}";
73 license = licenses.mit;
74 maintainers = with maintainers; [ aldoborrero ];
75 };
76}