Browse Source

feat: migrate from jekyll to astro

master
sparanoid 8 months ago
parent
commit
aa6579d606
Failed to extract signature
  1. 24
      website-v2/.gitignore
  2. 4
      website-v2/.vscode/extensions.json
  3. 11
      website-v2/.vscode/launch.json
  4. 48
      website-v2/README.md
  5. 18
      website-v2/astro.config.mjs
  6. BIN
      website-v2/bun.lockb
  7. 68
      website-v2/deploy.sh
  8. 16
      website-v2/package.json
  9. BIN
      website-v2/public/favicon.ico
  10. BIN
      website-v2/public/img/7zfm-vista.png
  11. BIN
      website-v2/public/img/7zfm-win7.png
  12. BIN
      website-v2/public/img/7zfm.png
  13. BIN
      website-v2/public/img/7ziplogo.png
  14. BIN
      website-v2/public/img/7zlogo02.png
  15. BIN
      website-v2/public/img/donate.png
  16. BIN
      website-v2/public/img/feed-14x14.png
  17. BIN
      website-v2/public/img/twitter-14x14.png
  18. 1
      website-v2/src/assets/astro.svg
  19. 1
      website-v2/src/assets/background.svg
  20. 209
      website-v2/src/components/Welcome.astro
  21. 409
      website-v2/src/data/versions.ts
  22. 248
      website-v2/src/layouts/Layout.astro
  23. 98
      website-v2/src/pages/7z.astro
  24. 146
      website-v2/src/pages/download.astro
  25. 145
      website-v2/src/pages/faq.md
  26. 229
      website-v2/src/pages/index.astro
  27. 302
      website-v2/src/pages/links.astro
  28. 16
      website-v2/src/pages/robots.txt.ts.disabled
  29. 191
      website-v2/src/pages/sdk.astro
  30. 52
      website-v2/src/pages/support.astro
  31. 5
      website-v2/tsconfig.json

24
website-v2/.gitignore

@ -0,0 +1,24 @@
# build output
dist/
# generated types
.astro/
# dependencies
node_modules/
# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# environment variables
.env
.env.production
# macOS-specific files
.DS_Store
# jetbrains setting folder
.idea/

4
website-v2/.vscode/extensions.json

@ -0,0 +1,4 @@
{
"recommendations": ["astro-build.astro-vscode"],
"unwantedRecommendations": []
}

11
website-v2/.vscode/launch.json

@ -0,0 +1,11 @@
{
"version": "0.2.0",
"configurations": [
{
"command": "./node_modules/.bin/astro dev",
"name": "Development server",
"request": "launch",
"type": "node-terminal"
}
]
}

48
website-v2/README.md

@ -0,0 +1,48 @@
# Astro Starter Kit: Basics
```sh
npm create astro@latest -- --template basics
```
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics)
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/basics)
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/basics/devcontainer.json)
> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun!
![just-the-basics](https://github.com/withastro/astro/assets/2244813/a0a5533c-a856-4198-8470-2d67b1d7c554)
## 🚀 Project Structure
Inside of your Astro project, you'll see the following folders and files:
```text
/
├── public/
│ └── favicon.svg
├── src/
│ ├── layouts/
│ │ └── Layout.astro
│ └── pages/
│ └── index.astro
└── package.json
```
To learn more about the folder structure of an Astro project, refer to [our guide on project structure](https://docs.astro.build/en/basics/project-structure/).
## 🧞 Commands
All commands are run from the root of the project, from a terminal:
| Command | Action |
| :------------------------ | :----------------------------------------------- |
| `npm install` | Installs dependencies |
| `npm run dev` | Starts local dev server at `localhost:4321` |
| `npm run build` | Build your production site to `./dist/` |
| `npm run preview` | Preview your build locally, before deploying |
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
| `npm run astro -- --help` | Get help using the Astro CLI |
## 👀 Want to learn more?
Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).

18
website-v2/astro.config.mjs

@ -0,0 +1,18 @@
// @ts-check
import { defineConfig } from 'astro/config';
import sitemap from '@astrojs/sitemap';
// https://astro.build/config
export default defineConfig({
site: 'https://sparanoid.com',
base: '/lab/7z',
build: {
// https://docs.astro.build/en/reference/configuration-reference/#buildformat
format: 'file',
},
markdown: {
// https://docs.astro.build/en/reference/configuration-reference/#markdownsyntaxhighlight
syntaxHighlight: false,
},
integrations: [sitemap()],
});

BIN
website-v2/bun.lockb

68
website-v2/deploy.sh

@ -0,0 +1,68 @@
#!/bin/bash
# deploy.sh - Script to handle local deployment
# Usage: ./deploy.sh [--no-commit] [source_dir] [dest_dir] [base_path]
set -e # Exit on error
# Default settings
COMMIT_CHANGES=true
SOURCE_DIR="dist" # Default source directory
DEST_DIR="$HOME/Git/sparanoid.com-prod" # Default destination
BASE_PATH="/lab/7z" # Default base path
LOG_FILE="deploy-sparanoid.log"
# Parse arguments
while [[ "$#" -gt 0 ]]; do
case $1 in
--no-commit) COMMIT_CHANGES=false ;;
*)
if [ -z "$SOURCE_OVERRIDE" ]; then
SOURCE_OVERRIDE="$1"
elif [ -z "$DEST_OVERRIDE" ]; then
DEST_OVERRIDE="$1"
elif [ -z "$BASE_OVERRIDE" ]; then
BASE_OVERRIDE="$1"
else
echo "Error: Unexpected argument $1"
exit 1
fi
;;
esac
shift
done
# Override defaults if provided
[ -n "$SOURCE_OVERRIDE" ] && SOURCE_DIR="$SOURCE_OVERRIDE"
[ -n "$DEST_OVERRIDE" ] && DEST_DIR="$DEST_OVERRIDE"
[ -n "$BASE_OVERRIDE" ] && BASE_PATH="$BASE_OVERRIDE"
# Create destination directory if it doesn't exist
mkdir -p "$DEST_DIR/site/$BASE_PATH"
# Log start with parameters used
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Starting deployment" | tee -a "$LOG_FILE"
echo "Source: $SOURCE_DIR" | tee -a "$LOG_FILE"
echo "Destination: $DEST_DIR/site/$BASE_PATH" | tee -a "$LOG_FILE"
echo "Auto-commit: $([ "$COMMIT_CHANGES" = true ] && echo "enabled" || echo "disabled")" | tee -a "$LOG_FILE"
# Copy files to local directory
rsync -avz --delete --progress \
"$SOURCE_DIR/" \
"$DEST_DIR/site/$BASE_PATH" >>"$LOG_FILE" 2>&1
if [ $? -eq 0 ]; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] File sync completed successfully" | tee -a "$LOG_FILE"
# Run auto-commit if enabled
if [ "$COMMIT_CHANGES" = true ] && [ -f "$DEST_DIR/auto-commit" ]; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Running auto-commit script..." | tee -a "$LOG_FILE"
cd "$DEST_DIR" && bash "auto-commit" >>"$LOG_FILE" 2>&1
fi
else
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Error: File sync failed" | tee -a "$LOG_FILE"
exit 1
fi
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Deployment completed" | tee -a "$LOG_FILE"
exit 0

16
website-v2/package.json

@ -0,0 +1,16 @@
{
"name": "7z",
"description": "7-Zip Chinese Simplified Website",
"type": "module",
"version": "0.0.1",
"scripts": {
"dev": "astro dev",
"build": "astro build",
"preview": "astro preview",
"astro": "astro"
},
"dependencies": {
"@astrojs/sitemap": "^3.2.1",
"astro": "^5.0.5"
}
}

BIN
website-v2/public/favicon.ico

BIN
website-v2/public/img/7zfm-vista.png

After

Width: 430  |  Height: 373  |  Size: 28 KiB

BIN
website-v2/public/img/7zfm-win7.png

After

Width: 430  |  Height: 420  |  Size: 21 KiB

BIN
website-v2/public/img/7zfm.png

After

Width: 352  |  Height: 320  |  Size: 14 KiB

BIN
website-v2/public/img/7ziplogo.png

After

Width: 110  |  Height: 63  |  Size: 1.3 KiB

BIN
website-v2/public/img/7zlogo02.png

After

Width: 88  |  Height: 31  |  Size: 1.1 KiB

BIN
website-v2/public/img/donate.png

After

Width: 92  |  Height: 26  |  Size: 1.3 KiB

BIN
website-v2/public/img/feed-14x14.png

After

Width: 14  |  Height: 14  |  Size: 608 B

BIN
website-v2/public/img/twitter-14x14.png

After

Width: 14  |  Height: 14  |  Size: 633 B

