From 57f5976edf6ca0132bf2fc4ef19732ddbd2a862b Mon Sep 17 00:00:00 2001 From: itchyny Date: Fri, 18 Sep 2026 17:07:54 +0900 Subject: [PATCH] website: fold older versions on the download page (#3635) Only the latest release stays visible in the binary, checksum and signature, and source tarball lists; older versions move into collapsible `
` sections. Condense the repetitive per-version checksum and signature sentences into a single list. --- docs/build_website.py | 3 +- docs/content/download/default.yml | 97 +++++++++++++++++++++---------- docs/public/css/style.css | 13 +++++ 3 files changed, 81 insertions(+), 32 deletions(-) diff --git a/docs/build_website.py b/docs/build_website.py index d74a5b09..48e46104 100755 --- a/docs/build_website.py +++ b/docs/build_website.py @@ -33,7 +33,8 @@ env.filters['entry_id'] = lambda input: re.sub( 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['markdownify'] = lambda input: Markup( + markdown(input, extensions=['md_in_html'])) env.filters['no_paragraph'] = lambda input: Markup(re.sub(r'', '', input)) env.globals['unique_id'] = pass_context( diff --git a/docs/content/download/default.yml b/docs/content/download/default.yml index 06eaebde..c2e5af77 100644 --- a/docs/content/download/default.yml +++ b/docs/content/download/default.yml @@ -40,6 +40,9 @@ body: or [i386](https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-linux-i386). +
+ Older versions + * jq 1.8.1 binaries for [AMD64](https://github.com/jqlang/jq/releases/download/jq-1.8.1/jq-linux-amd64) or @@ -88,6 +91,8 @@ body: or [i386](https://github.com/jqlang/jq/releases/download/jq-1.3/jq-linux-x86). +
+ ### macOS * Use [Homebrew](https://brew.sh/) to install jq with `brew install jq`. @@ -101,6 +106,9 @@ body: or [Intel Mac](https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-macos-amd64). +
+ Older versions + * jq 1.8.1 binaries for [Apple Silicon](https://github.com/jqlang/jq/releases/download/jq-1.8.1/jq-macos-arm64) or @@ -137,6 +145,8 @@ body: or [i386](https://github.com/jqlang/jq/releases/download/jq-1.3/jq-osx-x86). +
+ ### FreeBSD * `pkg install jq` as root installs a pre-built @@ -174,6 +184,9 @@ body: or [i386](https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-windows-i386.exe). +
+ Older versions + * jq 1.8.1 executables for [AMD64](https://github.com/jqlang/jq/releases/download/jq-1.8.1/jq-windows-amd64.exe) or @@ -214,45 +227,65 @@ body: or [i386](https://github.com/jqlang/jq/releases/download/jq-1.3/jq-win32.exe). +
+ ### Checksums and signatures - SHA-256 checksums are provided for all release and pre-release binaries. - The checksums for jq 1.8.2 are in - [sig/v1.8.2/sha256sum.txt](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.8.2/sha256sum.txt). - The checksums for jq 1.8.1 are in - [sig/v1.8.1/sha256sum.txt](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.8.1/sha256sum.txt). - The checksums for jq 1.8.0 are in - [sig/v1.8.0/sha256sum.txt](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.8.0/sha256sum.txt). - The checksums for jq 1.7.1 are in - [sig/v1.7.1/sha256sum.txt](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.7.1/sha256sum.txt). - The checksums for jq 1.7 are in - [sig/v1.7/sha256sum.txt](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.7/sha256sum.txt). - The checksums for jq 1.6 are in - [sig/v1.6/sha256sum.txt](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.6/sha256sum.txt). - The checksums for jq 1.5 are in - [sig/v1.5/sha256sum.txt](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.5/sha256sum.txt). - - Additionally, all release artifacts are signed by a jq release key. We have two release keys, [one for 1.6 and older releases](https://raw.githubusercontent.com/jqlang/jq/master/sig/jq-release-old.key), and [one for 1.7 and newer releases](https://raw.githubusercontent.com/jqlang/jq/master/sig/jq-release-new.key). - The signatures for jq 1.8.2 are in - [sig/v1.8.2/\*.asc](https://github.com/jqlang/jq/tree/master/sig/v1.8.2). - The signatures for jq 1.8.1 are in - [sig/v1.8.1/\*.asc](https://github.com/jqlang/jq/tree/master/sig/v1.8.1). - The signatures for jq 1.8.0 are in - [sig/v1.8.0/\*.asc](https://github.com/jqlang/jq/tree/master/sig/v1.8.0). - The signatures for jq 1.7.1 are in - [sig/v1.7.1/\*.asc](https://github.com/jqlang/jq/tree/master/sig/v1.7.1). - The signatures for jq 1.7 are in - [sig/v1.7/\*.asc](https://github.com/jqlang/jq/tree/master/sig/v1.7). - The signatures for jq 1.6 are in - [sig/v1.6/\*.asc](https://github.com/jqlang/jq/tree/master/sig/v1.6). - The signatures for jq 1.5 are in - [sig/v1.5/\*.asc](https://github.com/jqlang/jq/tree/master/sig/v1.5). + SHA-256 checksums are provided for all release and pre-release binaries, + and all release artifacts are signed by a jq release key. We have two release keys, + [one for 1.6 and older releases](https://raw.githubusercontent.com/jqlang/jq/master/sig/jq-release-old.key), + and + [one for 1.7 and newer releases](https://raw.githubusercontent.com/jqlang/jq/master/sig/jq-release-new.key). You can use [GnuPG](https://gnupg.org/) to verify a signature by downloading the signature and running `gpg --verify signature.asc`. + * jq 1.8.2 + [checksums](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.8.2/sha256sum.txt) + and + [signatures](https://github.com/jqlang/jq/tree/master/sig/v1.8.2). + +
+ Older versions + + * jq 1.8.1 + [checksums](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.8.1/sha256sum.txt) + and + [signatures](https://github.com/jqlang/jq/tree/master/sig/v1.8.1). + + * jq 1.8.0 + [checksums](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.8.0/sha256sum.txt) + and + [signatures](https://github.com/jqlang/jq/tree/master/sig/v1.8.0). + + * jq 1.7.1 + [checksums](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.7.1/sha256sum.txt) + and + [signatures](https://github.com/jqlang/jq/tree/master/sig/v1.7.1). + + * jq 1.7 + [checksums](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.7/sha256sum.txt) + and + [signatures](https://github.com/jqlang/jq/tree/master/sig/v1.7). + + * jq 1.6 + [checksums](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.6/sha256sum.txt) + and + [signatures](https://github.com/jqlang/jq/tree/master/sig/v1.6). + + * jq 1.5 + [checksums](https://raw.githubusercontent.com/jqlang/jq/master/sig/v1.5/sha256sum.txt) + and + [signatures](https://github.com/jqlang/jq/tree/master/sig/v1.5). + +
+ ### From source on Linux, macOS, Cygwin, and other POSIX-like operating systems * [Source tarball for jq 1.8.2](https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-1.8.2.tar.gz) + +
+ Older versions + * [Source tarball for jq 1.8.1](https://github.com/jqlang/jq/releases/download/jq-1.8.1/jq-1.8.1.tar.gz) * [Source tarball for jq 1.8.0](https://github.com/jqlang/jq/releases/download/jq-1.8.0/jq-1.8.0.tar.gz) * [Source tarball for jq 1.7.1](https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-1.7.1.tar.gz) @@ -260,6 +293,8 @@ body: * [Source tarball for jq 1.6](https://github.com/jqlang/jq/releases/download/jq-1.6/jq-1.6.tar.gz) * [Source tarball for jq 1.5](https://github.com/jqlang/jq/releases/download/jq-1.5/jq-1.5.tar.gz) +
+ You can build it using the usual `./configure && make && sudo make install` rigmarole. diff --git a/docs/public/css/style.css b/docs/public/css/style.css index 93601370..c2dd10ce 100644 --- a/docs/public/css/style.css +++ b/docs/public/css/style.css @@ -45,6 +45,19 @@ ul { padding-left: 1rem; } +details { + margin-bottom: 1rem; + padding-left: 1rem; + + & summary { + cursor: pointer; + } + + & ul { + padding-left: 0; + } +} + pre { margin: 0 .5rem 1rem; padding: .5rem 1rem;