diff --git a/README.md b/README.md index 6882d03..d9bc914 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Zen Browser Docs website Welcome to **Zen Browser’s Documentation Repo!** -[Uptime-Phare](https://uptime.zen-browser.app) +[![Status badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fuptime.zen-browser.app%2Fshield-badges%2Fstatus.json&style=for-the-badge)](https://uptime.zen-browser.app) ## Contributing diff --git a/content/assets/user-manual/urlbar/vid.mov b/content/assets/user-manual/urlbar/vid.mov new file mode 100644 index 0000000..9be7f83 Binary files /dev/null and b/content/assets/user-manual/urlbar/vid.mov differ diff --git a/content/building.md b/content/building.md index db53eaf..ed66a48 100644 --- a/content/building.md +++ b/content/building.md @@ -24,7 +24,7 @@ cd desktop Once you have cloned the project, navigate to the project directory and install the necessary dependencies using npm: ```bash -npm i +pnpm i ``` This command will install all the packages listed in the `package.json` file, which are required for building and running Zen Browser. @@ -34,7 +34,7 @@ This command will install all the packages listed in the `package.json` file, wh To set up the browser, you need to download additional files and prepare the environment: ```bash -npm run init +pnpm run init ``` This command handles all the necessary bootstrapping tasks, such as setting up configuration files and downloading essential resources. @@ -44,7 +44,7 @@ This command handles all the necessary bootstrapping tasks, such as setting up c Before building the browser, it’s recommended to update the American English language packs to ensure that all localization files are up-to-date: ```bash -sh ./scripts/update-en-US-packs.sh +python3 ./scripts/update_en_US_packs.py ``` This script updates the "en-US" localization files, which are necessary for proper language support in Zen Browser. Running this step ensures that your build includes the latest translations and language resources. @@ -54,7 +54,7 @@ This script updates the "en-US" localization files, which are necessary for prop Now that everything is set up, you can build the browser: ```bash -npm run build +pnpm build ``` This command compiles the source code and creates the necessary files for running Zen Browser. @@ -64,7 +64,7 @@ This command compiles the source code and creates the necessary files for runnin After building the browser, you can start it using: ```bash -npm start +pnpm start ``` -This command launches the browser, allowing you to see your changes in action. \ No newline at end of file +This command launches the browser, allowing you to see your changes in action. diff --git a/content/contribute/CONTRIBUTING.md b/content/contribute/CONTRIBUTING.md index 3455589..f6d3efa 100644 --- a/content/contribute/CONTRIBUTING.md +++ b/content/contribute/CONTRIBUTING.md @@ -1,7 +1,7 @@ --- title: Contributing to Zen Browser draft: false -lastmod: 2024-08-26 +lastmod: 2025-02-07 --- Thank you for considering contributing to Zen Browser! We appreciate your time and effort in improving this project. The following is a set of guidelines for contributing to Zen Browser. These guidelines are intended to make it easier for you to get involved. @@ -20,11 +20,10 @@ We welcome a wide range of contributions, including but not limited to: To help you get started with contributing, we have created separate guides for each repository: -- [[desktop | Getting Started with Desktop Browser Development]] - [[www | Getting Started with Zen's Homepage Development]] - [[docs | Getting Started with Documentation Contributions]] - [[translation | Getting Started with Translations]] - + Please follow the appropriate guide based on the repository you want to contribute to. ### Reporting Bugs @@ -34,7 +33,7 @@ If you find a bug, please open an issue and describe the problem in detail. Incl >[!important] >Open the issue in it's corresponding GitHub repository: >- [Desktop Browser App](https://github.com/zen-browser/desktop/issues) ->- [Zen's Custom Themes](https://github.com/zen-browser/theme-store) +>- [Zen's Custom Mods](https://github.com/zen-browser/theme-store) >- [Zen's Homepage Website](https://github.com/zen-browser/www) >- [This documentation Website](https://github.com/zen-browser/docs) @@ -42,7 +41,7 @@ If you find a bug, please open an issue and describe the problem in detail. Incl ![[discuss.png]] -We welcome suggestions for new features or improvements to existing ones. To suggest a feature, please start a new Github discussion in the Ideas category. +We welcome suggestions for new features or improvements to existing ones. To suggest a feature, please start a new Github discussion in the Ideas category. *Use the correct Github Repository based on the list above* --- diff --git a/content/contribute/desktop.md b/content/contribute/desktop.md deleted file mode 100644 index 4fd823b..0000000 --- a/content/contribute/desktop.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: Getting Started with Desktop Browser Development -draft: false -lastmod: 2024-10-25 ---- - -Contributing to the Zen Browser Desktop project is a great way to get involved with open-source software development. This guide will walk you through the steps to clone the project, set up your development environment, make contributions, and submit pull requests. - -## Prerequisites - -Before you begin, ensure you have the following tools installed: - -- [**Git**](https://git-scm.com/): Version control system to clone the repository and manage your code. -- [**Node.js**](https://nodejs.org/): Required for building the browser. -- [**npm**](https://www.npmjs.com/): Node package manager, which comes with Node.js. -- [**MozillaBuild**](https://wiki.mozilla.org/MozillaBuild): Meta-installer required to build the browser. -- [**Mercurial/TortoiseHg**](https://www.mercurial-scm.org/downloads): Required by Mozilla scripts, with its install directory added to PATH. -- [**Python**](https://www.python.org/): Required by build scripts, with its install directory added to PATH. - -## Run Locally - -Clone the project - -```bash -git clone --depth 1 https://github.com/zen-browser/desktop.git -cd desktop -git submodule update --init --recursive --depth 1 -``` - -Install dependencies - -```bash -npm i -``` - -Download and bootstrap the browser - -```bash -npm run init -``` - -Run bootstrap to identify and fix potential errors - -```bash -npm run bootstrap -``` - -Copy a language pack -```bash -sh scripts/update-en-US-packs.sh -``` - -Start building the browser - -```bash -npm run build -``` - -Finally, run the browser! - -```bash -npm start -``` - -### Limiting CPU Usage During Build - -On Linux, you can use cpulimit to restrict CPU usage of intensive build processes: - -```bash -# Limit by process name -cpulimit -e rustc -l 50 # Limits rustc to 50% CPU -cpulimit -e clang -l 50 # Limits clang to 50% CPU - -# Or limit by PID -cpulimit -p PID -l 50 -``` - -On Windows, use Process Lasso or Process Hacker to set CPU affinity and priority: -1. Open Process Lasso/Process Hacker -2. Find rustc.exe or clang.exe processes -3. Right click -> Set CPU Affinity/Priority - - -## Making a Contribution - -#### 1. Fork the Repository - -#### 2. Create a New Branch -It’s a good practice to create a new branch for each feature or bug fix. - -```bash -git checkout -b feature/your-feature-name -``` - -#### 3. Make Your Changes -Edit the code in your local repository. -- Ensure that your changes do not break existing functionality. -- Write tests if applicable. - -You can test your changes by -- [[live-editing | Editing the interface CSS in real-time]] -- [[building| Building the browser]] - -#### 4. Commit Your Changes -Commit your changes with a descriptive message. - -```bash -git commit -m "Add feature: your feature description" -``` - -#### 5. Push Your Changes -Push your branch to your forked repository. - -```bash -git push origin feature/your-feature-name -``` - -#### 6. Submit a Pull Request -Go to the original Zen Browser repository and submit a pull request from your forked repository. - -- Provide a clear title and description of your changes. -- Reference any relevant issues in the pull request. - -## Additional Resources - -- [Zen Browser Repository](https://github.com/zen-browser/desktop) -- [[CONTRIBUTING| Contribution Guidelines]] -- [[CODE_OF_CONDUCT | Code of Conduct]] -- [Searchfox](https://searchfox.org/) a source code indexing tool for Mozilla Firefox -- [MDN Web Docs](https://developer.mozilla.org/) a documentation repository and learning resource for web developers - ---- - -Thank you for contributing to Zen Browser! Your contributions are valuable and help make the project better for everyone. diff --git a/content/faq.md b/content/faq.md index eed4c40..f3c1541 100644 --- a/content/faq.md +++ b/content/faq.md @@ -55,7 +55,7 @@ Your support helps the team maintain and enhance Zen Browser for everyone! 1. Select multiple tabs by left-clicking them while holding the `Ctrl` key, or left-click 2 tabs while holding the `Shift` key to select all tabs in between 2. Right click a tab, and select `Split x Tabs` -3. Change the view mode by pressing the πŸ”— button in the top address bar +3. Change the view mode by pressing the `[|]` button in the top address bar ## How to switch tabs by scrolling? You can enable this feature by changing a setting in the browser's configuration. Here's how: diff --git a/content/guides/1password.md b/content/guides/1password.md index 5e57844..d1ce73e 100644 --- a/content/guides/1password.md +++ b/content/guides/1password.md @@ -53,11 +53,9 @@ In MacOS you can use the Graphical Interface of the Desktop app to add Zen Brows #### 1. Go into the 1Password desktop app and open Settings. -#### 2. In the Labs tab, click "Enable Custom Browser Support" and enable it. +#### 2. In the Browser tab, click "Add Browser". -#### 3. In the Browser tab, click "Add Browser". - -#### 4. In your Applications folder, find and add "Zen Browser, then authorize 1Password when prompted. +#### 3. In your Applications folder, find and add "Zen Browser", then authorize 1Password when prompted. ![[macos-settings-4.png]] diff --git a/content/guides/downloads.md b/content/guides/downloads.md index 9711d25..76973a7 100644 --- a/content/guides/downloads.md +++ b/content/guides/downloads.md @@ -3,96 +3,91 @@ title: Download Hub draft: false aliases: - Download Hub -lastmod: 2024-10-17 +lastmod: 2025-01-16 --- -This [[guides/index|guide]] is designed to help you easily find and download the version of Zen Browser that best fits your operating system and hardware. Whether you're using Windows, Linux, or macOS, you'll find both optimized and generic builds, along with portable and installer options to suit your needs. If you're unsure which version is right for you, be sure to check out our guide on [[generic-optimized | choosing between the generic and optimized builds]] +This [[guides/index|guide]] is designed to help you easily find and download the version of Zen Browser that best fits your operating system and hardware. Whether you're using Windows, Linux, or macOS - you'll find the build for you, along with portable and installer options to suit your needs. -> [!faq]- Want to know the difference between Generic and Optimized? -> ![[generic-optimized#Differences between the optimized and generic builds]] +> [!faq]- What happened to Generic and Optimized builds? +> ![[generic-optimized]] # Stable ## Windows πŸͺŸ -- ### Optimized πŸš€ - - - [Installer πŸš€](https://github.com/zen-browser/desktop/releases/latest/download/zen.installer.exe) - - [Portable πŸ“¦](https://github.com/zen-browser/desktop/releases/latest/download/zen.win-specific.zip) +- ### x86_64 πŸ’½ -- ### Generic πŸ‘΄ - - - [Installer πŸš€](https://github.com/zen-browser/desktop/releases/latest/download/zen.installer-generic.exe) - - [Portable πŸ“¦](https://github.com/zen-browser/desktop/releases/latest/download/zen.win-generic.zip) + - [Installer πŸš€](https://github.com/zen-browser/desktop/releases/latest/download/zen.installer.exe) + +- ### arm64 πŸ’» + + - [Installer πŸš€](https://github.com/zen-browser/desktop/releases/latest/download/zen.installer-arm64.exe) ## Linux 🐧 -- ### Optimized πŸš€ +- ### x86_64 πŸ’½ - - [AppImage πŸš€](https://github.com/zen-browser/desktop/releases/latest/download/zen-specific.AppImage) - - [Portable πŸ“¦ `tar.bz2`](https://github.com/zen-browser/desktop/releases/latest/download/zen.linux-specific.tar.bz2) - - [Arch User Repository πŸ“‚ `AUR`](https://aur.archlinux.org/packages/zen-browser-avx2-bin) - - [Pacstall `comunity`](https://pacstall.dev/packages/zen-browser-specific-bin) + - [AppImage πŸš€](https://github.com/zen-browser/desktop/releases/latest/download/zen-x86_64.AppImage) + - [Portable πŸ“¦ `tar.bz2`](https://github.com/zen-browser/desktop/releases/latest/download/zen.linux-x86_64.tar.bz2) -- ### Generic πŸ‘΄ +- ### aarch64 πŸ’» - - [AppImage πŸš€](https://github.com/zen-browser/desktop/releases/latest/download/zen-generic.AppImage) - - [Portable πŸ“¦ `tar.bz2`](https://github.com/zen-browser/desktop/releases/latest/download/zen.linux-generic.tar.bz2) - - [Arch User Repository πŸ“‚ `AUR`](https://aur.archlinux.org/packages/zen-browser-bin) - - [Pacstall `community`](https://pacstall.dev/packages/zen-browser-generic-bin) + - [AppImage πŸš€](https://github.com/zen-browser/desktop/releases/latest/download/zen-aarch64.AppImage) + - [Portable πŸ“¦ `tar.bz2`](https://github.com/zen-browser/desktop/releases/latest/download/zen.linux-aarch64.tar.bz2) + +- ### Package Managers + + - [Arch User Repository πŸ“‚ `AUR`](https://aur.archlinux.org/packages/zen-browser-bin) + - [Pacstall `comunity`](https://pacstall.dev/packages/zen-browser-bin) - [Flatpak 🌐](https://flathub.org/apps/io.github.zen_browser.zen) ```bash - flatpak install flathub io.github.zen_browser.zen + flatpak install flathub app.zen_browser.zen ``` - ## MacOS 🍎 -- ### AArch64 πŸ’» +- ### aarch64 (M-series chips) πŸ’» - [DMG File πŸ—‚οΈ](https://github.com/zen-browser/desktop/releases/latest/download/zen.macos-aarch64.dmg) -- ### Intel πŸ’½ +- ### x86_64 (Intel chips) πŸ’½ - - [DMG File πŸ—‚οΈ](https://github.com/zen-browser/desktop/releases/latest/download/zen.macos-x64.dmg) + - [DMG File πŸ—‚οΈ](https://github.com/zen-browser/desktop/releases/latest/download/zen.macos-x86_64.dmg) # Twilight ->[!caution] This is an automated daily build for testing purposes. So expect bug on this version. +>[!caution] This is an automated daily build for testing purposes, so expect some bugs on this version. ## Windows πŸͺŸ -- ### Optimized πŸš€ - - - [Installer πŸš€](https://github.com/zen-browser/desktop/releases/download/twilight/zen.installer.exe) - - [Portable πŸ“¦](https://github.com/zen-browser/desktop/releases/download/twilight/zen.win-specific.zip) +- ### x86_64 πŸ’½ -- ### Generic πŸ‘΄ - - - [Installer πŸš€](https://github.com/zen-browser/desktop/releases/download/twilight/zen.installer-generic.exe) - - [Portable πŸ“¦](https://github.com/zen-browser/desktop/releases/download/twilight/zen.win-generic.zip) + - [Installer πŸš€](https://github.com/zen-browser/desktop/releases/download/twilight/zen.installer.exe) + - [Portable πŸ“¦ `zip`](https://github.com/zen-browser/desktop/releases/download/twilight/zen.win-x86_64.zip) + +- ### arm64 πŸ’» + + - [Installer πŸš€](https://github.com/zen-browser/desktop/releases/download/twilight/zen.installer-arm64.exe) + - [Portable πŸ“¦ `zip`](https://github.com/zen-browser/desktop/releases/download/twilight/zen.win-arm64.zip) ## Linux 🐧 -- ### Optimized πŸš€ +- ### x86_64 πŸ’½ - - [AppImage πŸš€](https://github.com/zen-browser/desktop/releases/download/twilight/zen-specific.AppImage) - - [Portable πŸ“¦ `tar.bz2`](https://github.com/zen-browser/desktop/releases/download/twilight/zen.linux-specific.tar.bz2) - - [Arch User Repository πŸ“‚ `AUR`](https://aur.archlinux.org/packages/zen-twilight-avx2-bin) + - [AppImage πŸš€](https://github.com/zen-browser/desktop/releases/download/twilight/zen-x86_64.AppImage) + - [Portable πŸ“¦ `tar.bz2`](https://github.com/zen-browser/desktop/releases/download/twilight/zen.linux-x86_64.tar.bz2) -- ### Generic πŸ‘΄ +- ### aarch64 πŸ’» - - [AppImage πŸš€](https://github.com/zen-browser/desktop/releases/download/twilight/zen-generic.AppImage) - - [Portable πŸ“¦ `tar.bz2`](https://github.com/zen-browser/desktop/releases/download/twilight/zen.linux-generic.tar.bz2) - - [Arch User Repository πŸ“‚ `AUR`](https://aur.archlinux.org/packages/zen-twilight-bin) - + - [AppImage πŸš€](https://github.com/zen-browser/desktop/releases/download/twilight/zen-aarch64.AppImage) + - [Portable πŸ“¦ `tar.bz2`](https://github.com/zen-browser/desktop/releases/download/twilight/zen.linux-aarch64.tar.bz2) ## MacOS 🍎 -- ### AArch64 πŸ’» +- ### aarch64 (M-series chips) πŸ’» - [DMG File πŸ—‚οΈ](https://github.com/zen-browser/desktop/releases/download/twilight/zen.macos-aarch64.dmg) -- ### Intel πŸ’½ +- ### x86_64 (Intel chips) πŸ’½ - - [DMG File πŸ—‚οΈ](https://github.com/zen-browser/desktop/releases/download/twilight/zen.macos-x64.dmg) + - [DMG File πŸ—‚οΈ](https://github.com/zen-browser/desktop/releases/download/twilight/zen.macos-x86_64.dmg) diff --git a/content/guides/live-editing.md b/content/guides/live-editing.md index 6d6432c..ad2aaba 100644 --- a/content/guides/live-editing.md +++ b/content/guides/live-editing.md @@ -13,12 +13,13 @@ This [[guides/index|guide]] will help you customize the appearance of Zen Browse 4. Click on **Open Profile Folder**. This will open the folder where Zen Browser stores your user data. >[!warning] -> On the Flatpak version of Zen, the profile folder will be located at `~/.var/app/io.github.zen_browser.zen/.zen`. +> On the Flatpak version of Zen, the profile folder will be located at `~/.var/app/app.zen_browser.zen/.zen`. ## Step 2: Create the `chrome` Folder 1. In the Profile Folder, create a new folder and name it `chrome`. 2. Inside the `chrome` folder, create a new blank file named `userChrome.css`. +3. Restart Zen Browser to apply the changes. ## Step 3: Open Style Editor in Zen Browser diff --git a/content/index.md b/content/index.md index 73bf69a..cce8e47 100644 --- a/content/index.md +++ b/content/index.md @@ -9,9 +9,8 @@ Welcome to **Zen Browser's Documentation!** Here, you'll find everything you nee * #### [[building|Building Zen Browser πŸ“¦]] * #### [[user-manual/index|User Manual πŸ“–]] * #### [[guides/index|Guides πŸ› οΈ]] -* #### [[themes-store/index|Theme Store 🎨]] +* #### [[themes-store/index|Mods Registry 🎨]] * #### [[faq | Frequently Asked Questions ❓]] * #### [[benchmarks | Performance Benchmarks πŸ“Š]] * #### [[contribute/index | Contribution Guides 🌟]] * #### [[security|Security πŸ”]] -* #### [[welcome-to-zen|Welcome to Zen πŸ”]] diff --git a/content/security.md b/content/security.md index f93dfcd..40307f2 100644 --- a/content/security.md +++ b/content/security.md @@ -1,34 +1,59 @@ --- -title: Security πŸ” +title: Privacy & Security πŸ” aliases: - - Security πŸ” + - Privacy & Security πŸ” description: At Zen Browser, your online safety and privacy are our top priorities. We've implemented a range of security features to ensure you're protected while browsing. lastmod: 2024-09-18 --- > [!important] Password, Cookies, and Cache Management -> All passwords, cookies, and cache in Zen Browser are managed by Firefox. This means your saved passwords are automatically encrypted, providing an extra layer of security to keep your login credentials safe. Cookies and cache are also handled according to Firefox's strict privacy policies, ensuring your data is stored securely and only accessible to you. +> All passwords, cookies, and cache in Zen Browser are **managed by Firefox**. This means your saved passwords are **automatically encrypted**, providing an extra layer of security to keep your login credentials safe. Cookies and cache are also handled according to Firefox's strict privacy policies, ensuring your data is stored securely and only accessible to you. > For more information visit [Firefox Privacy and Security](https://support.mozilla.org/es/products/firefox/privacy-and-security) +## Adjusting Security Settings -### 1. Latest Firefox Version +Zen Browser lets you customize privacy and security settings to improve your browsing safety. If you want to adjust or change these settings: -Zen Browser is built on the latest version of Firefox, one of the most secure browsers available today. This means you benefit from all of Firefox's security patches and updates as soon as they are released, keeping you safe from known vulnerabilities. +1. Click the `menu button`Β and selectΒ `Settings`. +2. On the sidebar, go to theΒ `Privacy & Security` section. -### 2. Tracking Protection +--- +## Security settings -To protect your privacy, Zen Browser includes **tracking protection**. This feature automatically blocks websites and advertisers from tracking your online activity, making it harder for third parties to collect your data and show you targeted ads. - -### 3. OCSP Enabled +> [!success] Latest Firefox Version +> Zen Browser is built on the **latest version of Firefox**, one of the most secure browsers available today. This means you benefit from all of Firefox's security patches and updates as soon as they are released, keeping you safe from known vulnerabilities. +### 1. OCSP Enabled Zen Browser uses **OCSP (Online Certificate Status Protocol)** to check the validity of a website’s security certificate. This ensures that you only connect to safe websites with up-to-date and valid certificates, protecting you from malicious sites that may have expired or revoked certificates. -### 4. HTTPS Only Mode +### 2. HTTPS Only Mode **HTTPS Only Mode** ensures that you connect securely to websites by using the HTTPS version whenever possible. HTTPS encrypts the communication between you and the website, protecting your data from being intercepted by hackers. + +> [!info] You can enable HTTPS-Only Mode inΒ **all windows**Β orΒ **private windows only**. + For more information visit [HTTPS-Only Mode in Firefox](https://support.mozilla.org/en-US/kb/https-only-prefs) +### 3. Deceptive Content and Dangerous Software Protection -### 5. SSL – Treat Unsafe Negotiation as Broken by Default +Zen Browser helps protect you from **phishing, malware, and fraudulent websites**. It uses URL filters and real-time checks to block harmful content, making your browsing experience safer. -Zen Browser treats insecure SSL connections (those that don't meet modern security standards) as broken by default. This means that if a website is not properly secured, Zen Browser will alert you and block the unsafe connection, preventing potential security risks. +To learn more, visit [Block deceptive content and dangerous downloads in Firefox](https://support.mozilla.org/en-US/kb/block-deceptive-content-and-dangerous-downloads-firefox) +### 4. SSL – Treat Unsafe Negotiation as Broken by Default + +Zen Browser treats insecure SSL connections (those that don't meet modern security standards) as broken by default. This means that if a **website is not properly secured**, Zen Browser will alert you and **block the unsafe connection**, preventing potential security risks. + +--- +## Privacy settings + +### 1. Tracking Protection + +To protect your privacy, Zen Browser includes **tracking protection**. This feature automatically blocks websites and advertisers from tracking your online activity, making it harder for third parties to collect your data and show you targeted ads. + +> [!info] You can choose from three levels of Tracking Protection: **Standard**, **Strict**, or **Custom**. + +### 2. DNS over HTTPS + +Zen Browser allows the users to enable DNS over HTTPS, which **sends your request for a domain name through an encrypted connection**, providing a secure DNS and making it harder for others to see which website you’re about to access. + +> [!info] You can choose from three protection levels: **Default Protection**, **Increased Protection**, or **Max Protection**. --- diff --git a/content/themes-store/index.md b/content/themes-store/index.md index a96bc90..74ca7c7 100644 --- a/content/themes-store/index.md +++ b/content/themes-store/index.md @@ -1,3 +1,3 @@ --- -title: Themes Store 🎨 +title: Mods Registry 🎨 --- diff --git a/content/themes-store/themes-marketplace-preferences.md b/content/themes-store/themes-marketplace-preferences.md index 0278508..fb4a94b 100644 --- a/content/themes-store/themes-marketplace-preferences.md +++ b/content/themes-store/themes-marketplace-preferences.md @@ -1,9 +1,9 @@ --- -title: Themes Store Preferences βš™οΈ -lastmod: 2024-09-16 +title: Mods Registry Preferences βš™οΈ +lastmod: 2025-02-07 --- -The `preferences.json` file allows theme developers to define custom preferences that control the behavior and appearance of themes in the Zen Browser. Each preference is defined with a `property`, a `label`, a `type`, and optionally `options` (for dropdown preferences), `defaultValue`, `placeholder` (to configure preference placeholder) and `disabledOn` (to disable property on selected OS). The `preferences.json` file contains a list of these preference objects at its root. +The `preferences.json` file allows mod developers to define custom preferences that control the behavior and appearance of mods in the Zen Browser. Each preference is defined with a `property`, a `label`, a `type`, and optionally `options` (for dropdown preferences), `defaultValue`, `placeholder` (to configure preference placeholder) and `disabledOn` (to disable property on selected OS). The `preferences.json` file contains a list of these preference objects at its root. ## Preferences fields @@ -11,7 +11,7 @@ The `preferences.json` file allows theme developers to define custom preferences The `property` field is a string that should follow Firefox's preference naming schema, similar to `about:config` entries. The `property` name can be any valid string that aligns with this schema. -For example: `theme.mytheme.background_color` +For example: `mod.mymod.background_color` ### Field: `label` - Label @@ -35,7 +35,7 @@ The `checkbox` type allows a togglable input to enable or disable a property. ```json title="Checkbox Example" { - "property": "theme.mytheme.enable_dark_mode", + "property": "mod.mymod.enable_dark_mode", "label": "Enable dark mode", "type": "checkbox" } @@ -47,7 +47,7 @@ The `dropdown` type allows to select a single choice on multiple options. ```json title="Dropdown Example" { - "property": "theme.mytheme.background_color", + "property": "mod.mymod.background_color", "label": "Background color", "type": "dropdown", "options": [ @@ -70,7 +70,7 @@ The `string` type is a text input that allows to insert valid css values without ```json title="String Example" { - "property": "theme.mytheme.tab_padding", + "property": "mod.mymod.tab_padding", "label": "Set tab padding", "type": "string" } @@ -161,18 +161,18 @@ For example: `e.g: 10px`
See Full Example -Below is a full example of what a `preferences.json` file might look like with multiple preference objects in its root. Each object represents a preference defined for a theme: +Below is a full example of what a `preferences.json` file might look like with multiple preference objects in its root. Each object represents a preference defined for a mod: ```json [ { - "property": "theme.mytheme.enable_dark_mode", + "property": "mod.mymod.enable_dark_mode", "label": "Enable dark mode", "type": "checkbox", "defaultValue": true }, { - "property": "theme.mytheme.background_color", + "property": "mod.mymod.background_color", "label": "Background color", "type": "dropdown", "placeholder": "Select a color", @@ -189,7 +189,7 @@ Below is a full example of what a `preferences.json` file might look like with m ] }, { - "property": "theme.mytheme.show_bookmarks_bar", + "property": "mod.mymod.show_bookmarks_bar", "label": "Show bookmarks bar", "type": "string", "disabledOn": ["macos"] @@ -207,19 +207,19 @@ In this example: --- -## Using preferences in the theme's CSS +## Using preferences in the mod's CSS -Once you have defined your preferences in the `preferences.json` file, you can use them in your theme’s CSS to modify the appearance or behavior based on the user’s selections. +Once you have defined your preferences in the `preferences.json` file, you can use them in your mod’s CSS to modify the appearance or behavior based on the user’s selections. ### Checkbox Preferences Checkbox preferences can be detected in your CSS using the `-moz-bool-pref` media query, which evaluates the boolean value (`true` or `false`) of a checkbox preference. -For example, if you have a preference to enable dark mode in your theme: +For example, if you have a preference to enable dark mode in your mod: ```json { - "property": "theme.mytheme.enable_dark_mode", + "property": "mod.mymod.enable_dark_mode", "label": "Enable dark mode", "type": "checkbox" } @@ -228,7 +228,7 @@ For example, if you have a preference to enable dark mode in your theme: You can use the following CSS to change the background color when the dark mode preference is enabled: ```css {1} -@media (-moz-bool-pref: "theme.mytheme.enable_dark_mode") { +@media (-moz-bool-pref: "mod.mymod.enable_dark_mode") { body { background-color: #000; color: #fff; @@ -238,16 +238,16 @@ You can use the following CSS to change the background color when the dark mode You can also have negative conditions ```css {1} -@media not (-moz-bool-pref: "theme.mytheme.enable_dark_mode") +@media not (-moz-bool-pref: "mod.mymod.enable_dark_mode") ``` ### Dropdown Preferences > [!attention] -> `property` fields defined in `preferences.json` using the `"dropdown"` type will have one key difference when used in your themes CSS: **dots (`.`) in the `property` name are replaced with hyphens (`-`)**. +> `property` fields defined in `preferences.json` using the `"dropdown"` type will have one key difference when used in your mod’s CSS: **dots (`.`) in the `property` name are replaced with hyphens (`-`)**. > -> E.g. `theme.mytheme.background_color` becomes `theme-mytheme-background_color` in the CSS file. +> E.g. `mod.mymod.background_color` becomes `mod-mymod-background_color` in the CSS file. > This transformation ensures that the property can be used as an attribute selector or inside a media query. For dropdown preferences, you can detect the selected value using the `:has(){:css}` CSS pseudo-class, which applies styles based on the selected attribute and value in the DOM. @@ -256,7 +256,7 @@ For example, if you have a preference to select the background color from a drop ```json { - "property": "theme.mytheme.background_color", + "property": "mod.mymod.background_color", "label": "Background color", "type": "dropdown", "options": [ @@ -276,13 +276,13 @@ You can use the following CSS to change the background color based on the select ```css {2,8,14} /* Green background */ -body:has(#theme-mytheme[theme-mytheme-background_color="green"]) { +body:has(#mod-mymod[mod-mymod-background_color="green"]) { background-color: #008000; color: #000; } /* Blue background */ -body:has(#theme-mytheme[theme-mytheme-background_color="blue"]) { +body:has(#mod-mymod[mod-mymod-background_color="blue"]) { background-color: #0000ff; color: #fff; } @@ -290,7 +290,7 @@ body:has(#theme-mytheme[theme-mytheme-background_color="blue"]) { In this example: - The background color and text color change based on the value selected in the `background_color` dropdown. -- The selector `body:has(#theme-mytheme[background_color="value"]){:css}` checks the `background_color` attribute and applies the relevant styles based on the selected option. +- The selector `body:has(#mod-mymod[background_color="value"]){:css}` checks the `background_color` attribute and applies the relevant styles based on the selected option. --- @@ -302,12 +302,12 @@ Suppose your `preferences.json` file includes these two preferences: ```json [ { - "property": "theme.mytheme.enable_dark_mode", + "property": "mod.mymod.enable_dark_mode", "label": "Enable dark mode", "type": "checkbox" }, { - "property": "theme.mytheme.background_color", + "property": "mod.mymod.background_color", "label": "Background color", "type": "dropdown", "options": [ @@ -328,7 +328,7 @@ You can combine the CSS like this: ```css /* Checkbox for dark mode */ -@media (-moz-bool-pref: "theme.mytheme.enable_dark_mode") { +@media (-moz-bool-pref: "mod.mymod.enable_dark_mode") { body { background-color: #000; color: #fff; @@ -336,12 +336,12 @@ You can combine the CSS like this: } /* Dropdown for background color selection */ -body:has(#theme-mytheme[theme-mytheme-background_color="green"]) { +body:has(#mod-mymod[mod-mymod-background_color="green"]) { background-color: #008000; color: #000; } -body:has(#theme-mytheme[theme-mytheme-background_color="blue"]) { +body:has(#mod-mymod[mod-mymod-background_color="blue"]) { background-color: #0000ff; color: #fff; } @@ -358,16 +358,16 @@ This allows users to: String preferences can be detected in your CSS using the `var(--property)` operator. The preference property is saved at `:root` level. > [!attention] -> `property` fields defined in `preferences.json` using the `"string"` type will have one key difference when used in your themes CSS: **dots (`.`) in the `property` name are replaced with hyphens (`-`)**. +> `property` fields defined in `preferences.json` using the `"string"` type will have one key difference when used in your mod’s CSS: **dots (`.`) in the `property` name are replaced with hyphens (`-`)**. > -> E.g. `theme.mytheme.background_color` becomes `theme-mytheme-background_color` in the CSS file. +> E.g. `mod.mymod.background_color` becomes `mod-mymod-background_color` in the CSS file. > This transformation ensures that the property can be used as an attribute selector or inside a media query. -For example, if you have a preference to enable dark mode in your theme: +For example, if you have a preference to enable dark mode in your mod: ```json { - "property": "theme.mytheme.background_color", + "property": "mod.mymod.background_color", "label": "Background color", "type": "string" } @@ -377,6 +377,6 @@ You can use the following CSS to change the background color when the dark mode ```css {2} .myClass { - background-color: var(--theme-mytheme-background_color) + background-color: var(--mod-mymod-background_color) } ``` diff --git a/content/themes-store/themes-marketplace-submission-guidelines.md b/content/themes-store/themes-marketplace-submission-guidelines.md index 6ebc96c..fbd1eda 100644 --- a/content/themes-store/themes-marketplace-submission-guidelines.md +++ b/content/themes-store/themes-marketplace-submission-guidelines.md @@ -1,33 +1,33 @@ --- -title: Themes Store Submission Guidelines πŸ“‹ -lastmod: 2024-08-19 +title: Mods Registry Submission Guidelines πŸ“‹ +lastmod: 2025-02-07 --- -If you are a theme developer and would like to submit your theme, please follow these guidelines: +If you are a [mod developer] and would like to submit your mod, please follow these guidelines: -1. **Theme requirements**: - - Your theme must be compatible with Zen Browser. - - Your theme must be open-source. - - Your theme must not contain any malicious code. - - Your theme must not violate any copyright laws. +1. **Mod requirements**: + - Your mod must be compatible with Zen Browser. + - Your mod must be open-source. + - Your mod must not contain any malicious code. + - Your mod must not violate any copyright laws. -2. **Theme Validation**: - - Your theme's name must be unique and less than `25` characters. - - Your theme's description must be less than `100` characters. - - Your theme's screenshot must be a `PNG` with a size of `300x200` (it can be resized after upload). - - Your theme must contain a valid `README` describing the theme and how to use it. - - If your theme has any preferences values, they must be set in the `preferences` text area as a `JSON` object. +2. **Mod Validation**: + - Your mod's name must be unique and less than `25` characters. + - Your mod's description must be less than `100` characters. + - Your mod's screenshot must be a `PNG` with a size of `600x400` (it can be resized after upload). + - Your mod must contain a valid `README` describing the mod and how to use it. + - If your mod has any preferences values, they must be set in the `preferences` text area as a `JSON` object. - See how preferences work [here](themes-store/themes-marketplace-preferences.md). -3. **Theme Submission**: - - To submit your theme, please create an issue [here](https://github.com/zen-browser/theme-store/issues/new?assignees=&labels=new-theme&projects=&template=create-theme.yml&title=%5Bcreate-theme%5D%3A+) +3. **Mod Submission**: + - To submit your mod, please create an issue [here](https://github.com/zen-browser/theme-store/issues/new?assignees=&labels=new-theme&projects=&template=create-theme.yml&title=%5Bcreate-theme%5D%3A+) - Fill out the template with the required information. - - Once you have submitted your theme, it will be analyzed by a bot and a pull request will be created. - - If your theme is approved, it will be added to the Themes Marketplace. + - Once you have submitted your mod, it will be analyzed by a bot and a pull request will be created. + - If your mod is approved, it will be added to the Mods Registry. -4. **Theme Update**: - - If you would like to update your theme, please create an issue [here](https://github.com/zen-browser/theme-store/issues/new) +4. **Mod Update**: + - If you would like to update your mod, please create an issue [here](https://github.com/zen-browser/theme-store/issues/new) - Please explain the changes you have made. > [!info] -> Themes are automatically updated and generated by the bot. If your theme is not approved, you will receive a message with the reason why it was not approved. +> Mods are automatically updated and generated by the bot. If your mod is not approved, you will receive a message with the reason why it was not approved. diff --git a/content/themes-store/themes-marketplace.md b/content/themes-store/themes-marketplace.md index bd2ecd0..5170707 100644 --- a/content/themes-store/themes-marketplace.md +++ b/content/themes-store/themes-marketplace.md @@ -1,16 +1,16 @@ --- -title: Information about Themes Store ℹ️ -lastmod: 2024-09-19 +title: Information about Mods Registry ℹ️ +lastmod: 2025-02-07 --- -The Themes Store is a place where you can find and install themes for Zen Browser. +The Mods Registry is a place where you can find and install mods for Zen Browser. -## How to install a theme +## How to install a mod 1. Open Zen Browser. -2. Click on the theme you would like to install on the [Themes Store](https://www.zen-browser.app/themes). +2. Click on the mod you would like to install on the [Mods Registry](https://www.zen-browser.app/mods). 3. Click on the "Install" button. -## For theme developers +## For mod developers -If you are a theme developer and would like to submit your theme, please follow the instructions on the [Submission Guidelines](themes-store/themes-marketplace-submission-guidelines.md) page. +If you are a mod developer and would like to submit your mod, please follow the instructions on the [Submission Guidelines](themes-store/themes-marketplace-submission-guidelines.md) page. diff --git a/content/user-manual/urlbar/index.md b/content/user-manual/urlbar/index.md new file mode 100644 index 0000000..7701545 --- /dev/null +++ b/content/user-manual/urlbar/index.md @@ -0,0 +1,25 @@ +--- +title: Zen URL bar +aliases: + - URL bar +--- + +
+ +
+ +## Zen URL bar + +Zen Browser’s **URL bar** is a powerful tool that helps you navigate the web quickly and efficiently. There's no need to open a new tab or window to search the webβ€”simply type your query into the URL bar and hit Enter to search. The URL bar also supports direct navigation to websites, so you can type a URL and press Enter to visit the site directly. + +* Can be disabled in settings or `about:config` (`zen.urlbar.replace-newtab`) + +###Β How does it work? + +* When trying to open a new tab, the search bar will appear. This allows you to navigate faster and more efficiently by being able to type out the address or getting auto-completed without having a change in the view. + * If the newtab urlbar is closed but you've typed something. The text is remembered unless the URL or tab has been changed. +* Otherwise, the functionality is basically the same as before, only when focusing the urlbar either by clicking on with the shortcut + diff --git a/content/welcome-to-zen.md b/content/welcome-to-zen.md deleted file mode 100644 index e412da7..0000000 --- a/content/welcome-to-zen.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Welcome to Zen! -aliases: - - Welcome ✨ -description: Welcome to zen, this is a quick guide of common features people commonly miss out! -lastmod: 2024-12-18 ---- -# Welcome to Zen! - -If you've recently updated Zen after a significant version jump, I recommend creating a new profile. You can do this by clicking the button in the bottom-left corner and selecting the option to create a new profile. - -## Cool New Improvements in Zen: - -## Better Themes: - -
- -
- -You can change the gradient by right-clicking on the sidebar and clicking ”Change Theme Colors.” You can also add custom colors via hex codes or other color formats. - -[Zen Gradients](https://youtu.be/a3p7tWeK4io) - -## Zen Glance: - -
- -
- -This opens links in a mini tab (this can be especially useful because you can open bookmarks from the top bar in Glance). If you want to swap the modifier key used to activate Glance you can go to settings under β€œLook and Feel”. - -## New Tab Organization: - -
- -
- -There is now an option for the URL in the sidebar (We also made this work with Windows even). Tabs are now organized into 3 categories. - -- Essentials (the square ones at the top) -- Pinned (these are workspace specific) -- Normal tabs (parenthesis cuz symmetry) - -## Split View: - -
- -
- -Split view now has options for resizing the splits as well as rearranging split view items. You can split more than 20 tabs in one split view at a time (this is insane but Arc limited me to 4 even on a widescreen). - -
- -
\ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 748cf55..bf6c48b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "4.3.0", "license": "MIT", "dependencies": { - "@clack/prompts": "^0.7.0", + "@clack/prompts": "^0.10.0", "@floating-ui/dom": "^1.6.12", "@napi-rs/simple-git": "0.1.19", "async-mutex": "^0.5.0", @@ -38,7 +38,7 @@ "pretty-time": "^1.1.0", "reading-time": "^1.5.0", "rehype-autolink-headings": "^7.1.0", - "rehype-citation": "^2.2.1", + "rehype-citation": "^2.2.2", "rehype-katex": "^7.0.1", "rehype-mathjax": "^6.0.0", "rehype-pretty-code": "^0.14.0", @@ -55,7 +55,7 @@ "rfdc": "^1.4.1", "rimraf": "^6.0.1", "serve-handler": "^6.1.6", - "shiki": "^1.22.2", + "shiki": "^3.0.0", "source-map-support": "^0.5.21", "to-vfile": "^8.0.0", "toml": "^3.0.0", @@ -176,39 +176,26 @@ } }, "node_modules/@clack/core": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.3.3.tgz", - "integrity": "sha512-5ZGyb75BUBjlll6eOa1m/IZBxwk91dooBWhPSL67sWcLS0zt9SnswRL0l26TVdBhb0wnWORRxUn//uH6n4z7+A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.4.1.tgz", + "integrity": "sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==", + "license": "MIT", "dependencies": { "picocolors": "^1.0.0", "sisteransi": "^1.0.5" } }, "node_modules/@clack/prompts": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.7.0.tgz", - "integrity": "sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==", - "bundleDependencies": [ - "is-unicode-supported" - ], + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.10.0.tgz", + "integrity": "sha512-H3rCl6CwW1NdQt9rE3n373t7o5cthPv7yUoxF2ytZvyvlJv89C5RYMJu83Hed8ODgys5vpBU0GKxIRG83jd8NQ==", + "license": "MIT", "dependencies": { - "@clack/core": "^0.3.3", - "is-unicode-supported": "*", + "@clack/core": "0.4.1", "picocolors": "^1.0.0", "sisteransi": "^1.0.5" } }, - "node_modules/@clack/prompts/node_modules/is-unicode-supported": { - "version": "1.3.0", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", @@ -884,50 +871,71 @@ } }, "node_modules/@shikijs/core": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.22.2.tgz", - "integrity": "sha512-bvIQcd8BEeR1yFvOYv6HDiyta2FFVePbzeowf5pPS1avczrPK+cjmaxxh0nx5QzbON7+Sv0sQfQVciO7bN72sg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.0.0.tgz", + "integrity": "sha512-gSm3JQf2J2psiUn5bWokmZwnu5N0jfBtRps4CQ1B+qrFvmZCRAkMVoaxgl9qZgAFK5KisLAS3//XaMFVytYHKw==", + "license": "MIT", "dependencies": { - "@shikijs/engine-javascript": "1.22.2", - "@shikijs/engine-oniguruma": "1.22.2", - "@shikijs/types": "1.22.2", - "@shikijs/vscode-textmate": "^9.3.0", + "@shikijs/types": "3.0.0", + "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", - "hast-util-to-html": "^9.0.3" + "hast-util-to-html": "^9.0.4" } }, "node_modules/@shikijs/engine-javascript": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.22.2.tgz", - "integrity": "sha512-iOvql09ql6m+3d1vtvP8fLCVCK7BQD1pJFmHIECsujB0V32BJ0Ab6hxk1ewVSMFA58FI0pR2Had9BKZdyQrxTw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.0.0.tgz", + "integrity": "sha512-zoB10hTfvk1iZk1ldt6VaF+0iucQL+4TtSvTdTu5MhOeLPLEf5nZ8Wz6uxlp99y627OLalYa2z4W0iTTwb6oyA==", + "license": "MIT", "dependencies": { - "@shikijs/types": "1.22.2", - "@shikijs/vscode-textmate": "^9.3.0", - "oniguruma-to-js": "0.4.3" + "@shikijs/types": "3.0.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^3.1.0" } }, "node_modules/@shikijs/engine-oniguruma": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.22.2.tgz", - "integrity": "sha512-GIZPAGzQOy56mGvWMoZRPggn0dTlBf1gutV5TdceLCZlFNqWmuc7u+CzD0Gd9vQUTgLbrt0KLzz6FNprqYAxlA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.0.0.tgz", + "integrity": "sha512-uM9lqwMrlPHPVcdpAN/4pAzTJah1pY7mi9f1MxG887SDkjF/tdiQK+5200Y8N5Hg125sewdMQ1K2agoAo8hDiA==", + "license": "MIT", "dependencies": { - "@shikijs/types": "1.22.2", - "@shikijs/vscode-textmate": "^9.3.0" + "@shikijs/types": "3.0.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.0.0.tgz", + "integrity": "sha512-HBsZAukiYz7k3hzttPWa0en3PABEwK3cpxcAcERRwvwuKc5pn0Y+yPxAIYZtN9cFdtNqrbFJNhfcEu/xbG1u/A==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.0.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.0.0.tgz", + "integrity": "sha512-mz63nyVB5nXWsv5H2hifDFIThZEJ/cJhMq1/+0JjMdOuuBq2H2D1Fn8UM5yzUtEvap/ipRltv381+hsHZFs4ug==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.0.0" } }, "node_modules/@shikijs/types": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.22.2.tgz", - "integrity": "sha512-NCWDa6LGZqTuzjsGfXOBWfjS/fDIbDdmVDug+7ykVe1IKT4c1gakrvlfFYp5NhAXH/lyqLM8wsAPo5wNy73Feg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.0.0.tgz", + "integrity": "sha512-kh/xgZHxI6m9trVvPw+C47jyVHx190r0F5gkF+VO5vYB54UtcoPJe66dzZmK7GbJbzmtGEGbOwct/jsoPjjUqg==", + "license": "MIT", "dependencies": { - "@shikijs/vscode-textmate": "^9.3.0", + "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "node_modules/@shikijs/vscode-textmate": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.3.0.tgz", - "integrity": "sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==" + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" }, "node_modules/@sindresorhus/merge-streams": { "version": "2.3.0", @@ -2237,6 +2245,12 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, + "node_modules/emoji-regex-xs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", + "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", + "license": "MIT" + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -2804,9 +2818,10 @@ "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" }, "node_modules/hast-util-to-html": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz", - "integrity": "sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", @@ -2815,7 +2830,7 @@ "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", - "property-information": "^6.0.0", + "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" @@ -2830,6 +2845,16 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" }, + "node_modules/hast-util-to-html/node_modules/property-information": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.0.0.tgz", + "integrity": "sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/hast-util-to-jsx-runtime": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.2.tgz", @@ -4675,15 +4700,15 @@ "node": ">=0.10.0" } }, - "node_modules/oniguruma-to-js": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/oniguruma-to-js/-/oniguruma-to-js-0.4.3.tgz", - "integrity": "sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==", + "node_modules/oniguruma-to-es": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-3.1.1.tgz", + "integrity": "sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==", + "license": "MIT", "dependencies": { - "regex": "^4.3.2" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "emoji-regex-xs": "^1.0.0", + "regex": "^6.0.1", + "regex-recursion": "^6.0.2" } }, "node_modules/package-json-from-dist": { @@ -4798,9 +4823,10 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -4928,9 +4954,28 @@ "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" }, "node_modules/regex": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/regex/-/regex-4.4.0.tgz", - "integrity": "sha512-uCUSuobNVeqUupowbdZub6ggI5/JZkYyJdDogddJr60L764oxC2pMZov1fQ3wM9bdyzUILDG+Sqx6NAKAz9rKQ==" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.0.1.tgz", + "integrity": "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" }, "node_modules/rehype-autolink-headings": { "version": "7.1.0", @@ -4950,9 +4995,9 @@ } }, "node_modules/rehype-citation": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/rehype-citation/-/rehype-citation-2.2.1.tgz", - "integrity": "sha512-8Ybq4W0/FeuXSwTrwpDbsZ9v0X0ZeKxDKyA/9s1EI2GMZLgaowPEkFOyXhOjv7Ud2ntK86AWkove38G4U0dRuQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/rehype-citation/-/rehype-citation-2.2.2.tgz", + "integrity": "sha512-a9+njSn4yJ3/bePz+T8AkCLXhSb3fK+HKlG9xEcLJraN3W92jGV91a10XEvSy6gJ5BvRdtDtu3aEd1uqvNDHRQ==", "dependencies": { "@citation-js/core": "^0.7.14", "@citation-js/date": "^0.5.1", @@ -5569,15 +5614,18 @@ } }, "node_modules/shiki": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.22.2.tgz", - "integrity": "sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.0.0.tgz", + "integrity": "sha512-x6MMdYN9auPGx7kMFtyKbaj65eCdetfrfkvQZwqisZLnGMnAZsZxOpcWD0ElvLPFWHOSMukVyN9Opm7TxQjnZA==", + "license": "MIT", "dependencies": { - "@shikijs/core": "1.22.2", - "@shikijs/engine-javascript": "1.22.2", - "@shikijs/engine-oniguruma": "1.22.2", - "@shikijs/types": "1.22.2", - "@shikijs/vscode-textmate": "^9.3.0", + "@shikijs/core": "3.0.0", + "@shikijs/engine-javascript": "3.0.0", + "@shikijs/engine-oniguruma": "3.0.0", + "@shikijs/langs": "3.0.0", + "@shikijs/themes": "3.0.0", + "@shikijs/types": "3.0.0", + "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, @@ -5595,7 +5643,8 @@ "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" }, "node_modules/slash": { "version": "5.1.0", diff --git a/package.json b/package.json index e698877..9be009d 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "quartz": "./quartz/bootstrap-cli.mjs" }, "dependencies": { - "@clack/prompts": "^0.7.0", + "@clack/prompts": "^0.10.0", "@floating-ui/dom": "^1.6.12", "@napi-rs/simple-git": "0.1.19", "async-mutex": "^0.5.0", @@ -64,7 +64,7 @@ "pretty-time": "^1.1.0", "reading-time": "^1.5.0", "rehype-autolink-headings": "^7.1.0", - "rehype-citation": "^2.2.1", + "rehype-citation": "^2.2.2", "rehype-katex": "^7.0.1", "rehype-mathjax": "^6.0.0", "rehype-pretty-code": "^0.14.0", @@ -81,7 +81,7 @@ "rfdc": "^1.4.1", "rimraf": "^6.0.1", "serve-handler": "^6.1.6", - "shiki": "^1.22.2", + "shiki": "^3.0.0", "source-map-support": "^0.5.21", "to-vfile": "^8.0.0", "toml": "^3.0.0",