diff options
-rw-r--r-- | astro.config.mjs | 3 | ||||
-rw-r--r-- | package-lock.json | 7 | ||||
-rw-r--r-- | package.json | 1 | ||||
-rw-r--r-- | public/robots.txt | 4 | ||||
-rw-r--r-- | src/content/docs/appendix/setup-dev-env.md | 50 | ||||
-rw-r--r-- | src/content/docs/overview/faq.mdx | 9 |
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 [](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? |