Commit 489769f7 authored by Aaron VerDow's avatar Aaron VerDow
Browse files

pandoc-mustache: init at 0.1.0

parent 7f676a8e
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
{
  python3Packages,
  fetchFromGitHub,
  nix-update-script,
  callPackage,
  lib,
}:

python3Packages.buildPythonApplication rec {
  pname = "pandoc-mustache";
  version = "0.1.0";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "michaelstepner";
    repo = "pandoc-mustache";
    tag = "${version}";
    hash = "sha256-lgbQV4X2N4VuIEtjeSA542yqGdIs5QQ7+bdCoy/aloE=";
  };

  build-system = with python3Packages; [
    setuptools
    pyparsing
  ];

  dependencies = with python3Packages; [
    panflute
    pystache
    pyyaml
    future
  ];

  passthru = {
    updateScript = nix-update-script { };
    tests = callPackage ./tests { };
  };

  meta = {
    description = "Pandoc Mustache Filter";
    homepage = "https://github.com/michaelstepner/pandoc-mustache";
    changelog = "https://github.com/michaelstepner/pandoc-mustache/releases/tag/${version}/CHANGELOG.md";
    maintainers = with lib.maintainers; [ averdow ];
    license = with lib.licenses; [
      cc-by-10
    ];
  };
}
+30 −0
Original line number Diff line number Diff line
{
  pkgs,
  pandoc-mustache,
  runCommand,
}:
let
  vars = pkgs.writeText "vars.yaml" ''
    place: Montreal
    temperature: '7'
  '';
  markdown = pkgs.writeText "markdown.md" ''
    ---
    title: My Report
    author: Jane Smith
    mustache: ${vars}
    ---
    The temperature in {{place}} was {{temperature}} degrees.
  '';
in
runCommand "pandoc-mustache-test"
  {
    nativeBuildInputs = [
      pandoc-mustache
      pkgs.pandoc
    ];
  }
  ''
    pandoc --filter pandoc-mustache ${markdown} --to plain | grep 'The temperature in Montreal was 7 degrees.' || exit 1
    touch $out
  ''