From 6f0629207ac1411c32a692aa6ec20398483ebe57 Mon Sep 17 00:00:00 2001 From: "Sean (ANGRYxScotsman)" <36518683+seanh1995@users.noreply.github.com> Date: Fri, 31 Jul 2026 21:29:00 +0100 Subject: [PATCH] Gave the docs steroids. sorry for the big pr. (#4892) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Scaffold Astro + Starlight docs site Bootstraps a new docs-astro project to replace the Hugo-based docs, using Astro's Starlight framework with the content collection schema and sidebar navigation configured for WinUtil's docs structure. * Add WinUtil-branded Starlight theme Restyles Starlight's default look with a dark-by-default grayscale palette and WinUtil's brand blue (#0567ff, from the app logo) as the single accent, Geist for UI text, and JetBrains Mono for code. Also overrides the default theme provider so first-time visitors land on dark mode instead of following OS preference. * Add custom Hero and CornerCard components Hero overrides Starlight's default hero with a full-bleed grid/glow background, a browser-chrome-framed screenshot, and a badge row driven by frontmatter data. CornerCard is a bordered feature card with corner brackets, used for the landing page's feature grid. * Migrate docs content from Hugo to Astro/Starlight Ports the landing page, user guide sections, FAQ, known issues, contributing guide, and a sample generated tweak reference page from the Hugo site, converting Hugo shortcodes and GFM alert syntax to their Starlight/MDX equivalents. * Use Windows-style caption buttons in hero window chrome Swap the macOS traffic-light dots for a minimize/maximize/close button group, since WinUtil is a Windows tool. * Use Windows-style caption glyph for terminal code blocks Replace Expressive Code's default macOS dots on terminal-framed code blocks with a right-aligned Windows minimize/maximize/close icon, matching the hero window chrome. * Archive the Hugo docs site as docs-old * Promote Astro/Starlight docs from docs-astro to docs * Show the launch command as a copyable code block on the docs homepage * Add docs codeowner for seanh1995 * Register custom Header component for Starlight docs site * Add custom navbar links to Astro docs, matching the old Hugo site's top nav * Point dev docs generator at the Astro/Starlight docs site Output moves from docs/content/dev (Hugo) to docs/src/content/docs/code-reference (Astro/Starlight): .mdx instead of .md, Starlight-style title="..." code fence labels instead of Hugo's filename/linenos shortcode, and a ":::note" aside linking back to each entry's source file. Frontmatter description is now pulled from the JSON Description field. Also fixes a pre-existing bug where the embedded JSON snippets were always missing their own closing brace. * Add seanh1995 as codeowner for the dev docs generator * Wire up Code Reference section in docs sidebar Adds an Architecture & Design page plus autogenerated Tweaks/Features Reference groups pointing at docs/src/content/docs/code-reference, and fixes the editLink base URL to the promoted docs/ path. * Port architecture doc to code-reference and drop stale hyperv sample Moves the Hugo-era architecture doc into docs/src/content/docs/code-reference/architecture.mdx: drops the Hugo-only weight/toc frontmatter, converts the embedded code fences to Starlight's title="..." syntax, and repoints the "Related Documentation" links at this site's actual slugs. Also removes the hand-written reference/tweaks/hyperv.mdx placeholder now that the generator produces the real page under code-reference/features. * Keep pre-conversion backup of devdocs-generator.ps1 Snapshot of the script before it was pointed at the Astro/Starlight docs site, for reference. * updated workflow * Update CODEOWNERS * Hide edit-page link on the docs landing page The splash-template landing page isn't a source doc meant to be edited via GitHub like the rest of the guides, so skip showing the link. * Add site footer with copyright line, matching the old Hugo docs The Hugo site rendered "Β© {year} Chris Titus Tech. All rights reserved." in its footer; Starlight's default footer had no equivalent. Override it to append the same copyright line below the existing edit-link/pagination row, and collapse that row entirely when it has nothing in it (e.g. pages with editUrl disabled and no prev/next) instead of leaving an empty gap. * Fix vertical alignment and size of the arrow icon in hero/CTA buttons The right-arrow icon read as floating above the button label's baseline. Root cause was partly a genuine optical mismatch (fixed with a small position nudge scoped to just the arrow icon, so it doesn't also shift the unaffected GitHub icon) and partly the final CTA's copy getting wrapped in a

by MDX's markdown parser, which behaved slightly differently under the flex layout than the Hero component's plain text node. Switching the CTA button's label to a JS string expression avoids the wrapper and keeps both buttons' markup, and rendering, identical. * Use the dark fork-button screenshot in the contributing guide Drop the unused light-mode variant and point the guide at Fork-Button-Dark.png instead. * Remove old Hugo docs site and pre-conversion backup files The docs have moved to the Astro/Starlight site; the Hugo site (docs-old/), its workflow backup, and the devdocs-generator.ps1 pre-conversion snapshot are no longer needed. * keeping ai happy * Bump sharp to 0.35.3 in docs site --- .github/CODEOWNERS | 6 +- .github/workflows/docs.yaml | 45 +- .gitignore | 8 +- docs/.gitignore | 21 + docs/README.md | 49 + docs/archetypes/default.md | 6 - docs/assets/images/Fork-Button-Light.png | Bin 22924 -> 0 bytes docs/assets/images/updates-tab-new.png | Bin 56020 -> 0 bytes docs/astro.config.mjs | 64 + docs/content/_index.md | 28 - docs/content/dev/_index.md | 52 - .../Features/DisableLegacyRecovery.md | 16 - .../features/Features/EnableLegacyRecovery.md | 16 - .../dev/features/Features/RegBackup.md | 22 - docs/content/dev/features/Features/Sandbox.md | 15 - docs/content/dev/features/Features/_index.md | 7 - docs/content/dev/features/Features/dotnet.md | 17 - docs/content/dev/features/Features/hyperv.md | 15 - .../dev/features/Features/legacymedia.md | 19 - docs/content/dev/features/Features/nfs.md | 24 - docs/content/dev/features/Features/wsl.md | 17 - docs/content/dev/features/Fixes/Autologin.md | 11 - docs/content/dev/features/Fixes/DISM.md | 26 - docs/content/dev/features/Fixes/NTPPool.md | 27 - docs/content/dev/features/Fixes/Network.md | 12 - docs/content/dev/features/Fixes/Update.md | 233 - docs/content/dev/features/Fixes/Winget.md | 30 - docs/content/dev/features/Fixes/_index.md | 7 - .../Legacy-Windows-Panels/Computer.md | 16 - .../features/Legacy-Windows-Panels/Control.md | 16 - .../Legacy-Windows-Panels/Firewall.md | 16 - .../features/Legacy-Windows-Panels/Mouse.md | 16 - .../features/Legacy-Windows-Panels/Network.md | 16 - .../features/Legacy-Windows-Panels/Power.md | 16 - .../features/Legacy-Windows-Panels/Printer.md | 16 - .../Legacy-Windows-Panels/Programs.md | 16 - .../features/Legacy-Windows-Panels/Region.md | 16 - .../features/Legacy-Windows-Panels/Restore.md | 16 - .../Legacy-Windows-Panels/Security.md | 16 - .../features/Legacy-Windows-Panels/Sound.md | 16 - .../features/Legacy-Windows-Panels/System.md | 16 - .../Legacy-Windows-Panels/Timedate.md | 16 - .../features/Legacy-Windows-Panels/_index.md | 7 - .../InstallPSProfile.md | 22 - .../UninstallPSProfile.md | 17 - .../_index.md | 7 - .../dev/features/Remote-Access/SSHServer.md | 24 - .../dev/features/Remote-Access/_index.md | 7 - docs/content/dev/features/_index.md | 25 - .../BatteryPercentage.md | 29 - .../Customize-Preferences/BingSearch.md | 29 - .../tweaks/Customize-Preferences/DarkMode.md | 53 - .../Customize-Preferences/DetailedBSoD.md | 37 - .../DisableLockscreen.md | 28 - .../tweaks/Customize-Preferences/GameMode.md | 37 - .../Customize-Preferences/HiddenFiles.md | 39 - .../Customize-Preferences/HideSettingsHome.md | 29 - .../tweaks/Customize-Preferences/LoginBlur.md | 29 - .../tweaks/Customize-Preferences/LongPaths.md | 29 - .../MouseAcceleration.md | 45 - .../MultiplaneOverlay.md | 37 - .../Customize-Preferences/NewOutlook.md | 53 - .../tweaks/Customize-Preferences/NumLock.md | 37 - .../tweaks/Customize-Preferences/S3Sleep.md | 29 - .../Customize-Preferences/Scrollbars.md | 30 - .../tweaks/Customize-Preferences/ShowExt.md | 39 - .../Customize-Preferences/StandbyFix.md | 29 - .../StartMenuRecommendations.md | 55 - .../Customize-Preferences/StickyKeys.md | 29 - .../tweaks/Customize-Preferences/TaskView.md | 29 - .../Customize-Preferences/TaskbarAlignment.md | 39 - .../Customize-Preferences/TaskbarSearch.md | 29 - .../Customize-Preferences/VerboseLogon.md | 29 - .../Customize-Preferences/WindowSnapping.md | 29 - .../tweaks/Customize-Preferences/_index.md | 9 - .../dev/tweaks/Essential-Tweaks/Activity.md | 41 - .../Essential-Tweaks/ConsumerFeatures.md | 27 - .../Essential-Tweaks/DeleteTempFiles.md | 18 - .../Essential-Tweaks/DeliveryOptimization.md | 27 - .../Essential-Tweaks/DisableBitLocker.md | 18 - .../DisableExplorerAutoDiscovery.md | 60 - .../Essential-Tweaks/DisableStoreSearch.md | 18 - .../tweaks/Essential-Tweaks/DiskCleanup.md | 18 - .../Essential-Tweaks/EndTaskOnTaskbar.md | 27 - .../dev/tweaks/Essential-Tweaks/Hiber.md | 40 - .../dev/tweaks/Essential-Tweaks/Location.md | 48 - .../PreventDeviceMetadataFromNetwork.md | 27 - .../tweaks/Essential-Tweaks/RestorePoint.md | 38 - .../Essential-Tweaks/RevertStartMenu.md | 27 - .../dev/tweaks/Essential-Tweaks/Services.md | 45 - .../dev/tweaks/Essential-Tweaks/Telemetry.md | 136 - .../dev/tweaks/Essential-Tweaks/WPBT.md | 27 - .../dev/tweaks/Essential-Tweaks/Widget.md | 24 - .../dev/tweaks/Essential-Tweaks/_index.md | 9 - .../dev/tweaks/Performance-Plans/_index.md | 9 - docs/content/dev/tweaks/_index.md | 21 - .../BlockAdobeNet.md | 31 - .../BraveDebloat.md | 104 - .../DisableBGapps.md | 27 - .../DisableFSO.md | 27 - .../DisableIPv6.md | 33 - .../DisableNotifications.md | 34 - .../DisableWarningForUnsignedRdp.md | 34 - .../z--Advanced-Tweaks---CAUTION/Display.md | 110 - .../EdgeDebloat.md | 139 - .../z--Advanced-Tweaks---CAUTION/IPv46.md | 27 - .../OOSUbutton.md | 57 - .../RazerBlock.md | 52 - .../RemoveEdge.md | 31 - .../RemoveHomeAndGallery.md | 41 - .../RemoveOneDrive.md | 49 - .../ReservedStorage.md | 18 - .../RightClickMenu.md | 21 - .../z--Advanced-Tweaks---CAUTION/Storage.md | 27 - .../z--Advanced-Tweaks---CAUTION/Teredo.md | 33 - .../z--Advanced-Tweaks---CAUTION/UTC.md | 27 - .../z--Advanced-Tweaks---CAUTION/WindowsAI.md | 55 - .../z--Advanced-Tweaks---CAUTION/_index.md | 9 - .../z--Advanced-Tweaks---CAUTION/changedns.md | 13 - docs/content/userguide/application/_index.md | 57 - .../userguide/getting-started/_index.md | 256 - docs/go.mod | 5 - docs/go.sum | 2 - docs/hugo.toml | 140 - docs/i18n/en.yaml | 23 - docs/layouts/shortcodes/autolinks.html | 17 - docs/layouts/shortcodes/image.html | 114 - docs/package-lock.json | 6950 +++++++++++++++++ docs/package.json | 19 + docs/{static => public}/favicon.svg | 0 .../assets/branding}/navlogo.png | Bin .../assets/branding/title-screen.png} | Bin .../assets/contributing}/Commit-GHD.png | Bin .../assets/contributing}/Complie.png | Bin .../assets/contributing}/Discard-GHD.png | Bin .../assets/contributing}/Fork-Button-Dark.png | Bin .../assets/contributing}/Push-Commit.png | Bin docs/src/assets/houston.webp | Bin 0 -> 98506 bytes .../assets/screenshots}/config-tab-new.png | Bin .../install-pics/clear-selection-apps.png | Bin .../install-pics/install-apps.png | Bin .../install-pics/installation.png | Bin .../install-pics/show-installed-apps.png | Bin .../install-pics/uninstall-apps.png | Bin .../assets/screenshots}/tweaks-tab-new.png | Bin .../screenshots}/win11creator-tab-new.png | Bin docs/src/components/CornerCard.astro | 123 + docs/src/components/Footer.astro | 87 + docs/src/components/Header.astro | 178 + docs/src/components/Hero.astro | 294 + docs/src/components/ThemeProvider.astro | 36 + docs/src/content.config.ts | 29 + .../docs/code-reference/architecture.mdx} | 19 +- .../content/docs/contributing.mdx} | 50 +- .../faq.md => src/content/docs/faq.mdx} | 159 +- docs/src/content/docs/guides/application.mdx | 57 + .../content/docs/guides/automation.mdx} | 11 +- .../content/docs/guides/features.mdx} | 8 +- .../content/docs/guides/getting-started.mdx | 259 + .../content/docs/guides/index.mdx} | 57 +- .../content/docs/guides/tweaks.mdx} | 21 +- .../content/docs/guides/updates.mdx} | 6 +- .../content/docs/guides/win11creator.mdx} | 77 +- docs/src/content/docs/index.mdx | 199 + .../content/docs/known-issues.mdx} | 2 +- docs/src/styles/fonts.css | 6 + docs/src/styles/theme.css | 476 ++ docs/static/CNAME | 1 - docs/static/android-chrome-192x192.png | Bin 28177 -> 0 bytes docs/static/android-chrome-512x512.png | Bin 116413 -> 0 bytes docs/static/apple-touch-icon.png | Bin 25162 -> 0 bytes docs/static/favicon-16x16.png | Bin 877 -> 0 bytes docs/static/favicon-32x32.png | Bin 2315 -> 0 bytes docs/static/favicon.ico | Bin 21897 -> 0 bytes docs/static/site.webmanifest | 1 - docs/tsconfig.json | 5 + tools/devdocs-generator.md | 33 +- tools/devdocs-generator.ps1 | 68 +- 178 files changed, 9165 insertions(+), 4396 deletions(-) create mode 100644 docs/.gitignore create mode 100644 docs/README.md delete mode 100644 docs/archetypes/default.md delete mode 100644 docs/assets/images/Fork-Button-Light.png delete mode 100644 docs/assets/images/updates-tab-new.png create mode 100644 docs/astro.config.mjs delete mode 100644 docs/content/_index.md delete mode 100644 docs/content/dev/_index.md delete mode 100644 docs/content/dev/features/Features/DisableLegacyRecovery.md delete mode 100644 docs/content/dev/features/Features/EnableLegacyRecovery.md delete mode 100644 docs/content/dev/features/Features/RegBackup.md delete mode 100644 docs/content/dev/features/Features/Sandbox.md delete mode 100644 docs/content/dev/features/Features/_index.md delete mode 100644 docs/content/dev/features/Features/dotnet.md delete mode 100644 docs/content/dev/features/Features/hyperv.md delete mode 100644 docs/content/dev/features/Features/legacymedia.md delete mode 100644 docs/content/dev/features/Features/nfs.md delete mode 100644 docs/content/dev/features/Features/wsl.md delete mode 100644 docs/content/dev/features/Fixes/Autologin.md delete mode 100644 docs/content/dev/features/Fixes/DISM.md delete mode 100644 docs/content/dev/features/Fixes/NTPPool.md delete mode 100644 docs/content/dev/features/Fixes/Network.md delete mode 100644 docs/content/dev/features/Fixes/Update.md delete mode 100644 docs/content/dev/features/Fixes/Winget.md delete mode 100644 docs/content/dev/features/Fixes/_index.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Computer.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Control.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Firewall.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Mouse.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Network.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Power.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Printer.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Programs.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Region.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Restore.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Security.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Sound.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/System.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/Timedate.md delete mode 100644 docs/content/dev/features/Legacy-Windows-Panels/_index.md delete mode 100644 docs/content/dev/features/Powershell-Profile-Powershell-7--Only/InstallPSProfile.md delete mode 100644 docs/content/dev/features/Powershell-Profile-Powershell-7--Only/UninstallPSProfile.md delete mode 100644 docs/content/dev/features/Powershell-Profile-Powershell-7--Only/_index.md delete mode 100644 docs/content/dev/features/Remote-Access/SSHServer.md delete mode 100644 docs/content/dev/features/Remote-Access/_index.md delete mode 100644 docs/content/dev/features/_index.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/BatteryPercentage.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/BingSearch.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/DarkMode.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/DetailedBSoD.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/DisableLockscreen.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/GameMode.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/HiddenFiles.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/HideSettingsHome.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/LoginBlur.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/LongPaths.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/MouseAcceleration.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/MultiplaneOverlay.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/NewOutlook.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/NumLock.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/S3Sleep.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/Scrollbars.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/ShowExt.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/StandbyFix.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/StartMenuRecommendations.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/StickyKeys.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/TaskView.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/TaskbarAlignment.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/TaskbarSearch.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/VerboseLogon.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/WindowSnapping.md delete mode 100644 docs/content/dev/tweaks/Customize-Preferences/_index.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/Activity.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/ConsumerFeatures.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/DeleteTempFiles.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/DeliveryOptimization.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/DisableBitLocker.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/DisableExplorerAutoDiscovery.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/DisableStoreSearch.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/DiskCleanup.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/EndTaskOnTaskbar.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/Hiber.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/Location.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/PreventDeviceMetadataFromNetwork.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/RestorePoint.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/RevertStartMenu.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/Services.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/Telemetry.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/WPBT.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/Widget.md delete mode 100644 docs/content/dev/tweaks/Essential-Tweaks/_index.md delete mode 100644 docs/content/dev/tweaks/Performance-Plans/_index.md delete mode 100644 docs/content/dev/tweaks/_index.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/BlockAdobeNet.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/BraveDebloat.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableBGapps.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableFSO.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableIPv6.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableNotifications.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableWarningForUnsignedRdp.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Display.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/EdgeDebloat.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/IPv46.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/OOSUbutton.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RazerBlock.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveEdge.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveHomeAndGallery.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveOneDrive.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/ReservedStorage.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RightClickMenu.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Storage.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Teredo.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/UTC.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/WindowsAI.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/_index.md delete mode 100644 docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/changedns.md delete mode 100644 docs/content/userguide/application/_index.md delete mode 100644 docs/content/userguide/getting-started/_index.md delete mode 100644 docs/go.mod delete mode 100644 docs/go.sum delete mode 100644 docs/hugo.toml delete mode 100644 docs/i18n/en.yaml delete mode 100644 docs/layouts/shortcodes/autolinks.html delete mode 100644 docs/layouts/shortcodes/image.html create mode 100644 docs/package-lock.json create mode 100644 docs/package.json rename docs/{static => public}/favicon.svg (100%) rename docs/{static => src/assets/branding}/navlogo.png (100%) rename docs/{assets/images/Title-Screen.png => src/assets/branding/title-screen.png} (100%) rename docs/{assets/images => src/assets/contributing}/Commit-GHD.png (100%) rename docs/{assets/images => src/assets/contributing}/Complie.png (100%) rename docs/{assets/images => src/assets/contributing}/Discard-GHD.png (100%) rename docs/{assets/images => src/assets/contributing}/Fork-Button-Dark.png (100%) rename docs/{assets/images => src/assets/contributing}/Push-Commit.png (100%) create mode 100644 docs/src/assets/houston.webp rename docs/{assets/images => src/assets/screenshots}/config-tab-new.png (100%) rename docs/{assets/images => src/assets/screenshots}/install-pics/clear-selection-apps.png (100%) rename docs/{assets/images => src/assets/screenshots}/install-pics/install-apps.png (100%) rename docs/{assets/images => src/assets/screenshots}/install-pics/installation.png (100%) rename docs/{assets/images => src/assets/screenshots}/install-pics/show-installed-apps.png (100%) rename docs/{assets/images => src/assets/screenshots}/install-pics/uninstall-apps.png (100%) rename docs/{assets/images => src/assets/screenshots}/tweaks-tab-new.png (100%) rename docs/{assets/images => src/assets/screenshots}/win11creator-tab-new.png (100%) create mode 100644 docs/src/components/CornerCard.astro create mode 100644 docs/src/components/Footer.astro create mode 100644 docs/src/components/Header.astro create mode 100644 docs/src/components/Hero.astro create mode 100644 docs/src/components/ThemeProvider.astro create mode 100644 docs/src/content.config.ts rename docs/{content/dev/architecture.md => src/content/docs/code-reference/architecture.mdx} (97%) rename docs/{content/CONTRIBUTING.md => src/content/docs/contributing.mdx} (76%) rename docs/{content/faq.md => src/content/docs/faq.mdx} (77%) create mode 100644 docs/src/content/docs/guides/application.mdx rename docs/{content/userguide/automation/_index.md => src/content/docs/guides/automation.mdx} (80%) rename docs/{content/userguide/features/_index.md => src/content/docs/guides/features.mdx} (87%) create mode 100644 docs/src/content/docs/guides/getting-started.mdx rename docs/{content/userguide/_index.md => src/content/docs/guides/index.mdx} (68%) rename docs/{content/userguide/tweaks/_index.md => src/content/docs/guides/tweaks.mdx} (89%) rename docs/{content/userguide/updates/_index.md => src/content/docs/guides/updates.mdx} (94%) rename docs/{content/userguide/win11Creator/_index.md => src/content/docs/guides/win11creator.mdx} (70%) create mode 100644 docs/src/content/docs/index.mdx rename docs/{content/KnownIssues.md => src/content/docs/known-issues.mdx} (96%) create mode 100644 docs/src/styles/fonts.css create mode 100644 docs/src/styles/theme.css delete mode 100644 docs/static/CNAME delete mode 100644 docs/static/android-chrome-192x192.png delete mode 100644 docs/static/android-chrome-512x512.png delete mode 100644 docs/static/apple-touch-icon.png delete mode 100644 docs/static/favicon-16x16.png delete mode 100644 docs/static/favicon-32x32.png delete mode 100644 docs/static/favicon.ico delete mode 100644 docs/static/site.webmanifest create mode 100644 docs/tsconfig.json diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 52fce025..ebe925d6 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,2 +1,6 @@ # Chris rules EVERYTHING (including paths listed below) -* @ChrisTitusTech \ No newline at end of file +* @ChrisTitusTech + +# Seanh1917 (ANGRYxScotsmans) is the docs guy +docs/ @ChrisTitusTech @seanh1995 +tools/devdocs-generator.* @ChrisTitusTech @seanh1995 \ No newline at end of file diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 77a7e9cc..798b223d 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -1,4 +1,4 @@ -name: Deploy Hugo site to Pages +name: Deploy Astro site to Pages on: push: @@ -30,23 +30,13 @@ jobs: if: github.repository == 'ChrisTitusTech/winutil' runs-on: ubuntu-latest env: - HUGO_VERSION: 0.156.0 - HUGO_ENVIRONMENT: production TZ: America/Chicago steps: - - name: Install Hugo CLI - run: | - wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ - && sudo dpkg -i ${{ runner.temp }}/hugo.deb - name: Checkout uses: actions/checkout@v7 with: - submodules: recursive fetch-depth: 0 persist-credentials: false - - name: Setup Pages - id: pages - uses: actions/configure-pages@v6 - name: Generate Dev Docs from JSON shell: pwsh @@ -65,7 +55,7 @@ jobs: branch: docs-update delete-branch: true add-paths: | - docs/content/dev/ + docs/src/content/docs/code-reference/ config/tweaks.json config/feature.json labels: | @@ -78,35 +68,10 @@ jobs: echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" - - name: Install Node.js dependencies - run: "cd docs && [[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" - - name: Cache Restore - id: cache-restore - uses: actions/cache/restore@v6 + - name: Install, build, and upload your site + uses: withastro/action@v6 with: - path: | - ${{ runner.temp }}/hugo_cache - key: hugo-${{ github.run_id }} - restore-keys: hugo- - - name: Build with Hugo - run: | - hugo \ - --gc \ - --minify \ - --cleanDestinationDir \ - --source docs \ - --cacheDir "${{ runner.temp }}/hugo_cache" - - name: Cache Save - id: cache-save - uses: actions/cache/save@v6 - with: - path: | - ${{ runner.temp }}/hugo_cache - key: ${{ steps.cache-restore.outputs.cache-primary-key }} - - name: Upload artifact - uses: actions/upload-pages-artifact@v5 - with: - path: ./docs/public + path: docs deploy: if: github.repository == 'ChrisTitusTech/winutil' diff --git a/.gitignore b/.gitignore index 038c7354..712df037 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,7 @@ desktop.ini .vscode/ .idea/ -# hugo files -docs/public/ -docs/.hugo_build.lock -docs/resources/ +# hugo files (archived docs) +docs-old/public/ +docs-old/.hugo_build.lock +docs-old/resources/ diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..6240da8b --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,21 @@ +# 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 diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..1b7f5c3d --- /dev/null +++ b/docs/README.md @@ -0,0 +1,49 @@ +# Starlight Starter Kit: Basics + +[![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build) + +``` +npm create astro@latest -- --template starlight +``` + +> πŸ§‘β€πŸš€ **Seasoned astronaut?** Delete this file. Have fun! + +## πŸš€ Project Structure + +Inside of your Astro + Starlight project, you'll see the following folders and files: + +``` +. +β”œβ”€β”€ public/ +β”œβ”€β”€ src/ +β”‚ β”œβ”€β”€ assets/ +β”‚ β”œβ”€β”€ content/ +β”‚ β”‚ └── docs/ +β”‚ └── content.config.ts +β”œβ”€β”€ astro.config.mjs +β”œβ”€β”€ package.json +└── tsconfig.json +``` + +Starlight looks for `.md` or `.mdx` files in the `src/content/docs/` directory. Each file is exposed as a route based on its file name. + +Images can be added to `src/assets/` and embedded in Markdown with a relative link. + +Static assets, like favicons, can be placed in the `public/` directory. + +## 🧞 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? + +Check out [Starlight’s docs](https://starlight.astro.build/), read [the Astro documentation](https://docs.astro.build), or jump into the [Astro Discord server](https://astro.build/chat). diff --git a/docs/archetypes/default.md b/docs/archetypes/default.md deleted file mode 100644 index 3e72f68c..00000000 --- a/docs/archetypes/default.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: '{{ replace .File.ContentBaseName "-" " " | title }}' -description: "" -date: '{{ .Date }}' -draft: true ---- diff --git a/docs/assets/images/Fork-Button-Light.png b/docs/assets/images/Fork-Button-Light.png deleted file mode 100644 index 11d56fea035a11501900051134be86b3400ef412..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22924 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 H`qTda!4*br diff --git a/docs/assets/images/updates-tab-new.png b/docs/assets/images/updates-tab-new.png deleted file mode 100644 index e88eea0a0202a6489c2fbb2d12c702594ba031e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56020 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 - Version - GitHub Downloads - Discord Community Server - - -Welcome to the official documentation for WinUtil, your go-to utility for optimizing and managing your Windows environment. Whether you’re an IT professional, power user, or regular user, WinUtil provides a comprehensive set of tools to enhance your Windows experience. - -{{< image src="images/Title-Screen" alt="WinUtil title screen" >}} - -## Running the latest release of WinUtil - -* You will first need to start a PowerShell terminal **as Admin**. -* Now you can run the following command: - -``` -irm "https://christitus.com/win" | iex -``` - - -> [!IMPORTANT] -> WinUtil is updated frequently as of the time of writing. Consequently, features and functionalities may evolve, and the documentation may not always reflect the most current images or information. diff --git a/docs/content/dev/_index.md b/docs/content/dev/_index.md deleted file mode 100644 index 4d48a6c6..00000000 --- a/docs/content/dev/_index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Developer Reference -weight: 3 -toc: false ---- - -> [!NOTE] -> This section contains code-only references. For end-user documentation, see the [User Guide](../userguide/). - -## Architecture - -- [Architecture & Design](architecture/) - Code structure, data flow, and how Winutil works internally - -## Tweaks - -### Essential Tweaks - -{{< autolinks section="dev/tweaks/essential-tweaks" >}} - -### Advanced Tweaks (CAUTION) - -{{< autolinks section="dev/tweaks/z--advanced-tweaks---caution" >}} - -### Customize Preferences - -{{< autolinks section="dev/tweaks/customize-preferences" >}} - -### Performance Plans - -{{< autolinks section="dev/tweaks/performance-plans" >}} - -## Features - -### Fixes - -{{< autolinks section="dev/features/fixes" >}} - -### Legacy Windows Panels - -{{< autolinks section="dev/features/legacy-windows-panels" >}} - -### Features - -{{< autolinks section="dev/features/features" >}} - -### Remote Access - -{{< autolinks section="dev/features/remote-access" >}} - -### Powershell Profile Powershell 7+ Only - -{{< autolinks section="dev/features/powershell-profile-powershell-7--only" >}} diff --git a/docs/content/dev/features/Features/DisableLegacyRecovery.md b/docs/content/dev/features/Features/DisableLegacyRecovery.md deleted file mode 100644 index e268e966..00000000 --- a/docs/content/dev/features/Features/DisableLegacyRecovery.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Legacy F8 Boot Recovery - Disable" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=107} - "WPFFeatureDisableLegacyRecovery": { - "Content": "Legacy F8 Boot Recovery - Disable", - "Description": "Disables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.", - "category": "Features", - "panel": "1", - "feature": [], - "InvokeScript": [ - "bcdedit /set bootmenupolicy standard" - ], -``` diff --git a/docs/content/dev/features/Features/EnableLegacyRecovery.md b/docs/content/dev/features/Features/EnableLegacyRecovery.md deleted file mode 100644 index f146818a..00000000 --- a/docs/content/dev/features/Features/EnableLegacyRecovery.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Legacy F8 Boot Recovery - Enable" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=96} - "WPFFeatureEnableLegacyRecovery": { - "Content": "Legacy F8 Boot Recovery - Enable", - "Description": "Enables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.", - "category": "Features", - "panel": "1", - "feature": [], - "InvokeScript": [ - "bcdedit /set bootmenupolicy legacy" - ], -``` diff --git a/docs/content/dev/features/Features/RegBackup.md b/docs/content/dev/features/Features/RegBackup.md deleted file mode 100644 index 4fda2145..00000000 --- a/docs/content/dev/features/Features/RegBackup.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "Registry Backup (Daily Task 12:30am) - Enable" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=79} - "WPFFeatureRegBackup": { - "Content": "Registry Backup (Daily Task 12:30am) - Enable", - "Description": "Enables daily registry backup, previously disabled by Microsoft in Windows 10 1803.", - "category": "Features", - "panel": "1", - "feature": [], - "InvokeScript": [ - " - New-ItemProperty -Path 'HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Configuration Manager' -Name 'EnablePeriodicBackup' -Type DWord -Value 1 -Force - New-ItemProperty -Path 'HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Configuration Manager' -Name 'BackupCount' -Type DWord -Value 2 -Force - $action = New-ScheduledTaskAction -Execute 'schtasks' -Argument '/run /i /tn \"\\Microsoft\\Windows\\Registry\\RegIdleBackup\"' - $trigger = New-ScheduledTaskTrigger -Daily -At 00:30 - Register-ScheduledTask -Action $action -Trigger $trigger -TaskName 'AutoRegBackup' -Description 'Create System Registry Backups' -User 'System' - " - ], -``` diff --git a/docs/content/dev/features/Features/Sandbox.md b/docs/content/dev/features/Features/Sandbox.md deleted file mode 100644 index d41ea73f..00000000 --- a/docs/content/dev/features/Features/Sandbox.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Windows Sandbox - Enable" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=118} - "WPFFeaturesSandbox": { - "Content": "Windows Sandbox - Enable", - "Description": "Windows Sandbox is a lightweight virtual machine that provides a temporary desktop environment to safely run applications and programs in isolation.", - "category": "Features", - "panel": "1", - "feature": [ - "Containers-DisposableClientVM" - ], -``` diff --git a/docs/content/dev/features/Features/_index.md b/docs/content/dev/features/Features/_index.md deleted file mode 100644 index 99a10baa..00000000 --- a/docs/content/dev/features/Features/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Features" -weight: 1 -toc: false ---- - -{{< autolinks section="dev/features/features" >}} diff --git a/docs/content/dev/features/Features/dotnet.md b/docs/content/dev/features/Features/dotnet.md deleted file mode 100644 index e854ddc0..00000000 --- a/docs/content/dev/features/Features/dotnet.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: ".NET Framework (Versions 2, 3, 4) - Enable" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=2} - "WPFFeaturesdotnet": { - "Content": ".NET Framework (Versions 2, 3, 4) - Enable", - "Description": ".NET and .NET Framework is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.", - "category": "Features", - "panel": "1", - "feature": [ - "NetFx4-AdvSrvs", - "NetFx3" - ], - "InvokeScript": [], -``` diff --git a/docs/content/dev/features/Features/hyperv.md b/docs/content/dev/features/Features/hyperv.md deleted file mode 100644 index 5cb158a3..00000000 --- a/docs/content/dev/features/Features/hyperv.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Hyper-V - Enable" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=24} - "WPFFeatureshyperv": { - "Content": "Hyper-V - Enable", - "Description": "Hyper-V is a hardware virtualization product developed by Microsoft that allows users to create and manage virtual machines.", - "category": "Features", - "panel": "1", - "feature": [ - "Microsoft-Hyper-V-All" - ], -``` diff --git a/docs/content/dev/features/Features/legacymedia.md b/docs/content/dev/features/Features/legacymedia.md deleted file mode 100644 index 0c797cd2..00000000 --- a/docs/content/dev/features/Features/legacymedia.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: "Legacy Media Components (WMP, DirectPlay) - Enable" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=34} - "WPFFeatureslegacymedia": { - "Content": "Legacy Media Components (WMP, DirectPlay) - Enable", - "Description": "Enables legacy programs from previous versions of Windows.", - "category": "Features", - "panel": "1", - "feature": [ - "WindowsMediaPlayer", - "MediaPlayback", - "DirectPlay", - "LegacyComponents" - ], - "InvokeScript": [], -``` diff --git a/docs/content/dev/features/Features/nfs.md b/docs/content/dev/features/Features/nfs.md deleted file mode 100644 index 5a301818..00000000 --- a/docs/content/dev/features/Features/nfs.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "Network File System (NFS) - Enable" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=60} - "WPFFeaturenfs": { - "Content": "Network File System (NFS) - Enable", - "Description": "Network File System (NFS) is a mechanism for storing files on a network.", - "category": "Features", - "panel": "1", - "feature": [ - "ServicesForNFS-ClientOnly", - "ClientForNFS-Infrastructure", - "NFS-Administration" - ], - "InvokeScript": [ - "nfsadmin client stop", - "Set-ItemProperty -Path 'HKLM:\\SOFTWARE\\Microsoft\\ClientForNFS\\CurrentVersion\\Default' -Name 'AnonymousUID' -Type DWord -Value 0", - "Set-ItemProperty -Path 'HKLM:\\SOFTWARE\\Microsoft\\ClientForNFS\\CurrentVersion\\Default' -Name 'AnonymousGID' -Type DWord -Value 0", - "nfsadmin client start", - "nfsadmin client localhost config fileaccess=755 SecFlavors=+sys -krb5 -krb5i" - ], -``` diff --git a/docs/content/dev/features/Features/wsl.md b/docs/content/dev/features/Features/wsl.md deleted file mode 100644 index c50ffaca..00000000 --- a/docs/content/dev/features/Features/wsl.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Windows Subsystem for Linux (WSL) - Enable" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=48} - "WPFFeaturewsl": { - "Content": "Windows Subsystem for Linux (WSL) - Enable", - "Description": "Windows Subsystem for Linux is an optional feature of Windows that allows Linux programs to run natively on Windows without the need for a separate virtual machine or dual booting.", - "category": "Features", - "panel": "1", - "feature": [ - "VirtualMachinePlatform", - "Microsoft-Windows-Subsystem-Linux" - ], - "InvokeScript": [], -``` diff --git a/docs/content/dev/features/Fixes/Autologin.md b/docs/content/dev/features/Fixes/Autologin.md deleted file mode 100644 index 36cbb016..00000000 --- a/docs/content/dev/features/Fixes/Autologin.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "AutoLogon - Run" -description: "" ---- - -```powershell {filename="functions/public/Invoke-WPFPanelAutologin.ps1",linenos=inline,linenostart=1} -function Invoke-WPFPanelAutologin { - Invoke-WebRequest -Uri https://live.sysinternals.com/Autologon.exe -OutFile "$winutildir\autologin.exe" - Start-Process -FilePath "$winutildir\autologin.exe" -ArgumentList /accepteula -} -``` diff --git a/docs/content/dev/features/Fixes/DISM.md b/docs/content/dev/features/Fixes/DISM.md deleted file mode 100644 index b262a640..00000000 --- a/docs/content/dev/features/Fixes/DISM.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: "System Corruption Scan - Run" -description: "" ---- - -```powershell {filename="functions/public/Invoke-WPFSystemRepair.ps1",linenos=inline,linenostart=1} -function Invoke-WPFSystemRepair { - <# - .SYNOPSIS - Checks for system corruption using SFC, and DISM - Checks for disk failure using Chkdsk - - .DESCRIPTION - 1. Chkdsk - Checks for disk errors, which can cause system file corruption and notifies of early disk failure - 2. SFC - scans protected system files for corruption and fixes them - 3. DISM - Repair a corrupted Windows operating system image - #> - - Start-Process cmd.exe -ArgumentList "/c chkdsk /scan /perf" -NoNewWindow -Wait - Start-Process cmd.exe -ArgumentList "/c sfc /scannow" -NoNewWindow -Wait - Start-Process cmd.exe -ArgumentList "/c dism /online /cleanup-image /restorehealth" -NoNewWindow -Wait - - Write-Host "==> Finished System Repair" - Set-WinUtilTaskbaritem -state "None" -overlay "checkmark" -} -``` diff --git a/docs/content/dev/features/Fixes/NTPPool.md b/docs/content/dev/features/Fixes/NTPPool.md deleted file mode 100644 index d3e8990b..00000000 --- a/docs/content/dev/features/Fixes/NTPPool.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "NTP Server - Enable" -description: "" ---- - -```powershell {filename="functions/public/Invoke-WPFFixesNTPPool.ps1",linenos=inline,linenostart=1} -function Invoke-WPFFixesNTPPool { - <# - .SYNOPSIS - Configures Windows to use pool.ntp.org for NTP synchronization - - .DESCRIPTION - Replaces the default Windows NTP server (time.windows.com) with - pool.ntp.org for improved time synchronization accuracy and reliability. - #> - - Start-Service w32time - w32tm /config /update /manualpeerlist:"pool.ntp.org,0x8" /syncfromflags:MANUAL - - Restart-Service w32time - w32tm /resync - - Write-Host "=================================" - Write-Host "-- NTP Configuration Complete ---" - Write-Host "=================================" -} -``` diff --git a/docs/content/dev/features/Fixes/Network.md b/docs/content/dev/features/Fixes/Network.md deleted file mode 100644 index ef633a43..00000000 --- a/docs/content/dev/features/Fixes/Network.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "Network - Reset" -description: "" ---- - -```powershell {filename="functions/public/Invoke-WPFFixesNetwork.ps1",linenos=inline,linenostart=1} -function Invoke-WPFFixesNetwork { - netsh winsock reset - netsh int ip reset - Write-Host "Network Configuration has been Reset. Please restart your computer." -} -``` diff --git a/docs/content/dev/features/Fixes/Update.md b/docs/content/dev/features/Fixes/Update.md deleted file mode 100644 index 42a0bfea..00000000 --- a/docs/content/dev/features/Fixes/Update.md +++ /dev/null @@ -1,233 +0,0 @@ ---- -title: "Windows Update - Reset" -description: "" ---- - -```powershell {filename="functions/public/Invoke-WPFFixesUpdate.ps1",linenos=inline,linenostart=1} -function Invoke-WPFFixesUpdate { - - <# - - .SYNOPSIS - Performs various tasks in an attempt to repair Windows Update - - .DESCRIPTION - 1. (Aggressive Only) Scans the system for corruption using the Invoke-WPFSystemRepair function - 2. Stops Windows Update Services - 3. Remove the QMGR Data file, which stores BITS jobs - 4. (Aggressive Only) Renames the DataStore and CatRoot2 folders - DataStore - Contains the Windows Update History and Log Files - CatRoot2 - Contains the Signatures for Windows Update Packages - 5. Renames the Windows Update Download Folder - 6. Deletes the Windows Update Log - 7. (Aggressive Only) Resets the Security Descriptors on the Windows Update Services - 8. Reregisters the BITS and Windows Update DLLs - 9. Removes the WSUS client settings - 10. Resets WinSock - 11. Gets and deletes all BITS jobs - 12. Sets the startup type of the Windows Update Services then starts them - 13. Forces Windows Update to check for updates - - .PARAMETER Aggressive - If specified, the script will take additional steps to repair Windows Update that are more dangerous, take a significant amount of time, or are generally unnecessary - - #> - - param($Aggressive = $false) - - Write-Progress -Id 0 -Activity "Repairing Windows Update" -PercentComplete 0 - Set-WinUtilTaskbaritem -state "Indeterminate" -overlay "logo" - Write-Host "Starting Windows Update Repair..." - # Wait for the first progress bar to show, otherwise the second one won't show - Start-Sleep -Milliseconds 200 - - if ($Aggressive) { - Invoke-WPFSystemRepair - } - - - Write-Progress -Id 0 -Activity "Repairing Windows Update" -Status "Stopping Windows Update Services..." -PercentComplete 10 - # Stop the Windows Update Services - Write-Progress -Id 2 -ParentId 0 -Activity "Stopping Services" -Status "Stopping BITS..." -PercentComplete 0 - Stop-Service -Name BITS -Force - Write-Progress -Id 2 -ParentId 0 -Activity "Stopping Services" -Status "Stopping wuauserv..." -PercentComplete 20 - Stop-Service -Name wuauserv -Force - Write-Progress -Id 2 -ParentId 0 -Activity "Stopping Services" -Status "Stopping appidsvc..." -PercentComplete 40 - Stop-Service -Name appidsvc -Force - Write-Progress -Id 2 -ParentId 0 -Activity "Stopping Services" -Status "Stopping cryptsvc..." -PercentComplete 60 - Stop-Service -Name cryptsvc -Force - Write-Progress -Id 2 -ParentId 0 -Activity "Stopping Services" -Status "Completed" -PercentComplete 100 - - - # Remove the QMGR Data file - Write-Progress -Id 0 -Activity "Repairing Windows Update" -Status "Renaming/Removing Files..." -PercentComplete 20 - Write-Progress -Id 3 -ParentId 0 -Activity "Renaming/Removing Files" -Status "Removing QMGR Data files..." -PercentComplete 0 - Remove-Item "$env:allusersprofile\Application Data\Microsoft\Network\Downloader\qmgr*.dat" -ErrorAction SilentlyContinue - - - if ($Aggressive) { - # Rename the Windows Update Log and Signature Folders - Write-Progress -Id 3 -ParentId 0 -Activity "Renaming/Removing Files" -Status "Renaming the Windows Update Log, Download, and Signature Folder..." -PercentComplete 20 - Rename-Item $env:systemroot\SoftwareDistribution\DataStore DataStore.bak -ErrorAction SilentlyContinue - Rename-Item $env:systemroot\System32\Catroot2 catroot2.bak -ErrorAction SilentlyContinue - } - - # Rename the Windows Update Download Folder - Write-Progress -Id 3 -ParentId 0 -Activity "Renaming/Removing Files" -Status "Renaming the Windows Update Download Folder..." -PercentComplete 20 - Rename-Item $env:systemroot\SoftwareDistribution\Download Download.bak -ErrorAction SilentlyContinue - - # Delete the legacy Windows Update Log - Write-Progress -Id 3 -ParentId 0 -Activity "Renaming/Removing Files" -Status "Removing the old Windows Update log..." -PercentComplete 80 - Remove-Item $env:systemroot\WindowsUpdate.log -ErrorAction SilentlyContinue - Write-Progress -Id 3 -ParentId 0 -Activity "Renaming/Removing Files" -Status "Completed" -PercentComplete 100 - - - if ($Aggressive) { - # Reset the Security Descriptors on the Windows Update Services - Write-Progress -Id 0 -Activity "Repairing Windows Update" -Status "Resetting the WU Service Security Descriptors..." -PercentComplete 25 - Write-Progress -Id 4 -ParentId 0 -Activity "Resetting the WU Service Security Descriptors" -Status "Resetting the BITS Security Descriptor..." -PercentComplete 0 - Start-Process -NoNewWindow -FilePath "sc.exe" -ArgumentList "sdset", "bits", "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)" -Wait - Write-Progress -Id 4 -ParentId 0 -Activity "Resetting the WU Service Security Descriptors" -Status "Resetting the wuauserv Security Descriptor..." -PercentComplete 50 - Start-Process -NoNewWindow -FilePath "sc.exe" -ArgumentList "sdset", "wuauserv", "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)" -Wait - Write-Progress -Id 4 -ParentId 0 -Activity "Resetting the WU Service Security Descriptors" -Status "Completed" -PercentComplete 100 - } - - - # Reregister the BITS and Windows Update DLLs - Write-Progress -Id 0 -Activity "Repairing Windows Update" -Status "Reregistering DLLs..." -PercentComplete 40 - $oldLocation = Get-Location - Set-Location $env:systemroot\system32 - $i = 0 - $DLLs = @( - "atl.dll", "urlmon.dll", "mshtml.dll", "shdocvw.dll", "browseui.dll", - "jscript.dll", "vbscript.dll", "scrrun.dll", "msxml.dll", "msxml3.dll", - "msxml6.dll", "actxprxy.dll", "softpub.dll", "wintrust.dll", "dssenh.dll", - "rsaenh.dll", "gpkcsp.dll", "sccbase.dll", "slbcsp.dll", "cryptdlg.dll", - "oleaut32.dll", "ole32.dll", "shell32.dll", "initpki.dll", "wuapi.dll", - "wuaueng.dll", "wuaueng1.dll", "wucltui.dll", "wups.dll", "wups2.dll", - "wuweb.dll", "qmgr.dll", "qmgrprxy.dll", "wucltux.dll", "muweb.dll", "wuwebv.dll" - ) - foreach ($dll in $DLLs) { - Write-Progress -Id 5 -ParentId 0 -Activity "Reregistering DLLs" -Status "Registering $dll..." -PercentComplete ($i / $DLLs.Count * 100) - $i++ - Start-Process -NoNewWindow -FilePath "regsvr32.exe" -ArgumentList "/s", $dll - } - Set-Location $oldLocation - Write-Progress -Id 5 -ParentId 0 -Activity "Reregistering DLLs" -Status "Completed" -PercentComplete 100 - - - # Remove the WSUS client settings - if (Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate") { - Write-Progress -Id 0 -Activity "Repairing Windows Update" -Status "Removing WSUS client settings..." -PercentComplete 60 - Write-Progress -Id 6 -ParentId 0 -Activity "Removing WSUS client settings" -PercentComplete 0 - Start-Process -NoNewWindow -FilePath "REG" -ArgumentList "DELETE", "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate", "/v", "AccountDomainSid", "/f" -RedirectStandardError "NUL" - Start-Process -NoNewWindow -FilePath "REG" -ArgumentList "DELETE", "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate", "/v", "PingID", "/f" -RedirectStandardError "NUL" - Start-Process -NoNewWindow -FilePath "REG" -ArgumentList "DELETE", "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate", "/v", "SusClientId", "/f" -RedirectStandardError "NUL" - Write-Progress -Id 6 -ParentId 0 -Activity "Removing WSUS client settings" -Status "Completed" -PercentComplete 100 - } - - # Remove Group Policy Windows Update settings - Write-Progress -Id 0 -Activity "Repairing Windows Update" -Status "Removing Group Policy Windows Update settings..." -PercentComplete 60 - Write-Progress -Id 7 -ParentId 0 -Activity "Removing Group Policy Windows Update settings" -PercentComplete 0 - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" -Name "ExcludeWUDriversInQualityUpdate" -ErrorAction SilentlyContinue - Write-Host "Defaulting driver offering through Windows Update..." - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Device Metadata" -Name "PreventDeviceMetadataFromNetwork" -ErrorAction SilentlyContinue - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DriverSearching" -Name "DontPromptForWindowsUpdate" -ErrorAction SilentlyContinue - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DriverSearching" -Name "DontSearchWindowsUpdate" -ErrorAction SilentlyContinue - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DriverSearching" -Name "DriverUpdateWizardWuSearchEnabled" -ErrorAction SilentlyContinue - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" -Name "ExcludeWUDriversInQualityUpdate" -ErrorAction SilentlyContinue - Write-Host "Defaulting Windows Update automatic restart..." - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "NoAutoRebootWithLoggedOnUsers" -ErrorAction SilentlyContinue - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "AUPowerManagement" -ErrorAction SilentlyContinue - Write-Host "Clearing ANY Windows Update Policy settings..." - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" -Name "BranchReadinessLevel" -ErrorAction SilentlyContinue - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" -Name "DeferFeatureUpdatesPeriodInDays" -ErrorAction SilentlyContinue - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" -Name "DeferQualityUpdatesPeriodInDays" -ErrorAction SilentlyContinue - Remove-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies" -Recurse -Force -ErrorAction SilentlyContinue - Remove-Item -Path "HKCU:\Software\Microsoft\WindowsSelfHost" -Recurse -Force -ErrorAction SilentlyContinue - Remove-Item -Path "HKCU:\Software\Policies" -Recurse -Force -ErrorAction SilentlyContinue - Remove-Item -Path "HKLM:\Software\Microsoft\Policies" -Recurse -Force -ErrorAction SilentlyContinue - Remove-Item -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies" -Recurse -Force -ErrorAction SilentlyContinue - Remove-Item -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\WindowsStore\WindowsUpdate" -Recurse -Force -ErrorAction SilentlyContinue - Remove-Item -Path "HKLM:\Software\Microsoft\WindowsSelfHost" -Recurse -Force -ErrorAction SilentlyContinue - Remove-Item -Path "HKLM:\Software\Policies" -Recurse -Force -ErrorAction SilentlyContinue - Remove-Item -Path "HKLM:\Software\WOW6432Node\Microsoft\Policies" -Recurse -Force -ErrorAction SilentlyContinue - Remove-Item -Path "HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Policies" -Recurse -Force -ErrorAction SilentlyContinue - Remove-Item -Path "HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\WindowsStore\WindowsUpdate" -Recurse -Force -ErrorAction SilentlyContinue - Start-Process -NoNewWindow -FilePath "secedit" -ArgumentList "/configure", "/cfg", "$env:windir\inf\defltbase.inf", "/db", "defltbase.sdb", "/verbose" -Wait - Start-Process -NoNewWindow -FilePath "cmd.exe" -ArgumentList "/c RD /S /Q $env:WinDir\System32\GroupPolicyUsers" -Wait - Start-Process -NoNewWindow -FilePath "cmd.exe" -ArgumentList "/c RD /S /Q $env:WinDir\System32\GroupPolicy" -Wait - Start-Process -NoNewWindow -FilePath "gpupdate" -ArgumentList "/force" -Wait - Write-Progress -Id 7 -ParentId 0 -Activity "Removing Group Policy Windows Update settings" -Status "Completed" -PercentComplete 100 - - - # Reset WinSock - Write-Progress -Id 0 -Activity "Repairing Windows Update" -Status "Resetting WinSock..." -PercentComplete 65 - Write-Progress -Id 7 -ParentId 0 -Activity "Resetting WinSock" -Status "Resetting WinSock..." -PercentComplete 0 - Start-Process -NoNewWindow -FilePath "netsh" -ArgumentList "winsock", "reset" - Start-Process -NoNewWindow -FilePath "netsh" -ArgumentList "winhttp", "reset", "proxy" - Start-Process -NoNewWindow -FilePath "netsh" -ArgumentList "int", "ip", "reset" - Write-Progress -Id 7 -ParentId 0 -Activity "Resetting WinSock" -Status "Completed" -PercentComplete 100 - - - # Get and delete all BITS jobs - Write-Progress -Id 0 -Activity "Repairing Windows Update" -Status "Deleting BITS jobs..." -PercentComplete 75 - Write-Progress -Id 8 -ParentId 0 -Activity "Deleting BITS jobs" -Status "Deleting BITS jobs..." -PercentComplete 0 - Get-BitsTransfer | Remove-BitsTransfer - Write-Progress -Id 8 -ParentId 0 -Activity "Deleting BITS jobs" -Status "Completed" -PercentComplete 100 - - - # Change the startup type of the Windows Update Services and start them - Write-Progress -Id 0 -Activity "Repairing Windows Update" -Status "Starting Windows Update Services..." -PercentComplete 90 - Write-Progress -Id 9 -ParentId 0 -Activity "Starting Windows Update Services" -Status "Starting BITS..." -PercentComplete 0 - Get-Service BITS | Set-Service -StartupType Manual -PassThru | Start-Service - Write-Progress -Id 9 -ParentId 0 -Activity "Starting Windows Update Services" -Status "Starting wuauserv..." -PercentComplete 25 - Get-Service wuauserv | Set-Service -StartupType Manual -PassThru | Start-Service - Write-Progress -Id 9 -ParentId 0 -Activity "Starting Windows Update Services" -Status "Starting AppIDSvc..." -PercentComplete 50 - # The AppIDSvc service is protected, so the startup type has to be changed in the registry - Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\AppIDSvc" -Name "Start" -Value "3" # Manual - Start-Service AppIDSvc - Write-Progress -Id 9 -ParentId 0 -Activity "Starting Windows Update Services" -Status "Starting CryptSvc..." -PercentComplete 75 - Get-Service CryptSvc | Set-Service -StartupType Manual -PassThru | Start-Service - Write-Progress -Id 9 -ParentId 0 -Activity "Starting Windows Update Services" -Status "Completed" -PercentComplete 100 - - - # Force Windows Update to check for updates - Write-Progress -Id 0 -Activity "Repairing Windows Update" -Status "Forcing discovery..." -PercentComplete 95 - Write-Progress -Id 10 -ParentId 0 -Activity "Forcing discovery" -Status "Forcing discovery..." -PercentComplete 0 - try { - (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() - } catch { - Set-WinUtilTaskbaritem -state "Error" -overlay "warning" - Write-Warning "Failed to create Windows Update COM object: $_" - } - Start-Process -NoNewWindow -FilePath "wuauclt" -ArgumentList "/resetauthorization", "/detectnow" - Write-Progress -Id 10 -ParentId 0 -Activity "Forcing discovery" -Status "Completed" -PercentComplete 100 - Write-Progress -Id 0 -Activity "Repairing Windows Update" -Status "Completed" -PercentComplete 100 - - Set-WinUtilTaskbaritem -state "None" -overlay "checkmark" - - $ButtonType = [System.Windows.MessageBoxButton]::OK - $MessageboxTitle = "Reset Windows Update " - $Messageboxbody = ("Stock settings loaded.`n Please reboot your computer") - $MessageIcon = [System.Windows.MessageBoxImage]::Information - - [System.Windows.MessageBox]::Show($Messageboxbody, $MessageboxTitle, $ButtonType, $MessageIcon) - Write-Host "===============================================" - Write-Host "-- Reset All Windows Update Settings to Stock -" - Write-Host "===============================================" - - # Remove the progress bars - Write-Progress -Id 0 -Activity "Repairing Windows Update" -Completed - Write-Progress -Id 1 -Activity "Scanning for corruption" -Completed - Write-Progress -Id 2 -Activity "Stopping Services" -Completed - Write-Progress -Id 3 -Activity "Renaming/Removing Files" -Completed - Write-Progress -Id 4 -Activity "Resetting the WU Service Security Descriptors" -Completed - Write-Progress -Id 5 -Activity "Reregistering DLLs" -Completed - Write-Progress -Id 6 -Activity "Removing Group Policy Windows Update settings" -Completed - Write-Progress -Id 7 -Activity "Resetting WinSock" -Completed - Write-Progress -Id 8 -Activity "Deleting BITS jobs" -Completed - Write-Progress -Id 9 -Activity "Starting Windows Update Services" -Completed - Write-Progress -Id 10 -Activity "Forcing discovery" -Completed -} -``` diff --git a/docs/content/dev/features/Fixes/Winget.md b/docs/content/dev/features/Fixes/Winget.md deleted file mode 100644 index fa32076d..00000000 --- a/docs/content/dev/features/Fixes/Winget.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "WinGet - Reinstall" -description: "" ---- - -```powershell {filename="functions/public/Invoke-WPFFixesWinget.ps1",linenos=inline,linenostart=1} -function Invoke-WPFFixesWinget { - - <# - - .SYNOPSIS - Fixes WinGet by running `choco install winget` - .DESCRIPTION - BravoNorris for the fantastic idea of a button to reinstall WinGet - #> - # Install Choco if not already present - try { - Set-WinUtilTaskbaritem -state "Indeterminate" -overlay "logo" - Write-Host "==> Starting WinGet Repair" - Install-WinUtilWinget - } catch { - Write-Error "Failed to install WinGet: $_" - Set-WinUtilTaskbaritem -state "Error" -overlay "warning" - } finally { - Write-Host "==> Finished WinGet Repair" - Set-WinUtilTaskbaritem -state "None" -overlay "checkmark" - } - -} -``` diff --git a/docs/content/dev/features/Fixes/_index.md b/docs/content/dev/features/Fixes/_index.md deleted file mode 100644 index 76f58da0..00000000 --- a/docs/content/dev/features/Fixes/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Fixes" -weight: 2 -toc: false ---- - -{{< autolinks section="dev/features/fixes" >}} diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Computer.md b/docs/content/dev/features/Legacy-Windows-Panels/Computer.md deleted file mode 100644 index 4aa6f849..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Computer.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Computer Management" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=182} - "WPFPanelComputer": { - "Content": "Computer Management", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "compmgmt.msc" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Control.md b/docs/content/dev/features/Legacy-Windows-Panels/Control.md deleted file mode 100644 index bc6cfe98..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Control.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Control Panel" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=193} - "WPFPanelControl": { - "Content": "Control Panel", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "control" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Firewall.md b/docs/content/dev/features/Legacy-Windows-Panels/Firewall.md deleted file mode 100644 index f7c17eba..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Firewall.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Windows Defender Firewall" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=314} - "WPFPanelFirewall": { - "Content": "Windows Defender Firewall", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "firewall.cpl" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Mouse.md b/docs/content/dev/features/Legacy-Windows-Panels/Mouse.md deleted file mode 100644 index 6f54d745..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Mouse.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Mouse Properties" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=204} - "WPFPanelMouse": { - "Content": "Mouse Properties", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "main.cpl" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Network.md b/docs/content/dev/features/Legacy-Windows-Panels/Network.md deleted file mode 100644 index fbd5af48..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Network.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Network Connections" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=215} - "WPFPanelNetwork": { - "Content": "Network Connections", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "ncpa.cpl" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Power.md b/docs/content/dev/features/Legacy-Windows-Panels/Power.md deleted file mode 100644 index cf902a2e..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Power.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Power Panel" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=226} - "WPFPanelPower": { - "Content": "Power Panel", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "powercfg.cpl" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Printer.md b/docs/content/dev/features/Legacy-Windows-Panels/Printer.md deleted file mode 100644 index 77b4436d..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Printer.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Printer Panel" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=237} - "WPFPanelPrinter": { - "Content": "Printer Panel", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "Start-Process 'shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}'" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Programs.md b/docs/content/dev/features/Legacy-Windows-Panels/Programs.md deleted file mode 100644 index 74bcd5fa..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Programs.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Programs and Features" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=248} - "WPFPanelPrograms": { - "Content": "Programs and Features", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "appwiz.cpl" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Region.md b/docs/content/dev/features/Legacy-Windows-Panels/Region.md deleted file mode 100644 index 0b22cf3d..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Region.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Region" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=259} - "WPFPanelRegion": { - "Content": "Region", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "intl.cpl" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Restore.md b/docs/content/dev/features/Legacy-Windows-Panels/Restore.md deleted file mode 100644 index 4150356a..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Restore.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Windows Restore" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=325} - "WPFPanelRestore": { - "Content": "Windows Restore", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "rstrui.exe" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Security.md b/docs/content/dev/features/Legacy-Windows-Panels/Security.md deleted file mode 100644 index cfcd78f6..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Security.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Security and Maintenance" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=270} - "WPFPanelSecurity": { - "Content": "Security and Maintenance", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "wscui.cpl" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Sound.md b/docs/content/dev/features/Legacy-Windows-Panels/Sound.md deleted file mode 100644 index 1dfd0bac..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Sound.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Sound Settings" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=281} - "WPFPanelSound": { - "Content": "Sound Settings", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "mmsys.cpl" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/System.md b/docs/content/dev/features/Legacy-Windows-Panels/System.md deleted file mode 100644 index 31e2b3c5..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/System.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "System Properties" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=292} - "WPFPanelSystem": { - "Content": "System Properties", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "sysdm.cpl" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/Timedate.md b/docs/content/dev/features/Legacy-Windows-Panels/Timedate.md deleted file mode 100644 index 2f281556..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/Timedate.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Time and Date" -description: "" ---- - -```json {filename="config/feature.json",linenos=inline,linenostart=303} - "WPFPanelTimedate": { - "Content": "Time and Date", - "category": "Legacy Windows Panels", - "panel": "2", - "Type": "Button", - "ButtonWidth": "300", - "InvokeScript": [ - "timedate.cpl" - ], -``` diff --git a/docs/content/dev/features/Legacy-Windows-Panels/_index.md b/docs/content/dev/features/Legacy-Windows-Panels/_index.md deleted file mode 100644 index b09a97bc..00000000 --- a/docs/content/dev/features/Legacy-Windows-Panels/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Legacy Windows Panels" -weight: 3 -toc: false ---- - -{{< autolinks section="dev/features/legacy-windows-panels" >}} diff --git a/docs/content/dev/features/Powershell-Profile-Powershell-7--Only/InstallPSProfile.md b/docs/content/dev/features/Powershell-Profile-Powershell-7--Only/InstallPSProfile.md deleted file mode 100644 index c9d8734c..00000000 --- a/docs/content/dev/features/Powershell-Profile-Powershell-7--Only/InstallPSProfile.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "CTT PowerShell Profile - Install" -description: "" ---- - -```powershell {filename="functions/private/Invoke-WinUtilInstallPSProfile.ps1",linenos=inline,linenostart=1} -function Invoke-WinUtilInstallPSProfile { - if (-not (Get-Command wt)) { - Write-Host "Windows Terminal not found. Installing..." - Install-WinUtilWinget - winget install Microsoft.WindowsTerminal --source winget --silent - } - - if (-not (Get-Command pwsh)) { - Write-Host "PowerShell 7 not found. Installing..." - Install-WinUtilWinget - winget install Microsoft.PowerShell --source winget --installer-type wix --silent - } - - wt new-tab pwsh -NoExit -Command "irm https://github.com/ChrisTitusTech/powershell-profile/raw/main/setup.ps1 | iex" -} -``` diff --git a/docs/content/dev/features/Powershell-Profile-Powershell-7--Only/UninstallPSProfile.md b/docs/content/dev/features/Powershell-Profile-Powershell-7--Only/UninstallPSProfile.md deleted file mode 100644 index 276d7165..00000000 --- a/docs/content/dev/features/Powershell-Profile-Powershell-7--Only/UninstallPSProfile.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "CTT PowerShell Profile - Remove" -description: "" ---- - -```powershell {filename="functions/private/Invoke-WinUtilUninstallPSProfile.ps1",linenos=inline,linenostart=1} -function Invoke-WinUtilUninstallPSProfile { - - if (Test-Path ($Profile + ".bak")) { - Move-Item -Path ($Profile + ".bak") -Destination $Profile - } else { - Remove-Item -Path $Profile - } - - Write-Host "Successfully uninstalled CTT PowerShell Profile." -ForegroundColor Green -} -``` diff --git a/docs/content/dev/features/Powershell-Profile-Powershell-7--Only/_index.md b/docs/content/dev/features/Powershell-Profile-Powershell-7--Only/_index.md deleted file mode 100644 index c31e1e8b..00000000 --- a/docs/content/dev/features/Powershell-Profile-Powershell-7--Only/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Powershell Profile Powershell 7+ Only" -weight: 5 -toc: false ---- - -{{< autolinks section="dev/features/powershell-profile-powershell-7--only" >}} diff --git a/docs/content/dev/features/Remote-Access/SSHServer.md b/docs/content/dev/features/Remote-Access/SSHServer.md deleted file mode 100644 index 6a635196..00000000 --- a/docs/content/dev/features/Remote-Access/SSHServer.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "OpenSSH Server - Enable" -description: "" ---- - -```powershell {filename="functions/public/Invoke-WPFSSHServer.ps1",linenos=inline,linenostart=1} -function Invoke-WPFSSHServer { - <# - - .SYNOPSIS - Invokes the OpenSSH Server install in a runspace - - #> - - Invoke-WPFRunspace -ScriptBlock { - - Invoke-WinUtilSSHServer - - Write-Host "=======================================" - Write-Host "-- OpenSSH Server installed! ---" - Write-Host "=======================================" - } -} -``` diff --git a/docs/content/dev/features/Remote-Access/_index.md b/docs/content/dev/features/Remote-Access/_index.md deleted file mode 100644 index e557a9e3..00000000 --- a/docs/content/dev/features/Remote-Access/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Remote Access" -weight: 4 -toc: false ---- - -{{< autolinks section="dev/features/remote-access" >}} diff --git a/docs/content/dev/features/_index.md b/docs/content/dev/features/_index.md deleted file mode 100644 index 1680214a..00000000 --- a/docs/content/dev/features/_index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: "Features" -weight: 1 -toc: false ---- - -### Fixes - -{{< autolinks section="dev/features/fixes" >}} - -### Legacy Windows Panels - -{{< autolinks section="dev/features/legacy-windows-panels" >}} - -### Features - -{{< autolinks section="dev/features/features" >}} - -### Remote Access - -{{< autolinks section="dev/features/remote-access" >}} - -### Powershell Profile Powershell 7+ Only - -{{< autolinks section="dev/features/powershell-profile-powershell-7--only" >}} diff --git a/docs/content/dev/tweaks/Customize-Preferences/BatteryPercentage.md b/docs/content/dev/tweaks/Customize-Preferences/BatteryPercentage.md deleted file mode 100644 index 8ba29709..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/BatteryPercentage.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "System Tray Battery Percentage" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1268} - "WPFToggleBatteryPercentage": { - "Content": "System Tray Battery Percentage", - "Description": "Shows numeric battery percentage next to the battery icon in the system tray.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - "Name": "IsBatteryPercentageEnabled", - "Value": "1", - "Type": "DWord", - "OriginalValue": "", - "DefaultState": "false" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/BingSearch.md b/docs/content/dev/tweaks/Customize-Preferences/BingSearch.md deleted file mode 100644 index a9de7d07..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/BingSearch.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Start Menu Bing Search" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1621} - "WPFToggleBingSearch": { - "Content": "Start Menu Bing Search", - "Description": "Toggles Bing web search results in Windows Search.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search", - "Name": "BingSearchEnabled", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "true" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/DarkMode.md b/docs/content/dev/tweaks/Customize-Preferences/DarkMode.md deleted file mode 100644 index 8ed1da9d..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/DarkMode.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: "Dark Theme for Windows" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1286} - "WPFToggleDarkMode": { - "Content": "Dark Theme for Windows", - "Description": "Dark Mode for the system and applications.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", - "Name": "AppsUseLightTheme", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1", - "DefaultState": "false" - }, - { - "Path": "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", - "Name": "SystemUsesLightTheme", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1", - "DefaultState": "false" - } - ], - "InvokeScript": [ - " - Invoke-WinUtilExplorerUpdate - if ($sync.ThemeButton.Content -eq [char]0xF08C) { - Invoke-WinutilThemeChange -theme \"Auto\" - } - " - ], - "UndoScript": [ - " - Invoke-WinUtilExplorerUpdate - if ($sync.ThemeButton.Content -eq [char]0xF08C) { - Invoke-WinutilThemeChange -theme \"Auto\" - } - " - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/DetailedBSoD.md b/docs/content/dev/tweaks/Customize-Preferences/DetailedBSoD.md deleted file mode 100644 index dd6f3e1c..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/DetailedBSoD.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "BSoD Verbose Mode" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1242} - "WPFToggleDetailedBSoD": { - "Content": "BSoD Verbose Mode", - "Description": "Gives more information when you blue screen.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\CrashControl", - "Name": "DisplayParameters", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "false" - }, - { - "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\CrashControl", - "Name": "DisableEmoticon", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "false" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/DisableLockscreen.md b/docs/content/dev/tweaks/Customize-Preferences/DisableLockscreen.md deleted file mode 100644 index a36a8860..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/DisableLockscreen.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: "Lock Screen - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1657} - "WPFTweaksDisableLockscreen": { - "Content": "Lock Screen - Disable", - "Description": "Skips the lock screen entirely and goes directly to the sign-in screen on boot and wake.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\Personalization", - "Name": "NoLockScreen", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/GameMode.md b/docs/content/dev/tweaks/Customize-Preferences/GameMode.md deleted file mode 100644 index e7c3d930..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/GameMode.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Game Mode" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1800} - "WPFToggleGameMode": { - "Content": "Game Mode", - "Description": "Toggles Windows prioritizes gaming performance by allocating system resources to games.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Software\\Microsoft\\GameBar", - "Name": "AllowAutoGameMode", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "true" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\GameBar", - "Name": "AutoGameModeEnabled", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "true" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/HiddenFiles.md b/docs/content/dev/tweaks/Customize-Preferences/HiddenFiles.md deleted file mode 100644 index 697d4f38..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/HiddenFiles.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "File Explorer Hidden Files" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1356} - "WPFToggleHiddenFiles": { - "Content": "File Explorer Hidden Files", - "Description": "Reveals hidden files in Explorer.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - "Name": "Hidden", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "false" - } - ], - "InvokeScript": [ - " - Invoke-WinUtilExplorerUpdate -action \"restart\" - " - ], - "UndoScript": [ - " - Invoke-WinUtilExplorerUpdate -action \"restart\" - " - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/HideSettingsHome.md b/docs/content/dev/tweaks/Customize-Preferences/HideSettingsHome.md deleted file mode 100644 index 5b6999b9..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/HideSettingsHome.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Settings Home Page" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1603} - "WPFToggleHideSettingsHome": { - "Content": "Settings Home Page", - "Description": "Toggles the Home Page in the Windows Settings app.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", - "Name": "SettingsPageVisibility", - "Value": "show:home", - "Type": "String", - "OriginalValue": "hide:home", - "DefaultState": "true" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/LoginBlur.md b/docs/content/dev/tweaks/Customize-Preferences/LoginBlur.md deleted file mode 100644 index 2512e48e..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/LoginBlur.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Logon Screen Acrylic Blur" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1639} - "WPFToggleLoginBlur": { - "Content": "Logon Screen Acrylic Blur", - "Description": "Toggles the acrylic blur effect on login screen background.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System", - "Name": "DisableAcrylicBackgroundOnLogon", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1", - "DefaultState": "true" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/LongPaths.md b/docs/content/dev/tweaks/Customize-Preferences/LongPaths.md deleted file mode 100644 index e29bcf26..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/LongPaths.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Enable Long Paths" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1826} - "WPFToggleLongPaths": { - "Content": "Enable Long Paths", - "Description": "Toggles support for file paths longer than 260 characters in Explorer.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem", - "Name": "LongPathsEnabled", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "false" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/MouseAcceleration.md b/docs/content/dev/tweaks/Customize-Preferences/MouseAcceleration.md deleted file mode 100644 index 62ac73ab..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/MouseAcceleration.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Mouse Acceleration" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1489} - "WPFToggleMouseAcceleration": { - "Content": "Mouse Acceleration", - "Description": "Makes it so Cursor movement is affected by the speed of your physical mouse movements.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Control Panel\\Mouse", - "Name": "MouseSpeed", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "true" - }, - { - "Path": "HKCU:\\Control Panel\\Mouse", - "Name": "MouseThreshold1", - "Value": "6", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "true" - }, - { - "Path": "HKCU:\\Control Panel\\Mouse", - "Name": "MouseThreshold2", - "Value": "10", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "true" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/MultiplaneOverlay.md b/docs/content/dev/tweaks/Customize-Preferences/MultiplaneOverlay.md deleted file mode 100644 index fb0bd4ee..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/MultiplaneOverlay.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Multiplane Overlay" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1463} - "WPFToggleMultiplaneOverlay": { - "Content": "Multiplane Overlay", - "Description": "Multiplane Overlay compose multiple image layers, which can sometimes cause issues with graphics cards.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\Dwm", - "Name": "OverlayTestMode", - "Value": "0", - "Type": "DWord", - "OriginalValue": "5", - "DefaultState": "true" - }, - { - "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\GraphicsDrivers", - "Name": "DisableOverlays", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1", - "DefaultState": "true" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/NewOutlook.md b/docs/content/dev/tweaks/Customize-Preferences/NewOutlook.md deleted file mode 100644 index c15e7702..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/NewOutlook.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: "Microsoft Outlook New Version" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1402} - "WPFToggleNewOutlook": { - "Content": "Microsoft Outlook New Version", - "Description": "This will ensures the classic Outlook application is used.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\SOFTWARE\\Microsoft\\Office\\16.0\\Outlook\\Preferences", - "Name": "UseNewOutlook", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "true" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Office\\16.0\\Outlook\\Options\\General", - "Name": "HideNewOutlookToggle", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1", - "DefaultState": "true" - }, - { - "Path": "HKCU:\\Software\\Policies\\Microsoft\\Office\\16.0\\Outlook\\Options\\General", - "Name": "DoNewOutlookAutoMigration", - "Value": "0", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "false" - }, - { - "Path": "HKCU:\\Software\\Policies\\Microsoft\\Office\\16.0\\Outlook\\Preferences", - "Name": "NewOutlookMigrationUserSetting", - "Value": "0", - "Type": "DWord", - "OriginalValue": "", - "DefaultState": "true" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/NumLock.md b/docs/content/dev/tweaks/Customize-Preferences/NumLock.md deleted file mode 100644 index 3f210a59..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/NumLock.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Num Lock on Startup" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1523} - "WPFToggleNumLock": { - "Content": "Num Lock on Startup", - "Description": "Toggle the Num Lock key state when your computer starts.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKU:\\.Default\\Control Panel\\Keyboard", - "Name": "InitialKeyboardIndicators", - "Value": "2", - "Type": "String", - "OriginalValue": "0", - "DefaultState": "false" - }, - { - "Path": "HKCU:\\Control Panel\\Keyboard", - "Name": "InitialKeyboardIndicators", - "Value": "2", - "Type": "String", - "OriginalValue": "0", - "DefaultState": "false" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/S3Sleep.md b/docs/content/dev/tweaks/Customize-Preferences/S3Sleep.md deleted file mode 100644 index 832864f9..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/S3Sleep.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "S3 Sleep" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1585} - "WPFToggleS3Sleep": { - "Content": "S3 Sleep", - "Description": "Toggles between Modern Standby and S3 Sleep, which cuts off power to the CPU while continuing to refresh the memory.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Power", - "Name": "PlatformAoAcOverride", - "Value": "0", - "Type": "DWord", - "OriginalValue": "", - "DefaultState": "false" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/Scrollbars.md b/docs/content/dev/tweaks/Customize-Preferences/Scrollbars.md deleted file mode 100644 index 2cd284da..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/Scrollbars.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "Scrollbars Always Visible" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1444} - "WPFToggleScrollbars": { - "Content": "Scrollbars Always Visible", - "Description": "If enabled, scrollbars will always be visible. If disabled, Windows will automatically hide scrollbars when not in use.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Control Panel\\Accessibility", - "Name": "DynamicScrollbars", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1", - "DefaultState": "false", - "link": "https://winutil.christitus.com/dev/tweaks/customize-preferences/scrollbars" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/ShowExt.md b/docs/content/dev/tweaks/Customize-Preferences/ShowExt.md deleted file mode 100644 index 5f435afc..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/ShowExt.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "File Explorer File Extensions" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1328} - "WPFToggleShowExt": { - "Content": "File Explorer File Extensions", - "Description": "Shows .file extensions in Explorer (.exe, .png, etc.)", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - "Name": "HideFileExt", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1", - "DefaultState": "false" - } - ], - "InvokeScript": [ - " - Invoke-WinUtilExplorerUpdate -action \"restart\" - " - ], - "UndoScript": [ - " - Invoke-WinUtilExplorerUpdate -action \"restart\" - " - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/StandbyFix.md b/docs/content/dev/tweaks/Customize-Preferences/StandbyFix.md deleted file mode 100644 index 3bb71bbb..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/StandbyFix.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "S0 Sleep Network Connectivity" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1567} - "WPFToggleStandbyFix": { - "Content": "S0 Sleep Network Connectivity", - "Description": "Toggles network connectivity during S0 Sleep which is low power idle in modern laptops.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\SOFTWARE\\Policies\\Microsoft\\Power\\PowerSettings\\f15576e8-98b7-4186-b944-eafa664402d9", - "Name": "ACSettingIndex", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "true" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/StartMenuRecommendations.md b/docs/content/dev/tweaks/Customize-Preferences/StartMenuRecommendations.md deleted file mode 100644 index 32bb1804..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/StartMenuRecommendations.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: "Start Menu Recommendations" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1674} - "WPFToggleStartMenuRecommendations": { - "Content": "Start Menu Recommendations", - "Description": "Toggles the recommendations section in the Start Menu. WARNING: This will also disable Windows Spotlight on your Lock Screen as a side effect.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Microsoft\\PolicyManager\\current\\device\\Start", - "Name": "HideRecommendedSection", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1", - "DefaultState": "true" - }, - { - "Path": "HKLM:\\SOFTWARE\\Microsoft\\PolicyManager\\current\\device\\Education", - "Name": "IsEducationEnvironment", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1", - "DefaultState": "true" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\Explorer", - "Name": "HideRecommendedSection", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1", - "DefaultState": "true" - } - ], - "InvokeScript": [ - " - Invoke-WinUtilExplorerUpdate -action \"restart\" - " - ], - "UndoScript": [ - " - Invoke-WinUtilExplorerUpdate -action \"restart\" - " - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/StickyKeys.md b/docs/content/dev/tweaks/Customize-Preferences/StickyKeys.md deleted file mode 100644 index c2848248..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/StickyKeys.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Sticky Keys" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1718} - "WPFToggleStickyKeys": { - "Content": "Sticky Keys", - "Description": "Toggles the Sticky Keys, which activate when clicking shift rapidly.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Control Panel\\Accessibility\\StickyKeys", - "Name": "Flags", - "Value": "506", - "Type": "DWord", - "OriginalValue": "58", - "DefaultState": "true" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/TaskView.md b/docs/content/dev/tweaks/Customize-Preferences/TaskView.md deleted file mode 100644 index be24795a..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/TaskView.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Taskbar Task View Icon" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1782} - "WPFToggleTaskView": { - "Content": "Taskbar Task View Icon", - "Description": "Toggles the Task View Button in the Taskbar.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - "Name": "ShowTaskViewButton", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "true" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/TaskbarAlignment.md b/docs/content/dev/tweaks/Customize-Preferences/TaskbarAlignment.md deleted file mode 100644 index 004dfe94..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/TaskbarAlignment.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "Taskbar Centered Icons" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1736} - "WPFToggleTaskbarAlignment": { - "Content": "Taskbar Centered Icons", - "Description": "Toggles the Taskbar alignment either to the left or center.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - "Name": "TaskbarAl", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "true" - } - ], - "InvokeScript": [ - " - Invoke-WinUtilExplorerUpdate -action \"restart\" - " - ], - "UndoScript": [ - " - Invoke-WinUtilExplorerUpdate -action \"restart\" - " - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/TaskbarSearch.md b/docs/content/dev/tweaks/Customize-Preferences/TaskbarSearch.md deleted file mode 100644 index 76a70b94..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/TaskbarSearch.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Taskbar Search Icon" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1764} - "WPFToggleTaskbarSearch": { - "Content": "Taskbar Search Icon", - "Description": "Toggles the Search Button on the Taskbar.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search", - "Name": "SearchboxTaskbarMode", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "true" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/VerboseLogon.md b/docs/content/dev/tweaks/Customize-Preferences/VerboseLogon.md deleted file mode 100644 index 9385c68d..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/VerboseLogon.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Logon Verbose Mode" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1384} - "WPFToggleVerboseLogon": { - "Content": "Logon Verbose Mode", - "Description": "Show detailed messages during startup/shutdown.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", - "Name": "VerboseStatus", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0", - "DefaultState": "false" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/WindowSnapping.md b/docs/content/dev/tweaks/Customize-Preferences/WindowSnapping.md deleted file mode 100644 index b623a407..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/WindowSnapping.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Window Snapping" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1549} - "WPFToggleWindowSnapping": { - "Content": "Window Snapping", - "Description": "Toggles the window snapping feature when dragging windows.", - "category": "Customize Preferences", - "panel": "2", - "Type": "Toggle", - "registry": [ - { - "Path": "HKCU:\\Control Panel\\Desktop", - "Name": "WindowArrangementActive", - "Value": "1", - "Type": "String", - "OriginalValue": "0", - "DefaultState": "true" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Customize-Preferences/_index.md b/docs/content/dev/tweaks/Customize-Preferences/_index.md deleted file mode 100644 index ddc2a936..00000000 --- a/docs/content/dev/tweaks/Customize-Preferences/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Customize Preferences" -weight: 3 -toc: false ---- - -### Customize Preferences - -{{< autolinks section="dev/tweaks/customize-preferences" >}} diff --git a/docs/content/dev/tweaks/Essential-Tweaks/Activity.md b/docs/content/dev/tweaks/Essential-Tweaks/Activity.md deleted file mode 100644 index 3e1f3f56..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/Activity.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "Activity History - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=2} - "WPFTweaksActivity": { - "Content": "Activity History - Disable", - "Description": "Erases recent docs, clipboard, and run history.", - "category": "Essential Tweaks", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System", - "Name": "EnableActivityFeed", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System", - "Name": "PublishUserActivities", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System", - "Name": "UploadUserActivities", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Essential-Tweaks/ConsumerFeatures.md b/docs/content/dev/tweaks/Essential-Tweaks/ConsumerFeatures.md deleted file mode 100644 index a86a876e..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/ConsumerFeatures.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "ConsumerFeatures - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=430} - "WPFTweaksConsumerFeatures": { - "Content": "ConsumerFeatures - Disable", - "Description": "Stops promoted app installs and reduces app suggestions from Microsoft Store content.", - "category": "Essential Tweaks", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\CloudContent", - "Name": "DisableWindowsConsumerFeatures", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Essential-Tweaks/DeleteTempFiles.md b/docs/content/dev/tweaks/Essential-Tweaks/DeleteTempFiles.md deleted file mode 100644 index 6500d0fb..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/DeleteTempFiles.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Temporary Files - Remove" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1082} - "WPFTweaksDeleteTempFiles": { - "Content": "Temporary Files - Remove", - "Description": "Erases TEMP Folders.", - "category": "Essential Tweaks", - "panel": "1", - "InvokeScript": [ - " - Remove-Item -Path \"$Env:Temp\\*\" -Recurse -Force - Remove-Item -Path \"$Env:SystemRoot\\Temp\\*\" -Recurse -Force - " - ], -``` diff --git a/docs/content/dev/tweaks/Essential-Tweaks/DeliveryOptimization.md b/docs/content/dev/tweaks/Essential-Tweaks/DeliveryOptimization.md deleted file mode 100644 index 8d201fae..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/DeliveryOptimization.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Delivery Optimization - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=571} - "WPFTweaksDeliveryOptimization": { - "Content": "Delivery Optimization - Disable", - "Description": "Stops Windows from using your bandwidth to upload updates to other PCs on the internet or local network.", - "category": "Essential Tweaks", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\DeliveryOptimization", - "Name": "DODownloadMode", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Essential-Tweaks/DisableBitLocker.md b/docs/content/dev/tweaks/Essential-Tweaks/DisableBitLocker.md deleted file mode 100644 index ed675a37..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/DisableBitLocker.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "BitLocker - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=613} - "WPFTweaksDisableBitLocker": { - "Content": "BitLocker - Disable", - "Description": "Disables BitLocker.", - "category": "Essential Tweaks", - "panel": "1", - "InvokeScript": [ - "Disable-BitLocker -MountPoint $Env:SystemDrive" - ], - "UndoScript": [ - "Enable-BitLocker -MountPoint $Env:SystemDrive" - ], -``` diff --git a/docs/content/dev/tweaks/Essential-Tweaks/DisableExplorerAutoDiscovery.md b/docs/content/dev/tweaks/Essential-Tweaks/DisableExplorerAutoDiscovery.md deleted file mode 100644 index 91fcd147..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/DisableExplorerAutoDiscovery.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: "File Explorer Automatic Folder Discovery - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1187} - "WPFTweaksDisableExplorerAutoDiscovery": { - "Content": "File Explorer Automatic Folder Discovery - Disable", - "Description": "Windows Explorer automatically tries to guess the type of the folder based on its contents, slowing down the browsing experience. WARNING! Will disable File Explorer grouping.", - "category": "Essential Tweaks", - "panel": "1", - "InvokeScript": [ - " - # Previously detected folders - $bags = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\" - - # Folder types lookup table - $bagMRU = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\BagMRU\" - - # Flush Explorer view database - Remove-Item -Path $bags -Recurse -Force - Write-Host \"Removed $bags\" - - Remove-Item -Path $bagMRU -Recurse -Force - Write-Host \"Removed $bagMRU\" - - # Every folder - $allFolders = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\\AllFolders\\Shell\" - - if (!(Test-Path $allFolders)) { - New-Item -Path $allFolders -Force - Write-Host \"Created $allFolders\" - } - - # Generic view - New-ItemProperty -Path $allFolders -Name \"FolderType\" -Value \"NotSpecified\" -PropertyType String -Force - Write-Host \"Set FolderType to NotSpecified\" - - Write-Host Please sign out and back in, or restart your computer to apply the changes! - " - ], - "UndoScript": [ - " - # Previously detected folders - $bags = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\" - - # Folder types lookup table - $bagMRU = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\BagMRU\" - - # Flush Explorer view database - Remove-Item -Path $bags -Recurse -Force - Write-Host \"Removed $bags\" - - Remove-Item -Path $bagMRU -Recurse -Force - Write-Host \"Removed $bagMRU\" - - Write-Host Please sign out and back in, or restart your computer to apply the changes! - " - ], -``` diff --git a/docs/content/dev/tweaks/Essential-Tweaks/DisableStoreSearch.md b/docs/content/dev/tweaks/Essential-Tweaks/DisableStoreSearch.md deleted file mode 100644 index 579c4802..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/DisableStoreSearch.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Microsoft Store Recommended Search Results - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=96} - "WPFTweaksDisableStoreSearch": { - "Content": "Microsoft Store Recommended Search Results - Disable", - "Description": "Will not display recommended Microsoft Store apps when searching for apps in the Start menu.", - "category": "Essential Tweaks", - "panel": "1", - "InvokeScript": [ - "icacls \"$Env:LocalAppData\\Packages\\Microsoft.WindowsStore_8wekyb3d8bbwe\\LocalState\\store.db\" /deny Everyone:F" - ], - "UndoScript": [ - "icacls \"$Env:LocalAppData\\Packages\\Microsoft.WindowsStore_8wekyb3d8bbwe\\LocalState\\store.db\" /grant Everyone:F" - ], -``` diff --git a/docs/content/dev/tweaks/Essential-Tweaks/DiskCleanup.md b/docs/content/dev/tweaks/Essential-Tweaks/DiskCleanup.md deleted file mode 100644 index fa6141b8..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/DiskCleanup.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Disk Cleanup - Run" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1069} - "WPFTweaksDiskCleanup": { - "Content": "Disk Cleanup - Run", - "Description": "Runs Disk Cleanup on Drive C: and removes old Windows Updates.", - "category": "Essential Tweaks", - "panel": "1", - "InvokeScript": [ - " - cleanmgr.exe /d C: /VERYLOWDISK - Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase - " - ], -``` diff --git a/docs/content/dev/tweaks/Essential-Tweaks/EndTaskOnTaskbar.md b/docs/content/dev/tweaks/Essential-Tweaks/EndTaskOnTaskbar.md deleted file mode 100644 index dba13d77..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/EndTaskOnTaskbar.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "End Task With Right Click - Enable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=855} - "WPFTweaksEndTaskOnTaskbar": { - "Content": "End Task With Right Click - Enable", - "Description": "Enables option to end task when right clicking a program in the taskbar.", - "category": "Essential Tweaks", - "panel": "1", - "registry": [ - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\TaskbarDeveloperSettings", - "Name": "TaskbarEndTask", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Essential-Tweaks/Hiber.md b/docs/content/dev/tweaks/Essential-Tweaks/Hiber.md deleted file mode 100644 index 1d95b983..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/Hiber.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: "Hibernation - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=32} - "WPFTweaksHiber": { - "Content": "Hibernation - Disable", - "Description": "Hibernation is really meant for laptops as it saves what's in memory before turning the PC off. It really should never be used.", - "category": "Essential Tweaks", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\System\\CurrentControlSet\\Control\\Session Manager\\Power", - "Name": "HibernateEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - }, - { - "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FlyoutMenuSettings", - "Name": "ShowHibernateOption", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - } - ], - "InvokeScript": [ - "powercfg.exe /hibernate off" - ], - "UndoScript": [ - "powercfg.exe /hibernate on" - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Essential-Tweaks/Location.md b/docs/content/dev/tweaks/Essential-Tweaks/Location.md deleted file mode 100644 index ab9fbec9..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/Location.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: "Location Tracking - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=109} - "WPFTweaksLocation": { - "Content": "Location Tracking - Disable", - "Description": "Disables Location Tracking.", - "category": "Essential Tweaks", - "panel": "1", - "service": [ - { - "Name": "lfsvc", - "StartupType": "Disable", - "OriginalType": "Manual" - } - ], - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\CapabilityAccessManager\\ConsentStore\\location", - "Name": "Value", - "Value": "Deny", - "Type": "String", - "OriginalValue": "Allow" - }, - { - "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Sensor\\Overrides\\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}", - "Name": "SensorPermissionState", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - }, - { - "Path": "HKLM:\\SYSTEM\\Maps", - "Name": "AutoUpdateEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Essential-Tweaks/PreventDeviceMetadataFromNetwork.md b/docs/content/dev/tweaks/Essential-Tweaks/PreventDeviceMetadataFromNetwork.md deleted file mode 100644 index 0f2c9550..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/PreventDeviceMetadataFromNetwork.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Prevent Device Companion Apps" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=947} - "WPFTweaksPreventDeviceMetadataFromNetwork": { - "Content": "Prevent Device Companion Apps", - "Description": "Prevents additional software from being installed when plugging in devices (e.g. Ads when plugging in a monitor). Poses potential security risk.", - "category": "Essential Tweaks", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\Device Metadata", - "Name": "PreventDeviceMetadataFromNetwork", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Essential-Tweaks/RestorePoint.md b/docs/content/dev/tweaks/Essential-Tweaks/RestorePoint.md deleted file mode 100644 index cacc66cc..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/RestorePoint.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "Restore Point - Create" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=828} - "WPFTweaksRestorePoint": { - "Content": "Restore Point - Create", - "Description": "Creates a restore point at runtime in case a revert is needed from WinUtil modifications.", - "category": "Essential Tweaks", - "panel": "1", - "Checked": "False", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\SystemRestore", - "Name": "SystemRestorePointCreationFrequency", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1440" - } - ], - "InvokeScript": [ - " - if (-not (Get-ComputerRestorePoint)) { - Enable-ComputerRestore -Drive $Env:SystemDrive - } - - Checkpoint-Computer -Description \"System Restore Point created by WinUtil\" -RestorePointType MODIFY_SETTINGS - Write-Host \"System Restore Point Created Successfully\" -ForegroundColor Green - " - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Essential-Tweaks/RevertStartMenu.md b/docs/content/dev/tweaks/Essential-Tweaks/RevertStartMenu.md deleted file mode 100644 index 2e5e5515..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/RevertStartMenu.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Start Menu Previous Layout - Enable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=80} - "WPFTweaksRevertStartMenu": { - "Content": "Start Menu Previous Layout - Enable", - "Description": "Bring back the old Start Menu layout from before the gradual rollout of the new one in 25H2. On newer versions of Windows !!THIS TWEAK WILL NOT WORK!!", - "category": "Essential Tweaks", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SYSTEM\\ControlSet001\\Control\\FeatureManagement\\Overrides\\8\\3036241548", - "Name": "EnabledState", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Essential-Tweaks/Services.md b/docs/content/dev/tweaks/Essential-Tweaks/Services.md deleted file mode 100644 index 1366213c..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/Services.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Services - Set to Manual" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=146} - "WPFTweaksServices": { - "Content": "Services - Set to Manual", - "Description": "Sets some services to Manual startup and adjusts the SvcHostSplitThresholdInKB registry value to better match system memory, which can significantly reduce the number of svchost.exe processes.", - "category": "Essential Tweaks", - "panel": "1", - "service": [ - { - "Name": "CscService", - "StartupType": "Disabled", - "OriginalType": "Manual" - }, - { - "Name": "DiagTrack", - "StartupType": "Disabled", - "OriginalType": "Automatic" - }, - { - "Name": "MapsBroker", - "StartupType": "Manual", - "OriginalType": "Automatic" - }, - { - "Name": "StorSvc", - "StartupType": "Manual", - "OriginalType": "Automatic" - }, - { - "Name": "SharedAccess", - "StartupType": "Disabled", - "OriginalType": "Automatic" - } - ], - "InvokeScript": [ - " - $Memory = (Get-CimInstance Win32_PhysicalMemory | Measure-Object Capacity -Sum).Sum / 1KB - Set-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\" -Name SvcHostSplitThresholdInKB -Value $Memory - " - ], -``` diff --git a/docs/content/dev/tweaks/Essential-Tweaks/Telemetry.md b/docs/content/dev/tweaks/Essential-Tweaks/Telemetry.md deleted file mode 100644 index a42192d2..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/Telemetry.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -title: "Telemetry - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=446} - "WPFTweaksTelemetry": { - "Content": "Telemetry - Disable", - "Description": "Disables Microsoft Telemetry.", - "category": "Essential Tweaks", - "panel": "1", - "registry": [ - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\AdvertisingInfo", - "Name": "Enabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Privacy", - "Name": "TailoredExperiencesWithDiagnosticDataEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Speech_OneCore\\Settings\\OnlineSpeechPrivacy", - "Name": "HasAccepted", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Input\\TIPC", - "Name": "Enabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\InputPersonalization", - "Name": "RestrictImplicitInkCollection", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\InputPersonalization", - "Name": "RestrictImplicitTextCollection", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\InputPersonalization\\TrainedDataStore", - "Name": "HarvestContacts", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Personalization\\Settings", - "Name": "AcceptedPrivacyPolicy", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\DataCollection", - "Name": "AllowTelemetry", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - "Name": "Start_TrackProgs", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System", - "Name": "PublishUserActivities", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Siuf\\Rules", - "Name": "NumberOfSIUFInPeriod", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - } - ], - "InvokeScript": [ - " - # Disable Defender Auto Sample Submission - Set-MpPreference -SubmitSamplesConsent 2 - - # Disable (Connected User Experiences and Telemetry) Service - Set-Service -Name diagtrack -StartupType Disabled - - # Disable (Windows Error Reporting Manager) Service - Set-Service -Name wermgr -StartupType Disabled - - # Disable PowerShell 7 telemetry - [Environment]::SetEnvironmentVariable('POWERSHELL_TELEMETRY_OPTOUT', '1', 'Machine') - - Remove-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Siuf\\Rules\" -Name PeriodInNanoSeconds - " - ], - "UndoScript": [ - " - # Enable Defender Auto Sample Submission - Set-MpPreference -SubmitSamplesConsent 1 - - # Enable (Connected User Experiences and Telemetry) Service - Set-Service -Name diagtrack -StartupType Automatic - - # Enable (Windows Error Reporting Manager) Service - Set-Service -Name wermgr -StartupType Automatic - - # Enable PowerShell 7 telemetry - [Environment]::SetEnvironmentVariable('POWERSHELL_TELEMETRY_OPTOUT', '', 'Machine') - " - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Essential-Tweaks/WPBT.md b/docs/content/dev/tweaks/Essential-Tweaks/WPBT.md deleted file mode 100644 index eeb54803..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/WPBT.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Windows Platform Binary Table (WPBT) - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=931} - "WPFTweaksWPBT": { - "Content": "Windows Platform Binary Table (WPBT) - Disable", - "Description": "If enabled, WPBT allows your computer vendor to execute programs at boot time, such as anti-theft software, software drivers, as well as force install software without user consent. Poses potential security risk.", - "category": "Essential Tweaks", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Session Manager", - "Name": "DisableWpbtExecution", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/Essential-Tweaks/Widget.md b/docs/content/dev/tweaks/Essential-Tweaks/Widget.md deleted file mode 100644 index 560b0d9a..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/Widget.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "Widgets - Remove" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=61} - "WPFTweaksWidget": { - "Content": "Widgets - Remove", - "Description": "Removes the annoying widgets in the bottom left of the Taskbar.", - "category": "Essential Tweaks", - "panel": "1", - "InvokeScript": [ - " - # Sometimes if you dont stop the Widgets process the removal may fail - - Get-Process *Widget* | Stop-Process - Get-AppxPackage Microsoft.WidgetsPlatformRuntime -AllUsers | Remove-AppxPackage -AllUsers - Get-AppxPackage MicrosoftWindows.Client.WebExperience -AllUsers | Remove-AppxPackage -AllUsers - - Invoke-WinUtilExplorerUpdate -action \"restart\" - Write-Host \"Removed widgets\" - " - ], -``` diff --git a/docs/content/dev/tweaks/Essential-Tweaks/_index.md b/docs/content/dev/tweaks/Essential-Tweaks/_index.md deleted file mode 100644 index 4fa2fe70..00000000 --- a/docs/content/dev/tweaks/Essential-Tweaks/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Essential Tweaks" -weight: 1 -toc: false ---- - -### Essential Tweaks - -{{< autolinks section="dev/tweaks/essential-tweaks" >}} diff --git a/docs/content/dev/tweaks/Performance-Plans/_index.md b/docs/content/dev/tweaks/Performance-Plans/_index.md deleted file mode 100644 index 42f31144..00000000 --- a/docs/content/dev/tweaks/Performance-Plans/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Performance Plans" -weight: 4 -toc: false ---- - -### Performance Plans - -{{< autolinks section="dev/tweaks/performance-plans" >}} diff --git a/docs/content/dev/tweaks/_index.md b/docs/content/dev/tweaks/_index.md deleted file mode 100644 index c2c02344..00000000 --- a/docs/content/dev/tweaks/_index.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "Tweaks" -weight: 2 -toc: false ---- - -### Essential Tweaks - -{{< autolinks section="dev/tweaks/essential-tweaks" >}} - -### Advanced Tweaks (CAUTION) - -{{< autolinks section="dev/tweaks/z--advanced-tweaks---caution" >}} - -### Customize Preferences - -{{< autolinks section="dev/tweaks/customize-preferences" >}} - -### Performance Plans - -{{< autolinks section="dev/tweaks/performance-plans" >}} diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/BlockAdobeNet.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/BlockAdobeNet.md deleted file mode 100644 index f5a5c8d8..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/BlockAdobeNet.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "Adobe URL Block List - Enable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1027} - "WPFTweaksBlockAdobeNet": { - "Content": "Adobe URL Block List - Enable", - "Description": "Reduces user interruptions by selectively blocking connections to Adobe's activation and telemetry servers. Credit: Ruddernation-Designs", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "InvokeScript": [ - " - $hostsUrl = Invoke-RestMethod -Uri https://github.com/Ruddernation-Designs/Adobe-URL-Block-List/raw/refs/heads/master/hosts - Add-Content -Path \"$Env:SystemRoot\\System32\\drivers\\etc\\hosts\" -Value $hostsUrl - - ipconfig /flushdns - Write-Host 'Added Adobe url block list from host file' - " - ], - "UndoScript": [ - " - Set-Content \"$Env:SystemRoot\\System32\\drivers\\etc\\hosts\" ( - (Get-Content \"$Env:SystemRoot\\System32\\drivers\\etc\\hosts\") -join \"`n\" -replace '(?s)#New Ver.*', '' - ) - - ipconfig /flushdns - Write-Host 'Removed Adobe url block list from host file' - " - ], -``` diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/BraveDebloat.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/BraveDebloat.md deleted file mode 100644 index 3d1dc5d3..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/BraveDebloat.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: "Brave Browser - Debloat" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=186} - "WPFTweaksBraveDebloat": { - "Content": "Brave Browser - Debloat", - "Description": "Disables various annoyances like Brave Rewards, Leo AI, Crypto Wallet and VPN.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave", - "Name": "BraveRewardsDisabled", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave", - "Name": "BraveWalletDisabled", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave", - "Name": "BraveVPNDisabled", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave", - "Name": "BraveAIChatEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave", - "Name": "BraveStatsPingEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave", - "Name": "BraveNewsDisabled", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave", - "Name": "BraveTalkDisabled", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave", - "Name": "TorDisabled", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave", - "Name": "BraveP3AEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave", - "Name": "UrlKeyedAnonymizedDataCollectionEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave", - "Name": "SafeBrowsingExtendedReportingEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\BraveSoftware\\Brave", - "Name": "MetricsReportingEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableBGapps.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableBGapps.md deleted file mode 100644 index dd9be5c2..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableBGapps.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Background Apps - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1155} - "WPFTweaksDisableBGapps": { - "Content": "Background Apps - Disable", - "Description": "Disables all Microsoft Store apps from running in the background, which has to be done individually since Windows 11.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\BackgroundAccessApplications", - "Name": "GlobalUserDisabled", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableFSO.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableFSO.md deleted file mode 100644 index 0717b305..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableFSO.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Fullscreen Optimizations - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1171} - "WPFTweaksDisableFSO": { - "Content": "Fullscreen Optimizations - Disable", - "Description": "Disables FSO in all applications. NOTE: This will disable Color Management in Exclusive Fullscreen.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKCU:\\System\\GameConfigStore", - "Name": "GameDVR_DXGIHonorFSEWindowsCompatible", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableIPv6.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableIPv6.md deleted file mode 100644 index e868cfde..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableIPv6.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: "IPv6 - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1133} - "WPFTweaksDisableIPv6": { - "Content": "IPv6 - Disable", - "Description": "Disables IPv6.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\Tcpip6\\Parameters", - "Name": "DisabledComponents", - "Value": "255", - "Type": "DWord", - "OriginalValue": "0" - } - ], - "InvokeScript": [ - "Disable-NetAdapterBinding -Name * -ComponentID ms_tcpip6" - ], - "UndoScript": [ - "Enable-NetAdapterBinding -Name * -ComponentID ms_tcpip6" - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableNotifications.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableNotifications.md deleted file mode 100644 index e878362f..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableNotifications.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: "System Tray Notifications & Calendar - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1004} - "WPFTweaksDisableNotifications": { - "Content": "System Tray Notifications & Calendar - Disable", - "Description": "Disables all Notifications INCLUDING Calendar.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKCU:\\Software\\Policies\\Microsoft\\Windows\\Explorer", - "Name": "DisableNotificationCenter", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\PushNotifications", - "Name": "ToastEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableWarningForUnsignedRdp.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableWarningForUnsignedRdp.md deleted file mode 100644 index ab6e2329..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/DisableWarningForUnsignedRdp.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: "RDP Unsigned File Warnings - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=279} - "WPFTweaksDisableWarningForUnsignedRdp": { - "Content": "RDP Unsigned File Warnings - Disable", - "Description": "Disables warnings shown when launching unsigned RDP files introduced with the latest Windows 10 and 11 updates.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows NT\\Terminal Services\\Client", - "Name": "RedirectionWarningDialogVersion", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\SOFTWARE\\Microsoft\\Terminal Server Client", - "Name": "RdpLaunchConsentAccepted", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Display.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Display.md deleted file mode 100644 index 18d7fecf..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Display.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: "Visual Effects - Set to Best Performance" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=716} - "WPFTweaksDisplay": { - "Content": "Visual Effects - Set to Best Performance", - "Description": "Sets the system preferences to performance. You can do this manually with sysdm.cpl as well.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKCU:\\Control Panel\\Desktop", - "Name": "DragFullWindows", - "Value": "0", - "Type": "String", - "OriginalValue": "1" - }, - { - "Path": "HKCU:\\Control Panel\\Desktop", - "Name": "MenuShowDelay", - "Value": "200", - "Type": "String", - "OriginalValue": "400" - }, - { - "Path": "HKCU:\\Control Panel\\Desktop\\WindowMetrics", - "Name": "MinAnimate", - "Value": "0", - "Type": "String", - "OriginalValue": "1" - }, - { - "Path": "HKCU:\\Control Panel\\Keyboard", - "Name": "KeyboardDelay", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - "Name": "ListviewAlphaSelect", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - "Name": "ListviewShadow", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - "Name": "TaskbarAnimations", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\VisualEffects", - "Name": "VisualFXSetting", - "Value": "3", - "Type": "DWord", - "OriginalValue": "1" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\DWM", - "Name": "EnableAeroPeek", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - "Name": "TaskbarMn", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - "Name": "ShowTaskViewButton", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search", - "Name": "SearchboxTaskbarMode", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - } - ], - "InvokeScript": [ - "Set-ItemProperty -Path \"HKCU:\\Control Panel\\Desktop\" -Name \"UserPreferencesMask\" -Type Binary -Value ([byte[]](144,18,3,128,16,0,0,0))" - ], - "UndoScript": [ - "Remove-ItemProperty -Path \"HKCU:\\Control Panel\\Desktop\" -Name \"UserPreferencesMask\"" - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/EdgeDebloat.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/EdgeDebloat.md deleted file mode 100644 index 6ca9b7e7..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/EdgeDebloat.md +++ /dev/null @@ -1,139 +0,0 @@ ---- -title: "Microsoft Edge - Debloat" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=302} - "WPFTweaksEdgeDebloat": { - "Content": "Microsoft Edge - Debloat", - "Description": "Disables various telemetry options, popups, and other annoyances in Edge.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\EdgeUpdate", - "Name": "CreateDesktopShortcutDefault", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "PersonalizationReportingEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge\\ExtensionInstallBlocklist", - "Name": "1", - "Value": "ofefcgjbeghpigppfmkologfjadafddi", - "Type": "String", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "ShowRecommendationsEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "HideFirstRunExperience", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "UserFeedbackAllowed", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "ConfigureDoNotTrack", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "AlternateErrorPagesEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "EdgeCollectionsEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "EdgeShoppingAssistantEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "MicrosoftEdgeInsiderPromotionEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "ShowMicrosoftRewards", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "WebWidgetAllowed", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "DiagnosticData", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "EdgeAssetDeliveryServiceEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "WalletDonationEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Edge", - "Name": "DefaultBrowserSettingsCampaignEnabled", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/IPv46.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/IPv46.md deleted file mode 100644 index bf5bcfba..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/IPv46.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "IPv6 - Set IPv4 as Preferred" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1095} - "WPFTweaksIPv46": { - "Content": "IPv6 - Set IPv4 as Preferred", - "Description": "Setting the IPv4 preference can have latency and security benefits on private networks where IPv6 is not configured.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\Tcpip6\\Parameters", - "Name": "DisabledComponents", - "Value": "32", - "Type": "DWord", - "OriginalValue": "0" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/OOSUbutton.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/OOSUbutton.md deleted file mode 100644 index 3230c222..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/OOSUbutton.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: "O&O ShutUp10++ - Run" -description: "" ---- - -```powershell {filename="functions/public/Invoke-WPFOOSU.ps1",linenos=inline,linenostart=1} -function Invoke-WPFOOSU { - if ($sync.ProcessRunning) { - Show-WinUtilMessage -Message "Another process is currently running." -Title "WinUtil" -Button "OK" -Icon "Warning" - return - } - - $downloadPath = Join-Path $sync.winutildir "ooshutup10.exe" - $sync.ProcessRunning = $true - - Invoke-WPFRunspace -ParameterList @(,("downloadPath", $downloadPath)) -ScriptBlock { - param($downloadPath) - - $hasUI = $null -ne $sync.Form -and $null -ne $sync.Form.Dispatcher - - try { - Write-WinUtilLog -Component "OOSU" -Message "Downloading O&O ShutUp10++." - if ($hasUI) { - Set-WinUtilTweaksProgressIndicator -Visible $true -Label "Downloading O&O ShutUp10++ (0%)" -Percent 0 - } - - Save-WinUtilFile -Uri "https://dl5.oo-software.com/files/ooshutup10/OOSU10.exe" -DestinationPath $downloadPath -ProgressCallback { - param($percent) - - if ($hasUI) { - Set-WinUtilTweaksProgressIndicator -Visible $true -Label "Downloading O&O ShutUp10++ ($percent%)" -Percent $percent - } - } - - if ($hasUI) { - Set-WinUtilTweaksProgressIndicator -Visible $true -Label "Launching O&O ShutUp10++" -Percent 100 - } - Start-Process -FilePath $downloadPath - - Write-WinUtilLog -Component "OOSU" -Message "O&O ShutUp10++ launched." - if ($hasUI) { - Set-WinUtilTweaksProgressIndicator -Visible $true -Label "O&O ShutUp10++ launched" -Percent 100 - } - } - catch { - Write-WinUtilLog -Level "ERROR" -Component "OOSU" -Message "O&O ShutUp10++ download failed: $($_.Exception.Message)" - if ($hasUI) { - Set-WinUtilTweaksProgressIndicator -Visible $true -Label "O&O ShutUp10++ download failed" -Percent 100 - } - Write-Error "Couldn't download O&O ShutUp10. Please make sure you have an active Internet connection." - } - finally { - $sync.ProcessRunning = $false - } - } -} -``` diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RazerBlock.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RazerBlock.md deleted file mode 100644 index 96e93339..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RazerBlock.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: "Razer Software Auto-Install - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=963} - "WPFTweaksRazerBlock": { - "Content": "Razer Software Auto-Install - Disable", - "Description": "Blocks ALL Razer Software installations. The hardware works fine without any software.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\DriverSearching", - "Name": "SearchOrderConfig", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - }, - { - "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Device Installer", - "Name": "DisableCoInstallers", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0" - } - ], - "InvokeScript": [ - " - $RazerPath = \"$Env:SystemRoot\\Installer\\Razer\" - - if (Test-Path $RazerPath) { - Remove-Item $RazerPath\\* -Recurse -Force - } else { - New-Item -Path $RazerPath -ItemType Directory - } - - icacls $RazerPath /deny \"Everyone:(W)\" - " - ], - "UndoScript": [ - " - icacls \"$Env:SystemRoot\\Installer\\Razer\" /remove:d Everyone - " - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveEdge.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveEdge.md deleted file mode 100644 index 4a423ee2..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveEdge.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "Microsoft Edge - Remove" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=587} - "WPFTweaksRemoveEdge": { - "Content": "Microsoft Edge - Remove", - "Description": "Uninstalls Microsoft Edge by creating dummy MicrosoftEdge.exe file in the legacy Edge folder. This tricks Windows into unlocking the official Edge uninstaller allowing for a system-level removal.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "InvokeScript": [ - " - $Path = Resolve-Path -Path \"$Env:ProgramFiles (x86)\\Microsoft\\Edge\\Application\\*\\Installer\\setup.exe\" | Select-Object -Last 1 - - if (Test-Path $Path) { - New-Item -Path \"$Env:SystemRoot\\SystemApps\\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\\MicrosoftEdge.exe\" -Force - Start-Process -FilePath $Path -ArgumentList \"--uninstall --system-level --force-uninstall --delete-profile\" -Wait - Write-Host \"Microsoft Edge was removed\" - } else { - Write-Host \"Microsoft Edge is not installed\" - } - " - ], - "UndoScript": [ - " - Write-Host \"Installing Microsoft Edge...\" - winget install Microsoft.Edge --source winget - " - ], -``` diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveHomeAndGallery.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveHomeAndGallery.md deleted file mode 100644 index a891e6bd..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveHomeAndGallery.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "File Explorer Home and Gallery - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=686} - "WPFTweaksRemoveHomeAndGallery": { - "Content": "File Explorer Home and Gallery - Disable", - "Description": "Removes the Home and Gallery from Explorer and sets This PC as default.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKCU:\\Software\\Classes\\CLSID\\{f874310e-b6b7-47dc-bc84-b9e6b38f5903}", - "Name": "System.IsPinnedToNameSpaceTree", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\Software\\Classes\\CLSID\\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}", - "Name": "System.IsPinnedToNameSpaceTree", - "Value": "0", - "Type": "DWord", - "OriginalValue": "" - }, - { - "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - "Name": "LaunchTo", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveOneDrive.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveOneDrive.md deleted file mode 100644 index 454a3e84..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RemoveOneDrive.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "Microsoft OneDrive - Remove" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=642} - "WPFTweaksRemoveOneDrive": { - "Content": "Microsoft OneDrive - Remove", - "Description": "Denies permission to remove OneDrive user files, then uses its own uninstaller to remove it and restores the original permission afterward.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "InvokeScript": [ - " - # Deny permission to remove OneDrive folder - icacls $Env:OneDrive /deny \"Administrators:(D,DC)\" - - Write-Host \"Uninstalling OneDrive...\" - Start-Process -FilePath (Join-Path $Env:SystemRoot \"System32\\OneDriveSetup.exe\") -ArgumentList '/uninstall' -Wait - - # Some of OneDrive files use explorer, and OneDrive uses FileCoAuth - Write-Host \"Removing leftover OneDrive Files...\" - - Stop-Process -Name FileCoAuth,Explorer - - Remove-Item \"$Env:LocalAppData\\Microsoft\\OneDrive\" -Recurse -Force - Remove-Item \"$Env:ProgramData\\Microsoft OneDrive\" -Recurse -Force - - # Grant back permission to access OneDrive folder - icacls $Env:OneDrive /grant \"Administrators:(D,DC)\" - - if (-not (Get-ChildItem -Path $Env:OneDrive)) { - Remove-Item -Path $Env:OneDrive -Recurse - [Environment]::SetEnvironmentVariable('OneDrive', $null, 'User') - } - - # Disable OneSyncSvc - Set-Service -Name OneSyncSvc -StartupType Disabled - " - ], - "UndoScript": [ - " - Write-Host \"Installing OneDrive\" - winget install Microsoft.Onedrive --source winget - - # Enabled OneSyncSvc - Set-Service -Name OneSyncSvc -StartupType Automatic - " - ], -``` diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/ReservedStorage.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/ReservedStorage.md deleted file mode 100644 index de019018..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/ReservedStorage.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Disable Reserved Storage" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=815} - "WPFTweaksReservedStorage": { - "Content": "Disable Reserved Storage", - "Description": "Disables Windows Reserved Storage (7-10 GB held for updates/temp files). Recommended only on small drives. Re-enable before major Windows feature updates to avoid installation failures.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "InvokeScript": [ - "DISM /Online /Set-ReservedStorageState /State:Disabled" - ], - "UndoScript": [ - "DISM /Online /Set-ReservedStorageState /State:Enabled" - ], -``` diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RightClickMenu.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RightClickMenu.md deleted file mode 100644 index c0879a8b..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/RightClickMenu.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "Right-Click Menu Previous Layout - Enable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1053} - "WPFTweaksRightClickMenu": { - "Content": "Right-Click Menu Previous Layout - Enable", - "Description": "Restores the classic context menu when right-clicking in File Explorer, replacing the simplified Windows 11 version.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "InvokeScript": [ - " - New-Item -Path \"HKCU:\\Software\\Classes\\CLSID\\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\" -Name InprocServer32 -Value \"\" -Force - Stop-Process -Name explorer - " - ], - "UndoScript": [ - "Remove-Item -Path \"HKCU:\\Software\\Classes\\CLSID\\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\" -Recurse" - ], -``` diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Storage.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Storage.md deleted file mode 100644 index 3c97698f..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Storage.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Storage Sense - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=871} - "WPFTweaksStorage": { - "Content": "Storage Sense - Disable", - "Description": "Storage Sense deletes temp files automatically.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\StorageSense\\Parameters\\StoragePolicy", - "Name": "01", - "Value": "0", - "Type": "DWord", - "OriginalValue": "1" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Teredo.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Teredo.md deleted file mode 100644 index 63051174..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/Teredo.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: "Teredo - Disable" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1111} - "WPFTweaksTeredo": { - "Content": "Teredo - Disable", - "Description": "Teredo network tunneling is an IPv6 feature that can cause additional latency, but may cause problems with some games.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\Tcpip6\\Parameters", - "Name": "DisabledComponents", - "Value": "1", - "Type": "DWord", - "OriginalValue": "0" - } - ], - "InvokeScript": [ - "netsh interface teredo set state disabled" - ], - "UndoScript": [ - "netsh interface teredo set state default" - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/UTC.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/UTC.md deleted file mode 100644 index 1dd9f475..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/UTC.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Date & Time - Set Time to UTC" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=626} - "WPFTweaksUTC": { - "Content": "Date & Time - Set Time to UTC", - "Description": "Essential for computers that are dual booting. Fixes the time sync with Linux systems.", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation", - "Name": "RealTimeIsUniversal", - "Value": "1", - "Type": "QWord", - "OriginalValue": "0" - } - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/WindowsAI.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/WindowsAI.md deleted file mode 100644 index 447ddb4f..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/WindowsAI.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: "Windows AI - Disable And Remove" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=887} - "WPFTweaksWindowsAI": { - "Content": "Windows AI - Disable And Remove", - "Description": "Removes and disables all AI features/packages", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "registry": [ - { - "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", - "Name": "SettingsPageVisibility", - "Value": "hide:aicomponents", - "Type": "String", - "OriginalValue": "" - }, - { - "Path": "HKLM:\\SOFTWARE\\Policies\\WindowsNotepad", - "Name": "DisableAIFeatures", - "Value": "1", - "Type": "DWord", - "OriginalValue": "" - } - ], - "InvokeScript": [ - " - $Appx = (Get-AppxPackage MicrosoftWindows.Client.CoreAI).PackageFullName - $Sid = (Get-LocalUser $Env:UserName).Sid.Value - - New-Item \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Appx\\AppxAllUserStore\\EndOfLife\\$Sid\\$Appx\" -Force - - Get-AppxPackage -AllUsers \"*Copilot*\" | Remove-AppxPackage -AllUsers - winget uninstall -e --name \"Copilot\" --silent --force --accept-source-agreements 2>$null - Get-AppxPackage -AllUsers Microsoft.MicrosoftOfficeHub | Remove-AppxPackage -AllUsers - - if ($Appx) { - Remove-AppxPackage $Appx - } - - Set-Service -Name WSAIFabricSvc -StartupType Disabled - Disable-WindowsOptionalFeature -FeatureName Recall -Online -NoRestart - - Write-Host \"Windows AI Disabled\" - " - ], -``` - -## Registry Changes - -Applications and System Components store and retrieve configuration data to modify Windows settings, so we can use the registry to change many settings in one place. - -You can find information about the registry on [Wikipedia](https://en.wikipedia.org/wiki/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/_index.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/_index.md deleted file mode 100644 index 08cc8f05..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Advanced Tweaks (CAUTION)" -weight: 2 -toc: false ---- - -### Advanced Tweaks (CAUTION) - -{{< autolinks section="dev/tweaks/z--advanced-tweaks---caution" >}} diff --git a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/changedns.md b/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/changedns.md deleted file mode 100644 index cca9868b..00000000 --- a/docs/content/dev/tweaks/z--Advanced-Tweaks---CAUTION/changedns.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "DNS - Set to:" -description: "" ---- - -```json {filename="config/tweaks.json",linenos=inline,linenostart=1851} - "WPFchangedns": { - "Content": "DNS - Set to:", - "category": "z__Advanced Tweaks - CAUTION", - "panel": "1", - "Type": "Combobox", - "ComboItems": "Default DHCP Google Cloudflare Cloudflare_Malware Cloudflare_Malware_Adult Open_DNS Quad9 AdGuard_Ads_Trackers AdGuard_Ads_Trackers_Malware_Adult", -``` diff --git a/docs/content/userguide/application/_index.md b/docs/content/userguide/application/_index.md deleted file mode 100644 index 4d282fb6..00000000 --- a/docs/content/userguide/application/_index.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Applications -weight: 3 -prev: /userguide/getting-started/ -next: /userguide/tweaks/ ---- - -Use the Applications tab to install, upgrade, uninstall, and review supported apps from one place. WinUtil relies on package manager support for these actions, so the available results depend on what WinGet can detect and manage on your system. - -{{< tabs >}} - - {{< tab name="Installation & Updates" selected=true >}} - * Choose the applications you want to install or upgrade. - * For programs not currently installed, this action will install them. - * For programs already installed, this action will update them to the latest version. - * Click the `Install/Upgrade Selected` button to start the installation or upgrade process. - - {{< image src="images/install-pics/installation" alt="Install or upgrade selected applications" >}} - {{< /tab >}} - - {{< tab name="Upgrade All" >}} - * Simply press the `Upgrade All` button. - * This upgrades every supported installed program without individual selection. - - {{< image src="images/install-pics/install-apps" alt="Upgrade all applications" >}} - {{< /tab >}} - - {{< tab name="Uninstall" >}} - * Select the programs you wish to uninstall. - * Click the `Uninstall Selected` button to remove them. - - {{< image src="images/install-pics/uninstall-apps" alt="Uninstall selected applications" >}} - {{< /tab >}} - - {{< tab name="Show Installed Apps" >}} - * Click the `Show Installed Apps` button. - * This scans for and selects installed applications supported by WinGet. - - {{< image src="images/install-pics/show-installed-apps" alt="Show installed apps" >}} - {{< /tab >}} - - {{< tab name="Clear Selection" >}} - * Click the `Clear Selection` button. - * This clears all current selections. - - {{< image src="images/install-pics/clear-selection-apps" alt="Clear app selections" >}} - {{< /tab >}} -{{< /tabs >}} - -> [!TIP] -> If you have trouble finding an application, press `Ctrl + F` and search for its name. The list filters as you type. - -> [!NOTE] -> `Show Installed Apps` only selects software that WinGet can identify. Apps installed outside supported package sources may not appear. - -> [!IMPORTANT] -> Before uninstalling or upgrading apps, close any running programs first. Some packages may still prompt for input or fail if their source is unavailable. diff --git a/docs/content/userguide/getting-started/_index.md b/docs/content/userguide/getting-started/_index.md deleted file mode 100644 index efb16343..00000000 --- a/docs/content/userguide/getting-started/_index.md +++ /dev/null @@ -1,256 +0,0 @@ ---- -title: Getting Started -weight: 2 -prev: /userguide/ -next: /userguide/application/ ---- - -## Welcome to Winutil! - -Winutil helps you install apps, apply system tweaks, run common fixes, and manage Windows settings from one place. This guide covers the safest way to get started and the first actions most users take. - -## System Requirements - -Before running Winutil, ensure your system meets these requirements: - -> [!IMPORTANT] -> Windows 10 is not supported by Winutil. Windows 10 reached the end of support on **October 14, 2025**. - -- **Operating System**: Windows 11 -- **PowerShell**: Version 5.1 or later (included by default in Windows 11) -- **Administrator Access**: Required for system-level changes -- **Internet Connection**: Required for downloading applications and updates -- **.NET Framework**: Version 4.5 or later (usually pre-installed) - -## Installation - -Winutil doesn't require traditional installation. It runs directly from PowerShell as a script. - -### Step 1: Open PowerShell as Administrator - -There are several ways to open PowerShell with admin rights: - -**Method 1: Start Menu (Recommended)** - -1. Right-click the Windows Start button -2. Select "Terminal (Admin)" - -**Method 2: Search Method** - -1. Press the `Windows` key -2. Type "PowerShell" or "Terminal" -3. Press `Ctrl + Shift + Enter` to launch as administrator -4. Or right-click and select "Run as administrator" - -**Method 3: Run Dialog** - -1. Press `Windows + R` -2. Type `powershell` -3. Press `Ctrl + Shift + Enter` - -### Step 2: Run the Launch Command - -With PowerShell running as Administrator, run one of the following commands depending on the release channel you want. - -**Stable release (recommended)** - -```powershell -irm "https://christitus.com/win" | iex -``` - -**Development branch (bleeding edge β€” for testing only)** - -```powershell -irm "https://christitus.com/windev" | iex -``` - -> [!NOTE] -> - The `irm` command downloads the script, and `iex` executes it. This is safe when downloading from the official source. -> - The development branch may contain experimental changes and should only be used for testing on non-production systems. - -### Step 3: Wait for Winutil to Load - -The first time you run Winutil, it may take a few moments to: - -- Download the latest version -- Initialize the interface -- Load all features and settings - -## First Time Setup - -### Understanding the Interface - -Winutil opens with a clean, tabbed interface: - -**Main Tabs**: - -- **Install**: Browse and install applications -- **Tweaks**: Apply system optimizations and customizations -- **Config**: Access system tools and utilities -- **Updates**: Manage Windows updates -- **Win11 Creator**: Build a customized Windows 11 ISO from an official Microsoft image. - -## Your First Actions - -Here are some recommended first steps for new users: - -### 1. Create a Restore Point - -Before making any changes, create a system restore point: - -1. Go to the **Tweaks** tab -2. Find "Create Restore Point" under Essential Tweaks -3. Check the box and click **Run Tweaks** - -This gives you a rollback point if needed. - -### 2. Install Essential Applications - -1. Navigate to the **Install** tab -2. Browse categories or use the search bar -3. Check the applications you want to install -4. Click "Install/Upgrade Selected" at the bottom - -### 3. Apply Basic Tweaks - -For a better Windows experience with minimal risk: - -1. Go to the **Tweaks** tab -2. Select the **Standard** preset for a balanced configuration -3. Review the selected tweaks -4. Click **Run Tweaks** - -> [!NOTE] -> Some tweaks, fixes, and update changes may require a restart or sign-out before the full effect is visible. - -## Common Tasks - -### Installing Applications - -**Single Application**: - -1. Open the **Install** tab -2. Search for the application name -3. Check the box next to it -4. Click "Install/Upgrade Selected" - -**Multiple Applications**: - -1. Check multiple application boxes -2. All checked apps will install in sequence -3. Install and uninstall progress is shown in the window-level bottom panel, including the current package or package-manager batch and overall completion - -### Applying Tweaks - -**Essential Tweaks** (Safe for all users): - -1. Go to the **Tweaks** tab -2. Select from the Essential Tweaks section -3. Click **Run Tweaks** - -**Advanced Tweaks** (Use with caution): - -1. Only modify if you understand the implications -2. Always create a restore point first -3. Review documentation for each tweak - -**Undoing Tweaks**: - -1. Select the same tweaks you applied -2. Click **Undo Selected Tweaks** -3. The system reverts to the previous state - -### Using Quick Fixes - -For common Windows issues: - -1. Go to the **Config** tab -2. Navigate to the **Fixes** section -3. Select the appropriate fix: - - **Reset Network**: Fixes network connectivity issues - - **Reset Windows Update**: Resolves update problems - - **System Corruption Scan**: Repairs corrupted system files - - **WinGet Reinstall**: Fixes package manager issues - -### Changing DNS Servers - -For improved privacy and speed: - -1. Go to the **Tweaks** tab -2. Find the DNS section -3. Select a provider: - - **Cloudflare**: Fast and privacy-focused - - **Google**: Reliable and widely used - - **Quad9**: Security-focused with malware blocking - - **AdGuard**: Blocks ads and trackers -4. Click **Apply** - -## Understanding Presets - -Winutil offers several preset configurations: - -- **Minimal**: Minimal changes that keep most Windows features -- **Standard**: A good middle ground for most users -- **Advanced**: Selects a focused set of safer advanced tweaks. - -## Safety Tips - -βœ… **DO**: - -- Create restore points before major changes -- Read tweak descriptions before applying -- Start with Essential Tweaks -- Keep Windows up to date -- Back up important data - -❌ **DON'T**: - -- Apply all tweaks at once without understanding them -- Skip creating restore points -- Use Advanced Tweaks without research -- Disable security features unless necessary -- Run on production systems without testing - -## Troubleshooting First Run - -### Script Won't Download - -If the launch command fails: - -- Make sure PowerShell or Terminal is running as Administrator. -- Confirm the PC has internet access and can reach `christitus.com`. -- Retry from a normal PowerShell session rather than a restricted enterprise shell profile. -- If the command starts and then closes immediately, reopen Terminal as Administrator and run it again so you can read the error output. - -If it still fails, check the [Known Issues](/knownissues/) page. - -## Next Steps - -Now that you're set up, explore these guides: - -- [Applications Guide](../application/) - Learn about installing, upgrading, and uninstalling software -- [Tweaks Guide](../tweaks/) - Understand system optimizations -- [FAQ](/faq/) - Common questions and answers - -## Getting Help - -If you need assistance: - -- **Documentation**: Browse this documentation site -- **Known Issues**: Check the [Known Issues](/knownissues/) page -- **Discord**: Join the [community Discord server](https://discord.gg/RUbZUZyByQ) -- **GitHub Issues**: Report bugs on [GitHub](https://github.com/ChrisTitusTech/winutil/issues) -- **YouTube**: Watch [video tutorials](https://www.youtube.com/watch?v=6UQZ5oQg8XA) - -## Quick Reference Card - -| Task | Location | Action | -| ---- | -------- | ------ | -| Install or upgrade apps | Install tab | Check boxes -> Install/Upgrade Selected | -| Uninstall apps | Install tab | Check boxes -> Uninstall Selected | -| Apply tweaks | Tweaks tab | Select tweaks -> Run Tweaks | -| Undo tweaks | Tweaks tab | Select tweaks -> Undo Selected Tweaks | -| Create restore point | Tweaks tab | Essential Tweaks section | -| Fix network | Config tab | Fixes -> Reset Network | -| Change DNS | Tweaks tab | DNS section | -| Open Control Panel | Config tab | Legacy Windows Panels | diff --git a/docs/go.mod b/docs/go.mod deleted file mode 100644 index e9a2130f..00000000 --- a/docs/go.mod +++ /dev/null @@ -1,5 +0,0 @@ -module github.com/ChrisTitusTech/WinUtil - -go 1.26 - -require github.com/imfing/hextra v0.12.3 // indirect diff --git a/docs/go.sum b/docs/go.sum deleted file mode 100644 index afa86809..00000000 --- a/docs/go.sum +++ /dev/null @@ -1,2 +0,0 @@ -github.com/imfing/hextra v0.12.3 h1:DZHY2rUWYteyzjlHi9r4n7Bb5e2Q+6LXe4C1Dqn0ZjM= -github.com/imfing/hextra v0.12.3/go.mod h1:vi+yhpq8YPp/aghvJlNKVnJKcPJ/VyAEcfC1BSV9ARo= diff --git a/docs/hugo.toml b/docs/hugo.toml deleted file mode 100644 index ffe40b8f..00000000 --- a/docs/hugo.toml +++ /dev/null @@ -1,140 +0,0 @@ -baseURL = "https://winutil.christitus.com/" -languageCode = "en-us" -title = "WinUtil Documentation" -enableGitInfo = true -canonifyURLs = true - -[[module.mounts]] - source = "assets" - target = "assets" - -[[module.imports]] -path = "github.com/imfing/hextra" - -[[menu.main]] -identifier = "userguide" -name = "User Guides" -pageRef = "/userguide" -weight = 1 - -[[menu.main]] -identifier = "documentation" -name = "Developer Documentation" -weight = 2 - -[[menu.main]] -identifier = "contribution-guides" -name = "Contribution Guides" -pageRef = "CONTRIBUTING.md" -weight = 1 -parent = "documentation" - -[[menu.main]] -identifier = "developer-documentation" -name = "Developer Docs" -pageRef = "/dev" -weight = 2 -parent = "documentation" - -[[menu.main]] -identifier = "help" -name = "Help" -weight = 3 - -[[menu.main]] -identifier = "faq" -name = "FAQ" -pageRef = "faq.md" -weight = 1 -parent = "help" - -[[menu.main]] -identifier = "known-issues" -name = "Known Issues" -pageRef = "KnownIssues.md" -weight = 2 -parent = "help" - -[[menu.main]] -identifier = "forums" -name = "Forums" -url = "https://forum.christitus.com/" -weight = 3 -parent = "help" - -[[menu.main]] -name = "Store" -url = "https://christitus.com/downloads/" -weight = 5 - -[[menu.main]] -name = "Search" -weight = 6 - - [menu.main.params] - type = "search" - -[[menu.main]] -name = "GitHub" -weight = 7 -url = "https://github.com/christitustech/winutil" - - [menu.main.params] - icon = "github" - -[params] -description = "Chris Titus Tech's Windows Utility - Install Programs, Tweaks, Fixes, and Updates" -displayUpdatedDate = true -dateFormat = "January 2, 2006" - - [params.navbar] - displayTitle = false - displayLogo = true - - [params.navbar.logo] - path = "navlogo.png" - dark = "navlogo.png" - link = "/" - width = 150 - height = 50 - - [params.theme] - default = "system" - displayToggle = true - - [params.page] - width = "wide" - - [params.footer] - enable = true - displayCopyright = true - displayPoweredBy = false - width = "normal" - -[params.highlight.copy] -enable = true -display = "hover" - -[menu] - - [[menu.sidebar]] - name = "Links" - weight = 1 - [menu.sidebar.params] - type = "separator" - - [[menu.sidebar]] - name = "GitHub Repo β†—" - url = "https://github.com/ChrisTitusTech/winutil" - weight = 2 - - [[menu.sidebar]] - name = "Discord Server β†—" - url = "https://discord.gg/RUbZUZyByQ" - weight = 3 - - -[markup] - [markup.goldmark] - [markup.goldmark.renderer] - unsafe = true diff --git a/docs/i18n/en.yaml b/docs/i18n/en.yaml deleted file mode 100644 index 8ea7eea2..00000000 --- a/docs/i18n/en.yaml +++ /dev/null @@ -1,23 +0,0 @@ -copyright: "©  Chris Titus Tech. All rights reserved." -backToTop: "Scroll to top" -changeLanguage: "Change language" -changeTheme: "Change theme" -copy: "Copy" -copied: "Copied!" -copyAsMarkdown: "Copy as Markdown" -copyPage: "Copy Page" -copyCode: "Copy code" -dark: "Dark" -editThisPage: "Edit this page on GitHub β†’" -lastUpdated: "Last updated on" -light: "Light" -next: "Next" -noResultsFound: "No results found." -onThisPage: "On this page" -poweredBy: "Powered by Chris Titus Tech" -previous: "Prev" -readMore: "Read more β†’" -searchPlaceholder: "Search..." -system: "System" -tags: "Tags" -viewAsMarkdown: "View as Markdown" diff --git a/docs/layouts/shortcodes/autolinks.html b/docs/layouts/shortcodes/autolinks.html deleted file mode 100644 index 9243b038..00000000 --- a/docs/layouts/shortcodes/autolinks.html +++ /dev/null @@ -1,17 +0,0 @@ -{{- $section := .Get "section" | lower -}} -{{- $pages := slice -}} -{{- range .Site.RegularPages -}} -{{- if in .RelPermalink $section -}} -{{- $pageTitle := .Title -}} -{{- if eq $pageTitle "" -}} - {{- $pageTitle = .File.BaseFileName | humanize | title -}} -{{- end -}} -{{- $pageDesc := .Description -}} -{{- $pages = $pages | append (dict "title" $pageTitle "description" $pageDesc "url" .RelPermalink) -}} -{{- end -}} -{{- end -}} -
    -{{- range sort $pages "title" "asc" }} -
  • {{ .title }}{{ with .description }} - {{ . }}{{ end }}
  • -{{- end }} -
