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}