doctoc: init at 2.2.0

This commit is contained in:
Tomodachi94 2024-06-22 00:10:41 -07:00
parent d805613855
commit ea635ffac9
No known key found for this signature in database
GPG Key ID: 2E275F21C4D554A3
3 changed files with 60 additions and 0 deletions

View File

@ -0,0 +1,35 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
callPackage,
}:
buildNpmPackage rec {
pname = "doctoc";
version = "2.2.0";
src = fetchFromGitHub {
owner = "thlorenz";
repo = "doctoc";
rev = "v${version}";
hash = "sha256-LYVxW8bZ4M87CmBvPyp4y0IeL9UFawwAKnUWHEWB5Gs=";
};
npmDepsHash = "sha256-TbAnFpiN/v6xjQQznL/B180f0W48HPRqW21cO9XZhYA=";
dontNpmBuild = true;
passthru.tests = {
generates-valid-markdown = callPackage ./test-generates-valid-markdown { };
};
meta = {
description = "Generate table of contents for Markdown files";
homepage = "https://github.com/thlorenz/doctoc";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ tomodachi94 ];
mainProgram = "doctoc";
platforms = lib.platforms.all;
};
}

View File

@ -0,0 +1,14 @@
{ runCommandNoCC, doctoc }:
runCommandNoCC "doctoc-test-generates-valid-markdown.md" { nativeBuildInputs = [ doctoc ]; } ''
cp ${./input.md} ./target.md && chmod +w ./target.md
doctoc ./target.md
# Ensure that ./target.md changed
cmp --quiet ${./input.md} ./target.md && echo "doctoc-test-generates-valid-markdown: files unchanged, test fails" && exit 1
# Check for DocToc's default title
grep --fixed-strings '**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*' target.md
# Check for at least one Markdown anchor link
grep --extended-regexp '\- \[.*\]\(#[a-z-]*\)' target.md
cp target.md $out
''

View File

@ -0,0 +1,11 @@
# Hello Nixpkgs!
## I am a document consisting entirely of headings.
### Woah, it's a third-level heading!
#### A fourth-level...
### Another third-level!
## A second level.