aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--astro.config.mjs3
-rw-r--r--package-lock.json7
-rw-r--r--package.json1
-rw-r--r--public/robots.txt4
-rw-r--r--src/content/docs/appendix/setup-dev-env.md50
-rw-r--r--src/content/docs/overview/faq.mdx9
6 files changed, 59 insertions, 15 deletions
diff --git a/astro.config.mjs b/astro.config.mjs
index 9cdb046..3d25b76 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -2,9 +2,11 @@ import { defineConfig } from "astro/config";
import starlight from "@astrojs/starlight";
import netlify from "@astrojs/netlify";
import starlightThemeNova from "starlight-theme-nova";
+import sitemap from "@astrojs/sitemap";
// https://astro.build/config
export default defineConfig({
+ site: "https://gpgfrontend.bktus.com",
integrations: [
starlight({
plugins: [starlightThemeNova()],
@@ -58,6 +60,7 @@ export default defineConfig({
],
customCss: ["./src/styles/custom.css"],
}),
+ sitemap(),
],
output: "server",
adapter: netlify(),
diff --git a/package-lock.json b/package-lock.json
index 606c4a2..3727557 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,6 +9,7 @@
"version": "0.0.1",
"dependencies": {
"@astrojs/netlify": "^6.2.5",
+ "@astrojs/sitemap": "^3.4.1",
"@astrojs/starlight": "^0.34.2",
"astro": "^5.6.1",
"sharp": "^0.32.5",
@@ -313,9 +314,9 @@
}
},
"node_modules/@astrojs/sitemap": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.3.0.tgz",
- "integrity": "sha512-nYE4lKQtk+Kbrw/w0G0TTgT724co0jUsU4tPlHY9au5HmTBKbwiCLwO/15b1/y13aZ4Kr9ZbMeMHlXuwn0ty4Q==",
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.4.1.tgz",
+ "integrity": "sha512-VjZvr1e4FH6NHyyHXOiQgLiw94LnCVY4v06wN/D0gZKchTMkg71GrAHJz81/huafcmavtLkIv26HnpfDq6/h/Q==",
"license": "MIT",
"dependencies": {
"sitemap": "^8.0.0",
diff --git a/package.json b/package.json
index 279bd54..e8637bc 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
},
"dependencies": {
"@astrojs/netlify": "^6.2.5",
+ "@astrojs/sitemap": "^3.4.1",
"@astrojs/starlight": "^0.34.2",
"astro": "^5.6.1",
"sharp": "^0.32.5",
diff --git a/public/robots.txt b/public/robots.txt
new file mode 100644
index 0000000..03e0a2d
--- /dev/null
+++ b/public/robots.txt
@@ -0,0 +1,4 @@
+User-agent: *
+Allow: /
+
+Sitemap: https://gpgfrontend.bktus.com/sitemap-index.xml \ No newline at end of file
diff --git a/src/content/docs/appendix/setup-dev-env.md b/src/content/docs/appendix/setup-dev-env.md
index a83dd43..5a89123 100644
--- a/src/content/docs/appendix/setup-dev-env.md
+++ b/src/content/docs/appendix/setup-dev-env.md
@@ -12,7 +12,7 @@ that the compilation, build, and testing processes are consistent across
environments. This approach minimizes integration issues and allows for smoother
development workflows.
-## Leveraging GitHub Codespaces for Rapid Environment Setup
+## Leveraging GitHub Codespaces
To simplify and expedite the setup of a consistent development environment, we
recommend using GitHub Codespaces. Codespaces offers a cloud-hosted,
@@ -21,7 +21,7 @@ your GitHub Actions workflows. This enables you to quickly create an environment
that mirrors your CI pipeline, reducing the overhead of manual environment
configuration.
-### Quick Start with GitHub Codespaces
+### Quick Start
[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/saturneric/GpgFrontend)
@@ -29,7 +29,7 @@ Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/sat
With just one click, you can quickly launch a fully configured development
environment in GitHub Codespaces.
-### Manual Setup with GitHub Codespaces
+### Manual Setup
1. Navigate to your GitHub repository.
2. Click on the Code button and select Open with Codespaces.
@@ -40,7 +40,7 @@ environment in GitHub Codespaces.
4. The Codespace environment will include all necessary dependencies and tools,
ensuring consistency with the CI environment.
-## Manual Local Environment Setup (If not using Codespaces)
+## Local Environment Setup (without Codespaces)
### Prerequisites
@@ -49,11 +49,34 @@ environment in GitHub Codespaces.
### Clone the Repository
+GitHub:
+
```bash
git clone https://github.com/saturneric/GpgFrontend.git
cd GpgFrontend
```
+[BKTUS](https://bktus.com):
+
+```bash
+git clone https://git.bktus.com/GpgFrontend/GpgFrontend.git
+cd GpgFrontend
+```
+
+> Note: The BKTUS repository serves as the main development repository. Many
+> updates and commits are first pushed here for validation and testing before
+> being merged into the public GitHub repository.
+
+After entering the project directory, be sure to initialize and update
+submodules (required for dependencies and third-party libraries):
+
+```bash
+git submodule update --init --recursive
+```
+
+This step is necessary to fetch all required submodules used by the project. If
+you skip this, the build may fail due to missing dependencies.
+
### Configure Git Line Endings
This step ensures that line endings are consistent across different operating
@@ -66,29 +89,29 @@ git config --global core.eol lf
### Install Dependencies
-- **On Ubuntu 20.04 or later:**
+- **On Ubuntu 22.04 or later:**
```bash
sudo apt-get update
sudo apt-get install -y build-essential cmake ninja-build libarchive-dev libssl-dev libgpgme-dev
```
-- **On macOS 12 or later:**
+- **On macOS 13 or later:**
```bash
brew install cmake openssl@3 ninja libarchive gpgme
brew link --force openssl@3
```
-- **For Windows (via MSYS2):** Set up MSYS2 according to its documentation and
- install the necessary packages:
+- **For Windows (via MSYS2):** Set up MSYS2 according to [its
+ documentation](https://www.msys2.org/) and install the necessary packages:
```bash
pacman -Syu
pacman -S mingw-w64-x86_64-cmake msys2-runtime-devel mingw-w64-x86_64-ninja mingw-w64-x86_64-gnupg mingw-w64-x86_64-libarchive mingw-w64-x86_64-gpgme
```
-### Install Qt6 (if applicable)
+### Install Qt6
Use the Qt online installer or your package manager to install Qt6 and the
required modules for your project.
@@ -101,6 +124,15 @@ $ cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug ..
$ ninja
```
+:::caution[Note for v2.1.9]
+
+Starting from version 2.1.9, GpgFrontend requires gpgme 2.0 or newer. However,
+most package managers do not provide a sufficiently recent version of gpgme at
+this time. It is strongly recommended to enable in-tree building of gpgme by
+setting the CMake option: `GPGFRONTEND_LINK_GPGME_INTO_CORE=ON`
+
+:::
+
### Notes
- Adjust the build type (`Release`, `Debug`, etc.) as needed.
diff --git a/src/content/docs/overview/faq.mdx b/src/content/docs/overview/faq.mdx
index 9b02027..4bf3d1e 100644
--- a/src/content/docs/overview/faq.mdx
+++ b/src/content/docs/overview/faq.mdx
@@ -90,10 +90,13 @@ When used correctly, GPG provides strong cryptographic protection:
- Strong algorithms and key sizes are available, in line with modern standards.
- Open source: Its code is continually reviewed by global experts.
-- No central data leaks: No major vulnerability has ever led to a mass compromise of GPG private keys.
-- Common risks arise from user error—weak passphrases, mishandled keys, device malware—not GPG itself.
+- No central data leaks: No major vulnerability has ever led to a mass
+ compromise of GPG private keys.
+- Common risks arise from user error—weak passphrases, mishandled keys, device
+ malware—not GPG itself.
-Bottom line: Your keys and passphrase security are just as important as the software you use.
+Bottom line: Your keys and passphrase security are just as important as the
+software you use.
## Has GnuPG ever been successfully attacked?