1
website-v2/src/assets/astro.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" width="115" height="48"><path fill="#17191E" d="M7.77 36.35C6.4 35.11 6 32.51 6.57 30.62c.99 1.2 2.35 1.57 3.75 1.78 2.18.33 4.31.2 6.33-.78.23-.12.44-.27.7-.42.18.55.23 1.1.17 1.67a4.56 4.56 0 0 1-1.94 3.23c-.43.32-.9.61-1.34.91-1.38.94-1.76 2.03-1.24 3.62l.05.17a3.63 3.63 0 0 1-1.6-1.38 3.87 3.87 0 0 1-.63-2.1c0-.37 0-.74-.05-1.1-.13-.9-.55-1.3-1.33-1.32a1.56 1.56 0 0 0-1.63 1.26c0 .06-.03.12-.05.2Z"/><path fill="url(#a)" d="M7.77 36.35C6.4 35.11 6 32.51 6.57 30.62c.99 1.2 2.35 1.57 3.75 1.78 2.18.33 4.31.2 6.33-.78.23-.12.44-.27.7-.42.18.55.23 1.1.17 1.67a4.56 4.56 0 0 1-1.94 3.23c-.43.32-.9.61-1.34.91-1.38.94-1.76 2.03-1.24 3.62l.05.17a3.63 3.63 0 0 1-1.6-1.38 3.87 3.87 0 0 1-.63-2.1c0-.37 0-.74-.05-1.1-.13-.9-.55-1.3-1.33-1.32a1.56 1.56 0 0 0-1.63 1.26c0 .06-.03.12-.05.2Z"/><path fill="#17191E" d="M.02 30.31s4.02-1.95 8.05-1.95l3.04-9.4c.11-.45.44-.76.82-.76.37 0 .7.31.82.76l3.04 9.4c4.77 0 8.05 1.95 8.05 1.95L17 11.71c-.2-.56-.53-.91-.98-.91H7.83c-.44 0-.76.35-.97.9L.02 30.31Zm42.37-5.97c0 1.64-2.05 2.62-4.88 2.62-1.85 0-2.5-.45-2.5-1.41 0-1 .8-1.49 2.65-1.49 1.67 0 3.09.03 4.73.23v.05Zm.03-2.04a21.37 21.37 0 0 0-4.37-.36c-5.32 0-7.82 1.25-7.82 4.18 0 3.04 1.71 4.2 5.68 4.2 3.35 0 5.63-.84 6.46-2.92h.14c-.03.5-.05 1-.05 1.4 0 1.07.18 1.16 1.06 1.16h4.15a16.9 16.9 0 0 1-.36-4c0-1.67.06-2.93.06-4.62 0-3.45-2.07-5.64-8.56-5.64-2.8 0-5.9.48-8.26 1.19.22.93.54 2.83.7 4.06 2.04-.96 4.95-1.37 7.2-1.37 3.11 0 3.97.71 3.97 2.15v.57Zm11.37 3c-.56.07-1.33.07-2.12.07-.83 0-1.6-.03-2.12-.1l-.02.58c0 2.85 1.87 4.52 8.45 4.52 6.2 0 8.2-1.64 8.2-4.55 0-2.74-1.33-4.09-7.2-4.39-4.58-.2-4.99-.7-4.99-1.28 0-.66.59-1 3.65-1 3.18 0 4.03.43 4.03 1.35v.2a46.13 46.13 0 0 1 4.24.03l.02-.55c0-3.36-2.8-4.46-8.2-4.46-6.08 0-8.13 1.49-8.13 4.39 0 2.6 1.64 4.23 7.48 4.48 4.3.14 4.77.62 4.77 1.28 0 .7-.7 1.03-3.71 1.03-3.47 0-4.35-.48-4.35-1.47v-.13Zm19.82-12.05a17.5 17.5 0 0 1-6.24 3.48c.03.84.03 2.4.03 3.24l1.5.02c-.02 1.63-.04 3.6-.04 4.9 0 3.04 1.6 5.32 6.58 5.32 2.1 0 3.5-.23 5.23-.6a43.77 43.77 0 0 1-.46-4.13c-1.03.34-2.34.53-3.78.53-2 0-2.82-.55-2.82-2.13 0-1.37 0-2.65.03-3.84 2.57.02 5.13.07 6.64.11-.02-1.18.03-2.9.1-4.04-2.2.04-4.65.07-6.68.07l.07-2.93h-.16Zm13.46 6.04a767.33 767.33 0 0 1 .07-3.18H82.6c.07 1.96.07 3.98.07 6.92 0 2.95-.03 4.99-.07 6.93h5.18c-.09-1.37-.11-3.68-.11-5.65 0-3.1 1.26-4 4.12-4 1.33 0 2.28.16 3.1.46.03-1.16.26-3.43.4-4.43-.86-.25-1.81-.41-2.96-.41-2.46-.03-4.26.98-5.1 3.38l-.17-.02Zm22.55 3.65c0 2.5-1.8 3.66-4.64 3.66-2.81 0-4.61-1.1-4.61-3.66s1.82-3.52 4.61-3.52c2.82 0 4.64 1.03 4.64 3.52Zm4.71-.11c0-4.96-3.87-7.18-9.35-7.18-5.5 0-9.23 2.22-9.23 7.18 0 4.94 3.49 7.59 9.21 7.59 5.77 0 9.37-2.65 9.37-7.6Z"/><defs><linearGradient id="a" x1="6.33" x2="19.43" y1="40.8" y2="34.6" gradientUnits="userSpaceOnUse"><stop stop-color="#D83333"/><stop offset="1" stop-color="#F041FF"/></linearGradient></defs></svg>

1
website-v2/src/assets/background.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1440" height="1024" fill="none"><path fill="url(#a)" fill-rule="evenodd" d="M-217.58 475.75c91.82-72.02 225.52-29.38 341.2-44.74C240 415.56 372.33 315.14 466.77 384.9c102.9 76.02 44.74 246.76 90.31 366.31 29.83 78.24 90.48 136.14 129.48 210.23 57.92 109.99 169.67 208.23 155.9 331.77-13.52 121.26-103.42 264.33-224.23 281.37-141.96 20.03-232.72-220.96-374.06-196.99-151.7 25.73-172.68 330.24-325.85 315.72-128.6-12.2-110.9-230.73-128.15-358.76-12.16-90.14 65.87-176.25 44.1-264.57-26.42-107.2-167.12-163.46-176.72-273.45-10.15-116.29 33.01-248.75 124.87-320.79Z" clip-rule="evenodd" style="opacity:.154"/><path fill="url(#b)" fill-rule="evenodd" d="M1103.43 115.43c146.42-19.45 275.33-155.84 413.5-103.59 188.09 71.13 409 212.64 407.06 413.88-1.94 201.25-259.28 278.6-414.96 405.96-130 106.35-240.24 294.39-405.6 265.3-163.7-28.8-161.93-274.12-284.34-386.66-134.95-124.06-436-101.46-445.82-284.6-9.68-180.38 247.41-246.3 413.54-316.9 101.01-42.93 207.83 21.06 316.62 6.61Z" clip-rule="evenodd" style="opacity:.154"/><defs><linearGradient id="b" x1="373" x2="1995.44" y1="1100" y2="118.03" gradientUnits="userSpaceOnUse"><stop stop-color="#D83333"/><stop offset="1" stop-color="#F041FF"/></linearGradient><linearGradient id="a" x1="107.37" x2="1130.66" y1="1993.35" y2="1026.31" gradientUnits="userSpaceOnUse"><stop stop-color="#3245FF"/><stop offset="1" stop-color="#BC52EE"/></linearGradient></defs></svg>

209
website-v2/src/components/Welcome.astro

@ -0,0 +1,209 @@
---
import astroLogo from '../assets/astro.svg';
import background from '../assets/background.svg';
---
<div id="container">
<img id="background" src={background.src} alt="" fetchpriority="high" />
<main>
<section id="hero">
<a href="https://astro.build"
><img src={astroLogo.src} width="115" height="48" alt="Astro Homepage" /></a
>
<h1>
To get started, open the <code><pre>src/pages</pre></code> directory in your project.
</h1>
<section id="links">
<a class="button" href="https://docs.astro.build">Read our docs</a>
<a href="https://astro.build/chat"
>Join our Discord <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 127.14 96.36"
><path
fill="currentColor"
d="M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.25 8.09C2.79 32.65-1.71 56.6.54 80.21a105.73 105.73 0 0 0 32.17 16.15 77.7 77.7 0 0 0 6.89-11.11 68.42 68.42 0 0 1-10.85-5.18c.91-.66 1.8-1.34 2.66-2a75.57 75.57 0 0 0 64.32 0c.87.71 1.76 1.39 2.66 2a68.68 68.68 0 0 1-10.87 5.19 77 77 0 0 0 6.89 11.1 105.25 105.25 0 0 0 32.19-16.14c2.64-27.38-4.51-51.11-18.9-72.15ZM42.45 65.69C36.18 65.69 31 60 31 53s5-12.74 11.43-12.74S54 46 53.89 53s-5.05 12.69-11.44 12.69Zm42.24 0C78.41 65.69 73.25 60 73.25 53s5-12.74 11.44-12.74S96.23 46 96.12 53s-5.04 12.69-11.43 12.69Z"
></path></svg
>
</a>
</section>
</section>
</main>
<a href="https://astro.build/blog/astro-5/" id="news" class="box">
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"
><path
d="M24.667 12c1.333 1.414 2 3.192 2 5.334 0 4.62-4.934 5.7-7.334 12C18.444 28.567 18 27.456 18 26c0-4.642 6.667-7.053 6.667-14Zm-5.334-5.333c1.6 1.65 2.4 3.43 2.4 5.333 0 6.602-8.06 7.59-6.4 17.334C13.111 27.787 12 25.564 12 22.666c0-4.434 7.333-8 7.333-16Zm-6-5.333C15.111 3.555 16 5.556 16 7.333c0 8.333-11.333 10.962-5.333 22-3.488-.774-6-4-6-8 0-8.667 8.666-10 8.666-20Z"
fill="#111827"></path></svg
>
<h2>What's New in Astro 5.0?</h2>
<p>
From content layers to server islands, click to learn more about the new features and
improvements in Astro 5.0
</p>
</a>
</div>
<style>
#background {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
filter: blur(100px);
}
#container {
font-family: Inter, Roboto, 'Helvetica Neue', 'Arial Nova', 'Nimbus Sans', Arial, sans-serif;
height: 100%;
}
main {
height: 100%;
display: flex;
justify-content: center;
}
#hero {
display: flex;
align-items: start;
flex-direction: column;
justify-content: center;
padding: 16px;
}
h1 {
font-size: 22px;
margin-top: 0.25em;
}
#links {
display: flex;
gap: 16px;
}
#links a {
display: flex;
align-items: center;
padding: 10px 12px;
color: #111827;
text-decoration: none;
transition: color 0.2s;
}
#links a:hover {
color: rgb(78, 80, 86);
}
#links a svg {
height: 1em;
margin-left: 8px;
}
#links a.button {
color: white;
background: linear-gradient(83.21deg, #3245ff 0%, #bc52ee 100%);
box-shadow:
inset 0 0 0 1px rgba(255, 255, 255, 0.12),
inset 0 -2px 0 rgba(0, 0, 0, 0.24);
border-radius: 10px;
}
#links a.button:hover {
color: rgb(230, 230, 230);
box-shadow: none;
}
pre {
font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas,
'DejaVu Sans Mono', monospace;
font-weight: normal;
background: linear-gradient(14deg, #d83333 0%, #f041ff 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0;
}
h2 {
margin: 0 0 1em;
font-weight: normal;
color: #111827;
font-size: 20px;
}
p {
color: #4b5563;
font-size: 16px;
line-height: 24px;
letter-spacing: -0.006em;
margin: 0;
}
code {
display: inline-block;
background:
linear-gradient(66.77deg, #f3cddd 0%, #f5cee7 100%) padding-box,
linear-gradient(155deg, #d83333 0%, #f041ff 18%, #f5cee7 45%) border-box;
border-radius: 8px;
border: 1px solid transparent;
padding: 6px 8px;
}
.box {
padding: 16px;
background: rgba(255, 255, 255, 1);
border-radius: 16px;
border: 1px solid white;
}
#news {
position: absolute;
bottom: 16px;
right: 16px;
max-width: 300px;
text-decoration: none;
transition: background 0.2s;
backdrop-filter: blur(50px);
}
#news:hover {
background: rgba(255, 255, 255, 0.55);
}
@media screen and (max-height: 368px) {
#news {
display: none;
}
}
@media screen and (max-width: 768px) {
#container {
display: flex;
flex-direction: column;
}
#hero {
display: block;
padding-top: 10%;
}
#links {
flex-wrap: wrap;
}
#links a.button {
padding: 14px 18px;
}
#news {
right: 16px;
left: 16px;
bottom: 2.5rem;
max-width: 100%;
}
h1 {
line-height: 1.5;
}
}
</style>

