In a few places, it is recommended to try the ispage() pagespec, described at attachment but provided by the (supposedly independent) plugin filecheck.

I've had trouble getting it to work so put together a minimal test-case. Very basic wiki with filecheck enabled (but attachment not).

File structure as follows

index.mdwn
a/foo.mdwn
a/bar.txt
a/pic.png

index containing

[[!map  pages="a/*"]]
[[!map  pages="a/* and ispage()"]]

The first map expands, as expected, to

  • bar.txt
  • foo
  • pic.png

The second is empty. Expected behaviour:

  • foo

(with txt not enabled)

Jon, 2023-09-06

here's a trace of what happens to ispage() when applied to the above example.

  • match_ispage gets called with argument "a/foo"
  • it calls Ikiwiki::pagetype with that argument unmodified
  • the first branch checks for a period, so fails
  • base is calculated to be "foo"
  • the next branch fails as $hooks{htmlize}{foo} is false
  • the function returns undefined.

Jon, 2023-09-06