diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml
index 9de1aa6259..6fc8b8095a 100644
--- a/.github/workflows/website.yml
+++ b/.github/workflows/website.yml
@@ -20,7 +20,7 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v4
with:
- python-version: '3.10'
+ python-version: '3.11'
cache: pipenv
- name: Install pipenv
run: pip install pipenv
diff --git a/Makefile.am b/Makefile.am
index c86454781f..c21cb250eb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -182,14 +182,10 @@ AM_CFLAGS += $(onig_CFLAGS)
### Packaging
-docs/site.yml: configure.ac
- sed 's/^jq_version: .*/jq_version: "$(VERSION)"/' $@ > $@.new
- mv $@.new $@
-
install-binaries: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) install-exec
-DOC_FILES = docs/content docs/public docs/templates docs/site.yml \
+DOC_FILES = docs/content docs/public docs/templates \
docs/Pipfile docs/Pipfile.lock docs/build_manpage.py \
docs/build_manpage.py docs/README.md jq.1.prebuilt
diff --git a/docs/Pipfile b/docs/Pipfile
index 24eaf57845..d13d70cfe6 100644
--- a/docs/Pipfile
+++ b/docs/Pipfile
@@ -9,4 +9,4 @@ verify_ssl = true
jinja2 = "*"
pyyaml = "*"
markdown = "*"
-lxml = "*"
\ No newline at end of file
+lxml = "*"
diff --git a/docs/Pipfile.lock b/docs/Pipfile.lock
index be126a4d79..833304d41e 100644
--- a/docs/Pipfile.lock
+++ b/docs/Pipfile.lock
@@ -14,160 +14,164 @@
]
},
"default": {
- "importlib-metadata": {
- "hashes": [
- "sha256:b618b6d2d5ffa2f16add5697cf57a46c76a56229b0ed1c438322e4e95645bd15",
- "sha256:f284b3e11256ad1e5d03ab86bb2ccd6f5339688ff17a4d797a0fe7df326f23b1"
- ],
- "markers": "python_version < '3.8'",
- "version": "==4.8.1"
- },
"jinja2": {
"hashes": [
- "sha256:827a0e32839ab1600d4eb1c4c33ec5a8edfbc5cb42dafa13b81f182f97784b45",
- "sha256:8569982d3f0889eed11dd620c706d39b60c36d6d25843961f33f77fb6bc6b20c"
+ "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852",
+ "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"
],
"index": "pypi",
- "version": "==3.0.2"
+ "version": "==3.1.2"
},
"lxml": {
"hashes": [
- "sha256:079f3ae844f38982d156efce585bc540c16a926d4436712cf4baee0cce487a3d",
- "sha256:0fbcf5565ac01dff87cbfc0ff323515c823081c5777a9fc7703ff58388c258c3",
- "sha256:122fba10466c7bd4178b07dba427aa516286b846b2cbd6f6169141917283aae2",
- "sha256:1b38116b6e628118dea5b2186ee6820ab138dbb1e24a13e478490c7db2f326ae",
- "sha256:1b7584d421d254ab86d4f0b13ec662a9014397678a7c4265a02a6d7c2b18a75f",
- "sha256:26e761ab5b07adf5f555ee82fb4bfc35bf93750499c6c7614bd64d12aaa67927",
- "sha256:289e9ca1a9287f08daaf796d96e06cb2bc2958891d7911ac7cae1c5f9e1e0ee3",
- "sha256:2a9d50e69aac3ebee695424f7dbd7b8c6d6eb7de2a2eb6b0f6c7db6aa41e02b7",
- "sha256:3082c518be8e97324390614dacd041bb1358c882d77108ca1957ba47738d9d59",
- "sha256:33bb934a044cf32157c12bfcfbb6649807da20aa92c062ef51903415c704704f",
- "sha256:3439c71103ef0e904ea0a1901611863e51f50b5cd5e8654a151740fde5e1cade",
- "sha256:36108c73739985979bf302006527cf8a20515ce444ba916281d1c43938b8bb96",
- "sha256:39b78571b3b30645ac77b95f7c69d1bffc4cf8c3b157c435a34da72e78c82468",
- "sha256:4289728b5e2000a4ad4ab8da6e1db2e093c63c08bdc0414799ee776a3f78da4b",
- "sha256:4bff24dfeea62f2e56f5bab929b4428ae6caba2d1eea0c2d6eb618e30a71e6d4",
- "sha256:4c61b3a0db43a1607d6264166b230438f85bfed02e8cff20c22e564d0faff354",
- "sha256:542d454665a3e277f76954418124d67516c5f88e51a900365ed54a9806122b83",
- "sha256:5a0a14e264069c03e46f926be0d8919f4105c1623d620e7ec0e612a2e9bf1c04",
- "sha256:5c8c163396cc0df3fd151b927e74f6e4acd67160d6c33304e805b84293351d16",
- "sha256:64812391546a18896adaa86c77c59a4998f33c24788cadc35789e55b727a37f4",
- "sha256:66e575c62792c3f9ca47cb8b6fab9e35bab91360c783d1606f758761810c9791",
- "sha256:6f12e1427285008fd32a6025e38e977d44d6382cf28e7201ed10d6c1698d2a9a",
- "sha256:74f7d8d439b18fa4c385f3f5dfd11144bb87c1da034a466c5b5577d23a1d9b51",
- "sha256:7610b8c31688f0b1be0ef882889817939490a36d0ee880ea562a4e1399c447a1",
- "sha256:76fa7b1362d19f8fbd3e75fe2fb7c79359b0af8747e6f7141c338f0bee2f871a",
- "sha256:7728e05c35412ba36d3e9795ae8995e3c86958179c9770e65558ec3fdfd3724f",
- "sha256:8157dadbb09a34a6bd95a50690595e1fa0af1a99445e2744110e3dca7831c4ee",
- "sha256:820628b7b3135403540202e60551e741f9b6d3304371712521be939470b454ec",
- "sha256:884ab9b29feaca361f7f88d811b1eea9bfca36cf3da27768d28ad45c3ee6f969",
- "sha256:89b8b22a5ff72d89d48d0e62abb14340d9e99fd637d046c27b8b257a01ffbe28",
- "sha256:92e821e43ad382332eade6812e298dc9701c75fe289f2a2d39c7960b43d1e92a",
- "sha256:b007cbb845b28db4fb8b6a5cdcbf65bacb16a8bd328b53cbc0698688a68e1caa",
- "sha256:bc4313cbeb0e7a416a488d72f9680fffffc645f8a838bd2193809881c67dd106",
- "sha256:bccbfc27563652de7dc9bdc595cb25e90b59c5f8e23e806ed0fd623755b6565d",
- "sha256:c1a40c06fd5ba37ad39caa0b3144eb3772e813b5fb5b084198a985431c2f1e8d",
- "sha256:c47ff7e0a36d4efac9fd692cfa33fbd0636674c102e9e8d9b26e1b93a94e7617",
- "sha256:c4f05c5a7c49d2fb70223d0d5bcfbe474cf928310ac9fa6a7c6dddc831d0b1d4",
- "sha256:cdaf11d2bd275bf391b5308f86731e5194a21af45fbaaaf1d9e8147b9160ea92",
- "sha256:ce256aaa50f6cc9a649c51be3cd4ff142d67295bfc4f490c9134d0f9f6d58ef0",
- "sha256:d2e35d7bf1c1ac8c538f88d26b396e73dd81440d59c1ef8522e1ea77b345ede4",
- "sha256:d916d31fd85b2f78c76400d625076d9124de3e4bda8b016d25a050cc7d603f24",
- "sha256:df7c53783a46febb0e70f6b05df2ba104610f2fb0d27023409734a3ecbb78fb2",
- "sha256:e1cbd3f19a61e27e011e02f9600837b921ac661f0c40560eefb366e4e4fb275e",
- "sha256:efac139c3f0bf4f0939f9375af4b02c5ad83a622de52d6dfa8e438e8e01d0eb0",
- "sha256:efd7a09678fd8b53117f6bae4fa3825e0a22b03ef0a932e070c0bdbb3a35e654",
- "sha256:f2380a6376dfa090227b663f9678150ef27543483055cc327555fb592c5967e2",
- "sha256:f8380c03e45cf09f8557bdaa41e1fa7c81f3ae22828e1db470ab2a6c96d8bc23",
- "sha256:f90ba11136bfdd25cae3951af8da2e95121c9b9b93727b1b896e3fa105b2f586"
+ "sha256:01d36c05f4afb8f7c20fd9ed5badca32a2029b93b1750f571ccc0b142531caf7",
+ "sha256:04876580c050a8c5341d706dd464ff04fd597095cc8c023252566a8826505726",
+ "sha256:05ca3f6abf5cf78fe053da9b1166e062ade3fa5d4f92b4ed688127ea7d7b1d03",
+ "sha256:090c6543d3696cbe15b4ac6e175e576bcc3f1ccfbba970061b7300b0c15a2140",
+ "sha256:0dc313ef231edf866912e9d8f5a042ddab56c752619e92dfd3a2c277e6a7299a",
+ "sha256:0f2b1e0d79180f344ff9f321327b005ca043a50ece8713de61d1cb383fb8ac05",
+ "sha256:13598ecfbd2e86ea7ae45ec28a2a54fb87ee9b9fdb0f6d343297d8e548392c03",
+ "sha256:16efd54337136e8cd72fb9485c368d91d77a47ee2d42b057564aae201257d419",
+ "sha256:1ab8f1f932e8f82355e75dda5413a57612c6ea448069d4fb2e217e9a4bed13d4",
+ "sha256:223f4232855ade399bd409331e6ca70fb5578efef22cf4069a6090acc0f53c0e",
+ "sha256:2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67",
+ "sha256:2899456259589aa38bfb018c364d6ae7b53c5c22d8e27d0ec7609c2a1ff78b50",
+ "sha256:2a29ba94d065945944016b6b74e538bdb1751a1db6ffb80c9d3c2e40d6fa9894",
+ "sha256:2a87fa548561d2f4643c99cd13131acb607ddabb70682dcf1dff5f71f781a4bf",
+ "sha256:2e430cd2824f05f2d4f687701144556646bae8f249fd60aa1e4c768ba7018947",
+ "sha256:36c3c175d34652a35475a73762b545f4527aec044910a651d2bf50de9c3352b1",
+ "sha256:3818b8e2c4b5148567e1b09ce739006acfaa44ce3156f8cbbc11062994b8e8dd",
+ "sha256:3ab9fa9d6dc2a7f29d7affdf3edebf6ece6fb28a6d80b14c3b2fb9d39b9322c3",
+ "sha256:3efea981d956a6f7173b4659849f55081867cf897e719f57383698af6f618a92",
+ "sha256:4c8f293f14abc8fd3e8e01c5bd86e6ed0b6ef71936ded5bf10fe7a5efefbaca3",
+ "sha256:5344a43228767f53a9df6e5b253f8cdca7dfc7b7aeae52551958192f56d98457",
+ "sha256:58bfa3aa19ca4c0f28c5dde0ff56c520fbac6f0daf4fac66ed4c8d2fb7f22e74",
+ "sha256:5b4545b8a40478183ac06c073e81a5ce4cf01bf1734962577cf2bb569a5b3bbf",
+ "sha256:5f50a1c177e2fa3ee0667a5ab79fdc6b23086bc8b589d90b93b4bd17eb0e64d1",
+ "sha256:63da2ccc0857c311d764e7d3d90f429c252e83b52d1f8f1d1fe55be26827d1f4",
+ "sha256:6749649eecd6a9871cae297bffa4ee76f90b4504a2a2ab528d9ebe912b101975",
+ "sha256:6804daeb7ef69e7b36f76caddb85cccd63d0c56dedb47555d2fc969e2af6a1a5",
+ "sha256:689bb688a1db722485e4610a503e3e9210dcc20c520b45ac8f7533c837be76fe",
+ "sha256:699a9af7dffaf67deeae27b2112aa06b41c370d5e7633e0ee0aea2e0b6c211f7",
+ "sha256:6b418afe5df18233fc6b6093deb82a32895b6bb0b1155c2cdb05203f583053f1",
+ "sha256:76cf573e5a365e790396a5cc2b909812633409306c6531a6877c59061e42c4f2",
+ "sha256:7b515674acfdcadb0eb5d00d8a709868173acece5cb0be3dd165950cbfdf5409",
+ "sha256:7b770ed79542ed52c519119473898198761d78beb24b107acf3ad65deae61f1f",
+ "sha256:7d2278d59425777cfcb19735018d897ca8303abe67cc735f9f97177ceff8027f",
+ "sha256:7e91ee82f4199af8c43d8158024cbdff3d931df350252288f0d4ce656df7f3b5",
+ "sha256:821b7f59b99551c69c85a6039c65b75f5683bdc63270fec660f75da67469ca24",
+ "sha256:822068f85e12a6e292803e112ab876bc03ed1f03dddb80154c395f891ca6b31e",
+ "sha256:8340225bd5e7a701c0fa98284c849c9b9fc9238abf53a0ebd90900f25d39a4e4",
+ "sha256:85cabf64adec449132e55616e7ca3e1000ab449d1d0f9d7f83146ed5bdcb6d8a",
+ "sha256:880bbbcbe2fca64e2f4d8e04db47bcdf504936fa2b33933efd945e1b429bea8c",
+ "sha256:8d0b4612b66ff5d62d03bcaa043bb018f74dfea51184e53f067e6fdcba4bd8de",
+ "sha256:8e20cb5a47247e383cf4ff523205060991021233ebd6f924bca927fcf25cf86f",
+ "sha256:925073b2fe14ab9b87e73f9a5fde6ce6392da430f3004d8b72cc86f746f5163b",
+ "sha256:998c7c41910666d2976928c38ea96a70d1aa43be6fe502f21a651e17483a43c5",
+ "sha256:9b22c5c66f67ae00c0199f6055705bc3eb3fcb08d03d2ec4059a2b1b25ed48d7",
+ "sha256:9f102706d0ca011de571de32c3247c6476b55bb6bc65a20f682f000b07a4852a",
+ "sha256:a08cff61517ee26cb56f1e949cca38caabe9ea9fbb4b1e10a805dc39844b7d5c",
+ "sha256:a0a336d6d3e8b234a3aae3c674873d8f0e720b76bc1d9416866c41cd9500ffb9",
+ "sha256:a35f8b7fa99f90dd2f5dc5a9fa12332642f087a7641289ca6c40d6e1a2637d8e",
+ "sha256:a38486985ca49cfa574a507e7a2215c0c780fd1778bb6290c21193b7211702ab",
+ "sha256:a5da296eb617d18e497bcf0a5c528f5d3b18dadb3619fbdadf4ed2356ef8d941",
+ "sha256:a6e441a86553c310258aca15d1c05903aaf4965b23f3bc2d55f200804e005ee5",
+ "sha256:a82d05da00a58b8e4c0008edbc8a4b6ec5a4bc1e2ee0fb6ed157cf634ed7fa45",
+ "sha256:ab323679b8b3030000f2be63e22cdeea5b47ee0abd2d6a1dc0c8103ddaa56cd7",
+ "sha256:b1f42b6921d0e81b1bcb5e395bc091a70f41c4d4e55ba99c6da2b31626c44892",
+ "sha256:b23e19989c355ca854276178a0463951a653309fb8e57ce674497f2d9f208746",
+ "sha256:b264171e3143d842ded311b7dccd46ff9ef34247129ff5bf5066123c55c2431c",
+ "sha256:b26a29f0b7fc6f0897f043ca366142d2b609dc60756ee6e4e90b5f762c6adc53",
+ "sha256:b64d891da92e232c36976c80ed7ebb383e3f148489796d8d31a5b6a677825efe",
+ "sha256:b9cc34af337a97d470040f99ba4282f6e6bac88407d021688a5d585e44a23184",
+ "sha256:bc718cd47b765e790eecb74d044cc8d37d58562f6c314ee9484df26276d36a38",
+ "sha256:be7292c55101e22f2a3d4d8913944cbea71eea90792bf914add27454a13905df",
+ "sha256:c83203addf554215463b59f6399835201999b5e48019dc17f182ed5ad87205c9",
+ "sha256:c9ec3eaf616d67db0764b3bb983962b4f385a1f08304fd30c7283954e6a7869b",
+ "sha256:ca34efc80a29351897e18888c71c6aca4a359247c87e0b1c7ada14f0ab0c0fb2",
+ "sha256:ca989b91cf3a3ba28930a9fc1e9aeafc2a395448641df1f387a2d394638943b0",
+ "sha256:d02a5399126a53492415d4906ab0ad0375a5456cc05c3fc0fc4ca11771745cda",
+ "sha256:d17bc7c2ccf49c478c5bdd447594e82692c74222698cfc9b5daae7ae7e90743b",
+ "sha256:d5bf6545cd27aaa8a13033ce56354ed9e25ab0e4ac3b5392b763d8d04b08e0c5",
+ "sha256:d6b430a9938a5a5d85fc107d852262ddcd48602c120e3dbb02137c83d212b380",
+ "sha256:da248f93f0418a9e9d94b0080d7ebc407a9a5e6d0b57bb30db9b5cc28de1ad33",
+ "sha256:da4dd7c9c50c059aba52b3524f84d7de956f7fef88f0bafcf4ad7dde94a064e8",
+ "sha256:df0623dcf9668ad0445e0558a21211d4e9a149ea8f5666917c8eeec515f0a6d1",
+ "sha256:e5168986b90a8d1f2f9dc1b841467c74221bd752537b99761a93d2d981e04889",
+ "sha256:efa29c2fe6b4fdd32e8ef81c1528506895eca86e1d8c4657fda04c9b3786ddf9",
+ "sha256:f1496ea22ca2c830cbcbd473de8f114a320da308438ae65abad6bab7867fe38f",
+ "sha256:f49e52d174375a7def9915c9f06ec4e569d235ad428f70751765f48d5926678c"
],
"index": "pypi",
- "version": "==4.6.3"
+ "version": "==4.9.2"
},
"markdown": {
"hashes": [
- "sha256:31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49",
- "sha256:96c3ba1261de2f7547b46a00ea8463832c921d3f9d6aba3f255a6f71386db20c"
+ "sha256:065fd4df22da73a625f14890dd77eb8040edcbd68794bcd35943be14490608b2",
+ "sha256:8bf101198e004dc93e84a12a7395e31aac6a9c9942848ae1d99b9d72cf9b3520"
],
"index": "pypi",
- "version": "==3.3.4"
+ "version": "==3.4.3"
},
"markupsafe": {
"hashes": [
- "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298",
- "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64",
- "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b",
- "sha256:04635854b943835a6ea959e948d19dcd311762c5c0c6e1f0e16ee57022669194",
- "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567",
- "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff",
- "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724",
- "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74",
- "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646",
- "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35",
- "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6",
- "sha256:20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a",
- "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6",
- "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad",
- "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26",
- "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38",
- "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac",
- "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7",
- "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6",
- "sha256:4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047",
- "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75",
- "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f",
- "sha256:4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b",
- "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135",
- "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8",
- "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a",
- "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a",
- "sha256:5b6d930f030f8ed98e3e6c98ffa0652bdb82601e7a016ec2ab5d7ff23baa78d1",
- "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9",
- "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864",
- "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914",
- "sha256:6300b8454aa6930a24b9618fbb54b5a68135092bc666f7b06901f897fa5c2fee",
- "sha256:63f3268ba69ace99cab4e3e3b5840b03340efed0948ab8f78d2fd87ee5442a4f",
- "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18",
- "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8",
- "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2",
- "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d",
- "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b",
- "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b",
- "sha256:89c687013cb1cd489a0f0ac24febe8c7a666e6e221b783e53ac50ebf68e45d86",
- "sha256:8d206346619592c6200148b01a2142798c989edcb9c896f9ac9722a99d4e77e6",
- "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f",
- "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb",
- "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833",
- "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28",
- "sha256:9f02365d4e99430a12647f09b6cc8bab61a6564363f313126f775eb4f6ef798e",
- "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415",
- "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902",
- "sha256:aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f",
- "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d",
- "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9",
- "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d",
- "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145",
- "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066",
- "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c",
- "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1",
- "sha256:cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a",
- "sha256:d6c7ebd4e944c85e2c3421e612a7057a2f48d478d79e61800d81468a8d842207",
- "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f",
- "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53",
- "sha256:deb993cacb280823246a026e3b2d81c493c53de6acfd5e6bfe31ab3402bb37dd",
- "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134",
- "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85",
- "sha256:f0567c4dc99f264f49fe27da5f735f414c4e7e7dd850cfd8e69f0862d7c74ea9",
- "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5",
- "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94",
- "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509",
- "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51",
- "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"
+ "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e",
+ "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e",
+ "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431",
+ "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686",
+ "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559",
+ "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc",
+ "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c",
+ "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0",
+ "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4",
+ "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9",
+ "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575",
+ "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba",
+ "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d",
+ "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3",
+ "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00",
+ "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155",
+ "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac",
+ "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52",
+ "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f",
+ "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8",
+ "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b",
+ "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24",
+ "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea",
+ "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198",
+ "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0",
+ "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee",
+ "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be",
+ "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2",
+ "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707",
+ "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6",
+ "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58",
+ "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779",
+ "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636",
+ "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c",
+ "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad",
+ "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee",
+ "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc",
+ "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2",
+ "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48",
+ "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7",
+ "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e",
+ "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b",
+ "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa",
+ "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5",
+ "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e",
+ "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb",
+ "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9",
+ "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57",
+ "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc",
+ "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"
],
- "version": "==2.0.1"
+ "markers": "python_version >= '3.7'",
+ "version": "==2.1.3"
},
"pyyaml": {
"hashes": [
+ "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf",
"sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293",
"sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b",
"sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57",
@@ -179,47 +183,37 @@
"sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287",
"sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513",
"sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0",
+ "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782",
"sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0",
"sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92",
"sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f",
"sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2",
"sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc",
+ "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1",
"sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c",
"sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86",
"sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4",
"sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c",
"sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34",
"sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b",
+ "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d",
"sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c",
"sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb",
+ "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7",
"sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737",
"sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3",
"sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d",
+ "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358",
"sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53",
"sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78",
"sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803",
"sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a",
+ "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f",
"sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174",
"sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"
],
"index": "pypi",
"version": "==6.0"
- },
- "typing-extensions": {
- "hashes": [
- "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e",
- "sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7",
- "sha256:f1d25edafde516b146ecd0613dabcc61409817af4766fbbcfb8d1ad4ec441a34"
- ],
- "markers": "python_version < '3.8'",
- "version": "==3.10.0.2"
- },
- "zipp": {
- "hashes": [
- "sha256:71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832",
- "sha256:9fe5ea21568a0a70e50f273397638d39b03353731e6cbbb3fd8502a33fec40bc"
- ],
- "version": "==3.6.0"
}
},
"develop": {}
diff --git a/docs/build_manpage.py b/docs/build_manpage.py
index fd2ece4d3c..4f227b2369 100755
--- a/docs/build_manpage.py
+++ b/docs/build_manpage.py
@@ -12,9 +12,9 @@
# Prevent our markdown parser from trying to help by interpreting things in angle brackets as HTML tags.
class EscapeHtml(Extension):
- def extendMarkdown(self, md, md_globals):
- del md.preprocessors['html_block']
- del md.inlinePatterns['html']
+ def extendMarkdown(self, md):
+ md.preprocessors.deregister('html_block')
+ md.inlinePatterns.deregister('html')
class RoffWalker(object):
diff --git a/docs/build_website.py b/docs/build_website.py
index 75e6b8e629..7aa5f79c95 100755
--- a/docs/build_website.py
+++ b/docs/build_website.py
@@ -1,8 +1,9 @@
#!/usr/bin/env python3
import glob
import itertools
-from jinja2 import Environment, FileSystemLoader, Markup, select_autoescape, contextfunction
+from jinja2 import Environment, FileSystemLoader, select_autoescape, pass_context
from markdown import markdown
+from markupsafe import Markup
import os
import os.path
import re
@@ -20,40 +21,44 @@ def load_yml_file(fn):
return yaml.safe_load(f)
+env.globals['url'] = 'https://jqlang.github.io/jq'
+env.globals['root'] = '/jq'
+
env.filters['search_id'] = lambda input: input.replace(r'`', '')
-env.filters['section_id'] = lambda input: re.sub(r"[^a-zA-Z0-9_]", '', input)
-env.filters['entry_id'] = lambda input: re.sub(r"[ `]", '', input)
+env.filters['section_id'] = lambda input: re.sub(
+ r'[^-a-zA-Z0-9_]', '', input.replace(' ', '-')).lower()
+env.filters['entry_id'] = lambda input: re.sub(
+ r'^(split|first-last-nth)$',
+ r'\1' + ('-1' if ';' not in input else '-2'), # avoid id conflict
+ re.sub(
+ r'\b([^-]+)(?:-\1)+\b',
+ r'\1', # e.g. range-range-range -> range
+ re.sub(r' ?/ ?|,? ', '-', re.sub(r'`|: .*|\(.*?\)', '', input)))
+).lower()
env.filters['markdownify'] = lambda input: Markup(markdown(input))
-env.filters['no_paragraph'] = lambda input: Markup(re.sub(r"?p>", '', input))
+env.filters['no_paragraph'] = lambda input: Markup(re.sub(r'?p>', '', input))
-env.globals['unique_id'] = contextfunction(
+env.globals['unique_id'] = pass_context(
lambda ctx: str(next(ctx['unique_ctr'])))
-env.globals.update(load_yml_file('site.yml'))
-
-env.globals['navigation'] = ['tutorial', 'download', 'manual']
-
-def generate_file(env, fname='content/1.tutorial/default.yml'):
+def generate_file(env, fname):
path, base = os.path.split(fname)
path = os.path.relpath(path, 'content')
if path == '.':
path = ''
- slug = 'index'
permalink = ''
else:
- slug = os.path.basename(path)
permalink = path + '/'
output_dir = os.path.join('output', path)
output_path = os.path.join(output_dir, 'index.html')
- template_name = re.sub(r".yml$", '.html.j2', base)
+ template_name = re.sub(r'.yml$', '.html.j2', base)
ctx = load_yml_file(fname)
ctx.update(unique_ctr=itertools.count(1),
permalink=permalink,
- slug=slug,
navitem=path)
os.makedirs(output_dir, exist_ok=True)
env.get_template(template_name).stream(ctx).dump(output_path,
diff --git a/docs/content/download/default.yml b/docs/content/download/default.yml
index d1531600f4..35a3d95789 100644
--- a/docs/content/download/default.yml
+++ b/docs/content/download/default.yml
@@ -191,7 +191,7 @@ body:
jq's documentation is compiled into static HTML using Python.
To build the docs, run `pipenv run python3 build_website.py` from
the docs/ subdirectory. To serve them locally, you can run
- `python3 -m SimpleHTTPServer`. You'll need a few Python dependencies,
+ `python3 -m http.server`. You'll need a few Python dependencies,
which can be installed by following the instructions in `docs/README.md`.
The man page is built by `make jq.1`, or just `make`, also from
diff --git a/docs/public/css/base.css b/docs/public/css/base.css
deleted file mode 100644
index e9bb818dc6..0000000000
--- a/docs/public/css/base.css
+++ /dev/null
@@ -1,173 +0,0 @@
-body {
- padding-top: 80px;
-}
-
-.container {
- max-width: 970px;
-}
-
-/* index.liquid *******************************************/
-#blurb {
- padding-top: 40px;
-}
-#blurb p {
- font-size: 1.9em;
-}
-#blurb .btn-group {
- margin: 4px;
-}
-
-#multiblurb {
- line-height: 1.7;
- text-align: center;
- font-size: 12pt;
-}
-#multiblurb code {
- border: 0;
- font-size: 12pt;
-}
-
-#news {
- font-size: 12pt;
-}
-#news .date {
- font-style: italic;
-}
-
-/* default.liquid *****************************************/
-.tutorial-example {
- position: relative;
- margin-bottom: 10px;
-}
-.tutorial-example pre {
- margin-bottom: 0px;
-}
-.tutorial-example a {
- position: absolute;
- top: 0px;
- right: 0px;
- padding: 15px 8px;
- color: #777777;
- font-weight: bold;
- line-height: 10px;
- font-size: 12px;
- border-left: 1px solid #DDDDDD;
- display: block;
-}
-.tutorial-example .accordion-body pre {
- margin: 0 4px;
- border-top: 0;
- border-top-left-radius: 0;
- border-top-right-radius: 0;
-}
-
-@media print {
- .tutorial-example a {
- display: none;
- }
-}
-/* manual.liquid ******************************************/
-section {
- padding-top: 24px;
-}
-
-h3 code {
- border: 0;
- font-size: 20px;
-}
-
-@media (max-width: 991px) {
- #navcolumn {
- /* Put nav column above manual content */
- position: relative !important;
- margin-bottom: 60px;
- }
-}
-@media (min-width: 992px) {
- #manualcontent {
- /* Put nav column left of manual content */
- padding-left: 280px;
- }
-}
-.nav-pills {
- margin-bottom: 20px;
-}
- .nav-pills li a {
- padding: 8px 12px;
-}
-
-.manual-example table {
- border-top: 1px solid #E5E5E5;
-}
-.manual-example table td {
- white-space: pre-wrap;
- font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
-}
-.manual-example table td.jqprogram {
- font-weight: bold;
-}
-.manual-example table th {
- text-align: right;
- padding-right: 10px;
-}
-
-@media print {
- #navcolumn {
- display: none !important;
- }
-
- .manual-example {
- display: block !important;
- height: auto !important;
- }
-
- .jqplay-btn {
- display: none !important;
- }
-}
-/* shared/_footer.liquid **********************************/
-footer {
- background-color: #F5F5F5;
- padding: 20px 0;
- margin-top: 40px;
- color: #999999;
- text-align: center;
-}
-footer p {
- margin: 8px 0;
-}
-
-/* typeahead **********************************************/
-.twitter-typeahead {
- width: 100%;
-}
-
-.tt-menu {
- width: 100%;
- background-color: #fff;
- padding: 8px 0;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.2);
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- border-radius: 8px;
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-}
-
-.tt-suggestion {
- padding: 3px 20px;
-}
-.tt-suggestion:hover {
- cursor: pointer;
- color: #fff;
- background-color: #446e9b;
-}
-.tt-suggestion.tt-cursor {
- color: #fff;
- background-color: #446e9b;
-}
-.tt-suggestion p {
- margin: 0;
-}
diff --git a/docs/public/css/base.scss b/docs/public/css/base.scss
deleted file mode 100644
index ffef3de440..0000000000
--- a/docs/public/css/base.scss
+++ /dev/null
@@ -1,181 +0,0 @@
-@charset "utf-8";
-body {
- padding-top: 80px;
-}
-
-.container {
- max-width: 970px;
-}
-
-/* index.liquid *******************************************/
-
-#blurb {
- padding-top: 40px;
- p {
- font-size: 1.9em;
- }
- .btn-group {
- margin: 4px;
- }
-}
-
-#multiblurb {
- line-height: 1.7;
- text-align: center;
- font-size: 12pt;
- code {
- border: 0;
- font-size: 12pt;
- }
-}
-
-#news {
- font-size: 12pt;
- .date {
- font-style: italic;
- }
-}
-
-/* default.liquid *****************************************/
-
-.tutorial-example {
- position: relative;
- margin-bottom: 10px;
- pre {
- margin-bottom: 0px;
- }
- a {
- position: absolute;
- top: 0px;
- right: 0px;
- padding: 15px 8px;
- color: #777777;
- font-weight: bold;
- line-height: 10px;
- font-size: 12px;
- border-left: 1px solid #DDDDDD;
- display: block;
- }
- .accordion-body pre {
- margin: 0 4px;
- border-top: 0;
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- }
-}
-
-@media print {
- .tutorial-example a {
- display: none;
- }
-}
-
-/* manual.liquid ******************************************/
-
-section {
- padding-top: 24px;
-}
-
-h3 code {
- border: 0;
- font-size: 20px;
-}
-
-@media(max-width: 991px){
- #navcolumn {
- /* Put nav column above manual content */
- position: relative !important;
- margin-bottom: 60px;
- }
-}
-
-@media(min-width: 992px) {
- #manualcontent {
- /* Put nav column left of manual content */
- padding-left: 280px;
- }
-}
-
-.nav-pills {
- li a {
- padding: 8px 12px;
- }
- margin-bottom: 20px;
-}
-
-.manual-example table {
- border-top: 1px solid #E5E5E5;
- td {
- white-space: pre-wrap;
- font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
- }
- td.jqprogram {
- font-weight: bold;
- }
- th {
- text-align: right;
- padding-right: 10px;
- }
-}
-
-@media print {
- #navcolumn {
- display: none !important;
- }
- .manual-example {
- display: block !important;
- height: auto !important;
- }
- .jqplay-btn {
- display: none !important;
- }
-}
-
-/* shared/_footer.liquid **********************************/
-
-footer {
- background-color: #F5F5F5;
- padding: 20px 0;
- margin-top: 40px;
- color: #999999;
- text-align: center;
- p {
- margin: 8px 0;
- }
-}
-
-/* typeahead **********************************************/
-
-.twitter-typeahead {
- width: 100%;
-}
-
-.tt-menu {
- width: 100%;
- background-color: #fff;
- padding: 8px 0;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.2);
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- border-radius: 8px;
- -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
- -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
- box-shadow: 0 5px 10px rgba(0,0,0,.2);
-}
-
-.tt-suggestion {
- padding: 3px 20px;
- &:hover {
- cursor: pointer;
- color: #fff;
- background-color: #446e9b;
- }
- &.tt-cursor {
- color: #fff;
- background-color: #446e9b;
- }
- p {
- margin: 0;
- }
-}
diff --git a/docs/public/css/style.css b/docs/public/css/style.css
new file mode 100644
index 0000000000..c6a1a40098
--- /dev/null
+++ b/docs/public/css/style.css
@@ -0,0 +1,102 @@
+main {
+ padding: 1rem;
+
+ & * {
+ scroll-margin-top: 4rem;
+ }
+
+ @media print {
+ width: 100%!important;
+ --bs-code-color: --bs-body-color;
+ }
+}
+
+header {
+ z-index: 1050!important; /* higher than #contents */
+}
+
+section[id] {
+ display: flow-root;
+
+ > :first-child {
+ .icon-link {
+ opacity: 0;
+
+ &:focus {
+ opacity: .8;
+ }
+ }
+
+ &:hover .icon-link {
+ opacity: 1;
+ }
+ }
+}
+
+.offcanvas[aria-modal=true] .nav-link {
+ padding: .7rem;
+}
+.offcanvas-md {
+ --bs-offcanvas-width: auto;
+}
+
+ul {
+ list-style: none;
+ padding-left: 1rem;
+}
+
+pre {
+ margin: 0 .5rem 1rem;
+ padding: .5rem 1rem;
+ background-color: var(--bs-secondary-bg-subtle);
+ border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
+}
+
+button{
+ &[aria-expanded=false] .bi-chevron-down {
+ display: none;
+ }
+
+ &[aria-expanded=true] .bi-chevron-right {
+ display: none;
+ }
+}
+
+mark {
+ padding: 0;
+}
+
+.container-searchbox {
+ position: relative;
+ display: inline-block;
+
+ & input:focus ~ kbd {
+ display: none;
+ }
+
+ & ul {
+ position: absolute;
+ overflow-y: scroll;
+ box-sizing: border-box;
+ width: 100%;
+ top: 100%;
+ padding: 0;
+ background-color: var(--bs-body-bg);
+ border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
+ }
+
+ & li {
+ padding: .3em .6em;
+ white-space: nowrap;
+ overflow-x: hidden;
+
+ &[aria-selected=true] {
+ background-color: var(--bs-secondary-bg);
+ }
+
+ &:hover {
+ cursor: pointer;
+ background-color: var(--bs-secondary-bg-subtle);
+ }
+ }
+}
diff --git a/docs/public/icon.png b/docs/public/icon.png
new file mode 100644
index 0000000000..cfdc8ecda9
Binary files /dev/null and b/docs/public/icon.png differ
diff --git a/docs/public/icon.svg b/docs/public/icon.svg
new file mode 100644
index 0000000000..1f518f047f
--- /dev/null
+++ b/docs/public/icon.svg
@@ -0,0 +1 @@
+
diff --git a/docs/public/jq.png b/docs/public/jq.png
deleted file mode 100644
index 41d6d391db..0000000000
Binary files a/docs/public/jq.png and /dev/null differ
diff --git a/docs/public/jq.svg b/docs/public/jq.svg
new file mode 100644
index 0000000000..1f9e2ddf6d
--- /dev/null
+++ b/docs/public/jq.svg
@@ -0,0 +1 @@
+
diff --git a/docs/public/js/manual-search.js b/docs/public/js/manual-search.js
index e5d6ee53ab..6c7c72d56e 100644
--- a/docs/public/js/manual-search.js
+++ b/docs/public/js/manual-search.js
@@ -1,52 +1,34 @@
-var section_names = function(q) {
- if (!q) {
- return [];
- }
- var matches = [];
- q = q.toLowerCase();
- $.each(section_map, function(k, v) {
- if (k.toLowerCase().indexOf(q) != -1) {
- matches.push(k);
- }
- });
- matches.sort(function(a, b) {
- // shortest to longest
- return a.length - b.length;
+(() => {
+ const searchInput = document.querySelector('input#searchbox');
+ const sectionIDs = JSON.parse(document.querySelector('#section-ids').innerText);
+ const sanitize = (string) => string.replaceAll('<', '<').replaceAll('>', '>');
+ new autoComplete({
+ selector: `#${searchInput.id}`,
+ wrapper: false,
+ data: {
+ src: Object.keys(sectionIDs),
+ filter: (list) => list.sort((x, y) =>
+ x.match.indexOf('<') - y.match.indexOf('<') || x.value.length - y.value.length),
+ },
+ searchEngine: (query, value) => {
+ const index = value.toLowerCase().indexOf(query.toLowerCase());
+ if (index >= 0) {
+ return sanitize(value.substring(0, index)) +
+ `${sanitize(value.substring(index, index + query.length))} ` +
+ sanitize(value.substring(index + query.length));
+ }
+ },
});
- return matches;
-}
-var section_names_cb = function(q, cb) {
- cb(section_names(q));
-}
-var go_to_section = function() {
- query = $('#searchbox').val();
- results = section_names(query);
- if (results.length == 0) {
- return;
- }
- result = results[0];
- location.hash = '#' + section_map[result];
- if (result != query) {
- $('#searchbox').val(result);
- }
-}
-$(function(){
- $('#searchbox').typeahead(
- {hint: false, highlight: true, minLength: 1},
- {name: "contents", source: section_names_cb, limit: 6}
- ).on('typeahead:selected', function(e, data) {
- go_to_section();
+ searchInput.addEventListener('selection', (event) => {
+ event.target.value = event.detail.selection.value;
+ location.hash = `#${sectionIDs[event.detail.selection.value]}`;
});
- $('#searchbox').change(go_to_section);
-});
-// add "Run" button to execute examples on jqplay.org
-$(function() {
- $.each($('.manual-example table'), function(index, value) {
- $value = $(value)
- var j = $value.find('tr:nth-child(2) td:first').text();
- var q = $value.find('.jqprogram').text().replace(/^jq /, '').replace(/(\r\n|\n|\r)/gm," ").replace(/^'(.+)'$/, '$1');
- var url = 'https://jqplay.org/jq?q=' + encodeURIComponent(q) +'&j=' + encodeURIComponent(j)
- var $last_tr = $value.find('tr:last');
- $last_tr.after('
Run ');
+ document.addEventListener('keydown', (event) => {
+ if (event.code === 'Slash' && !event.altKey && !event.ctrlKey && !event.metaKey
+ && !event.shiftKey && !/^(INPUT|TEXTAREA)$/.test(event.target.nodeName)) {
+ searchInput.focus();
+ searchInput.select();
+ event.preventDefault();
+ }
});
-});
+})();
diff --git a/docs/site.yml b/docs/site.yml
deleted file mode 100644
index e4990aeb9e..0000000000
--- a/docs/site.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-# The key value pairs found below are available within the templates.
-
-url: https://jqlang.github.io/jq
-
-# This line is modified by the Makefile. To change the version number,
-# edit the Autoconf version number at the top of configure.ac
-jq_version: "1.6-159-gcff5336-dirty"
-
-root: '/jq'
diff --git a/docs/templates/default.html.j2 b/docs/templates/default.html.j2
index 7830eb3726..67030e0566 100644
--- a/docs/templates/default.html.j2
+++ b/docs/templates/default.html.j2
@@ -2,32 +2,29 @@
{% include "shared/_head.html.j2" %}
-
+
{% include "shared/_navbar.html.j2" %}
-
-
-
{{headline}}
- {% for item in body %}
- {% if item.text %}
- {{ item.text | replace('$JQ_VERSION', jq_version) | markdownify }}
- {% endif %}
+
+ {{ headline }}
+ {%- for item in body %}
+ {%- if item.text %}
+ {{ item.text | markdownify }}
+ {%- endif %}
- {% if item.command %}
- {% set resultID = unique_id() %}
-
- {% endif %}
- {% endfor %}
+ {%- if item.command %}
+ {%- set resultID = unique_id() %}
+
+
+
{{ item.command }}
+
Show result
+
+
{{ item.result }}
-
+ {%- endif %}
+ {%- endfor %}
+
{% include "shared/_footer.html.j2" %}
diff --git a/docs/templates/index.html.j2 b/docs/templates/index.html.j2
index 4ec30007fb..3fd1566ec4 100644
--- a/docs/templates/index.html.j2
+++ b/docs/templates/index.html.j2
@@ -2,71 +2,54 @@
{% include "shared/_head.html.j2" %}
-
+
{% include "shared/_navbar.html.j2" %}
-
+
-
-
-
-
-
-
-
- {{blurb | markdownify}}
-
-
-
-
+
+
+
+
-
-
{{body1 | markdownify}}
-
{{body2 | markdownify}}
-
{{body3 | markdownify}}
+
+
{{ body1 | markdownify }}
+
{{ body2 | markdownify }}
+
{{ body3 | markdownify }}
-
- {{tail | markdownify}}
+
+ {{ tail | markdownify }}
-
-
News
-
-
- {% for item in news %}
-
- {{item.date}}
- {{item.body | markdownify}}
-
- {% endfor %}
-
-
-
-
+
News
+
+ {%- for item in news %}
+
+ {{ item.date }}
+ {{ item.body | markdownify }}
+
+ {%- endfor %}
+
+
{% include "shared/_footer.html.j2" %}
diff --git a/docs/templates/manual.html.j2 b/docs/templates/manual.html.j2
index 21f9ad28e2..c464e90c9b 100644
--- a/docs/templates/manual.html.j2
+++ b/docs/templates/manual.html.j2
@@ -2,98 +2,103 @@
{% include "shared/_head.html.j2" %}
-
+
{% include "shared/_navbar.html.j2" %}
-
-
-
+
+
+
+
+
+
+
+
+ {%- for section in sections %}
+
+ {{ section.title }}
+
+ {%- endfor %}
+
+
-
-
{{headline}}
- {{ history | markdownify }}
- {{ body | markdownify }}
- {% for section in sections %}
-
- {{section.title}}
- {{ (section.body | markdownify) if section.body }}
- {% for entry in section.entries %}
-
-
- {{entry.title | markdownify | no_paragraph }}
- {% if entry.subtitle %}{{entry.subtitle}} {% endif %}
-
- {{entry.body | markdownify}}
+
+ {{ headline }}
+ {{ history | markdownify }}
+ {{ body | markdownify }}
+ {%- for section in sections %}
+
+ {{ section.title }}
+ {{ section.body | markdownify if section.body }}
+ {%- for entry in section.entries %}
+
+
+ {{ entry.title | markdownify | no_paragraph }}
+
+
+ {{ entry.body | markdownify }}
+ {%- if entry.examples %}
+
+ {%- set exampleID = unique_id() %}
+
+ Example{% if entry.examples | length > 1 %}s{% endif %}
+
+
+ {%- for example in entry.examples %}
+
+
+ Command
+ jq '{{ example.program }}'
+
+
+ Input
+ {{ example.input }}
+
+ {%- if not example.output[0] %}
+
+ Output
+ none
+
+ {%- endif %}
+ {%- for output in example.output %}
+
+ {% if loop.first %}Output{% endif %}
+ {{ output }}
+
+ {%- endfor %}
+
+ Run
+
+
+
+ {%- endfor %}
+
+
+ {%- endif %}
+
+ {%- endfor %}
+
+ {%- endfor %}
+
- {% if entry.examples %}
-
- {% set exampleID = unique_id() %}
-
-
- {% if entry.examples | length > 1 %}Examples{%else%}Example{%endif%}
-
-
- {% for example in entry.examples %}
-
- jq '{{ example.program }}'
- Input {{ example.input }}
- {% if not example.output[0] %}
-
- Output
- none
-
- {% endif %}
- {% for output in example.output %}
-
- {% if loop.first %}
- Output
- {% else %}
-
- {% endif %}
- {{ output }}
-
- {% endfor %}
-
- {% endfor %}
-
-
- {% endif %}
-
- {% endfor %}
-
- {% endfor %}
-
-
{% include "shared/_footer.html.j2" %}
-
+
-
+
diff --git a/docs/templates/shared/_footer.html.j2 b/docs/templates/shared/_footer.html.j2
index 511f0b1fac..90a071dcab 100644
--- a/docs/templates/shared/_footer.html.j2
+++ b/docs/templates/shared/_footer.html.j2
@@ -1,10 +1,14 @@
-
-
-
This website is made with Bootstrap , themed with Bootswatch .
-
jq is licensed under the MIT license (code) and the CC-BY-3.0 license (docs).
+
-
-
-
-
+
diff --git a/docs/templates/shared/_head.html.j2 b/docs/templates/shared/_head.html.j2
index 96c3c4dc60..f1a9c2cf51 100644
--- a/docs/templates/shared/_head.html.j2
+++ b/docs/templates/shared/_head.html.j2
@@ -1,17 +1,23 @@
-
-
{{headline}}
+
{{ headline }}
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/docs/templates/shared/_navbar.html.j2 b/docs/templates/shared/_navbar.html.j2
index a3adb3ad42..c3343e3866 100644
--- a/docs/templates/shared/_navbar.html.j2
+++ b/docs/templates/shared/_navbar.html.j2
@@ -1,27 +1,40 @@
-
-
+ {%- if navitem.startswith('manual') %}
+
+
+
+ /
+
+ {%- endif %}
+
+
+