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"", '', input)) +env.filters['no_paragraph'] = lambda input: Markup(re.sub(r'', '', 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() %} -
-
-
{{item.command}}
- Show result -
-
-
{{item.result}}
-
-
- {% endif %} - {% endfor %} + {%- if item.command %} + {%- set resultID = unique_id() %} +
+
+
{{ item.command }}
+ +
+
{{ 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" %} -
+
-
- -
-
{{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" %} -
-
- {% 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 @@ -