409
website-v2/src/data/versions.ts

@ -0,0 +1,409 @@
export interface VersionData {
stable: Version;
beta: Version;
}
export interface Version {
long: string;
short: string;
type?: string;
date: string;
sdk: {
long: string;
short: string;
date: string;
};
}
export interface Download {
version: string;
date: string;
note?: string;
downloads: DownloadLink[];
}
export interface DownloadLink {
url: string;
type: string;
system: string;
description?: string;
rowspan?: number;
}
export const versions: VersionData = {
stable: {
long: "24.09",
short: "2409",
date: "2024-11-29",
sdk: {
long: "24.09",
short: "2409",
date: "2024-11-29",
},
},
beta: {
long: "24.09",
short: "2409",
type: "beta",
date: "2024-11-29",
sdk: {
long: "24.09",
short: "2409",
date: "2024-11-29",
},
},
};
export const { stable, beta } = versions;
export const currentDownloads: Download[] = [
{
version: stable.long,
date: stable.date,
note: "<p>我们更建议使用 <b>exe</b> 版本的安装包而不是 <b>msi</b> 安装包。</p>",
downloads: [
{
url: `https://www.7-zip.org/a/7z${stable.short}-x64.exe`,
type: ".exe",
system: "64 位 Windows x64",
description: "7-Zip Windows",
rowspan: 3,
},
{
url: `https://www.7-zip.org/a/7z${stable.short}.exe`,
type: ".exe",
system: "32 位 Windows x86",
},
{
url: `https://www.7-zip.org/a/7z${stable.short}-arm64.exe`,
type: ".exe",
system: "64 位 Windows arm64",
},
{
url: `https://www.7-zip.org/a/7z${stable.short}-x64.msi`,
type: ".msi",
system: "64 位 Windows x64",
description: "(MSI 安装包)7-Zip Windows 64 位(Intel 64 或 AMD64)",
},
{
url: `https://www.7-zip.org/a/7z${stable.short}.msi`,
type: ".msi",
system: "32-bit Windows x86",
description: "(MSI 安装包)7-Zip Windows 32 位",
},
{
url: `https://www.7-zip.org/a/7z${stable.short}-extra.7z`,
type: ".7z",
system: "Windows x86 / x64",
description: "7-Zip 附加包:7z 独立命令行版本、7z DLL、Far 管理器插件",
},
{
url: `https://www.7-zip.org/a/7z${stable.short}-linux-x64.tar.xz`,
type: ".tar.xz",
system: "64-bit Linux x86-64",
description: "7-Zip Linux:命令行版本",
rowspan: 4,
},
{
url: `https://www.7-zip.org/a/7z${stable.short}-linux-x86.tar.xz`,
type: ".tar.xz",
system: "32 位 Linux x86",
},
{
url: `https://www.7-zip.org/a/7z${stable.short}-linux-arm64.tar.xz`,
type: ".tar.xz",
system: "64 位 Linux arm64",
},
{
url: `https://www.7-zip.org/a/7z${stable.short}-linux-arm.tar.xz`,
type: ".tar.xz",
system: "32 位 Linux arm",
},
{
url: `https://www.7-zip.org/a/7z${stable.short}-mac.tar.xz`,
type: ".7z",
system: "macOS(arm64 / x86-64)",
description: "7-Zip MacOS:命令行版本",
},
{
url: `https://www.7-zip.org/a/7z${stable.short}-src.7z`,
type: ".7z",
system: "任意 / Windows",
description: "7-Zip 源代码",
},
{
url: `https://www.7-zip.org/a/7z${stable.short}-src.tar.xz`,
type: ".tar.xz",
system: "任意 / Windows",
description: "7-Zip 源代码",
},
{
url: `https://www.7-zip.org/a/lzma${stable.short}.7z`,
type: ".7z",
system: "任意 / Windows",
description: "LZMA SDK(C、C++、C#、Java)",
},
{
url: "https://www.7-zip.org/a/7zr.exe",
type: ".exe",
system: "Windows",
description: "7zr.exe(x86):7-Zip 命令行可执行文件",
},
],
},
];
export const legacyDownloads: Download[] = [
{
version: "23.01",
date: "2023-06-20",
downloads: [
{
url: "https://www.7-zip.org/a/7z2201-x64.exe",
type: ".exe",
system: "64 位 Windows x64",
description: "7-Zip Windows",
rowspan: 3,
},
{
url: "https://www.7-zip.org/a/7z2201.exe",
type: ".exe",
system: "32 位 Windows x86",
},
{
url: "https://www.7-zip.org/a/7z2201-arm64.exe",
type: ".exe",
system: "64 位 Windows arm64",
},
{
url: "https://www.7-zip.org/a/7z2201-x64.msi",
type: ".msi",
system: "64 位 Windows x64",
description: "(MSI 安装包)7-Zip Windows 64 位(Intel 64 或 AMD64)",
},
{
url: "https://www.7-zip.org/a/7z2201.msi",
type: ".msi",
system: "32-bit Windows x86",
description: "(MSI 安装包)7-Zip Windows 32 位",
},
{
url: "https://www.7-zip.org/a/7z2201-extra.7z",
type: ".7z",
system: "Windows x86 / x64",
description: "7-Zip 附加包:7z 独立命令行版本、7z DLL、Far 管理器插件",
},
{
url: "https://www.7-zip.org/a/7z2201-linux-x64.tar.xz",
type: ".tar.xz",
system: "64-bit Linux x86-64",
description: "7-Zip Linux:命令行版本",
rowspan: 4,
},
{
url: "https://www.7-zip.org/a/7z2201-linux-x86.tar.xz",
type: ".tar.xz",
system: "32 位 Linux x86",
},
{
url: "https://www.7-zip.org/a/7z2201-linux-arm64.tar.xz",
type: ".tar.xz",
system: "64 位 Linux arm64",
},
{
url: "https://www.7-zip.org/a/7z2201-linux-arm.tar.xz",
type: ".tar.xz",
system: "32 位 Linux arm",
},
{
url: "https://www.7-zip.org/a/7z2201-src.7z",
type: ".7z",
system: "任意 / Windows",
description: "7-Zip 源代码",
},
{
url: "https://www.7-zip.org/a/7z2201-src.tar.xz",
type: ".tar.xz",
system: "任意 / Windows",
description: "7-Zip 源代码",
},
{
url: "https://www.7-zip.org/a/lzma2201.7z",
type: ".7z",
system: "任意 / Windows",
description: "LZMA SDK(C、C++、C#、Java)",
},
],
},
{
version: "21.07",
date: "2021-12-26",
downloads: [
{
url: "https://www.7-zip.org/a/7z2107-mac.tar.xz",
type: ".tar.xz",
system: "macOS(arm64 / x86-64)",
description: "7-Zip MacOS:命令行版本",
},
],
},
{
version: "19.00",
date: "2019-02-21,Windows",
downloads: [
{
url: "https://www.7-zip.org/a/7z1900-x64.exe",
type: ".exe",
system: "64 位 x64",
description: "7-Zip Windows 64 位(Intel 64 或 AMD64)",
},
{
url: "https://www.7-zip.org/a/7z1900.exe",
type: ".exe",
system: "32 位 x86",
description: "7-Zip Windows 32 位",
},
{
url: "https://www.7-zip.org/a/7z1900-extra.7z",
type: ".7z",
system: "x86 / x64",
description:
"7-Zip Extra: standalone console version, 7z DLL, Plugin for Far Manager",
},
{
url: "https://www.7-zip.org/a/7z1900-src.7z",
type: ".7z",
system: "任意",
description: "7-Zip 源代码",
},
{
url: "https://www.7-zip.org/a/lzma1900.7z",
type: ".7z",
system: "任意 / x86 / x64",
description: "LZMA SDK(C、C++、C#、Java)",
},
{
url: "https://www.7-zip.org/a/7z1900-x64.msi",
type: ".msi",
system: "64 位 x64",
description: "(MSI 安装包)7-Zip Windows 64 位(Intel 64 或 AMD64)",
},
{
url: "https://www.7-zip.org/a/7z1900.msi",
type: ".msi",
system: "32 位 x86",
description: "(MSI 安装包)7-Zip Windows 32 位",
},
],
},
{
version: "16.04",
date: "2016-10-04,Windows",
downloads: [
{
url: "https://www.7-zip.org/a/7z1604.exe",
type: ".exe",
system: "32 位 x86",
description: "7-Zip Windows 32 位",
},
{
url: "https://www.7-zip.org/a/7z1604-x64.exe",
type: ".exe",
system: "64 位 x64",
description: "7-Zip Windows 64 位(Intel 64 或 AMD64)",
},
{
url: "https://www.7-zip.org/a/7z1604-extra.7z",
type: ".7z",
system: "x86 / x64",
description: "7-Zip 附加包:独立命令行、7z 程序库、Far 管理器插件",
},
{
url: "https://www.7-zip.org/a/7z1604-src.7z",
type: ".7z",
system: "任意",
description: "7-Zip 源代码",
},
{
url: "https://www.7-zip.org/a/lzma1604.7z",
type: ".7z",
system: "任意 / x86 / x64",
description: "LZMA SDK(C、C++、C#、Java)",
},
{
url: "https://www.7-zip.org/a/7z1604.msi",
type: ".msi",
system: "32 位 x86",
description: "(MSI 安装包)7-Zip Windows 32 位",
},
{
url: "https://www.7-zip.org/a/7z1604-x64.msi",
type: ".msi",
system: "64 位 x64",
description: "(MSI 安装包)7-Zip Windows 64 位(Intel 64 或 AMD64)",
},
],
},
{
version: "9.20",
date: "2010-11-18,Windows",
downloads: [
{
url: "https://www.7-zip.org/a/7z920.exe",
type: ".exe",
system: "32 位 x86",
description: "7-Zip Windows 32 位",
rowspan: 2,
},
{
url: "https://www.7-zip.org/a/7z920.msi",
type: ".msi",
system: "32 位 x86",
},
{
url: "https://www.7-zip.org/a/7z920-x64.msi",
type: ".msi",
system: "64 位 x64",
description: "7-Zip Windows 64 位(Intel 64 或 AMD64)",
},
{
url: "https://www.7-zip.org/a/7z920-ia64.msi",
type: ".msi",
system: "IA-64",
description: "7-Zip 64 位(IA-64 安腾 Itanium CPU)",
},
{
url: "https://www.7-zip.org/a/7z920-arm.exe",
type: ".exe",
system: "ARM-WinCE",
description: "7-Zip for Windows Mobile / Windows CE (ARM)",
},
{
url: "https://www.7-zip.org/a/7za920.zip",
type: ".zip",
system: "32 位",
description: "7-Zip 命令行版本",
},
{
url: "https://www.7-zip.org/a/7z920.tar.bz2",
type: ".tar.bz2",
system: "任意",
description: "7-Zip 源代码",
},
{
url: "https://www.7-zip.org/a/7z920_extra.7z",
type: ".7z",
system: "32 位",
description:
"7-Zip 附加包:7z 程序库、安装模式自释放模块、FAR 管理器插件",
},
{
url: "https://www.7-zip.org/a/lzma920.tar.bz2",
type: ".tar.bz2",
system: "任意",
description: "LZMA SDK(C、C++、C#、Java)",
rowspan: 2,
},
],
},
];

