This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/download
in repository https://gitbox.apache.org/repos/asf/struts-site.git

commit 2730c0a22955a89a089e9f880836d32bb11f1677
Author: Lukasz Lenart <lukaszlen...@apache.org>
AuthorDate: Sun Aug 11 15:36:28 2024 +0200

    Uses better download template
---
 source/download.html | 342 ---------------------------------------------------
 source/download.md   | 152 +++++++++++++++++++++++
 2 files changed, 152 insertions(+), 342 deletions(-)

diff --git a/source/download.html b/source/download.html
deleted file mode 100644
index 794e893ab..000000000
--- a/source/download.html
+++ /dev/null
@@ -1,342 +0,0 @@
----
-layout: default
-title: Download a Release
----
-
-<h1>Download a Release of the Apache Struts</h1>
-
-<p>
-  The Apache Struts web framework is a free open-source solution for creating 
Java web applications.
-</p>
-
-<p>
-  You can start with Apache Struts using <a href="//maven.apache.org">Apache 
Maven</a> and optionally provided
-  <a href="/maven-archetypes/">archetypes</a> for easier dependency management 
and version upgrade.
-  Or download some of the distributions for fully offline development.
-</p>
-
-<p>
-  Use the links below to download a release of Apache Struts from one of our 
mirrors. You can
-  <a href="#verify">verify the integrity</a> of the downloaded files using 
signatures downloaded from our
-  main distribution directory.
-</p>
-
-<h2 id="mirror">Mirror</h2>
-
-<p>
-  The currently selected mirror is <b>[preferred]</b>. If you encounter a 
problem with this mirror, please select
-  another mirror. If all mirrors are failing, there are <i>backup</i> mirrors 
(at the end of the mirrors list)
-  that should be available.
-</p>
-
-<form action="[location]" method="get" id="SelectMirror">
-  Other mirrors:
-  <select name="Preferred">
-    [if-any https]
-    [for https]
-    <option value="[https]">[https]</option>
-    [end]
-    [end]
-    [if-any ftp]
-    [for ftp]
-    <option value="[ftp]">[ftp]</option>
-    [end]
-    [end]
-    [if-any backup]
-    [for backup]
-    <option value="[backup]">[backup] (backup)</option>
-    [end]
-    [end]
-  </select>
-  <input type="submit" value="Change"/>
-</form>
-
-<p>
-  You may also consult the
-  <a href="https://www.apache.org/mirrors/";>complete list of mirrors.</a>
-</p>
-
-<h2 id="struts-ga">Full Releases</h2>
-
-<h3 id="struts{{ site.current_version_short }}">Struts {{ site.current_version 
}}</h3>
-
-<p>
-  The <a href="https://struts.apache.org/";>Apache Struts {{ 
site.current_version }}</a> is an elegant, extensible
-  framework for creating enterprise-ready Java web applications. It is 
available in a full distribution,
-  or as separate library, source, example and documentation distributions.
-  Struts {{ site.current_version }} is the "best available" version of Struts 
in the 6.x series.
-</p>
-
-<ul>
-  <li>
-    <a href="{{ site.wiki_url }}/Version+Notes+{{ site.current_version 
}}">Version Notes</a>
-  </li>
-
-  <li>Full Distribution:
-    <ul>
-      <li>
-        <a href="[preferred]struts/{{ site.current_version }}/struts-{{ 
site.current_version }}-all.zip">struts-{{ site.current_version }}-all.zip</a> 
(70MB)
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-all.zip.asc">PGP</a>]
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-all.zip.sha256">SHA256</a>]
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-all.zip.sha512">SHA512</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>Example Applications:
-    <ul>
-      <li>
-        <a href="[preferred]struts/{{ site.current_version }}/struts-{{ 
site.current_version }}-apps.zip">struts-{{ site.current_version 
}}-apps.zip</a> (35MB)
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-apps.zip.asc">PGP</a>]
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-apps.zip.sha256">SHA256</a>]
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-apps.zip.sha512">SHA512</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>Essential Dependencies Only:
-    <ul>
-      <li>
-        <a href="[preferred]struts/{{ site.current_version }}/struts-{{ 
site.current_version }}-min-lib.zip">struts-{{ site.current_version 
}}-min-lib.zip</a> (5.9MB)
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-min-lib.zip.asc">PGP</a>]
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-min-lib.zip.sha256">SHA256</a>]
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-min-lib.zip.sha512">SHA512</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>All Dependencies:
-    <ul>
-      <li>
-        <a href="[preferred]struts/{{ site.current_version }}/struts-{{ 
site.current_version }}-lib.zip">struts-{{ site.current_version }}-lib.zip</a> 
(25.5MB)
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-lib.zip.asc">PGP</a>]
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-lib.zip.sha256">SHA256</a>]
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-lib.zip.sha512">SHA512</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>Documentation:
-    <ul>
-      <li>
-        <a href="[preferred]struts/{{ site.current_version }}/struts-{{ 
site.current_version }}-docs.zip">struts-{{ site.current_version 
}}-docs.zip</a> (2.5MB)
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-docs.zip.asc">PGP</a>]
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-docs.zip.sha256">SHA256</a>]
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-docs.zip.sha512">SHA512</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>Source:
-    <ul>
-      <li>
-        <a href="[preferred]struts/{{ site.current_version }}/struts-{{ 
site.current_version }}-src.zip">struts-{{ site.current_version }}-src.zip</a> 
(6.8MB)
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-src.zip.asc">PGP</a>]
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-src.zip.sha256">SHA256</a>]
-        [<a href="https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-src.zip.sha512">SHA512</a>]
-      </li>
-    </ul>
-  </li>
-
-</ul>
-
-<h3 id="struts-25x">Struts {{ site.current_25x_version }}</h3>
-
-<ul>
-  <li>
-    <a href="{{ site.wiki_url }}/Version+Notes+{{ site.current_25x_version 
}}">Version Notes</a>
-  </li>
-
-  <li>Full Distribution:
-    <ul>
-      <li>
-        <a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-all.zip">struts-{{ 
site.current_25x_version }}-all.zip</a> (65MB)
-        [<a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-all.zip.asc">PGP</a>]
-        [<a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-all.zip.sha256">SHA256</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>Example Applications:
-    <ul>
-      <li>
-        <a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-apps.zip">struts-{{ 
site.current_25x_version }}-apps.zip</a> (35MB)
-        [<a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-apps.zip.asc">PGP</a>]
-        [<a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-apps.zip.sha256">SHA256</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>Essential Dependencies Only:
-    <ul>
-      <li>
-        <a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-min-lib.zip">struts-{{ 
site.current_25x_version }}-min-lib.zip</a> (4MB)
-        [<a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-min-lib.zip.asc">PGP</a>]
-        [<a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-min-lib.zip.sha256">SHA256</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>All Dependencies:
-    <ul>
-      <li>
-        <a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-lib.zip">struts-{{ 
site.current_25x_version }}-lib.zip</a> (19MB)
-        [<a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-lib.zip.asc">PGP</a>]
-        [<a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-lib.zip.sha256">SHA256</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>Documentation:
-    <ul>
-      <li>
-        <a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-docs.zip">struts-{{ 
site.current_25x_version }}-docs.zip</a> (13MB)
-        [<a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-docs.zip.asc">PGP</a>]
-        [<a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-docs.zip.sha256">SHA256</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>Source:
-    <ul>
-      <li>
-        <a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-src.zip">struts-{{ 
site.current_25x_version }}-src.zip</a> (7MB)
-        [<a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-src.zip.asc">PGP</a>]
-        [<a href="{{ site.archive_url }}{{ site.current_25x_version 
}}/struts-{{ site.current_25x_version }}-src.zip.sha256">SHA256</a>]
-      </li>
-    </ul>
-  </li>
-
-</ul>
-
-<h3 id="struts-23x">Struts 2.3.x</h3>
-
-<p>We stopped serving directly the outdated Struts 2.3.x series, you should 
immediately upgrade to the latest 2.5.x version
-  or migrate to the latest 6.x.x version. Please check the <b>Prior 
releases</b> section below, if you are looking for older versions.</p>
-
-<h3 id="struts-extras">Struts Extras</h3>
-
-<ul>
-  <li>
-    <a href="https://github.com/apache/struts-extras";>README</a>
-  </li>
-
-  <li>Apache Struts 2 Secure Jakarta Multipart parser plugin:
-    <ul>
-      <li>
-        <a 
href="[preferred]struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1.jar">
-          struts2-secure-jakarta-multipart-parser-plugin-1.1.jar
-        </a>
-        [<a 
href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1.jar.asc";>PGP</a>]
-        [<a 
href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1.jar.md5";>MD5</a>]
-        [<a 
href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1.jar.sha1";>SHA1</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>Source:
-    <ul>
-      <li>
-        <a 
href="[preferred]struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip">
-          struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip
-        </a>
-        [<a 
href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip.md5";>MD5</a>]
-        [<a 
href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip.asc";>PGP</a>]
-        [<a 
href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip.sha1";>SHA1</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>Apache Struts 2 Secure Jakarta Stream Multipart parser plugin:
-    <ul>
-      <li>
-        <a 
href="[preferred]struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar">
-          struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar
-        </a>
-        [<a 
href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar.asc";>PGP</a>]
-        [<a 
href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar.md5";>MD5</a>]
-        [<a 
href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar.sha1";>SHA1</a>]
-      </li>
-    </ul>
-  </li>
-
-  <li>Source:
-    <ul>
-      <li>
-        <a 
href="[preferred]struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip">
-          
struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip
-        </a>
-        [<a 
href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip.md5";>MD5</a>]
-        [<a 
href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip.asc";>PGP</a>]
-        [<a 
href="https://downloads.apache.org/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip.sha1";>SHA1</a>]
-      </li>
-    </ul>
-  </li>
-
-</ul>
-
-<h2 id="prior-releases">Prior releases</h2>
-<p>
-  If you are looking for other versions than above please check the <a 
href="https://archive.apache.org/dist/struts/";>Apache Archive</a> site.
-</p>
-
-<h3 id="struts1310">Struts 1.3.10</h3>
-
-<p>
-  <a href="https://struts.apache.org/struts1eol-announcement.html";>Struts 
1.3.10 - EOL</a>
-  is the latest production release of Struts 1. It is available in a full 
distribution, or as
-  separate library, source, example and documentation distributions.
-</p>
-
-<p>
-  <b>Important: </b>
-  <a href="struts1eol-announcement.html">Apache Struts 1 EOL Announcement</a>, 
including a detailed Q/A section
-</p>
-
-<h2 id="verify">Verify the integrity of the files</h2>
-
-<p>
-  We recommend that you verify the integrity of the downloaded files using the 
PGP or MD5/SHA256 signatures.
-</p>
-
-<p>
-  The PGP signatures can be verified using PGP or GPG.
-  First download the
-  <a href="https://downloads.apache.org/struts/KEYS";>KEYS</a> as well as the 
<code>asc</code>
-  signature file for the particular distribution.
-  Make sure you get these files from the <a 
href="https://downloads.apache.org/struts/";>main distribution directory,</a>
-  rather than from a mirror. Then verify the signatures using
-</p>
-
-<p>
-  <code>
-    % pgpk -a KEYS
-    <br/>
-    % pgpv ${filename}.tar.gz.asc
-    <br/>
-  </code>
-  <em>or</em>
-  <br/>
-  <code>
-    % pgp -ka KEYS
-    <br/>
-    % pgp ${filename}.tar.gz.asc
-    <br/>
-  </code>
-  <em>or</em>
-  <br/>
-  <code>
-    % gpg --import KEYS
-    <br/>
-    % gpg --verify ${filename}.tar.gz.asc ${filename}.tar.gz
-  </code>
-</p>
-
-<p>
-  Alternatively, you can verify the MD5 signature on the files. A Unix program 
called <code>md5</code>
-  or <code>md5sum</code> is included in many Unix distributions. It is also 
available as part of
-  <a href="https://www.gnu.org/software/textutils/textutils.html";> GNU 
Textutils.</a>
-  Windows users can get binary md5 programs from <a 
href="https://www.fourmilab.ch/md5/";>here,</a>
-  <a href="http://www.pc-tools.net/win32/freeware/console/";> here,</a>
-  or <a href="https://www.slavasoft.com/fsum/";>here.</a>
-</p>
diff --git a/source/download.md b/source/download.md
new file mode 100644
index 000000000..d3ee87731
--- /dev/null
+++ b/source/download.md
@@ -0,0 +1,152 @@
+---
+layout: default
+title: Download a Release
+---
+
+# Download a Release of the Apache Struts {#download}
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
+
+The Apache Struts web framework is a free open-source solution for creating 
Java web applications.
+
+You can start with Apache Struts using [Apache Maven](//maven.apache.org) and 
optionally provided
+[archetypes](/maven-archetypes) for easier dependency management and version 
upgrade.
+Or download some of the distributions for fully offline development.
+
+Use the links below to download a release of Apache Struts from one of our 
mirrors. You must
+[verify the integrity](#verify) of the downloaded files using signatures 
downloaded from our
+main distribution directory.
+
+## Mirror {#mirror}
+
+[if-any logo] []([link]) [end] The currently selected mirror is 
**[preferred]**. If you encounter a problem with 
+this mirror, please select another mirror. If all mirrors are failing, there 
are *backup* mirrors (at the end 
+of the mirrors list) that should be available.
+
+<form action="[location]" method="get" id="SelectMirror">
+  Other mirrors:
+  <select name="Preferred">
+    [if-any https]
+    [for https]
+    <option value="[https]">[https]</option>
+    [end]
+    [end]
+    [if-any ftp]
+    [for ftp]
+    <option value="[ftp]">[ftp]</option>
+    [end]
+    [end]
+    [if-any backup]
+    [for backup]
+    <option value="[backup]">[backup] (backup)</option>
+    [end]
+    [end]
+  </select>
+  <input type="submit" value="Change"/>
+</form>
+
+You may also consult the [complete list of mirrors](//www.apache.org/mirrors/).
+
+## Full Releases {#struts-ga}
+
+### Struts {{ site.current_version }} {#struts{{ site.current_version_short }}}
+
+The [Apache Struts {{ site.current_version }}](//struts.apache.org)  is an 
elegant, extensible framework
+for creating enterprise-ready Java web applications. It is available in a full 
distribution, or as separate library, 
+source, example and documentation distributions. Struts {{ 
site.current_version }} is the "best available" 
+version of Struts in the 6.x series.
+
+- [Version Notes]({{ site.wiki_url }}/Version+Notes+{{ site.current_version }})
+- Source:
+  - [struts-{{ site.current_version }}-src.zip]([preferred]struts/{{ 
site.current_version }}/struts-{{ site.current_version }}-src.zip) (6.8MB)
+    [PGP](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-src.zip.asc)
+    [SHA256](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-src.zip.sha256)
+    [SHA512](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-src.zip.sha512)
+- Full Distribution:
+  - [struts-{{ site.current_version }}-all.zip]([preferred]struts/{{ 
site.current_version }}/struts-{{ site.current_version }}-all.zip) (70MB)
+    [PGP](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-all.zip.asc)
+    [SHA256](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-all.zip.sha256)
+    [SHA512](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-all.zip.sha512)
+- Example Applications:
+  - [struts-{{ site.current_version }}-apps.zip]([preferred]struts/{{ 
site.current_version }}/struts-{{ site.current_version }}-apps.zip) (35MB)
+    [PGP](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-apps.zip.asc)
+    [SHA256](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-apps.zip.sha256)
+    [SHA512](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-apps.zip.sha512)
+- Essential Dependencies Only:
+  - [struts-{{ site.current_version }}-min-lib.zip]([preferred]struts/{{ 
site.current_version }}/struts-{{ site.current_version }}-min-lib.zip) (5.9MB)
+    [PGP](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-min-lib.zip.asc)
+    [SHA256](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-min-lib.zip.sha256)
+    [SHA512](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-min-lib.zip.sha512)
+- All Dependencies:
+  - [struts-{{ site.current_version }}-lib.zip]([preferred]struts/{{ 
site.current_version }}/struts-{{ site.current_version }}-lib.zip) (25.5MB)
+    [PGP](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-lib.zip.asc)
+    [SHA256](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-lib.zip.sha256)
+    [SHA512](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-lib.zip.sha512)
+- Documentation:
+  - [struts-{{ site.current_version }}-docs.zip]([preferred]struts/{{ 
site.current_version }}/struts-{{ site.current_version }}-docs.zip) (2.5MB)
+    [PGP](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-docs.zip.asc)
+    [SHA256](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-docs.zip.sha256)
+    [SHA512](https://downloads.apache.org/struts/{{ site.current_version 
}}/struts-{{ site.current_version }}-docs.zip.sha512)
+
+### Struts {{ site.current_25x_version }} {#struts-25x}
+
+- [Version Notes]({{ site.wiki_url }}/Version+Notes+{{ 
site.current_25x_version }})
+- Source:
+  - [struts-{{ site.current_25x_version }}-src.zip]({{ site.archive_url }}{{ 
site.current_25x_version }}/struts-{{ site.current_25x_version }}-src.zip) (7MB)
+    [PGP]({{ site.archive_url }}{{ site.current_25x_version }}/struts-{{ 
site.current_25x_version }}-src.zip.asc)
+    [SHA256]({{ site.archive_url }}{{ site.current_25x_version }}/struts-{{ 
site.current_25x_version }}-src.zip.sha256)
+- Full Distribution:
+  - [struts-{{ site.current_25x_version }}-all.zip]({{ site.archive_url }}{{ 
site.current_25x_version }}/struts-{{ site.current_25x_version }}-all.zip) 
(65MB)
+    [PGP]({{ site.archive_url }}{{ site.current_25x_version }}/struts-{{ 
site.current_25x_version }}-all.zip.asc)
+    [SHA256]({{ site.archive_url }}{{ site.current_25x_version }}/struts-{{ 
site.current_25x_version }}-all.zip.sha256)
+- Example Applications:
+  - [struts-{{ site.current_25x_version }}-apps.zip]({{ site.archive_url }}{{ 
site.current_25x_version }}/struts-{{ site.current_25x_version }}-apps.zip) 
(35MB)
+    [PGP]({{ site.archive_url }}{{ site.current_25x_version }}/struts-{{ 
site.current_25x_version }}-apps.zip.asc)
+    [SHA256]({{ site.archive_url }}{{ site.current_25x_version }}/struts-{{ 
site.current_25x_version }}-apps.zip.sha256)
+- Essential Dependencies Only:
+  - [struts-{{ site.current_25x_version }}-min-lib.zip]({{ site.archive_url 
}}{{ site.current_25x_version }}/struts-{{ site.current_25x_version 
}}-min-lib.zip) (4MB)
+    [PGP]({{ site.archive_url }}{{ site.current_25x_version }}/struts-{{ 
site.current_25x_version }}-min-lib.zip.asc)
+    [SHA256]({{ site.archive_url }}{{ site.current_25x_version }}/struts-{{ 
site.current_25x_version }}-min-lib.zip.sha256)
+- All Dependencies:
+  - [struts-{{ site.current_25x_version }}-lib.zip]({{ site.archive_url }}{{ 
site.current_25x_version }}/struts-{{ site.current_25x_version }}-lib.zip) 
(19MB)
+    [PGP]({{ site.archive_url }}{{ site.current_25x_version }}/struts-{{ 
site.current_25x_version }}-lib.zip.asc)
+    [SHA256]({{ site.archive_url }}{{ site.current_25x_version }}/struts-{{ 
site.current_25x_version }}-lib.zip.sha256)
+- Documentation:
+  - [struts-{{ site.current_25x_version }}-docs.zip]({{ site.archive_url }}{{ 
site.current_25x_version }}/struts-{{ site.current_25x_version }}-docs.zip) 
(13MB)
+    [PGP]({{ site.archive_url }}{{ site.current_25x_version }}/struts-{{ 
site.current_25x_version }}-docs.zip.asc)
+    [SHA256]({{ site.archive_url }}{{ site.current_25x_version }}/struts-{{ 
site.current_25x_version }}-docs.zip.sha256)
+
+## Prior releases
+
+If you are looking for other versions than above please check the <a 
href="https://archive.apache.org/dist/struts/";>Apache Archive</a> site.
+
+## Verify the integrity of the files {#verify}
+
+We recommend that you verify the integrity of the downloaded files using the 
PGP or MD5/SHA256 signatures.
+
+The PGP signatures can be verified using PGP or GPG. First download the 
[KEYS](//downloads.apache.org/struts/KEYS) 
+as well as the <code>asc</code> signature file for the particular 
distribution. Make sure you get these files from 
+the [main distribution directory](//downloads.apache.org/struts/), rather than 
from a mirror.
+Then verify the signatures using
+
+```
+% pgpk -a KEYS
+% pgpv ${filename}.tar.gz.asc
+```
+or
+```
+% pgp -ka KEYS
+% pgp ${filename}.tar.gz.asc
+```
+or
+```
+% gpg --import KEYS
+% gpg --verify ${filename}.tar.gz.asc ${filename}.tar.gz
+```
+
+Alternatively, you can verify the MD5 signature on the files. A Unix program 
called `md5` or `md5sum` is included
+in many Unix distributions. It is also available as part of [GNU 
Textutils](https://www.gnu.org/software/textutils/textutils.html).
+Windows users can get binary md5 programs from 
[here](https://www.fourmilab.ch/md5/), 
[here](http://www.pc-tools.net/win32/freeware/console/)
+or [here](https://www.slavasoft.com/fsum/).

Reply via email to