mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2025-07-04 20:23:52 -05:00
Compare commits
24 Commits
24.08.13
...
50cb1be797
Author | SHA1 | Date | |
---|---|---|---|
50cb1be797 | |||
4d2ea15e19 | |||
b0d54e41ad | |||
d0fa506e4f | |||
67be99bb7b | |||
46d9e2c437 | |||
863dd83faa | |||
09eb4eaa00 | |||
17d523d8f8 | |||
fa17abdd49 | |||
77e5c254a5 | |||
b9b617ea81 | |||
14efc4f4f6 | |||
632f295355 | |||
e7d0637396 | |||
e2a870f746 | |||
8844b85531 | |||
5e2acadee5 | |||
c61b1e899b | |||
6fedea17ec | |||
483baea1a4 | |||
5a60625553 | |||
26256e14f8 | |||
4d7e6ded11 |
0
LICENSE → .github/LICENSE
vendored
0
LICENSE → .github/LICENSE
vendored
5
.github/SECURITY.md
vendored
Normal file
5
.github/SECURITY.md
vendored
Normal 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://discord.gg/RUbZUZyByQ)
|
3
mkdocs.yml → .github/mkdocs.yml
vendored
3
mkdocs.yml → .github/mkdocs.yml
vendored
@ -1,4 +1,5 @@
|
|||||||
site_name: WinUtil Documentation
|
site_name: WinUtil Documentation
|
||||||
|
docs_dir: '../docs'
|
||||||
repo_url: https://github.com/ChrisTitusTech/winutil
|
repo_url: https://github.com/ChrisTitusTech/winutil
|
||||||
|
|
||||||
nav:
|
nav:
|
||||||
@ -12,7 +13,7 @@ nav:
|
|||||||
|
|
||||||
theme:
|
theme:
|
||||||
name: material
|
name: material
|
||||||
custom_dir: 'overrides'
|
custom_dir: '../overrides'
|
||||||
features:
|
features:
|
||||||
- navigation.tabs
|
- navigation.tabs
|
||||||
- navigation.sections
|
- navigation.sections
|
6
.github/workflows/github-pages.yaml
vendored
6
.github/workflows/github-pages.yaml
vendored
@ -24,8 +24,8 @@ jobs:
|
|||||||
python-version: 3.x # Install latest Stable release of Python 3
|
python-version: 3.x # Install latest Stable release of Python 3
|
||||||
cache: 'pip' # caching pip dependencies
|
cache: 'pip' # caching pip dependencies
|
||||||
|
|
||||||
- name: Install Necessary Dependencies using 'pip install -r requirements.txt'
|
- name: Install Necessary Dependencies using 'pip install -r .github/requirements.txt'
|
||||||
run: pip install -r requirements.txt
|
run: pip install -r .github/requirements.txt
|
||||||
|
|
||||||
- name: Build & Deploy using 'mkdocs'
|
- name: Build & Deploy using 'mkdocs'
|
||||||
run: mkdocs gh-deploy --force
|
run: mkdocs gh-deploy --force -f .github/mkdocs.yml
|
10
Compile.ps1
10
Compile.ps1
@ -70,7 +70,15 @@ Get-ChildItem "$workingdir\config" | Where-Object {$psitem.extension -eq ".json"
|
|||||||
# Replace every XML Special Character so it'll render correctly in final build
|
# 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)
|
# 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
|
# Make an Array List containing every name at first level of Json File
|
||||||
$jsonAsObject = $json | convertfrom-json
|
[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()
|
$firstLevelJsonList = [System.Collections.ArrayList]::new()
|
||||||
$jsonAsObject.PSObject.Properties.Name | ForEach-Object {$null = $firstLevelJsonList.Add($_)}
|
$jsonAsObject.PSObject.Properties.Name | ForEach-Object {$null = $firstLevelJsonList.Add($_)}
|
||||||
# Note:
|
# Note:
|
||||||
|
@ -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.
|
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 to all Contributors
|
||||||
Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻.
|
Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻.
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"$schema": "../schemas/config/applications.json",
|
||||||
"1password": {
|
"1password": {
|
||||||
"category": "Utilities",
|
"category": "Utilities",
|
||||||
"choco": "1password",
|
"choco": "1password",
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"$schema": "../schemas/config/dns.json",
|
||||||
"Google":{
|
"Google":{
|
||||||
"Primary": "8.8.8.8",
|
"Primary": "8.8.8.8",
|
||||||
"Secondary": "8.8.4.4",
|
"Secondary": "8.8.4.4",
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"$schema": "../schemas/config/feature.json",
|
||||||
"WPFFeaturesdotnet": {
|
"WPFFeaturesdotnet": {
|
||||||
"Content": "All .Net Framework (2,3,4)",
|
"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.",
|
"Description": ".NET and .NET Framework is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.",
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"$schema": "../schemas/config/preset.json",
|
||||||
"Standard": [
|
"Standard": [
|
||||||
"WPFTweaksAH",
|
"WPFTweaksAH",
|
||||||
"WPFTweaksConsumerFeatures",
|
"WPFTweaksConsumerFeatures",
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"$schema": "../schemas/config/themes.json",
|
||||||
"Classic": {
|
"Classic": {
|
||||||
"CustomDialogFontSize": "12",
|
"CustomDialogFontSize": "12",
|
||||||
"CustomDialogFontSizeHeader": "14",
|
"CustomDialogFontSizeHeader": "14",
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"$schema": "../schemas/config/tweaks.json",
|
||||||
"WPFTweaksAH": {
|
"WPFTweaksAH": {
|
||||||
"Content": "Disable Activity History",
|
"Content": "Disable Activity History",
|
||||||
"Description": "This erases recent docs, clipboard, and run history.",
|
"Description": "This erases recent docs, clipboard, and run history.",
|
||||||
|
@ -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. -->
|
<!-- The content is sourced from "CONTRIBUTING.md," located in the root directory of the project. -->
|
||||||
|
@ -132,6 +132,8 @@ function Remove-ProvisionedPackages() {
|
|||||||
.EXAMPLE
|
.EXAMPLE
|
||||||
Remove-ProvisionedPackages
|
Remove-ProvisionedPackages
|
||||||
#>
|
#>
|
||||||
|
try
|
||||||
|
{
|
||||||
$appxProvisionedPackages = Get-AppxProvisionedPackage -Path "$($scratchDir)" | Where-Object {
|
$appxProvisionedPackages = Get-AppxProvisionedPackage -Path "$($scratchDir)" | Where-Object {
|
||||||
$_.PackageName -NotLike "*AppInstaller*" -AND
|
$_.PackageName -NotLike "*AppInstaller*" -AND
|
||||||
$_.PackageName -NotLike "*Store*" -and
|
$_.PackageName -NotLike "*Store*" -and
|
||||||
@ -153,7 +155,6 @@ function Remove-ProvisionedPackages() {
|
|||||||
$_.PackageName -NotLike "*Gaming*" -and
|
$_.PackageName -NotLike "*Gaming*" -and
|
||||||
$_.PackageName -NotLike "*Extension*" -and
|
$_.PackageName -NotLike "*Extension*" -and
|
||||||
$_.PackageName -NotLike "*SecHealthUI*"
|
$_.PackageName -NotLike "*SecHealthUI*"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$counter = 0
|
$counter = 0
|
||||||
@ -169,6 +170,12 @@ function Remove-ProvisionedPackages() {
|
|||||||
}
|
}
|
||||||
Write-Progress -Activity "Removing Provisioned Apps" -Status "Ready" -Completed
|
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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function Copy-ToUSB([string]$fileToCopy) {
|
function Copy-ToUSB([string]$fileToCopy) {
|
||||||
foreach ($volume in Get-Volume) {
|
foreach ($volume in Get-Volume) {
|
||||||
|
@ -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:"$_" }
|
|
55
schemas/config/applications.json
Normal file
55
schemas/config/applications.json
Normal 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
29
schemas/config/dns.json
Normal 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
57
schemas/config/feature.json
Normal file
57
schemas/config/feature.json
Normal 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12
schemas/config/preset.json
Normal file
12
schemas/config/preset.json
Normal 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
297
schemas/config/themes.json
Normal 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
121
schemas/config/tweaks.json
Normal 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -563,17 +563,17 @@ function Add-LinkAttributeToJson {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Update-Progress "Loading JSON files" 10
|
Update-Progress "Loading JSON files" 10
|
||||||
$tweaks = Get-Content -Path "config/tweaks.json" | ConvertFrom-Json
|
$tweaks = Get-Content -Path "../config/tweaks.json" | ConvertFrom-Json
|
||||||
$features = Get-Content -Path "config/feature.json" | ConvertFrom-Json
|
$features = Get-Content -Path "../config/feature.json" | ConvertFrom-Json
|
||||||
|
|
||||||
Update-Progress "Getting last modified dates of the JSON files" 20
|
Update-Progress "Getting last modified dates of the JSON files" 20
|
||||||
$tweaksLastModified = (Get-Item "config/tweaks.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")
|
$featuresLastModified = (Get-Item "../config/feature.json").LastWriteTime.ToString("yyyy-MM-dd")
|
||||||
|
|
||||||
$tweaksOutputDir = "docs/dev/tweaks"
|
$tweaksOutputDir = "../docs/dev/tweaks"
|
||||||
$featuresOutputDir = "docs/dev/features"
|
$featuresOutputDir = "../docs/dev/features"
|
||||||
$privateFunctionsDir = "functions/private"
|
$privateFunctionsDir = "../functions/private"
|
||||||
$publicFunctionsDir = "functions/public"
|
$publicFunctionsDir = "../functions/public"
|
||||||
$functions = @{}
|
$functions = @{}
|
||||||
$itemnametocut = "WPF(WinUtil|Toggle|Features?|Tweaks?|Panel|Fix(es)?)?"
|
$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
|
Update-Progress "Adding documentation links to JSON files" 50
|
||||||
|
|
||||||
# Define the JSON file paths
|
# 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
|
# Loop through each JSON file path
|
||||||
foreach ($jsonPath in $jsonPaths) {
|
foreach ($jsonPath in $jsonPaths) {
|
||||||
@ -612,12 +612,12 @@ foreach ($jsonPath in $jsonPaths) {
|
|||||||
Set-Content -Path $jsonPath -Value $jsonString
|
Set-Content -Path $jsonPath -Value $jsonString
|
||||||
}
|
}
|
||||||
|
|
||||||
Add-LinkAttributeToJson -jsonFilePath "config/tweaks.json" -outputDir "dev/tweaks"
|
Add-LinkAttributeToJson -jsonFilePath "../config/tweaks.json" -outputDir "dev/tweaks"
|
||||||
Add-LinkAttributeToJson -jsonFilePath "config/feature.json" -outputDir "dev/features"
|
Add-LinkAttributeToJson -jsonFilePath "../config/feature.json" -outputDir "dev/features"
|
||||||
|
|
||||||
Update-Progress "Generating content for documentation" 60
|
Update-Progress "Generating content for documentation" 60
|
||||||
$tweakResult = Generate-MarkdownFiles -data $tweaks -outputDir $tweaksOutputDir -jsonFilePath "config/tweaks.json" -lastModified $tweaksLastModified -type "tweak" -initialProgress 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
|
$featureResult = Generate-MarkdownFiles -data $features -outputDir $featuresOutputDir -jsonFilePath "../config/feature.json" -lastModified $featuresLastModified -type "feature" -initialProgress 70
|
||||||
|
|
||||||
Update-Progress "Generating table of contents" 80
|
Update-Progress "Generating table of contents" 80
|
||||||
$allTocEntries = $tweakResult.TocEntries + $featureResult.TocEntries
|
$allTocEntries = $tweakResult.TocEntries + $featureResult.TocEntries
|
||||||
@ -639,6 +639,6 @@ $indexContent += Process-MultilineStrings @"
|
|||||||
\\
|
\\
|
||||||
"@
|
"@
|
||||||
$indexContent += $(Generate-TypeSectionContent $featureEntries) + "`r`n"
|
$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
|
Update-Progress "Process Completed" 100
|
Reference in New Issue
Block a user