248
website-v2/src/layouts/Layout.astro

@ -0,0 +1,248 @@
---
// Layout.astro
interface Props {
title: string;
currentPage?: string;
frontmatter?: {
title?: string;
currentPage?: string;
};
}
const {
frontmatter = {},
title: propTitle,
currentPage: propCurrentPage = "home",
} = Astro.props;
// Merge frontmatter and props, with props taking precedence
const title = propTitle || frontmatter.title;
const currentPage = frontmatter.currentPage || propCurrentPage;
const siteName = "7-Zip";
const currentYear = new Date().getFullYear();
const baseUrl = import.meta.env.BASE_URL;
const menuItems = [
{ id: "home", label: "首页", href: "./" },
{ id: "7z", label: "7z 格式", href: "7z.html" },
{ id: "sdk", label: "LZMA SDK", href: "sdk.html" },
{ id: "download", label: "下载", href: "download.html" },
{ id: "faq", label: "常见问题", href: "faq.html" },
{ id: "support", label: "支持", href: "support.html" },
{ id: "links", label: "链接", href: "links.html" },
];
---
<!doctype html>
<html lang="zh-CN">
<head>
<title>{currentPage !== "home" ? `${siteName} - ${title}` : title}</title>
<link href={`${baseUrl}/favicon.ico`} rel="shortcut icon" />
<meta
name="keywords"
content="7-zip, 7zip, 7z, lzma, sevenzip, archiver, compression, zip, best, compress, compressor, gnu, lgpl, unzip, far, win32"
/>
</head>
<body>
<table cellspacing="10" cellpadding="10" width="100%">
<tbody>
<tr>
<td class="MenuColumn" valign="top">
<table cellpadding="2" cellspacing="0" width="100%">
<tbody>
<tr>
<td>
<img
width="110"
height="63"
src={`${baseUrl}/img/7ziplogo.png`}
alt="7-Zip"
/>
</td>
</tr>
<tr>
<td>
<hr />
</td>
</tr>
</tbody>
</table>
<table cellpadding="2" cellspacing="0">
<tbody>
{
menuItems.map((item) => (
<tr>
<td>
<a
href={
currentPage !== item.id
? `${baseUrl}/${item.href}`
: undefined
}
class={
currentPage === item.id
? "menu-current"
: "menu-link"
}
>
{item.label}
</a>
</td>
</tr>
))
}
</tbody>
</table>
<table cellpadding="2" cellspacing="0" width="100%">
<tbody>
<tr>
<td>
<hr />
</td>
</tr>
</tbody>
</table>
<p>
<strong>简体中文</strong>
<br />
<a href="https://www.developershome.com/7-zip/">正體中文</a>
<br />
<a href="https://www.7-zip.org/">Other Languages</a>
<br />
</p>
</td>
<td valign="top">
<slot />
<hr />
<p>
<small>Copyright (C) {currentYear} Igor Pavlov.</small>
</p>
</td>
</tr>
</tbody>
</table>
<!-- Analytics -->
<script
is:inline
defer
data-domain="sparanoid.com"
src="https://get.openbayes.net/js/script.js"></script>
</body>
</html>
<style is:global>
body {
font-family: Verdana, Arial, sans-serif;
font-size: 12px;
color: black;
background-color: white;
}
th {
font-size: 12px;
}
td {
font-size: 12px;
}
h1 {
font-size: 24px;
text-align: center;
}
h2 {
font-size: 18px;
text-align: center;
}
h4 {
font-size: 14px;
}
.News {
width: 220px;
background-color: silver;
}
.NewsHeader {
background-color: #8080e0;
}
table .News .News {
background-color: #fff8f8;
}
.NewsTitle {
width: 55%;
font-weight: bold;
color: white;
}
.NewsDate {
font-weight: bold;
color: white;
text-align: right;
}
.menu-link {
font-weight: bold;
color: blue;
text-align: left;
text-decoration: none;
}
.menu-link:hover {
color: green;
}
.menu-current {
font-weight: bold;
text-align: left;
}
.MenuColumn {
width: 120px;
background-color: #e0e0e0;
}
.Layout {
background-color: white;
}
.Title {
background-color: #a0e0a0;
}
.Item {
background-color: #e8e8e8;
}
.SubItem {
background-color: #ffffff;
}
.ExternalProgram {
background-color: #e8d0e8;
}
.text-center {
text-align: center;
}
a {
text-decoration: none;
}
form {
margin-bottom: 0;
}
.donate-wrap {
.donate-tip {
display: none;
}
&:hover,
&:focus {
.donate-tip {
display: block;
}
}
}
</style>

98
website-v2/src/pages/7z.astro

@ -0,0 +1,98 @@
---
import Layout from "../layouts/Layout.astro";
const algorithms = [
{ name: "LZMA", description: "改良与优化后的 LZ77 算法" },
{ name: "LZMA2", description: "改良的 LZMA 算法" },
{ name: "PPMD", description: "基于 Dmitry Shkarin 的 PPMdH 算法" },
{ name: "BCJ", description: "32 位 x86 可执行文件转换程序" },
{ name: "BCJ2", description: "32 位 x86 可执行文件转换程序" },
{ name: "BZip2", description: "标准 BWT 算法" },
{ name: "Deflate", description: "标准 LZ77-based 算法" },
];
const title = "7z 格式";
---
<Layout title={title} currentPage="7z">
<h1>{title}</h1>
<p><b>7z</b> 是一种全新的压缩格式,它拥有极高的压缩比。</p>
<p><b>7z</b> 格式的主要特征:</p>
<ul>
<li>开放的结构</li>
<li>高压缩比</li>
<li>强大的 AES-256 加密</li>
<li>能够兼容任意压缩、转换、加密算法</li>
<li>最高支持 16000000000 GB 的文件压缩</li>
<li>以 Unicode 为标准的文件名</li>
<li>支持固实压缩</li>
<li>支持文件头压缩</li>
</ul>
<p>
<b>7z</b> 已公开了结构编辑功能,所以它可以支持任何一种新的压缩算法。到目前为止,下列压缩算法已被整合到了
<b>7z</b> 中:
</p>
<table cellspacing="2" cellpadding="4">
<tr>
<th class="Title" style="width: 60px;">压缩算法</th>
<th class="Title">备注</th>
</tr>
{
algorithms.map((algo) => (
<tr>
<td class="Item">{algo.name}</td>
<td class="Item">{algo.description}</td>
</tr>
))
}
</table>
<p>
<b>LZMA</b> 算法是 <b>7z</b> 格式的默认算法。<b>LZMA</b> 算法具有以下主要特征:
</p>
<ul>
<li>高压缩比</li>
<li>可变字典大小(最大 4 GB)</li>
<li>压缩速度:运行于 2 GHz 的处理器可达到 1 MB/秒</li>
<li>解压缩速度:运行于 2 GHz 的处理器可达到 10-20 MB/秒</li>
<li>较小的解压缩内存需求(取决于字典大小)</li>
<li>较小的解压缩代码:约 5 KB</li>
<li>支持 Pentium 4 的超线程(Hyper-Threading)技术及多处理器</li>
</ul>
<p>
<b>LZMA</b> 压缩算法非常适于应用程序的内嵌。<b>LZMA</b> 发布于 GNU LGPL 许可协议之下,如果您想使用
<b>LZMA</b> 的代码,您可以通过 <a href="support.html"
>发送信息到 LZMA 开发部</a
> 来咨询和自定义设计代码及制定开发者的使用许可。您也可以点击此处来查看有关 LZMA
SDK 的信息: <a href="sdk.html">LZMA SDK</a>.
</p>
<!--
<P>7-Zip also supports encryption with AES-256 algorithm.
This algorithm uses cipher key with length of 256 bits. To create that key 7-Zip
uses derivation function based on SHA-256 hash algorithm.
A key derivation function produces a derived key from text password defined by user.
For increasing the cost of exhaustive search for passwords 7-Zip uses big number
of iterations to produce cipher key from text password.</P>
-->
<p>
<b>7z</b> 是 <a href="./">7-Zip</a> 发布于 GNU LGPL 许可下的子程序。您可从 <a
href="download.html">下载页面</a
> 下载 <b>7-Zip</b> 的源代码。
</p>
<p>
支持 <b>7z</b> 压缩格式的应用程序:WinRAR、PowerArchiver、TUGZip、IZArc。
</p>
<p>相关链接:</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/7z">Wikipedia 的 7z 页面</a></li>
</ul>
</Layout>

146
website-v2/src/pages/download.astro

@ -0,0 +1,146 @@
---
import Layout from "../layouts/Layout.astro";
import { currentDownloads, legacyDownloads } from "../data/versions";
// combine current and legacy downloads
const resolvedDownloads = [...currentDownloads, ...legacyDownloads];
const title = "程序下载";
---
<Layout title={title} currentPage="download">
<h1>{title}</h1>
<!-- Beta version downloads commented out as in original -->
<!-- <p><b>下载 7-Zip {{ ver.beta.long }} beta 测试版({{ ver.beta.date }},Windows)</b>:</p>
... -->
<p>我们更建议使用 <b>exe</b> 版本的安装包而不是 <b>msi</b> 安装包。</p>
{
resolvedDownloads.map((version) => (
<div>
<p>
<b>
下载 7-Zip {version.version}({version.date}):
</b>
</p>
<table cellspacing="1" cellpadding="6" border="0">
<thead>
<tr>
<th class="Title" style="width: 60px;">
链接
</th>
<th class="Title" style="width: 60px;">
类型
</th>
<th class="Title" style="width: 160px;">
系统
</th>
<th class="Title">描述</th>
</tr>
</thead>
<tbody>
{version.downloads.map((download) => (
<tr>
<td class="Item text-center">
<a href={download.url}>下载</a>
</td>
<td class="Item text-center">{download.type}</td>
<td class="Item">{download.system}</td>
{download.description && (
<td class="Item" rowspan={download.rowspan || 1}>
{download.description}
</td>
)}
</tr>
))}
</tbody>
</table>
{version.note && <Fragment set:html={version.note} />}
</div>
))
}
<p>您可以在 SourceForge 下载其他板本的 7-Zip(包括老板本和测试版本):</p>
<p>
<a href="https://sourceforge.net/projects/sevenzip/files/"
>在 SourceForge 上的 7-Zip 文件页面</a
>
</p>
<p>
<a href="https://sourceforge.net/projects/sevenzip/"
>在 SourceForge 上的 7-Zip 项目页面</a
>
</p>
<p><b>下载 p7zip for Posix/Linux(x86 二进制文件及源代码)</b>:<br /></p>
<p><a href="https://sourceforge.net/projects/p7zip/files/">下载 p7zip</a></p>
<p>
<a href="https://sourceforge.net/projects/p7zip/"
>Source Forge 中的 p7zip 页面</a
>
</p>
<p>
p7zip 是 Unix/Linux 下的 7-Zip 命令行版本,是由网上的 7-Zip
爱好者独立开发的。
</p>
<p><b>Linux 及其它操作系统上的一些非官方 p7zip:</b></p>
<ul>
<li>
<a href="http://packages.debian.org/sid/p7zip-full"
>p7zip for Debian (and Ubuntu)</a
>
</li>
<li>
<a href="http://timeoff.wsisiz.edu.pl/rpms.html">p7zip for Fedora Core</a>
</li>
<li>
<a href="http://packages.gentoo.org/package/app-arch/p7zip"
>p7zip for Gentoo</a
>
</li>
<li>
<a href="http://www.sisyphus.ru/srpm/p7zip">p7zip for AltLinux.org</a>
</li>
<li>
<a href="http://www.freshports.org/archivers/p7zip/">p7zip for FreeBSD</a>
</li>
<li><a href="http://homepage.mac.com/krmathis/">p7zip for Mac OS X</a></li>
<li>
<a href="http://www.macupdate.com/info.php/id/19139">EZ 7z for Mac OS X</a
>
</li>
<li><a href="http://sixtyfive.xmghosting.com/">7zX for Mac OS X</a></li>
<li>
<a href="http://www.kekaosx.com/">keka - 免费的 Mac OS X 压缩软件</a>
</li>
<li><a href="http://www.bebits.com/app/4079">p7zip for BeOS</a></li>
<li>
<a
href="http://ftp.ibiblio.org/pub/micro/pc-stuff/freedos/files/util/file/7zip/"
>p7zip for DOS / DJGPP</a
>
</li>
<li><a href="http://aminet.net/search?name=p7zip">p7zip for Amiga</a></li>
<li>
<a href="http://www.opencsw.org/packages/p7zip">p7zip for Solaris</a>
</li>
<li>
<a href="http://www.perzl.org/aix/index.php?n=Main.P7zip">p7zip for AIX</a
>
</li>
</ul>
<p><b>其它系统上的 7-Zip:</b></p>
<ul>
<li>
<a href="http://4pda.ru/forum/index.php?showtopic=69426"
>7-Zip 解压程序 for WinCE</a
>
</li>
</ul>
</Layout>

145
website-v2/src/pages/faq.md

@ -0,0 +1,145 @@
---
layout: ../layouts/Layout.astro
title: 常见问题解答(FAQ)
currentPage: faq
---
# 常见问题解答(FAQ)
- [用户常见问题解答](#user_faq)
- [开发者常见问题解答](#developer_faq)
## <a name="user_faq"></a>用户常见问题解答
#### 我能否使用 7-Zip 用于商业用途?
可以,7-Zip 是自由软件。您可以在任何电脑上使用它,您不需要对 7-Zip 进行捐赠或付钱。
#### 我如何在 Windows 7 以及 Windows Vista 中让 7-Zip 关联文件?
您必须以管理员方式运行一次 7-Zip 文件管理器。右键点击 7-Zip 文件管理器图标,选择"以管理员方式运行"。然后您就可以在设置中关联文件了。
#### 为什么新版本 7-Zip 创建的某些 7z 压缩包要比老版本的 7-Zip 大?
新版本的 7-Zip(从 15.06 开始)为固实 7z 压缩包默认使用了另一种文件排序顺序。
老版本的 7-Zip(15.06 之前的版本)使用的排序方法为「按类型」(按文件扩展名)。
新版本的 7-Zip 支持两种文件排序方法:
- 按名称排序 - 默认排序。
- 按类型排序,如果在「添加到压缩包」窗口中的参数字段中增加了「**qs**」参数(或命令行版本中的 **-mqs** 开关)。
如果字典大小小于总文件大小,不同的排序方法可能会在压缩比上产生很大差异。如果在不同的文件夹中包含类似的文件,那么「按类型」排序在某些情况下可能提供更好的压缩比。
请注意「按类型」排序的缺点。例如使用「按名称」排序的 NTFS 卷,所以如果一个压缩包使用了别的排序方法,那么对于这些非常规的文件排序在机械硬盘(HDD)设备上的操作速度可能会受到影响(机械硬盘的寻道时间通常会比较慢)。
您可以通过下列方法提升压缩比:
- 增大字典大小。在没使用「**qs**」参数时有效。
- 在「添加到压缩包」窗口中的参数字段中增加了「**qs**」参数(或命令行版本中的 **-mqs** 开关)。
如果您认为非常规文件排序对您并不是问题,并且使用高压缩比配合较小的字典大小对您来说更重要,那么就使用「**qs**」模式。
#### 为何 7-Zip 无法打开部分 ZIP 压缩包?
绝大多数是因为该压缩包的文件头错误。ZIP 压缩包包含两个文件头,7-Zip 对两个文件头都进行读取,如果其中任意一个包含错误数据,7-Zip 就不会打开它。而其它支持 ZIP 格式的程序能够打开部分有错误的压缩包,因为那些程序通常只读取一分文件头,或者程序将错误的数据忽略。
所以,如果您有类似的压缩包,请不要向 7-Zip 技术支持询问其原因。您最好试着找到创建此压缩包的原程序,并向他们的技术支持发送错误报告,来告知它与 ZIP 格式不完全兼容。
目前同样还有一些 ZIP 压缩包使用的是 7-Zip 不支持的编码格式,例如 WAVPack (WinZip)。
#### 为何 7-Zip 无法打开部分 RAR 压缩包?
7-Zip 9.20 只支持 RAR 2/3/4 格式,并不支持 RAR5 压缩包。但最新版本的 7-Zip 已支持 RAR5 压缩包。
#### 为什么从 7-Zip 拖拽文件到 Windows 资源管理器时要先提取到临时文件?
7-Zip 并不知道拖拽到的目标路径。只有 Windows 文件管理器知道拖拽的目标路径。并且 Windows 资源管理器需要在硬盘上有已解压缩的文件才可以往下进行操作。所以 7-Zip 要先提取文件到临时文件夹,然后 7-Zip 会通知 Windows 资源管理器,之后由资源管理器将文件复制到拖拽的目标路径。
如果想避免使用临时文件,您可以使用提取命令,或在 7-Zip 文件管理器之内进行拖拽操作。
#### 为什么在命令行版本中无法添加没有扩展名的文件?
您大概是使用了 _._ 通配符。7-Zip 使用的并不是系统处理通配符的默认方法,因而 7-Zip 不支持其它通配符规则,在系统中 _._ 相当于所有文件。而 7-Zip 会将其视为任何扩展名的全部文件。所以,要处理所有文件您必须使用 \* 通配符。
#### 为什么 -r 选项不会像我预期的那样执行?
通常情况下您并不需要使用 -r 选项。7-Zip 在没有 -r 选项的情况下一样可以压缩子文件夹。
示例 1:
```cmd
7z.exe a c:\a.7z "C:\Program Files"
```
压缩 "C:\Program Files" 目录,包括所有的子文件夹。
示例 2:
```cmd
7z.exe a -r c:\a.7z "C:\Program Files"
```
搜索并压缩 C:\ 中所有包含 "Program Files" 的文件夹(例如,在 "C:\WINDOWS" 中)。
如果您只想压缩特定的扩展名,可以使用 -r 开关:
```cmd
7z a -r c:\a.zip c:\dir\*.txt
```
压缩所有的 c:\dir\ 下及其子文件夹中的 \*.txt 文件。
#### 我如何在压缩包中存储完整路径?
7-Zip 默认只存储相对文件路径(无驱动器盘符)。您可将要压缩的所有文件放在一个单独的文件夹中然后使用下面的方法:
```cmd
cd /D C:\dir1\
7z.exe a c:\a.7z file1.txt dir2\file2.txt
```
#### 为什么 7-Zip 不能在 32 位 Windows 下使用更大的字典文件?
32 位 Windows 只能为每个应用程序分配 2 GB 的虚拟空间。同样这 2 GB 空间还会包含其他的文件碎片(例如一些要调用的 DLL 文件),所以 7-Zip 无法分配更大的虚拟空间。但在 64 位 Windows 中就不会有限制,如果您有足够大的物理内存,您可以使用任意大小的字典文件。
#### 如何使用安静模式安装 7-Zip?
「/S」用于安静模式安装;/D=dir,为指定的"输出目录"。这些选项是区分大小写的。
对于 msi 安装包:使用 /q INSTALLDIR="C:\Program Files\7-Zip" 参数。
#### 如何恢复受损的 7z 压缩包?
当您遇到下列情形时说明压缩包已受损:
- 您可以打开压缩包并看到里面的文件,但是当您使用释放或测试功能时,提示「数据错误」或「CRC 校验错误」。
- 当您尝试打开压缩包时,出现错误提示「无法作为压缩包打开文件『a.7z』」。
如果遇到上述情形,恢复部分数据是有可能的,请查看数据恢复流程:
[恢复受损 7z 压缩包](https://www.7-zip.org/recover.html)(英文,由于此页面会时常更新,并包含较多术语,原作者要求此页面保留英文)
## <a name="developer_faq"></a>开发者常见问题解答
#### 为何我在使用 Visual C++ 6.0 编译 7-Zip 或 LZMA SDK 时会出现链接错误?
想要编译源码吗?您需要 Visual C++ 6.0 或更高版本。部分文件还需要来自 microsoft.com 的 Platform SDK。
如果您使用 MSVC,请在目录列表上方的"包括文件"及"工具 / 选项 / 目录"中的"库文件"中指定 SDK 目录。
最新的 Platform SDK 与 MSVC6 不兼容。所以您必须使用 Windows Server 2003 PSDK(2003 二月)。
#### 我能否使用 7-Zip 中的 EXE 或 DLL 文件用于商业用途?
可以,但是如果这样的话您必须在文档中注明:(1) 您使用了 7-Zip 程序的某部分文件 (2) 7-Zip 发布于 GNU LGPL 协议 (3) 必须有链接到 www.7-zip.org 的链接,能够找到 7-Zip 的源代码。
#### 如何在我的程序中添加对 7z 格式的支持?
一种方法是使用 7za.dll(可到 sf.net 站点下载)。7za.dll 通过 COM 接口工作。但是它并没有使用标准的 COM 接口。您可以在源代码中找到一些例子。完整的例子就是 7-Zip 本身,7-Zip 本身就通过此 dll 运行。目前还有一些其它的应用程序使用了 7za.dll:WinRAR、PowerArchiver 等等。
其它的方法是调用命令行版本 7za.exe。
#### 我能否在商业应用程序中使用 7-Zip 源代码?
7-Zip 基于 GNU LGPL 许可发布。所以您必须遵守此许可中的条款。简单的说,那意味着任何 LGPL 的代码必须在 LGPL 许可中保持完整性。例如,您可以更改 7-Zip 源代码,并且将它们编译成 DLL。但是这些更改后的 DLL 的源代码(包括您更改、增加、删除的内容)必须遵守 LGPL 或 GPL 许可。您的应用程序的其它源代码可以是属于任意许可的。想设想允许用户及开发者更改基于 LGPL 发布的代码并重编成 DLL。请到 <https://www.gnu.org/> 了解更多信息。同样也可以了解 [LZMA SDK](sdk.html),提供了相比 LGPL 更高自由度的许可。

229
website-v2/src/pages/index.astro

@ -0,0 +1,229 @@
---
import Layout from "../layouts/Layout.astro";
import { versions } from "../data/versions";
const news = [
{
title: "7-Zip 24.09",
date: "2024-11-29",
link: "https://sourceforge.net/p/sevenzip/discussion/45797/thread/b95432c7ac/",
},
{
title: "7-Zip 24.08",
date: "2024-08-11",
link: "https://sourceforge.net/p/sevenzip/discussion/45797/thread/f162d68dcd/",
},
{
title: "7-Zip 24.07",
date: "2024-06-19",
link: "https://sourceforge.net/p/sevenzip/discussion/45797/thread/c84bcb5b5c/",
},
];
---
<Layout title="7-Zip 官方中文网站">
<table cellspacing="4" cellpadding="4">
<tbody>
<tr>
<td>
<h1>欢迎来到 7-Zip 官方中文网站!</h1>
<p><b>7-Zip</b> 是一款拥有极高压缩比的开源压缩软件。</p>
<p>
<b
>下载 7-Zip {versions.stable.long}({
versions.stable.date
})稳定版适用于 Windows x64(64 位):</b
>
</p>
<table cellspacing="1" cellpadding="6">
<tbody>
<tr>
<th class="Title" style="width: 60px;">链接</th>
<th class="Title" style="width: 60px;">格式</th>
<th class="Title" style="width: 80px;">系统</th>
<th class="Title" style="width: 55px;">大小</th>
</tr>
<tr>
<td class="Item text-center">
<a
href={`https://www.7-zip.org/a/7z${versions.stable.short}-x64.exe`}
>下载</a
>
</td>
<td class="Item text-center">.exe</td>
<td class="Item text-center">64 位 x64</td>
<td class="Item text-center">1 MB</td>
</tr>
</tbody>
</table>
<p>
<b
>下载 7-Zip {versions.stable.long} 稳定版适用于其他 Windows 平台(32
位 x86 或 ARM64):</b
>
</p>
<table cellspacing="1" cellpadding="6">
<tbody>
<tr>
<th class="Title" style="width: 60px;">链接</th>
<th class="Title" style="width: 60px;">格式</th>
<th class="Title" style="width: 80px;">系统</th>
<th class="Title" style="width: 55px;">大小</th>
</tr>
<tr>
<td class="Item text-center">
<a
href={`https://www.7-zip.org/a/7z${versions.stable.short}.exe`}
>下载</a
>
</td>
<td class="Item text-center">.exe</td>
<td class="Item text-center">32 位 x86</td>
<td class="Item text-center">1 MB</td>
</tr>
<tr>
<td class="Item text-center">
<a
href={`https://www.7-zip.org/a/7z${versions.stable.short}-arm64.exe`}
>下载</a
>
</td>
<td class="Item text-center">.exe</td>
<td class="Item text-center">64 位 ARM64</td>
<td class="Item text-center">1 MB</td>
</tr>
</tbody>
</table>
<p>
<b>中文版附加内容</b>请 <a href="https://github.com/sparanoid/7z"
>访问 GitHub 查看</a
>。
</p>
<h2>许可协议</h2>
<p>
<b>7-Zip</b> 是一款 <b>开源</b> 的 <b>免费</b> 软件。大多数源代码都基于
<b>GNU LGPL</b> 许可协议下发布。部分代码基于 BSD 3 句条款(BSD 3-clause)许可协议发布。并且,部分代码受到了
unRAR 许可协议的限制。更多许可信息请查看:<a
href="https://github.com/sparanoid/7z/blob/master/zh-cn/License.txt"
>7-Zip 许可</a
>。
</p>
<p>
您可以在任何一台计算机上使用 7-Zip ,包括用在商业用途的计算机。不对
7-Zip 进行注册或支付费用并不影响您的使用。
</p>
<h2>7-Zip 主要特征</h2>
<ul>
<li>
使用了 <b>LZMA</b> 与 <b>LZMA2</b> 算法的 <a href="7z.html"
>7z 格式</a
> 拥有极高的压缩比
</li>
<li>
支持格式:
<ul>
<li>压缩 / 解压缩:7z、XZ、BZIP2、GZIP、TAR、ZIP 以及 WIM</li>
<li>
仅解压缩:AR、ARJ、CAB、CHM、CPIO、CramFS、DMG、EXT、FAT、GPT、HFS、IHEX、ISO、LZH、LZMA、MBR、MSI、NSIS、NTFS、QCOW2、RAR、RPM、SquashFS、UDF、UEFI、VDI、VHD、VMDK、WIM、XAR、Z
以及 ZSTD
</li>
</ul>
</li>
<li>
与 ZIP 及 GZIP 格式相比,<b>7-Zip</b> 能提供比使用 PKZip 及 WinZip
高 2-10% 的压缩比
</li>
<li>为 7z 与 ZIP 提供更完善的 AES-256 加密算法</li>
<li>7z 格式支持创建自释放压缩包</li>
<li>Windows 资源管理器集成</li>
<li>强大的文件管理器</li>
<li>强大的命令行版本</li>
<li>支持 FAR Manager 插件</li>
<li>支持 87 种语言</li>
</ul>
<p>
<b>7-Zip</b> 适用于 Windows 11 / 10 / 8 / 7 / Vista / XP / 2022 / 2019
/ 2016 / 2012 / 2008 / 2003 / 2000。
</p>
<p>
在 <a href="https://sourceforge.net/projects/sevenzip/"
>Source Forge 的 7-Zip 页面</a
>(英文)中您可以找到相关的论坛、错误汇报及系统需求。
</p>
</td>
<td valign="top" style="width: 210px;">
{
news.map((item) => (
<>
<table class="News" cellpadding="3" cellspacing="1">
<tbody>
<tr class="NewsHeader">
<td class="NewsTitle">{item.title}</td>
<td class="NewsDate">{item.date}</td>
</tr>
<tr class="News">
<td class="NewsText" colspan="2">
<a href={item.link}>{item.title}</a>
</td>
</tr>
</tbody>
</table>
<br />
</>
))
}
<table class="News" cellpadding="3" cellspacing="1">
<tbody>
<tr class="NewsHeader">
<td class="NewsTitle">7-Zip 更新历史</td>
</tr>
<tr class="News">
<td class="NewsText" colspan="2">
<a
href="https://github.com/sparanoid/7z/blob/master/zh-cn/History.txt"
>查看更新历史(中文)</a
>
<br />
<a href="https://www.7-zip.org/history.txt"
>查看更新历史(英文)</a
>
</td>
</tr>
</tbody>
</table>
<br />
<table class="News" cellpadding="3" cellspacing="1">
<tbody>
<tr class="NewsHeader">
<td class="NewsTitle" style="background-color:#55acee;"
>了解 7-Zip 最新动态</td
>
</tr>
<tr class="News">
<td class="NewsText" colspan="2">
<a href={`https://twitter.com/7zip`}>@7zip</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</Layout>

302
website-v2/src/pages/links.astro

@ -0,0 +1,302 @@
---
import Layout from "../layouts/Layout.astro";
const title = "相关链接";
---
<Layout title={title} currentPage="links">
<h1>{title}</h1>
<p>
<a href="https://sourceforge.net/projects/sevenzip/"
>Source Forge 上的 7-Zip 页面</a
>
</p>
<p>
<a href="https://sourceforge.net/p/sevenzip/discussion/45797/"
>Source Forge 上的 7-Zip 论坛</a
>
</p>
<h2>p7zip</h2>
<p>
p7zip 是 7-Zip(仅命令行版本)用于 Unix 平台上的移植版本。是由非 7-Zip
官方的独立开发者开发的。
</p>
<p>
<a href="https://sourceforge.net/projects/p7zip/"
>Source Forge 上的 p7zip 页面</a
>
</p>
<p>请注意 p7zip 的代码自 16.02 版本后没有再更新。</p>
<p>或者可以尝试 p7zip 的 fork 版本:</p>
<p>
<a href="https://github.com/jinfeihan57/p7zip"
>p7zip fork(作者 jinfeihan57)包含额外编码器以及功能增强</a
>
</p>
<hr />
<p>
<a href="http://sevenzip.sourceforge.net/logos.html">7-Zip 标徽及按钮</a>
</p>
<p>
如果您拥有您的个人站点,如果您想支持 7-Zip
今后的发展,欢迎您在你的主页上加上我们的链接。您可以使用下列 HTML
代码在您的站点上添加 7-Zip 的链接:
</p>
<pre>&lt;a href="https://www.7-zip.org/"&gt;
&lt;img src="https://www.7-zip.org/logos/7zlogo01.png"
width="88" height="31" alt="7-Zip" /&gt;&lt;/a&gt;</pre>
<p>
<a href="https://www.7-zip.org/">
<img
src="https://www.7-zip.org/logos/7zlogo01.png"
width="88"
height="31"
alt="7-Zip"
/>
</a>
</p>
<hr />
<p>7-Zip 相关链接:</p>
<ul>
<li>
<a href="https://zh.wikipedia.org/wiki/7-Zip">Wikipedia 的 7-Zip 页面</a
>(<a href="https://en.wikipedia.org/wiki/7-Zip">英文</a>)
</li>
<li>
<a href="https://sourceforge.net/projects/p7zip/">LZMA SDK for JAVA</a>
</li>
<li><a href="http://tukaani.org/lzma/">LZMA utils</a></li>
<li><a href="http://tukaani.org/xz/">XZ utils</a></li>
<li>
<a href="http://www.joachim-bauch.de/projects/python/pylzma/"
>PyLZMA: Python bindings for LZMA</a
>
</li>
<li>
<a href="http://www.pharmasoft.be/7z/">7-Zip (LZMA) Task for ANT</a>
</li>
<li>
<a href="http://www.rg-software.de/"
>TSevenZipVCL - Delphi VCL for 7zip format
</a>
</li>
<li>
<a href="https://sourceforge.net/projects/cdisplayex"
>Delphi API for 7-Zip plugins (7z, ZIP, RAR ...)</a
>
</li>
<li>
<a href="http://portableapps.com/apps/utilities/7-zip_portable"
>7-Zip Portable</a
>
</li>
<li>
<a href="http://manageddreams.com/csai/ModReader.7z"
>Port of 7zip archive reader to C#</a
>
</li>
<li>
<a href="https://sourceforge.net/project/showfiles.php?group_id=111810"
>J7Zip: Java decoder for 7z archives</a
>
</li>
<li>
<a
href="http://www.eggheadcafe.com/tutorials/aspnet/064b41e4-60bc-4d35-9136-368603bcc27a/7zip-lzma-inmemory-com.aspx"
>LZMA In-Memory Compression with C#</a
>
</li>
<li>
<a href="https://www.7zsfx.info/">7-Zip SFX with enhanced features</a>
</li>
<li>
<a href="http://sfx-maker.sourceforge.net/"
>7-ZIP SFX Maker (*.exe from *.7z)</a
>
</li>
<li>
<a href="http://innerlimit.googlepages.com/sevenzipinterface"
>C# (.net) interface for 7-Zip archive DLLs</a
>
</li>
<li>
<a href="http://www.codeplex.com/sevenzipsharp"
>SevenZipSharp - C# interface to 7z.dll</a
>
</li>
<li>
<a href="https://sourceforge.net/projects/sevenzipjbind/"
>7-Zip-JBinding is a java wrapper for 7-Zip C++ library</a
>
</li>
<li>
<a href="http://code.google.com/p/keyonzip/"
>KeyOnZip - 7-Zip based code + smart key management service KeyOnDemand</a
>
</li>
<li><a href="http://7ztm.de.vu/">7-Zip Theme Manager</a></li>
<li>
<a href="http://www.files-conversion.com/archive-converter.php"
>Online archive converter using p7zip (7-Zip)</a
>
</li>
</ul>
<hr />
<p>使用 7-Zip(LZMA)压缩算法的应用程序:</p>
<ul>
<li>
<a href="http://nsis.sourceforge.net/"
>NSIS 脚本安装系统(Nullsoft Scriptable Install System)</a
>
</li><li>
<a href="http://www.jrsoftware.org/isinfo.php">Inno Setup</a>
</li><li>
<a href="http://www.backupassist.com/">BackupAssist 备份软件</a>
</li><li>
<a href="http://www.advancedinstaller.com/">Advanced Installer</a>
</li>
<li>
<a href="http://bisqwit.iki.fi/source/cromfs.html"
>Cromfs:Linux 上压缩的 ROM 文件系统</a
>
</li>
<li>
<a href="http://www.squashfs-lzma.org/"
>SquashFS:a native compressed read-only filesystem for Linux</a
>
</li>
<li>
<a href="http://www.afflib.org/"
>AFFLIB:AFF is the Advanced Forensic Format</a
>
</li>
<li><a href="http://upx.sourceforge.net/">UPX:可执行文件压缩程序</a></li>
</ul>
<p>能够支持 7-Zip 压缩算法的应用程序:</p>
<ul>
<li><a href="http://www.rarlab.com/">WinRAR</a></li>
<li><a href="http://www.freearc.org/">FreeArc</a></li>
<li><a href="http://www.powerarchiver.com/">PowerArchiver</a></li>
<li>
<a href="http://www.ghisler.com/">Total Commander</a>
<ul>
<li>
<a href="http://www.totalcmd.net/plugring/7zip_plugin.html"
>Adam Strzelecki 制作的 7Zip 插件</a
>
</li>
<li>
<a href="http://wcx.sourceforge.net/">MutiArc 插件:7z 格式支持</a>
</li>
<li>
<a href="http://www.totalcmd.net/plugring/7z_plugin.html"
>Alexander Cherenkov 制作的 7z 插件</a
>
</li>
</ul>
</li>
<li>
<a href="http://www.farmanager.com/index.php?l=en">FAR Manager</a>
<ul><li><a href="download.html">7-Zip FAR Manager 插件</a></li></ul>
</li>
<li><a href="http://www.izarc.org/">IZArc</a></li>
<li>
<a href="http://www.altap.cz/salam_en/index.html">Altap Salamander</a>
</li>
<li><a href="http://www.tugzip.com/">TUGZip</a></li>
<li><a href="http://www.quickzip.org/">QuickZip</a></li>
<li><a href="http://www.zipgenius.it/">ZipGenius</a></li>
<li>
<a href="http://www.speedproject.de/enu/speedcommander/index.html"
>SpeedCommander</a
>
</li>
<li><a href="http://www.frigate3.com/">Frigate</a></li>
<li><a href="http://www.efsoftware.com/cw/e.htm">EF Commander</a></li>
<li><a href="http://www.winmerge.org/">WinMerge</a></li>
<li>
<a href="http://fileroller.sourceforge.net/">File Roller</a> 一个 GNOME 环境下的压缩档案管理器
</li>
<li><a href="http://peazip.sourceforge.net/">PeaZip</a></li>
<li><a href="http://www.jzip.com/">jZip - 基于 7-Zip 的压缩软件</a></li>
<li>
<a href="http://4pda.ru/forum/index.php?showtopic=69426"
>7-Zip 解压程序 for WinCE</a
>
</li>
<li><a href="http://www.nomad-net.info">Nomad.NET</a></li>
<li>
<a href="http://wakaba.c3.cx/s/apps/unarchiver.html"
>The Unarchiver for MAC OS X</a
>
</li>
<li><a href="http://www.bitser.org/">Bitser</a></li>
<li>
<a
href="http://www.samsungapps.com/topApps/topAppsDetail.as?productId=G00000167438"
>BadaArchiver for Samsung Bada</a
>
</li>
<li><a href="http://b1.org/">B1 Free Archiver</a></li>
</ul>
<p>7-Zip 相关文章、教程:</p>
<ul>
<li>
<a
href="http://www.donationcoder.com/Reviews/Archive/ArchiveTools/index.html"
>Best Archive Tool at DonationCoder.com</a
>
</li>
<li>
<a href="http://www.kikizas.net/en/apps.7z.html"
>7z versus rar: strong general-purpose compression in Windows at
kikizas.net</a
>
</li>
<li>
<a
href="http://www.worthinstalling.com/2006/03/7-zip-quality-opensource-compression.html"
>
7-ZIP - Quality Opensource Compression at WorthInstalling.com</a
>
</li>
<li>
<a href="http://www.techtorials.com/desktop_apps/7-zip/"
>Video Tutorial for 7-Zip at Techtorials.com</a
>
</li>
<li>
<a href="http://showmedo.com/videos/series?name=hoRsFASoE"
>Video Tutorial for 7-Zip at ShowMeDo.com</a
>
</li>
<li>
<a href="http://www.top-windows-tutorials.com/free-zip.html"
>Video Tutorial for 7-Zip at Top-Windows-Tutorials.com</a
>
</li>
<li>
<a
href="http://people.sabanciuniv.edu/ertekg/sebil/7_zip_tutorial/7_zip_tutorial.htm"
>Video Tutorial for 7-Zip from Gurdal Ertek</a
>
</li>
</ul>
</Layout>

16
website-v2/src/pages/robots.txt.ts.disabled

@ -0,0 +1,16 @@
// TODO: https://github.com/withastro/astro/issues/11575
// https://docs.astro.build/en/guides/integrations-guide/sitemap/
import type { APIRoute } from "astro";
const getRobotsTxt = (sitemapURL: URL) => `
User-agent: *
Allow: /
Sitemap: ${sitemapURL.href}
`;
export const GET: APIRoute = ({ site }) => {
const baseUrl = import.meta.env.BASE_URL;
const sitemapURL = new URL(`${baseUrl}/sitemap-index.xml`, site);
return new Response(getRobotsTxt(sitemapURL));
};

191
website-v2/src/pages/sdk.astro

@ -0,0 +1,191 @@
---
import Layout from "../layouts/Layout.astro";
import { stable } from "../data/versions";
const downloads = [
{
href: `https://www.7-zip.org/a/lzma${stable.sdk.short}.7z`,
size: "1 MB",
date: stable.sdk.date,
version: stable.sdk.long,
description: "LZMA SDK<br>C、C++、C#、Java<br>包含 Windows 二进制文件",
rowSpan: 2,
},
{
href: "https://www.7-zip.org/a/lzma2301.7z",
size: "1 MB",
date: "2023-06-20",
version: "23.01",
description: null, // Uses rowspan from above
},
{
href: "https://www.7-zip.org/a/lzma-specification.7z",
size: "12 KB",
date: "2015-06-14",
version: "",
description: "LZMA 规范(草案)",
},
];
const title = "LZMA SDK(软件开发工具包)(英文版)";
---
<Layout title={title} currentPage="sdk">
<h1>{title}</h1>
<p>
<b>LZMA 软件开发工具包</b>(以下简称
SDK)给开发客户提供文档、源代码以及几个使用 <b>LZMA</b> 压缩算法制作的应用程序的例子。
</p>
<table cellspacing="1" cellpadding="6">
<tr>
<th class="Title" style="width: 60px;">链接</th>
<th class="Title" style="width: 60px;">大小</th>
<th class="Title" style="width: 90px;">日期</th>
<th class="Title" style="width: 60px;">版本</th>
<th class="Title">描述</th>
</tr>
{
downloads.map((download, index) => (
<tr>
<td class="Item text-center">
<a href={download.href}>下载</a>
</td>
<td class="Item text-center">{download.size}</td>
<td class="Item text-center">{download.date}</td>
<td class="Item text-center">{download.version}</td>
{download.description && (
<td
class="Item"
rowspan={download.rowSpan || 1}
set:html={download.description}
/>
)}
</tr>
))
}
</table>
<p>
注意:如果您使用 LZMA SDK 中的 XZ 代码,建议您从 15.05 beta 中升级到最新的
XZ 代码,新版本的 XZ 代码修复了一些 bug。
</p>
<p><b>工具包更新:</b></p>
<ul>
<li><b>24.09:</b>增加 LZMA/LZMA2 压缩算法的默认字典大小值。</li>
<li><b>24.05:</b>新的 RISC-V 可执行文件过滤器。</li>
<li>
<b>23.01:</b>新的 ARM64 可执行文件过滤器。优化 BCJ2
过滤器,可获得更好的压缩比。修复已知错误。
</li>
<li><b>21.07:</b>一些小改动和错误修复。</li>
<li><b>21.06:</b>修复了 LZMA 的编码函数。</li>
<li><b>21.03 beta:</b>LZMA 字典大小最大支持 4 GB。速度优化。</li>
<li><b>21.02 alpha:</b>支持 macOS 及 Linux。速度优化。</li>
<li><b>19.00:</b>加强 7z 压缩档案的加密强度。</li>
<li><b>18.06:</b>部分 LZMA/LZMA2 代码的速度优化。</li>
<li><b>18.05:</b>部分 LZMA/LZMA2 代码的速度优化。</li>
<li>
<b>18.01:</b>对 LZMA2/xz 多线程压缩代码进行部分改动。修复已知错误。
</li>
<li><b>9.35:</b>修复已知错误,SDK 中新增 AES 源代码以及 SFX 模块。</li>
<li><b>9.20:</b>新增用于安装包的精简版 SFX 自释放模块。</li>
<li><b>9.11:</b>支持 PPMd。</li>
<li><b>9.04:</b>增加对 LZMA2 以及 XZ 的支持。</li>
<li>
<b>4.62:</b>修复小错误。LZMA SDK 隶属于 <a
href="https://zh.wikipedia.org/wiki/%E5%85%AC%E6%9C%89%E9%A2%86%E5%9F%9F"
>公有领域</a
>
</li>
<li><b>4.58:</b>速度优化,为 LZMA 压缩提供了新的 ANSI-C 代码。</li>
<li><b>4.57:</b>速度优化,修复了一些小错误。</li>
<li>
<b>4.49:</b>完善 .7z ANSI-C 解码器。增加 C++ 的 .7z 压缩档案处理代码。
</li>
</ul>
<p>
<b>LZMA</b> 是 <b>7-Zip</b> 程序中 <a href="7z.html"><b>7z 格式</b></a> 的默认压缩算法。<b
>LZMA</b
> 能提供给用户极高的压缩比及较快的压缩速度,它非常适合与应用程序集成。
</p>
<p><b>LZMA SDK</b> 包括:</p>
<ul>
<li><b>LZMA</b> 编码器及解码器的 <b>C++</b> 源代码</li>
<li><b>.7z</b> 压缩与解压缩 <b>C++</b> 源代码(精简版)</li>
<li>兼容 <b>ANSI-C</b> 的 <b>LZMA / LZMA2 / XZ</b> 压缩及解压缩源代码</li>
<li>兼容 <b>ANSI-C</b> 的 <b>7z</b> 解压缩及相关例子的源代码</li>
<li><b>LZMA</b> 压缩及解压缩的 <b>C#</b> 源代码</li>
<li><b>LZMA</b> 压缩及解压缩的 <b>Java</b> 源代码</li>
<li><b>lzma.exe</b> 用于 .lzma 的压缩及解压缩</li>
<li><b>7zr.exe</b> 用于 7z 压缩包(7z.exe 的精简版)</li>
<li><b>SFX 模块</b> 可以用来创建自释放压缩包以及应用程序安装包</li>
</ul>
<p>
<b>ANSI-C LZMA</b> 解压缩代码是从原始的 C++ 源代码转换到 C。并简化和优化了代码的大小。但它依然和
<b>7-Zip</b> 的 <b>LZMA</b> 完全兼容。
</p>
<p><b>LZMA</b> 的主要特征:</p>
<ul>
<li>压缩速度:在双核处理器上可以达到 2 MB/秒。</li>
<li>
解压缩速度:
<ul>
<li>在英特尔酷睿2 或 AMD 速龙 64 上可以达到 20-30 MB/秒。</li>
<li>
在 100 MHz ARM、MIPS、PowerPC 或其它精简指令集处理器上能达到
1-2MB/秒。
</li>
</ul>
</li>
<li>较小的解压缩内存需求:8-32 KB(依赖于字典大小)</li>
<li>较小的解压缩代码:2-8 KB</li>
</ul>
<p>
<b>LZMA</b> 解码器仅使用整数运算,可以在任何主流的 32 位处理器(或在一定条件下的
16 或处理器)下运行。
</p>
<h2>许可协议</h2>
<p><strong>LZMA SDK</strong> 隶属于 <strong>公有领域</strong></p>
<h2>LZMA 相关链接</h2>
<ul>
<li>
<a href="https://zh.wikipedia.org/wiki/LZMA">维基百科上的 LZMA 页面</a
>(<a href="https://en.wikipedia.org/wiki/LZMA">英文</a>)
</li>
<li>
<a href="https://sourceforge.net/projects/p7zip/"
>面向 JAVA 独立开发者的 LZMA SDK 文档</a
>
</li>
<li>
<a href="http://www.birtles.org.uk/programming/"
>面向 Pascal(Delphi、Kylix 以及 Freepascal)的 LZMA SDK 文档</a
>
</li>
<li>
<a href="http://www.joachim-bauch.de/projects/python/pylzma/"
>PyLZMA: Python 绑定的 LZMA 算法</a
>
</li>
<li>
<a href="http://tukaani.org/xz/">XZ 实用小工具 / LZMA 实用小工具</a>
</li>
<li>
<a href="http://contrapunctus.net/league/haques/lzmajio/"
>Java 中的 LZMA 压缩流</a
>
</li>
<li><a href="https://www.7-cpu.com/">不同 CPU 上的 LZMA 基准测试</a></li>
</ul>
</Layout>

52
website-v2/src/pages/support.astro

@ -0,0 +1,52 @@
---
import Layout from "../layouts/Layout.astro";
const title = "技术支持";
---
<Layout title={title} currentPage="support">
<h1>{title}</h1>
<p>在您请求 7-Zip 帮助之前,请先:</p>
<ul>
<li>检查您使用的是最新版本的 7-Zip。</li>
<li>
如果您想汇报错误,请尝试使用最新的 beta 或 alpha
测试版本,您遇到的问题可能已在最新的测试版本中解决。
</li>
<li>如果您使用的是 64 位 Windows,确认您使用的 7-Zip 也是 x64 版本的。</li>
<li>查看 7-Zip 的帮助文件。</li>
<li>阅读 <a href="faq.html">常见问题解答(FAQ)</a> 文档。</li>
<li>去 7-Zip 论坛搜索相似问题。</li>
</ul>
<p>
请到 7-Zip 论坛发布您所遇到的所有常的见问题。在那里您可以获得 7-Zip
开发者和其它 7-Zip 用户的帮助:
</p>
<p><b>请在论坛中使用英语。</b></p>
<p>
<a href="https://sourceforge.net/p/sevenzip/discussion/45797/"
>Source Forge 上的 7-Zip 论坛</a
>
</p>
<p>
<a href="https://sourceforge.net/p/sevenzip/bugs/"
>Source Forge 上的 7-Zip 错误汇报</a
>
</p>
<p>如果您使用 7-Zip 时遇到了问题,请提供下列系统信息:</p>
<ul>
<li>7-Zip 版本及类型 (32-bit / 64-bit)</li>
<li>Windows 版本及类型 (32-bit / 64-bit)</li>
</ul>
<p>
如果您在使用简体中文版时遇到了<strong>翻译错误</strong>,请到 <a
href="https://github.com/sparanoid/7z/issues">这里</a
> 进行提交。
</p>
</Layout>

5
website-v2/tsconfig.json

@ -0,0 +1,5 @@
{
"extends": "astro/tsconfigs/strict",
"include": [".astro/types.d.ts", "**/*"],
"exclude": ["dist"]
}
Loading…
Cancel
Save