add checkboxes
This commit is contained in:
parent
c29ff7b22e
commit
4f28cbfda7
5 changed files with 60 additions and 35 deletions
|
@ -69,13 +69,25 @@ in rec {
|
|||
matchThen "(```)(.*)(```)" block (m: elems.code (builtins.elemAt m 1));
|
||||
|
||||
list = block:
|
||||
matchThen (let item = "- .+";
|
||||
in ''
|
||||
(${item}
|
||||
)*(${item}
|
||||
matchThen (
|
||||
''
|
||||
(- .+
|
||||
)*(- .+
|
||||
?)'') block (m:
|
||||
elems.List (builtins.filter (s: builtins.isString s && s != "")
|
||||
(builtins.split "[:blank:]*- " block)));
|
||||
elems.List ( splitList block ));
|
||||
|
||||
splitList = block: map (listItem) (builtins.filter
|
||||
(s: builtins.isString s && s != "")
|
||||
(builtins.split "\n" block));
|
||||
|
||||
listItem = str:
|
||||
let
|
||||
li = builtins.match "- (.*)" str;
|
||||
checkbox = builtins.match "- \\[(.)] (.*)" str;
|
||||
checked = builtins.elemAt checkbox 0;
|
||||
content = builtins.elemAt checkbox 1;
|
||||
in if checkbox == null then li else
|
||||
[(elems.input {type = "checkbox"; checked = checked != " "; disabled = true;}) content];
|
||||
|
||||
replace = matcher: apply: block:
|
||||
(let
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue