diff --git a/package.json b/package.json index 7626280..7d4481f 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "astro": "astro" }, "dependencies": { - "@astrojs/netlify": "^5.2.0", + "@astrojs/netlify": "^5.5.1", "@astrojs/starlight": "^0.21.3", "astro": "^4.3.5", "sharp": "^0.32.5" diff --git a/src/content/docs/appendix/contribute.md b/src/content/docs/appendix/contribute.md index 65cdba9..434fd12 100644 --- a/src/content/docs/appendix/contribute.md +++ b/src/content/docs/appendix/contribute.md @@ -87,11 +87,4 @@ description of your changes and the reasons for them in your email. If you have any technical questions or need assistance, refer to the Contact document for the maintainer's email address. We are here to help and encourage a -collaborative development process. - -## Conclusion - -Your contributions are vital to the success and improvement of GpgFrontend. We -appreciate your efforts to adhere to these guidelines and look forward to your -innovative and high-quality contributions. Thank you for being a part of our -community. +collaborative development process. \ 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 c5ca5fa..9e7e080 100644 --- a/src/content/docs/appendix/setup-dev-env.md +++ b/src/content/docs/appendix/setup-dev-env.md @@ -5,23 +5,47 @@ sidebar: --- Creating a local development environment that mirrors the GitHub Actions -workflow ensures consistency between local development and continuous -integration builds. This guide leverages the steps defined in our GitHub Actions -workflow to help you set up a similar environment on your local machine. By -following these steps, you'll be able to compile, build, and test the project in -an environment closely resembling our CI pipeline, minimizing integration -issues. The exact commands and environment configurations used during the -compilation are documented within the project's `.github/workflow/release.yml` -file. +workflow is essential for maintaining consistency between local development and +continuous integration (CI) builds. This guide outlines the steps necessary to +configure your local machine in a way that aligns with the CI pipeline, ensuring +that the compilation, build, and testing processes are consistent across +environments. This approach minimizes integration issues and allows for smoother +development workflows. -## Prerequisites +## Leveraging GitHub Codespaces for Rapid Environment Setup + +To simplify and expedite the setup of a consistent development environment, we +recommend using GitHub Codespaces. Codespaces offers a cloud-hosted, +containerized development environment that matches the configurations used in +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 + +[![Open in GitHub +Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/saturneric/GpgFrontend) + +With just one click, you can quickly launch a fully configured development +environment in GitHub Codespaces. + +### Manual Setup with GitHub Codespaces + +1. Navigate to your GitHub repository. +2. Click on the Code button and select Open with Codespaces. +3. If you haven't set up a Codespace for this repository, create a new one by + following the prompts. GitHub will automatically configure a development + environment based on the repository’s settings, including any configurations + specified in the .devcontainer folder. +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) + +### Prerequisites - **Git:** Installed and configured on your system. - **Compilers:** GCC and Clang for cross-compatibility. -- **CMake:** For generating build files. -- **Qt6:** If working on a project that utilizes Qt for its GUI. - -## Environment Setup Steps ### Clone the Repository @@ -51,17 +75,17 @@ git config --global core.eol lf ### Install Dependencies -- **On Ubuntu 20.04:** +- **On Ubuntu 20.04 or later:** ```bash sudo apt-get update -sudo apt-get install -y build-essential binutils git autoconf automake gettext texinfo gcc g++ ninja-build libarchive-dev libssl-dev libgpgme-dev +sudo apt-get install -y build-essential cmake ninja-build libarchive-dev libssl-dev libgpgme-dev ``` - **On macOS (11 and 12):** ```bash -brew install cmake autoconf automake texinfo gettext openssl@3 ninja libarchive gpgme +brew install cmake openssl@3 ninja libarchive gpgme brew link --force openssl@3 ``` @@ -71,7 +95,7 @@ brew link --force openssl@3 ```bash pacman -Syu -pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-cmake autoconf automake make texinfo mingw-w64-x86_64-qt6 libintl msys2-runtime-devel gettext-devel mingw-w64-x86_64-ninja mingw-w64-x86_64-gnupg mingw-w64-x86_64-libarchive +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) @@ -79,44 +103,18 @@ pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-cmake auto Use the Qt online installer or your package manager to install Qt6 and the required modules for your project. -### Build Third-Party Libraries (if needed) - -Follow the project's documentation to clone and build necessary third-party -libraries such as `libgpg-error`, `libassuan`, and `GpgME`. Use the same -commands as specified in the GitHub Actions workflow, adapted for your local -environment. - -### Configure and Build the Project - -- **For Linux and macOS:** +## Configure and Build the Project ```bash -mkdir build && cd build -cmake .. -DCMAKE_BUILD_TYPE=Release -make -j$(nproc) +$ mkdir build && cd build +$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug .. +$ ninja ``` -- **For Windows (via MSYS2):** - -```bash -mkdir build && cd build -cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -mingw32-make -j$(nproc) -``` - -### Running Tests - -After building, run the project's tests to verify everything is working as -expected. - -## Notes +### Notes - Adjust the build type (`Release`, `Debug`, etc.) as needed. - Replace project-specific commands and dependency installation commands based on your project's requirements. - For macOS, additional steps for code signing and notarization are required only for distribution. - -By closely following the GitHub Actions workflow for local setup, you're -creating a development environment that minimizes surprises during the -integration and deployment phases. diff --git a/src/content/docs/extra/dependencies.md b/src/content/docs/extra/dependencies.md index 97d7bde..17eb491 100644 --- a/src/content/docs/extra/dependencies.md +++ b/src/content/docs/extra/dependencies.md @@ -16,8 +16,6 @@ visit their respective homepages: - **AppImage**: [https://appimage.org](https://appimage.org) - **macOS Application Bundles**: [Link](https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html) - **libarchive**: [https://www.libarchive.org](https://www.libarchive.org) -- **spdlog**: [https://github.com/gabime/spdlog](https://github.com/gabime/spdlog) -- **mimalloc**: [https://github.com/microsoft/mimalloc](https://github.com/microsoft/mimalloc) - **Qt-AES**: [https://github.com/bricke/Qt-AES](https://github.com/bricke/Qt-AES) The icons utilized in this software are sourced from [Alibaba diff --git a/src/content/docs/guides/generate-key.md b/src/content/docs/guides/generate-key.md index 540ecbf..7d2c25d 100644 --- a/src/content/docs/guides/generate-key.md +++ b/src/content/docs/guides/generate-key.md @@ -206,20 +206,29 @@ efficient and secure operations tailored to the user's needs. - RSA - DSA -- ECDSA +- ECDSA ED25519 +- ECDSA NIST P-256 +- ECDSA NIST P-384 +- ECDSA NIST P-521 +- ECDSA BrainPool P-256 (GnuPG >2.3.0) +- ECDSA BrainPool P-384 (GnuPG >2.3.0) +- ECDSA BrainPool P-512 (GnuPG >2.3.0) **Subkey Supported Algorithms:** - RSA - DSA -- ECDSA -- ECDH +- ELG-E +- ECDSA ED25519 +- ECDSA ED448 (GnuPG >2.3.0) +- ECDH CV25519 +- ECDH X448 (GnuPG >2.3.0) - ECDH NIST P-256 - ECDH NIST P-384 - ECDH NIST P-521 -- ECDH BrainPool P-256 -- ECDH BrainPool P-384 -- ECDH BrainPool P-512 +- ECDH BrainPool P-256 (GnuPG >2.3.0) +- ECDH BrainPool P-384 (GnuPG >2.3.0) +- ECDH BrainPool P-512 (GnuPG >2.3.0) **Explanation:** diff --git a/src/content/docs/overview/faq.md b/src/content/docs/overview/faq.md index 6bfe083..c62959b 100644 --- a/src/content/docs/overview/faq.md +++ b/src/content/docs/overview/faq.md @@ -16,7 +16,9 @@ GpgFrontend supports digital signatures to verify the integrity and origin of messages. Users can manage and generate key pairs, encrypt files and emails, and sign their communications for added security. -**How can I obtain and start using GpgFrontend?** You can download the latest version of GpgFrontend from [GpgFrontend's Downloads Page](../downloads/) and choose the installation method for your platform. +**How can I obtain and start using GpgFrontend?** You can download the latest +version of GpgFrontend from [GpgFrontend's Downloads Page](../downloads/) and +choose the installation method for your platform. ## OpenPGP and GnuPG Explained @@ -60,7 +62,8 @@ this based on your operating system: ### Additional Assistance -- For more detailed guidance, refer to the quick start manual available at [Getting Started Guide](../getting-started/). +- For more detailed guidance, refer to the quick start manual available at + [Getting Started Guide](../getting-started/). ## Reporting Bugs and Contributing diff --git a/src/content/docs/overview/getting-started.md b/src/content/docs/overview/getting-started.md index 7c40daf..db531a1 100644 --- a/src/content/docs/overview/getting-started.md +++ b/src/content/docs/overview/getting-started.md @@ -67,8 +67,7 @@ For an effortless install or removal process, use Homebrew Cask: 1. **Install GnuPG** via Homebrew or download it from [GPG for OS X](https://sourceforge.net/projects/gpgosx/files). 2. **Download** the `GpgFrontend-*******-macos-**.dmg` file from [GpgFrontend's - releases](https://github.com/saturneric/GpgFrontend/releases). Select - `x86_64` for compatibility with Intel and Apple Silicon chips. + releases](https://github.com/saturneric/GpgFrontend/releases). 3. **Mount** the DMG file and **run** GpgFrontend. 4. **Optional:** Drag GpgFrontend into your Applications folder for easy access. diff --git a/src/content/docs/overview/glance.md b/src/content/docs/overview/glance.md index 14d9fcb..1126e7c 100644 --- a/src/content/docs/overview/glance.md +++ b/src/content/docs/overview/glance.md @@ -12,7 +12,7 @@ encryption, decryption, and digital signing, offering a seamless interface for managing OpenPGP tasks. Embrace the latest features of GnuPG 2.x, enhancing your security in the digital age. -**Document Version Reference: [v2.1.3](https://github.com/saturneric/GpgFrontend/releases/tag/v2.1.2)** +**Document Version Reference: [v2.1.4](https://github.com/saturneric/GpgFrontend/releases/tag/v2.1.4)** ## User Interface Glimpse