From 1cf137a17f8bf2d7b5fba87a0e229ce57c551493 Mon Sep 17 00:00:00 2001 From: Joan Josep Ordinas Rosa Date: Thu, 25 Aug 2016 21:08:33 +0200 Subject: [PATCH] Editing... --- Makefile | 76 +++-- bin/cq | 11 +- bin/jqt | 189 ++++++----- bin/yq | 11 +- docs/Makefile | 59 +--- docs/config.yaml | 6 +- docs/content/{EXAMPLE.md => EXAMPLE.MD} | 0 docs/content/{FLOW.md => FLOW.MD} | 6 +- docs/content/{LINKS.md => LINKS.MD} | 0 docs/content/{metadata.md => data.md} | 22 +- docs/content/document.md | 10 +- docs/content/engine.md | 11 +- docs/content/help.txt | 13 +- docs/content/home.md | 6 +- docs/content/jqt.1.md | 1 - docs/content/opt/E.md | 7 - docs/content/opt/P.md | 6 +- docs/content/template.md | 8 +- docs/presentation/csscolors.m | 296 +++++++++--------- docs/presentation/github.css | 4 +- docs/presentation/jqt.css | 4 +- jqt.1.gz | Bin 1294 -> 1327 bytes share/xhtml-lat1.m | 196 ++++++------ share/xhtml-special.m | 70 ++--- share/xhtml-symbol.m | 252 +++++++-------- tests/expand-07.jqt | 8 - .../expected/mpjqt-00.jqt} | 0 .../expected/mpjqt-01.jqt} | 0 tests/expand/expected/mpjqt-02.jqt | 2 + tests/expand/expected/mpjqt-03.jqt | 1 + tests/expand/expected/mpjqt-04.jqt | 1 + .../expected/mpjqt-05.jqt} | 1 + .../expected/mpjqt-06.jqt} | 1 + .../expected/mpjqt-07.jqt} | 1 + .../expected/mpjqt-08.jqt} | 1 + .../expected/mpjqt-09.jqt} | 1 + .../expected/mpjqt-10.jqt} | 1 + .../expected/mpjqt-11.jqt} | 1 + .../expected/mpjqt-12.jqt} | 1 + tests/expand/expected/mpjson-01.json | 25 ++ tests/expand/expected/mpjson-02.json | 26 ++ tests/expand/expected/mpjson-03.json | 9 + tests/expand/expected/mpjson-04.json | 9 + tests/expand/expected/mpjson-05.json | 26 ++ tests/expand/expected/mpjson-06.json | 32 ++ tests/expand/expected/mpjson-07.json | 24 ++ tests/expand/expected/mpjson-08.json | 9 + tests/expand/expected/mpjson-09.json | 7 + tests/expand/expected/mpjson-10.json | 4 + tests/expand/expected/mpjson-11.json | 4 + tests/expand/expected/mpmd-01.md | 1 + tests/expand/expected/mpmd-02.md | 1 + tests/expand/expected/mpmd-03.md | 2 + tests/expand/expected/mpmd-04.md | 1 + tests/expand/expected/mpmd-05.md | 1 + tests/expand/expected/mpmd-06.md | 4 + tests/expand/expected/mpmd-07.md | 14 + tests/expand/expected/mpmd-08.md | 5 + tests/expand/expected/mpmd-09.md | 12 + tests/expand/expected/mpmd-10.md | 6 + tests/expand/expected/mpmd-11.md | 6 + tests/expand/expected/mpmd-12.md | 6 + tests/expand/expected/mpmd-13.md | 3 + tests/expand/expected/mpmd-14.md | 5 + tests/expand/expected/mpmd-15.md | 5 + tests/expand/generated/mpjqt-00.jqt | 1 + tests/expand/generated/mpjqt-01.jqt | 1 + tests/expand/generated/mpjqt-02.jqt | 2 + tests/expand/generated/mpjqt-03.jqt | 1 + tests/expand/generated/mpjqt-04.jqt | 1 + tests/expand/generated/mpjqt-05.jqt | 4 + tests/expand/generated/mpjqt-06.jqt | 14 + tests/expand/generated/mpjqt-07.jqt | 5 + tests/expand/generated/mpjqt-08.jqt | 12 + tests/expand/generated/mpjqt-09.jqt | 6 + tests/expand/generated/mpjqt-10.jqt | 6 + tests/expand/generated/mpjqt-11.jqt | 6 + tests/expand/generated/mpjqt-12.jqt | 3 + tests/expand/generated/mpjson-01.json | 25 ++ tests/expand/generated/mpjson-02.json | 26 ++ tests/expand/generated/mpjson-03.json | 9 + tests/expand/generated/mpjson-04.json | 9 + tests/expand/generated/mpjson-05.json | 26 ++ tests/expand/generated/mpjson-06.json | 32 ++ tests/expand/generated/mpjson-07.json | 24 ++ tests/expand/generated/mpjson-08.json | 9 + tests/expand/generated/mpjson-09.json | 7 + tests/expand/generated/mpjson-10.json | 4 + tests/expand/generated/mpjson-11.json | 4 + tests/expand/generated/mpmd-01.md | 1 + tests/expand/generated/mpmd-02.md | 1 + tests/expand/generated/mpmd-03.md | 2 + tests/expand/generated/mpmd-04.md | 1 + tests/expand/generated/mpmd-05.md | 1 + tests/expand/generated/mpmd-06.md | 4 + tests/expand/generated/mpmd-07.md | 14 + tests/expand/generated/mpmd-08.md | 5 + tests/expand/generated/mpmd-09.md | 12 + tests/expand/generated/mpmd-10.md | 6 + tests/expand/generated/mpmd-11.md | 6 + tests/expand/generated/mpmd-12.md | 6 + tests/expand/generated/mpmd-13.md | 3 + tests/expand/generated/mpmd-14.md | 5 + tests/expand/generated/mpmd-15.md | 5 + tests/{expand-00.jqt => expand/mpjqt-00.jqt} | 0 tests/{expand-01.jqt => expand/mpjqt-01.jqt} | 0 tests/expand/mpjqt-02.jqt | 1 + tests/{expand-03.jqt => expand/mpjqt-03.jqt} | 0 tests/{expand-04.jqt => expand/mpjqt-04.jqt} | 0 tests/{expand-05.jqt => expand/mpjqt-05.jqt} | 0 tests/{expand-06.jqt => expand/mpjqt-06.jqt} | 0 tests/expand/mpjqt-07.jqt | 11 + tests/{expand-08.jqt => expand/mpjqt-08.jqt} | 0 tests/{expand-09.jqt => expand/mpjqt-09.jqt} | 0 tests/{expand-10.jqt => expand/mpjqt-10.jqt} | 0 tests/{expand-11.jqt => expand/mpjqt-11.jqt} | 0 tests/{expand-12.jqt => expand/mpjqt-12.jqt} | 0 tests/expand/mpjson-01.json | 24 ++ tests/expand/mpjson-02.json | 28 ++ tests/expand/mpjson-03.json | 11 + tests/expand/mpjson-04.json | 11 + tests/expand/mpjson-05.json | 27 ++ tests/expand/mpjson-06.json | 29 ++ tests/expand/mpjson-07.json | 29 ++ tests/expand/mpjson-08.json | 9 + tests/expand/mpjson-09.json | 11 + tests/expand/mpjson-10.json | 6 + tests/expand/mpjson-11.json | 6 + tests/expand/mpmd-01.md | 1 + .../expand-00.jqt => expand/mpmd-02.md} | 0 tests/expand/mpmd-03.md | 1 + tests/expand/mpmd-04.md | 1 + tests/expand/mpmd-05.md | 6 + tests/expand/mpmd-06.md | 5 + tests/expand/mpmd-07.md | 36 +++ tests/expand/mpmd-08.md | 11 + tests/expand/mpmd-09.md | 12 + tests/expand/mpmd-10.md | 3 + tests/expand/mpmd-11.md | 3 + tests/expand/mpmd-12.md | 2 + tests/expand/mpmd-13.md | 4 + tests/expand/mpmd-14.md | 6 + tests/expand/mpmd-15.md | 6 + tests/expected/expand-01.jqt | 0 tests/expected/expand-03.jqt | 0 tests/expected/expand-04.jqt | 0 tests/{ => format}/csv-01.sh | 4 +- tests/{ => format}/csv-03.sh | 4 +- tests/{ => format}/csv-04.sh | 2 +- tests/{ => format}/data/au.csv | 0 tests/{ => format}/data/au.json | 0 tests/{ => format}/data/hardware.json | 0 tests/{ => format}/data/person.json | 0 tests/{ => format}/data/person.yaml | 0 tests/{ => format}/data/store.json | 0 tests/{ => format}/data/store.yaml | 0 tests/{ => format}/yaml-01.sh | 4 +- tests/{ => format}/yaml-02.sh | 4 +- tests/{ => format}/yaml-03.sh | 4 +- tests/{ => format}/yaml-04.sh | 2 +- tests/{ => format}/yaml-05.sh | 2 +- tests/{ => jqt}/cond-00.jqt | 0 tests/{ => jqt}/cond-00.json | 0 tests/{ => jqt}/cond-01.jqt | 0 tests/{ => jqt}/cond-01.json | 0 tests/{ => jqt}/cond-02.jqt | 0 tests/{ => jqt}/cond-03.jqt | 0 tests/{ => jqt}/cond-51.jqt | 0 tests/{ => jqt}/cond-51.json | 0 tests/{ => jqt}/expected/bloc-00.txt | 1 + tests/{ => jqt}/expected/cond-00.txt | 1 + tests/{ => jqt}/expected/cond-01.txt | 1 + tests/{ => jqt}/expected/cond-02.txt | 1 + tests/{ => jqt}/expected/cond-03.txt | 1 + tests/{ => jqt}/expected/cond-51.txt | 1 + tests/{ => jqt}/expected/expr-00.txt | 1 + tests/{ => jqt}/expected/expr-01.txt | 1 + tests/{ => jqt}/expected/expr-02.txt | 1 + tests/{ => jqt}/expected/expr-03.txt | 1 + tests/{ => jqt}/expected/expr-51.txt | 1 + tests/{ => jqt}/expected/expr-52.txt | 1 + tests/{ => jqt}/expected/loop-00.txt | 1 + tests/{ => jqt}/expected/loop-01.txt | 1 + tests/{ => jqt}/expected/loop-51.txt | 1 + tests/{ => jqt}/expected/loop-52.txt | 1 + tests/{ => jqt}/expected/loop-53.txt | 1 + tests/{ => jqt}/expected/macros-00.txt | 1 + tests/{ => jqt}/expected/syntax-00.txt | 1 + tests/{ => jqt}/expr-00.jqt | 0 tests/{ => jqt}/expr-00.json | 0 tests/{ => jqt}/expr-01.jqt | 0 tests/{ => jqt}/expr-01.json | 0 tests/{ => jqt}/expr-02.jqt | 0 tests/{ => jqt}/expr-02.json | 0 tests/{ => jqt}/expr-03.jqt | 0 tests/{ => jqt}/expr-03.json | 0 tests/{ => jqt}/expr-51.jqt | 0 tests/{ => jqt}/expr-51.json | 0 tests/{ => jqt}/expr-52.jqt | 0 tests/{ => jqt}/expr-52.json | 0 tests/{ => jqt}/filters/filters.jq | 0 tests/{ => jqt}/generated/.gitignore | 0 tests/{ => jqt}/loop-00.jqt | 0 tests/{ => jqt}/loop-00.json | 0 tests/{ => jqt}/loop-01.jqt | 0 tests/{ => jqt}/loop-01.json | 0 tests/{ => jqt}/loop-51.jqt | 0 tests/{ => jqt}/loop-51.json | 0 tests/{ => jqt}/loop-52.jqt | 0 tests/{ => jqt}/loop-52.json | 0 tests/{ => jqt}/loop-53.jqt | 0 tests/{ => jqt}/loop-53.json | 0 tests/{ => jqt}/macros-00.jqt | 0 tests/{ => jqt}/md-00.md | 0 tests/{ => jqt}/md-01.md | 0 tests/{ => jqt}/syntax-00.jqt | 0 216 files changed, 1529 insertions(+), 656 deletions(-) rename docs/content/{EXAMPLE.md => EXAMPLE.MD} (100%) rename docs/content/{FLOW.md => FLOW.MD} (84%) rename docs/content/{LINKS.md => LINKS.MD} (100%) rename docs/content/{metadata.md => data.md} (86%) delete mode 100644 docs/content/opt/E.md delete mode 100644 tests/expand-07.jqt rename tests/{expand-02.jqt => expand/expected/mpjqt-00.jqt} (100%) rename tests/{expected/expand-02.jqt => expand/expected/mpjqt-01.jqt} (100%) create mode 100644 tests/expand/expected/mpjqt-02.jqt create mode 100644 tests/expand/expected/mpjqt-03.jqt create mode 100644 tests/expand/expected/mpjqt-04.jqt rename tests/{expected/expand-05.jqt => expand/expected/mpjqt-05.jqt} (99%) rename tests/{expected/expand-06.jqt => expand/expected/mpjqt-06.jqt} (98%) rename tests/{expected/expand-07.jqt => expand/expected/mpjqt-07.jqt} (97%) rename tests/{expected/expand-08.jqt => expand/expected/mpjqt-08.jqt} (98%) rename tests/{expected/expand-09.jqt => expand/expected/mpjqt-09.jqt} (99%) rename tests/{expected/expand-10.jqt => expand/expected/mpjqt-10.jqt} (99%) rename tests/{expected/expand-11.jqt => expand/expected/mpjqt-11.jqt} (99%) rename tests/{expected/expand-12.jqt => expand/expected/mpjqt-12.jqt} (96%) create mode 100644 tests/expand/expected/mpjson-01.json create mode 100644 tests/expand/expected/mpjson-02.json create mode 100644 tests/expand/expected/mpjson-03.json create mode 100644 tests/expand/expected/mpjson-04.json create mode 100644 tests/expand/expected/mpjson-05.json create mode 100644 tests/expand/expected/mpjson-06.json create mode 100644 tests/expand/expected/mpjson-07.json create mode 100644 tests/expand/expected/mpjson-08.json create mode 100644 tests/expand/expected/mpjson-09.json create mode 100644 tests/expand/expected/mpjson-10.json create mode 100644 tests/expand/expected/mpjson-11.json create mode 100644 tests/expand/expected/mpmd-01.md create mode 100644 tests/expand/expected/mpmd-02.md create mode 100644 tests/expand/expected/mpmd-03.md create mode 100644 tests/expand/expected/mpmd-04.md create mode 100644 tests/expand/expected/mpmd-05.md create mode 100644 tests/expand/expected/mpmd-06.md create mode 100644 tests/expand/expected/mpmd-07.md create mode 100644 tests/expand/expected/mpmd-08.md create mode 100644 tests/expand/expected/mpmd-09.md create mode 100644 tests/expand/expected/mpmd-10.md create mode 100644 tests/expand/expected/mpmd-11.md create mode 100644 tests/expand/expected/mpmd-12.md create mode 100644 tests/expand/expected/mpmd-13.md create mode 100644 tests/expand/expected/mpmd-14.md create mode 100644 tests/expand/expected/mpmd-15.md create mode 100644 tests/expand/generated/mpjqt-00.jqt create mode 100644 tests/expand/generated/mpjqt-01.jqt create mode 100644 tests/expand/generated/mpjqt-02.jqt create mode 100644 tests/expand/generated/mpjqt-03.jqt create mode 100644 tests/expand/generated/mpjqt-04.jqt create mode 100644 tests/expand/generated/mpjqt-05.jqt create mode 100644 tests/expand/generated/mpjqt-06.jqt create mode 100644 tests/expand/generated/mpjqt-07.jqt create mode 100644 tests/expand/generated/mpjqt-08.jqt create mode 100644 tests/expand/generated/mpjqt-09.jqt create mode 100644 tests/expand/generated/mpjqt-10.jqt create mode 100644 tests/expand/generated/mpjqt-11.jqt create mode 100644 tests/expand/generated/mpjqt-12.jqt create mode 100644 tests/expand/generated/mpjson-01.json create mode 100644 tests/expand/generated/mpjson-02.json create mode 100644 tests/expand/generated/mpjson-03.json create mode 100644 tests/expand/generated/mpjson-04.json create mode 100644 tests/expand/generated/mpjson-05.json create mode 100644 tests/expand/generated/mpjson-06.json create mode 100644 tests/expand/generated/mpjson-07.json create mode 100644 tests/expand/generated/mpjson-08.json create mode 100644 tests/expand/generated/mpjson-09.json create mode 100644 tests/expand/generated/mpjson-10.json create mode 100644 tests/expand/generated/mpjson-11.json create mode 100644 tests/expand/generated/mpmd-01.md create mode 100644 tests/expand/generated/mpmd-02.md create mode 100644 tests/expand/generated/mpmd-03.md create mode 100644 tests/expand/generated/mpmd-04.md create mode 100644 tests/expand/generated/mpmd-05.md create mode 100644 tests/expand/generated/mpmd-06.md create mode 100644 tests/expand/generated/mpmd-07.md create mode 100644 tests/expand/generated/mpmd-08.md create mode 100644 tests/expand/generated/mpmd-09.md create mode 100644 tests/expand/generated/mpmd-10.md create mode 100644 tests/expand/generated/mpmd-11.md create mode 100644 tests/expand/generated/mpmd-12.md create mode 100644 tests/expand/generated/mpmd-13.md create mode 100644 tests/expand/generated/mpmd-14.md create mode 100644 tests/expand/generated/mpmd-15.md rename tests/{expand-00.jqt => expand/mpjqt-00.jqt} (100%) rename tests/{expand-01.jqt => expand/mpjqt-01.jqt} (100%) create mode 100644 tests/expand/mpjqt-02.jqt rename tests/{expand-03.jqt => expand/mpjqt-03.jqt} (100%) rename tests/{expand-04.jqt => expand/mpjqt-04.jqt} (100%) rename tests/{expand-05.jqt => expand/mpjqt-05.jqt} (100%) rename tests/{expand-06.jqt => expand/mpjqt-06.jqt} (100%) create mode 100644 tests/expand/mpjqt-07.jqt rename tests/{expand-08.jqt => expand/mpjqt-08.jqt} (100%) rename tests/{expand-09.jqt => expand/mpjqt-09.jqt} (100%) rename tests/{expand-10.jqt => expand/mpjqt-10.jqt} (100%) rename tests/{expand-11.jqt => expand/mpjqt-11.jqt} (100%) rename tests/{expand-12.jqt => expand/mpjqt-12.jqt} (100%) create mode 100644 tests/expand/mpjson-01.json create mode 100644 tests/expand/mpjson-02.json create mode 100644 tests/expand/mpjson-03.json create mode 100644 tests/expand/mpjson-04.json create mode 100644 tests/expand/mpjson-05.json create mode 100644 tests/expand/mpjson-06.json create mode 100644 tests/expand/mpjson-07.json create mode 100644 tests/expand/mpjson-08.json create mode 100644 tests/expand/mpjson-09.json create mode 100644 tests/expand/mpjson-10.json create mode 100644 tests/expand/mpjson-11.json create mode 100644 tests/expand/mpmd-01.md rename tests/{expected/expand-00.jqt => expand/mpmd-02.md} (100%) create mode 100644 tests/expand/mpmd-03.md create mode 100644 tests/expand/mpmd-04.md create mode 100644 tests/expand/mpmd-05.md create mode 100644 tests/expand/mpmd-06.md create mode 100644 tests/expand/mpmd-07.md create mode 100644 tests/expand/mpmd-08.md create mode 100644 tests/expand/mpmd-09.md create mode 100644 tests/expand/mpmd-10.md create mode 100644 tests/expand/mpmd-11.md create mode 100644 tests/expand/mpmd-12.md create mode 100644 tests/expand/mpmd-13.md create mode 100644 tests/expand/mpmd-14.md create mode 100644 tests/expand/mpmd-15.md delete mode 100644 tests/expected/expand-01.jqt delete mode 100644 tests/expected/expand-03.jqt delete mode 100644 tests/expected/expand-04.jqt rename tests/{ => format}/csv-01.sh (89%) rename tests/{ => format}/csv-03.sh (87%) rename tests/{ => format}/csv-04.sh (94%) rename tests/{ => format}/data/au.csv (100%) rename tests/{ => format}/data/au.json (100%) rename tests/{ => format}/data/hardware.json (100%) rename tests/{ => format}/data/person.json (100%) rename tests/{ => format}/data/person.yaml (100%) rename tests/{ => format}/data/store.json (100%) rename tests/{ => format}/data/store.yaml (100%) rename tests/{ => format}/yaml-01.sh (89%) rename tests/{ => format}/yaml-02.sh (88%) rename tests/{ => format}/yaml-03.sh (89%) rename tests/{ => format}/yaml-04.sh (94%) rename tests/{ => format}/yaml-05.sh (93%) rename tests/{ => jqt}/cond-00.jqt (100%) rename tests/{ => jqt}/cond-00.json (100%) rename tests/{ => jqt}/cond-01.jqt (100%) rename tests/{ => jqt}/cond-01.json (100%) rename tests/{ => jqt}/cond-02.jqt (100%) rename tests/{ => jqt}/cond-03.jqt (100%) rename tests/{ => jqt}/cond-51.jqt (100%) rename tests/{ => jqt}/cond-51.json (100%) rename tests/{ => jqt}/expected/bloc-00.txt (99%) rename tests/{ => jqt}/expected/cond-00.txt (99%) rename tests/{ => jqt}/expected/cond-01.txt (97%) rename tests/{ => jqt}/expected/cond-02.txt (94%) rename tests/{ => jqt}/expected/cond-03.txt (94%) rename tests/{ => jqt}/expected/cond-51.txt (97%) rename tests/{ => jqt}/expected/expr-00.txt (99%) rename tests/{ => jqt}/expected/expr-01.txt (97%) rename tests/{ => jqt}/expected/expr-02.txt (99%) rename tests/{ => jqt}/expected/expr-03.txt (99%) rename tests/{ => jqt}/expected/expr-51.txt (97%) rename tests/{ => jqt}/expected/expr-52.txt (99%) rename tests/{ => jqt}/expected/loop-00.txt (98%) rename tests/{ => jqt}/expected/loop-01.txt (98%) rename tests/{ => jqt}/expected/loop-51.txt (98%) rename tests/{ => jqt}/expected/loop-52.txt (98%) rename tests/{ => jqt}/expected/loop-53.txt (88%) rename tests/{ => jqt}/expected/macros-00.txt (99%) rename tests/{ => jqt}/expected/syntax-00.txt (99%) rename tests/{ => jqt}/expr-00.jqt (100%) rename tests/{ => jqt}/expr-00.json (100%) rename tests/{ => jqt}/expr-01.jqt (100%) rename tests/{ => jqt}/expr-01.json (100%) rename tests/{ => jqt}/expr-02.jqt (100%) rename tests/{ => jqt}/expr-02.json (100%) rename tests/{ => jqt}/expr-03.jqt (100%) rename tests/{ => jqt}/expr-03.json (100%) rename tests/{ => jqt}/expr-51.jqt (100%) rename tests/{ => jqt}/expr-51.json (100%) rename tests/{ => jqt}/expr-52.jqt (100%) rename tests/{ => jqt}/expr-52.json (100%) rename tests/{ => jqt}/filters/filters.jq (100%) rename tests/{ => jqt}/generated/.gitignore (100%) rename tests/{ => jqt}/loop-00.jqt (100%) rename tests/{ => jqt}/loop-00.json (100%) rename tests/{ => jqt}/loop-01.jqt (100%) rename tests/{ => jqt}/loop-01.json (100%) rename tests/{ => jqt}/loop-51.jqt (100%) rename tests/{ => jqt}/loop-51.json (100%) rename tests/{ => jqt}/loop-52.jqt (100%) rename tests/{ => jqt}/loop-52.json (100%) rename tests/{ => jqt}/loop-53.jqt (100%) rename tests/{ => jqt}/loop-53.json (100%) rename tests/{ => jqt}/macros-00.jqt (100%) rename tests/{ => jqt}/md-00.md (100%) rename tests/{ => jqt}/md-01.md (100%) rename tests/{ => jqt}/syntax-00.jqt (100%) diff --git a/Makefile b/Makefile index b364cb6..87b4564 100644 --- a/Makefile +++ b/Makefile @@ -131,58 +131,80 @@ help: # Tests ######################################################################## -.PHONY: check jqt format cond expr loop macros syntax expand csv yaml +.PHONY: check +check: test-jqt test-expand test-format -check: expand jqt format -jqt: cond expr loop macros syntax -format: csv yaml +# +# Test JQT +# +.PHONY: test-jqt test-cond test-expr test-loop test-macros test-syntax +test-jqt: test-cond test-expr test-loop test-macros test-syntax define TestJQT # Run one example -$(1)-%.jqt: - echo "==> $$(basename $$@)" - if test -e tests/$$(basename $$@).json; then \ - jqt -ifilters -Ltests/filters -Mtop:tests/$$(basename $$@).json -dtests/md-00.md tests/$$@ tests/generated/$$(basename $$@).txt; \ +test-$(1)-%.jqt: + echo "==> jqt: $$(subst test-,,$$(basename $$@))" + if test -e tests/jqt/$$(subst test-,,$$(basename $$@)).json; then \ + jqt -ifilters -Ltests/jqt/filters -Mtop:tests/jqt/$$(subst test-,,$$(basename $$@)).json -dtests/jqt/md-00.md tests/jqt/$$(subst test-,,$$@) tests/jqt/generated/$$(subst test-,,$$(basename $$@)).txt; \ else \ - jqt -ifilters -Ltests/filters -dtests/md-00.md tests/$$@ tests/generated/$$(basename $$@).txt; \ + jqt -ifilters -Ltests/jqt/filters -dtests/jqt/md-00.md tests/jqt/$$(subst test-,,$$@) tests/jqt/generated/$$(subst test-,,$$(basename $$@)).txt; \ fi - diff tests/expected/$$(basename $$@).txt tests/generated/$$(basename $$@).txt + diff tests/jqt/expected/$$(subst test-,,$$(basename $$@)).txt tests/jqt/generated/$$(subst test-,,$$(basename $$@)).txt # Run one example named without file suffix -$(1)-%: $(1)-%.jqt ; +test-$(1)-%: test-$(1)-%.jqt ; # Run all tests -$(1): $(sort $(subst tests/,,$(wildcard tests/$(1)-[0-9][0-9].jqt))) +test-$(1): $(sort $(subst tests/jqt/,test-,$(wildcard tests/jqt/$(1)-[0-9][0-9].jqt))) endef -$(foreach t,cond expr loop macros syntax,$(eval $(call TestJQT,$(t)))) +$(eval $(call TestJQT,cond)) +$(eval $(call TestJQT,expr)) +$(eval $(call TestJQT,loop)) +$(eval $(call TestJQT,macros)) +$(eval $(call TestJQT,syntax)) + +# +# Test macro expansion +# +.PHONY: test-expand test-mpjqt +test-expand: test-mpjqt test-mpmd test-mpjson -define TestGPP +define TestMacroExpand # Run one example -$(2)-%.$(1): - echo "==> $$(basename $$@)" - jqt -E tests/$$@ > tests/generated/$$@ - diff tests/expected/$$@ tests/generated/$$@ +test-$(2)-%.$(1): + echo "==> expand: $$(subst test-,,$$(basename $$@))" + jqt -P $(1) tests/expand/$$(subst test-,,$$@) > tests/expand/generated/$$(subst test-,,$$@) + diff tests/expand/expected/$$(subst test-,,$$@) tests/expand/generated/$$(subst test-,,$$@) # Run one example named without file suffix -$(2)-%: $(2)-%.$(1) ; +test-$(2)-%: test-$(2)-%.$(1) ; # Run all tests -$(2): $(sort $(subst tests/,,$(wildcard tests/$(2)-[0-9][0-9].$(1)))) +test-$(2): $(sort $(subst tests/expand/,test-,$(wildcard tests/expand/$(2)-[0-9][0-9].$(1)))) endef -$(eval $(call TestGPP,jqt,expand)) +$(eval $(call TestMacroExpand,jqt,mpjqt)) +$(eval $(call TestMacroExpand,md,mpmd)) +$(eval $(call TestMacroExpand,json,mpjson)) + +# +# Test file format conversions +# +.PHONY: test-format test-csv test-yaml +test-format: test-csv test-yaml define TestFileFormat # Run one example -$(1)-%.sh: - echo "==> $$(basename $$@)" - $(SHELL) tests/$$@ +test-$(1)-%.sh: + echo "==> format: $$(subst test-,,$$(basename $$@))" + $(SHELL) tests/format/$$(subst test-,,$$@) # Run one example named without file suffix -$(1)-%: $(1)-%.sh ; +test-$(1)-%: test-$(1)-%.sh ; # Run all tests -$(1): $(sort $(subst tests/,,$(wildcard tests/$(1)-[0-9][0-9].sh))) +test-$(1): $(sort $(subst tests/format/,test-,$(wildcard tests/format/$(1)-[0-9][0-9].sh))) # Check output of all filters is empty for empty input test -z "$$$$(for f in bin/$(1)2* bin/*2$(1); do echo | $$$$f; done)" \ || { echo 1>&2 'EMPTY-FAILED'; false; } endef -$(foreach t,csv yaml,$(eval $(call TestFileFormat,$(t)))) +$(eval $(call TestFileFormat,csv)) +$(eval $(call TestFileFormat,yaml)) # vim:ai:sw=8:ts=8:noet:syntax=make diff --git a/bin/cq b/bin/cq index a59af30..c92096a 100755 --- a/bin/cq +++ b/bin/cq @@ -11,11 +11,6 @@ shopt -s expand_aliases # Script name declare -r SELF=${0##*/} -# Format conversors -alias c2j=${0%$SELF}csv2json -alias j2c=${0%$SELF}json2csv -alias j2y=${0%$SELF}json2yaml - # Show help function help { cat < $LOCK; } 2>/dev/null; do + until { : > $LOCK; } 2>/dev/null; do sleep 0.01; i+=1 - (( i > 100 )) && die 'Bored waiting a lock' + (( i < 100 )) || { + echo 1>&2 "$SELF: Bored waiting a lock to open" + kill -s TERM $$ || kill -s KILL $$ + } done local n="${TMPDIR}/$RANDOM" @@ -53,28 +56,17 @@ function mkpipe # Manage front matter ######################################################################## -function has_front_matter -{ - # warning: consume one line - local line - read -r line - [[ $line == '---' ]] -} +# warning: consume one line +has_front_matter() { read -r && [[ $REPLY == '---' ]]; } -function extract_front_matter -{ - # warning: assume front matter exists - sed -n -e '1d;/^---$/q;/^\.\.\.$/q;/^#/d;p' -} +# warning: assume front matter exists +extract_front_matter() { sed -n -e '1d;/^---$/q;/^\.\.\.$/q;/^#/d;p'; } -function remove_front_matter -{ - # warning: remove all YAML blocks - sed -e '/^---$/,/\(^\.\.\.$$\)\|\(^---$\)/d' -} +# warning: remove all YAML blocks +remove_front_matter() { sed -e '/^---$/,/\(^\.\.\.$$\)\|\(^---$\)/d'; } ######################################################################## -# Expand template and document +# Expand sources ######################################################################## declare -a DEFINE=( "-Dversion=$VERSION" ) @@ -87,29 +79,19 @@ function expand_jqt local -r lib="libjqt.m" # Macros - local -r -a user=( -U - # Macro call delimiters - '<%' '>' - # Arguments delimiters - '\B' '\B' '\W>' - # Stackable characters - '<' '>' - # String to be used for referring to parameters by number - '$' - # The quote character must be defined adhoc for each file, like: - # <%mode quote "\\"> - # Also, if desired, multicharacter quote strings can be defined like: - # <%mode string iiq "[" "]" "\\"> - '' - ) + local -r -a user=( -U '<%' '>' '\B' '\B' '\W>' '<' '>' '$' '' ) local -r -a meta=( -M '<%' '>' '\B' '\B' '\W>' '<' '>') + # The quote character must be defined adhoc for each file, like: + # <%mode quote "\\"> + # Also, if desired, multicharacter quote strings can be defined like: + # <%mode string iiq "[" "]" "\\"> # Comments and strings local -r -a skips=( +sccc '&\n' '' '' # continuation line (& and \n removed) +sccc '<#' '#>\n' '' # multiline comment, must end in \n +siqi "'" "'" '' # literal string; like sh single quotes - +siQi '"' '"' '' # interpolated string; like sh double quotes + +siQi '"' '"' '' # interpolated string; like sh double quotes +ssss '' '' # preserved XML comments +sSSS '{{' '}}' '' # jq processing +sSSS '{%' '%}' '' @@ -123,6 +105,7 @@ function expand_jqt "${GPP_PATH[@]}" \ "${DEFINE[@]}" \ --include "$lib" + echo # always generate almost one line!!! } # < stdin > stdout @@ -134,8 +117,8 @@ function expand_md local -r -a skips=( +sccc '&\n' '' '' +sccc '<#' '#>\n' '' - +siqi "'" "'" '' - +siQi '"' '"' '' + +siqi "'" "'" '\' + +siQi '"' '"' '\' +ssss '' '' +ssss '`' '`' '' +ssss '\n```' '\n```' '' @@ -155,24 +138,65 @@ function expand_md # < stdin > stdout function expand_json { - local -r -a user=( -U '&' ';' '(' ',' ');' '(' ')' '$' '' ) - local -r -a meta=( -M '' '\b' '\b' '>' '<' '>' ) + local -r -a user=( -U '&' ';' '(\W' ',\W' ')' '(' ')' '$' '' ) + local -r -a meta=( -M '' '\b' '\b' '>' '<' '>' ) local -r -a skips=( - +cccc '\\n' '' \ - +cccc '/*' '*/' \ - +cccc '//' '\n' \ - +sSSS '"' '"' '\' \ + +sccc '&\n' '' '' + +cccc '/*' '*/' + +cccc '//' '\n' + +siqi "'" "'" '\' + +sSSS '"' '"' '\' + ) + local -r -a predefined=( + -Damp='&' + -Dapos="'" + -Dgt='>' + -Dlt='<' + -Dquot='"' ) gpp --nostdinc \ --warninglevel 2 \ + $predefined \ "${user[@]}" \ "${meta[@]}" \ "${skips[@]}" \ "${GPP_PATH[@]}" \ "${DEFINE[@]}" - echo # always generate almost one line + echo # always generate almost one line!!! } +# < stdin > stdout +function expand_css +{ + local -r minify=$1 + local -r -a user=( -U '' '' '(\W' ',\W' ')' '(' ')' '$' '' ) + local -r -a meta=( -M '\n&' '\n' '\b' '\b' '\n' '(' ')' ) + local -r -a skips=( + +cccc '&\n' '' + +cccc '/*' '*/' + +cccc '//' '\n' + +ssss '"' '"' '\' + +ssss "'" "'" '\' + ) + local -r -a gpp_opts=( + --nostdinc + --warninglevel 2 + "${user[@]}" + "${meta[@]}" + "${skips[@]}" + "${GPP_PATH[@]}" + "${DEFINE[@]}" + ) + if [[ $minify == 'min' ]]; then + gpp "${gpp_opts[@]}" \ + | sed 's/^[ \t]\+//;s/[ \t]$//;/^$/d;s/[\t ]*\([{}:,;>+~]\)[\t ]*/\1/g' + else + gpp "${gpp_opts[@]}" + fi + echo # always generate almost one line!!! +} + + ######################################################################## # Convert template to script ######################################################################## @@ -345,8 +369,7 @@ function yaml2json python -c ' import sys, yaml, json json.dump(yaml.safe_load(sys.stdin), sys.stdout, indent=2, sort_keys=False) -sys.stdout.write("\n") -' +sys.stdout.write("\n")' } # Global objects available in jq scripts: @@ -428,12 +451,6 @@ function usage exit 2 } -function die -{ - echo 1>&2 "$SELF: $@" - exit 1 -} - function help { cat <<'EOF' @@ -444,19 +461,17 @@ Usage: jqt [options] < infile > result Some of the options include: -Preprocessor options Debugging options - -D NAME=VAL -C - -I DIRECTORY -E -Template options -H - -L DIRECTORY -P - -i MODULE -S - -j MODULE:NAME Information options +Preprocessor options Metadata options + -D NAME=VAL -M NAME:FILE + -I DIRECTORY -m NAME:FILE + -P LANGUAGE Debugging options +Template options -C + -L DIRECTORY -H + -i MODULE -S + -j MODULE:NAME Information options Document options -h, --help -4, -5 -p -d FILE -V, --version -Metadata options - -M NAME:FILE - -m NAME:FILE See the manpage for full documentation and more options. EOF @@ -529,12 +544,13 @@ EOF # Command line ######################################################################## -declare -i flagP=0 flagE=0 flagS=0 flagH=0 flagC=0 +declare -i flagS=0 flagH=0 flagC=0 declare -i extract=0 remove=0 front_matter=0 +declare expand='' declare opt key filename -while getopts :hVD:ESI:L:i:j:PHp45d:ertCf:n:m:M:-: opt; do +while getopts :hVD:I:P:L:i:j:45d:eprtf:n:m:M:CHS-: opt; do case $opt in # Generic options h) help @@ -546,12 +562,22 @@ while getopts :hVD:ESI:L:i:j:PHp45d:ertCf:n:m:M:-: opt; do ;; I) GPP_PATH=( "${GPP_PATH[@]}" '-I' "$OPTARG" ) ;; # inserted at the right for append effect + P) # now Q, next P + case $OPTARG in + [Cc][Ss][Ss]) expand='expand_css max' ;; + [Cc][Ss][Ss]-min) expand='expand_css min' ;; + jqt) expand='expand_jqt' ;; + [Jj][Ss][Oo][Nn]) expand='expand_json' ;; + md|mkd|[Mm]ark[Dd]own) expand='expand_md' ;; + *) usage "Unknown language: $OPTARG" ;; + esac + ;; # Template options L) JQ_PATH=( '-L' "$OPTARG" "${JQ_PATH[@]}" ) ;; # inserted at the left for append effect i) INCLUDES[$OPTARG]=$OPTARG ;; - j) [[ $OPTARG == *:* ]] || die "Bad module specification; expected 'module:name'" + j) [[ $OPTARG == *:* ]] || usage "Bad module specification; expected 'module:name'" IMPORTS[${OPTARG%:*}]=${OPTARG#*:} ;; # Document options @@ -559,7 +585,7 @@ while getopts :hVD:ESI:L:i:j:PHp45d:ertCf:n:m:M:-: opt; do ;; 5) HTML_VERSION=html5 ;; - d) [[ -e $OPTARG ]] || die "File '$OPTARG' does not exists" + d) [[ -e $OPTARG ]] || usage "File '$OPTARG' does not exists" DOCUMENT=$OPTARG DOCUMENT_ID=${DOCUMENT%.md} ;; @@ -576,11 +602,11 @@ while getopts :hVD:ESI:L:i:j:PHp45d:ertCf:n:m:M:-: opt; do ;; n) DOCUMENT_CONTENT_NAME=$OPTARG ;; - m|M)[[ $OPTARG == *:* ]] || die "Bad format in metadata specification; expected 'key:filename'" + m|M)[[ $OPTARG == *:* ]] || usage "Bad format in metadata specification; expected 'key:filename'" key=${OPTARG%:*} filename=${OPTARG#*:} - [[ -e $filename ]] || die "File '$filename' does not exists" + [[ -e $filename ]] || usage "File '$filename' does not exists" [[ $filename =~ (.*\.js(on)?)|(.*\.ya?ml) ]] || - die "File '$filename' must have a know extension (js, json, yml, yaml)" + usage "File '$filename' must have a know extension (js, json, yml, yaml)" if [[ $opt == 'm' ]]; then if [[ $filename =~ .*\.js(on)? ]]; then JSON_METADATA[$key]=$filename @@ -596,15 +622,11 @@ while getopts :hVD:ESI:L:i:j:PHp45d:ertCf:n:m:M:-: opt; do fi ;; # Debug options - E) flagE=1 # also for document - ;; - S) flagS=1 - ;; - P) flagP=1 + C) flagC=1 ;; H) flagH=1 ;; - C) flagC=1 + S) flagS=1 ;; -) case $OPTARG in # Generic options @@ -653,11 +675,13 @@ while getopts :hVD:ESI:L:i:j:PHp45d:ertCf:n:m:M:-: opt; do done shift $((OPTIND-1)); OPTIND=1 -(( $# > 2 )) && usage 'Expected one or two arguments' +(( $# <= 2 )) || usage 'Expected one or two arguments' -(( flagE+flagS+flagP+flagH+flagC > 1 )) && die 'Cannot mix options: -E, -S, -P, -H, -C' -(( extract+remove+front_matter > 1 )) && die 'Cannot mix options: -e, -r, -t' -(( flagE+flagS+flagP+flagH+flagC+extract+remove+front_matter > 1 )) && die 'Incompatible options' +(( extract+remove+front_matter <= 1 )) || usage 'Cannot mix options: -e, -r, -t' +(( flagS+flagH+flagC <= 1 )) || usage 'Cannot mix options: -S, -H, -C' +[[ -z $expand ]] || (( flagS+flagH+flagC == 0 )) || usage 'Incompatible options' +[[ -z $expand ]] || (( extract+remove+front_matter == 0 )) || usage 'Incompatible options' +(( flagS+flagH+flagC+extract+remove+front_matter <= 1 )) || usage 'Incompatible options' ######################################################################## # Main @@ -668,12 +692,11 @@ initialize (( $# >= 1 )) && exec < $1 (( $# == 2 )) && exec >| $2 -if (( extract )); then extract_front_matter +if [[ -n $expand ]]; then $expand +elif (( extract )); then extract_front_matter elif (( remove )); then remove_front_matter elif (( front_matter )); then has_front_matter -elif (( flagE )); then expand_jqt elif (( flagS )); then expand_jqt | convert -elif (( flagP )); then expand_md elif (( flagH )); then expand_md | markup elif (( flagC )); then declare -r FRONT_MATTER=$(mkpipe) diff --git a/bin/yq b/bin/yq index 9741246..77b9123 100755 --- a/bin/yq +++ b/bin/yq @@ -11,11 +11,6 @@ shopt -s expand_aliases # Script name declare -r SELF=${0##*/} -# Format conversors -alias y2j=${0%$SELF}yaml2json -alias j2y=${0%$SELF}json2yaml -alias j2c=${0%$SELF}json2csv - # Show help function help { cat <\n' '' \ - +siqi "'" "'" '' \ - +siQi '"' '"' '' \ - +ssss '' '' \ - +ssss '`' '`' '' \ - +ssss '\n```' '\n```' '' \ - +ssss '\n~~~' '\n~~~' '' \ - -U '<%' '>' '\B' '\B' '\W>' '<' '>' '$$' '' \ - -M '<%' '>' '\B' '\B' '\W>' '<' '>' \ - -# Macro process JSON -MPJSON := gpp --nostdinc \ - +cccc '\\n' '' \ - +cccc '/*' '*/' \ - +cccc '//' '\n' \ - +sSSS '"' '"' '\' \ - -U '&' ';' '(' ',' ');' '(' ')' '$$' '' ) \ - -M '' '\b' '\b' '>' '<' '>' ) - -# Macro process CSS -MPCSS := gpp --nostdinc \ - +c '/*' '*/' \ - +c '//' '\n' \ - -U '&' ';' '(' ',' ')' '(' ')' '\$$' '' \ - -M '&' ';' '(' '\b' ')' '(' ')' \ - -# Minify CSS -CSSMIN := sed 's/^[ \t]\+//;s/[ \t]\$$//;/^$$/d;s/[\t ]*\([{}:,;>+~]\)[\t ]*/\1/g' - # Validate output pages (disable or redefine as you like) XHTMLValid := test -f /etc/xml/xhtml1-dtds.xml \ && xmllint --noout --valid $(Destination)/*.html \ @@ -171,9 +139,9 @@ $(Destination)/index.html: $(Content)/home.md $(Common) \ $(info ==> $@) $(JQT) -d $< $(Structure)/default.html > $@ -$(Destination)/engine.html: $(Content)/FLOW.md -$(Destination)/index.html: $(Content)/EXAMPLE.md -$(Destination)/template.html: $(Content)/EXAMPLE.md +$(Destination)/engine.html: $(Content)/FLOW.MD +$(Destination)/index.html: $(Content)/EXAMPLE.MD +$(Destination)/template.html: $(Content)/EXAMPLE.MD define Target $(Destination)/$(1).html: $(Content)/$(1).md $(Structure)/$(2).html $(Common) \ @@ -186,21 +154,22 @@ $(foreach p,$(Pages),$(eval $(call Target,$(p),page))) $(Destination)/jqt.css: $(Presentation)/jqt.css $(Presentation)/github.css $(info ==> $@) - $(MPCSS) $< | $(CSSMIN) > $@ + jqt -P CSS-min -I$(Presentation) $< > $@ + +# Man page +$(ManPage): $(Content)/jqt.1.md + $(info ==> $@) + jqt -P MarkDown -I$(Content) $< \ + | pandoc --standalone --from markdown --to man \ + | gzip > $@ # Help text /tmp/help: $(Content)/help.txt - $(MPMD) -I. -I$(Content) $< \ + jqt -P MarkDown -I$(Content) $< \ | pandoc --from markdown --to plain - \ | sed '1,7b;/^$$/d;s/_\([A-Z]\+\)_/\1/g;/^[^A-Z]/s/^/ /' \ > $@ -# Man page -$(ManPage): $(Content)/jqt.1.md - $(MPMD) -I. -I$(Content) $< \ - | pandoc --standalone --from markdown --to man \ - | gzip > $@ - ######################################################################## # Utilities ######################################################################## diff --git a/docs/config.yaml b/docs/config.yaml index 8a57721..61f6f93 100644 --- a/docs/config.yaml +++ b/docs/config.yaml @@ -28,8 +28,8 @@ menu: - URL: ./document.html id: content/document name: Document -- URL: ./metadata.html - id: content/metadata - name: Metadata +- URL: ./data.html + id: content/data + name: Data # vim:ts=2:sw=2:ai:et:fileencoding=utf8:syntax=yaml diff --git a/docs/content/EXAMPLE.md b/docs/content/EXAMPLE.MD similarity index 100% rename from docs/content/EXAMPLE.md rename to docs/content/EXAMPLE.MD diff --git a/docs/content/FLOW.md b/docs/content/FLOW.MD similarity index 84% rename from docs/content/FLOW.md rename to docs/content/FLOW.MD index 191446f..a3cf751 100644 --- a/docs/content/FLOW.md +++ b/docs/content/FLOW.MD @@ -12,12 +12,12 @@ Template +----------->|expand|-->|convert|-------------------------------+ MarkDown +------+ +------+ /-------->+-----+ JSON +------+ Document +----------->|expand|-->|markup|--+ |merge|-------->|render|--> HTML +------+ +------+ \-------->+-----+ +------+ - YAML ^ ^ + YAML ^ ^ front-matter | | - | | + metadata | | JSON +------+ | | +----------->|expand|-------------------------+ | -Metadata +------+ | + Data +------+ | +-------------------------------------------------+ YAML ``` diff --git a/docs/content/LINKS.md b/docs/content/LINKS.MD similarity index 100% rename from docs/content/LINKS.md rename to docs/content/LINKS.MD diff --git a/docs/content/metadata.md b/docs/content/data.md similarity index 86% rename from docs/content/metadata.md rename to docs/content/data.md index 5160d25..937b3d8 100644 --- a/docs/content/metadata.md +++ b/docs/content/data.md @@ -4,7 +4,7 @@ title: Data model updated: "2016-08-13T07:48:26Z" --- <%include "macros.m">& -<%include "LINKS.md">& +<%include "LINKS.MD">& ## General operation @@ -12,14 +12,14 @@ _jqt_ is designed to combine one template with one [MarkDown][MARKDOWN] document [data model](https://en.wikipedia.org/wiki/Data_model) to produce the final HTML result. To define the data model you can provide metadata in the document front matter to be inserted when -rendering the template. Also, `jqt` accepts additional files in the command line +rendering the template. Also, `jqt` accepts additional data files in the command line in [YAML][YAML] or [JSON][JSON] format to be merged with the document front matter. This is described on the bottom of this diagram: -<%include "FLOW.md"> +<%include "FLOW.MD"> When invoking `jqt` you can use the following options to define the additional input -metadata and influence JSON preprocessing: +data and influence JSON preprocessing: <%include "opt/D.md"> <%include "opt/f.md"> @@ -52,7 +52,7 @@ for predefined macros and for user defined macros: the character `&` and the macro calls finishes with the character `;`. * The user defined macro names for calls with arguments are preceded with the character `&`, then followed by the character `(`, accept arguments separated by - commas (`,`), and the macro calls finishes with the characters `);`. + commas (`,`), and the macro calls finishes with the character `)`. The more common predefined macros have this syntax: @@ -98,22 +98,22 @@ This table summarize all the available skips in JSON files: Delimiters Macro expansion Delimiters removed Content removed ------------- --------------- ------------------ --------------- -`\\n`[^2] No Yes There is no content +`&\n`[^1] No Yes There is no content `/*` `*/` No Yes Yes -`//` `\n`[^1] No Yes Yes +`//` `\n`[^2] No Yes Yes `"` `"` Yes No No `` ` `` `` ` `` No Yes No Table: **Semantics for all JSON skips** -[^1]: This represents a newline character. -[^2]: A backslash followed by a newline is treated as a line continuation (that -is, the backslash and the newline are removed and effectively ignored). +[^1]: An ampersand followed by a newline is treated as a line continuation (that +is, the ampersand and the newline are removed and effectively ignored). +[^2]: This represents a newline character. ### Data conversion When preparing data inputs sometimes you need to mix files in several formats. -To make easy the integration of metadata from several sources _jqt_ comes with the +To make easy the integration of data from several sources _jqt_ comes with the following utilities to convert between CSV, JSON and YAML formats: * `csv2json` diff --git a/docs/content/document.md b/docs/content/document.md index cb77fa6..a1ea63b 100644 --- a/docs/content/document.md +++ b/docs/content/document.md @@ -1,19 +1,19 @@ --- <%include "config.yaml"> -title: Content documents +title: Content document updated: "2016-08-17T10:34:16Z" --- <%include "macros.m">& -<%include "LINKS.md">& +<%include "LINKS.MD">& ## General operation _jqt_ transforms [MarkDown][MARKDOWN] documents to HTML using Pandoc, but before that [GPP][GPP] is used to preprocess them. Pandoc's output -is then merged with the [YAML][YAML] front matter and other input metadata before be sended +is then merged with the [YAML][YAML] front matter metadata and other input data before be sended to the render stage. This is described on the middle of this diagram: -<%include "FLOW.md"> +<%include "FLOW.MD"> When invoking `jqt` you can use the following options to influence document conversion: @@ -89,7 +89,7 @@ Inside macro definitions argument references are prefixed by a dollar (`$1`, `$2 Predefined macros and user define macros have the same call sequence: ``` -<%include "LINKS.md"> +<%include "LINKS.MD"> <%sc 'A title in small caps'> ``` diff --git a/docs/content/engine.md b/docs/content/engine.md index 5ee78c4..019d2ae 100644 --- a/docs/content/engine.md +++ b/docs/content/engine.md @@ -4,17 +4,17 @@ title: Operating the engine updated: "2016-08-17T09:50:11Z" --- <%include "macros.m">& -<%include "LINKS.md">& +<%include "LINKS.MD">& ## General operation _jqt_ orchestrates several shell utilities to transform [MarkDown][MARKDOWN] text and [YAML][YAML] or [JSON][JSON] data into a final HTML document. The transformation is driven by a template, where HTML is mixed with [_jq_][JQ] snippets to implement the transformation logic. -This diagram shows how document, template and metadata inputs (on the left) are combined by +This diagram shows how document, template and data inputs (on the left) are combined by _jqt_ to produce the final HTML output: -<%include "FLOW.md"> +<%include "FLOW.MD"> The command `jqt` is a shell script executed by `bash`. The external shell commands called by `jqt` are `cat`, `gpp`, `jq`, `mkdir`, @@ -75,6 +75,7 @@ arguments. The usage possibilities are: <%include "opt/D.md"> <%include "opt/I.md"> +<%include "opt/P.md"> #### Document options @@ -88,7 +89,7 @@ arguments. The usage possibilities are: <%include "opt/j.md"> <%include "opt/L.md"> -#### Metadata options +#### Data options <%include "opt/f.md"> <%include "opt/M.md"> @@ -97,9 +98,7 @@ arguments. The usage possibilities are: #### Debugging options <%include "opt/C.md"> -<%include "opt/E.md"> <%include "opt/H.md"> -<%include "opt/P.md"> <%include "opt/S.md"> #### Information options diff --git a/docs/content/help.txt b/docs/content/help.txt index 8c7da1c..6c68053 100644 --- a/docs/content/help.txt +++ b/docs/content/help.txt @@ -8,11 +8,7 @@ Preprocessor options: <%include "opt/D.md"> <%include "opt/I.md"> - -Document options: - -<%include "opt/4.md"> -<%include "opt/d.md"> +<%include "opt/P.md"> Template options: @@ -20,6 +16,11 @@ Template options: <%include "opt/i.md"> <%include "opt/j.md"> +Document options: + +<%include "opt/4.md"> +<%include "opt/d.md"> + Metadata options: <%include "opt/M.md"> @@ -28,9 +29,7 @@ Metadata options: Debugging options: <%include "opt/C.md"> -<%include "opt/E.md"> <%include "opt/H.md"> -<%include "opt/P.md"> <%include "opt/S.md"> Information options: diff --git a/docs/content/home.md b/docs/content/home.md index 4e7e4e9..b90a7fd 100644 --- a/docs/content/home.md +++ b/docs/content/home.md @@ -3,7 +3,7 @@ updated: "2016-08-17T09:55:33Z" --- <%include "macros.m">& -<%include "LINKS.md">& +<%include "LINKS.MD">& Could be [_jq_][JQ] the basis for a web template engine? Let's explore… @@ -42,14 +42,14 @@ To write _jq_ scripts using strings with interpolations is not the idea we have for a template language. We need some syntactic sugar, and this is provided to you by _jqt_: you write templates in a very fashionable style, the templates are translated into a _jq_ script and then `jq` is feed with the created -script and some metadata and content in [YAML][YAML] or [JSON][JSON] format… and the magic is done! +script and some content and data in [JSON][JSON] format… and the magic is done! ### Syntactic sugar And, how do the _syntactic sugar_ looks like? Do you think the following example seems to be a template? -<%include "EXAMPLE.md">& +<%include "EXAMPLE.MD">& ### Status diff --git a/docs/content/jqt.1.md b/docs/content/jqt.1.md index faf8a3b..05b4a52 100644 --- a/docs/content/jqt.1.md +++ b/docs/content/jqt.1.md @@ -25,7 +25,6 @@ where HTML is mixed with **jq** snippets to implement the transformation logic. <%include "opt/C.md"> <%include "opt/D.md"> <%include "opt/d.md"> -<%include "opt/E.md"> <%include "opt/e.md"> <%include "opt/f.md"> <%include "opt/H.md"> diff --git a/docs/content/opt/E.md b/docs/content/opt/E.md deleted file mode 100644 index c230bfe..0000000 --- a/docs/content/opt/E.md +++ /dev/null @@ -1,7 +0,0 @@ --E -: Stops template processing after the preprocessing stage (outputs the -expanded template). - -<# -vim:ts=4:sw=4:ai:et:fileencoding=utf8:syntax=markdown -#> diff --git a/docs/content/opt/P.md b/docs/content/opt/P.md index ff63f53..ac27f1a 100644 --- a/docs/content/opt/P.md +++ b/docs/content/opt/P.md @@ -1,6 +1,6 @@ --P -: Stops MarkDown processing after preprocessing stage (outputs the expanded -MarkDown). +-P LANGUAGE +: Expand input data with the macro-processor (language must be `jqt`, `md`, +`json`, `css` or `css-min`). <# vim:ts=4:sw=4:ai:et:fileencoding=utf8:syntax=markdown diff --git a/docs/content/template.md b/docs/content/template.md index ab0b032..e96cd0a 100644 --- a/docs/content/template.md +++ b/docs/content/template.md @@ -4,17 +4,17 @@ title: Template syntax updated: "2016-08-13T07:48:26Z" --- <%include "macros.m">& -<%include "LINKS.md">& +<%include "LINKS.MD">& ## General operation _jqt_ will transform your template into a [_jq_][JQ] script, but before that [GPP][GPP] is used to preprocess them. The generated script will be combined -with the document and metadata inputs in the render stage to produce the +with the document and data inputs in the render stage to produce the final HTML document. This is described on the top of this diagram: -<%include "FLOW.md"> +<%include "FLOW.MD"> When invoking `jqt` you can use the following options to modify template rendering: @@ -33,7 +33,7 @@ values when a template is rendered and actions (delimited by `{%` and template. Comments (delimited by `{#` and `#}`) are ignored and not copied to the output. This is a complete template example: -<%include "EXAMPLE.md">& +<%include "EXAMPLE.MD">& ### Preprocessing diff --git a/docs/presentation/csscolors.m b/docs/presentation/csscolors.m index 7db8c35..703205b 100644 --- a/docs/presentation/csscolors.m +++ b/docs/presentation/csscolors.m @@ -1,148 +1,148 @@ -&define(Black #000000)// -&define(Navy #000080)// -&define(DarkBlue #00008B)// -&define(MediumBlue #0000CD)// -&define(Blue #0000FF)// -&define(DarkGreen #006400)// -&define(Green #008000)// -&define(Teal #008080)// -&define(DarkCyan #008B8B)// -&define(DeepSkyBlue #00BFFF)// -&define(DarkTurquoise #00CED1)// -&define(MediumSpringGreen #00FA9A)// -&define(Lime #00FF00)// -&define(SpringGreen #00FF7F)// -&define(Aqua #00FFFF)// -&define(Cyan #00FFFF)// -&define(MidnightBlue #191970)// -&define(DodgerBlue #1E90FF)// -&define(LightSeaGreen #20B2AA)// -&define(ForestGreen #228B22)// -&define(SeaGreen #2E8B57)// -&define(DarkSlateGray #2F4F4F)// -&define(DarkSlateGrey #2F4F4F)// -&define(LimeGreen #32CD32)// -&define(MediumSeaGreen #3CB371)// -&define(Turquoise #40E0D0)// -&define(RoyalBlue #4169E1)// -&define(SteelBlue #4682B4)// -&define(DarkSlateBlue #483D8B)// -&define(MediumTurquoise #48D1CC)// -&define(Indigo #4B0082)// -&define(DarkOliveGreen #556B2F)// -&define(CadetBlue #5F9EA0)// -&define(CornflowerBlue #6495ED)// -&define(RebeccaPurple #663399)// -&define(MediumAquaMarine #66CDAA)// -&define(DimGray #696969)// -&define(DimGrey #696969)// -&define(SlateBlue #6A5ACD)// -&define(OliveDrab #6B8E23)// -&define(SlateGray #708090)// -&define(SlateGrey #708090)// -&define(LightSlateGray #778899)// -&define(LightSlateGrey #778899)// -&define(MediumSlateBlue #7B68EE)// -&define(LawnGreen #7CFC00)// -&define(Chartreuse #7FFF00)// -&define(Aquamarine #7FFFD4)// -&define(Maroon #800000)// -&define(Purple #800080)// -&define(Olive #808000)// -&define(Gray #808080)// -&define(Grey #808080)// -&define(SkyBlue #87CEEB)// -&define(LightSkyBlue #87CEFA)// -&define(BlueViolet #8A2BE2)// -&define(DarkRed #8B0000)// -&define(DarkMagenta #8B008B)// -&define(SaddleBrown #8B4513)// -&define(DarkSeaGreen #8FBC8F)// -&define(LightGreen #90EE90)// -&define(MediumPurple #9370DB)// -&define(DarkViolet #9400D3)// -&define(PaleGreen #98FB98)// -&define(DarkOrchid #9932CC)// -&define(YellowGreen #9ACD32)// -&define(Sienna #A0522D)// -&define(Brown #A52A2A)// -&define(DarkGray #A9A9A9)// -&define(DarkGrey #A9A9A9)// -&define(LightBlue #ADD8E6)// -&define(GreenYellow #ADFF2F)// -&define(PaleTurquoise #AFEEEE)// -&define(LightSteelBlue #B0C4DE)// -&define(PowderBlue #B0E0E6)// -&define(FireBrick #B22222)// -&define(DarkGoldenRod #B8860B)// -&define(MediumOrchid #BA55D3)// -&define(RosyBrown #BC8F8F)// -&define(DarkKhaki #BDB76B)// -&define(Silver #C0C0C0)// -&define(MediumVioletRed #C71585)// -&define(IndianRed #CD5C5C)// -&define(Peru #CD853F)// -&define(Chocolate #D2691E)// -&define(Tan #D2B48C)// -&define(LightGray #D3D3D3)// -&define(LightGrey #D3D3D3)// -&define(Thistle #D8BFD8)// -&define(Orchid #DA70D6)// -&define(GoldenRod #DAA520)// -&define(PaleVioletRed #DB7093)// -&define(Crimson #DC143C)// -&define(Gainsboro #DCDCDC)// -&define(Plum #DDA0DD)// -&define(BurlyWood #DEB887)// -&define(LightCyan #E0FFFF)// -&define(Lavender #E6E6FA)// -&define(DarkSalmon #E9967A)// -&define(Violet #EE82EE)// -&define(PaleGoldenRod #EEE8AA)// -&define(LightCoral #F08080)// -&define(Khaki #F0E68C)// -&define(AliceBlue #F0F8FF)// -&define(HoneyDew #F0FFF0)// -&define(Azure #F0FFFF)// -&define(SandyBrown #F4A460)// -&define(Wheat #F5DEB3)// -&define(Beige #F5F5DC)// -&define(WhiteSmoke #F5F5F5)// -&define(MintCream #F5FFFA)// -&define(GhostWhite #F8F8FF)// -&define(Salmon #FA8072)// -&define(AntiqueWhite #FAEBD7)// -&define(Linen #FAF0E6)// -&define(LightGoldenRodYellow #FAFAD2)// -&define(OldLace #FDF5E6)// -&define(Red #FF0000)// -&define(Fuchsia #FF00FF)// -&define(Magenta #FF00FF)// -&define(DeepPink #FF1493)// -&define(OrangeRed #FF4500)// -&define(Tomato #FF6347)// -&define(HotPink #FF69B4)// -&define(Coral #FF7F50)// -&define(DarkOrange #FF8C00)// -&define(LightSalmon #FFA07A)// -&define(Orange #FFA500)// -&define(LightPink #FFB6C1)// -&define(Pink #FFC0CB)// -&define(Gold #FFD700)// -&define(PeachPuff #FFDAB9)// -&define(NavajoWhite #FFDEAD)// -&define(Moccasin #FFE4B5)// -&define(Bisque #FFE4C4)// -&define(MistyRose #FFE4E1)// -&define(BlanchedAlmond #FFEBCD)// -&define(PapayaWhip #FFEFD5)// -&define(LavenderBlush #FFF0F5)// -&define(SeaShell #FFF5EE)// -&define(Cornsilk #FFF8DC)// -&define(LemonChiffon #FFFACD)// -&define(FloralWhite #FFFAF0)// -&define(Snow #FFFAFA)// -&define(Yellow #FFFF00)// -&define(LightYellow #FFFFE0)// -&define(Ivory #FFFFF0)// -&define(White #FFFFFF)// +&define Black #000000 +&define Navy #000080 +&define DarkBlue #00008B +&define MediumBlue #0000CD +&define Blue #0000FF +&define DarkGreen #006400 +&define Green #008000 +&define Teal #008080 +&define DarkCyan #008B8B +&define DeepSkyBlue #00BFFF +&define DarkTurquoise #00CED1 +&define MediumSpringGreen #00FA9A +&define Lime #00FF00 +&define SpringGreen #00FF7F +&define Aqua #00FFFF +&define Cyan #00FFFF +&define MidnightBlue #191970 +&define DodgerBlue #1E90FF +&define LightSeaGreen #20B2AA +&define ForestGreen #228B22 +&define SeaGreen #2E8B57 +&define DarkSlateGray #2F4F4F +&define DarkSlateGrey #2F4F4F +&define LimeGreen #32CD32 +&define MediumSeaGreen #3CB371 +&define Turquoise #40E0D0 +&define RoyalBlue #4169E1 +&define SteelBlue #4682B4 +&define DarkSlateBlue #483D8B +&define MediumTurquoise #48D1CC +&define Indigo #4B0082 +&define DarkOliveGreen #556B2F +&define CadetBlue #5F9EA0 +&define CornflowerBlue #6495ED +&define RebeccaPurple #663399 +&define MediumAquaMarine #66CDAA +&define DimGray #696969 +&define DimGrey #696969 +&define SlateBlue #6A5ACD +&define OliveDrab #6B8E23 +&define SlateGray #708090 +&define SlateGrey #708090 +&define LightSlateGray #778899 +&define LightSlateGrey #778899 +&define MediumSlateBlue #7B68EE +&define LawnGreen #7CFC00 +&define Chartreuse #7FFF00 +&define Aquamarine #7FFFD4 +&define Maroon #800000 +&define Purple #800080 +&define Olive #808000 +&define Gray #808080 +&define Grey #808080 +&define SkyBlue #87CEEB +&define LightSkyBlue #87CEFA +&define BlueViolet #8A2BE2 +&define DarkRed #8B0000 +&define DarkMagenta #8B008B +&define SaddleBrown #8B4513 +&define DarkSeaGreen #8FBC8F +&define LightGreen #90EE90 +&define MediumPurple #9370DB +&define DarkViolet #9400D3 +&define PaleGreen #98FB98 +&define DarkOrchid #9932CC +&define YellowGreen #9ACD32 +&define Sienna #A0522D +&define Brown #A52A2A +&define DarkGray #A9A9A9 +&define DarkGrey #A9A9A9 +&define LightBlue #ADD8E6 +&define GreenYellow #ADFF2F +&define PaleTurquoise #AFEEEE +&define LightSteelBlue #B0C4DE +&define PowderBlue #B0E0E6 +&define FireBrick #B22222 +&define DarkGoldenRod #B8860B +&define MediumOrchid #BA55D3 +&define RosyBrown #BC8F8F +&define DarkKhaki #BDB76B +&define Silver #C0C0C0 +&define MediumVioletRed #C71585 +&define IndianRed #CD5C5C +&define Peru #CD853F +&define Chocolate #D2691E +&define Tan #D2B48C +&define LightGray #D3D3D3 +&define LightGrey #D3D3D3 +&define Thistle #D8BFD8 +&define Orchid #DA70D6 +&define GoldenRod #DAA520 +&define PaleVioletRed #DB7093 +&define Crimson #DC143C +&define Gainsboro #DCDCDC +&define Plum #DDA0DD +&define BurlyWood #DEB887 +&define LightCyan #E0FFFF +&define Lavender #E6E6FA +&define DarkSalmon #E9967A +&define Violet #EE82EE +&define PaleGoldenRod #EEE8AA +&define LightCoral #F08080 +&define Khaki #F0E68C +&define AliceBlue #F0F8FF +&define HoneyDew #F0FFF0 +&define Azure #F0FFFF +&define SandyBrown #F4A460 +&define Wheat #F5DEB3 +&define Beige #F5F5DC +&define WhiteSmoke #F5F5F5 +&define MintCream #F5FFFA +&define GhostWhite #F8F8FF +&define Salmon #FA8072 +&define AntiqueWhite #FAEBD7 +&define Linen #FAF0E6 +&define LightGoldenRodYellow #FAFAD2 +&define OldLace #FDF5E6 +&define Red #FF0000 +&define Fuchsia #FF00FF +&define Magenta #FF00FF +&define DeepPink #FF1493 +&define OrangeRed #FF4500 +&define Tomato #FF6347 +&define HotPink #FF69B4 +&define Coral #FF7F50 +&define DarkOrange #FF8C00 +&define LightSalmon #FFA07A +&define Orange #FFA500 +&define LightPink #FFB6C1 +&define Pink #FFC0CB +&define Gold #FFD700 +&define PeachPuff #FFDAB9 +&define NavajoWhite #FFDEAD +&define Moccasin #FFE4B5 +&define Bisque #FFE4C4 +&define MistyRose #FFE4E1 +&define BlanchedAlmond #FFEBCD +&define PapayaWhip #FFEFD5 +&define LavenderBlush #FFF0F5 +&define SeaShell #FFF5EE +&define Cornsilk #FFF8DC +&define LemonChiffon #FFFACD +&define FloralWhite #FFFAF0 +&define Snow #FFFAFA +&define Yellow #FFFF00 +&define LightYellow #FFFFE0 +&define Ivory #FFFFF0 +&define White #FFFFFF diff --git a/docs/presentation/github.css b/docs/presentation/github.css index 0003ee0..69b47c4 100644 --- a/docs/presentation/github.css +++ b/docs/presentation/github.css @@ -41,7 +41,7 @@ pre code { } code { font-size:12px; - background-color:&GhostWhite;; + background-color:GhostWhite; color:#444; padding:.3em .2em .0em; border:1px solid #dedede; @@ -77,7 +77,7 @@ dd{margin-left:2em;margin-bottom:1em;} pre code { display: block; padding: 0.5em; color: #333; - background: &GhostWhite;; + background: GhostWhite; } pre .comment, diff --git a/docs/presentation/jqt.css b/docs/presentation/jqt.css index 010f1d5..391f58f 100644 --- a/docs/presentation/jqt.css +++ b/docs/presentation/jqt.css @@ -2,10 +2,10 @@ * Web site styles **********************************************************************/ -&include("csscolors.m") +&include "csscolors.m" // GitHub style -&include("github.css") +&include "github.css" // // Menu bar diff --git a/jqt.1.gz b/jqt.1.gz index 21d402fb1f54ce7d60cafc8f0940b941329f344b..aba0205a871e7e46ca0e4725233667e796a80311 100644 GIT binary patch literal 1327 zcmV+~17-`114O01iITr(34*@#w?% z^mv8Z2qodD{jq&S>)Sh6bAvHF;2JFEMaC@x%2Y@^VD0%3F1q6ZYfqve!;M@0RxN0WS+Towwg37)KR}Yd|e6+x24A3yQX0ozBaGFTx5FA!o)2*tj?3GXs3s6fkR#KxY@ z$G(`lF^TQhjf-oqONORYyC|ey=L}h)T>sy)FOds)udWv%2cn zDt>yc=%;Yry*Rt0w(G-O$k+TV*i_Tqxn=2;TvZY9D8j;_QjHJ|lA3yWuI_Qa0s9VK zce)0tdDRTJGtVo4hjQ1+#F~EEIkh*MZ+Iqt4fBDY${Y=SuF|4tB=B1* z>GQVIz~XGf=MHe7h!Jykquk!~#f@w@wP@aZ*;?R__>1!f{b>4yH& zlhd(rJX+M-(28i9dgq&=Yo@*4^6>O}dH8Mn==n(9Wc(fO{w53t&^@0|p2H@HTOZzS lE800wtzSa3QPjl>Dv=$a1G?=UydBUd>`zDDPh}bn008W4myG}b literal 1294 zcmV+p1@ZbHiwFRk!0F*!FqCOXQWA!cGzrWwkPF#f zC!)4xB$=O1U#PFqC+kYKLqbeA)6)w=By0aZ?e}@(O?$9&@%wZKb`I&UmCxbJ!QnUh zdV@*}nZkkh#XF$&!z1`yV+haagTW+=xk12mE>hfK-lPXttwEQ0qY=B0?#^ZpkB0uw z;QkKN8Emt5#*^Et;b_vIY&y7;nW04V3{F6#k%$paL7~oLLx($XK%e%@M^-;z^O*&^ zbF2IPgK|t;ShUpd=6u{h2-E0O1<&F(>3r`GgGZgBs5v{MNthvN7@y0+||%Ty<3t zDVY=w?4b`lbj!Mzv|9myM}|_gxn>Gi_TRxk2N=F&)Jk-{m7h8skab_^P6Jc49OXw@ z(&f4+lH7*mvc@hd)MEv^lqU#uJB6cV#R(c-HgHjR)nb7XnbE8fV#JBGx`ehpb2->E zb@}#6Y%0oZVl&5-7-#H;>$fE)6&39+ixi*R{B&KAh3(uz6<9}T0`HYdv~;0JgmaBa zA3FVUw>=$>Z&{1DLmYP1E_Yqgmh}rOqan!X-7OMwvCzboh=oF7V5BOA!bi%TTU7}i zz#JZJ-vpu2>MM=l$>k@rNZ@%B)9J9Zb|Pco^@k9oZO zk62N_5+T??h}9t!IxQ70Wm=FJaw^GpouDmYY|42m9`jnhCjV=u8aR96agG*K=|2#r z>%v!)LHaTCN$!YZ7V0Ja>sb#=*0YNBz6@VKBK_!7(tp1gRzB+DWNf79J-h6(5t+yU zco1M_t18Eh8cRibpU5X%7f`46Rlpjn$rhpi^i5YVf)$9?Rb$wc#*nhF0(Zr0+0oT( z$?c}l!18Uql)>ulO#@do1gsd-7+^bbIRrFwt(vh6c-+(ruCPfnQZp7l{qqu%Cz^$L zEdDHJ2{*ynHgf$i&$8ME+~$)0wmU7l@cVrJL>Ug;D1a~A&On9UZp)C$Kf69JM&bz~ zoD0*-eImThQ6Iy}!kA1SH=A>sw{qVLWYUa?iJ^1>i({wGP3wBv8;&<;%V(nOvl4WF zZm_$MJf#nf84OiOqoIbe)SR6>$YS~HJmDg?kxq*#tvwvwj{E1msq@{I*{c%sg@J$m zw!b5eKJw_Tr$G`HivUym10i?KX}fXIpH|z@2x#)!bz)}e*KXhMpWWW?|Lh&S9jQdZ zy@Tyfif$KLmy_XJ*#vRpaMy<1gEE0~y$Q`ik_u%+krki|biEb4EzqazU%~eT2SyD5 E0D#_qssI20 diff --git a/share/xhtml-lat1.m b/share/xhtml-lat1.m index ad481ae..ec49e3f 100644 --- a/share/xhtml-lat1.m +++ b/share/xhtml-lat1.m @@ -1,103 +1,103 @@ -<%mode comment "#" "\n">& +& # Portions (C) International Organization for Standardization 1986 # Permission to copy in any form is granted for use with # conforming SGML systems and applications as defined in # ISO 8879, provided this notice is included in all copies. # -<%define nbsp \u00A0># no-break space = non-breaking space, U+00A0 ISOnum -<%define iexcl \u00A1># inverted exclamation mark, U+00A1 ISOnum -<%define cent \u00A2># cent sign, U+00A2 ISOnum -<%define pound \u00A3># pound sign, U+00A3 ISOnum -<%define curren \u00A4># currency sign, U+00A4 ISOnum -<%define yen \u00A5># yen sign = yuan sign, U+00A5 ISOnum -<%define brvbar \u00A6># broken bar = broken vertical bar, U+00A6 ISOnum -<%define sect \u00A7># section sign, U+00A7 ISOnum -<%define uml \u00A8># diaeresis = spacing diaeresis, U+00A8 ISOdia -<%define copy \u00A9># copyright sign, U+00A9 ISOnum -<%define ordf \u00AA># feminine ordinal indicator, U+00AA ISOnum -<%define laquo \u00AB># left-pointing double angle quotation mark = left pointing guillemet, U+00AB ISOnum -<%define not \u00AC># not sign = angled dash, U+00AC ISOnum -<%define shy \u00AD># soft hyphen = discretionary hyphen, U+00AD ISOnum -<%define reg \u00AE># registered sign = registered trade mark sign, U+00AE ISOnum -<%define macr \u00AF># macron = spacing macron = overline = APL overbar, U+00AF ISOdia -<%define deg \u00B0># degree sign, U+00B0 ISOnum -<%define plusmn \u00B1># plus-minus sign = plus-or-minus sign, U+00B1 ISOnum -<%define sup2 \u00B2># superscript two = superscript digit two = squared, U+00B2 ISOnum -<%define sup3 \u00B3># superscript three = superscript digit three = cubed, U+00B3 ISOnum -<%define acute \u00B4># acute accent = spacing acute, U+00B4 ISOdia -<%define micro \u00B5># micro sign, U+00B5 ISOnum -<%define para \u00B6># pilcrow sign = paragraph sign, U+00B6 ISOnum -<%define middot \u00B7># middle dot = Georgian comma = Greek middle dot, U+00B7 ISOnum -<%define cedil \u00B8># cedilla = spacing cedilla, U+00B8 ISOdia -<%define sup1 \u00B9># superscript one = superscript digit one, U+00B9 ISOnum -<%define ordm \u00BA># masculine ordinal indicator, U+00BA ISOnum -<%define raquo \u00BB># right-pointing double angle quotation mark = right pointing guillemet, U+00BB ISOnum -<%define frac14 \u00BC># vulgar fraction one quarter = fraction one quarter, U+00BC ISOnum -<%define frac12 \u00BD># vulgar fraction one half = fraction one half, U+00BD ISOnum -<%define frac34 \u00BE># vulgar fraction three quarters = fraction three quarters, U+00BE ISOnum -<%define iquest \u00BF># inverted question mark = turned question mark, U+00BF ISOnum -<%define Agrave \u00C0># latin capital letter A with grave = latin capital letter A grave, U+00C0 ISOlat1 -<%define Aacute \u00C1># latin capital letter A with acute, U+00C1 ISOlat1 -<%define Acirc \u00C2># latin capital letter A with circumflex, U+00C2 ISOlat1 -<%define Atilde \u00C3># latin capital letter A with tilde, U+00C3 ISOlat1 -<%define Auml \u00C4># latin capital letter A with diaeresis, U+00C4 ISOlat1 -<%define Aring \u00C5># latin capital letter A with ring above = latin capital letter A ring, U+00C5 ISOlat1 -<%define AElig \u00C6># latin capital letter AE = latin capital ligature AE, U+00C6 ISOlat1 -<%define Ccedil \u00C7># latin capital letter C with cedilla, U+00C7 ISOlat1 -<%define Egrave \u00C8># latin capital letter E with grave, U+00C8 ISOlat1 -<%define Eacute \u00C9># latin capital letter E with acute, U+00C9 ISOlat1 -<%define Ecirc \u00CA># latin capital letter E with circumflex, U+00CA ISOlat1 -<%define Euml \u00CB># latin capital letter E with diaeresis, U+00CB ISOlat1 -<%define Igrave \u00CC># latin capital letter I with grave, U+00CC ISOlat1 -<%define Iacute \u00CD># latin capital letter I with acute, U+00CD ISOlat1 -<%define Icirc \u00CE># latin capital letter I with circumflex, U+00CE ISOlat1 -<%define Iuml \u00CF># latin capital letter I with diaeresis, U+00CF ISOlat1 -<%define ETH \u00D0># latin capital letter ETH, U+00D0 ISOlat1 -<%define Ntilde \u00D1># latin capital letter N with tilde, U+00D1 ISOlat1 -<%define Ograve \u00D2># latin capital letter O with grave, U+00D2 ISOlat1 -<%define Oacute \u00D3># latin capital letter O with acute, U+00D3 ISOlat1 -<%define Ocirc \u00D4># latin capital letter O with circumflex, U+00D4 ISOlat1 -<%define Otilde \u00D5># latin capital letter O with tilde, U+00D5 ISOlat1 -<%define Ouml \u00D6># latin capital letter O with diaeresis, U+00D6 ISOlat1 -<%define times \u00D7># multiplication sign, U+00D7 ISOnum -<%define Oslash \u00D8># latin capital letter O with stroke = latin capital letter O slash, U+00D8 ISOlat1 -<%define Ugrave \u00D9># latin capital letter U with grave, U+00D9 ISOlat1 -<%define Uacute \u00DA># latin capital letter U with acute, U+00DA ISOlat1 -<%define Ucirc \u00DB># latin capital letter U with circumflex, U+00DB ISOlat1 -<%define Uuml \u00DC># latin capital letter U with diaeresis, U+00DC ISOlat1 -<%define Yacute \u00DD># latin capital letter Y with acute, U+00DD ISOlat1 -<%define THORN \u00DE># latin capital letter THORN, U+00DE ISOlat1 -<%define szlig \u00DF># latin small letter sharp s = ess-zed, U+00DF ISOlat1 -<%define agrave \u00E0># latin small letter a with grave = latin small letter a grave, U+00E0 ISOlat1 -<%define aacute \u00E1># latin small letter a with acute, U+00E1 ISOlat1 -<%define acirc \u00E2># latin small letter a with circumflex, U+00E2 ISOlat1 -<%define atilde \u00E3># latin small letter a with tilde, U+00E3 ISOlat1 -<%define auml \u00E4># latin small letter a with diaeresis, U+00E4 ISOlat1 -<%define aring \u00E5># latin small letter a with ring above = latin small letter a ring, U+00E5 ISOlat1 -<%define aelig \u00E6># latin small letter ae = latin small ligature ae, U+00E6 ISOlat1 -<%define ccedil \u00E7># latin small letter c with cedilla, U+00E7 ISOlat1 -<%define egrave \u00E8># latin small letter e with grave, U+00E8 ISOlat1 -<%define eacute \u00E9># latin small letter e with acute, U+00E9 ISOlat1 -<%define ecirc \u00EA># latin small letter e with circumflex, U+00EA ISOlat1 -<%define euml \u00EB># latin small letter e with diaeresis, U+00EB ISOlat1 -<%define igrave \u00EC># latin small letter i with grave, U+00EC ISOlat1 -<%define iacute \u00ED># latin small letter i with acute, U+00ED ISOlat1 -<%define icirc \u00EE># latin small letter i with circumflex, U+00EE ISOlat1 -<%define iuml \u00EF># latin small letter i with diaeresis, U+00EF ISOlat1 -<%define eth \u00F0># latin small letter eth, U+00F0 ISOlat1 -<%define ntilde \u00F1># latin small letter n with tilde, U+00F1 ISOlat1 -<%define ograve \u00F2># latin small letter o with grave, U+00F2 ISOlat1 -<%define oacute \u00F3># latin small letter o with acute, U+00F3 ISOlat1 -<%define ocirc \u00F4># latin small letter o with circumflex, U+00F4 ISOlat1 -<%define otilde \u00F5># latin small letter o with tilde, U+00F5 ISOlat1 -<%define ouml \u00F6># latin small letter o with diaeresis, U+00F6 ISOlat1 -<%define divide \u00F7># division sign, U+00F7 ISOnum -<%define oslash \u00F8># latin small letter o with stroke, = latin small letter o slash, U+00F8 ISOlat1 -<%define ugrave \u00F9># latin small letter u with grave, U+00F9 ISOlat1 -<%define uacute \u00FA># latin small letter u with acute, U+00FA ISOlat1 -<%define ucirc \u00FB># latin small letter u with circumflex, U+00FB ISOlat1 -<%define uuml \u00FC># latin small letter u with diaeresis, U+00FC ISOlat1 -<%define yacute \u00FD># latin small letter y with acute, U+00FD ISOlat1 -<%define thorn \u00FE># latin small letter thorn, U+00FE ISOlat1 -<%define yuml \u00FF># latin small letter y with diaeresis, U+00FF ISOlat1 -# vim:syntax=perl +# no-break space = non-breaking space, U+00A0 ISOnum +# inverted exclamation mark, U+00A1 ISOnum +# cent sign, U+00A2 ISOnum +# pound sign, U+00A3 ISOnum +# currency sign, U+00A4 ISOnum +# yen sign = yuan sign, U+00A5 ISOnum +# broken bar = broken vertical bar, U+00A6 ISOnum +# section sign, U+00A7 ISOnum +# diaeresis = spacing diaeresis, U+00A8 ISOdia +# copyright sign, U+00A9 ISOnum +# feminine ordinal indicator, U+00AA ISOnum +# left-pointing double angle quotation mark = left pointing guillemet, U+00AB ISOnum +# not sign = angled dash, U+00AC ISOnum +# soft hyphen = discretionary hyphen, U+00AD ISOnum +# registered sign = registered trade mark sign, U+00AE ISOnum +# macron = spacing macron = overline = APL overbar, U+00AF ISOdia +# degree sign, U+00B0 ISOnum +# plus-minus sign = plus-or-minus sign, U+00B1 ISOnum +# superscript two = superscript digit two = squared, U+00B2 ISOnum +# superscript three = superscript digit three = cubed, U+00B3 ISOnum +# acute accent = spacing acute, U+00B4 ISOdia +# micro sign, U+00B5 ISOnum +# pilcrow sign = paragraph sign, U+00B6 ISOnum +# middle dot = Georgian comma = Greek middle dot, U+00B7 ISOnum +# cedilla = spacing cedilla, U+00B8 ISOdia +# superscript one = superscript digit one, U+00B9 ISOnum +# masculine ordinal indicator, U+00BA ISOnum +# right-pointing double angle quotation mark = right pointing guillemet, U+00BB ISOnum +# vulgar fraction one quarter = fraction one quarter, U+00BC ISOnum +# vulgar fraction one half = fraction one half, U+00BD ISOnum +# vulgar fraction three quarters = fraction three quarters, U+00BE ISOnum +# inverted question mark = turned question mark, U+00BF ISOnum +# latin capital letter A with grave = latin capital letter A grave, U+00C0 ISOlat1 +# latin capital letter A with acute, U+00C1 ISOlat1 +# latin capital letter A with circumflex, U+00C2 ISOlat1 +# latin capital letter A with tilde, U+00C3 ISOlat1 +# latin capital letter A with diaeresis, U+00C4 ISOlat1 +# latin capital letter A with ring above = latin capital letter A ring, U+00C5 ISOlat1 +# latin capital letter AE = latin capital ligature AE, U+00C6 ISOlat1 +# latin capital letter C with cedilla, U+00C7 ISOlat1 +# latin capital letter E with grave, U+00C8 ISOlat1 +# latin capital letter E with acute, U+00C9 ISOlat1 +# latin capital letter E with circumflex, U+00CA ISOlat1 +# latin capital letter E with diaeresis, U+00CB ISOlat1 +# latin capital letter I with grave, U+00CC ISOlat1 +# latin capital letter I with acute, U+00CD ISOlat1 +# latin capital letter I with circumflex, U+00CE ISOlat1 +# latin capital letter I with diaeresis, U+00CF ISOlat1 +# latin capital letter ETH, U+00D0 ISOlat1 +# latin capital letter N with tilde, U+00D1 ISOlat1 +# latin capital letter O with grave, U+00D2 ISOlat1 +# latin capital letter O with acute, U+00D3 ISOlat1 +# latin capital letter O with circumflex, U+00D4 ISOlat1 +# latin capital letter O with tilde, U+00D5 ISOlat1 +# latin capital letter O with diaeresis, U+00D6 ISOlat1 +# multiplication sign, U+00D7 ISOnum +# latin capital letter O with stroke = latin capital letter O slash, U+00D8 ISOlat1 +# latin capital letter U with grave, U+00D9 ISOlat1 +# latin capital letter U with acute, U+00DA ISOlat1 +# latin capital letter U with circumflex, U+00DB ISOlat1 +# latin capital letter U with diaeresis, U+00DC ISOlat1 +# latin capital letter Y with acute, U+00DD ISOlat1 +# latin capital letter THORN, U+00DE ISOlat1 +# latin small letter sharp s = ess-zed, U+00DF ISOlat1 +# latin small letter a with grave = latin small letter a grave, U+00E0 ISOlat1 +# latin small letter a with acute, U+00E1 ISOlat1 +# latin small letter a with circumflex, U+00E2 ISOlat1 +# latin small letter a with tilde, U+00E3 ISOlat1 +# latin small letter a with diaeresis, U+00E4 ISOlat1 +# latin small letter a with ring above = latin small letter a ring, U+00E5 ISOlat1 +# latin small letter ae = latin small ligature ae, U+00E6 ISOlat1 +# latin small letter c with cedilla, U+00E7 ISOlat1 +# latin small letter e with grave, U+00E8 ISOlat1 +# latin small letter e with acute, U+00E9 ISOlat1 +# latin small letter e with circumflex, U+00EA ISOlat1 +# latin small letter e with diaeresis, U+00EB ISOlat1 +# latin small letter i with grave, U+00EC ISOlat1 +# latin small letter i with acute, U+00ED ISOlat1 +# latin small letter i with circumflex, U+00EE ISOlat1 +# latin small letter i with diaeresis, U+00EF ISOlat1 +# latin small letter eth, U+00F0 ISOlat1 +# latin small letter n with tilde, U+00F1 ISOlat1 +# latin small letter o with grave, U+00F2 ISOlat1 +# latin small letter o with acute, U+00F3 ISOlat1 +# latin small letter o with circumflex, U+00F4 ISOlat1 +# latin small letter o with tilde, U+00F5 ISOlat1 +# latin small letter o with diaeresis, U+00F6 ISOlat1 +# division sign, U+00F7 ISOnum +# latin small letter o with stroke, = latin small letter o slash, U+00F8 ISOlat1 +# latin small letter u with grave, U+00F9 ISOlat1 +# latin small letter u with acute, U+00FA ISOlat1 +# latin small letter u with circumflex, U+00FB ISOlat1 +# latin small letter u with diaeresis, U+00FC ISOlat1 +# latin small letter y with acute, U+00FD ISOlat1 +# latin small letter thorn, U+00FE ISOlat1 +# latin small letter y with diaeresis, U+00FF ISOlat1 +# vim:syntax=none diff --git a/share/xhtml-special.m b/share/xhtml-special.m index c07f0bf..a9bc6fa 100644 --- a/share/xhtml-special.m +++ b/share/xhtml-special.m @@ -1,4 +1,4 @@ -<%mode comment "#" "\n">& +& # Special characters for XHTML # # Portions (C) International Organization for Standardization 1986: @@ -14,44 +14,44 @@ # character set. Names are Unicode names. # # C0 Controls and Basic Latin -<%define quot \u0022># quotation mark, U+0022 ISOnum -<%define amp \u0026># ampersand, U+0026 ISOnum -<%define lt \u003C># less-than sign, U+003C ISOnum -<%define gt \u003E># greater-than sign, U+003E ISOnum -<%define apos \u0027># apostrophe = APL quote, U+0027 ISOnum +# quotation mark, U+0022 ISOnum +# ampersand, U+0026 ISOnum +# less-than sign, U+003C ISOnum +# greater-than sign, U+003E ISOnum +# apostrophe = APL quote, U+0027 ISOnum # Latin Extended-A -<%define OElig \u0152># latin capital ligature OE, U+0152 ISOlat2 -<%define oelig \u0153># latin small ligature oe, U+0153 ISOlat2 +# latin capital ligature OE, U+0152 ISOlat2 +# latin small ligature oe, U+0153 ISOlat2 # ligature is a misnomer, this is a separate character in some languages -<%define Scaron \u0160># latin capital letter S with caron, U+0160 ISOlat2 -<%define scaron \u0161># latin small letter s with caron, U+0161 ISOlat2 -<%define Yuml \u0178># latin capital letter Y with diaeresis, U+0178 ISOlat2 +# latin capital letter S with caron, U+0160 ISOlat2 +# latin small letter s with caron, U+0161 ISOlat2 +# latin capital letter Y with diaeresis, U+0178 ISOlat2 # Spacing Modifier Letters -<%define circ \u02C6># modifier letter circumflex accent, U+02C6 ISOpub -<%define tilde \u02DC># small tilde, U+02DC ISOdia +# modifier letter circumflex accent, U+02C6 ISOpub +# small tilde, U+02DC ISOdia # General Punctuation -<%define ensp \u2002># en space, U+2002 ISOpub -<%define emsp \u2003># em space, U+2003 ISOpub -<%define thinsp \u2009># thin space, U+2009 ISOpub -<%define zwnj \u200C># zero width non-joiner, U+200C NEW RFC 2070 -<%define zwj \u200D># zero width joiner, U+200D NEW RFC 2070 -<%define lrm \u200E># left-to-right mark, U+200E NEW RFC 2070 -<%define rlm \u200F># right-to-left mark, U+200F NEW RFC 2070 -<%define ndash \u2013># en dash, U+2013 ISOpub -<%define mdash \u2014># em dash, U+2014 ISOpub -<%define lsquo \u2018># left single quotation mark, U+2018 ISOnum -<%define rsquo \u2019># right single quotation mark, U+2019 ISOnum -<%define sbquo \u201A># single low-9 quotation mark, U+201A NEW -<%define ldquo \u201C># left double quotation mark, U+201C ISOnum -<%define rdquo \u201D># right double quotation mark, U+201D ISOnum -<%define bdquo \u201E># double low-9 quotation mark, U+201E NEW -<%define dagger \u2020># dagger, U+2020 ISOpub -<%define Dagger \u2021># double dagger, U+2021 ISOpub -<%define permil \u2030># per mille sign, U+2030 ISOtech -<%define lsaquo \u2039># single left-pointing angle quotation mark, U+2039 ISO proposed +# en space, U+2002 ISOpub +# em space, U+2003 ISOpub +# thin space, U+2009 ISOpub +# zero width non-joiner, U+200C NEW RFC 2070 +# zero width joiner, U+200D NEW RFC 2070 +# left-to-right mark, U+200E NEW RFC 2070 +# right-to-left mark, U+200F NEW RFC 2070 +# en dash, U+2013 ISOpub +# em dash, U+2014 ISOpub +# left single quotation mark, U+2018 ISOnum +# right single quotation mark, U+2019 ISOnum +# single low-9 quotation mark, U+201A NEW +# left double quotation mark, U+201C ISOnum +# right double quotation mark, U+201D ISOnum +# double low-9 quotation mark, U+201E NEW +# dagger, U+2020 ISOpub +# double dagger, U+2021 ISOpub +# per mille sign, U+2030 ISOtech +# single left-pointing angle quotation mark, U+2039 ISO proposed # lsaquo is proposed but not yet ISO standardized -<%define rsaquo \u203A># single right-pointing angle quotation mark, U+203A ISO proposed +# single right-pointing angle quotation mark, U+203A ISO proposed # rsaquo is proposed but not yet ISO standardized # Currency Symbols -<%define euro \u20AC># euro sign, U+20AC NEW -# vim:syntax=perl +# euro sign, U+20AC NEW +# vim:syntax=none diff --git a/share/xhtml-symbol.m b/share/xhtml-symbol.m index ace3a83..04c6cb6 100644 --- a/share/xhtml-symbol.m +++ b/share/xhtml-symbol.m @@ -1,4 +1,4 @@ -<%mode comment "#" "\n">& +& # Mathematical, Greek and Symbolic characters for XHTML # # Portions (C) International Organization for Standardization 1986: @@ -14,148 +14,148 @@ # character set. Names are Unicode names. # # Latin Extended-B -<%define fnof \u0192># latin small letter f with hook = function = florin, U+0192 ISOtech +# latin small letter f with hook = function = florin, U+0192 ISOtech # Greek -<%define Alpha \u0391># greek capital letter alpha, U+0391 -<%define Beta \u0392># greek capital letter beta, U+0392 -<%define Gamma \u0393># greek capital letter gamma, U+0393 ISOgrk3 -<%define Delta \u0394># greek capital letter delta, U+0394 ISOgrk3 -<%define Epsilon \u0395># greek capital letter epsilon, U+0395 -<%define Zeta \u0396># greek capital letter zeta, U+0396 -<%define Eta \u0397># greek capital letter eta, U+0397 -<%define Theta \u0398># greek capital letter theta, U+0398 ISOgrk3 -<%define Iota \u0399># greek capital letter iota, U+0399 -<%define Kappa \u039A># greek capital letter kappa, U+039A -<%define Lambda \u039B># greek capital letter lamda, U+039B ISOgrk3 -<%define Mu \u039C># greek capital letter mu, U+039C -<%define Nu \u039D># greek capital letter nu, U+039D -<%define Xi \u039E># greek capital letter xi, U+039E ISOgrk3 -<%define Omicron \u039F># greek capital letter omicron, U+039F -<%define Pi \u03A0># greek capital letter pi, U+03A0 ISOgrk3 -<%define Rho \u03A1># greek capital letter rho, U+03A1 +# greek capital letter alpha, U+0391 +# greek capital letter beta, U+0392 +# greek capital letter gamma, U+0393 ISOgrk3 +# greek capital letter delta, U+0394 ISOgrk3 +# greek capital letter epsilon, U+0395 +# greek capital letter zeta, U+0396 +# greek capital letter eta, U+0397 +# greek capital letter theta, U+0398 ISOgrk3 +# greek capital letter iota, U+0399 +# greek capital letter kappa, U+039A +# greek capital letter lamda, U+039B ISOgrk3 +# greek capital letter mu, U+039C +# greek capital letter nu, U+039D +# greek capital letter xi, U+039E ISOgrk3 +# greek capital letter omicron, U+039F +# greek capital letter pi, U+03A0 ISOgrk3 +# greek capital letter rho, U+03A1 # there is no Sigmaf, and no U+03A2 character either -<%define Sigma \u03A3># greek capital letter sigma, U+03A3 ISOgrk3 -<%define Tau \u03A4># greek capital letter tau, U+03A4 -<%define Upsilon \u03A5># greek capital letter upsilon, U+03A5 ISOgrk3 -<%define Phi \u03A6># greek capital letter phi, U+03A6 ISOgrk3 -<%define Chi \u03A7># greek capital letter chi, U+03A7 -<%define Psi \u03A8># greek capital letter psi, U+03A8 ISOgrk3 -<%define Omega \u03A9># greek capital letter omega, U+03A9 ISOgrk3 -<%define alpha \u03B1># greek small letter alpha, U+03B1 ISOgrk3 -<%define beta \u03B2># greek small letter beta, U+03B2 ISOgrk3 -<%define gamma \u03B3># greek small letter gamma, U+03B3 ISOgrk3 -<%define delta \u03B4># greek small letter delta, U+03B4 ISOgrk3 -<%define epsilon \u03B5># greek small letter epsilon, U+03B5 ISOgrk3 -<%define zeta \u03B6># greek small letter zeta, U+03B6 ISOgrk3 -<%define eta \u03B7># greek small letter eta, U+03B7 ISOgrk3 -<%define theta \u03B8># greek small letter theta, U+03B8 ISOgrk3 -<%define iota \u03B9># greek small letter iota, U+03B9 ISOgrk3 -<%define kappa \u03BA># greek small letter kappa, U+03BA ISOgrk3 -<%define lambda \u03BB># greek small letter lamda, U+03BB ISOgrk3 -<%define mu \u03BC># greek small letter mu, U+03BC ISOgrk3 -<%define nu \u03BD># greek small letter nu, U+03BD ISOgrk3 -<%define xi \u03BE># greek small letter xi, U+03BE ISOgrk3 -<%define omicron \u03BF># greek small letter omicron, U+03BF NEW -<%define pi \u03C0># greek small letter pi, U+03C0 ISOgrk3 -<%define rho \u03C1># greek small letter rho, U+03C1 ISOgrk3 -<%define sigmaf \u03C2># greek small letter final sigma, U+03C2 ISOgrk3 -<%define sigma \u03C3># greek small letter sigma, U+03C3 ISOgrk3 -<%define tau \u03C4># greek small letter tau, U+03C4 ISOgrk3 -<%define upsilon \u03C5># greek small letter upsilon, U+03C5 ISOgrk3 -<%define phi \u03C6># greek small letter phi, U+03C6 ISOgrk3 -<%define chi \u03C7># greek small letter chi, U+03C7 ISOgrk3 -<%define psi \u03C8># greek small letter psi, U+03C8 ISOgrk3 -<%define omega \u03C9># greek small letter omega, U+03C9 ISOgrk3 -<%define thetasym \u03D1># greek theta symbol, U+03D1 NEW -<%define upsih \u03D2># greek upsilon with hook symbol, U+03D2 NEW -<%define piv \u03D6># greek pi symbol, U+03D6 ISOgrk3 +# greek capital letter sigma, U+03A3 ISOgrk3 +# greek capital letter tau, U+03A4 +# greek capital letter upsilon, U+03A5 ISOgrk3 +# greek capital letter phi, U+03A6 ISOgrk3 +# greek capital letter chi, U+03A7 +# greek capital letter psi, U+03A8 ISOgrk3 +# greek capital letter omega, U+03A9 ISOgrk3 +# greek small letter alpha, U+03B1 ISOgrk3 +# greek small letter beta, U+03B2 ISOgrk3 +# greek small letter gamma, U+03B3 ISOgrk3 +# greek small letter delta, U+03B4 ISOgrk3 +# greek small letter epsilon, U+03B5 ISOgrk3 +# greek small letter zeta, U+03B6 ISOgrk3 +# greek small letter eta, U+03B7 ISOgrk3 +# greek small letter theta, U+03B8 ISOgrk3 +# greek small letter iota, U+03B9 ISOgrk3 +# greek small letter kappa, U+03BA ISOgrk3 +# greek small letter lamda, U+03BB ISOgrk3 +# greek small letter mu, U+03BC ISOgrk3 +# greek small letter nu, U+03BD ISOgrk3 +# greek small letter xi, U+03BE ISOgrk3 +# greek small letter omicron, U+03BF NEW +# greek small letter pi, U+03C0 ISOgrk3 +# greek small letter rho, U+03C1 ISOgrk3 +# greek small letter final sigma, U+03C2 ISOgrk3 +# greek small letter sigma, U+03C3 ISOgrk3 +# greek small letter tau, U+03C4 ISOgrk3 +# greek small letter upsilon, U+03C5 ISOgrk3 +# greek small letter phi, U+03C6 ISOgrk3 +# greek small letter chi, U+03C7 ISOgrk3 +# greek small letter psi, U+03C8 ISOgrk3 +# greek small letter omega, U+03C9 ISOgrk3 +# greek theta symbol, U+03D1 NEW +# greek upsilon with hook symbol, U+03D2 NEW +# greek pi symbol, U+03D6 ISOgrk3 # General Punctuation -<%define bull \u2022># bullet = black small circle, U+2022 ISOpub +# bullet = black small circle, U+2022 ISOpub # bullet is NOT the same as bullet operator, U+2219 -<%define hellip \u2026># horizontal ellipsis = three dot leader, U+2026 ISOpub -<%define prime \u2032># prime = minutes = feet, U+2032 ISOtech -<%define Prime \u2033># double prime = seconds = inches, U+2033 ISOtech -<%define oline \u203E># overline = spacing overscore, U+203E NEW -<%define frasl \u2044># fraction slash, U+2044 NEW +# horizontal ellipsis = three dot leader, U+2026 ISOpub +# prime = minutes = feet, U+2032 ISOtech +# double prime = seconds = inches, U+2033 ISOtech +# overline = spacing overscore, U+203E NEW +# fraction slash, U+2044 NEW # Letterlike Symbols -<%define weierp \u2118># script capital P = power set = Weierstrass p, U+2118 ISOamso -<%define image \u2111># black-letter capital I = imaginary part, U+2111 ISOamso -<%define real \u211C># black-letter capital R = real part symbol, U+211C ISOamso -<%define trade \u2122># trade mark sign, U+2122 ISOnum -<%define alefsym \u2135># alef symbol = first transfinite cardinal, U+2135 NEW +# script capital P = power set = Weierstrass p, U+2118 ISOamso +# black-letter capital I = imaginary part, U+2111 ISOamso +# black-letter capital R = real part symbol, U+211C ISOamso +# trade mark sign, U+2122 ISOnum +# alef symbol = first transfinite cardinal, U+2135 NEW # alef symbol is NOT the same as hebrew letter alef, U+05D0 although the same glyph could be used to depict both characters # Arrows -<%define larr \u2190># leftwards arrow, U+2190 ISOnum -<%define uarr \u2191># upwards arrow, U+2191 ISOnum -<%define rarr \u2192># rightwards arrow, U+2192 ISOnum -<%define darr \u2193># downwards arrow, U+2193 ISOnum -<%define harr \u2194># left right arrow, U+2194 ISOamsa -<%define crarr \u21B5># downwards arrow with corner leftwards = carriage return, U+21B5 NEW -<%define lArr \u21D0># leftwards double arrow, U+21D0 ISOtech +# leftwards arrow, U+2190 ISOnum +# upwards arrow, U+2191 ISOnum +# rightwards arrow, U+2192 ISOnum +# downwards arrow, U+2193 ISOnum +# left right arrow, U+2194 ISOamsa +# downwards arrow with corner leftwards = carriage return, U+21B5 NEW +# leftwards double arrow, U+21D0 ISOtech # Unicode does not say that lArr is the same as the 'is implied by' arrow but also does not have any other character for that function. So lArr can be used for 'is implied by' as ISOtech suggests -<%define uArr \u21D1># upwards double arrow, U+21D1 ISOamsa -<%define rArr \u21D2># rightwards double arrow, U+21D2 ISOtech +# upwards double arrow, U+21D1 ISOamsa +# rightwards double arrow, U+21D2 ISOtech # Unicode does not say this is the 'implies' character but does not have another character with this function so rArr can be used for 'implies' as ISOtech suggests -<%define dArr \u21D3># downwards double arrow, U+21D3 ISOamsa -<%define hArr \u21D4># left right double arrow, U+21D4 ISOamsa +# downwards double arrow, U+21D3 ISOamsa +# left right double arrow, U+21D4 ISOamsa # Mathematical Operators -<%define forall \u2200># for all, U+2200 ISOtech -<%define part \u2202># partial differential, U+2202 ISOtech -<%define exist \u2203># there exists, U+2203 ISOtech -<%define empty \u2205># empty set = null set, U+2205 ISOamso -<%define nabla \u2207># nabla = backward difference, U+2207 ISOtech -<%define isin \u2208># element of, U+2208 ISOtech -<%define notin \u2209># not an element of, U+2209 ISOtech -<%define ni \u220B># contains as member, U+220B ISOtech -<%define prod \u220F># n-ary product = product sign, U+220F ISOamsb +# for all, U+2200 ISOtech +# partial differential, U+2202 ISOtech +# there exists, U+2203 ISOtech +# empty set = null set, U+2205 ISOamso +# nabla = backward difference, U+2207 ISOtech +# element of, U+2208 ISOtech +# not an element of, U+2209 ISOtech +# contains as member, U+220B ISOtech +# n-ary product = product sign, U+220F ISOamsb # prod is NOT the same character as U+03A0 'greek capital letter pi' though the same glyph might be used for both -<%define sum \u2211># n-ary summation, U+2211 ISOamsb +# n-ary summation, U+2211 ISOamsb # sum is NOT the same character as U+03A3 'greek capital letter sigma' though the same glyph might be used for both -<%define minus \u2212># minus sign, U+2212 ISOtech -<%define lowast \u2217># asterisk operator, U+2217 ISOtech -<%define radic \u221A># square root = radical sign, U+221A ISOtech -<%define prop \u221D># proportional to, U+221D ISOtech -<%define infin \u221E># infinity, U+221E ISOtech -<%define ang \u2220># angle, U+2220 ISOamso -<%define and \u2227># logical and = wedge, U+2227 ISOtech -<%define or \u2228># logical or = vee, U+2228 ISOtech -<%define cap \u2229># intersection = cap, U+2229 ISOtech -<%define cup \u222A># union = cup, U+222A ISOtech -<%define int \u222B># integral, U+222B ISOtech -<%define there4 \u2234># therefore, U+2234 ISOtech -<%define sim \u223C># tilde operator = varies with = similar to, U+223C ISOtech +# minus sign, U+2212 ISOtech +# asterisk operator, U+2217 ISOtech +# square root = radical sign, U+221A ISOtech +# proportional to, U+221D ISOtech +# infinity, U+221E ISOtech +# angle, U+2220 ISOamso +# logical and = wedge, U+2227 ISOtech +# logical or = vee, U+2228 ISOtech +# intersection = cap, U+2229 ISOtech +# union = cup, U+222A ISOtech +# integral, U+222B ISOtech +# therefore, U+2234 ISOtech +# tilde operator = varies with = similar to, U+223C ISOtech # tilde operator is NOT the same character as the tilde, U+007E, although the same glyph might be used to represent both -<%define cong \u2245># approximately equal to, U+2245 ISOtech -<%define asymp \u2248># almost equal to = asymptotic to, U+2248 ISOamsr -<%define ne \u2260># not equal to, U+2260 ISOtech -<%define equiv \u2261># identical to, U+2261 ISOtech -<%define le \u2264># less-than or equal to, U+2264 ISOtech -<%define ge \u2265># greater-than or equal to, U+2265 ISOtech -<%define sub \u2282># subset of, U+2282 ISOtech -<%define sup \u2283># superset of, U+2283 ISOtech -<%define nsub \u2284># not a subset of, U+2284 ISOamsn -<%define sube \u2286># subset of or equal to, U+2286 ISOtech -<%define supe \u2287># superset of or equal to, U+2287 ISOtech -<%define oplus \u2295># circled plus = direct sum, U+2295 ISOamsb -<%define otimes \u2297># circled times = vector product, U+2297 ISOamsb -<%define perp \u22A5># up tack = orthogonal to = perpendicular, U+22A5 ISOtech -<%define sdot \u22C5># dot operator, U+22C5 ISOamsb +# approximately equal to, U+2245 ISOtech +# almost equal to = asymptotic to, U+2248 ISOamsr +# not equal to, U+2260 ISOtech +# identical to, U+2261 ISOtech +# less-than or equal to, U+2264 ISOtech +# greater-than or equal to, U+2265 ISOtech +# subset of, U+2282 ISOtech +# superset of, U+2283 ISOtech +# not a subset of, U+2284 ISOamsn +# subset of or equal to, U+2286 ISOtech +# superset of or equal to, U+2287 ISOtech +# circled plus = direct sum, U+2295 ISOamsb +# circled times = vector product, U+2297 ISOamsb +# up tack = orthogonal to = perpendicular, U+22A5 ISOtech +# dot operator, U+22C5 ISOamsb # dot operator is NOT the same character as U+00B7 middle dot # Miscellaneous Technical -<%define lceil \u2308># left ceiling = APL upstile, U+2308 ISOamsc -<%define rceil \u2309># right ceiling, U+2309 ISOamsc -<%define lfloor \u230A># left floor = APL downstile, U+230A ISOamsc -<%define rfloor \u230B># right floor, U+230B ISOamsc -<%define lang \u2329># left-pointing angle bracket = bra, U+2329 ISOtech +# left ceiling = APL upstile, U+2308 ISOamsc +# right ceiling, U+2309 ISOamsc +# left floor = APL downstile, U+230A ISOamsc +# right floor, U+230B ISOamsc +# left-pointing angle bracket = bra, U+2329 ISOtech # lang is NOT the same character as U+003C 'less than sign' or U+2039 'single left-pointing angle quotation mark' -<%define rang \u232A># right-pointing angle bracket = ket, U+232A ISOtech +# right-pointing angle bracket = ket, U+232A ISOtech # rang is NOT the same character as U+003E 'greater than sign' or U+203A 'single right-pointing angle quotation mark' # Geometric Shapes -<%define loz \u25CA># lozenge, U+25CA ISOpub +# lozenge, U+25CA ISOpub # Miscellaneous Symbols -<%define spades \u2660># black spade suit, U+2660 ISOpub +# black spade suit, U+2660 ISOpub # black here seems to mean filled as opposed to hollow -<%define clubs \u2663># black club suit = shamrock, U+2663 ISOpub -<%define hearts \u2665># black heart suit = valentine, U+2665 ISOpub -<%define diams \u2666># black diamond suit, U+2666 ISOpub -# vim:syntax=perl +# black club suit = shamrock, U+2663 ISOpub +# black heart suit = valentine, U+2665 ISOpub +# black diamond suit, U+2666 ISOpub +# vim:syntax=none diff --git a/tests/expand-07.jqt b/tests/expand-07.jqt deleted file mode 100644 index 6edf8d2..0000000 --- a/tests/expand-07.jqt +++ /dev/null @@ -1,8 +0,0 @@ -<# XHTML entities #> -<%include "xhtml-lat1.m">& -<%include "xhtml-special.m">& -<%include "xhtml-symbol.m">& -{ - "json": "Give me 100<%euro>." -} - diff --git a/tests/expand-02.jqt b/tests/expand/expected/mpjqt-00.jqt similarity index 100% rename from tests/expand-02.jqt rename to tests/expand/expected/mpjqt-00.jqt diff --git a/tests/expected/expand-02.jqt b/tests/expand/expected/mpjqt-01.jqt similarity index 100% rename from tests/expected/expand-02.jqt rename to tests/expand/expected/mpjqt-01.jqt diff --git a/tests/expand/expected/mpjqt-02.jqt b/tests/expand/expected/mpjqt-02.jqt new file mode 100644 index 0000000..139597f --- /dev/null +++ b/tests/expand/expected/mpjqt-02.jqt @@ -0,0 +1,2 @@ + + diff --git a/tests/expand/expected/mpjqt-03.jqt b/tests/expand/expected/mpjqt-03.jqt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/expected/mpjqt-03.jqt @@ -0,0 +1 @@ + diff --git a/tests/expand/expected/mpjqt-04.jqt b/tests/expand/expected/mpjqt-04.jqt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/expected/mpjqt-04.jqt @@ -0,0 +1 @@ + diff --git a/tests/expected/expand-05.jqt b/tests/expand/expected/mpjqt-05.jqt similarity index 99% rename from tests/expected/expand-05.jqt rename to tests/expand/expected/mpjqt-05.jqt index f54e030..73112c2 100644 --- a/tests/expected/expand-05.jqt +++ b/tests/expand/expected/mpjqt-05.jqt @@ -1,3 +1,4 @@ Title Long Title Long Title + diff --git a/tests/expected/expand-06.jqt b/tests/expand/expected/mpjqt-06.jqt similarity index 98% rename from tests/expected/expand-06.jqt rename to tests/expand/expected/mpjqt-06.jqt index 4a4de9b..51d6160 100644 --- a/tests/expected/expand-06.jqt +++ b/tests/expand/expected/mpjqt-06.jqt @@ -11,3 +11,4 @@ A<%A X>A BAX<%A X>XAB Q<%R> Q[<%A C>]R + diff --git a/tests/expected/expand-07.jqt b/tests/expand/expected/mpjqt-07.jqt similarity index 97% rename from tests/expected/expand-07.jqt rename to tests/expand/expected/mpjqt-07.jqt index 9513ba8..a624992 100644 --- a/tests/expected/expand-07.jqt +++ b/tests/expand/expected/mpjqt-07.jqt @@ -2,3 +2,4 @@ "json": "Give me 100\u20AC." } + diff --git a/tests/expected/expand-08.jqt b/tests/expand/expected/mpjqt-08.jqt similarity index 98% rename from tests/expected/expand-08.jqt rename to tests/expand/expected/mpjqt-08.jqt index 9f442e3..b1a48e6 100644 --- a/tests/expected/expand-08.jqt +++ b/tests/expand/expected/mpjqt-08.jqt @@ -9,3 +9,4 @@ 2... 1... Done! + diff --git a/tests/expected/expand-09.jqt b/tests/expand/expected/mpjqt-09.jqt similarity index 99% rename from tests/expected/expand-09.jqt rename to tests/expand/expected/mpjqt-09.jqt index dc2eaae..b11cea9 100644 --- a/tests/expected/expand-09.jqt +++ b/tests/expand/expected/mpjqt-09.jqt @@ -3,3 +3,4 @@ height="315" frameborder="0"> + diff --git a/tests/expected/expand-10.jqt b/tests/expand/expected/mpjqt-10.jqt similarity index 99% rename from tests/expected/expand-10.jqt rename to tests/expand/expected/mpjqt-10.jqt index dc2eaae..b11cea9 100644 --- a/tests/expected/expand-10.jqt +++ b/tests/expand/expected/mpjqt-10.jqt @@ -3,3 +3,4 @@ height="315" frameborder="0"> + diff --git a/tests/expected/expand-11.jqt b/tests/expand/expected/mpjqt-11.jqt similarity index 99% rename from tests/expected/expand-11.jqt rename to tests/expand/expected/mpjqt-11.jqt index dc2eaae..b11cea9 100644 --- a/tests/expected/expand-11.jqt +++ b/tests/expand/expected/mpjqt-11.jqt @@ -3,3 +3,4 @@ height="315" frameborder="0"> + diff --git a/tests/expected/expand-12.jqt b/tests/expand/expected/mpjqt-12.jqt similarity index 96% rename from tests/expected/expand-12.jqt rename to tests/expand/expected/mpjqt-12.jqt index 7f6a2d9..b677f74 100644 --- a/tests/expected/expand-12.jqt +++ b/tests/expand/expected/mpjqt-12.jqt @@ -1,2 +1,3 @@ Lorem Ipsum + diff --git a/tests/expand/expected/mpjson-01.json b/tests/expand/expected/mpjson-01.json new file mode 100644 index 0000000..7f6e63d --- /dev/null +++ b/tests/expand/expected/mpjson-01.json @@ -0,0 +1,25 @@ +{ + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": { + "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "phoneNumber": [ + { + "type": "home", + "number": "212 555-1234" + }, + { + "type": "fax", + "number": "646 555-4567" + } + ], + "gender": { + "type": "male" + } +} + diff --git a/tests/expand/expected/mpjson-02.json b/tests/expand/expected/mpjson-02.json new file mode 100644 index 0000000..e157f24 --- /dev/null +++ b/tests/expand/expected/mpjson-02.json @@ -0,0 +1,26 @@ + +{ + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": { + "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "phoneNumber": [ + { + "type": "home", + "number": "212 555-1234" + }, + { + "type": "fax", + "number": "646 555-4567" + } + ], + "gender": { + "type": "male" + } +} + diff --git a/tests/expand/expected/mpjson-03.json b/tests/expand/expected/mpjson-03.json new file mode 100644 index 0000000..6f92569 --- /dev/null +++ b/tests/expand/expected/mpjson-03.json @@ -0,0 +1,9 @@ + +{ + "line1": "// this is not a comment", + "line2": "this // is not a comment", + "line3": "this is not a comment //", + "str1": "this string has \" inside", + "str2": "this string has \n inside" +} + diff --git a/tests/expand/expected/mpjson-04.json b/tests/expand/expected/mpjson-04.json new file mode 100644 index 0000000..782e1b5 --- /dev/null +++ b/tests/expand/expected/mpjson-04.json @@ -0,0 +1,9 @@ + +{ + "comment1": "/* this is not a comment", + "comment2": "this is not a comment */", + "comment3": "/* this is not a comment */", + "comment4": "/* this /* not a comment */", + "comment5": "/* this */ not a comment */" +} + diff --git a/tests/expand/expected/mpjson-05.json b/tests/expand/expected/mpjson-05.json new file mode 100644 index 0000000..b2bacd3 --- /dev/null +++ b/tests/expand/expected/mpjson-05.json @@ -0,0 +1,26 @@ + + +{ + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": { "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "phoneNumber": [ + { + "type": "home", + "number": "212 555-1234" + }, + { + "type": "fax", + "number": "646 555-4567" + } + ], + "gender": { + "type": "male" + } +} + diff --git a/tests/expand/expected/mpjson-06.json b/tests/expand/expected/mpjson-06.json new file mode 100644 index 0000000..fcddbfa --- /dev/null +++ b/tests/expand/expected/mpjson-06.json @@ -0,0 +1,32 @@ + + +{ "husband": + { + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": { "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "gender": { + "type": "male" + } + } + "spouse": + { + "firstName": "Mary", + "lastName": "Smith", + "age": 26, + "address": { "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "gender": { + "type": "female" + } + } +} + diff --git a/tests/expand/expected/mpjson-07.json b/tests/expand/expected/mpjson-07.json new file mode 100644 index 0000000..b8859f7 --- /dev/null +++ b/tests/expand/expected/mpjson-07.json @@ -0,0 +1,24 @@ + + +{ "husband": + { + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": {"streetAddress": "21 2nd Street","city": "New York","state": "NY","postalCode": "10021"}, + "gender": { + "type": "male" + } + } + "spouse": + { + "firstName": "Mary", + "lastName": "Smith", + "age": 26, + "address": {"streetAddress": "21 2nd Street","city": "New York","state": "NY","postalCode": "10021"}, + "gender": { + "type": "female" + } + } +} + diff --git a/tests/expand/expected/mpjson-08.json b/tests/expand/expected/mpjson-08.json new file mode 100644 index 0000000..4b09048 --- /dev/null +++ b/tests/expand/expected/mpjson-08.json @@ -0,0 +1,9 @@ + + +{ + "firstName": "John F.", + "lastName": "Kennedy", + "age": 25, + "gender": { "type": "male" } +} + diff --git a/tests/expand/expected/mpjson-09.json b/tests/expand/expected/mpjson-09.json new file mode 100644 index 0000000..b6b4fa1 --- /dev/null +++ b/tests/expand/expected/mpjson-09.json @@ -0,0 +1,7 @@ +{ + "price": "to much \u20AC", + "basic": "\u003C\u003E\u0026\u0022\u0027", + "arrow": "\u2190\u2191\u2192\u2193\u2194\u21B5", + "Arrow": "\u21D0\u21D1\u21D2\u21D3\u21D4" +} + diff --git a/tests/expand/expected/mpjson-10.json b/tests/expand/expected/mpjson-10.json new file mode 100644 index 0000000..6517ab1 --- /dev/null +++ b/tests/expand/expected/mpjson-10.json @@ -0,0 +1,4 @@ +{ + "price, with discount, is": "88" +} + diff --git a/tests/expand/expected/mpjson-11.json b/tests/expand/expected/mpjson-11.json new file mode 100644 index 0000000..4535c98 --- /dev/null +++ b/tests/expand/expected/mpjson-11.json @@ -0,0 +1,4 @@ +{ + "price": "88" +} + diff --git a/tests/expand/expected/mpmd-01.md b/tests/expand/expected/mpmd-01.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/expected/mpmd-01.md @@ -0,0 +1 @@ + diff --git a/tests/expand/expected/mpmd-02.md b/tests/expand/expected/mpmd-02.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/expected/mpmd-02.md @@ -0,0 +1 @@ + diff --git a/tests/expand/expected/mpmd-03.md b/tests/expand/expected/mpmd-03.md new file mode 100644 index 0000000..139597f --- /dev/null +++ b/tests/expand/expected/mpmd-03.md @@ -0,0 +1,2 @@ + + diff --git a/tests/expand/expected/mpmd-04.md b/tests/expand/expected/mpmd-04.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/expected/mpmd-04.md @@ -0,0 +1 @@ + diff --git a/tests/expand/expected/mpmd-05.md b/tests/expand/expected/mpmd-05.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/expected/mpmd-05.md @@ -0,0 +1 @@ + diff --git a/tests/expand/expected/mpmd-06.md b/tests/expand/expected/mpmd-06.md new file mode 100644 index 0000000..73112c2 --- /dev/null +++ b/tests/expand/expected/mpmd-06.md @@ -0,0 +1,4 @@ +Title +Long Title +Long Title + diff --git a/tests/expand/expected/mpmd-07.md b/tests/expand/expected/mpmd-07.md new file mode 100644 index 0000000..51d6160 --- /dev/null +++ b/tests/expand/expected/mpmd-07.md @@ -0,0 +1,14 @@ +ACA +AACAA +AACAA +AXDXA +BAXDXAB +APA +PYYP +PYYP +Q<%A C>R +A<%A X>A +BAX<%A X>XAB +Q<%R> +Q[<%A C>]R + diff --git a/tests/expand/expected/mpmd-08.md b/tests/expand/expected/mpmd-08.md new file mode 100644 index 0000000..a624992 --- /dev/null +++ b/tests/expand/expected/mpmd-08.md @@ -0,0 +1,5 @@ +{ + "json": "Give me 100\u20AC." +} + + diff --git a/tests/expand/expected/mpmd-09.md b/tests/expand/expected/mpmd-09.md new file mode 100644 index 0000000..b1a48e6 --- /dev/null +++ b/tests/expand/expected/mpmd-09.md @@ -0,0 +1,12 @@ +10... +9... +8... +7... +6... +5... +4... +3... +2... +1... +Done! + diff --git a/tests/expand/expected/mpmd-10.md b/tests/expand/expected/mpmd-10.md new file mode 100644 index 0000000..b11cea9 --- /dev/null +++ b/tests/expand/expected/mpmd-10.md @@ -0,0 +1,6 @@ + + + diff --git a/tests/expand/expected/mpmd-11.md b/tests/expand/expected/mpmd-11.md new file mode 100644 index 0000000..b11cea9 --- /dev/null +++ b/tests/expand/expected/mpmd-11.md @@ -0,0 +1,6 @@ + + + diff --git a/tests/expand/expected/mpmd-12.md b/tests/expand/expected/mpmd-12.md new file mode 100644 index 0000000..b11cea9 --- /dev/null +++ b/tests/expand/expected/mpmd-12.md @@ -0,0 +1,6 @@ + + + diff --git a/tests/expand/expected/mpmd-13.md b/tests/expand/expected/mpmd-13.md new file mode 100644 index 0000000..b677f74 --- /dev/null +++ b/tests/expand/expected/mpmd-13.md @@ -0,0 +1,3 @@ +Lorem Ipsum + + diff --git a/tests/expand/expected/mpmd-14.md b/tests/expand/expected/mpmd-14.md new file mode 100644 index 0000000..a11f11a --- /dev/null +++ b/tests/expand/expected/mpmd-14.md @@ -0,0 +1,5 @@ +Lorem Ipsum +``` +<%MACRO> +``` + diff --git a/tests/expand/expected/mpmd-15.md b/tests/expand/expected/mpmd-15.md new file mode 100644 index 0000000..9b98c77 --- /dev/null +++ b/tests/expand/expected/mpmd-15.md @@ -0,0 +1,5 @@ +Lorem Ipsum +~~~ +<%MACRO> +~~~ + diff --git a/tests/expand/generated/mpjqt-00.jqt b/tests/expand/generated/mpjqt-00.jqt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/generated/mpjqt-00.jqt @@ -0,0 +1 @@ + diff --git a/tests/expand/generated/mpjqt-01.jqt b/tests/expand/generated/mpjqt-01.jqt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/generated/mpjqt-01.jqt @@ -0,0 +1 @@ + diff --git a/tests/expand/generated/mpjqt-02.jqt b/tests/expand/generated/mpjqt-02.jqt new file mode 100644 index 0000000..139597f --- /dev/null +++ b/tests/expand/generated/mpjqt-02.jqt @@ -0,0 +1,2 @@ + + diff --git a/tests/expand/generated/mpjqt-03.jqt b/tests/expand/generated/mpjqt-03.jqt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/generated/mpjqt-03.jqt @@ -0,0 +1 @@ + diff --git a/tests/expand/generated/mpjqt-04.jqt b/tests/expand/generated/mpjqt-04.jqt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/generated/mpjqt-04.jqt @@ -0,0 +1 @@ + diff --git a/tests/expand/generated/mpjqt-05.jqt b/tests/expand/generated/mpjqt-05.jqt new file mode 100644 index 0000000..73112c2 --- /dev/null +++ b/tests/expand/generated/mpjqt-05.jqt @@ -0,0 +1,4 @@ +Title +Long Title +Long Title + diff --git a/tests/expand/generated/mpjqt-06.jqt b/tests/expand/generated/mpjqt-06.jqt new file mode 100644 index 0000000..51d6160 --- /dev/null +++ b/tests/expand/generated/mpjqt-06.jqt @@ -0,0 +1,14 @@ +ACA +AACAA +AACAA +AXDXA +BAXDXAB +APA +PYYP +PYYP +Q<%A C>R +A<%A X>A +BAX<%A X>XAB +Q<%R> +Q[<%A C>]R + diff --git a/tests/expand/generated/mpjqt-07.jqt b/tests/expand/generated/mpjqt-07.jqt new file mode 100644 index 0000000..a624992 --- /dev/null +++ b/tests/expand/generated/mpjqt-07.jqt @@ -0,0 +1,5 @@ +{ + "json": "Give me 100\u20AC." +} + + diff --git a/tests/expand/generated/mpjqt-08.jqt b/tests/expand/generated/mpjqt-08.jqt new file mode 100644 index 0000000..b1a48e6 --- /dev/null +++ b/tests/expand/generated/mpjqt-08.jqt @@ -0,0 +1,12 @@ +10... +9... +8... +7... +6... +5... +4... +3... +2... +1... +Done! + diff --git a/tests/expand/generated/mpjqt-09.jqt b/tests/expand/generated/mpjqt-09.jqt new file mode 100644 index 0000000..b11cea9 --- /dev/null +++ b/tests/expand/generated/mpjqt-09.jqt @@ -0,0 +1,6 @@ + + + diff --git a/tests/expand/generated/mpjqt-10.jqt b/tests/expand/generated/mpjqt-10.jqt new file mode 100644 index 0000000..b11cea9 --- /dev/null +++ b/tests/expand/generated/mpjqt-10.jqt @@ -0,0 +1,6 @@ + + + diff --git a/tests/expand/generated/mpjqt-11.jqt b/tests/expand/generated/mpjqt-11.jqt new file mode 100644 index 0000000..b11cea9 --- /dev/null +++ b/tests/expand/generated/mpjqt-11.jqt @@ -0,0 +1,6 @@ + + + diff --git a/tests/expand/generated/mpjqt-12.jqt b/tests/expand/generated/mpjqt-12.jqt new file mode 100644 index 0000000..b677f74 --- /dev/null +++ b/tests/expand/generated/mpjqt-12.jqt @@ -0,0 +1,3 @@ +Lorem Ipsum + + diff --git a/tests/expand/generated/mpjson-01.json b/tests/expand/generated/mpjson-01.json new file mode 100644 index 0000000..7f6e63d --- /dev/null +++ b/tests/expand/generated/mpjson-01.json @@ -0,0 +1,25 @@ +{ + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": { + "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "phoneNumber": [ + { + "type": "home", + "number": "212 555-1234" + }, + { + "type": "fax", + "number": "646 555-4567" + } + ], + "gender": { + "type": "male" + } +} + diff --git a/tests/expand/generated/mpjson-02.json b/tests/expand/generated/mpjson-02.json new file mode 100644 index 0000000..e157f24 --- /dev/null +++ b/tests/expand/generated/mpjson-02.json @@ -0,0 +1,26 @@ + +{ + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": { + "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "phoneNumber": [ + { + "type": "home", + "number": "212 555-1234" + }, + { + "type": "fax", + "number": "646 555-4567" + } + ], + "gender": { + "type": "male" + } +} + diff --git a/tests/expand/generated/mpjson-03.json b/tests/expand/generated/mpjson-03.json new file mode 100644 index 0000000..6f92569 --- /dev/null +++ b/tests/expand/generated/mpjson-03.json @@ -0,0 +1,9 @@ + +{ + "line1": "// this is not a comment", + "line2": "this // is not a comment", + "line3": "this is not a comment //", + "str1": "this string has \" inside", + "str2": "this string has \n inside" +} + diff --git a/tests/expand/generated/mpjson-04.json b/tests/expand/generated/mpjson-04.json new file mode 100644 index 0000000..782e1b5 --- /dev/null +++ b/tests/expand/generated/mpjson-04.json @@ -0,0 +1,9 @@ + +{ + "comment1": "/* this is not a comment", + "comment2": "this is not a comment */", + "comment3": "/* this is not a comment */", + "comment4": "/* this /* not a comment */", + "comment5": "/* this */ not a comment */" +} + diff --git a/tests/expand/generated/mpjson-05.json b/tests/expand/generated/mpjson-05.json new file mode 100644 index 0000000..b2bacd3 --- /dev/null +++ b/tests/expand/generated/mpjson-05.json @@ -0,0 +1,26 @@ + + +{ + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": { "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "phoneNumber": [ + { + "type": "home", + "number": "212 555-1234" + }, + { + "type": "fax", + "number": "646 555-4567" + } + ], + "gender": { + "type": "male" + } +} + diff --git a/tests/expand/generated/mpjson-06.json b/tests/expand/generated/mpjson-06.json new file mode 100644 index 0000000..fcddbfa --- /dev/null +++ b/tests/expand/generated/mpjson-06.json @@ -0,0 +1,32 @@ + + +{ "husband": + { + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": { "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "gender": { + "type": "male" + } + } + "spouse": + { + "firstName": "Mary", + "lastName": "Smith", + "age": 26, + "address": { "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "gender": { + "type": "female" + } + } +} + diff --git a/tests/expand/generated/mpjson-07.json b/tests/expand/generated/mpjson-07.json new file mode 100644 index 0000000..b8859f7 --- /dev/null +++ b/tests/expand/generated/mpjson-07.json @@ -0,0 +1,24 @@ + + +{ "husband": + { + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": {"streetAddress": "21 2nd Street","city": "New York","state": "NY","postalCode": "10021"}, + "gender": { + "type": "male" + } + } + "spouse": + { + "firstName": "Mary", + "lastName": "Smith", + "age": 26, + "address": {"streetAddress": "21 2nd Street","city": "New York","state": "NY","postalCode": "10021"}, + "gender": { + "type": "female" + } + } +} + diff --git a/tests/expand/generated/mpjson-08.json b/tests/expand/generated/mpjson-08.json new file mode 100644 index 0000000..4b09048 --- /dev/null +++ b/tests/expand/generated/mpjson-08.json @@ -0,0 +1,9 @@ + + +{ + "firstName": "John F.", + "lastName": "Kennedy", + "age": 25, + "gender": { "type": "male" } +} + diff --git a/tests/expand/generated/mpjson-09.json b/tests/expand/generated/mpjson-09.json new file mode 100644 index 0000000..b6b4fa1 --- /dev/null +++ b/tests/expand/generated/mpjson-09.json @@ -0,0 +1,7 @@ +{ + "price": "to much \u20AC", + "basic": "\u003C\u003E\u0026\u0022\u0027", + "arrow": "\u2190\u2191\u2192\u2193\u2194\u21B5", + "Arrow": "\u21D0\u21D1\u21D2\u21D3\u21D4" +} + diff --git a/tests/expand/generated/mpjson-10.json b/tests/expand/generated/mpjson-10.json new file mode 100644 index 0000000..6517ab1 --- /dev/null +++ b/tests/expand/generated/mpjson-10.json @@ -0,0 +1,4 @@ +{ + "price, with discount, is": "88" +} + diff --git a/tests/expand/generated/mpjson-11.json b/tests/expand/generated/mpjson-11.json new file mode 100644 index 0000000..4535c98 --- /dev/null +++ b/tests/expand/generated/mpjson-11.json @@ -0,0 +1,4 @@ +{ + "price": "88" +} + diff --git a/tests/expand/generated/mpmd-01.md b/tests/expand/generated/mpmd-01.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/generated/mpmd-01.md @@ -0,0 +1 @@ + diff --git a/tests/expand/generated/mpmd-02.md b/tests/expand/generated/mpmd-02.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/generated/mpmd-02.md @@ -0,0 +1 @@ + diff --git a/tests/expand/generated/mpmd-03.md b/tests/expand/generated/mpmd-03.md new file mode 100644 index 0000000..139597f --- /dev/null +++ b/tests/expand/generated/mpmd-03.md @@ -0,0 +1,2 @@ + + diff --git a/tests/expand/generated/mpmd-04.md b/tests/expand/generated/mpmd-04.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/generated/mpmd-04.md @@ -0,0 +1 @@ + diff --git a/tests/expand/generated/mpmd-05.md b/tests/expand/generated/mpmd-05.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/generated/mpmd-05.md @@ -0,0 +1 @@ + diff --git a/tests/expand/generated/mpmd-06.md b/tests/expand/generated/mpmd-06.md new file mode 100644 index 0000000..73112c2 --- /dev/null +++ b/tests/expand/generated/mpmd-06.md @@ -0,0 +1,4 @@ +Title +Long Title +Long Title + diff --git a/tests/expand/generated/mpmd-07.md b/tests/expand/generated/mpmd-07.md new file mode 100644 index 0000000..51d6160 --- /dev/null +++ b/tests/expand/generated/mpmd-07.md @@ -0,0 +1,14 @@ +ACA +AACAA +AACAA +AXDXA +BAXDXAB +APA +PYYP +PYYP +Q<%A C>R +A<%A X>A +BAX<%A X>XAB +Q<%R> +Q[<%A C>]R + diff --git a/tests/expand/generated/mpmd-08.md b/tests/expand/generated/mpmd-08.md new file mode 100644 index 0000000..a624992 --- /dev/null +++ b/tests/expand/generated/mpmd-08.md @@ -0,0 +1,5 @@ +{ + "json": "Give me 100\u20AC." +} + + diff --git a/tests/expand/generated/mpmd-09.md b/tests/expand/generated/mpmd-09.md new file mode 100644 index 0000000..b1a48e6 --- /dev/null +++ b/tests/expand/generated/mpmd-09.md @@ -0,0 +1,12 @@ +10... +9... +8... +7... +6... +5... +4... +3... +2... +1... +Done! + diff --git a/tests/expand/generated/mpmd-10.md b/tests/expand/generated/mpmd-10.md new file mode 100644 index 0000000..b11cea9 --- /dev/null +++ b/tests/expand/generated/mpmd-10.md @@ -0,0 +1,6 @@ + + + diff --git a/tests/expand/generated/mpmd-11.md b/tests/expand/generated/mpmd-11.md new file mode 100644 index 0000000..b11cea9 --- /dev/null +++ b/tests/expand/generated/mpmd-11.md @@ -0,0 +1,6 @@ + + + diff --git a/tests/expand/generated/mpmd-12.md b/tests/expand/generated/mpmd-12.md new file mode 100644 index 0000000..b11cea9 --- /dev/null +++ b/tests/expand/generated/mpmd-12.md @@ -0,0 +1,6 @@ + + + diff --git a/tests/expand/generated/mpmd-13.md b/tests/expand/generated/mpmd-13.md new file mode 100644 index 0000000..b677f74 --- /dev/null +++ b/tests/expand/generated/mpmd-13.md @@ -0,0 +1,3 @@ +Lorem Ipsum + + diff --git a/tests/expand/generated/mpmd-14.md b/tests/expand/generated/mpmd-14.md new file mode 100644 index 0000000..a11f11a --- /dev/null +++ b/tests/expand/generated/mpmd-14.md @@ -0,0 +1,5 @@ +Lorem Ipsum +``` +<%MACRO> +``` + diff --git a/tests/expand/generated/mpmd-15.md b/tests/expand/generated/mpmd-15.md new file mode 100644 index 0000000..9b98c77 --- /dev/null +++ b/tests/expand/generated/mpmd-15.md @@ -0,0 +1,5 @@ +Lorem Ipsum +~~~ +<%MACRO> +~~~ + diff --git a/tests/expand-00.jqt b/tests/expand/mpjqt-00.jqt similarity index 100% rename from tests/expand-00.jqt rename to tests/expand/mpjqt-00.jqt diff --git a/tests/expand-01.jqt b/tests/expand/mpjqt-01.jqt similarity index 100% rename from tests/expand-01.jqt rename to tests/expand/mpjqt-01.jqt diff --git a/tests/expand/mpjqt-02.jqt b/tests/expand/mpjqt-02.jqt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/mpjqt-02.jqt @@ -0,0 +1 @@ + diff --git a/tests/expand-03.jqt b/tests/expand/mpjqt-03.jqt similarity index 100% rename from tests/expand-03.jqt rename to tests/expand/mpjqt-03.jqt diff --git a/tests/expand-04.jqt b/tests/expand/mpjqt-04.jqt similarity index 100% rename from tests/expand-04.jqt rename to tests/expand/mpjqt-04.jqt diff --git a/tests/expand-05.jqt b/tests/expand/mpjqt-05.jqt similarity index 100% rename from tests/expand-05.jqt rename to tests/expand/mpjqt-05.jqt diff --git a/tests/expand-06.jqt b/tests/expand/mpjqt-06.jqt similarity index 100% rename from tests/expand-06.jqt rename to tests/expand/mpjqt-06.jqt diff --git a/tests/expand/mpjqt-07.jqt b/tests/expand/mpjqt-07.jqt new file mode 100644 index 0000000..d53ce43 --- /dev/null +++ b/tests/expand/mpjqt-07.jqt @@ -0,0 +1,11 @@ +<# XHTML entities #> +<%mode push>& +<%mode meta "" "\b" "\b" ">" "<" ">">& +& +& +& +& +{ + "json": "Give me 100<%euro>." +} + diff --git a/tests/expand-08.jqt b/tests/expand/mpjqt-08.jqt similarity index 100% rename from tests/expand-08.jqt rename to tests/expand/mpjqt-08.jqt diff --git a/tests/expand-09.jqt b/tests/expand/mpjqt-09.jqt similarity index 100% rename from tests/expand-09.jqt rename to tests/expand/mpjqt-09.jqt diff --git a/tests/expand-10.jqt b/tests/expand/mpjqt-10.jqt similarity index 100% rename from tests/expand-10.jqt rename to tests/expand/mpjqt-10.jqt diff --git a/tests/expand-11.jqt b/tests/expand/mpjqt-11.jqt similarity index 100% rename from tests/expand-11.jqt rename to tests/expand/mpjqt-11.jqt diff --git a/tests/expand-12.jqt b/tests/expand/mpjqt-12.jqt similarity index 100% rename from tests/expand-12.jqt rename to tests/expand/mpjqt-12.jqt diff --git a/tests/expand/mpjson-01.json b/tests/expand/mpjson-01.json new file mode 100644 index 0000000..f9ca28b --- /dev/null +++ b/tests/expand/mpjson-01.json @@ -0,0 +1,24 @@ +{ + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": { + "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "phoneNumber": [ + { + "type": "home", + "number": "212 555-1234" + }, + { + "type": "fax", + "number": "646 555-4567" + } + ], + "gender": { + "type": "male" + } +} diff --git a/tests/expand/mpjson-02.json b/tests/expand/mpjson-02.json new file mode 100644 index 0000000..0899a19 --- /dev/null +++ b/tests/expand/mpjson-02.json @@ -0,0 +1,28 @@ +/* + * JSON example + */ +{ + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": { + "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "phoneNumber": [ + { + "type": "home", + "number": "212 555-1234" + }, + { + "type": "fax", + "number": "646 555-4567" + } + ], + "gender": { + "type": "male" + } +} +// vim:sw=4:ts=4:ai:et:syntax=javascript diff --git a/tests/expand/mpjson-03.json b/tests/expand/mpjson-03.json new file mode 100644 index 0000000..708dbac --- /dev/null +++ b/tests/expand/mpjson-03.json @@ -0,0 +1,11 @@ +/* + * JSON strings + */ +{ + "line1": "// this is not a comment", + "line2": "this // is not a comment", + "line3": "this is not a comment //", + "str1": "this string has \" inside", + "str2": "this string has \n inside" +} +// vim:sw=4:ts=4:ai:et:syntax=javascript diff --git a/tests/expand/mpjson-04.json b/tests/expand/mpjson-04.json new file mode 100644 index 0000000..8f5b62a --- /dev/null +++ b/tests/expand/mpjson-04.json @@ -0,0 +1,11 @@ +/* + * JSON comments + */ +{ + "comment1": "/* this is not a comment", + "comment2": "this is not a comment */", + "comment3": "/* this is not a comment */", + "comment4": "/* this /* not a comment */", + "comment5": "/* this */ not a comment */" +} +// vim:sw=4:ts=4:ai:et:syntax=javascript diff --git a/tests/expand/mpjson-05.json b/tests/expand/mpjson-05.json new file mode 100644 index 0000000..0b11568 --- /dev/null +++ b/tests/expand/mpjson-05.json @@ -0,0 +1,27 @@ +/* Macros */ + +{ + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": { &address; }, + "phoneNumber": [ + { + "type": "home", + "number": "212 555-1234" + }, + { + "type": "fax", + "number": "646 555-4567" + } + ], + "gender": { + "type": "male" + } +} +// vim:sw=4:ts=4:ai:et:syntax=javascript diff --git a/tests/expand/mpjson-06.json b/tests/expand/mpjson-06.json new file mode 100644 index 0000000..c208589 --- /dev/null +++ b/tests/expand/mpjson-06.json @@ -0,0 +1,29 @@ +/* Macros */ + +{ "husband": + { + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": { &address; }, + "gender": { + "type": "male" + } + } + "spouse": + { + "firstName": "Mary", + "lastName": "Smith", + "age": 26, + "address": { &address; }, + "gender": { + "type": "female" + } + } +} +// vim:sw=4:ts=4:ai:et:syntax=javascript diff --git a/tests/expand/mpjson-07.json b/tests/expand/mpjson-07.json new file mode 100644 index 0000000..22f71b8 --- /dev/null +++ b/tests/expand/mpjson-07.json @@ -0,0 +1,29 @@ +/* Macros; continuation lines */ + +{ "husband": + { + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": {&address;}, + "gender": { + "type": "male" + } + } + "spouse": + { + "firstName": "Mary", + "lastName": "Smith", + "age": 26, + "address": {&address;}, + "gender": { + "type": "female" + } + } +} +// vim:sw=4:ts=4:ai:et:syntax=javascript diff --git a/tests/expand/mpjson-08.json b/tests/expand/mpjson-08.json new file mode 100644 index 0000000..fbb2617 --- /dev/null +++ b/tests/expand/mpjson-08.json @@ -0,0 +1,9 @@ +/* Macros */ + +{ + "firstName": "&NAME;", + "lastName": "Kennedy", + "age": 25, + "gender": { "type": "male" } +} +// vim:sw=4:ts=4:ai:et:syntax=javascript diff --git a/tests/expand/mpjson-09.json b/tests/expand/mpjson-09.json new file mode 100644 index 0000000..7dfb299 --- /dev/null +++ b/tests/expand/mpjson-09.json @@ -0,0 +1,11 @@ +// XHTML entities +& +& +& +{ + "price": "to much €", + "basic": "<>&"'", + "arrow": "←↑→↓↔↵", + "Arrow": "⇐⇑⇒⇓⇔" +} +// vim:sw=4:ts=4:ai:et:syntax=javascript diff --git a/tests/expand/mpjson-10.json b/tests/expand/mpjson-10.json new file mode 100644 index 0000000..c507027 --- /dev/null +++ b/tests/expand/mpjson-10.json @@ -0,0 +1,6 @@ +// XHTML entities +& +{ + &E('price, with discount, is',88) +} +// vim:sw=4:ts=4:ai:et:syntax=javascript diff --git a/tests/expand/mpjson-11.json b/tests/expand/mpjson-11.json new file mode 100644 index 0000000..26bc09f --- /dev/null +++ b/tests/expand/mpjson-11.json @@ -0,0 +1,6 @@ +// XHTML entities +& +{ + &E(price,88) +} +// vim:sw=4:ts=4:ai:et:syntax=javascript diff --git a/tests/expand/mpmd-01.md b/tests/expand/mpmd-01.md new file mode 100644 index 0000000..4262368 --- /dev/null +++ b/tests/expand/mpmd-01.md @@ -0,0 +1 @@ +<# empty document #> diff --git a/tests/expected/expand-00.jqt b/tests/expand/mpmd-02.md similarity index 100% rename from tests/expected/expand-00.jqt rename to tests/expand/mpmd-02.md diff --git a/tests/expand/mpmd-03.md b/tests/expand/mpmd-03.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/expand/mpmd-03.md @@ -0,0 +1 @@ + diff --git a/tests/expand/mpmd-04.md b/tests/expand/mpmd-04.md new file mode 100644 index 0000000..4bd7e7a --- /dev/null +++ b/tests/expand/mpmd-04.md @@ -0,0 +1 @@ +& diff --git a/tests/expand/mpmd-05.md b/tests/expand/mpmd-05.md new file mode 100644 index 0000000..a8d3f0b --- /dev/null +++ b/tests/expand/mpmd-05.md @@ -0,0 +1,6 @@ +<# multiline #> +& +<# empty #> +& +<# document #> +& diff --git a/tests/expand/mpmd-06.md b/tests/expand/mpmd-06.md new file mode 100644 index 0000000..0847eb9 --- /dev/null +++ b/tests/expand/mpmd-06.md @@ -0,0 +1,5 @@ +<# predefined user macro #> +<%define sc $1>& +<%sc Title> +<%sc 'Long Title'> +<%sc "Long Title"> diff --git a/tests/expand/mpmd-07.md b/tests/expand/mpmd-07.md new file mode 100644 index 0000000..9855fb6 --- /dev/null +++ b/tests/expand/mpmd-07.md @@ -0,0 +1,36 @@ +<# examples from GPM paper #> +<%define A A$1A>& +<%define B B<%A X$1X>B>& +<%define APA P$1$1P>& +& +<%A C> +<%A ACA> +<%A <%A C>> +<%A XDX> +<%B D> +<%A P> +<%APA Y> +<%call <%A P> Y> +& +<%mode comment qqq "[" "]">& +Q[<%A C>]R +<%A [<%A X>]> +<%B [<%A X>]> +Q[<%]R[>] +Q[[<%A C>]]R +& +<# Output: + ACA + AACAA + AACAA + AXDXA + BAXDXAB + APA + PYYP + PYYP + Q<%A C>R + A<%A X>A + BAX<%A X>XAB + Q<%R> + Q[<%A C>]R +#> diff --git a/tests/expand/mpmd-08.md b/tests/expand/mpmd-08.md new file mode 100644 index 0000000..d53ce43 --- /dev/null +++ b/tests/expand/mpmd-08.md @@ -0,0 +1,11 @@ +<# XHTML entities #> +<%mode push>& +<%mode meta "" "\b" "\b" ">" "<" ">">& +& +& +& +& +{ + "json": "Give me 100<%euro>." +} + diff --git a/tests/expand/mpmd-09.md b/tests/expand/mpmd-09.md new file mode 100644 index 0000000..95c0adf --- /dev/null +++ b/tests/expand/mpmd-09.md @@ -0,0 +1,12 @@ +<# recursion #> +<%define countdown +<%if $1>& +$1... +<%define _countdown <%countdown $1>>& +<%else>& +Done! +<%define _countdown>& +<%endif>& +<%_countdown <%eval $1-1>>& +>& +<%countdown 10>& diff --git a/tests/expand/mpmd-10.md b/tests/expand/mpmd-10.md new file mode 100644 index 0000000..56dbb0e --- /dev/null +++ b/tests/expand/mpmd-10.md @@ -0,0 +1,3 @@ +<# partial user macro #> +<%defeval youtube <%include youtube.m>>& +<%youtube 7zIoLvbCCm8 420 315> diff --git a/tests/expand/mpmd-11.md b/tests/expand/mpmd-11.md new file mode 100644 index 0000000..c1acf00 --- /dev/null +++ b/tests/expand/mpmd-11.md @@ -0,0 +1,3 @@ +<# partial user macro #> +<%shortcode youtube>& +<%youtube 7zIoLvbCCm8 420 315> diff --git a/tests/expand/mpmd-12.md b/tests/expand/mpmd-12.md new file mode 100644 index 0000000..0e46bcd --- /dev/null +++ b/tests/expand/mpmd-12.md @@ -0,0 +1,2 @@ +<# partial user macro #> +<%partial youtube 7zIoLvbCCm8 420 315> diff --git a/tests/expand/mpmd-13.md b/tests/expand/mpmd-13.md new file mode 100644 index 0000000..d2e657d --- /dev/null +++ b/tests/expand/mpmd-13.md @@ -0,0 +1,4 @@ +<# skip section: XML comment #> +<%define MACRO Lorem Ipsum>& +<%MACRO> + diff --git a/tests/expand/mpmd-14.md b/tests/expand/mpmd-14.md new file mode 100644 index 0000000..82f4274 --- /dev/null +++ b/tests/expand/mpmd-14.md @@ -0,0 +1,6 @@ +<# skip section: code section #> +<%define MACRO Lorem Ipsum>& +<%MACRO> +``` +<%MACRO> +``` diff --git a/tests/expand/mpmd-15.md b/tests/expand/mpmd-15.md new file mode 100644 index 0000000..c01104b --- /dev/null +++ b/tests/expand/mpmd-15.md @@ -0,0 +1,6 @@ +<# skip section: code #> +<%define MACRO Lorem Ipsum>& +<%MACRO> +~~~ +<%MACRO> +~~~ diff --git a/tests/expected/expand-01.jqt b/tests/expected/expand-01.jqt deleted file mode 100644 index e69de29..0000000 diff --git a/tests/expected/expand-03.jqt b/tests/expected/expand-03.jqt deleted file mode 100644 index e69de29..0000000 diff --git a/tests/expected/expand-04.jqt b/tests/expected/expand-04.jqt deleted file mode 100644 index e69de29..0000000 diff --git a/tests/csv-01.sh b/tests/format/csv-01.sh similarity index 89% rename from tests/csv-01.sh rename to tests/format/csv-01.sh index b68f9de..bba7b33 100644 --- a/tests/csv-01.sh +++ b/tests/format/csv-01.sh @@ -5,8 +5,8 @@ set -o errexit -o pipefail -o nounset cd $(dirname $0) # Conversions -C2J=../bin/csv2json -J2C=../bin/json2csv +C2J=csv2json +J2C=json2csv # Slurp two files into variable jq --null-input --raw-output \ diff --git a/tests/csv-03.sh b/tests/format/csv-03.sh similarity index 87% rename from tests/csv-03.sh rename to tests/format/csv-03.sh index f0be613..dc29655 100644 --- a/tests/csv-03.sh +++ b/tests/format/csv-03.sh @@ -5,8 +5,8 @@ set -o errexit -o pipefail -o nounset cd $(dirname $0) # Conversions -CQ=../bin/cq -J2C=../bin/json2csv +CQ=cq +J2C=json2csv # Same result diff <(jq -s '.[1]' data/au.json | ${J2C}) \ diff --git a/tests/csv-04.sh b/tests/format/csv-04.sh similarity index 94% rename from tests/csv-04.sh rename to tests/format/csv-04.sh index a7ffe57..3d55d18 100644 --- a/tests/csv-04.sh +++ b/tests/format/csv-04.sh @@ -5,7 +5,7 @@ set -o errexit -o pipefail -o nounset cd $(dirname $0) # Query -CQ=../bin/cq +CQ=cq # Extract string (( $(${CQ} -J -r 'select(.city == "Hamel").post' data/au.csv) == 6215 )) diff --git a/tests/data/au.csv b/tests/format/data/au.csv similarity index 100% rename from tests/data/au.csv rename to tests/format/data/au.csv diff --git a/tests/data/au.json b/tests/format/data/au.json similarity index 100% rename from tests/data/au.json rename to tests/format/data/au.json diff --git a/tests/data/hardware.json b/tests/format/data/hardware.json similarity index 100% rename from tests/data/hardware.json rename to tests/format/data/hardware.json diff --git a/tests/data/person.json b/tests/format/data/person.json similarity index 100% rename from tests/data/person.json rename to tests/format/data/person.json diff --git a/tests/data/person.yaml b/tests/format/data/person.yaml similarity index 100% rename from tests/data/person.yaml rename to tests/format/data/person.yaml diff --git a/tests/data/store.json b/tests/format/data/store.json similarity index 100% rename from tests/data/store.json rename to tests/format/data/store.json diff --git a/tests/data/store.yaml b/tests/format/data/store.yaml similarity index 100% rename from tests/data/store.yaml rename to tests/format/data/store.yaml diff --git a/tests/yaml-01.sh b/tests/format/yaml-01.sh similarity index 89% rename from tests/yaml-01.sh rename to tests/format/yaml-01.sh index e4170bc..2d63ae2 100644 --- a/tests/yaml-01.sh +++ b/tests/format/yaml-01.sh @@ -5,8 +5,8 @@ set -o errexit -o pipefail -o nounset cd $(dirname $0) # Conversions -Y2J=../bin/yaml2json -J2Y=../bin/json2yaml +Y2J=yaml2json +J2Y=json2yaml # Slurp two files into variable jq --null-input --raw-output \ diff --git a/tests/yaml-02.sh b/tests/format/yaml-02.sh similarity index 88% rename from tests/yaml-02.sh rename to tests/format/yaml-02.sh index edcbb39..67bad49 100644 --- a/tests/yaml-02.sh +++ b/tests/format/yaml-02.sh @@ -5,8 +5,8 @@ set -o errexit -o pipefail -o nounset cd $(dirname $0) # Conversions -Y2J=../bin/yaml2json -J2Y=../bin/json2yaml +Y2J=yaml2json +J2Y=json2yaml # Slurp two files jq --slurp --raw-output \ diff --git a/tests/yaml-03.sh b/tests/format/yaml-03.sh similarity index 89% rename from tests/yaml-03.sh rename to tests/format/yaml-03.sh index 8499917..9fd741b 100644 --- a/tests/yaml-03.sh +++ b/tests/format/yaml-03.sh @@ -5,8 +5,8 @@ set -o errexit -o pipefail -o nounset cd $(dirname $0) # Conversions -J2Y=../bin/json2yaml -YQ=../bin/yq +J2Y=json2yaml +YQ=yq # Same result diff <(jq --sort-keys '.store.book[1]' data/store.json | ${J2Y}) \ diff --git a/tests/yaml-04.sh b/tests/format/yaml-04.sh similarity index 94% rename from tests/yaml-04.sh rename to tests/format/yaml-04.sh index bcc1b5d..2323563 100644 --- a/tests/yaml-04.sh +++ b/tests/format/yaml-04.sh @@ -5,7 +5,7 @@ set -o errexit -o pipefail -o nounset cd $(dirname $0) # Query -YQ=../bin/yq +YQ=yq # Extract string [[ $(${YQ} -J -r '.store.bicycle.color' data/store.yaml) == 'red' ]] diff --git a/tests/yaml-05.sh b/tests/format/yaml-05.sh similarity index 93% rename from tests/yaml-05.sh rename to tests/format/yaml-05.sh index b75b1d7..0e8840b 100644 --- a/tests/yaml-05.sh +++ b/tests/format/yaml-05.sh @@ -5,7 +5,7 @@ set -o errexit -o pipefail -o nounset cd $(dirname $0) # Conversions -Y2J=../bin/yaml2json +Y2J=yaml2json # Slurp two files jq --sort-keys --slurp --raw-output \ diff --git a/tests/cond-00.jqt b/tests/jqt/cond-00.jqt similarity index 100% rename from tests/cond-00.jqt rename to tests/jqt/cond-00.jqt diff --git a/tests/cond-00.json b/tests/jqt/cond-00.json similarity index 100% rename from tests/cond-00.json rename to tests/jqt/cond-00.json diff --git a/tests/cond-01.jqt b/tests/jqt/cond-01.jqt similarity index 100% rename from tests/cond-01.jqt rename to tests/jqt/cond-01.jqt diff --git a/tests/cond-01.json b/tests/jqt/cond-01.json similarity index 100% rename from tests/cond-01.json rename to tests/jqt/cond-01.json diff --git a/tests/cond-02.jqt b/tests/jqt/cond-02.jqt similarity index 100% rename from tests/cond-02.jqt rename to tests/jqt/cond-02.jqt diff --git a/tests/cond-03.jqt b/tests/jqt/cond-03.jqt similarity index 100% rename from tests/cond-03.jqt rename to tests/jqt/cond-03.jqt diff --git a/tests/cond-51.jqt b/tests/jqt/cond-51.jqt similarity index 100% rename from tests/cond-51.jqt rename to tests/jqt/cond-51.jqt diff --git a/tests/cond-51.json b/tests/jqt/cond-51.json similarity index 100% rename from tests/cond-51.json rename to tests/jqt/cond-51.json diff --git a/tests/expected/bloc-00.txt b/tests/jqt/expected/bloc-00.txt similarity index 99% rename from tests/expected/bloc-00.txt rename to tests/jqt/expected/bloc-00.txt index b1c6bf8..eedd63f 100644 --- a/tests/expected/bloc-00.txt +++ b/tests/jqt/expected/bloc-00.txt @@ -22,3 +22,4 @@ Values sorted as strings: ["10","12","14","2","4","6","8"] I expand to 'Neque porro quisquam' I expand to 'Neque porro quisquam' + diff --git a/tests/expected/cond-00.txt b/tests/jqt/expected/cond-00.txt similarity index 99% rename from tests/expected/cond-00.txt rename to tests/jqt/expected/cond-00.txt index c738255..e1254c0 100644 --- a/tests/expected/cond-00.txt +++ b/tests/jqt/expected/cond-00.txt @@ -16,3 +16,4 @@ I expand to 'Neque porro quisquam' else yes case else + diff --git a/tests/expected/cond-01.txt b/tests/jqt/expected/cond-01.txt similarity index 97% rename from tests/expected/cond-01.txt rename to tests/jqt/expected/cond-01.txt index 19a5c9f..8d7214e 100644 --- a/tests/expected/cond-01.txt +++ b/tests/jqt/expected/cond-01.txt @@ -1 +1,2 @@ + diff --git a/tests/expected/cond-02.txt b/tests/jqt/expected/cond-02.txt similarity index 94% rename from tests/expected/cond-02.txt rename to tests/jqt/expected/cond-02.txt index 49d8af9..ba09a46 100644 --- a/tests/expected/cond-02.txt +++ b/tests/jqt/expected/cond-02.txt @@ -1,3 +1,4 @@
yay
+ diff --git a/tests/expected/cond-03.txt b/tests/jqt/expected/cond-03.txt similarity index 94% rename from tests/expected/cond-03.txt rename to tests/jqt/expected/cond-03.txt index 49d8af9..ba09a46 100644 --- a/tests/expected/cond-03.txt +++ b/tests/jqt/expected/cond-03.txt @@ -1,3 +1,4 @@
yay
+ diff --git a/tests/expected/cond-51.txt b/tests/jqt/expected/cond-51.txt similarity index 97% rename from tests/expected/cond-51.txt rename to tests/jqt/expected/cond-51.txt index 34a3662..2b987c6 100644 --- a/tests/expected/cond-51.txt +++ b/tests/jqt/expected/cond-51.txt @@ -1 +1,2 @@ + diff --git a/tests/expected/expr-00.txt b/tests/jqt/expected/expr-00.txt similarity index 99% rename from tests/expected/expr-00.txt rename to tests/jqt/expected/expr-00.txt index 51ea19f..96f0d3a 100644 --- a/tests/expected/expr-00.txt +++ b/tests/jqt/expected/expr-00.txt @@ -101,3 +101,4 @@ Fibonacci(10): 34 Fibonacci(10): 34 ======================= + diff --git a/tests/expected/expr-01.txt b/tests/jqt/expected/expr-01.txt similarity index 97% rename from tests/expected/expr-01.txt rename to tests/jqt/expected/expr-01.txt index d8790ea..f1c8ae5 100644 --- a/tests/expected/expr-01.txt +++ b/tests/jqt/expected/expr-01.txt @@ -1 +1,2 @@ The value of pi is 3.14159265359. + diff --git a/tests/expected/expr-02.txt b/tests/jqt/expected/expr-02.txt similarity index 99% rename from tests/expected/expr-02.txt rename to tests/jqt/expected/expr-02.txt index 728375f..4b825bc 100644 --- a/tests/expected/expr-02.txt +++ b/tests/jqt/expected/expr-02.txt @@ -1,2 +1,3 @@ + diff --git a/tests/expected/expr-03.txt b/tests/jqt/expected/expr-03.txt similarity index 99% rename from tests/expected/expr-03.txt rename to tests/jqt/expected/expr-03.txt index 43f0146..c9e3eb2 100644 --- a/tests/expected/expr-03.txt +++ b/tests/jqt/expected/expr-03.txt @@ -2,3 +2,4 @@ Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit... + diff --git a/tests/expected/expr-51.txt b/tests/jqt/expected/expr-51.txt similarity index 97% rename from tests/expected/expr-51.txt rename to tests/jqt/expected/expr-51.txt index d8790ea..f1c8ae5 100644 --- a/tests/expected/expr-51.txt +++ b/tests/jqt/expected/expr-51.txt @@ -1 +1,2 @@ The value of pi is 3.14159265359. + diff --git a/tests/expected/expr-52.txt b/tests/jqt/expected/expr-52.txt similarity index 99% rename from tests/expected/expr-52.txt rename to tests/jqt/expected/expr-52.txt index b36f906..47eb73f 100644 --- a/tests/expected/expr-52.txt +++ b/tests/jqt/expected/expr-52.txt @@ -12,3 +12,4 @@ 6 + diff --git a/tests/expected/loop-00.txt b/tests/jqt/expected/loop-00.txt similarity index 98% rename from tests/expected/loop-00.txt rename to tests/jqt/expected/loop-00.txt index 6a50358..db819da 100644 --- a/tests/expected/loop-00.txt +++ b/tests/jqt/expected/loop-00.txt @@ -4,3 +4,4 @@ Looping blocks 2 lines 2 lines + diff --git a/tests/expected/loop-01.txt b/tests/jqt/expected/loop-01.txt similarity index 98% rename from tests/expected/loop-01.txt rename to tests/jqt/expected/loop-01.txt index d605314..010441c 100644 --- a/tests/expected/loop-01.txt +++ b/tests/jqt/expected/loop-01.txt @@ -1,2 +1,3 @@ + diff --git a/tests/expected/loop-51.txt b/tests/jqt/expected/loop-51.txt similarity index 98% rename from tests/expected/loop-51.txt rename to tests/jqt/expected/loop-51.txt index d605314..010441c 100644 --- a/tests/expected/loop-51.txt +++ b/tests/jqt/expected/loop-51.txt @@ -1,2 +1,3 @@ + diff --git a/tests/expected/loop-52.txt b/tests/jqt/expected/loop-52.txt similarity index 98% rename from tests/expected/loop-52.txt rename to tests/jqt/expected/loop-52.txt index 77e4ab9..561c0c2 100644 --- a/tests/expected/loop-52.txt +++ b/tests/jqt/expected/loop-52.txt @@ -4,3 +4,4 @@
  • 2
  • 3
  • + diff --git a/tests/expected/loop-53.txt b/tests/jqt/expected/loop-53.txt similarity index 88% rename from tests/expected/loop-53.txt rename to tests/jqt/expected/loop-53.txt index bc856da..5de74fa 100644 --- a/tests/expected/loop-53.txt +++ b/tests/jqt/expected/loop-53.txt @@ -2,3 +2,4 @@ 1 2 3 + diff --git a/tests/expected/macros-00.txt b/tests/jqt/expected/macros-00.txt similarity index 99% rename from tests/expected/macros-00.txt rename to tests/jqt/expected/macros-00.txt index 417164f..4f7a1a3 100644 --- a/tests/expected/macros-00.txt +++ b/tests/jqt/expected/macros-00.txt @@ -12,3 +12,4 @@ ga('send', 'pageview'); + diff --git a/tests/expected/syntax-00.txt b/tests/jqt/expected/syntax-00.txt similarity index 99% rename from tests/expected/syntax-00.txt rename to tests/jqt/expected/syntax-00.txt index ba20ea6..fc8ef13 100644 --- a/tests/expected/syntax-00.txt +++ b/tests/jqt/expected/syntax-00.txt @@ -47,3 +47,4 @@ raw {# comment #} ======================= + diff --git a/tests/expr-00.jqt b/tests/jqt/expr-00.jqt similarity index 100% rename from tests/expr-00.jqt rename to tests/jqt/expr-00.jqt diff --git a/tests/expr-00.json b/tests/jqt/expr-00.json similarity index 100% rename from tests/expr-00.json rename to tests/jqt/expr-00.json diff --git a/tests/expr-01.jqt b/tests/jqt/expr-01.jqt similarity index 100% rename from tests/expr-01.jqt rename to tests/jqt/expr-01.jqt diff --git a/tests/expr-01.json b/tests/jqt/expr-01.json similarity index 100% rename from tests/expr-01.json rename to tests/jqt/expr-01.json diff --git a/tests/expr-02.jqt b/tests/jqt/expr-02.jqt similarity index 100% rename from tests/expr-02.jqt rename to tests/jqt/expr-02.jqt diff --git a/tests/expr-02.json b/tests/jqt/expr-02.json similarity index 100% rename from tests/expr-02.json rename to tests/jqt/expr-02.json diff --git a/tests/expr-03.jqt b/tests/jqt/expr-03.jqt similarity index 100% rename from tests/expr-03.jqt rename to tests/jqt/expr-03.jqt diff --git a/tests/expr-03.json b/tests/jqt/expr-03.json similarity index 100% rename from tests/expr-03.json rename to tests/jqt/expr-03.json diff --git a/tests/expr-51.jqt b/tests/jqt/expr-51.jqt similarity index 100% rename from tests/expr-51.jqt rename to tests/jqt/expr-51.jqt diff --git a/tests/expr-51.json b/tests/jqt/expr-51.json similarity index 100% rename from tests/expr-51.json rename to tests/jqt/expr-51.json diff --git a/tests/expr-52.jqt b/tests/jqt/expr-52.jqt similarity index 100% rename from tests/expr-52.jqt rename to tests/jqt/expr-52.jqt diff --git a/tests/expr-52.json b/tests/jqt/expr-52.json similarity index 100% rename from tests/expr-52.json rename to tests/jqt/expr-52.json diff --git a/tests/filters/filters.jq b/tests/jqt/filters/filters.jq similarity index 100% rename from tests/filters/filters.jq rename to tests/jqt/filters/filters.jq diff --git a/tests/generated/.gitignore b/tests/jqt/generated/.gitignore similarity index 100% rename from tests/generated/.gitignore rename to tests/jqt/generated/.gitignore diff --git a/tests/loop-00.jqt b/tests/jqt/loop-00.jqt similarity index 100% rename from tests/loop-00.jqt rename to tests/jqt/loop-00.jqt diff --git a/tests/loop-00.json b/tests/jqt/loop-00.json similarity index 100% rename from tests/loop-00.json rename to tests/jqt/loop-00.json diff --git a/tests/loop-01.jqt b/tests/jqt/loop-01.jqt similarity index 100% rename from tests/loop-01.jqt rename to tests/jqt/loop-01.jqt diff --git a/tests/loop-01.json b/tests/jqt/loop-01.json similarity index 100% rename from tests/loop-01.json rename to tests/jqt/loop-01.json diff --git a/tests/loop-51.jqt b/tests/jqt/loop-51.jqt similarity index 100% rename from tests/loop-51.jqt rename to tests/jqt/loop-51.jqt diff --git a/tests/loop-51.json b/tests/jqt/loop-51.json similarity index 100% rename from tests/loop-51.json rename to tests/jqt/loop-51.json diff --git a/tests/loop-52.jqt b/tests/jqt/loop-52.jqt similarity index 100% rename from tests/loop-52.jqt rename to tests/jqt/loop-52.jqt diff --git a/tests/loop-52.json b/tests/jqt/loop-52.json similarity index 100% rename from tests/loop-52.json rename to tests/jqt/loop-52.json diff --git a/tests/loop-53.jqt b/tests/jqt/loop-53.jqt similarity index 100% rename from tests/loop-53.jqt rename to tests/jqt/loop-53.jqt diff --git a/tests/loop-53.json b/tests/jqt/loop-53.json similarity index 100% rename from tests/loop-53.json rename to tests/jqt/loop-53.json diff --git a/tests/macros-00.jqt b/tests/jqt/macros-00.jqt similarity index 100% rename from tests/macros-00.jqt rename to tests/jqt/macros-00.jqt diff --git a/tests/md-00.md b/tests/jqt/md-00.md similarity index 100% rename from tests/md-00.md rename to tests/jqt/md-00.md diff --git a/tests/md-01.md b/tests/jqt/md-01.md similarity index 100% rename from tests/md-01.md rename to tests/jqt/md-01.md diff --git a/tests/syntax-00.jqt b/tests/jqt/syntax-00.jqt similarity index 100% rename from tests/syntax-00.jqt rename to tests/jqt/syntax-00.jqt