diff --git a/docs/layouts/shortcodes/image.html b/docs/layouts/shortcodes/image.html deleted file mode 100644 index 5c182f1c..00000000 --- a/docs/layouts/shortcodes/image.html +++ /dev/null @@ -1,114 +0,0 @@ -{{/*Retrive Passed Shortcode Parameters*/}} -{{ $src := .Get "src" }} -{{ $alt := .Get "alt" }} - -{{/*Define sizes*/}} -{{ $Small := 200 }} -{{ $Medium := 600 }} -{{ $Large := 1000 }} - -{{/*Define Image variables as global variables to make them easily accessible in this shortcode*/}} -{{ $DarkImage := "" }} {{ $DarkSmallImage := "" }} {{ $DarkMediumImage := "" }} {{ $DarkLargeImage := "" }} -{{ $LightImage := "" }} {{ $LightSmallImage := "" }} {{ $LightMediumImage := "" }} {{ $LightLargeImage := "" }} -{{ $SingleImage := "" }} {{ $SingleSmallImage := "" }} {{ $SingleMediumImage := "" }} {{ $SingleLargeImage := "" }} - -{{/*Find images and update the previous Single,Dark,Light Images variables*/}} -{{ with resources.GetMatch (print $src ".jpg") }} {{ $SingleImage = . }} {{ end }} -{{ with resources.GetMatch (print $src "-Dark" ".jpg") }} {{ $DarkImage = . }} {{ end }} -{{ with resources.GetMatch (print $src "-Light" ".jpg") }} {{ $LightImage = . }} {{ end }} -{{ with resources.GetMatch (print $src ".png") }} {{ $SingleImage = . }} {{ end }} -{{ with resources.GetMatch (print $src "-Dark" ".png") }} {{ $DarkImage = . }} {{ end }} -{{ with resources.GetMatch (print $src "-Light" ".png") }} {{ $LightImage = . }} {{ end }} - -{{/*Applying Image Processing*/}} -{{ with $SingleImage }} - {{ with .Resize (printf "%dx%d webp q50" .Width .Height) }} - {{ $SingleImage = . }} - {{ end }} -{{ end }} -{{ with $DarkImage }} - {{ with .Resize (printf "%dx%d webp q50" .Width .Height) }} - {{ $DarkImage = . }} - {{ end }} -{{ end }} -{{ with $LightImage }} - {{ with .Resize (printf "%dx%d webp q50" .Width .Height) }} - {{ $LightImage = . }} - {{ end }} -{{ end }} - -{{/*Make different sized versions to images if applicable*/}} -{{ with $SingleImage }} - {{ if gt (.Width) ($Small) }} - {{ with .Resize (printf "%dx" $Small) }} - {{ $SingleSmallImage = . }} - {{ end }} - {{ end }} - {{ if gt (.Width) ($Medium) }} - {{ with .Resize (printf "%dx" $Medium) }} - {{ $SingleMediumImage = . }} - {{ end }} - {{ end }} - {{ if gt (.Width) ($Large) }} - {{ with .Resize (printf "%dx" $Large) }} - {{ $SingleLargeImage = . }} - {{ end }} - {{ end }} -{{ end }} -{{ with $DarkImage }} - {{ if gt (.Width) ($Small) }} - {{ with .Resize (printf "%dx" $Small) }} - {{ $DarkSmallImage = . }} - {{ end }} - {{ end }} - {{ if gt (.Width) ($Medium) }} - {{ with .Resize (printf "%dx" $Medium) }} - {{ $DarkMediumImage = . }} - {{ end }} - {{ end }} - {{ if gt (.Width) ($Large) }} - {{ with .Resize (printf "%dx" $Large) }} - {{ $DarkLargeImage = . }} - {{ end }} - {{ end }} -{{ end }} -{{ with $LightImage }} - {{ if gt (.Width) ($Small) }} - {{ with .Resize (printf "%dx" $Small) }} - {{ $LightSmallImage = . }} - {{ end }} - {{ end }} - {{ if gt (.Width) ($Medium) }} - {{ with .Resize (printf "%dx" $Medium) }} - {{ $LightMediumImage = . }} - {{ end }} - {{ end }} - {{ if gt (.Width) ($Large) }} - {{ with .Resize (printf "%dx" $Large) }} - {{ $LightLargeImage = . }} - {{ end }} - {{ end }} -{{ end }} - - -{{ if $SingleImage }} - - {{ with $SingleSmallImage }}{{ end }} - {{ with $SingleMediumImage }}{{ end }} - {{ with $SingleLargeImage }}{{ end }} - {{ with $SingleImage }}{{ end }} - -{{ else }} - - {{ with $DarkSmallImage }}{{ end }} - {{ with $DarkMediumImage }}{{ end }} - {{ with $DarkLargeImage }}{{ end }} - {{ with $DarkImage }}{{ end }} - {{ with $LightSmallImage }}{{ end }} - {{ with $LightMediumImage }}{{ end }} - {{ with $LightLargeImage }}{{ end }} - {{ with $LightImage }}{{ end }} - {{ with $LightImage }} - {{ else with $DarkImage }}{{ end }} - -{{ end }} diff --git a/docs/package-lock.json b/docs/package-lock.json new file mode 100644 index 00000000..09a59f49 --- /dev/null +++ b/docs/package-lock.json @@ -0,0 +1,6950 @@ +{ + "name": "docs-astro", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "docs-astro", + "version": "0.0.1", + "dependencies": { + "@astrojs/starlight": "^0.41.5", + "@fontsource-variable/jetbrains-mono": "^5.3.0", + "@fontsource/geist-sans": "^5.3.0", + "astro": "^7.0.2", + "sharp": "^0.35.3" + } + }, + "node_modules/@astrojs/compiler-binding": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding/-/compiler-binding-0.3.2.tgz", + "integrity": "sha512-8w/9CWmYrAJJ8N0SY3O43ws2BgxoW6u3QsD8u2mE140lMYAlwh+tlNoUeSBq22wVheFuiBbR212l6ixZ2IIgCQ==", + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@astrojs/compiler-binding-darwin-arm64": "0.3.2", + "@astrojs/compiler-binding-darwin-x64": "0.3.2", + "@astrojs/compiler-binding-linux-arm64-gnu": "0.3.2", + "@astrojs/compiler-binding-linux-arm64-musl": "0.3.2", + "@astrojs/compiler-binding-linux-x64-gnu": "0.3.2", + "@astrojs/compiler-binding-linux-x64-musl": "0.3.2", + "@astrojs/compiler-binding-wasm32-wasi": "0.3.2", + "@astrojs/compiler-binding-win32-arm64-msvc": "0.3.2", + "@astrojs/compiler-binding-win32-x64-msvc": "0.3.2" + } + }, + "node_modules/@astrojs/compiler-binding-darwin-arm64": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-arm64/-/compiler-binding-darwin-arm64-0.3.2.tgz", + "integrity": "sha512-MM8tn8CSimcfytaOla4b6acN8mKWiL/rlAA1fpT3/Wl7dNGSE4y8FjTN/zJVNnb63CsLWG5zZwCt01TXtDKh9g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-darwin-x64": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-x64/-/compiler-binding-darwin-x64-0.3.2.tgz", + "integrity": "sha512-2lXOlzf8xb7jLomRsf/aswh61/NnGusynB2OwFkK6k4pmOtpfXMYnG0PLfXrEvxXYj69NdCnmUYXtHDd+JOOag==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-arm64-gnu": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-gnu/-/compiler-binding-linux-arm64-gnu-0.3.2.tgz", + "integrity": "sha512-BmU3kWj7qnLrd4vzm49zFEPJ5oFnn1tCT4Vt9hZbqdU5Cmb8GZl7fn6VFsnNfe7B18a2gIFtVzbLINtYl5kBjQ==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-arm64-musl": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-musl/-/compiler-binding-linux-arm64-musl-0.3.2.tgz", + "integrity": "sha512-f0heT9ZZEseSu5bHCeb80eL2DH07ArE6U9xi1WT/PEusNjzPmEr3GJsjG1tRLo5VYUUYX7h3ScaqGmGrMOVGmw==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-x64-gnu": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-gnu/-/compiler-binding-linux-x64-gnu-0.3.2.tgz", + "integrity": "sha512-M8fOUt0itRpqiGyoEA/ij184s8O+hqbCz3+YozRusOOM3osgGljpDThhbKAJjqh82wOo6FioQ4w8PBvU1XMD5Q==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-x64-musl": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-musl/-/compiler-binding-linux-x64-musl-0.3.2.tgz", + "integrity": "sha512-/Kebk8sO6HnLeSd691JkaAPfN7CqR9/KEXmWvyNPkaKNGmj8rTZ/lf2uXtnPu92Lan84UrKdIKVPy1fSo2encQ==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-wasm32-wasi": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-wasm32-wasi/-/compiler-binding-wasm32-wasi-0.3.2.tgz", + "integrity": "sha512-pUA6xbcOSB7DhfzIArB8BCAkFfAIqriiR7zl5zOStd6oU2G0kIKj+GUdGnyXyhfiv881Hffyk5tC0mR18sDjDw==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@astrojs/compiler-binding-win32-arm64-msvc": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-arm64-msvc/-/compiler-binding-win32-arm64-msvc-0.3.2.tgz", + "integrity": "sha512-ESruf+6Qkl1trHUFxI6GSf6t52j8yN2kCNSzMWdzt7V/T09tFHrYzrVaJQohb2C9bJUH76pNvX6Zb51+xCQc9Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-win32-x64-msvc": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-x64-msvc/-/compiler-binding-win32-x64-msvc-0.3.2.tgz", + "integrity": "sha512-wzzVrEbOwbsLWOdEbocskjMRx2aZPxJ7ZbmL+jnpBamFwmigm+2M/wzuM6JWncocgYwLic1csSpalBh96kQKXA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-rs": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-rs/-/compiler-rs-0.3.2.tgz", + "integrity": "sha512-xlx/T7JovIKduu4ucbTQUxQ5+Q8wxkHxhLjnZk3VlJbhbQ9RLvvuDk1p2YYFYFQ5y14dVm3FGGO4isQXa4F+Tg==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler-binding": "0.3.2" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.10.2.tgz", + "integrity": "sha512-yt7fMgPYqSM4Tmr+taTW6Per+hjJ8Pk6lA1PAcDyqzOt8HzJ6Kje5WzCxA2Sd+9wsUW7uhkLeoTMK0cXPwH9rQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "js-yaml": "^4.3.0", + "picomatch": "^4.0.4", + "retext-smartypants": "^6.2.0", + "shiki": "^4.0.2", + "smol-toml": "^1.6.0", + "unified": "^11.0.5" + } + }, + "node_modules/@astrojs/markdown-remark": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-7.2.2.tgz", + "integrity": "sha512-FGfmK84zSNcrsBd0dl1gXE9JvZYElp8EXQa2jpHVAxG4deGKAp43wspxFupjADJX7MSsMRHwYCnfT6EyVmgeFQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.10.2", + "@astrojs/prism": "4.0.2", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.1.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/markdown-satteri": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-satteri/-/markdown-satteri-0.3.5.tgz", + "integrity": "sha512-CvWVEFAbay7YO+i9SaqDJubipA5ckiVB89QWoMJ5XC0m5CtFg8JwZ7Kau6X9sYY7FZURH0w2l03ISH2jOS/RDQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.10.2", + "@astrojs/prism": "4.0.2", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "satteri": "^0.9.1" + } + }, + "node_modules/@astrojs/mdx": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-7.0.5.tgz", + "integrity": "sha512-wEM/HH1RiEntyPVagdiF+yArzfcYLKBB0C1RZspVidKZ97rRMbaqP1Nbl/GR0sJs8zwaceqxRymw8aOKKJRdYw==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.10.2", + "@astrojs/markdown-remark": "7.2.2", + "@mdx-js/mdx": "^3.1.1", + "acorn": "^8.16.0", + "es-module-lexer": "^2.0.0", + "estree-util-visit": "^2.0.0", + "hast-util-to-html": "^9.0.5", + "piccolore": "^0.1.3", + "rehype-raw": "^7.0.0", + "remark-gfm": "^4.0.1", + "remark-smartypants": "^3.0.2", + "source-map": "^0.7.6", + "unist-util-visit": "^5.1.0", + "vfile": "^6.0.3" + }, + "engines": { + "node": ">=22.12.0" + }, + "peerDependencies": { + "@astrojs/markdown-satteri": "^0.3.1", + "astro": "^7.0.0" + }, + "peerDependenciesMeta": { + "@astrojs/markdown-satteri": { + "optional": true + } + } + }, + "node_modules/@astrojs/prism": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-4.0.2.tgz", + "integrity": "sha512-KTivpmnz6lDsC6o9H4+DNm2SrE/GHzw8cNAvEJwAvUT+eoaEnn/4NtbDNfRRaxaJHdp15gf+tfHAWiXR4wB3BA==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.3.tgz", + "integrity": "sha512-f8euLVsyeAmAkSm/1M2Kb8sL8byQmfgbvBNaHFItCheTj/IpiJYSEWVcqDHZ/yEHxiS7+w87mQkzwZaPHmk5GA==", + "license": "MIT", + "dependencies": { + "sitemap": "^9.0.0", + "stream-replace-string": "^2.0.0", + "zod": "^4.3.6" + } + }, + "node_modules/@astrojs/starlight": { + "version": "0.41.5", + "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.41.5.tgz", + "integrity": "sha512-BNkyysByeqk9cXGNnd1fC1+kc9rrllo1Df/XD34wQg/I5HUX1Bc+F91aTktg17sapQs+mafzWSRgmURRyCNLKA==", + "license": "MIT", + "dependencies": { + "@astrojs/markdown-satteri": "^0.3.2", + "@astrojs/mdx": "^7.0.0", + "@astrojs/sitemap": "^3.7.2", + "@pagefind/default-ui": "^1.3.0", + "@types/hast": "^3.0.4", + "@types/js-yaml": "^4.0.9", + "@types/mdast": "^4.0.4", + "astro-expressive-code": "^0.44.0", + "bcp-47": "^2.1.0", + "hast-util-from-html": "^2.0.3", + "hast-util-select": "^6.0.4", + "hast-util-to-string": "^3.0.1", + "hastscript": "^9.0.1", + "i18next": "^26.0.7", + "js-yaml": "^4.1.1", + "klona": "^2.0.6", + "magic-string": "^0.30.21", + "mdast-util-directive": "^3.1.0", + "mdast-util-to-markdown": "^2.1.2", + "mdast-util-to-string": "^4.0.0", + "pagefind": "^1.5.2", + "rehype": "^13.0.2", + "rehype-format": "^5.0.1", + "remark-directive": "^4.0.0", + "satteri": "^0.9.1", + "ultrahtml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.1.0", + "vfile": "^6.0.3" + }, + "peerDependencies": { + "@astrojs/markdown-remark": "^7.2.0", + "astro": "^7.0.2" + }, + "peerDependenciesMeta": { + "@astrojs/markdown-remark": { + "optional": true + } + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.3.tgz", + "integrity": "sha512-C1TLn5sPJr0x4vk56piHWKbnqlEB8BKyte5Y45V02U+D7BGO5eMqZDH5aPjnkXQWJggvmsTXxH03QMZ9NgWLzQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.4.0", + "dset": "^3.1.4", + "is-docker": "^4.0.0", + "package-manager-detector": "^1.6.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bruits/satteri-darwin-arm64": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-darwin-arm64/-/satteri-darwin-arm64-0.9.5.tgz", + "integrity": "sha512-iw4nZgx9v30lWo/MTngQqi1pI78KI0DnkSm+lVJGYdmPLgAyDNJigVhpG42/Iq55A6c1Ll8q66ljyyRiQUxwow==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@bruits/satteri-darwin-x64": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-darwin-x64/-/satteri-darwin-x64-0.9.5.tgz", + "integrity": "sha512-6T26Z5Kf3cFW2PSlk9p7zT7yVxvuBSiJvYyz9u8KjYwMTqZyIDOj2wDyNpxKV4+6yUVG7rddq2QwvG/8LJA2+Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@bruits/satteri-linux-arm64-gnu": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-arm64-gnu/-/satteri-linux-arm64-gnu-0.9.5.tgz", + "integrity": "sha512-u51id17uJwNEMK9nBlICsq6U31c+XVqQueVBkwRIzZG+gMpS8TOJctt5h5Wz33Z8xnMdTd+adtACVz0yHgGuOA==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-arm64-musl": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-arm64-musl/-/satteri-linux-arm64-musl-0.9.5.tgz", + "integrity": "sha512-v39HxiwGC5Rqm01HksP6+5Y+xKLPlsuVFgIgpEAo+SiQ22c+mJVhS3u7Z6ePAKdhL5NJoK1xq70kLz3L13AhpQ==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-x64-gnu": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-x64-gnu/-/satteri-linux-x64-gnu-0.9.5.tgz", + "integrity": "sha512-F3uO8uFp3pAP5ZGXttwvh57GS7s0lL953tnNdyI2gRyP4kOOkp6pyGojNJzCjkDvWI2Cvb9iNrKok3aqQPauAw==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-x64-musl": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-x64-musl/-/satteri-linux-x64-musl-0.9.5.tgz", + "integrity": "sha512-bicEqglLlz++mWyADaZoP0JY20s4vDfLjaPYgQqC+NI4zZLTOOg1T4GB8aqtc822Pqji8SQBmSrTb7CrP8i08Q==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-wasm32-wasi": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-wasm32-wasi/-/satteri-wasm32-wasi-0.9.5.tgz", + "integrity": "sha512-zauAuMwfPnKPUkd4AFixRFpXdgKwP2mKgxrIIo2gJzW0/ZneF9dbHnLkojSpaBnCCp7VUL1hIi5WWZvB1CqmAQ==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.1.6" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-win32-arm64-msvc": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-win32-arm64-msvc/-/satteri-win32-arm64-msvc-0.9.5.tgz", + "integrity": "sha512-SrfE7NEsgZjBvU3c+RR6oQRu0ToXY5uVJEbieXEF0YTctIV2zAVlbaMjWLts074QCgh3a+XHWkR/lWh2VH2LUg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@bruits/satteri-win32-x64-msvc": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-win32-x64-msvc/-/satteri-win32-x64-msvc-0.9.5.tgz", + "integrity": "sha512-5Kw9ZAtTGS8WHizyn+CJhjjfIQrw+7jcZodpmpXJjefnO15M8UexIi6JR2E5thyvsmHyhL6ZDDMUNR4bKJPd4g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.1.tgz", + "integrity": "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@clack/core": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-1.4.3.tgz", + "integrity": "sha512-/kr3UWNtdJfxZtPgDqUOmG2pvwlmcLGheex5yiZKdwbzZJxhV+HMNR9QNmyY5cGwTNV6LrR7Jtp+KjhUAP1qBQ==", + "license": "MIT", + "dependencies": { + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@clack/prompts": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-1.7.0.tgz", + "integrity": "sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A==", + "license": "MIT", + "dependencies": { + "@clack/core": "1.4.3", + "fast-string-width": "^3.0.2", + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", + "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@emnapi/core": { + "version": "2.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-2.0.0-alpha.3.tgz", + "integrity": "sha512-AZypUeJ/yByuxyS7BlSNRDOMLMlROYtjYdIAuBmJssVz1UJDSeYxLrdizhXCFYhedC5bqd/ASy8EuNXbVVXp9g==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "2.0.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", + "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-2.0.1.tgz", + "integrity": "sha512-9DsSk+o5NBX0CCJT8s0EROGSGxjR/tKu6aBTaVyq+SjAEQH4XcdcRxPBRzsBLizTTJ49MJjF+jgu3qnO9GLQcQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@expressive-code/core": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.44.1.tgz", + "integrity": "sha512-3dDo9N8D7hYrLNNMMWFovg3+aDUtnQm7c7z0GZc1c0LEFVBc0Q6lKG+tVT28gDadOvsgOANfCn35fgpe97Pmgg==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^4.0.4", + "hast-util-select": "^6.0.2", + "hast-util-to-html": "^9.0.1", + "hast-util-to-text": "^4.0.1", + "hastscript": "^9.0.0", + "postcss": "^8.4.38", + "postcss-nested": "^6.0.1", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1" + } + }, + "node_modules/@expressive-code/plugin-frames": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-frames/-/plugin-frames-0.44.1.tgz", + "integrity": "sha512-HC/bdRao9225ApcgO/e3jn8ZOhldKO7ob1O/Tcipvtv7Vb5nMphZhMtD9uuywpvxkPYBHJi3504WhrKg05Dwqg==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.44.1" + } + }, + "node_modules/@expressive-code/plugin-shiki": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-shiki/-/plugin-shiki-0.44.1.tgz", + "integrity": "sha512-YApiZt3buUzBwL5tqj8G+sYC5NjMjRCHgQwr9bmGl69rtcHy6fE9dooWUeKYB978fJT2BuxT5FeHcF47rA3SEg==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.44.1", + "shiki": "^4.0.2" + } + }, + "node_modules/@expressive-code/plugin-text-markers": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-text-markers/-/plugin-text-markers-0.44.1.tgz", + "integrity": "sha512-B3BsJoJ8CFMlcIX9f+X9tcI3C4zPDO601+YuLi9GheSTNro7ZfqSjLptMQKBHOWZvxnAtY5zvIX7iO/qtBhNBg==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.44.1" + } + }, + "node_modules/@fontsource-variable/jetbrains-mono": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource-variable/jetbrains-mono/-/jetbrains-mono-5.3.0.tgz", + "integrity": "sha512-F32xpS2NsGYoQi2ADSkKTgpJj7ozajsGgDJ8woTnqjmIB+dxDIqImjl4pXZVEExu8UFZ2ndhmX18EBS/hdz3Lw==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/geist-sans": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource/geist-sans/-/geist-sans-5.3.0.tgz", + "integrity": "sha512-AmG7cE1AvE4NHROPaOl1sN+a02cB5xy6pA/ZV76HXqWTCsJTV2SCBc9DTFHfJqnVOODm7HhXIYtUIb75NP5QXQ==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.3.tgz", + "integrity": "sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.3.2" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.3.tgz", + "integrity": "sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.3.2" + } + }, + "node_modules/@img/sharp-freebsd-wasm32": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.3.tgz", + "integrity": "sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==", + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "dependencies": { + "@img/sharp-wasm32": "0.35.3" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.2.tgz", + "integrity": "sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.2.tgz", + "integrity": "sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.2.tgz", + "integrity": "sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.2.tgz", + "integrity": "sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.2.tgz", + "integrity": "sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.2.tgz", + "integrity": "sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.2.tgz", + "integrity": "sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.2.tgz", + "integrity": "sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.2.tgz", + "integrity": "sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.2.tgz", + "integrity": "sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.3.tgz", + "integrity": "sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.3.2" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.3.tgz", + "integrity": "sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.3.2" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.3.tgz", + "integrity": "sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.3.2" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.3.tgz", + "integrity": "sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.3.2" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.3.tgz", + "integrity": "sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.3.2" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.3.tgz", + "integrity": "sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.3.2" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.3.tgz", + "integrity": "sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.3.2" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.3.tgz", + "integrity": "sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.3.2" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.3.tgz", + "integrity": "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==", + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.11.1" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-webcontainers-wasm32": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.3.tgz", + "integrity": "sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/sharp-wasm32": "0.35.3" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.3.tgz", + "integrity": "sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.3.tgz", + "integrity": "sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.3.tgz", + "integrity": "sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", + "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "acorn": "^8.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.1.tgz", + "integrity": "sha512-KjZdi8Q1wh89gsVmghvbrMgWl6ZWmRmHV6wjB7/g4Zf0dyO+hH3neZUtuDNPO00qq5YE5RITVWvrIZKRaAmzGQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.3", + "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.3" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@oxc-project/types": { + "version": "0.142.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.142.0.tgz", + "integrity": "sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@pagefind/darwin-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.5.2.tgz", + "integrity": "sha512-MXpI+7HsAdPkvJ0gk9xj9g541BCqBZOBbdwj9g6lB5LCj6kSV6nqDSjzcAJwvOsfu0fjwvC8hQU+ecfhp+MpiQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/darwin-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.5.2.tgz", + "integrity": "sha512-IojxFWMEJe0RQ7PQ3KXQsPIImNsbpPYpoZ+QUDrL8fAl/O27IX+LVLs74/UzEZy5uA2LD8Nz1AiwKr72vrkZQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/default-ui": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.5.2.tgz", + "integrity": "sha512-pm1LMnQg8N2B3n2TnjKlhaFihpz6zTiA4HiGQ6/slKO/+8K9CAU5kcjdSSPgpuk1PMuuN4hxLipUIifnrkl3Sg==", + "license": "MIT" + }, + "node_modules/@pagefind/freebsd-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/freebsd-x64/-/freebsd-x64-1.5.2.tgz", + "integrity": "sha512-7EVzo9+0w+2cbe671BtMj10UlNo83I+HrLVLfRxO731svHRJKUfJ/mo05gU14pe9PCfpKNQT8FS3Xc/oDN6pOA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@pagefind/linux-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.5.2.tgz", + "integrity": "sha512-Ovt9+K35sqzn8H3ZMXGwls4TD/wMJuvRtShHIsmUQREmaxjrDEX7gHckRCrwYJ4XE1H1p6HkLz3wukrAnsfXQw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/linux-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.5.2.tgz", + "integrity": "sha512-V+tFqHKXhQKq/WqPBD67AFy7scn1/aZID00ws4fSDd+1daSi5UHR9VVlRrOUYKxn3VuFQYRD7lYXdZK1WED1YA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/windows-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/windows-arm64/-/windows-arm64-1.5.2.tgz", + "integrity": "sha512-hN9Nh90fNW61nNRCW9ZyQrAj/mD0eRvmJ8NlTUzkbuW8kIzGJUi3cxjFkEcMZ5h/8FsKWD/VcouZl4yo1F7B6g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@pagefind/windows-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.5.2.tgz", + "integrity": "sha512-Fa2Iyw7kaDRzGMfNYNUXNW2zbL5FQVDgSOcbDHdzBrDEdpqOqg8TcZ68F22ol6NJ9IGzvUdmeyZypLW5dyhqsg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.1.tgz", + "integrity": "sha512-02hOeOSryYxVrOIphmLAsqnCJWxwlzFk+pEt/N/i6OgT3lShHO7xGCU5cpgchRDHboAEbSjzgGh+O/u1GswQmA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.1.tgz", + "integrity": "sha512-fMsTOnN0OjFm3CyppWPitKnc8UlliVARUULW6cfU6AIqjdtgmSFWSk9vecHzZduv/yMWIHDlRhM1e8Iff9uAfA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.1.tgz", + "integrity": "sha512-1wjKdz/XLGKHaTNHjQveQ/B23TKx4ItAqm1JbyVuvNPc4Ze0Fb48s49TAd/2zcplPl8okE/UbTgmlVfwT7eFeQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.1.tgz", + "integrity": "sha512-Fa0jHR07E7YBN4vOEsbVf2briYNsuOowfLJaXULZM0ldMlaCaj2LJgLMbMe4iacRyZmvR8efFhgR9wKuGclQUg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.1.tgz", + "integrity": "sha512-pzkgu1SSHGgRRyRZ4fbmSgmajbVt+epaLP99NDjFft69v/ypfTi6swBMiVdh2EkQ0OSnHE1lZDM7DRGkyAzUpA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.1.tgz", + "integrity": "sha512-QI5SEDY8cbiYWHx0VO4vIc3UlS6a32vXHjU8Qy/17adEmZIPuByJg13UEvo9c/UCiUkdcVWY83C+b+JrwnNyUg==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.1.tgz", + "integrity": "sha512-Sm41FyCeXqmYcERoYOCbGIL5hNfd8w9LQ7Y61Bev48HkcjaJqV/iiVOaiDxjVTRMS+QKrZmD8cfPt4uMVnvM+A==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.1.tgz", + "integrity": "sha512-2x+WhXTGl9yJYPbltW/BSEPTVz9OIWQyER4N+gJEDWkkn904eRcBzELqh/Hf7K0w/ubGbKNMv0ZC+94QK/IFEg==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.1.tgz", + "integrity": "sha512-eEjmQpuRQayHPWWnywaWHkFT3ToPbP3RYy42VVd/B9aBGDA+Ol25EIWHxKQST3IiWJjikCWUF7KtbfqwZrzVwQ==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.1.tgz", + "integrity": "sha512-/Orga1fZYkLc/56jBICcHrKchl8Z2UKdDSr3LG9ToWO1lQ6a4Livk9Xz+9WN91zsz5QR3XQz2NNoSDEvP6qadw==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.1.tgz", + "integrity": "sha512-xxBJRL+0q0Kce7orznGWLuylHDY65vuARXZRpX+hPdv+DqK2c3NlCsVA98tlWzWNEE7yPqA/1NQ5nnCrj49Y5A==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.1.tgz", + "integrity": "sha512-M6AdXIXw3s+/8XpKMzdGDEXGS1S7kwUsy+rcTIUIOx5Ge4nXKCtAFHFV9YKkXvGcC5WMoTjAteLzlsQROVI0Yw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.2.1.tgz", + "integrity": "sha512-/TX0SoRGojHzSAHpfVBbavRVSazg5U3h3Y3VXfcc0cdugq6kxdqw8LPGFiPr+/7gE/60zRcsOY2Vi9b9eT0jww==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "2.0.0-alpha.3", + "@emnapi/runtime": "2.0.0-alpha.3", + "@napi-rs/wasm-runtime": "^1.2.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "2.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-2.0.0-alpha.3.tgz", + "integrity": "sha512-hFPAhMUjJD9BSyCANEISPOogeXC9Zo9ZQl7L6vKnaVsMkCtzznaW/naYypeyl0Gv5rYfWYsZbpixTMpjDJzQeA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.1.tgz", + "integrity": "sha512-EvRrivJieyHG+AO9lleZWgq+g0+S7oV2C51yuqlcyU/R9net+sI4Pj0F+lUoP2bEr6TWX3SqFaaS0SzfLxSzkw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.1.tgz", + "integrity": "sha512-Z4eCmn5QJ/5+azF9knpLWKfVd9aidn0mAe9TpJgvBLId9Ax3t0+JVxBmT25Bv7NBbVW1TZyKjQjQReouMeH5UQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "license": "MIT" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.4.0.tgz", + "integrity": "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@shikijs/core": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.3.1.tgz", + "integrity": "sha512-ANMDxuaPsNMdDC1m4vfvhlDmJweMwkE5XitTwrq2rWHx5jM+dlm4MmHt2PP6t0uejfR77SuhrhJ0zEijIF/uhA==", + "license": "MIT", + "dependencies": { + "@shikijs/primitive": "4.3.1", + "@shikijs/types": "4.3.1", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.3.1.tgz", + "integrity": "sha512-JBItcnPuYq7jVJdZo/vMj94r+szT7XEjHFX+mvFDGSEIbVAXAGyHAHzhbWzpGOwYidCZrErJLLgn2PVeiokHnQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.3.1", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.6" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.3.1.tgz", + "integrity": "sha512-OXyNMzg0pews+msMj4cHeqT4xiYKKvbnn6VbdAXxfoFl3SSx4fJTc8FadECuc5/H9p3BzhNAoAUXKwAu9rWYhg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.3.1", + "@shikijs/vscode-textmate": "^10.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/langs": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.3.1.tgz", + "integrity": "sha512-m0l9nsDqgBHvbZbk7A0/kXz/impK3uB/c6rAn6Gpg/uPtdZRQ+alsN/17MU5thb68XTj/4DxkZAotrM0GGSpDQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/primitive": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.3.1.tgz", + "integrity": "sha512-CXQRQOYy1leqQ8ceTeJdmXv/bsUY++6QyLpXJ94LZAAYj5X2SKRdc5ipguv4NPyGVKItB2PPwUpRNe0Sjh5S1A==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.3.1", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/themes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.3.1.tgz", + "integrity": "sha512-dgpoJ4WqNi2yTmizQHBJ5zcX6j2lE6icN/0yt4l1kkf16jrY/pwPLoTb1ETsWMz0OBLf9ZNvwmxft+cH+N9qSA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/types": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.3.1.tgz", + "integrity": "sha512-CHFxE0jztBIZRHH6gxXE7DXUCFXjReEGxZ/j0rfSLGKZuwp2xBYycEP14875DSa9KLL/6700oxIq6oO6ef9K2g==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "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/@tybys/wasm-util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/js-yaml": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.14.tgz", + "integrity": "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", + "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.3.tgz", + "integrity": "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==", + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", + "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/am-i-vibing": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/am-i-vibing/-/am-i-vibing-0.4.0.tgz", + "integrity": "sha512-MxT4XZL7pzLHpuvhDKdMaQHMGGkJDLluKBLsbstn+8wv9sWcFT6h+0ve9qkml95amVTZtZV83gQe2hY+ojgHLg==", + "license": "MIT", + "dependencies": { + "process-ancestry": "^0.1.0" + }, + "bin": { + "am-i-vibing": "dist/cli.mjs" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/astro": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/astro/-/astro-7.1.6.tgz", + "integrity": "sha512-83x9rYbHazMaZkYrAFRVZXSQx2moFkz0F7cjTDUF3GWfS0a3p2vZXG1ZdhV86rStHApQCodBJW+XTD37xISIrQ==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler-rs": "^0.3.2", + "@astrojs/internal-helpers": "0.10.2", + "@astrojs/markdown-satteri": "0.3.5", + "@astrojs/telemetry": "3.3.3", + "@capsizecss/unpack": "^4.0.0", + "@clack/prompts": "^1.1.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "am-i-vibing": "^0.4.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "ci-info": "^4.4.0", + "clsx": "^2.1.1", + "common-ancestor-path": "^2.0.0", + "cookie": "^2.0.1", + "devalue": "^5.8.1", + "diff": "^8.0.3", + "dset": "^3.1.4", + "es-module-lexer": "^2.0.0", + "esbuild": "^0.28.0", + "flattie": "^1.1.1", + "fontace": "~0.4.1", + "get-tsconfig": "5.0.0-beta.4", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "js-yaml": "^4.3.0", + "jsonc-parser": "^3.3.1", + "magic-string": "^1.0.0", + "magicast": "^0.5.2", + "mrmime": "^2.0.1", + "neotraverse": "^1.0.1", + "obug": "^2.1.1", + "p-limit": "^7.3.0", + "p-queue": "^9.1.0", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.4", + "semver": "^7.7.4", + "shiki": "^4.0.2", + "smol-toml": "^1.6.0", + "svgo": "^4.0.1", + "tinyclip": "^0.1.12", + "tinyexec": "^1.0.4", + "tinyglobby": "^0.2.15", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.4", + "unstorage": "^1.17.5", + "vite": "^8.0.13", + "vitefu": "^1.1.2", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^22.0.0", + "zod": "^4.3.6" + }, + "bin": { + "astro": "bin/astro.mjs" + }, + "engines": { + "node": ">=22.12.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.34.0 || ^0.35.0" + }, + "peerDependencies": { + "@astrojs/markdown-remark": "7.2.2" + }, + "peerDependenciesMeta": { + "@astrojs/markdown-remark": { + "optional": true + } + } + }, + "node_modules/astro-expressive-code": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.44.1.tgz", + "integrity": "sha512-DT1LnCqbHasBKlvzJ3m6LR4VI94wwx3W9EV/YbP1te4rqjOHsvsezHYuqb5MeLWLftXms/1FA9QBbwCo43DnJQ==", + "license": "MIT", + "dependencies": { + "rehype-expressive-code": "^0.44.1", + "url-extras": "^0.1.0" + }, + "peerDependencies": { + "astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta || ^7.0.0" + } + }, + "node_modules/astro/node_modules/magic-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.1.0.tgz", + "integrity": "sha512-kS3VHe0nEPST2saQV4Rbkchcd3UBRkVTQHo1D3h/ZTwFDhai/mfKkmtPAtD129EOI7K3HlHIsFOt0WrI2/oU9g==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.1.tgz", + "integrity": "sha512-KLw+H/gd2p4zly1X7Yh/qziuyae5/w/QFnvTng9eZL5fvszL7Whl3MBoWF8yxL7ksUjBfOD+OxkytiqbBpG+Fw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-2.0.0.tgz", + "integrity": "sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">= 18" + } + }, + "node_modules/cookie": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-2.0.1.tgz", + "integrity": "sha512-yuToqVvRrj6pfDXREyQAAv8SkAEk/8GS3jQRTiUMm66TVtBYmqQeoEjL2Lmq8Rpo6271vH76InTChTitEAm65w==", + "license": "MIT", + "engines": { + "node": ">=22" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz", + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==", + "license": "MIT" + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-selector-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.3.0.tgz", + "integrity": "sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.9.0.tgz", + "integrity": "sha512-RWrqdArjvPbsATEhOPUo6Wndc/iWnkWKlhIrdlF3zMMYo/c3CVtoaVAyLtWxz5h8nSlkHzxnzV2uLydPXmtF+A==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/direction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", + "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==", + "license": "MIT", + "bin": { + "direction": "cli.js" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz", + "integrity": "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==", + "license": "MIT" + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esbuild": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.1", + "@esbuild/android-arm": "0.28.1", + "@esbuild/android-arm64": "0.28.1", + "@esbuild/android-x64": "0.28.1", + "@esbuild/darwin-arm64": "0.28.1", + "@esbuild/darwin-x64": "0.28.1", + "@esbuild/freebsd-arm64": "0.28.1", + "@esbuild/freebsd-x64": "0.28.1", + "@esbuild/linux-arm": "0.28.1", + "@esbuild/linux-arm64": "0.28.1", + "@esbuild/linux-ia32": "0.28.1", + "@esbuild/linux-loong64": "0.28.1", + "@esbuild/linux-mips64el": "0.28.1", + "@esbuild/linux-ppc64": "0.28.1", + "@esbuild/linux-riscv64": "0.28.1", + "@esbuild/linux-s390x": "0.28.1", + "@esbuild/linux-x64": "0.28.1", + "@esbuild/netbsd-arm64": "0.28.1", + "@esbuild/netbsd-x64": "0.28.1", + "@esbuild/openbsd-arm64": "0.28.1", + "@esbuild/openbsd-x64": "0.28.1", + "@esbuild/openharmony-arm64": "0.28.1", + "@esbuild/sunos-x64": "0.28.1", + "@esbuild/win32-arm64": "0.28.1", + "@esbuild/win32-ia32": "0.28.1", + "@esbuild/win32-x64": "0.28.1" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/expressive-code": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/expressive-code/-/expressive-code-0.44.1.tgz", + "integrity": "sha512-GakidxhapWDzpKLqEaFQ8wGk6gAqEtPQibu8+yPBfnDLgev5Vdsh1pasTxnrXL/mzIknyqeTwhMHTghdaiUrTg==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.44.1", + "@expressive-code/plugin-frames": "^0.44.1", + "@expressive-code/plugin-shiki": "^0.44.1", + "@expressive-code/plugin-text-markers": "^0.44.1" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.2" + } + }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz", + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-tsconfig": { + "version": "5.0.0-beta.4", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-5.0.0-beta.4.tgz", + "integrity": "sha512-7nF7C9fIPFEMHgEMEfgIlO9wDdZ8CyHw27rWciFZfHvHDReIiPhsYuzPRXsfvBCqFy1l8RRyyWV7QLM+ZhUJsQ==", + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "engines": { + "node": ">=20.20.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/h3": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz", + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.3", + "crossws": "^0.3.5", + "defu": "^6.1.6", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "node_modules/hast-util-embedded": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", + "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-format": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-format/-/hast-util-format-1.1.0.tgz", + "integrity": "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-minify-whitespace": "^1.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "html-whitespace-sensitive-tag-names": "^3.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-body-ok-link": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", + "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-minify-whitespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", + "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-is-body-ok-link": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-select": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.4.tgz", + "integrity": "sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "bcp-47-match": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "css-selector-parser": "^3.0.0", + "devlop": "^1.0.0", + "direction": "^2.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "nth-check": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "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", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", + "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-whitespace-sensitive-tag-names": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-3.0.1.tgz", + "integrity": "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/i18next": { + "version": "26.3.6", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.3.6.tgz", + "integrity": "sha512-Bu5Z2nAXgfVyM8xvW3jk9EKRIuX37PudsrBViThNFx7CR7aaYTpP01cxNB/E4c4UUzTDiAZRstEhsRfPOL/8xA==", + "funding": [ + { + "type": "individual", + "url": "https://www.locize.com/i18next" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + }, + { + "type": "individual", + "url": "https://www.locize.com" + } + ], + "license": "MIT", + "peerDependencies": { + "typescript": "^5 || ^6 || ^7" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-4.0.0.tgz", + "integrity": "sha512-LHE+wROyG/Y/0ZnbktRCoTix2c1RhgWaZraMZ8o1Q7zCh0VSrICJQO5oqIIISrcSBtrXv0o233w1IYwsWCjTzA==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "license": "MIT" + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/lightningcss": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz", + "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.33.0", + "lightningcss-darwin-arm64": "1.33.0", + "lightningcss-darwin-x64": "1.33.0", + "lightningcss-freebsd-x64": "1.33.0", + "lightningcss-linux-arm-gnueabihf": "1.33.0", + "lightningcss-linux-arm64-gnu": "1.33.0", + "lightningcss-linux-arm64-musl": "1.33.0", + "lightningcss-linux-x64-gnu": "1.33.0", + "lightningcss-linux-x64-musl": "1.33.0", + "lightningcss-win32-arm64-msvc": "1.33.0", + "lightningcss-win32-x64-msvc": "1.33.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz", + "integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz", + "integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz", + "integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz", + "integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz", + "integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz", + "integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz", + "integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz", + "integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz", + "integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz", + "integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz", + "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.4.tgz", + "integrity": "sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "source-map-js": "^1.2.1" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", + "integrity": "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "license": "CC0-1.0" + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-4.0.0.tgz", + "integrity": "sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.16", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", + "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-1.0.1.tgz", + "integrity": "sha512-WmmLty1YWwJl9yZi77v2dVIV6X2kuYV8YYBI/G3LWGKdGHmHUvL1z7FW0iDvEvGAwNEoc5x1tOOOyDnf5jJw/w==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.5.tgz", + "integrity": "sha512-KQyt/wLjG3TAc7DOUhpqWzgd4ERxR80JOlTK5VE5R1S12IaPVN5qkj4klBce9HPG1Njuup4Sb5bljaT34lIyjw==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/obug": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.4.tgz", + "integrity": "sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==", + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/p-limit": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.1.tgz", + "integrity": "sha512-0trZaiG7Y7kN/Egy9a8j47t9osC0Tch4PaIWd9yGF6bvmlk7muExRvGNYb8sXBwEKMoNKsbNN9P8EefuQekE4Q==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.2.1" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.3.3.tgz", + "integrity": "sha512-NXAOdnEe5FsZJfT4oK84lE1Y5cFFdWlRuOo5tww8DyNMxyRXwn39fIkUtNLKppcPC+UYU/bXujNCUGDv01y7CA==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.4", + "p-timeout": "^7.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz", + "integrity": "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-manager-detector": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.8.0.tgz", + "integrity": "sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==", + "license": "MIT" + }, + "node_modules/pagefind": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.5.2.tgz", + "integrity": "sha512-XTUaK0hXMCu2jszWE584JGQT7y284TmMV9l/HX3rnG5uo3rHI/uHU56XTyyyPFjeWEBxECbAi0CaFDJOONtG0Q==", + "license": "MIT", + "bin": { + "pagefind": "lib/runner/bin.cjs" + }, + "optionalDependencies": { + "@pagefind/darwin-arm64": "1.5.2", + "@pagefind/darwin-x64": "1.5.2", + "@pagefind/freebsd-x64": "1.5.2", + "@pagefind/linux-arm64": "1.5.2", + "@pagefind/linux-x64": "1.5.2", + "@pagefind/windows-arm64": "1.5.2", + "@pagefind/windows-x64": "1.5.2" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "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": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.25", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.25.tgz", + "integrity": "sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.16", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.4.tgz", + "integrity": "sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-ancestry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/process-ancestry/-/process-ancestry-0.1.0.tgz", + "integrity": "sha512-tGqJW/UnclpYASFcM6Xh8D8l/BMtaQ9+CSG0vlJSJTcdMM4lDRv4c6H0Pdcsfted+bVczdYSfk2fdukg2gQkZg==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "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": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-expressive-code": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/rehype-expressive-code/-/rehype-expressive-code-0.44.1.tgz", + "integrity": "sha512-+VZgs7Evw4LXRN3owpoBNSTpYuW6GeOdjqcUT1TuY8o/4MGPtbd0EU7Bgrju7X8KrQ6SslOBAuGWJ5fV5TriJQ==", + "license": "MIT", + "dependencies": { + "expressive-code": "^0.44.1" + } + }, + "node_modules/rehype-format": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rehype-format/-/rehype-format-5.0.1.tgz", + "integrity": "sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-format": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-directive": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-4.0.0.tgz", + "integrity": "sha512-7sxn4RfF1o3izevPV1DheyGDD6X4c9hrGpfdUpm7uC++dqrnJxIZVkk7CoKqcLm0VUMAuOol7Mno3m6g8cfMuA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", + "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.3.tgz", + "integrity": "sha512-gCaK+ndZ0hYezlqFegHFCVh2CQemsi0Npdh1qVM9bxlUFknjkbP6VmojWhddOCrbK0PbbacmYLWfTULRiT1eWA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rolldown": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.1.tgz", + "integrity": "sha512-4FKJhg8d3OiyQOA6Q1Q0hoFFpW9/OoX+VsHzpECsdsIZoOArrAK90gl59YK/Z+gnDel45bgJZK03ozH/9bCqEw==", + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.142.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.2.1", + "@rolldown/binding-darwin-arm64": "1.2.1", + "@rolldown/binding-darwin-x64": "1.2.1", + "@rolldown/binding-freebsd-x64": "1.2.1", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.1", + "@rolldown/binding-linux-arm64-gnu": "1.2.1", + "@rolldown/binding-linux-arm64-musl": "1.2.1", + "@rolldown/binding-linux-ppc64-gnu": "1.2.1", + "@rolldown/binding-linux-s390x-gnu": "1.2.1", + "@rolldown/binding-linux-x64-gnu": "1.2.1", + "@rolldown/binding-linux-x64-musl": "1.2.1", + "@rolldown/binding-openharmony-arm64": "1.2.1", + "@rolldown/binding-wasm32-wasi": "1.2.1", + "@rolldown/binding-win32-arm64-msvc": "1.2.1", + "@rolldown/binding-win32-x64-msvc": "1.2.1" + } + }, + "node_modules/satteri": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/satteri/-/satteri-0.9.5.tgz", + "integrity": "sha512-ZuWVl+vnM64y+/TtX8Kosv2c00W+hLQiiwnEL6H0UKVVrxFqMw4D2CJHHQaouVd89OAhtBBfjWLqhKi3TVUV4w==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.5", + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "@types/unist": "^3.0.3" + }, + "optionalDependencies": { + "@bruits/satteri-darwin-arm64": "0.9.5", + "@bruits/satteri-darwin-x64": "0.9.5", + "@bruits/satteri-linux-arm64-gnu": "0.9.5", + "@bruits/satteri-linux-arm64-musl": "0.9.5", + "@bruits/satteri-linux-x64-gnu": "0.9.5", + "@bruits/satteri-linux-x64-musl": "0.9.5", + "@bruits/satteri-wasm32-wasi": "0.9.5", + "@bruits/satteri-win32-arm64-msvc": "0.9.5", + "@bruits/satteri-win32-x64-msvc": "0.9.5" + } + }, + "node_modules/sax": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz", + "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.3.tgz", + "integrity": "sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==", + "license": "Apache-2.0", + "dependencies": { + "@img/colour": "^1.1.0", + "detect-libc": "^2.1.2", + "semver": "^7.8.5" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.35.3", + "@img/sharp-darwin-x64": "0.35.3", + "@img/sharp-freebsd-wasm32": "0.35.3", + "@img/sharp-libvips-darwin-arm64": "1.3.2", + "@img/sharp-libvips-darwin-x64": "1.3.2", + "@img/sharp-libvips-linux-arm": "1.3.2", + "@img/sharp-libvips-linux-arm64": "1.3.2", + "@img/sharp-libvips-linux-ppc64": "1.3.2", + "@img/sharp-libvips-linux-riscv64": "1.3.2", + "@img/sharp-libvips-linux-s390x": "1.3.2", + "@img/sharp-libvips-linux-x64": "1.3.2", + "@img/sharp-libvips-linuxmusl-arm64": "1.3.2", + "@img/sharp-libvips-linuxmusl-x64": "1.3.2", + "@img/sharp-linux-arm": "0.35.3", + "@img/sharp-linux-arm64": "0.35.3", + "@img/sharp-linux-ppc64": "0.35.3", + "@img/sharp-linux-riscv64": "0.35.3", + "@img/sharp-linux-s390x": "0.35.3", + "@img/sharp-linux-x64": "0.35.3", + "@img/sharp-linuxmusl-arm64": "0.35.3", + "@img/sharp-linuxmusl-x64": "0.35.3", + "@img/sharp-webcontainers-wasm32": "0.35.3", + "@img/sharp-win32-arm64": "0.35.3", + "@img/sharp-win32-ia32": "0.35.3", + "@img/sharp-win32-x64": "0.35.3" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/shiki": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.3.1.tgz", + "integrity": "sha512-oR+qDVi2OjX1tmDpyv+3KviX01KzO6Af+0NNnKnsp9491UEGz2YpxTuJboS/6VhYpTdqzmuJBuiTlrAWWJAssw==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "4.3.1", + "@shikijs/engine-javascript": "4.3.1", + "@shikijs/engine-oniguruma": "4.3.1", + "@shikijs/langs": "4.3.1", + "@shikijs/themes": "4.3.1", + "@shikijs/types": "4.3.1", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.1.tgz", + "integrity": "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==", + "license": "MIT", + "dependencies": { + "@types/node": "^24.9.2", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.4.1" + }, + "bin": { + "sitemap": "dist/esm/cli.js" + }, + "engines": { + "node": ">=20.19.5", + "npm": ">=10.8.2" + } + }, + "node_modules/smol-toml": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.1.tgz", + "integrity": "sha512-PPlsspAZ4jbMBu5DMFhfUGDQLu/vrL4SyBROVS37x8ynnVmFIs1VPBz1Co8Xks3TvpIaZXmU85y4DrQ+UyVFoQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stream-replace-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", + "license": "MIT" + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, + "node_modules/svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.2.tgz", + "integrity": "sha512-ekx94z1rRc5LDi6oSUaeRnYhd0UOJxdtQCL2rF8xpWxD3TPAsISWOrxezqGovqS38GRZOdpDfvQe3ts6F7nsng==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyclip": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/tinyclip/-/tinyclip-0.1.15.tgz", + "integrity": "sha512-uo33abH+Ays0xYaDysoBt494Hb3hsEczMpcC0MwFl773pazORx4fmvKhclhR1wonUbB6vvpRsvVMwnhfqeMc+A==", + "license": "MIT", + "engines": { + "node": "^16.14.0 || >= 17.3.0" + } + }, + "node_modules/tinyexec": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD", + "optional": true + }, + "node_modules/ufo": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.4.tgz", + "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.7.0.tgz", + "integrity": "sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==", + "license": "MIT" + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ofetch": "^1.5.1", + "ohash": "^2.0.11" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unstorage": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz", + "integrity": "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.10", + "lru-cache": "^11.2.7", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/url-extras": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/url-extras/-/url-extras-0.1.0.tgz", + "integrity": "sha512-8tzwTeXFPuX/5PHuCDQE5Dd9Ts4rwoq2t9aIT+HS4iAVpmj5l4Ao7Q+BuuFjvWRqrLswBhQDk8O96ZicgCqQqw==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.2.0.tgz", + "integrity": "sha512-pn+CFpM0lwDeKwmOq1ZaBK/9sjorZcgqxki6MbY/jPEVd9vichIlmlD4HmQ5wdP5EgqQCFRaACBxMC7uEGc6lQ==", + "license": "MIT", + "dependencies": { + "lightningcss": "^1.33.0", + "picomatch": "^4.0.5", + "postcss": "^8.5.23", + "rolldown": "~1.2.0", + "tinyglobby": "^0.2.17" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.4.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 00000000..9f32b441 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,19 @@ +{ + "name": "docs-astro", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/starlight": "^0.41.5", + "@fontsource-variable/jetbrains-mono": "^5.3.0", + "@fontsource/geist-sans": "^5.3.0", + "astro": "^7.0.2", + "sharp": "^0.35.3" + } +} diff --git a/docs/static/favicon.svg b/docs/public/favicon.svg similarity index 100% rename from docs/static/favicon.svg rename to docs/public/favicon.svg diff --git a/docs/static/navlogo.png b/docs/src/assets/branding/navlogo.png similarity index 100% rename from docs/static/navlogo.png rename to docs/src/assets/branding/navlogo.png diff --git a/docs/assets/images/Title-Screen.png b/docs/src/assets/branding/title-screen.png similarity index 100% rename from docs/assets/images/Title-Screen.png rename to docs/src/assets/branding/title-screen.png diff --git a/docs/assets/images/Commit-GHD.png b/docs/src/assets/contributing/Commit-GHD.png similarity index 100% rename from docs/assets/images/Commit-GHD.png rename to docs/src/assets/contributing/Commit-GHD.png diff --git a/docs/assets/images/Complie.png b/docs/src/assets/contributing/Complie.png similarity index 100% rename from docs/assets/images/Complie.png rename to docs/src/assets/contributing/Complie.png diff --git a/docs/assets/images/Discard-GHD.png b/docs/src/assets/contributing/Discard-GHD.png similarity index 100% rename from docs/assets/images/Discard-GHD.png rename to docs/src/assets/contributing/Discard-GHD.png diff --git a/docs/assets/images/Fork-Button-Dark.png b/docs/src/assets/contributing/Fork-Button-Dark.png similarity index 100% rename from docs/assets/images/Fork-Button-Dark.png rename to docs/src/assets/contributing/Fork-Button-Dark.png diff --git a/docs/assets/images/Push-Commit.png b/docs/src/assets/contributing/Push-Commit.png similarity index 100% rename from docs/assets/images/Push-Commit.png rename to docs/src/assets/contributing/Push-Commit.png diff --git a/docs/src/assets/houston.webp b/docs/src/assets/houston.webp new file mode 100644 index 0000000000000000000000000000000000000000..930c164974ad8eb528878f15a98016249b8cf546 GIT binary patch literal 98506 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 b6~t;_wBcJ3AWgga7~Sz~izoKbpAY~5r|m$8 literal 0 HcmV?d00001 diff --git a/docs/assets/images/config-tab-new.png b/docs/src/assets/screenshots/config-tab-new.png similarity index 100% rename from docs/assets/images/config-tab-new.png rename to docs/src/assets/screenshots/config-tab-new.png diff --git a/docs/assets/images/install-pics/clear-selection-apps.png b/docs/src/assets/screenshots/install-pics/clear-selection-apps.png similarity index 100% rename from docs/assets/images/install-pics/clear-selection-apps.png rename to docs/src/assets/screenshots/install-pics/clear-selection-apps.png diff --git a/docs/assets/images/install-pics/install-apps.png b/docs/src/assets/screenshots/install-pics/install-apps.png similarity index 100% rename from docs/assets/images/install-pics/install-apps.png rename to docs/src/assets/screenshots/install-pics/install-apps.png diff --git a/docs/assets/images/install-pics/installation.png b/docs/src/assets/screenshots/install-pics/installation.png similarity index 100% rename from docs/assets/images/install-pics/installation.png rename to docs/src/assets/screenshots/install-pics/installation.png diff --git a/docs/assets/images/install-pics/show-installed-apps.png b/docs/src/assets/screenshots/install-pics/show-installed-apps.png similarity index 100% rename from docs/assets/images/install-pics/show-installed-apps.png rename to docs/src/assets/screenshots/install-pics/show-installed-apps.png diff --git a/docs/assets/images/install-pics/uninstall-apps.png b/docs/src/assets/screenshots/install-pics/uninstall-apps.png similarity index 100% rename from docs/assets/images/install-pics/uninstall-apps.png rename to docs/src/assets/screenshots/install-pics/uninstall-apps.png diff --git a/docs/assets/images/tweaks-tab-new.png b/docs/src/assets/screenshots/tweaks-tab-new.png similarity index 100% rename from docs/assets/images/tweaks-tab-new.png rename to docs/src/assets/screenshots/tweaks-tab-new.png diff --git a/docs/assets/images/win11creator-tab-new.png b/docs/src/assets/screenshots/win11creator-tab-new.png similarity index 100% rename from docs/assets/images/win11creator-tab-new.png rename to docs/src/assets/screenshots/win11creator-tab-new.png diff --git a/docs/src/components/CornerCard.astro b/docs/src/components/CornerCard.astro new file mode 100644 index 00000000..6dae451f --- /dev/null +++ b/docs/src/components/CornerCard.astro @@ -0,0 +1,123 @@ +--- +// Feature card with small corner brackets instead of a shadow/colored border. +import { Icon } from '@astrojs/starlight/components'; +import type { ComponentProps } from 'astro/types'; + +interface Props { + icon: ComponentProps['name']; + title: string; +} + +const { icon, title } = Astro.props; +--- + +

+
+ + diff --git a/docs/src/components/Footer.astro b/docs/src/components/Footer.astro new file mode 100644 index 00000000..b2c98846 --- /dev/null +++ b/docs/src/components/Footer.astro @@ -0,0 +1,87 @@ +--- +import EditLink from 'virtual:starlight/components/EditLink'; +import LastUpdated from 'virtual:starlight/components/LastUpdated'; +import Pagination from 'virtual:starlight/components/Pagination'; +import config from 'virtual:starlight/user-config'; +import { Icon } from '@astrojs/starlight/components'; + +const year = new Date().getFullYear(); +--- + + + + diff --git a/docs/src/components/Header.astro b/docs/src/components/Header.astro new file mode 100644 index 00000000..f544e4c1 --- /dev/null +++ b/docs/src/components/Header.astro @@ -0,0 +1,178 @@ +--- +import config from 'virtual:starlight/user-config'; + +import LanguageSelect from 'virtual:starlight/components/LanguageSelect'; +import Search from 'virtual:starlight/components/Search'; +import SiteTitle from 'virtual:starlight/components/SiteTitle'; +import SocialIcons from 'virtual:starlight/components/SocialIcons'; +import ThemeSelect from 'virtual:starlight/components/ThemeSelect'; + +/** + * Render the `Search` component if Pagefind is enabled or the default search component has been overridden. + */ +const shouldRenderSearch = + config.pagefind || config.components.Search !== '@astrojs/starlight/components/Search.astro'; +--- + +
+
+ +
+
+ {shouldRenderSearch && } +
+
+ + + + +
+
+ + diff --git a/docs/src/components/Hero.astro b/docs/src/components/Hero.astro new file mode 100644 index 00000000..4a3de267 --- /dev/null +++ b/docs/src/components/Hero.astro @@ -0,0 +1,294 @@ +--- +// Custom hero override: eyebrow, heading, tagline, actions, badges, screenshot. +import { Image } from 'astro:assets'; +import { Icon } from '@astrojs/starlight/components'; + +// Matches Starlight's internal PAGE_TITLE_ID (used by the skip-to-content link). +const PAGE_TITLE_ID = '_top'; + +const { data } = Astro.locals.starlightRoute.entry; +const { title = data.title, tagline, image, actions = [] } = data.hero || {}; +const { heroEyebrow, heroCaption, heroBadges = [] } = data; + +let heroImage: ImageMetadata | undefined; +if (image && 'file' in image) heroImage = image.file; +--- + +
+ + +
+
+ {heroEyebrow &&

{heroEyebrow}

} +

+ {tagline &&

} + { + actions.length > 0 && ( +

+ {actions.map(({ icon, link: href, text, variant = 'primary' }) => ( + + {text} + {icon?.name && ( + + )} + + ))} +
+ ) + } + {heroCaption &&

{heroCaption}

} +

+ { + heroImage && ( +
+
+
+ winutil.ps1 +
+ + + +
+
+ {image?.alt +
+
+ ) + } +
+ { + heroBadges.length > 0 && ( +
+
+ {heroBadges.map(({ src, alt, href }) => + href ? ( + + {alt} + + ) : ( + {alt} + ) + )} +
+
+ ) + } +
+ + diff --git a/docs/src/components/ThemeProvider.astro b/docs/src/components/ThemeProvider.astro new file mode 100644 index 00000000..3d27d872 --- /dev/null +++ b/docs/src/components/ThemeProvider.astro @@ -0,0 +1,36 @@ +--- +// Overrides Starlight's default ThemeProvider: dark by default regardless of OS preference, unless the visitor has explicitly picked a theme before. +import { Icon } from '@astrojs/starlight/components'; +--- + + + + diff --git a/docs/src/content.config.ts b/docs/src/content.config.ts new file mode 100644 index 00000000..2139691b --- /dev/null +++ b/docs/src/content.config.ts @@ -0,0 +1,29 @@ +import { defineCollection } from 'astro:content'; +import { z } from 'astro/zod'; +import { docsLoader } from '@astrojs/starlight/loaders'; +import { docsSchema } from '@astrojs/starlight/schema'; + +export const collections = { + docs: defineCollection({ + loader: docsLoader(), + schema: docsSchema({ + extend: () => + z.object({ + // Small uppercase kicker line above the hero heading, e.g. "Open Source Windows Setup Utility". + heroEyebrow: z.string().optional(), + // Muted one-liner below the hero actions, e.g. "Self-hosted. Script-powered. No installer.". + heroCaption: z.string().optional(), + // Badge images (shields.io, dcbadge, etc.) shown in a row at the bottom of the hero. + heroBadges: z + .array( + z.object({ + src: z.string(), + alt: z.string(), + href: z.string().optional(), + }) + ) + .optional(), + }), + }), + }), +}; diff --git a/docs/content/dev/architecture.md b/docs/src/content/docs/code-reference/architecture.mdx similarity index 97% rename from docs/content/dev/architecture.md rename to docs/src/content/docs/code-reference/architecture.mdx index 490b64a7..8faf950c 100644 --- a/docs/content/dev/architecture.md +++ b/docs/src/content/docs/code-reference/architecture.mdx @@ -1,7 +1,6 @@ --- title: Architecture & Design -weight: 1 -toc: true +description: How WinUtil's GUI, functions, and JSON configuration files fit together, plus a deep dive into the Win11 Creator subsystem. --- ## Overview @@ -342,7 +341,7 @@ Update UI ### applications.json Structure -```json {filename="config/applications.json"} +```json title="config/applications.json" { "WPFInstall": { "category": "Browsers", @@ -365,7 +364,7 @@ Update UI ### tweaks.json Structure -```json {filename="config/tweaks.json"} +```json title="config/tweaks.json" { "WPFTweaksTelemetry": { "Content": "Disable Telemetry", @@ -504,7 +503,7 @@ $sync.form.Dispatcher.Invoke([action]{ ### Adding a New Application 1. Edit `config/applications.json`: -```json {filename="config/applications.json"} +```json title="config/applications.json" { "WPFInstallNewApp": { "category": "Utilities", @@ -522,7 +521,7 @@ $sync.form.Dispatcher.Invoke([action]{ ### Adding a New Tweak 1. Edit `config/tweaks.json`: -```json {filename="config/tweaks.json"} +```json title="config/tweaks.json" { "WPFTweaksNewTweak": { "Content": "New Tweak", @@ -654,10 +653,10 @@ Outputs `winutil.ps1` in the root directory. ## Related Documentation -- [Contributing Guide](../../contributing/) - How to contribute code -- [User Guide](../../userguide/) - End-user documentation -- [Win11 Creator Guide](../../userguide/win11creator/) - Building customized Windows 11 ISOs -- [FAQ](../../faq/) - Common questions +- [Contributing Guide](/contributing/) - How to contribute code +- [User Guide](/guides/) - End-user documentation +- [Win11 Creator Guide](/guides/win11creator/) - Building customized Windows 11 ISOs +- [FAQ](/faq/) - Common questions ## Additional Resources diff --git a/docs/content/CONTRIBUTING.md b/docs/src/content/docs/contributing.mdx similarity index 76% rename from docs/content/CONTRIBUTING.md rename to docs/src/content/docs/contributing.mdx index bb44f8c3..c3a254df 100644 --- a/docs/content/CONTRIBUTING.md +++ b/docs/src/content/docs/contributing.mdx @@ -1,9 +1,8 @@ --- -toc: true +title: Contributing +description: How to test, report issues, and contribute code to WinUtil. --- -# How to Contribute? - ## Testing * Test the latest changes to WinUtil by running the pre-release and reporting issues you are encountering to help us continually improve WinUtil! @@ -14,8 +13,9 @@ toc: true irm https://christitus.com/windev | iex ``` -> [!IMPORTANT] -> **Keep in mind** That this is a pre-release and should be treated as such. It exists for developers to test the utility and report or fix bugs before they get added to the stable release. Don't use it in production! +:::caution +**Keep in mind** That this is a pre-release and should be treated as such. It exists for developers to test the utility and report or fix bugs before they get added to the stable release. Don't use it in production! +::: ## Issues @@ -27,19 +27,21 @@ irm https://christitus.com/windev | iex * If you're doing code changes, then you can submit a PR to the `main` branch. -> [!IMPORTANT] -> Do not use a code formatter, make massive amounts of line changes, or make multiple feature changes. EACH FEATURE CHANGE SHOULD BE IT'S OWN PULL REQUEST! +:::caution +Do not use a code formatter, make massive amounts of line changes, or make multiple feature changes. EACH FEATURE CHANGE SHOULD BE IT'S OWN PULL REQUEST! +::: -> [!IMPORTANT] -> Do not open a pull request that adds support for other languages to WinUtil for now, until we decide how we want to move forward with language support. +:::caution +Do not open a pull request that adds support for other languages to WinUtil for now, until we decide how we want to move forward with language support. +::: * When creating pull requests, it is essential to thoroughly document all changes made. This includes, but is not limited to, documenting any additions made to the `tweaks` section and corresponding `undo tweak`, so users are able to remove the newly added tweaks if necessary, and comprehensive documentation is required for all code changes. Document your changes and briefly explain why you made your changes in your Pull Request Description. Failure to adhere to this format may result in the denial of the pull request. Additionally, any code lacking sufficient documentation may also be denied. * By following these guidelines, we can maintain a high standard of quality and ensure that the codebase remains organized and well-documented. -> [!NOTE] -> -> When creating a function, please include "WPF" or "WinUtil" in the file name so it can be loaded into the runspace. +:::note +When creating a function, please include "WPF" or "WinUtil" in the file name so it can be loaded into the runspace. +::: ## Walk through @@ -68,23 +70,23 @@ graph TD classDef default stroke:#333,stroke-width:4px,font-size:12pt; ``` -> [!NOTE] -> -> This is a diagram to guide you through the process. It may vary depending on the type of change you're making. +:::note +This is a diagram to guide you through the process. It may vary depending on the type of change you're making. +::: ### Fork the Repo * Fork the WinUtil Repository [here](https://github.com/ChrisTitusTech/winutil) to create a copy that will be available in your repository list. -{{< image src="images/Fork-Button" alt="Fork Image" >}} +![Fork Image](../../assets/contributing/Fork-Button-Dark.png) ### Clone the Fork -> [!TIP] -> -> While you can make your changes directly through the Web, we recommend cloning the repo to your device using the application GitHub Desktop (available in WinUtil) to test your fork easily. +:::tip +While you can make your changes directly through the Web, we recommend cloning the repo to your device using the application GitHub Desktop (available in WinUtil) to test your fork easily. +::: * Install GitHub Desktop if it is not already installed. * Log in using the same GitHub account you used to fork WinUtil. -* Choose the fork under "Your Repositories" and press "clone {repo name}" +* Choose the fork under "Your Repositories" and press "clone `{repo name}`" * Create a new branch and name it something relatable to your changes. * Now you can modify WinUtil to your liking using your preferred text editor. @@ -99,22 +101,22 @@ graph TD * Run the following command to compile and run WinUtil: * `.\Compile.ps1 -run` -{{< image src="images/Complie" alt="Compile" >}} +![Compile](../../assets/contributing/Complie.png) * After seeing that your changes work properly, feel free to commit the changes to the repository and make a PR. For help on that, follow the documentation below. ### Committing the changes * Before committing your changes, please discard changes made to the `winutil.ps1` file, like the following: -{{< image src="images/Discard-GHD" alt="Push Commit Image" >}} +![Push Commit Image](../../assets/contributing/Discard-GHD.png) * Now, commit your changes once you are happy with the result. -{{< image src="images/Commit-GHD" alt="Commit Image" >}} +![Commit Image](../../assets/contributing/Commit-GHD.png) * Push the changes to upload them to your fork on github.com. -{{< image src="images/Push-Commit" alt="Push Commit Image" >}} +![Push Commit Image](../../assets/contributing/Push-Commit.png) ### Making a PR * To make a PR on your repo under a new branch linking to the main branch, a button will show and say Preview and Create pull request. Click that button and fill in all the information that is provided on the template. Once all the information is filled in correctly, check your PR to make sure there is no WinUtil.ps1 file attached to the PR. Once everything is good, make the PR and wait for Chris (the maintainer) to accept or deny your PR. Once it is accepted by Chris, you will be able to see your changes in the "/windev" build. diff --git a/docs/content/faq.md b/docs/src/content/docs/faq.mdx similarity index 77% rename from docs/content/faq.md rename to docs/src/content/docs/faq.mdx index ec2c8b94..cd8aef9f 100644 --- a/docs/content/faq.md +++ b/docs/src/content/docs/faq.mdx @@ -1,68 +1,81 @@ --- title: Frequently Asked Questions -toc: true +description: Common questions about installing, running, and troubleshooting WinUtil. --- -## General Questions +## General questions ### Is Windows 10 still supported? -No. Windows 10 is no longer supported by WinUtil because it reached the end of support on **October 14, 2025**. -WinUtil is focused on Windows 11. + +No. Windows 10 is no longer supported by WinUtil because it reached the end of support on **October 14, 2025**. WinUtil is focused on Windows 11. ### How do I uninstall WinUtil? + You do not need to uninstall WinUtil. Because it runs as a PowerShell script, it is loaded into memory only while it is open. Once you close it, it is removed from memory and does not remain installed on your system. ### Is WinUtil safe to use? + Yes, WinUtil is open source, and the code is publicly available on GitHub. Thousands of users run it daily. However, like any system modification tool, you should: + - Run it as Administrator (required) - Create a restore point before major changes - Understand what tweaks you're applying -- Run only from [official source](https://github.com/ChrisTitusTech/winutil/) +- Run only from the [official source](https://github.com/ChrisTitusTech/winutil/) ### Do I need to keep running WinUtil? + No. Once you've applied tweaks or installed applications, you can close WinUtil. Changes persist after closing. You only need to run WinUtil again when you want to make additional changes or undo tweaks. -### Does Winutil require internet access? -- **For downloading**: Yes, installing applications requires the Internet +### Does WinUtil require internet access? + +- **For downloading**: Yes, installing applications requires the internet - **For tweaks**: No, most tweaks work offline - **Initial run**: Yes, to run the latest script ### How often is WinUtil updated? + WinUtil is actively maintained with frequent updates. New features, bug fixes, and application additions are released regularly. The script auto-downloads the latest version each time you run it. -## Installation & Running +## Installation & running ### How do I run WinUtil? + 1. Open PowerShell as Administrator 2. Run: `irm "https://christitus.com/win" | iex` 3. Wait for the GUI to appear ### Why do I need Administrator rights? + WinUtil makes system-level changes (registry edits, service modifications, software installation) that require elevated permissions. Without admin rights, most features won't work. ### The script won't download. What do I do? + Try these solutions in order: 1. **Use the direct GitHub link**: + ```powershell irm https://github.com/ChrisTitusTech/winutil/releases/latest/download/Winutil.ps1 | iex ``` 2. **Force TLS 1.2**: + ```powershell [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 irm "https://christitus.com/win" | iex ``` - > [!NOTE] - > On Windows 11, you usually do not need the TLS 1.2 command. Use it only if you encounter download or security protocol errors. + :::note + On Windows 11, you usually do not need the TLS 1.2 command. Use it only if you encounter download or security protocol errors. + ::: 3. **Change DNS** to Cloudflare (1.1.1.1) or Google (8.8.8.8) - 4. **Use a VPN** if GitHub is blocked in your region ### I get an "Execution Policy" error. How do I fix it? + Run this command first to allow script execution: + ```powershell Set-ExecutionPolicy Unrestricted -Scope Process -Force irm "https://christitus.com/win" | iex @@ -70,11 +83,13 @@ irm "https://christitus.com/win" | iex This only affects the current PowerShell session and is safe. -## Tweaks & Modifications +## Tweaks & modifications ### I applied a tweak and now something doesn't work. What do I do? + If you applied a tweak and it breaks something, you can revert it: -1. Open Winutil again + +1. Open WinUtil again 2. Go to the **Tweaks** tab 3. Select the same tweak you applied 4. Click **Undo Selected Tweaks** @@ -83,7 +98,9 @@ If you applied a tweak and it breaks something, you can revert it: Alternatively, use System Restore if you created a restore point. ### Which tweaks are safe to apply? + **Safe for everyone (Essential Tweaks)**: + - Disable Telemetry - Disable Activity History - Disable Location Tracking @@ -91,27 +108,33 @@ Alternatively, use System Restore if you created a restore point. - Run Disk Cleanup - Create Restore Point -**(Advanced Tweaks)** should only be run by advanced users. +**Advanced Tweaks** should only be run by advanced users. ### Will tweaks survive Windows Updates? + Most tweaks persist through updates, but some may be reset by major Windows feature updates. You may need to reapply certain tweaks afterwards. ### Can I create my own tweak presets? -Currently, Winutil uses predefined presets (Standard, Minimal). Custom presets aren't directly supported in the GUI, but you can script your preferred configuration. + +Currently, WinUtil uses predefined presets (Standard, Minimal). Custom presets aren't directly supported in the GUI, but you can script your preferred configuration. ### What's the difference between Essential and Advanced tweaks? + - **Essential Tweaks**: Safe for most users, improve performance/privacy with minimal risk - **Advanced Tweaks**: More aggressive changes that may break functionality or compatibility. Use with caution. -## Application Installation +## Application installation -### How does Winutil install applications? -Winutil uses Windows Package Manager (WinGet) and Chocolatey to automate installations. It downloads applications from official sources and installs them silently without bloatware. +### How does WinUtil install applications? + +WinUtil uses Windows Package Manager (WinGet) and Chocolatey to automate installations. It downloads applications from official sources and installs them silently without bloatware. ### Can I install multiple applications at once? + Yes! Check the boxes for all applications you want, then click "Install Selected". They'll install sequentially. ### WinGet isn't working. How do I fix it? + 1. Go to the **Config** tab 2. Find the **Fixes** section 3. Click **WinGet Reinstall** @@ -119,49 +142,62 @@ Yes! Check the boxes for all applications you want, then click "Install Selected 5. Try installing applications again ### Do installed applications have bloatware or bundled software? + No. WinGet and Chocolatey install clean versions of applications without bundled offers, toolbars, or bloatware. -### Can I uninstall applications through Winutil? -Winutil primarily focuses on installing and managing applications rather than providing a full GUI for uninstalling every program. To remove applications you can: +### Can I uninstall applications through WinUtil? + +WinUtil primarily focuses on installing and managing applications rather than providing a full GUI for uninstalling every program. To remove applications you can: + - Use Windows Settings > Apps > Installed apps to uninstall programs. - Use package manager commands in PowerShell (for example `winget uninstall ` or `choco uninstall `). -- Some packages installed by Winutil (AppX/MSIX) include removal helpers; check the app entry or use Winutil's remove helpers when available. +- Some packages installed by WinUtil (AppX/MSIX) include removal helpers; check the app entry or use WinUtil's remove helpers when available. ### Will installed apps auto-update? -Applications with built-in update mechanisms will auto-update. You can also update them via WinGet/Chocolatey commands or through Winutil's "Upgrade Selected" feature. -## Updates & Maintenance +Applications with built-in update mechanisms will auto-update. You can also update them via WinGet/Chocolatey commands or through WinUtil's "Upgrade Selected" feature. + +## Updates & maintenance ### Should I disable Windows Updates? + Generally, **no**. Security updates are important. However, you might: + - Use "Security Updates Only" to avoid feature updates - Pause updates temporarily for stability - Disable only during critical work periods ### How do I re-enable updates after disabling them? -1. Open Winutil + +1. Open WinUtil 2. Go to the **Updates** tab 3. Click **Default Updates** 4. Updates will resume normally ### What's the difference between "Security Updates Only" and "Disable Updates"? + - **Security Updates Only**: Installs critical security patches, blocks feature updates (major versions) - **Disable Updates**: Blocks ALL updates including security (not recommended) ## Troubleshooting -### Winutil won't open after running the command +### WinUtil won't open after running the command + Possible causes: + 1. **Antivirus blocking**: Add PowerShell exception 2. **Not run as Admin**: Restart PowerShell as Administrator 3. **Corrupted download**: Close PowerShell, reopen, try again 4. **Windows Defender**: Allow the script -### My antivirus flags Winutil as malicious -This is a false positive. Winutil makes system changes that antivirus programs may flag. The code is open source and audited. Add an exception if needed. +### My antivirus flags WinUtil as malicious + +This is a false positive. WinUtil makes system changes that antivirus programs may flag. The code is open source and audited. Add an exception if needed. ### An application failed to install + Troubleshooting steps: + 1. Check your internet connection 2. Try installing just that one application 3. Review error messages in the output panel @@ -169,40 +205,50 @@ Troubleshooting steps: 5. Try the WinGet Reinstall fix ### Network tweaks broke my internet connection -1. Open Winutil + +1. Open WinUtil 2. Go to **Config** > **Fixes** 3. Click **Reset Network** 4. Restart your computer 5. Connection should be restored ### I can't access certain Windows features after applying tweaks + Undo the tweaks that might have affected those features: -1. Reopen Winutil + +1. Reopen WinUtil 2. Select the tweaks you applied 3. Click **Undo Selected Tweaks** If that doesn't work, use System Restore to revert to a previous state. -## Advanced Topics +## Advanced topics -### Can I run Winutil on Windows Server? -Yes, Winutil works on Windows Server editions, though some features may not be applicable or may behave differently. +### Can I run WinUtil on Windows Server? -### Does Winutil work with Windows LTSC? -Yes, Winutil works with Windows 10/11 LTSC editions. Some applications may not be available depending on your configuration. +Yes, WinUtil works on Windows Server editions, though some features may not be applicable or may behave differently. + +### Does WinUtil work with Windows LTSC? + +Yes, WinUtil works with Windows 10/11 LTSC editions. Some applications may not be available depending on your configuration. + +### Can I use WinUtil in a corporate/enterprise environment? -### Can I use Winutil in a corporate/enterprise environment? Yes, but check your organization's policies first. Some tweaks may conflict with Group Policy or other corporate requirements. -### How do I automate Winutil for multiple PCs? -See the [Automation Guide](/userguide/automation/) for details on: +### How do I automate WinUtil for multiple PCs? + +See the [Automation Guide](/guides/automation/) for details on: + - Configuration files - PowerShell parameters - Batch deployment - Silent installation -### Can I contribute to Winutil? +### Can I contribute to WinUtil? + Yes! Contributions are welcome: + - Report bugs on GitHub Issues - Submit pull requests for fixes/features - Improve documentation @@ -210,13 +256,16 @@ Yes! Contributions are welcome: See the [Contributing Guide](/contributing/) for details. -## Privacy & Security +## Privacy & security -### Does Winutil collect any data? -No, Winutil itself doesn't collect or transmit any user data. It's a local PowerShell script. +### Does WinUtil collect any data? + +No, WinUtil itself doesn't collect or transmit any user data. It's a local PowerShell script. ### What telemetry does the Disable Telemetry tweak block? + It disables: + - Windows diagnostic data collection - Activity history tracking - Feedback requests @@ -224,12 +273,15 @@ It disables: - Error reporting (optional) ### Will removing Microsoft Store affect security updates? + No, Windows security updates are independent of the Microsoft Store. ## Performance -### Will Winutil make my PC faster? +### Will WinUtil make my PC faster? + Tweaks can improve performance by: + - Reducing background processes - Disabling unnecessary services - Cleaning temporary files @@ -238,29 +290,32 @@ Tweaks can improve performance by: Results may vary depending on your system. ### What's the best preset for gaming? + Use the **Desktop** preset, then additionally apply: + - Disable GameDVR - Ultimate Performance power plan - Disable full-screen optimizations (Advanced) - Set display for performance (Advanced) -### How much RAM does Winutil use? -Winutil itself uses about 50-100 MB while running. Once closed, it is removed from memory. +### How much RAM does WinUtil use? -## Error Messages +WinUtil itself uses about 50-100 MB while running. Once closed, it is removed from memory. + +## Error messages ### "Access Denied" errors + - Ensure PowerShell is running as Administrator - Check if the antivirus is blocking changes - Verify you have ownership of files/registry keys - -## Still Need Help? +## Still need help? Can't find your answer? Try these resources: -- **[Known Issues](/knownissues/)** - Check if it's a known problem -- **[User Guide](/userguide/)** - Comprehensive documentation -- **[Discord Community](https://discord.gg/RUbZUZyByQ)** - Get help from other users -- **[GitHub Issues](https://github.com/ChrisTitusTech/winutil/issues)** - Report bugs -- **[YouTube Tutorial](https://www.youtube.com/watch?v=6UQZ5oQg8XA)** - Video walkthrough +- **[Known Issues](/known-issues/)** β€” Check if it's a known problem +- **[User Guide](/guides/getting-started/)** β€” Comprehensive documentation +- **[Discord Community](https://discord.gg/RUbZUZyByQ)** β€” Get help from other users +- **[GitHub Issues](https://github.com/ChrisTitusTech/winutil/issues)** β€” Report bugs +- **[YouTube Tutorial](https://www.youtube.com/watch?v=6UQZ5oQg8XA)** β€” Video walkthrough diff --git a/docs/src/content/docs/guides/application.mdx b/docs/src/content/docs/guides/application.mdx new file mode 100644 index 00000000..58a78196 --- /dev/null +++ b/docs/src/content/docs/guides/application.mdx @@ -0,0 +1,57 @@ +--- +title: Applications +description: Use the Applications tab in WinUtil to install, upgrade, uninstall, and review supported apps. +sidebar: + order: 2 +--- + +import { Tabs, TabItem } from '@astrojs/starlight/components'; + +Use the Applications tab to install, upgrade, uninstall, and review supported apps from one place. WinUtil relies on package manager support for these actions, so the available results depend on what WinGet can detect and manage on your system. + + + +* Choose the applications you want to install or upgrade. + * For programs not currently installed, this action will install them. + * For programs already installed, this action will update them to the latest version. +* Click the `Install/Upgrade Selected` button to start the installation or upgrade process. + +![Install or upgrade selected applications](../../../assets/screenshots/install-pics/installation.png) + + +* Simply press the `Upgrade All` button. +* This upgrades every supported installed program without individual selection. + +![Upgrade all applications](../../../assets/screenshots/install-pics/install-apps.png) + + +* Select the programs you wish to uninstall. +* Click the `Uninstall Selected` button to remove them. + +![Uninstall selected applications](../../../assets/screenshots/install-pics/uninstall-apps.png) + + +* Click the `Show Installed Apps` button. +* This scans for and selects installed applications supported by WinGet. + +![Show installed apps](../../../assets/screenshots/install-pics/show-installed-apps.png) + + +* Click the `Clear Selection` button. +* This clears all current selections. + +![Clear app selections](../../../assets/screenshots/install-pics/clear-selection-apps.png) + + + +:::tip +If you have trouble finding an application, press `Ctrl + F` and search for its name. The list filters as you type. +::: + +:::note +`Show Installed Apps` only selects software that WinGet can identify. Apps installed outside supported package sources may not appear. +::: + +:::caution +Before uninstalling or upgrading apps, close any running programs first. Some packages may still prompt for input or fail if their source is unavailable. +::: diff --git a/docs/content/userguide/automation/_index.md b/docs/src/content/docs/guides/automation.mdx similarity index 80% rename from docs/content/userguide/automation/_index.md rename to docs/src/content/docs/guides/automation.mdx index 61c22ecc..f44efae9 100644 --- a/docs/content/userguide/automation/_index.md +++ b/docs/src/content/docs/guides/automation.mdx @@ -1,8 +1,8 @@ --- title: Automation -weight: 7 -prev: /userguide/updates/ -next: /userguide/win11creator/ +description: Run WinUtil from an exported configuration file or a preset to automate setups across multiple PCs. +sidebar: + order: 6 --- Use Automation to run WinUtil from an exported configuration file. @@ -40,5 +40,6 @@ This is useful for: - Reusing a known-good baseline after reinstalling Windows - Standardizing deployments for labs, workstations, or personal setups -> [!NOTE] -> Run the command in an elevated PowerShell session so WinUtil can apply system-level changes. +:::note +Run the command in an elevated PowerShell session so WinUtil can apply system-level changes. +::: diff --git a/docs/content/userguide/features/_index.md b/docs/src/content/docs/guides/features.mdx similarity index 87% rename from docs/content/userguide/features/_index.md rename to docs/src/content/docs/guides/features.mdx index 0c4e3e5d..ca5a76b8 100644 --- a/docs/content/userguide/features/_index.md +++ b/docs/src/content/docs/guides/features.mdx @@ -1,15 +1,15 @@ --- title: Features -weight: 5 -prev: /userguide/tweaks/ -next: /userguide/updates/ +description: Install optional Windows components and run common repair tasks from the Features and Fixes sections. +sidebar: + order: 4 --- Use the **Features** and **Fixes** sections to install optional Windows components and run common repair tasks. This page maps to the **Config** tab in WinUtil. Some actions complete immediately, while others may prompt, download files from Microsoft, or require a restart before the change is fully available. -{{< image src="images/config-tab-new" alt="Config tab with features and fixes" >}} +![Config tab with features and fixes](../../../assets/screenshots/config-tab-new.png) ## Windows Features diff --git a/docs/src/content/docs/guides/getting-started.mdx b/docs/src/content/docs/guides/getting-started.mdx new file mode 100644 index 00000000..dcffba8f --- /dev/null +++ b/docs/src/content/docs/guides/getting-started.mdx @@ -0,0 +1,259 @@ +--- +title: Getting Started +description: The safest way to get started with WinUtil and the first actions most users take. +sidebar: + order: 1 +--- + +## Welcome to WinUtil! + +WinUtil helps you install apps, apply system tweaks, run common fixes, and manage Windows settings from one place. This guide covers the safest way to get started and the first actions most users take. + +## System requirements + +Before running WinUtil, ensure your system meets these requirements: + +:::caution +Windows 10 is not supported by WinUtil. Windows 10 reached the end of support on **October 14, 2025**. +::: + +- **Operating system**: Windows 11 +- **PowerShell**: Version 5.1 or later (included by default in Windows 11) +- **Administrator access**: Required for system-level changes +- **Internet connection**: Required for downloading applications and updates +- **.NET Framework**: Version 4.5 or later (usually pre-installed) + +## Installation + +WinUtil doesn't require traditional installation. It runs directly from PowerShell as a script. + +### Step 1: Open PowerShell as Administrator + +There are several ways to open PowerShell with admin rights: + +**Method 1: Start menu (recommended)** + +1. Right-click the Windows Start button. +2. Select "Terminal (Admin)". + +**Method 2: Search method** + +1. Press the `Windows` key. +2. Type "PowerShell" or "Terminal". +3. Press `Ctrl + Shift + Enter` to launch as administrator. +4. Or right-click and select "Run as administrator". + +**Method 3: Run dialog** + +1. Press `Windows + R`. +2. Type `powershell`. +3. Press `Ctrl + Shift + Enter`. + +### Step 2: Run the launch command + +With PowerShell running as Administrator, run one of the following commands depending on the release channel you want. + +**Stable release (recommended)** + +```powershell +irm "https://christitus.com/win" | iex +``` + +**Development branch (bleeding edge β€” for testing only)** + +```powershell +irm "https://christitus.com/windev" | iex +``` + +:::note +- The `irm` command downloads the script, and `iex` executes it. This is safe when downloading from the official source. +- The development branch may contain experimental changes and should only be used for testing on non-production systems. +::: + +### Step 3: Wait for WinUtil to load + +The first time you run WinUtil, it may take a few moments to: + +- Download the latest version +- Initialize the interface +- Load all features and settings + +## First time setup + +### Understanding the interface + +WinUtil opens with a clean, tabbed interface: + +**Main tabs**: + +- **Install**: Browse and install applications +- **Tweaks**: Apply system optimizations and customizations +- **Config**: Access system tools and utilities +- **Updates**: Manage Windows updates +- **Win11 Creator**: Build a customized Windows 11 ISO from an official Microsoft image + +## Your first actions + +Here are some recommended first steps for new users: + +### 1. Create a restore point + +Before making any changes, create a system restore point: + +1. Go to the **Tweaks** tab. +2. Find "Create Restore Point" under Essential Tweaks. +3. Check the box and click **Run Tweaks**. + +This gives you a rollback point if needed. + +### 2. Install essential applications + +1. Navigate to the **Install** tab. +2. Browse categories or use the search bar. +3. Check the applications you want to install. +4. Click "Install/Upgrade Selected" at the bottom. + +### 3. Apply basic tweaks + +For a better Windows experience with minimal risk: + +1. Go to the **Tweaks** tab. +2. Select the **Standard** preset for a balanced configuration. +3. Review the selected tweaks. +4. Click **Run Tweaks**. + +:::note +Some tweaks, fixes, and update changes may require a restart or sign-out before the full effect is visible. +::: + +## Common tasks + +### Installing applications + +**Single application**: + +1. Open the **Install** tab. +2. Search for the application name. +3. Check the box next to it. +4. Click "Install/Upgrade Selected". + +**Multiple applications**: + +1. Check multiple application boxes. +2. All checked apps will install in sequence. +3. Install and uninstall progress is shown in the window-level bottom panel, including the current package or package-manager batch and overall completion. + +### Applying tweaks + +**Essential tweaks** (safe for all users): + +1. Go to the **Tweaks** tab. +2. Select from the Essential Tweaks section. +3. Click **Run Tweaks**. + +**Advanced tweaks** (use with caution): + +1. Only modify if you understand the implications. +2. Always create a restore point first. +3. Review documentation for each tweak. + +**Undoing tweaks**: + +1. Select the same tweaks you applied. +2. Click **Undo Selected Tweaks**. +3. The system reverts to the previous state. + +### Using quick fixes + +For common Windows issues: + +1. Go to the **Config** tab. +2. Navigate to the **Fixes** section. +3. Select the appropriate fix: + - **Reset Network**: Fixes network connectivity issues + - **Reset Windows Update**: Resolves update problems + - **System Corruption Scan**: Repairs corrupted system files + - **WinGet Reinstall**: Fixes package manager issues + +### Changing DNS servers + +For improved privacy and speed: + +1. Go to the **Tweaks** tab. +2. Find the DNS section. +3. Select a provider: + - **Cloudflare**: Fast and privacy-focused + - **Google**: Reliable and widely used + - **Quad9**: Security-focused with malware blocking + - **AdGuard**: Blocks ads and trackers +4. Click **Apply**. + +## Understanding presets + +WinUtil offers several preset configurations: + +- **Minimal**: Minimal changes that keep most Windows features +- **Standard**: A good middle ground for most users +- **Advanced**: Selects a focused set of safer advanced tweaks + +## Safety tips + +βœ… **Do**: + +- Create restore points before major changes +- Read tweak descriptions before applying +- Start with Essential Tweaks +- Keep Windows up to date +- Back up important data + +❌ **Don't**: + +- Apply all tweaks at once without understanding them +- Skip creating restore points +- Use Advanced Tweaks without research +- Disable security features unless necessary +- Run on production systems without testing + +## Troubleshooting first run + +### Script won't download + +If the launch command fails: + +- Make sure PowerShell or Terminal is running as Administrator. +- Confirm the PC has internet access and can reach `christitus.com`. +- Retry from a normal PowerShell session rather than a restricted enterprise shell profile. +- If the command starts and then closes immediately, reopen Terminal as Administrator and run it again so you can read the error output. + +If it still fails, check the [Known Issues](/known-issues/) page. + +## Next steps + +Now that you're set up, explore these guides: + +- [Applications Guide](/guides/application/) β€” Learn about installing, upgrading, and uninstalling software +- [Tweaks Guide](/guides/tweaks/) β€” Understand system optimizations +- [FAQ](/faq/) β€” Common questions and answers + +## Getting help + +If you need assistance: + +- **Documentation**: Browse this documentation site +- **Known Issues**: Check the [Known Issues](/known-issues/) page +- **Discord**: Join the [community Discord server](https://discord.gg/RUbZUZyByQ) +- **GitHub Issues**: Report bugs on [GitHub](https://github.com/ChrisTitusTech/winutil/issues) +- **YouTube**: Watch [video tutorials](https://www.youtube.com/watch?v=6UQZ5oQg8XA) + +## Quick reference card + +| Task | Location | Action | +| ---- | -------- | ------ | +| Install or upgrade apps | Install tab | Check boxes β†’ Install/Upgrade Selected | +| Uninstall apps | Install tab | Check boxes β†’ Uninstall Selected | +| Apply tweaks | Tweaks tab | Select tweaks β†’ Run Tweaks | +| Undo tweaks | Tweaks tab | Select tweaks β†’ Undo Selected Tweaks | +| Create restore point | Tweaks tab | Essential Tweaks section | +| Fix network | Config tab | Fixes β†’ Reset Network | +| Change DNS | Tweaks tab | DNS section | +| Open Control Panel | Config tab | Legacy Windows Panels | diff --git a/docs/content/userguide/_index.md b/docs/src/content/docs/guides/index.mdx similarity index 68% rename from docs/content/userguide/_index.md rename to docs/src/content/docs/guides/index.mdx index ba92676e..bb64f4b7 100644 --- a/docs/content/userguide/_index.md +++ b/docs/src/content/docs/guides/index.mdx @@ -1,18 +1,15 @@ --- title: User Guide -weight: 2 -breadcrumbs: false -cascade: - type: docs - params: - reversePagination: false - breadcrumbs: false +description: Overview of the WinUtil User Guide β€” installing apps, applying tweaks, running fixes, and managing updates. +sidebar: + order: 0 --- Welcome to the official User Guide for **Winutil**, your all-in-one Windows toolkit. -> [!IMPORTANT] -> Windows 10 is not supported by Winutil. Windows 10 reached the end of support on **October 14, 2025**. +:::caution +Windows 10 is not supported by Winutil. Windows 10 reached the end of support on **October 14, 2025**. +::: ## What is Winutil? @@ -39,13 +36,13 @@ Winutil is designed for: New to Winutil? Follow the guides below in order to get up and running quickly: -1. **[Getting Started](getting-started/)** - Learn how to launch Winutil and understand the basics. -2. **[Applications](application/)** - Install, update, and remove apps with ease. -3. **[Tweaks](tweaks/)** - Apply performance, privacy, and usability improvements. -4. **[Features](features/)** - Explore built-in tools and common Windows fixes. -5. **[Updates](updates/)** - Configure how Windows Update behaves on your system. -6. **[Automation](automation/)** - Automate setups and reuse configurations across PCs. -7. **[Win11 Creator](win11creator/)** - Build a custom debloated Windows 11 ISO. +1. **[Getting Started](/guides/getting-started/)** - Learn how to launch Winutil and understand the basics. +2. **[Applications](/guides/application/)** - Install, update, and remove apps with ease. +3. **[Tweaks](/guides/tweaks/)** - Apply performance, privacy, and usability improvements. +4. **[Features](/guides/features/)** - Explore built-in tools and common Windows fixes. +5. **[Updates](/guides/updates/)** - Configure how Windows Update behaves on your system. +6. **[Automation](/guides/automation/)** - Automate setups and reuse configurations across PCs. +7. **[Win11 Creator](/guides/win11creator/)** - Build a custom debloated Windows 11 ISO. ## Main Features @@ -53,13 +50,13 @@ New to Winutil? Follow the guides below in order to get up and running quickly: Browse and install hundreds of popular applications with a single click. No more hunting for download links or dealing with installer bloat. -**[Read the Applications Guide β†’](application/)** +**[Read the Applications Guide β†’](/guides/application/)** ### System Tweaks Apply optimizations for performance, privacy, and usability. Choose from preset configurations or customize individual tweaks. -**[Read the Tweaks Guide β†’](tweaks/)** +**[Read the Tweaks Guide β†’](/guides/tweaks/)** ### Config & Fixes @@ -69,7 +66,7 @@ Quick fixes for common Windows problems: - Repair system files - Access legacy Windows panels -**[Read the Features Guide β†’](features/)** +**[Read the Features Guide β†’](/guides/features/)** ### Update Management @@ -79,7 +76,7 @@ Take control of Windows Updates with options to: - Pause updates - Manage driver updates -**[Read the Updates Guide β†’](updates/)** +**[Read the Updates Guide β†’](/guides/updates/)** ### Automation @@ -89,13 +86,13 @@ Automate Winutil configurations for: - Consistent configurations - Scripted installations -**[Read the Automation Guide β†’](automation/)** +**[Read the Automation Guide β†’](/guides/automation/)** ### Windows 11 Creator Build a custom Windows 11 ISO with bloatware removed, telemetry disabled, and hardware requirement checks bypassed. You can then export it as an ISO file or write it directly to a USB drive. -**[Read the Win11 Creator Guide β†’](win11creator/)** +**[Read the Win11 Creator Guide β†’](/guides/win11creator/)** ## Safety and Best Practices @@ -127,8 +124,8 @@ Before using Winutil: Need help? - **Documentation**: You're reading it. Use the navigation menu. -- **FAQ**: Check [Frequently Asked Questions](../faq/) -- **Known Issues**: Review [Known Issues](../knownissues/) +- **FAQ**: Check [Frequently Asked Questions](/faq/) +- **Known Issues**: Review [Known Issues](/known-issues/) - **Discord**: Join the [community Discord](https://discord.gg/RUbZUZyByQ) - **GitHub**: Report bugs on [GitHub Issues](https://github.com/ChrisTitusTech/winutil/issues) - **YouTube**: Watch [video tutorials](https://www.youtube.com/watch?v=6UQZ5oQg8XA) @@ -143,20 +140,16 @@ Want to help improve Winutil? - **Improve Docs**: Help expand this documentation - **Share Knowledge**: Help others in Discord -**[Read Contributing Guide β†’](../contributing/)** +**[Read Contributing Guide β†’](/contributing/)** ## Video Tutorial -Watch the complete WinUtil overview: +Watch the complete WinUtil overview: [https://www.youtube.com/watch?v=6UQZ5oQg8XA](https://www.youtube.com/watch?v=6UQZ5oQg8XA) -{{< youtube id=6UQZ5oQg8XA loading=lazy >}} - -Ready to get started? Head to the **[Getting Started Guide](getting-started/)**. +Ready to get started? Head to the **[Getting Started Guide](/guides/getting-started/)**. ## Next Dive right into the following section to get started: -{{< cards >}} - {{< card link="getting-started" title="Getting Started" icon="document-text" subtitle="Learn how to use WinUtil." >}} -{{< /cards >}} +**[Getting Started](/guides/getting-started/)** β€” Learn how to use WinUtil. diff --git a/docs/content/userguide/tweaks/_index.md b/docs/src/content/docs/guides/tweaks.mdx similarity index 89% rename from docs/content/userguide/tweaks/_index.md rename to docs/src/content/docs/guides/tweaks.mdx index ef16108b..cd3af0b5 100644 --- a/docs/content/userguide/tweaks/_index.md +++ b/docs/src/content/docs/guides/tweaks.mdx @@ -1,11 +1,11 @@ --- title: Tweaks -weight: 4 -prev: /userguide/application/ -next: /userguide/features/ +description: Apply recommended Windows changes, review optional presets, and adjust supporting settings such as DNS and power plans. +sidebar: + order: 3 --- -{{< image src="images/tweaks-tab-new" alt="Image of Tweaks Tab" >}} +![Image of Tweaks Tab](../../../assets/screenshots/tweaks-tab-new.png) Use the Tweaks tab to apply recommended Windows changes, review optional presets, and adjust a few supporting settings such as DNS and power plans. Start with a preset unless you already know which individual tweaks you want. @@ -23,11 +23,13 @@ Use the quick-selection buttons at the top of the Tweaks tab to speed up setup: * **Select Tweaks**: Choose the tweaks you want to apply. You can use the presets available at the top for convenience. * **Run Tweaks**: After selecting the desired tweaks, click **Run Tweaks** at the bottom of the screen. -> [!NOTE] -> To see what each preset includes, view [preset.json](https://github.com/ChrisTitusTech/winutil/blob/main/config/preset.json). +:::note +To see what each preset includes, view [preset.json](https://github.com/ChrisTitusTech/winutil/blob/main/config/preset.json). +::: -> [!IMPORTANT] -> Some tweaks take effect immediately, while others may require Explorer to restart, a sign-out, or a full reboot. +:::caution +Some tweaks take effect immediately, while others may require Explorer to restart, a sign-out, or a full reboot. +::: ### Undo Tweaks * **Open the Tweaks tab**: Go to the **Tweaks** tab located next to **Install**. @@ -51,8 +53,7 @@ Advanced Tweaks are for users who understand the side effects of deeper Windows ### O&O ShutUp10++ [O&O ShutUp10++](https://www.oo-software.com/en/shutup10) can be launched from WinUtil with one click. It is a free privacy tool for Windows that helps users manage telemetry, update behavior, and app permission settings. -{{< youtube id=3HvNr8eMcv0 loading=lazy >}} - +Watch a walkthrough: [https://www.youtube.com/watch?v=3HvNr8eMcv0](https://www.youtube.com/watch?v=3HvNr8eMcv0) ### DNS diff --git a/docs/content/userguide/updates/_index.md b/docs/src/content/docs/guides/updates.mdx similarity index 94% rename from docs/content/userguide/updates/_index.md rename to docs/src/content/docs/guides/updates.mdx index d8f6e02e..49b06c93 100644 --- a/docs/content/userguide/updates/_index.md +++ b/docs/src/content/docs/guides/updates.mdx @@ -1,8 +1,8 @@ --- title: Updates -weight: 6 -prev: /userguide/features/ -next: /userguide/automation/ +description: Choose how aggressively Windows Update is managed on your system with WinUtil's three update modes. +sidebar: + order: 5 --- WinUtil provides three update modes so you can choose how aggressively Windows Update is managed on your system: diff --git a/docs/content/userguide/win11Creator/_index.md b/docs/src/content/docs/guides/win11creator.mdx similarity index 70% rename from docs/content/userguide/win11Creator/_index.md rename to docs/src/content/docs/guides/win11creator.mdx index e2c81942..7d112a92 100644 --- a/docs/content/userguide/win11Creator/_index.md +++ b/docs/src/content/docs/guides/win11creator.mdx @@ -1,20 +1,25 @@ --- title: Win11 Creator -weight: 8 -prev: /userguide/automation/ +description: Build a custom, debloated Windows 11 ISO from an official Microsoft image using WinUtil's Win11 Creator tool. +sidebar: + order: 7 --- +import { Tabs, TabItem } from '@astrojs/starlight/components'; + ## Using WinUtil's Win11 Creator WinUtil includes a built-in **Win11 Creator** tool that lets you take an official Windows 11 ISO and produce a customized, debloated version. The resulting image can remove telemetry, bypass hardware requirement checks, and enable local account setup out of the box. You can export the result as a new ISO file or write it directly to a USB drive. -{{< image src="images/win11creator-tab-new" alt="Win11 Creator tab in WinUtil" >}} +![Win11 Creator tab in WinUtil](../../../assets/screenshots/win11creator-tab-new.png) -> [!IMPORTANT] -> You need an **official Windows 11 ISO** from [Microsoft's website](https://www.microsoft.com/en-us/software-download/windows11) before starting. Custom, modified, or non-official ISOs are not supported. The process uses ~10–15 GB of temporary disk space, so make sure you have room. +:::caution +You need an **official Windows 11 ISO** from [Microsoft's website](https://www.microsoft.com/en-us/software-download/windows11) before starting. Custom, modified, or non-official ISOs are not supported. The process uses ~10–15 GB of temporary disk space, so make sure you have room. +::: -> [!NOTE] -> This workflow is intended for fresh Windows installs, not in-place upgrades of an existing installation. +:::note +This workflow is intended for fresh Windows installs, not in-place upgrades of an existing installation. +::: --- @@ -32,8 +37,9 @@ WinUtil includes a built-in **Win11 Creator** tool that lets you take an officia 2. WinUtil mounts the ISO, checks for a valid `install.wim` or `install.esd`, and reads the available editions (Home, Pro, Enterprise, etc.). 3. Once verified, select your desired **edition** from the dropdown β€” Pro is selected by default if available. -> [!NOTE] -> This step takes around 10–30 seconds, depending on your drive speed. +:::note +This step takes around 10–30 seconds, depending on your drive speed. +::: --- @@ -76,32 +82,29 @@ A live log shows progress as each step completes. This stage usually takes **10 Once the modification is complete, choose how to save your image: -{{< tabs >}} + + +1. Click **Save as an ISO File**. +2. Choose a save location (defaults to your Desktop as `Win11_Modified_yyyyMMdd.iso`). +3. WinUtil builds a dual BIOS/UEFI bootable ISO using `oscdimg.exe`. - {{< tab name="Save as ISO" selected=true >}} - 1. Click **Save as an ISO File**. - 2. Choose a save location (defaults to your Desktop as `Win11_Modified_yyyyMMdd.iso`). - 3. WinUtil builds a dual BIOS/UEFI bootable ISO using `oscdimg.exe`. +:::note +`oscdimg.exe` (part of the Windows ADK) is required. If it's not found, WinUtil will attempt to install it automatically via WinGet. If that fails, install it manually: `winget install -e --id Microsoft.OSCDIMG` +::: + + +1. Click **Write Directly to a USB Drive**. +2. Select your USB drive from the dropdown (click **Refresh** if it doesn't appear). +3. Click **Erase & Write to USB** and confirm the warning β€” **all data on the drive will be permanently erased**. +4. WinUtil formats the drive as GPT with a 512 MB EFI partition and copies the modified Windows files. - > [!NOTE] - > `oscdimg.exe` (part of the Windows ADK) is required. If it's not found, WinUtil will attempt to install it automatically via WinGet. If that fails, install it manually: `winget install -e --id Microsoft.OSCDIMG` +:::danger +Double-check you have selected the correct drive before confirming. This operation cannot be undone. +::: - - {{< /tab >}} - - {{< tab name="Write to USB" >}} - 1. Click **Write Directly to a USB Drive**. - 2. Select your USB drive from the dropdown (click **Refresh** if it doesn't appear). - 3. Click **Erase & Write to USB** and confirm the warning β€” **all data on the drive will be permanently erased**. - 4. WinUtil formats the drive as GPT with a 512 MB EFI partition and copies the modified Windows files. - - > [!WARNING] - > Double-check you have selected the correct drive before confirming. This operation cannot be undone. - - **Minimum USB size:** 8 GB recommended. Writing takes 10–20 minutes. - {{< /tab >}} - -{{< /tabs >}} +**Minimum USB size:** 8 GB recommended. Writing takes 10–20 minutes. + + --- @@ -142,8 +145,10 @@ When you install Windows 11 from your modified ISO: - Download official Windows 11 media from [Microsoft](https://www.microsoft.com/en-us/software-download/windows11). - If you prefer to write a finished ISO with another tool, common choices include [Rufus](https://rufus.ie/) or [Ventoy](https://www.ventoy.net/). -> [!NOTE] -> Always download Windows ISOs from official Microsoft sources or trusted tools like Rufus/UUP Dump to avoid tampered images. +:::note +Always download Windows ISOs from official Microsoft sources or trusted tools like Rufus/UUP Dump to avoid tampered images. +::: -> [!NOTE] -> Newer Windows 11 ISOs may not boot correctly on older versions of Ventoy β€” make sure Ventoy is up to date before use. If issues persist after updating, this is a Ventoy compatibility limitation outside of WinUtil's control. +:::note +Newer Windows 11 ISOs may not boot correctly on older versions of Ventoy β€” make sure Ventoy is up to date before use. If issues persist after updating, this is a Ventoy compatibility limitation outside of WinUtil's control. +::: diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx new file mode 100644 index 00000000..5213a4ec --- /dev/null +++ b/docs/src/content/docs/index.mdx @@ -0,0 +1,199 @@ +--- +title: Documentation +description: Chris Titus Tech's Windows Utility β€” install apps, apply tweaks, run fixes, and manage Windows from one place. +template: splash +editUrl: false +heroEyebrow: Open Source Windows Setup Utility +heroCaption: Free. Open source. No installer, no telemetry, no bloat. +heroBadges: + - src: https://img.shields.io/github/v/release/ChrisTitusTech/winutil?color=%230567ff&label=Latest%20Release&style=for-the-badge + alt: Latest release + href: https://github.com/ChrisTitusTech/winutil/releases/latest + - src: https://img.shields.io/github/downloads/ChrisTitusTech/winutil/winutil.ps1?label=Total%20Downloads&style=for-the-badge + alt: Total downloads + - src: https://dcbadge.limes.pink/api/server/https://discord.gg/RUbZUZyByQ + alt: Discord community server + href: https://discord.gg/RUbZUZyByQ +hero: + title: Set up Windows the way you actually want it + tagline: Install apps, apply tweaks, run fixes, and manage Windows updates β€” all from one script, one window, no fuss. + image: + file: ../../assets/branding/title-screen.png + actions: + - text: Get Started + link: /guides/getting-started/ + icon: right-arrow + - text: View on GitHub + link: https://github.com/ChrisTitusTech/winutil + icon: external + variant: secondary +--- + +import { Icon, Code } from '@astrojs/starlight/components'; +import CornerCard from '../../components/CornerCard.astro'; + +{/* Trust bar: icon + label chips under the hero. */} +
+
+ Open source + No installer + No telemetry added + Everything reversible + Windows 11 ready +
+
+ +{/* Problem section: pain points WinUtil solves. */} +
+
+
+

Windows setup is easy to start and tedious to finish

+

A fresh install works fine out of the box. Getting it configured the way you actually want takes an afternoon of registry edits, forum posts, and forgotten steps.

+
+
    +
  • Essential apps mean a dozen separate installers, each with its own bundled toolbar to decline.
  • +
  • Privacy and telemetry settings are scattered across half a dozen different settings panels.
  • +
  • The tweaks worth applying live in year-old forum threads, mixed in with outdated or risky advice.
  • +
  • Undoing a tweak means remembering exactly what you changed and how.
  • +
  • Doing it all again on the next machine means starting from zero.
  • +
+
+
+ +{/* Solution grid: how WinUtil addresses each problem above. */} +
+
+
+

WinUtil puts a real control panel on top of Windows

+

Instead of stitching together installers, registry hacks, and forum wisdom, you manage the whole setup from one window.

+
+
+
+
+

Install without the bloat

+

WinGet and Chocolatey install clean builds of your everyday apps, with no bundled toolbars or bundled offers.

+
+
+
+

Tweak with a checkbox

+

Essential and advanced tweaks for privacy, performance, and UI behavior are one click away, grouped by what they actually do.

+
+
+
+

Undo what you don't like

+

Nearly every tweak can be reverted from the same panel, so trying something risky doesn't mean a full reinstall.

+
+
+
+

Fix what's broken

+

One-click repairs for networking, Windows Update, and WinGet handle the fixes people usually paste from a forum thread.

+
+
+
+

Manage updates your way

+

Switch between full updates, security-only updates, or fully paused β€” and back again β€” without digging through Group Policy.

+
+
+
+

Build your own ISO

+

Win11 Creator debloats and preconfigures an official Microsoft image, so new installs start from your baseline.

+
+
+
+
+ +{/* Feature grid: CornerCard highlights. */} +
+
+
+

Everything you need to set up a machine, once

+
+
+ + WinUtil doesn't collect or transmit anything. It's a script that runs, makes the changes you selected, and exits. + + + Tweaks are applied through documented, undoable actions instead of one-way registry edits. + + + Minimal, Standard, and Advanced presets give you a sane starting point instead of picking through every tweak individually. + + + Application installs go through package managers you can audit, not opaque bundled installers. + + + Drive WinUtil unattended with config files and parameters for repeatable rollouts across machines. + + + Debloat and preconfigure a Windows 11 image before it's ever installed. + +
+
+
+ +{/* Step timeline: quick-start walkthrough + secondary CTA. */} +
+
+
+

From a blank terminal to a configured PC

+
+
+
+ 1 +

Open PowerShell as Administrator

+

Right-click the Start button and choose Terminal (Admin), or launch PowerShell and elevate manually.

+
+
+ 2 +

Run the launch command

+

Downloads and starts the latest release.

+ +
+
+ 3 +

Install, tweak, fix, update

+

Work through the Install, Tweaks, Config, and Updates tabs β€” everything is undoable.

+
+
+ +
+
+ +{/* Benefit checklist. */} +
+
+
+

Built for the gap between a fresh install and a finished machine

+

Registry edits and PowerShell one-liners work. WinUtil makes them repeatable.

+
+
    +
  • You keep full control β€” every tweak is visible, documented, and reversible.
  • +
  • You gain a single interface for installs, tweaks, fixes, and updates instead of five different tools.
  • +
  • You avoid the bundled toolbars and bloat that come with most software installers.
  • +
+
+
+ +{/* Final CTA. */} +
+
+

Stop hunting for the same fixes every time

+

Get a script that installs, tweaks, fixes, and updates Windows from one window.

+ +

Free and open source. No installer, no telemetry, no account required.

+
+
diff --git a/docs/content/KnownIssues.md b/docs/src/content/docs/known-issues.mdx similarity index 96% rename from docs/content/KnownIssues.md rename to docs/src/content/docs/known-issues.mdx index 1cbc2c4d..438ff01b 100644 --- a/docs/content/KnownIssues.md +++ b/docs/src/content/docs/known-issues.mdx @@ -1,6 +1,6 @@ --- title: Known Issues -toc: true +description: Known problems with WinUtil and how to work around them. --- ### Download not working diff --git a/docs/src/styles/fonts.css b/docs/src/styles/fonts.css new file mode 100644 index 00000000..5c3bbf2a --- /dev/null +++ b/docs/src/styles/fonts.css @@ -0,0 +1,6 @@ +/* Self-hosted fonts: Geist for UI text, JetBrains Mono for code. Avoids external requests at runtime. */ +@import '@fontsource/geist-sans/400.css'; +@import '@fontsource/geist-sans/500.css'; +@import '@fontsource/geist-sans/600.css'; +@import '@fontsource/geist-sans/700.css'; +@import '@fontsource-variable/jetbrains-mono'; diff --git a/docs/src/styles/theme.css b/docs/src/styles/theme.css new file mode 100644 index 00000000..90b92b45 --- /dev/null +++ b/docs/src/styles/theme.css @@ -0,0 +1,476 @@ +/* WinUtil docs theme: grayscale palette with WinUtil blue (#0567ff) as the single accent, dark by default. */ +@import './fonts.css'; + +:root { + --sl-font: 'Geist', var(--sl-font-system); + --sl-font-mono: 'JetBrains Mono Variable', var(--sl-font-system-mono); + + /* WinUtil brand blue, matching the app logo (#0567ff). */ + --wu-accent-h: 216; + --wu-accent: hsl(var(--wu-accent-h) 100% 51%); + --wu-accent-dim: hsl(var(--wu-accent-h) 90% 45%); + + --wu-radius-sm: 0.5rem; + --wu-radius: 0.625rem; + --wu-radius-lg: 1rem; +} + +/* Dark mode (default). */ +:root, +::backdrop { + --sl-color-accent-low: hsl(var(--wu-accent-h) 60% 18%); + --sl-color-accent: var(--wu-accent); + --sl-color-accent-high: hsl(var(--wu-accent-h) 100% 85%); + + --sl-color-white: #fafafa; + --sl-color-gray-1: #ededed; + --sl-color-gray-2: #b8b8b8; + --sl-color-gray-3: #8c8c8c; + --sl-color-gray-4: #4a4a4a; + --sl-color-gray-5: #2a2a2a; + --sl-color-gray-6: #171717; + --sl-color-black: #0a0a0a; + + --sl-color-bg: #0a0a0a; + --sl-color-bg-nav: #0d0d0d; + --sl-color-bg-sidebar: #0d0d0d; + --sl-color-bg-inline-code: #1b1b1b; + --sl-color-hairline-light: #2a2a2a; + --sl-color-hairline: #1e1e1e; + --sl-color-hairline-shade: #000; +} + +/* Light mode. */ +:root[data-theme='light'], +[data-theme='light'] ::backdrop { + --sl-color-accent-low: hsl(var(--wu-accent-h) 90% 92%); + --sl-color-accent: var(--wu-accent-dim); + --sl-color-accent-high: hsl(var(--wu-accent-h) 80% 34%); + + --sl-color-white: #0a0a0a; + --sl-color-gray-1: #171717; + --sl-color-gray-2: #333333; + --sl-color-gray-3: #737373; + --sl-color-gray-4: #a3a3a3; + --sl-color-gray-5: #d9d9d9; + --sl-color-gray-6: #f1f1f1; + --sl-color-gray-7: #fafafa; + --sl-color-black: #ffffff; + + --sl-color-bg: #ffffff; + --sl-color-bg-nav: #fafafa; + --sl-color-bg-inline-code: #f1f1f1; + --sl-color-hairline-light: #ececec; + --sl-color-hairline-shade: #ececec; +} + +/* Heading weight/tracking. */ +.sl-markdown-content :is(h1, h2, h3, h4, h5, h6) { + font-weight: 600; + letter-spacing: -0.01em; +} + +/* Rounded code blocks/inline code. */ +.sl-markdown-content code:not(:where(.not-content *)) { + border-radius: var(--wu-radius-sm); + border: 1px solid var(--sl-color-hairline-light); +} +.sl-markdown-content pre:not(:where(.not-content *)) { + border-radius: var(--wu-radius); + border: 1px solid var(--sl-color-hairline-light); +} +.starlight-aside { + border-radius: 0 var(--wu-radius-sm) var(--wu-radius-sm) 0; +} + +/* Windows-style minimize/maximize/close glyph for the code blocks */ +.expressive-code .frame.is-terminal .header::before { + left: auto !important; + right: 0.85rem !important; + width: 4.75rem !important; + height: 0.7rem !important; + opacity: 0.85 !important; + --ec-frm-trmIcon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M4 8h12'/%3E%3Crect x='42' y='3.5' width='12' height='9' rx='0.5'/%3E%3Cpath d='M80 3l12 10M92 3L80 13'/%3E%3C/svg%3E"); +} + +/* Cards (CardGrid / LinkCard): rounded, accent border on hover. */ +.sl-markdown-content .card, +a.link-card { + border-radius: var(--wu-radius) !important; + transition: + border-color 0.15s ease, + transform 0.15s ease; +} +.sl-markdown-content .card:hover, +a.link-card:hover { + border-color: var(--sl-color-accent); +} + +/* Sidebar + nav background/border. */ +.sidebar-pane, +header.header { + background-color: var(--sl-color-bg-nav); + border-color: var(--sl-color-hairline-light); +} + +/* Prevents a horizontal scrollbar from the hero's full-bleed 100vw background trick. */ +body { + overflow-x: hidden; +} + +/* ============================================================ + Landing page marketing sections. + ============================================================ */ + +/* Shared buttons (hero actions + mid-page + final CTA). */ +.wu-btn { + display: inline-flex; + align-items: center; + gap: 0.5em; + height: 2.5rem; + padding-inline: 1.5rem; + border-radius: var(--wu-radius-sm); + font-size: var(--sl-text-sm); + font-weight: 500; + line-height: 1; + text-decoration: none; + transition: + filter 0.15s ease, + border-color 0.15s ease, + color 0.15s ease; +} +/* The right/left-arrow glyph's visual weight sits high in its viewBox, so it + reads as floating above the label's baseline without this nudge. */ +.wu-btn .wu-icon-arrow { + position: relative; + top: 0.05em; +} +.wu-btn-primary { + background: var(--wu-accent); + color: #fff; +} +.wu-btn-primary:hover { + filter: brightness(1.1); +} +.wu-btn-secondary { + border: 1px solid var(--sl-color-hairline-light); + color: var(--sl-color-white); + background: transparent; +} +.wu-btn-secondary:hover { + border-color: var(--sl-color-accent); + color: var(--sl-color-accent); +} +/* Neutralizes any stray

MDX wraps around icon+text content, so it never breaks the flex row. */ +.wu-btn > p, +.wu-trust-item > p { + display: contents; +} + +/* Cancels Starlight's automatic 1.5rem inter-block margin inside our own grids/rows (it otherwise lands on item 2+ of each row and breaks alignment). */ +.sl-markdown-content .wu-section, +.sl-markdown-content .wu-solution-grid > *, +.sl-markdown-content .wu-feature-grid > *, +.sl-markdown-content .wu-timeline > *, +.sl-markdown-content .wu-problem-list > *, +.sl-markdown-content .wu-benefit-list > *, +.sl-markdown-content .wu-trust-bar > *, +.sl-markdown-content .wu-badges > *, +.sl-markdown-content .wu-btn-row > * { + margin-top: 0; +} + +/* Section shell: full-bleed hairline dividers, alternating tint, 72rem reading width. */ +.wu-section { + margin-inline: calc(-1 * var(--sl-content-pad-x)); + padding-inline: var(--sl-content-pad-x); + border-bottom: 1px solid var(--sl-color-hairline-light); + padding-block: clamp(3rem, 4vw + 1.5rem, 5.5rem); +} +.wu-section--trust { + padding-block: 2rem; +} +.wu-section--tint { + background-color: var(--sl-color-gray-7, var(--sl-color-gray-6)); +} +:root:not([data-theme='light']) .wu-section--tint { + background-color: color-mix(in srgb, var(--sl-color-gray-6) 60%, transparent); +} +.wu-section-inner { + max-width: 72rem; + margin-inline: auto; +} +.wu-text-narrow { + max-width: 44rem; + margin-inline: auto; +} + +.wu-section-head { + max-width: 42rem; + margin: 0 auto 2.5rem; + text-align: center; +} +.wu-section-head h2 { + margin: 0; + font-size: var(--sl-text-3xl); + font-weight: 700; + letter-spacing: -0.01em; + color: var(--sl-color-white); +} +.wu-section-head p { + margin: 0.75rem 0 0; + font-size: var(--sl-text-lg); + color: var(--sl-color-gray-3); +} +.wu-section-head.wu-align-left { + text-align: left; + margin-inline: 0; + max-width: none; +} + +/* Shields.io / dcbadge release, download, and Discord badges. */ +.wu-badges { + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: center; + gap: 0.5rem; + margin-bottom: 1.5rem; +} +.wu-badges img { + height: 1.75rem; + width: auto; + display: block; +} + +/* Trust bar: icon + label chips under the hero. */ +.wu-trust-bar { + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: center; + gap: 0.75rem 1.25rem; +} +.wu-trust-item { + display: flex; + align-items: center; + gap: 0.5rem; + font-size: var(--sl-text-sm); + font-weight: 500; + color: var(--sl-color-gray-3); +} +.wu-trust-item svg { + color: var(--sl-color-accent); + width: 1rem; + height: 1rem; +} + +/* Problem list: bullet-circle + text, left aligned. */ +.wu-problem-list { + display: flex; + flex-direction: column; + gap: 1.1rem; + margin: 2.5rem 0 0; + padding: 0; + list-style: none; +} +.wu-problem-list li { + display: flex; + align-items: flex-start; + gap: 1rem; + color: var(--sl-color-gray-3); +} +.wu-problem-list .wu-bullet { + flex: none; + display: flex; + align-items: center; + justify-content: center; + width: 1.5rem; + height: 1.5rem; + margin-top: 0.15rem; + border-radius: 999px; + background: var(--sl-color-gray-6); +} +.wu-problem-list .wu-bullet svg { + width: 0.85rem; + height: 0.85rem; + color: var(--sl-color-gray-3); +} + +/* Solution grid: icon-in-box above title + description. */ +.wu-solution-grid { + display: grid; + gap: 2rem; + margin-top: 3rem; +} +.wu-solution { + display: flex; + flex-direction: column; + gap: 0.75rem; +} +.wu-solution-icon { + display: flex; + align-items: center; + justify-content: center; + width: 2.5rem; + height: 2.5rem; + border-radius: var(--wu-radius-sm); + background: var(--sl-color-gray-6); + color: var(--sl-color-accent); +} +.wu-solution h3 { + margin: 0; + font-size: var(--sl-text-lg); + font-weight: 600; + color: var(--sl-color-white); +} +.wu-solution p { + margin: 0; + font-size: var(--sl-text-sm); + line-height: var(--sl-line-height); + color: var(--sl-color-gray-3); +} + +/* Feature grid: wraps instances. */ +.wu-feature-grid { + display: grid; + gap: 1.25rem; + margin-top: 3rem; +} + +/* Step timeline ("how it works"): connecting line through each numbered circle. */ +.wu-timeline { + position: relative; + max-width: 36rem; + margin: 3rem auto 0; + display: flex; + flex-direction: column; + gap: 2rem; +} +.wu-timeline::before { + content: ''; + position: absolute; + left: 1.25rem; + top: 1.25rem; + bottom: 1.25rem; + width: 1px; + background: var(--sl-color-hairline-light); +} +.wu-timeline-step { + position: relative; + display: flex; + flex-direction: column; + gap: 0.5rem; + padding-left: 3.5rem; +} +.wu-timeline-number { + position: absolute; + left: 0; + top: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 2.5rem; + height: 2.5rem; + border-radius: 999px; + border: 1px solid var(--sl-color-hairline-light); + background: var(--sl-color-bg); + font-weight: 700; + color: var(--sl-color-accent); +} +.wu-timeline-step h3 { + margin: 0; + font-size: var(--sl-text-lg); + font-weight: 600; + color: var(--sl-color-white); +} +.wu-timeline-step p { + margin: 0; + color: var(--sl-color-gray-3); +} +.wu-timeline-step code { + border-radius: var(--wu-radius-sm); +} + +/* Benefit checklist. */ +.wu-benefit-list { + display: flex; + flex-direction: column; + gap: 1rem; + margin: 2.5rem 0 0; + padding: 0; + list-style: none; +} +.wu-benefit-list li { + display: flex; + align-items: flex-start; + gap: 1rem; + color: var(--sl-color-white); +} +.wu-benefit-list .wu-check { + flex: none; + display: flex; + align-items: center; + justify-content: center; + width: 1.5rem; + height: 1.5rem; + margin-top: 0.15rem; + border-radius: 999px; + background: hsl(var(--wu-accent-h) 100% 51% / 0.12); +} +.wu-benefit-list .wu-check svg { + width: 0.85rem; + height: 0.85rem; + color: var(--sl-color-accent); +} + +/* Final call to action. */ +.wu-cta { + text-align: center; +} +.wu-cta h2 { + margin: 0; + font-size: var(--sl-text-3xl); + font-weight: 700; + letter-spacing: -0.01em; + color: var(--sl-color-white); +} +.wu-cta > p:first-of-type { + margin: 0.75rem 0 0; + font-size: var(--sl-text-lg); + color: var(--sl-color-gray-3); +} +.wu-cta .wu-btn-row { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 0.75rem; + margin-top: 2rem; +} +.wu-cta p.wu-cta-footnote { + margin-top: 2rem; + font-size: var(--sl-text-sm); + color: var(--sl-color-gray-3); +} + +/* Grid breakpoints: 1 col mobile, 2 col tablet, 3 col desktop. */ +@media (min-width: 40em) { + .wu-solution-grid { + grid-template-columns: repeat(2, 1fr); + } + .wu-feature-grid { + grid-template-columns: repeat(2, 1fr); + } +} +@media (min-width: 60em) { + .wu-solution-grid { + grid-template-columns: repeat(3, 1fr); + } + .wu-feature-grid { + grid-template-columns: repeat(3, 1fr); + } + .wu-timeline { + gap: 2.5rem; + } +} diff --git a/docs/static/CNAME b/docs/static/CNAME deleted file mode 100644 index 5c5e6a6d..00000000 --- a/docs/static/CNAME +++ /dev/null @@ -1 +0,0 @@ -winutil.christitus.com diff --git a/docs/static/android-chrome-192x192.png b/docs/static/android-chrome-192x192.png deleted file mode 100644 index 0fe939a7ebcaa575c3437844b6a3185dbf4b90a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28177 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νo^3vE^20 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

P2sSa1ep^Xj?8(RmVPxIfv-*aT z_cQGWLZ-4tL*$QqY1{2k0QLiF$FNwa3e&Kn3hXyr2a?oyf0+c4m6fcwMe`uYWIdKL z2MrO+j-8In_lI{oXd&gD2)Y8z*R1MosXBWi3FTlgVP;faqN&Fhcc8!x-BW#D?zoQWwNBKxCnBEA_5B%U#mTHX(m3 zxU|y(kMQHSsiukC*N;12`ca=X{36SrcdHKo@dKyrcnRXO^zonahci*k?>lXf=Fehc zvLywxg76vrp|V}cp_MNorp)2Mbv@_lq2yBn`&(1GCOMep(@U>Nt=1v@tnKQX*#?m8 zPBLmGF4FsAsFEl--EhWR0u_I0yp${deXB!@w3I$zYF_8 zp7pR>>i1-jB{czGpwY4d`Y$|iCfIZi2&qWbF@tl}N@Hz4vd1rn6EIF^Kh7t*BH##@B`?sa(c<7G6;cI7OMRPStiU+#4wOIit%(VEv^Er0V@Mx|^{e>Uqy4-k@#rMuJm-B&B zonh1jnLTDIedupF&6hDwuyv)pBpn_I-&DR)3J0CLpaNB{2hUkT{suMDG5&q+Jm~kZ z(#BHqQl~Bt1w&DqNh;bTgzkqTC|W+gR9S(C;<%i6*_HXa$JATqrZydy$JGUX%LqNP zDGtWEJ}(fS{$(`Rk{UYh7g{+C=i7a5l#vMG0fbN;MUKUx%T8T=IayzjG2tvLwpF-a5aSox$?5m zI1NhPLsDjXK|-LO@0-a_8SkP?2IaV^oVX6fy)m}xd(2M%4PEd58M+FVm4ZvJVL{=d z<7fW9aLCKYk}=sZD&GtB-+uwW8{K{!(as`|;ps>$_08a;rOT@VW3Hu&KXXaR7oZL* zYutdqPz_(kQZTujfyd9)ZrO)4_I1PjYTQpIv%q7a-c_Bnm%Zx=ICo)y^|$Ax`~3>9#Wt=j&H9fhSeBbKw&b&r zPa;jt1$RTG{O=$xeURSawYgYH$aW-|P5wy2$Kb<7`$rDvyuUU;sNR~zhSII+e$Ve; zuadJZv_d8}mKABggfa&x?4R>?)Dy|GG2#a7tbN#PJ>hSSrk*dAVgtAVz8Om?eNM=8 zfD&J@e1YY!keD2)euN=?y{gD#Vy0gyct3_+t-kw6%(T`+x(59D$m>-d)@$5QzMGa& zZ2KB1pFH7}ptDZ*Y9HS@+N8N~0TDqREjuzXk#v(Z-6o zmV3?4%v5ds_DG2VQ9jAEI=zkZ&pYik%gohb4mq74YEEzXMC;XDC|0|bYLy zRj#_b%1b;*`x=+UZ+!3#EwN0v-gPNde5WD1IgPZfle^Ym90xtEsw%OQ+jo2T7DnLr zE`%5(RM*#g6ze=pmv|icK(kfSciK>)Z&uo&jjzlq=J|63a@APBTL#`f)W1`*D15{| zwlH{lMetvw`G2RB=ZGPI5ZAaDL>=6Wv zo%SF5eSvxhv@cAl&eA{GyLY`xG_BD|FeJUv!y)!}K-=9Kn)hnirX9rtxF4q8Y-L`u zCqYaR_3bua9=eRu1;(TdR zBOOgzLP@eg^&@jhjaiK?NdsWZmz`J#)6^&;GYq1i85&kw z7bsWj=H&K}5N0FB_8Jm-DgqEGOuZW72Jtv>h6(I&*A6yCAufMYfh4I*>bHZ}mM8~Z zAJXtw)gNB`UuFAo6UOg{=|nB5x{Hld*vKJiG+uf=C* zLt~biwX1oN1*}mmB^U}^esXOi*ayw*W3pWx_v`uWUi`10t_~-CJ+rqSjQ2VT#!Q8Z zhWriB(QCXQ9ejV=maTrS_1&RcKp+RiMO@?|Dok0-%S|- zdyK$W9%&-u-XCN^)de zMj91E_BzJKr-rhpT)|lgHcfW9k_hCYteNH<~FJ?CArgyq5iA8S< zPdsDwo)0zMG4@;MMmo^NCCH7Na>50$y^F4!0}{Yn&BAHh0k|FJyxz33GiJ`O0E$CR zbI$q2;CJrG8~v@FZ&`ErrFQuCAX%wvY3z|z3`%O*j#Jrp;5!QzwgjE-o$WADWLve!eQg~ zWA+<=f|}aYK9ku2z91zv50vOM-Cp+C)tuL7l351sRfbOeO&?vi()M8Uh86$#_THgC z63aBMJ$m&+$L(K8ZOGL`lgL#NqWilKzaPR$YM{Z*^Y&8^ zLpaqnURYsGIUwgqP4(HGof@Qq-YbLR?*eFlw3;%jR_i{Mrm1&|q#*F}Q8J@ft2&xy z97SP7sGmszMZjBM@)Ma4ydcejqhhpVUJ>}`{1j84QqP@ubVV%4**tBT%gexe?OxvleZVne{I%W!Y~%L8Za z+;0?Am$1DWWLMD^C@J(9rWLH*S%U;%K1Vlawxn&N1lLoYbbP{^@2_XY8(y~?K7REX zCzRT{Q{Rb$UZ86i@~;nt=bOC(Y6?^Ps$W#!<0VZYL_H2^BY(3X>c3!VBDnZ&cjXpe z(;^i|r3H~VlJU+(1X?B)?|g=duaZ=6Fs@;BGN<7~7SHwzXb{wD=(w$WHG((#+r2_* z!D*2px>l>J!gs*g)A@Nd^ESb;(1FMlS=AXv_ND#a@3}21-wlyQbr)kdCj~Ez4DbvWELImQD4~G;dxaOkBs%v9lZo zIkBuLsohV74BV*LdDwSlIJA}IF&q;#vg<(~|7NZJwAO+AjI>5{{lsT+s3o>jVSl`- zgYN0XrVyzV{!xb%xB)u4DPdJpr1>w&bWwO^l4|&V=09)%dDk+9bQ}V_ceEtB8ADQU zd{>BWvtRbZrkqQ6zCe0;dxDp02F0F+P1m&f2m@&yMQO*>wxFUvlph|wmg9^MOs=33 zn)-@{lA2<28x6&Xjs}bpe?}-ReIr6>oQrmDYb}3HY9?7X7k~~3|yTyElS=>dB1>lYi(BRb%Tngtk2EE`wHy64uPlthlriCqH{pBYJmg zXsI-(2#){zt_d?}*}uj8HGmN8@Apf7-&;G^s)H_)bOQMyALNnct`-b{FJnVfgAe*{ G@&6ygi8C$$ diff --git a/docs/static/apple-touch-icon.png b/docs/static/apple-touch-icon.png deleted file mode 100644 index 9ffa99522551453e5d9fb1ab742ff4f12119eaab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25162 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

*md0%}|aLaN|B2q>oxpYPj4=l=auleP< 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 D(aV`s diff --git a/docs/static/favicon-32x32.png b/docs/static/favicon-32x32.png deleted file mode 100644 index 5532ef6c4866144db1af50950db12722dac954b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2315 zcmV+m3H0`fP)Px-#Ysd#R9HuqR|`;7=N10$y~|6M1fN(DHh}W*vG@Q1EozL2V#LSz#@gw$u^k24 z7@Ha&QAwwnPSsQsn@BThL!r|+9T89@X`l$Gh{Q*H#QD^G0QCUcXiuYww2uN1CM?L=CIzidax@p;RH}BJ zL&vo`08Ieyy8t1Dq>_wi&gqzT=-3y)7y$mz=>rAhju>(B&u0swJM15i{3U=dRhxYp z03!ASFja`p+^U=ON}`irTmJ(`L*5OgI^!IAZr7?WwW>gv9s*%a&^f8r9FK$OX%Hs= zB1W8&He2us9w`VAl!3NRd)DaP0IC4oC96XL7=`%bTXmDREOM=D#o9aIxO3vVa(RCl z2AaNdVWeBlEAvaL$3fH?5c-oS$+&%v;2Z8o$C@p9z|`T$^4kmG5`YE(y+czlNu0TV zvov$x2DrTFWJ7_XSlj#M+MH_T>hCIGX(bTW2RmgrAO<32!whlSuj9oLMt?yRTszE( z!O?!>j{Hw!27oI7z5!r%Eke>443AN<;_|ZXl5fQLp&$l<^tblNwSTQtsxvAe_gi6D z5iU-D<3({yltBnfk$Q>GkvTYj16By#}BW01J4K z0m>wWC^%xulzFLJQ+Jh=eE!Ahf`VICtCdQq7Xp?TbxR88y0Tz98Fv}qIswGG0&vu1 zHOQquE>`m_O*I+=Rvia1WpahlPcOCG6R|kG-mxOs#D@ zfAe~d&1SO+fiD|%iwhP#20*`VWBsh}0jT>&om{e^kaC-{X>)u+Lc$zLlB5e4FO&rv9YlcLjZiCcEa~kFoGHo6cn`hK*n!h69hq288~6FSXvRd zEJU|BFIf=2Q#f00Top`}=0}R~>rZaWpRXqXx74)sMKLk4p#*TQw6yHQ4>SLyrhp6# z79neZN*L$~9K!NYHOczSx;Y&OU4T{{a}T3Q<59XMRK?)C=3&5P-BE?aI~B}|pQ zx|D`Fg5JQkbxOA5`X4SSmtLpn`0U!VcWFd;1O*PC78RY%&d&O?T7=wP2LW&lV;cqm zh&^=Zojqgx{J1+RIoa8li;49aN|<(svz^*@lW{rR|ufA=yTFDG&3`+5!5)z0ul!W{H`@hIS^z!m@BENC- zM$@r(k6tjF&76>|&Mnw)t~V^LUFfdqMc7ZnP?y~fnSX(z=Dl!XLd3>RKZG)eI zI$QX!oSf_|08~QCvY8vC>m0`iIlBb_h+MaB{raUZFH2-GJ`^QWPk#QXFU!ly>txwM zAdG-A%VAX;MxGxZ5HN1-nzfO}$Y};ilAJqZ^Syh`Zynh8uGwtn9KgMRBOcKzt^hO^ z*p9)XC>m4K(l_G6^5VrBS(Z6maxBx29Xl>y<*Jp_qoSgN z-QC?;)Xtjh?Cj`#=kTGA>g(&z1Gue@c9eJL$Uk&`XEBm?PB+1#o7?0~DVvh#&zm3b z=H{jug)GZ*LqmhbWDYM({EI7`8Y&$x4QvW0Xw9CBFpmt7RJF+_rk&)9Plb5fU8xj%{q~+H& z;_mLQp3>6Ns=_m;&-eHD-%-adYCdz$qGRN&nZd)&BXgT-kRX^2_PbVK4~I@5VAiad zY01gU=LQ4@28g04n$3N^%6SYr01KM90s)rqW002ovPDHLkV1mrwWVQeR diff --git a/docs/static/favicon.ico b/docs/static/favicon.ico deleted file mode 100644 index f95955c6dec2db8ead0b9edd26173a42d8740a77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21897 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 function Update-Progress { @@ -81,12 +81,30 @@ function Get-RawJsonBlock { } } + # Include the item's own closing brace, stripped of the trailing comma that + # only exists to separate it from the next sibling in the parent object. + $closingLine = $JsonLines[$endIndex] -replace ',\s*$', '' + return @{ LineNumber = $startIndex + 1 - RawText = ($JsonLines[$startIndex..$lastContentIndex] -join "`r`n") + RawText = (($JsonLines[$startIndex..$lastContentIndex] + $closingLine) -join "`r`n") } } +function Get-GeneratedFromNote { + # Builds the Starlight ":::note" aside pointing back at the source file for an entry. + param ( + [Parameter(Mandatory)] + [string]$SourceRelativePath + ) + + $githubUrl = "https://github.com/ChrisTitusTech/winutil/blob/main/$SourceRelativePath" + $note = ":::note`r`n" + $note += "This page is generated from [``$SourceRelativePath``]($githubUrl). Edit the source file and regenerate the docs rather than editing this file directly.`r`n" + $note += ":::`r`n`r`n" + return $note +} + function Get-ButtonFunctionMapping { # Parses Invoke-WPFButton.ps1 and returns a hashtable of button name -> function name. param ( @@ -237,8 +255,8 @@ $repoRoot = Resolve-Path "$scriptDir/.." $tweaksJsonPath = "$repoRoot/config/tweaks.json" $featuresJsonPath = "$repoRoot/config/feature.json" -$tweaksOutputDir = "$repoRoot/docs/content/dev/tweaks" -$featuresOutputDir = "$repoRoot/docs/content/dev/features" +$tweaksOutputDir = "$repoRoot/docs/src/content/docs/code-reference/tweaks" +$featuresOutputDir = "$repoRoot/docs/src/content/docs/code-reference/features" $publicFunctionsDir = "$repoRoot/functions/public" $privateFunctionsDir = "$repoRoot/functions/private" @@ -282,21 +300,25 @@ Update-Progress "Building button-to-function mapping" 30 $buttonFunctionMap = Get-ButtonFunctionMapping -ButtonFilePath "$publicFunctionsDir/Invoke-WPFButton.ps1" Update-Progress "Updating documentation links in JSON" 40 -Add-LinkAttributeToJson -JsonFilePath $tweaksJsonPath -UrlPrefix "$baseUrl/dev/tweaks" -ItemNameToCut $itemnametocut -Add-LinkAttributeToJson -JsonFilePath $featuresJsonPath -UrlPrefix "$baseUrl/dev/features" -ItemNameToCut $itemnametocut +Add-LinkAttributeToJson -JsonFilePath $tweaksJsonPath -UrlPrefix "$baseUrl/code-reference/tweaks" -ItemNameToCut $itemnametocut +Add-LinkAttributeToJson -JsonFilePath $featuresJsonPath -UrlPrefix "$baseUrl/code-reference/features" -ItemNameToCut $itemnametocut # Reload lines after link update so line numbers in docs are accurate $tweaksLines = Get-Content -Path $tweaksJsonPath $featuresLines = Get-Content -Path $featuresJsonPath # ============================================================================== -# Clean up old generated .md files (preserve _index.md) +# Clean up old generated .mdx files # ============================================================================== Update-Progress "Cleaning up old generated docs" 45 foreach ($dir in @($tweaksOutputDir, $featuresOutputDir)) { - Get-ChildItem -Path $dir -Recurse -Filter *.md | Where-Object { - $_.Name -ne "_index.md" + if (-Not (Test-Path -Path $dir)) { continue } + Get-ChildItem -Path $dir -Recurse -Filter *.mdx | Where-Object { + # No category index.mdx pages exist yet. If one is added later as a + # category landing page, uncomment this line to keep it from being wiped. + # $_.Name -ne "index.mdx" + $true } | Remove-Item -Force } @@ -319,25 +341,28 @@ foreach ($itemName in $tweakNames) { $category = $item.category -replace '[^a-zA-Z0-9]', '-' $displayName = $itemName -replace $itemnametocut, '' $categoryDir = "$tweaksOutputDir/$category" - $filename = "$categoryDir/$displayName.md" + $filename = "$categoryDir/$displayName.mdx" if (-Not (Test-Path -Path $categoryDir)) { New-Item -ItemType Directory -Path $categoryDir | Out-Null } - $title = $item.Content -replace '"', '\"' - $content = "---`r`ntitle: `"$title`"`r`ndescription: `"`"`r`n---`r`n`r`n" + $title = $item.Content -replace '"', '\"' + $description = if ($item.Description) { $item.Description -replace '"', '\"' } else { '' } + $content = "---`r`ntitle: `"$title`"`r`ndescription: `"$description`"`r`n---`r`n`r`n" if ($item.Type -eq "Button") { $funcName = $buttonFunctionMap[$itemName] if ($funcName -and $functionFiles.ContainsKey($funcName)) { $func = $functionFiles[$funcName] - $content += "``````powershell {filename=`"$($func.RelativePath)`",linenos=inline,linenostart=1}`r`n" + $content += Get-GeneratedFromNote -SourceRelativePath $func.RelativePath + $content += "``````powershell title=`"$($func.RelativePath)`"`r`n" $content += $func.Content + "`r`n" $content += "```````r`n" } } else { $jsonBlock = Get-RawJsonBlock -ItemName $itemName -JsonLines $tweaksLines if ($jsonBlock) { - $content += "``````json {filename=`"config/tweaks.json`",linenos=inline,linenostart=$($jsonBlock.LineNumber)}`r`n" + $content += Get-GeneratedFromNote -SourceRelativePath "config/tweaks.json" + $content += "``````json title=`"config/tweaks.json`"`r`n" $content += $jsonBlock.RawText + "`r`n" $content += "```````r`n" } @@ -375,25 +400,28 @@ foreach ($itemName in $featureNames) { $category = $item.category -replace '[^a-zA-Z0-9]', '-' $displayName = $itemName -replace $itemnametocut, '' $categoryDir = "$featuresOutputDir/$category" - $filename = "$categoryDir/$displayName.md" + $filename = "$categoryDir/$displayName.mdx" if (-Not (Test-Path -Path $categoryDir)) { New-Item -ItemType Directory -Path $categoryDir | Out-Null } - $title = $item.Content -replace '"', '\"' - $content = "---`r`ntitle: `"$title`"`r`ndescription: `"`"`r`n---`r`n`r`n" + $title = $item.Content -replace '"', '\"' + $description = if ($item.Description) { $item.Description -replace '"', '\"' } else { '' } + $content = "---`r`ntitle: `"$title`"`r`ndescription: `"$description`"`r`n---`r`n`r`n" if ($item.category -in $functionEmbedCategories) { $funcName = if ($item.function) { $item.function } else { $buttonFunctionMap[$itemName] } if ($funcName -and $functionFiles.ContainsKey($funcName)) { $func = $functionFiles[$funcName] - $content += "``````powershell {filename=`"$($func.RelativePath)`",linenos=inline,linenostart=1}`r`n" + $content += Get-GeneratedFromNote -SourceRelativePath $func.RelativePath + $content += "``````powershell title=`"$($func.RelativePath)`"`r`n" $content += $func.Content + "`r`n" $content += "```````r`n" } } else { $jsonBlock = Get-RawJsonBlock -ItemName $itemName -JsonLines $featuresLines if ($jsonBlock) { - $content += "``````json {filename=`"config/feature.json`",linenos=inline,linenostart=$($jsonBlock.LineNumber)}`r`n" + $content += Get-GeneratedFromNote -SourceRelativePath "config/feature.json" + $content += "``````json title=`"config/feature.json`"`r`n" $content += $jsonBlock.RawText + "`r`n" $content += "```````r`n" }