1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, hatchling
5, pytestCheckHook
6, markdown
7, pyyaml
8, pygments
9}:
10
11let
12 extensions = [
13 "arithmatex"
14 "b64"
15 "betterem"
16 "caret"
17 "critic"
18 "details"
19 "emoji"
20 "escapeall"
21 "extra"
22 "highlight"
23 "inlinehilite"
24 "keys"
25 "magiclink"
26 "mark"
27 "pathconverter"
28 "progressbar"
29 "saneheaders"
30 "smartsymbols"
31 "snippets"
32 "striphtml"
33 "superfences"
34 "tabbed"
35 "tasklist"
36 "tilde"
37 ];
38in
39buildPythonPackage rec {
40 pname = "pymdown-extensions";
41 version = "9.5";
42 format = "pyproject";
43
44 src = fetchFromGitHub {
45 owner = "facelessuser";
46 repo = "pymdown-extensions";
47 rev = "refs/tags/${version}";
48 sha256 = "sha256-bgvoY+8bbGoG1A93A+Uan1UDpQmEUu/TJu3FOkXechQ=";
49 };
50
51 nativeBuildInputs = [ hatchling ];
52
53 propagatedBuildInputs = [ markdown pygments ];
54
55 checkInputs = [
56 pytestCheckHook
57 pyyaml
58 ];
59
60 pythonImportsCheck = map (ext: "pymdownx.${ext}") extensions;
61
62 meta = with lib; {
63 description = "Extensions for Python Markdown";
64 homepage = "https://facelessuser.github.io/pymdown-extensions/";
65 license = with licenses; [ mit bsd2 ];
66 maintainers = with maintainers; [ cpcloud ];
67 };
68}