Compare commits

..

24 Commits

Author SHA1 Message Date
50cb1be797 Merge branch 'main' into config-schema 2024-08-14 16:58:57 -07:00
4d2ea15e19 [MicroWin] Add try-catch block for AppX packages (#2560) 2024-08-14 14:31:24 -05:00
b0d54e41ad Update contribute.md 2024-08-14 13:54:10 -05:00
d0fa506e4f Update mkdocs.yml 2024-08-14 10:58:33 -05:00
67be99bb7b Update mkdocs.yml 2024-08-14 10:54:52 -05:00
46d9e2c437 Merge branch 'main' of https://github.com/ChrisTitusTech/winutil 2024-08-14 10:34:22 -05:00
863dd83faa Update mkdocs.yml 2024-08-14 10:34:19 -05:00
09eb4eaa00 Deploying to main from @ ChrisTitusTech/winutil@17d523d8f8 🚀 2024-08-14 15:31:03 +00:00
17d523d8f8 change file structure 2024-08-14 10:23:26 -05:00
fa17abdd49 Create SECURITY.md 2024-08-14 09:14:46 -05:00
77e5c254a5 Merge branch 'main' into config-schema 2024-08-09 08:02:01 -07:00
b9b617ea81 Merge branch 'main' into config-schema 2024-08-08 01:10:39 -07:00
14efc4f4f6 Merge branch 'main' into config-schema 2024-08-07 14:38:54 -07:00
632f295355 Merge branch 'main' into config-schema 2024-08-07 10:52:33 -07:00
e7d0637396 Merge branch 'main' into config-schema 2024-08-07 09:30:31 -07:00
e2a870f746 added json-schema for config/applications.json 2024-08-07 08:20:03 -07:00
8844b85531 json-schema adjustments 2024-08-07 08:11:07 -07:00
5e2acadee5 added json-schema for config/feature.json 2024-08-07 08:10:55 -07:00
c61b1e899b added json-schema for config/preset.json 2024-08-07 07:58:21 -07:00
6fedea17ec added json-schema for config/tweaks.json 2024-08-07 07:56:15 -07:00
483baea1a4 json-schema for config/themes.json required fields 2024-08-07 07:17:08 -07:00
5a60625553 added json-schema for config/themes.json 2024-08-07 07:11:52 -07:00
26256e14f8 [build-script]: strip $schema from config jsons before embedding 2024-08-07 07:11:52 -07:00
4d7e6ded11 added json-schema for config/dns.json 2024-08-07 07:11:52 -07:00
25 changed files with 855 additions and 261 deletions

View File

5
.github/SECURITY.md vendored Normal file
View File

@ -0,0 +1,5 @@
# Security Policy
If you find a security issue please make post it in the issues tab. If you think it should be private you can email me at contact@christitus.com.
For immediate response check out our discord server @ [![](https://dcbadge.limes.pink/api/server/https://discord.gg/RUbZUZyByQ?theme=default-inverted&style=for-the-badge)](https://discord.gg/RUbZUZyByQ)

View File

@ -1,4 +1,5 @@
site_name: WinUtil Documentation
docs_dir: '../docs'
repo_url: https://github.com/ChrisTitusTech/winutil
nav:
@ -12,7 +13,7 @@ nav:
theme:
name: material
custom_dir: 'overrides'
custom_dir: '../overrides'
features:
- navigation.tabs
- navigation.sections

View File

@ -24,8 +24,8 @@ jobs:
python-version: 3.x # Install latest Stable release of Python 3
cache: 'pip' # caching pip dependencies
- name: Install Necessary Dependencies using 'pip install -r requirements.txt'
run: pip install -r requirements.txt
- name: Install Necessary Dependencies using 'pip install -r .github/requirements.txt'
run: pip install -r .github/requirements.txt
- name: Build & Deploy using 'mkdocs'
run: mkdocs gh-deploy --force
run: mkdocs gh-deploy --force -f .github/mkdocs.yml

View File

@ -69,24 +69,32 @@ Get-ChildItem "$workingdir\config" | Where-Object {$psitem.extension -eq ".json"
# Replace every XML Special Character so it'll render correctly in final build
# Only do so if json files has content to be displayed (for example the applications, tweaks, features json files)
# Make an Array List containing every name at first level of Json File
$jsonAsObject = $json | convertfrom-json
$firstLevelJsonList = [System.Collections.ArrayList]::new()
$jsonAsObject.PSObject.Properties.Name | ForEach-Object {$null = $firstLevelJsonList.Add($_)}
# Note:
# Avoid using HTML Entity Codes, for example '”' (stands for "Right Double Quotation Mark"),
# Use **HTML decimal/hex codes instead**, as using HTML Entity Codes will result in XML parse Error when running the compiled script.
for ($i = 0; $i -lt $firstLevelJsonList.Count; $i += 1) {
$firstLevelName = $firstLevelJsonList[$i]
if ($jsonAsObject.$firstLevelName.content -ne $null) {
$jsonAsObject.$firstLevelName.content = $jsonAsObject.$firstLevelName.content.replace('&','&#38;').replace('“','&#8220;').replace('”','&#8221;').replace("'",'&#39;').replace('<','&#60;').replace('>','&#62;').replace('—','&#8212;')
$jsonAsObject.$firstLevelName.content = $jsonAsObject.$firstLevelName.content.replace('&#39;&#39;',"&#39;") # resolves the Double Apostrophe caused by the first replace function in the main loop
}
if ($jsonAsObject.$firstLevelName.description -ne $null) {
$jsonAsObject.$firstLevelName.description = $jsonAsObject.$firstLevelName.description.replace('&','&#38;').replace('“','&#8220;').replace('”','&#8221;').replace("'",'&#39;').replace('<','&#60;').replace('>','&#62;').replace('—','&#8212;')
$jsonAsObject.$firstLevelName.description = $jsonAsObject.$firstLevelName.description.replace('&#39;&#39;',"&#39;") # resolves the Double Apostrophe caused by the first replace function in the main loop
}
# Make an Array List containing every name at first level of Json File
[PSCustomObject]$jsonAsObject = $json | convertfrom-json
# Remove properties like $schema and such from the json object (we don't need it at this point)
@(
"`$schema"
) | ForEach-Object {
$jsonAsObject.PSObject.Properties.Remove($_) | Out-Null
}
$firstLevelJsonList = [System.Collections.ArrayList]::new()
$jsonAsObject.PSObject.Properties.Name | ForEach-Object {$null = $firstLevelJsonList.Add($_)}
# Note:
# Avoid using HTML Entity Codes, for example '&rdquo;' (stands for "Right Double Quotation Mark"),
# Use **HTML decimal/hex codes instead**, as using HTML Entity Codes will result in XML parse Error when running the compiled script.
for ($i = 0; $i -lt $firstLevelJsonList.Count; $i += 1) {
$firstLevelName = $firstLevelJsonList[$i]
if ($jsonAsObject.$firstLevelName.content -ne $null) {
$jsonAsObject.$firstLevelName.content = $jsonAsObject.$firstLevelName.content.replace('&','&#38;').replace('“','&#8220;').replace('”','&#8221;').replace("'",'&#39;').replace('<','&#60;').replace('>','&#62;').replace('—','&#8212;')
$jsonAsObject.$firstLevelName.content = $jsonAsObject.$firstLevelName.content.replace('&#39;&#39;',"&#39;") # resolves the Double Apostrophe caused by the first replace function in the main loop
}
if ($jsonAsObject.$firstLevelName.description -ne $null) {
$jsonAsObject.$firstLevelName.description = $jsonAsObject.$firstLevelName.description.replace('&','&#38;').replace('“','&#8220;').replace('”','&#8221;').replace("'",'&#39;').replace('<','&#60;').replace('>','&#62;').replace('—','&#8212;')
$jsonAsObject.$firstLevelName.description = $jsonAsObject.$firstLevelName.description.replace('&#39;&#39;',"&#39;") # resolves the Double Apostrophe caused by the first replace function in the main loop
}
}
# Add 'WPFInstall' as a prefix to every entry-name in 'applications.json' file
if ($psitem.Name -eq "applications.json") {

View File

@ -52,7 +52,7 @@ If you have Issues, refer to [Known Issues](https://christitustech.github.io/win
These are the sponsors that help keep this project alive with monthly contributions.
<!-- sponsors --><a href="https://github.com/GregoryNavasarkian"><img src="https://github.com/GregoryNavasarkian.png" width="60px" alt="Gregory Navasarkian" /></a><a href="https://github.com/ysaito8015"><img src="https://github.com/ysaito8015.png" width="60px" alt="Yusuke Saito" /></a><a href="https://github.com/TriHydera"><img src="https://github.com/TriHydera.png" width="60px" alt="TriHydera" /></a><a href="https://github.com/jozozovko"><img src="https://github.com/jozozovko.png" width="60px" alt="" /></a><a href="https://github.com/DelDongo"><img src="https://github.com/DelDongo.png" width="60px" alt="" /></a><a href="https://github.com/markamos"><img src="https://github.com/markamos.png" width="60px" alt="Mark Amos" /></a><a href="https://github.com/dwelfusius"><img src="https://github.com/dwelfusius.png" width="60px" alt="" /></a><a href="https://github.com/mews-se"><img src="https://github.com/mews-se.png" width="60px" alt="" /></a><a href="https://github.com/jdiegmueller"><img src="https://github.com/jdiegmueller.png" width="60px" alt="Jason A. Diegmueller" /></a><a href="https://github.com/AlanTristar"><img src="https://github.com/AlanTristar.png" width="60px" alt="" /></a><a href="https://github.com/JennJones89"><img src="https://github.com/JennJones89.png" width="60px" alt="" /></a><a href="https://github.com/zepled112"><img src="https://github.com/zepled112.png" width="60px" alt="wyatt" /></a><a href="https://github.com/altugtekiner"><img src="https://github.com/altugtekiner.png" width="60px" alt="" /></a><a href="https://github.com/getsmor"><img src="https://github.com/getsmor.png" width="60px" alt="" /></a><a href="https://github.com/robertsandrock"><img src="https://github.com/robertsandrock.png" width="60px" alt="" /></a><a href="https://github.com/jeffnesbit"><img src="https://github.com/jeffnesbit.png" width="60px" alt="" /></a><a href="https://github.com/mmomega"><img src="https://github.com/mmomega.png" width="60px" alt="" /></a><a href="https://github.com/KenichiQaz"><img src="https://github.com/KenichiQaz.png" width="60px" alt="Stefan" /></a><a href="https://github.com/thaddl"><img src="https://github.com/thaddl.png" width="60px" alt="thaddl" /></a><a href="https://github.com/paulsheets"><img src="https://github.com/paulsheets.png" width="60px" alt="Paul" /></a><a href="https://github.com/djones369"><img src="https://github.com/djones369.png" width="60px" alt="Dave Jones" /></a><a href="https://github.com/anthonymendez"><img src="https://github.com/anthonymendez.png" width="60px" alt="Anthony Mendez" /></a><a href="https://github.com/woobe-studio"><img src="https://github.com/woobe-studio.png" width="60px" alt="Michael Wozniak" /></a><a href="https://github.com/xBandaku"><img src="https://github.com/xBandaku.png" width="60px" alt="xPandaku" /></a><!-- sponsors -->
<!-- sponsors --><a href="https://github.com/ysaito8015"><img src="https://github.com/ysaito8015.png" width="60px" alt="Yusuke Saito" /></a><a href="https://github.com/TriHydera"><img src="https://github.com/TriHydera.png" width="60px" alt="TriHydera" /></a><a href="https://github.com/jozozovko"><img src="https://github.com/jozozovko.png" width="60px" alt="" /></a><a href="https://github.com/DelDongo"><img src="https://github.com/DelDongo.png" width="60px" alt="" /></a><a href="https://github.com/markamos"><img src="https://github.com/markamos.png" width="60px" alt="Mark Amos" /></a><a href="https://github.com/dwelfusius"><img src="https://github.com/dwelfusius.png" width="60px" alt="" /></a><a href="https://github.com/mews-se"><img src="https://github.com/mews-se.png" width="60px" alt="" /></a><a href="https://github.com/jdiegmueller"><img src="https://github.com/jdiegmueller.png" width="60px" alt="Jason A. Diegmueller" /></a><a href="https://github.com/AlanTristar"><img src="https://github.com/AlanTristar.png" width="60px" alt="" /></a><a href="https://github.com/JennJones89"><img src="https://github.com/JennJones89.png" width="60px" alt="" /></a><a href="https://github.com/zepled112"><img src="https://github.com/zepled112.png" width="60px" alt="wyatt" /></a><a href="https://github.com/altugtekiner"><img src="https://github.com/altugtekiner.png" width="60px" alt="" /></a><a href="https://github.com/getsmor"><img src="https://github.com/getsmor.png" width="60px" alt="" /></a><a href="https://github.com/robertsandrock"><img src="https://github.com/robertsandrock.png" width="60px" alt="" /></a><a href="https://github.com/jeffnesbit"><img src="https://github.com/jeffnesbit.png" width="60px" alt="" /></a><a href="https://github.com/mmomega"><img src="https://github.com/mmomega.png" width="60px" alt="" /></a><a href="https://github.com/KenichiQaz"><img src="https://github.com/KenichiQaz.png" width="60px" alt="Stefan" /></a><a href="https://github.com/thaddl"><img src="https://github.com/thaddl.png" width="60px" alt="thaddl" /></a><a href="https://github.com/paulsheets"><img src="https://github.com/paulsheets.png" width="60px" alt="Paul" /></a><a href="https://github.com/djones369"><img src="https://github.com/djones369.png" width="60px" alt="Dave Jones" /></a><a href="https://github.com/anthonymendez"><img src="https://github.com/anthonymendez.png" width="60px" alt="Anthony Mendez" /></a><a href="https://github.com/woobe-studio"><img src="https://github.com/woobe-studio.png" width="60px" alt="Michael Wozniak" /></a><a href="https://github.com/xBandaku"><img src="https://github.com/xBandaku.png" width="60px" alt="xPandaku" /></a><!-- sponsors -->
## 🏅 Thanks to all Contributors
Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻.

View File

@ -1,4 +1,5 @@
{
"$schema": "../schemas/config/applications.json",
"1password": {
"category": "Utilities",
"choco": "1password",

View File

@ -1,4 +1,5 @@
{
"$schema": "../schemas/config/dns.json",
"Google":{
"Primary": "8.8.8.8",
"Secondary": "8.8.4.4",

View File

@ -1,4 +1,5 @@
{
"$schema": "../schemas/config/feature.json",
"WPFFeaturesdotnet": {
"Content": "All .Net Framework (2,3,4)",
"Description": ".NET and .NET Framework is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.",

View File

@ -1,4 +1,5 @@
{
"$schema": "../schemas/config/preset.json",
"Standard": [
"WPFTweaksAH",
"WPFTweaksConsumerFeatures",

View File

@ -1,220 +1,221 @@
{
"Classic": {
"CustomDialogFontSize": "12",
"CustomDialogFontSizeHeader": "14",
"CustomDialogIconSize": "25",
"CustomDialogWidth": "400",
"CustomDialogHeight": "200",
"$schema": "../schemas/config/themes.json",
"Classic": {
"CustomDialogFontSize": "12",
"CustomDialogFontSizeHeader": "14",
"CustomDialogIconSize": "25",
"CustomDialogWidth": "400",
"CustomDialogHeight": "200",
"FontSize": "12",
"FontFamily": "Arial",
"FontSizeHeading": "14",
"HeaderFontFamily": "Consolas, Monaco",
"FontSize": "12",
"FontFamily": "Arial",
"FontSizeHeading": "14",
"HeaderFontFamily": "Consolas, Monaco",
"CheckBoxBulletDecoratorFontSize": "14",
"CheckBoxMargin": "15,0,0,2",
"CheckBoxBulletDecoratorFontSize": "14",
"CheckBoxMargin": "15,0,0,2",
"TabButtonFontSize": "14",
"TabButtonWidth": "100",
"TabButtonHeight": "25",
"TabRowHeightInPixels": "50",
"IconFontSize": "14",
"IconButtonSize": "35",
"WinUtilIconSize": "Auto",
"SettingsIconFontSize": "18",
"TabButtonFontSize": "14",
"TabButtonWidth": "100",
"TabButtonHeight": "25",
"TabRowHeightInPixels": "50",
"IconFontSize": "14",
"IconButtonSize": "35",
"WinUtilIconSize": "Auto",
"SettingsIconFontSize": "18",
"MicroWinLogoSize": "10",
"MicroWinLogoSize": "10",
"ProgressBarForegroundColor": "#FFAC1C",
"ProgressBarBackgroundColor": "Transparent",
"ProgressBarTextColor": "#000000",
"ProgressBarForegroundColor": "#FFAC1C",
"ProgressBarBackgroundColor": "Transparent",
"ProgressBarTextColor": "#000000",
"ComboBoxBackgroundColor": "#FFFFFF",
"LabelboxForegroundColor": "#000000",
"MainForegroundColor": "#000000",
"MainBackgroundColor": "#FFFFFF",
"LabelBackgroundColor": "#FAFAFA",
"LinkForegroundColor": "#000000",
"LinkHoverForegroundColor": "#000000",
"GroupBorderBackgroundColor": "#000000",
"ComboBoxForegroundColor": "#000000",
"ComboBoxBackgroundColor": "#FFFFFF",
"LabelboxForegroundColor": "#000000",
"MainForegroundColor": "#000000",
"MainBackgroundColor": "#FFFFFF",
"LabelBackgroundColor": "#FAFAFA",
"LinkForegroundColor": "#000000",
"LinkHoverForegroundColor": "#000000",
"GroupBorderBackgroundColor": "#000000",
"ComboBoxForegroundColor": "#000000",
"ButtonFontSize": "12",
"ButtonFontFamily": "Arial",
"ButtonWidth": "200",
"ButtonHeight": "25",
"ConfigTabButtonFontSize": "16",
"ButtonFontSize": "12",
"ButtonFontFamily": "Arial",
"ButtonWidth": "200",
"ButtonHeight": "25",
"ConfigTabButtonFontSize": "16",
"SearchBarWidth": "200",
"SearchBarHeight": "25",
"SearchBarTextBoxFontSize": "16",
"SearchBarClearButtonFontSize": "14",
"SearchBarWidth": "200",
"SearchBarHeight": "25",
"SearchBarTextBoxFontSize": "16",
"SearchBarClearButtonFontSize": "14",
"ButtonInstallBackgroundColor": "#FFFFFF",
"ButtonTweaksBackgroundColor": "#FFFFFF",
"ButtonConfigBackgroundColor": "#FFFFFF",
"ButtonUpdatesBackgroundColor": "#FFFFFF",
"ButtonInstallForegroundColor": "#000000",
"ButtonTweaksForegroundColor": "#000000",
"ButtonConfigForegroundColor": "#000000",
"ButtonUpdatesForegroundColor": "#000000",
"ButtonBackgroundColor": "#F5F5F5",
"ButtonBackgroundPressedColor": "#1A1A1A",
"CheckboxMouseOverColor": "#999999",
"ButtonBackgroundMouseoverColor": "#C2C2C2",
"ButtonBackgroundSelectedColor": "#F0F0F0",
"ButtonForegroundColor": "#000000",
"ToggleButtonOnColor": "#2e77ff",
"ButtonInstallBackgroundColor": "#FFFFFF",
"ButtonTweaksBackgroundColor": "#FFFFFF",
"ButtonConfigBackgroundColor": "#FFFFFF",
"ButtonUpdatesBackgroundColor": "#FFFFFF",
"ButtonInstallForegroundColor": "#000000",
"ButtonTweaksForegroundColor": "#000000",
"ButtonConfigForegroundColor": "#000000",
"ButtonUpdatesForegroundColor": "#000000",
"ButtonBackgroundColor": "#F5F5F5",
"ButtonBackgroundPressedColor": "#1A1A1A",
"CheckboxMouseOverColor": "#999999",
"ButtonBackgroundMouseoverColor": "#C2C2C2",
"ButtonBackgroundSelectedColor": "#F0F0F0",
"ButtonForegroundColor": "#000000",
"ToggleButtonOnColor": "#2e77ff",
"ButtonBorderThickness": "1",
"ButtonMargin": "1",
"ButtonCornerRadius": "2",
"BorderColor": "#000000",
"BorderOpacity": "0.2",
"ShadowPulse": "Forever"
},
"Matrix": {
"CustomDialogFontSize": "12",
"CustomDialogFontSizeHeader": "14",
"CustomDialogIconSize": "25",
"CustomDialogWidth": "400",
"CustomDialogHeight": "200",
"ButtonBorderThickness": "1",
"ButtonMargin": "1",
"ButtonCornerRadius": "2",
"BorderColor": "#000000",
"BorderOpacity": "0.2",
"ShadowPulse": "Forever"
},
"Matrix": {
"CustomDialogFontSize": "12",
"CustomDialogFontSizeHeader": "14",
"CustomDialogIconSize": "25",
"CustomDialogWidth": "400",
"CustomDialogHeight": "200",
"FontSize": "12",
"FontFamily": "Arial",
"FontSizeHeading": "14",
"HeaderFontFamily": "Consolas, Monaco",
"FontSize": "12",
"FontFamily": "Arial",
"FontSizeHeading": "14",
"HeaderFontFamily": "Consolas, Monaco",
"CheckBoxBulletDecoratorFontSize": "14",
"CheckBoxMargin": "15,0,0,2",
"CheckBoxBulletDecoratorFontSize": "14",
"CheckBoxMargin": "15,0,0,2",
"TabButtonFontSize": "14",
"TabButtonWidth": "100",
"TabButtonHeight": "25",
"TabRowHeightInPixels": "50",
"IconFontSize": "14",
"IconButtonSize": "35",
"WinUtilIconSize": "Auto",
"SettingsIconFontSize": "18",
"TabButtonFontSize": "14",
"TabButtonWidth": "100",
"TabButtonHeight": "25",
"TabRowHeightInPixels": "50",
"IconFontSize": "14",
"IconButtonSize": "35",
"WinUtilIconSize": "Auto",
"SettingsIconFontSize": "18",
"MicroWinLogoSize": "10",
"MicroWinLogoSize": "10",
"ProgressBarForegroundColor": "#222222",
"ProgressBarBackgroundColor": "Transparent",
"ProgressBarTextColor": "#cccccc",
"ProgressBarForegroundColor": "#222222",
"ProgressBarBackgroundColor": "Transparent",
"ProgressBarTextColor": "#cccccc",
"ComboBoxBackgroundColor": "#000000",
"LabelboxForegroundColor": "#FFEE58",
"MainForegroundColor": "#9CCC65",
"MainBackgroundColor": "#000000",
"LabelBackgroundColor": "#000000",
"LinkForegroundColor": "#add8e6",
"LinkHoverForegroundColor": "#FFFFFF",
"ComboBoxForegroundColor": "#FFEE58",
"ComboBoxBackgroundColor": "#000000",
"LabelboxForegroundColor": "#FFEE58",
"MainForegroundColor": "#9CCC65",
"MainBackgroundColor": "#000000",
"LabelBackgroundColor": "#000000",
"LinkForegroundColor": "#add8e6",
"LinkHoverForegroundColor": "#FFFFFF",
"ComboBoxForegroundColor": "#FFEE58",
"ButtonFontSize": "12",
"ButtonFontFamily": "Arial",
"ButtonWidth": "200",
"ButtonHeight": "25",
"ConfigTabButtonFontSize": "16",
"ButtonFontSize": "12",
"ButtonFontFamily": "Arial",
"ButtonWidth": "200",
"ButtonHeight": "25",
"ConfigTabButtonFontSize": "16",
"SearchBarWidth": "200",
"SearchBarHeight": "25",
"SearchBarTextBoxFontSize": "16",
"SearchBarClearButtonFontSize": "14",
"SearchBarWidth": "200",
"SearchBarHeight": "25",
"SearchBarTextBoxFontSize": "16",
"SearchBarClearButtonFontSize": "14",
"ButtonInstallBackgroundColor": "#222222",
"ButtonTweaksBackgroundColor": "#333333",
"ButtonConfigBackgroundColor": "#444444",
"ButtonUpdatesBackgroundColor": "#555555",
"ButtonInstallForegroundColor": "#FFFFFF",
"ButtonTweaksForegroundColor": "#FFFFFF",
"ButtonConfigForegroundColor": "#FFFFFF",
"ButtonUpdatesForegroundColor": "#FFFFFF",
"ButtonBackgroundColor": "#000019",
"ButtonBackgroundPressedColor": "#FFFFFF",
"ButtonBackgroundMouseoverColor": "#A55A64",
"ButtonBackgroundSelectedColor": "#FF5733",
"ButtonForegroundColor": "#9CCC65",
"ToggleButtonOnColor": "#2e77ff",
"ButtonInstallBackgroundColor": "#222222",
"ButtonTweaksBackgroundColor": "#333333",
"ButtonConfigBackgroundColor": "#444444",
"ButtonUpdatesBackgroundColor": "#555555",
"ButtonInstallForegroundColor": "#FFFFFF",
"ButtonTweaksForegroundColor": "#FFFFFF",
"ButtonConfigForegroundColor": "#FFFFFF",
"ButtonUpdatesForegroundColor": "#FFFFFF",
"ButtonBackgroundColor": "#000019",
"ButtonBackgroundPressedColor": "#FFFFFF",
"ButtonBackgroundMouseoverColor": "#A55A64",
"ButtonBackgroundSelectedColor": "#FF5733",
"ButtonForegroundColor": "#9CCC65",
"ToggleButtonOnColor": "#2e77ff",
"ButtonBorderThickness": "1",
"ButtonMargin": "1",
"ButtonCornerRadius": "2",
"BorderColor": "#FFAC1C",
"BorderOpacity": "0.8",
"ShadowPulse": "0:0:3"
},
"Dark": {
"CustomDialogFontSize": "12",
"CustomDialogFontSizeHeader": "14",
"CustomDialogIconSize": "25",
"CustomDialogWidth": "400",
"CustomDialogHeight": "200",
"ButtonBorderThickness": "1",
"ButtonMargin": "1",
"ButtonCornerRadius": "2",
"BorderColor": "#FFAC1C",
"BorderOpacity": "0.8",
"ShadowPulse": "0:0:3"
},
"Dark": {
"CustomDialogFontSize": "12",
"CustomDialogFontSizeHeader": "14",
"CustomDialogIconSize": "25",
"CustomDialogWidth": "400",
"CustomDialogHeight": "200",
"FontSize": "12",
"FontFamily": "Arial",
"FontSizeHeading": "14",
"HeaderFontFamily": "Consolas, Monaco",
"FontSize": "12",
"FontFamily": "Arial",
"FontSizeHeading": "14",
"HeaderFontFamily": "Consolas, Monaco",
"CheckBoxBulletDecoratorFontSize": "14",
"CheckBoxMargin": "15,0,0,2",
"CheckBoxBulletDecoratorFontSize": "14",
"CheckBoxMargin": "15,0,0,2",
"TabButtonFontSize": "14",
"TabButtonWidth": "100",
"TabButtonHeight": "25",
"TabRowHeightInPixels": "50",
"IconFontSize": "14",
"IconButtonSize": "35",
"WinUtilIconSize": "Auto",
"SettingsIconFontSize": "18",
"TabButtonFontSize": "14",
"TabButtonWidth": "100",
"TabButtonHeight": "25",
"TabRowHeightInPixels": "50",
"IconFontSize": "14",
"IconButtonSize": "35",
"WinUtilIconSize": "Auto",
"SettingsIconFontSize": "18",
"MicroWinLogoSize": "10",
"MicroWinLogoSize": "10",
"ProgressBarForegroundColor": "#222222",
"ProgressBarBackgroundColor": "Transparent",
"ProgressBarTextColor": "#FFFFFF",
"ProgressBarForegroundColor": "#222222",
"ProgressBarBackgroundColor": "Transparent",
"ProgressBarTextColor": "#FFFFFF",
"ComboBoxBackgroundColor": "#000000",
"LabelboxForegroundColor": "#FFEE58",
"MainForegroundColor": "#9CCC65",
"MainBackgroundColor": "#000000",
"LabelBackgroundColor": "#000000",
"LinkForegroundColor": "#add8e6",
"LinkHoverForegroundColor": "#FFFFFF",
"ComboBoxForegroundColor": "#FFEE58",
"ComboBoxBackgroundColor": "#000000",
"LabelboxForegroundColor": "#FFEE58",
"MainForegroundColor": "#9CCC65",
"MainBackgroundColor": "#000000",
"LabelBackgroundColor": "#000000",
"LinkForegroundColor": "#add8e6",
"LinkHoverForegroundColor": "#FFFFFF",
"ComboBoxForegroundColor": "#FFEE58",
"ButtonFontSize": "12",
"ButtonFontFamily": "Arial",
"ButtonWidth": "200",
"ButtonHeight": "25",
"ConfigTabButtonFontSize": "16",
"ButtonFontSize": "12",
"ButtonFontFamily": "Arial",
"ButtonWidth": "200",
"ButtonHeight": "25",
"ConfigTabButtonFontSize": "16",
"SearchBarWidth": "200",
"SearchBarHeight": "25",
"SearchBarTextBoxFontSize": "16",
"SearchBarClearButtonFontSize": "14",
"SearchBarWidth": "200",
"SearchBarHeight": "25",
"SearchBarTextBoxFontSize": "16",
"SearchBarClearButtonFontSize": "14",
"ButtonInstallBackgroundColor": "#222222",
"ButtonTweaksBackgroundColor": "#333333",
"ButtonConfigBackgroundColor": "#444444",
"ButtonUpdatesBackgroundColor": "#555555",
"ButtonInstallForegroundColor": "#FFFFFF",
"ButtonTweaksForegroundColor": "#FFFFFF",
"ButtonConfigForegroundColor": "#FFFFFF",
"ButtonUpdatesForegroundColor": "#FFFFFF",
"ButtonBackgroundColor": "#000019",
"ButtonBackgroundPressedColor": "#9CCC65",
"ButtonBackgroundMouseoverColor": "#FF5733",
"ButtonBackgroundSelectedColor": "#FF5733",
"ButtonForegroundColor": "#9CCC65",
"ToggleButtonOnColor": "#2e77ff",
"ButtonInstallBackgroundColor": "#222222",
"ButtonTweaksBackgroundColor": "#333333",
"ButtonConfigBackgroundColor": "#444444",
"ButtonUpdatesBackgroundColor": "#555555",
"ButtonInstallForegroundColor": "#FFFFFF",
"ButtonTweaksForegroundColor": "#FFFFFF",
"ButtonConfigForegroundColor": "#FFFFFF",
"ButtonUpdatesForegroundColor": "#FFFFFF",
"ButtonBackgroundColor": "#000019",
"ButtonBackgroundPressedColor": "#9CCC65",
"ButtonBackgroundMouseoverColor": "#FF5733",
"ButtonBackgroundSelectedColor": "#FF5733",
"ButtonForegroundColor": "#9CCC65",
"ToggleButtonOnColor": "#2e77ff",
"ButtonBorderThickness": "1",
"ButtonMargin": "1",
"ButtonCornerRadius": "2",
"BorderColor": "#FFAC1C",
"BorderOpacity": "0.2",
"ShadowPulse": "Forever"
}
"ButtonBorderThickness": "1",
"ButtonMargin": "1",
"ButtonCornerRadius": "2",
"BorderColor": "#FFAC1C",
"BorderOpacity": "0.2",
"ShadowPulse": "Forever"
}
}

View File

@ -1,4 +1,5 @@
{
"$schema": "../schemas/config/tweaks.json",
"WPFTweaksAH": {
"Content": "Disable Activity History",
"Description": "This erases recent docs, clipboard, and run history.",

View File

@ -1,3 +1,3 @@
--8<-- "CONTRIBUTING.md"
--8<-- ".github/CONTRIBUTING.md"
<!-- The content is sourced from "CONTRIBUTING.md," located in the root directory of the project. -->

View File

@ -132,42 +132,49 @@ function Remove-ProvisionedPackages() {
.EXAMPLE
Remove-ProvisionedPackages
#>
$appxProvisionedPackages = Get-AppxProvisionedPackage -Path "$($scratchDir)" | Where-Object {
$_.PackageName -NotLike "*AppInstaller*" -AND
$_.PackageName -NotLike "*Store*" -and
$_.PackageName -NotLike "*dism*" -and
$_.PackageName -NotLike "*Foundation*" -and
$_.PackageName -NotLike "*FodMetadata*" -and
$_.PackageName -NotLike "*LanguageFeatures*" -and
$_.PackageName -NotLike "*Notepad*" -and
$_.PackageName -NotLike "*Printing*" -and
$_.PackageName -NotLike "*Wifi*" -and
$_.PackageName -NotLike "*Foundation*" -and
$_.PackageName -NotLike "*YourPhone*" -and
$_.PackageName -NotLike "*Xbox*" -and
$_.PackageName -NotLike "*WindowsTerminal*" -and
$_.PackageName -NotLike "*Calculator*" -and
$_.PackageName -NotLike "*Photos*" -and
$_.PackageName -NotLike "*VCLibs*" -and
$_.PackageName -NotLike "*Paint*" -and
$_.PackageName -NotLike "*Gaming*" -and
$_.PackageName -NotLike "*Extension*" -and
$_.PackageName -NotLike "*SecHealthUI*"
try
{
$appxProvisionedPackages = Get-AppxProvisionedPackage -Path "$($scratchDir)" | Where-Object {
$_.PackageName -NotLike "*AppInstaller*" -AND
$_.PackageName -NotLike "*Store*" -and
$_.PackageName -NotLike "*dism*" -and
$_.PackageName -NotLike "*Foundation*" -and
$_.PackageName -NotLike "*FodMetadata*" -and
$_.PackageName -NotLike "*LanguageFeatures*" -and
$_.PackageName -NotLike "*Notepad*" -and
$_.PackageName -NotLike "*Printing*" -and
$_.PackageName -NotLike "*Wifi*" -and
$_.PackageName -NotLike "*Foundation*" -and
$_.PackageName -NotLike "*YourPhone*" -and
$_.PackageName -NotLike "*Xbox*" -and
$_.PackageName -NotLike "*WindowsTerminal*" -and
$_.PackageName -NotLike "*Calculator*" -and
$_.PackageName -NotLike "*Photos*" -and
$_.PackageName -NotLike "*VCLibs*" -and
$_.PackageName -NotLike "*Paint*" -and
$_.PackageName -NotLike "*Gaming*" -and
$_.PackageName -NotLike "*Extension*" -and
$_.PackageName -NotLike "*SecHealthUI*"
}
$counter = 0
foreach ($appx in $appxProvisionedPackages) {
$status = "Removing Provisioned $($appx.PackageName)"
Write-Progress -Activity "Removing Provisioned Apps" -Status $status -PercentComplete ($counter++/$appxProvisionedPackages.Count*100)
try {
Remove-AppxProvisionedPackage -Path "$scratchDir" -PackageName $appx.PackageName -ErrorAction SilentlyContinue
} catch {
Write-Host "Application $($appx.PackageName) could not be removed"
continue
$counter = 0
foreach ($appx in $appxProvisionedPackages) {
$status = "Removing Provisioned $($appx.PackageName)"
Write-Progress -Activity "Removing Provisioned Apps" -Status $status -PercentComplete ($counter++/$appxProvisionedPackages.Count*100)
try {
Remove-AppxProvisionedPackage -Path "$scratchDir" -PackageName $appx.PackageName -ErrorAction SilentlyContinue
} catch {
Write-Host "Application $($appx.PackageName) could not be removed"
continue
}
}
Write-Progress -Activity "Removing Provisioned Apps" -Status "Ready" -Completed
}
catch
{
# This can happen if getting AppX packages fails
Write-Host "Unable to get information about the AppX packages. MicroWin processing will continue, but AppX packages will not be processed"
}
Write-Progress -Activity "Removing Provisioned Apps" -Status "Ready" -Completed
}
function Copy-ToUSB([string]$fileToCopy) {

View File

@ -1,4 +0,0 @@
Get-ChildItem @(
"$env:SystemRoot\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package*.mum",
"$env:SystemRoot\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package*.mum"
) | ForEach-Object { dism.exe /online /norestart /add-package:"$_" }

View File

@ -0,0 +1,55 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"definitions": {
"url": {
"type": "string",
"format": "uri"
}
},
"patternProperties": {
"^[a-zA-Z_][a-zA-Z0-9_]*$": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"description": {
"type": "string"
},
"category": {
"type": "string",
"enum": [
"Utilities",
"Document",
"Pro Tools",
"Multimedia Tools",
"Development",
"Games",
"Microsoft Tools",
"Browsers",
"Communications"
]
},
"choco": {
"type": "string"
},
"winget": {
"type": "string"
},
"link": {
"$ref": "#/definitions/url"
}
},
"required": [
"content",
"description",
"category",
"link",
"choco",
"winget"
],
"additionalProperties": false
}
}
}

29
schemas/config/dns.json Normal file
View File

@ -0,0 +1,29 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"patternProperties": {
"^[a-zA-Z_][a-zA-Z0-9_]*$": {
"type": "object",
"properties": {
"Primary": {
"type": "string",
"format": "ipv4"
},
"Secondary": {
"type": "string",
"format": "ipv4"
},
"Primary6": {
"type": "string",
"format": "ipv6"
},
"Secondary6": {
"type": "string",
"format": "ipv6"
}
},
"required": ["Primary", "Secondary", "Primary6", "Secondary6"],
"additionalProperties": false
}
}
}

View File

@ -0,0 +1,57 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"patternProperties": {
"^[a-zA-Z_][a-zA-Z0-9_]*$": {
"type": "object",
"properties": {
"Content": {
"type": "string"
},
"Description": {
"type": "string"
},
"category": {
"type": "string",
"enum": ["Features", "Fixes", "Legacy Windows Panels"]
},
"panel": {
"type": "string",
"pattern": "^\\d+$"
},
"Order": {
"type": "string",
"pattern": "^[0-9a-f]+_$"
},
"feature": {
"type": "array",
"items": {
"type": "string"
}
},
"InvokeScript": {
"type": "array",
"items": {
"type": "string"
}
},
"UndoScript": {
"type": "array",
"items": {
"type": "string"
}
},
"Type": {
"type": "string",
"enum": ["Button"]
},
"ButtonWidth": {
"type": "string",
"pattern": "^\\d+$"
}
},
"required": ["Content", "category", "panel"],
"additionalProperties": false
}
}
}

View File

@ -0,0 +1,12 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"patternProperties": {
"^[a-zA-Z_][a-zA-Z0-9_]*$": {
"type": "array",
"items": {
"type": "string"
}
}
}
}

297
schemas/config/themes.json Normal file
View File

@ -0,0 +1,297 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"color": {
"type": "string",
"pattern": "^Transparent|(#[0-9A-Fa-f]{6})$"
},
"decimal": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$"
}
},
"type": "object",
"patternProperties": {
"^[a-zA-Z_][a-zA-Z0-9_]*$": {
"type": "object",
"properties": {
"CustomDialogFontSize": {
"type": "string",
"pattern": "^\\d+$"
},
"CustomDialogFontSizeHeader": {
"type": "string",
"pattern": "^\\d+$"
},
"CustomDialogIconSize": {
"type": "string",
"pattern": "^\\d+$"
},
"CustomDialogWidth": {
"type": "string",
"pattern": "^\\d+$"
},
"CustomDialogHeight": {
"type": "string",
"pattern": "^\\d+$"
},
"FontSize": {
"type": "string",
"pattern": "^\\d+$"
},
"FontFamily": {
"type": "string"
},
"FontSizeHeading": {
"type": "string",
"pattern": "^\\d+$"
},
"HeaderFontFamily": {
"type": "string"
},
"CheckBoxBulletDecoratorFontSize": {
"type": "string",
"pattern": "^\\d+$"
},
"CheckBoxMargin": {
"type": "string"
},
"TabButtonFontSize": {
"type": "string",
"pattern": "^\\d+$"
},
"TabButtonWidth": {
"type": "string",
"pattern": "^\\d+$"
},
"TabButtonHeight": {
"type": "string",
"pattern": "^\\d+$"
},
"TabRowHeightInPixels": {
"type": "string",
"pattern": "^\\d+$"
},
"IconFontSize": {
"type": "string",
"pattern": "^\\d+$"
},
"IconButtonSize": {
"type": "string",
"pattern": "^\\d+$"
},
"WinUtilIconSize": {
"type": "string"
},
"SettingsIconFontSize": {
"type": "string",
"pattern": "^\\d+$"
},
"MicroWinLogoSize": {
"type": "string",
"pattern": "^\\d+$"
},
"ProgressBarForegroundColor": {
"$ref": "#/definitions/color"
},
"ProgressBarBackgroundColor": {
"$ref": "#/definitions/color"
},
"ProgressBarTextColor": {
"$ref": "#/definitions/color"
},
"ComboBoxBackgroundColor": {
"$ref": "#/definitions/color"
},
"LabelboxForegroundColor": {
"$ref": "#/definitions/color"
},
"MainForegroundColor": {
"$ref": "#/definitions/color"
},
"MainBackgroundColor": {
"$ref": "#/definitions/color"
},
"LabelBackgroundColor": {
"$ref": "#/definitions/color"
},
"LinkForegroundColor": {
"$ref": "#/definitions/color"
},
"LinkHoverForegroundColor": {
"$ref": "#/definitions/color"
},
"GroupBorderBackgroundColor": {
"$ref": "#/definitions/color"
},
"ComboBoxForegroundColor": {
"$ref": "#/definitions/color"
},
"ButtonFontSize": {
"type": "string",
"pattern": "^\\d+$"
},
"ButtonFontFamily": {
"type": "string"
},
"ButtonWidth": {
"type": "string",
"pattern": "^\\d+$"
},
"ButtonHeight": {
"type": "string",
"pattern": "^\\d+$"
},
"ConfigTabButtonFontSize": {
"type": "string",
"pattern": "^\\d+$"
},
"SearchBarWidth": {
"type": "string",
"pattern": "^\\d+$"
},
"SearchBarHeight": {
"type": "string",
"pattern": "^\\d+$"
},
"SearchBarTextBoxFontSize": {
"type": "string",
"pattern": "^\\d+$"
},
"SearchBarClearButtonFontSize": {
"type": "string",
"pattern": "^\\d+$"
},
"ButtonInstallBackgroundColor": {
"$ref": "#/definitions/color"
},
"ButtonTweaksBackgroundColor": {
"$ref": "#/definitions/color"
},
"ButtonConfigBackgroundColor": {
"$ref": "#/definitions/color"
},
"ButtonUpdatesBackgroundColor": {
"$ref": "#/definitions/color"
},
"ButtonInstallForegroundColor": {
"$ref": "#/definitions/color"
},
"ButtonTweaksForegroundColor": {
"$ref": "#/definitions/color"
},
"ButtonConfigForegroundColor": {
"$ref": "#/definitions/color"
},
"ButtonUpdatesForegroundColor": {
"$ref": "#/definitions/color"
},
"ButtonBackgroundColor": {
"$ref": "#/definitions/color"
},
"ButtonBackgroundPressedColor": {
"$ref": "#/definitions/color"
},
"CheckboxMouseOverColor": {
"$ref": "#/definitions/color"
},
"ButtonBackgroundMouseoverColor": {
"$ref": "#/definitions/color"
},
"ButtonBackgroundSelectedColor": {
"$ref": "#/definitions/color"
},
"ButtonForegroundColor": {
"$ref": "#/definitions/color"
},
"ToggleButtonOnColor": {
"$ref": "#/definitions/color"
},
"ButtonBorderThickness": {
"type": "string",
"pattern": "^\\d+$"
},
"ButtonMargin": {
"type": "string",
"pattern": "^\\d+$"
},
"ButtonCornerRadius": {
"type": "string",
"pattern": "^\\d+$"
},
"BorderColor": {
"$ref": "#/definitions/color"
},
"BorderOpacity": {
"$ref": "#/definitions/decimal"
},
"ShadowPulse": {
"type": "string"
}
},
"required": [
"CustomDialogFontSize",
"CustomDialogFontSizeHeader",
"CustomDialogIconSize",
"CustomDialogWidth",
"CustomDialogHeight",
"FontSize",
"FontFamily",
"FontSizeHeading",
"HeaderFontFamily",
"CheckBoxBulletDecoratorFontSize",
"CheckBoxMargin",
"TabButtonFontSize",
"TabButtonWidth",
"TabButtonHeight",
"TabRowHeightInPixels",
"IconFontSize",
"IconButtonSize",
"WinUtilIconSize",
"SettingsIconFontSize",
"MicroWinLogoSize",
"ProgressBarForegroundColor",
"ProgressBarBackgroundColor",
"ProgressBarTextColor",
"ComboBoxBackgroundColor",
"LabelboxForegroundColor",
"MainForegroundColor",
"MainBackgroundColor",
"LabelBackgroundColor",
"LinkForegroundColor",
"LinkHoverForegroundColor",
"ComboBoxForegroundColor",
"ButtonFontSize",
"ButtonFontFamily",
"ButtonWidth",
"ButtonHeight",
"ConfigTabButtonFontSize",
"SearchBarWidth",
"SearchBarHeight",
"SearchBarTextBoxFontSize",
"SearchBarClearButtonFontSize",
"ButtonInstallBackgroundColor",
"ButtonTweaksBackgroundColor",
"ButtonConfigBackgroundColor",
"ButtonUpdatesBackgroundColor",
"ButtonInstallForegroundColor",
"ButtonTweaksForegroundColor",
"ButtonConfigForegroundColor",
"ButtonUpdatesForegroundColor",
"ButtonBackgroundColor",
"ButtonBackgroundPressedColor",
"ButtonBackgroundMouseoverColor",
"ButtonBackgroundSelectedColor",
"ButtonForegroundColor",
"ToggleButtonOnColor",
"ButtonBorderThickness",
"ButtonMargin",
"ButtonCornerRadius",
"BorderColor",
"BorderOpacity",
"ShadowPulse"
],
"additionalProperties": false
}
}
}

121
schemas/config/tweaks.json Normal file
View File

@ -0,0 +1,121 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"definitions": {
"toggle-state": {
"type": "string",
"enum": ["Enabled", "Disabled"]
}
},
"patternProperties": {
"^[a-zA-Z_][a-zA-Z0-9_]*$": {
"type": "object",
"properties": {
"Content": {
"type": "string"
},
"Description": {
"type": "string"
},
"category": {
"type": "string",
"enum": [
"Essential Tweaks",
"Performance Plans",
"Customize Preferences",
"z__Advanced Tweaks - CAUTION",
"Shortcuts"
]
},
"panel": {
"type": "string",
"pattern": "^\\d+$"
},
"Order": {
"type": "string",
"pattern": "^[0-9a-f]+_$"
},
"registry": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Path": {
"type": "string"
},
"Name": {
"type": "string"
},
"Type": {
"type": "string"
},
"Value": {
"type": "string"
},
"OriginalValue": {
"type": "string"
}
},
"required": ["Path", "Name", "Type", "Value", "OriginalValue"]
}
},
"service": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"StartupType": {
"type": "string"
},
"OriginalType": {
"type": "string"
}
},
"required": ["Name", "StartupType", "OriginalType"]
}
},
"appx": {
"type": "array",
"items": {
"type": "string"
}
},
"ScheduledTask": {
"type":"array",
"items": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"State": {
"$ref": "#/definitions/toggle-state"
},
"OriginalState": {
"$ref": "#/definitions/toggle-state"
}
},
"required": ["Name", "State", "OriginalState"]
}
},
"InvokeScript": {
"type": "array",
"items": {
"type": "string"
}
},
"UndoScript": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["Content", "Description", "category", "panel", "Order"],
"additionalProperties": false
}
}
}

View File

@ -563,17 +563,17 @@ function Add-LinkAttributeToJson {
}
Update-Progress "Loading JSON files" 10
$tweaks = Get-Content -Path "config/tweaks.json" | ConvertFrom-Json
$features = Get-Content -Path "config/feature.json" | ConvertFrom-Json
$tweaks = Get-Content -Path "../config/tweaks.json" | ConvertFrom-Json
$features = Get-Content -Path "../config/feature.json" | ConvertFrom-Json
Update-Progress "Getting last modified dates of the JSON files" 20
$tweaksLastModified = (Get-Item "config/tweaks.json").LastWriteTime.ToString("yyyy-MM-dd")
$featuresLastModified = (Get-Item "config/feature.json").LastWriteTime.ToString("yyyy-MM-dd")
$tweaksLastModified = (Get-Item "../config/tweaks.json").LastWriteTime.ToString("yyyy-MM-dd")
$featuresLastModified = (Get-Item "../config/feature.json").LastWriteTime.ToString("yyyy-MM-dd")
$tweaksOutputDir = "docs/dev/tweaks"
$featuresOutputDir = "docs/dev/features"
$privateFunctionsDir = "functions/private"
$publicFunctionsDir = "functions/public"
$tweaksOutputDir = "../docs/dev/tweaks"
$featuresOutputDir = "../docs/dev/features"
$privateFunctionsDir = "../functions/private"
$publicFunctionsDir = "../functions/public"
$functions = @{}
$itemnametocut = "WPF(WinUtil|Toggle|Features?|Tweaks?|Panel|Fix(es)?)?"
@ -592,7 +592,7 @@ Load-Functions -dir $publicFunctionsDir
Update-Progress "Adding documentation links to JSON files" 50
# Define the JSON file paths
$jsonPaths = @(".\config\feature.json", ".\config\tweaks.json")
$jsonPaths = @("../config/feature.json", "../config/tweaks.json")
# Loop through each JSON file path
foreach ($jsonPath in $jsonPaths) {
@ -612,12 +612,12 @@ foreach ($jsonPath in $jsonPaths) {
Set-Content -Path $jsonPath -Value $jsonString
}
Add-LinkAttributeToJson -jsonFilePath "config/tweaks.json" -outputDir "dev/tweaks"
Add-LinkAttributeToJson -jsonFilePath "config/feature.json" -outputDir "dev/features"
Add-LinkAttributeToJson -jsonFilePath "../config/tweaks.json" -outputDir "dev/tweaks"
Add-LinkAttributeToJson -jsonFilePath "../config/feature.json" -outputDir "dev/features"
Update-Progress "Generating content for documentation" 60
$tweakResult = Generate-MarkdownFiles -data $tweaks -outputDir $tweaksOutputDir -jsonFilePath "config/tweaks.json" -lastModified $tweaksLastModified -type "tweak" -initialProgress 60
$featureResult = Generate-MarkdownFiles -data $features -outputDir $featuresOutputDir -jsonFilePath "config/feature.json" -lastModified $featuresLastModified -type "feature" -initialProgress 70
$tweakResult = Generate-MarkdownFiles -data $tweaks -outputDir $tweaksOutputDir -jsonFilePath "../config/tweaks.json" -lastModified $tweaksLastModified -type "tweak" -initialProgress 60
$featureResult = Generate-MarkdownFiles -data $features -outputDir $featuresOutputDir -jsonFilePath "../config/feature.json" -lastModified $featuresLastModified -type "feature" -initialProgress 70
Update-Progress "Generating table of contents" 80
$allTocEntries = $tweakResult.TocEntries + $featureResult.TocEntries
@ -639,6 +639,6 @@ $indexContent += Process-MultilineStrings @"
\\
"@
$indexContent += $(Generate-TypeSectionContent $featureEntries) + "`r`n"
Set-Content -Path "docs/devdocs.md" -Value $indexContent -Encoding utf8
Set-Content -Path "../docs/devdocs.md" -Value $indexContent -Encoding utf8
Update-Progress "Process Completed" 100