diff --git a/.gitignore b/.gitignore index 3037965..4c0af10 100644 --- a/.gitignore +++ b/.gitignore @@ -403,4 +403,9 @@ FodyWeavers.xsd # JetBrains software .idea/ -MicroWin_DT/ \ No newline at end of file +MicroWin_DT/ + +# Hugo Files +docs/public/ +docs/.hugo_build.lock +docs/resources/ \ No newline at end of file diff --git a/Docs/archetypes/default.md b/Docs/archetypes/default.md new file mode 100644 index 0000000..3e72f68 --- /dev/null +++ b/Docs/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: '{{ replace .File.ContentBaseName "-" " " | title }}' +description: "" +date: '{{ .Date }}' +draft: true +--- diff --git a/Docs/content/CONTRIBUTING.md b/Docs/content/CONTRIBUTING.md new file mode 100644 index 0000000..6423b6f --- /dev/null +++ b/Docs/content/CONTRIBUTING.md @@ -0,0 +1,16 @@ +--- +toc: true +--- + +## Contributing to the repository + +**Requirements:** +- Visual Studio 2026 +- .NET Desktop development workload + +To contribute to the repository: + +1. Fork the repository and clone said fork +2. Open the project +3. Make your changes **AND TEST THEM** +4. Create a pull request \ No newline at end of file diff --git a/Docs/content/KnownIssues.md b/Docs/content/KnownIssues.md new file mode 100644 index 0000000..d4e7466 --- /dev/null +++ b/Docs/content/KnownIssues.md @@ -0,0 +1,5 @@ +--- +title: Known Issues +toc: true +--- + diff --git a/Docs/content/_index.md b/Docs/content/_index.md new file mode 100644 index 0000000..18cf721 --- /dev/null +++ b/Docs/content/_index.md @@ -0,0 +1,23 @@ +--- +title: Welcome to MicroWin Documentation! +toc: false +width: full +--- + +## About MicroWin + +**MicroWin** is a Windows system customization and optimization tool written in C#. It's a continuation and rewrite of the popular MicroWin project that was originally integrated into WinUtil. The tool allows advanced users to: + +- **Debloat Windows** by removing store apps, features, and unnecessary software +- **Optimize system performance** through registry modifications and service management +- **Customize Windows** to suit specific needs and preferences +- **Create customized Windows images** using DISM and other system tools + +The project is currently in **ALPHA** stages and designed for users with Windows systems administration knowledge. It requires administrator privileges to run and provides a GUI-based interface for managing complex system modifications on Windows 10 and Windows 11. + +> [!WARNING] +> **DISCLAIMER:** Only use this project if you know what you're doing! If you don't have experience with Windows systems management, please do not use this software. It can make significant changes to your Windows installation. + +Explore the documentation to learn more about getting started, the architecture, and contributing to the project. + + diff --git a/Docs/content/dev/_index.md b/Docs/content/dev/_index.md new file mode 100644 index 0000000..8269c7a --- /dev/null +++ b/Docs/content/dev/_index.md @@ -0,0 +1,12 @@ +--- +title: Developer Reference +weight: 3 +toc: false +--- + +> [!NOTE] +> This section contains technical documentation for developers. For end-user documentation, see the [User Guide](../userguide/). + +## Architecture + +- [Architecture & Design](architecture/) - Code structure, data flow, and how Microwin works internally diff --git a/Docs/content/dev/architecture.md b/Docs/content/dev/architecture.md new file mode 100644 index 0000000..eee17f9 --- /dev/null +++ b/Docs/content/dev/architecture.md @@ -0,0 +1,6 @@ +--- +title: Architecture & Design +weight: 1 +toc: true +--- + diff --git a/Docs/content/faq.md b/Docs/content/faq.md new file mode 100644 index 0000000..16a3d86 --- /dev/null +++ b/Docs/content/faq.md @@ -0,0 +1,5 @@ +--- +title: Frequently Asked Questions +toc: true +--- + diff --git a/Docs/content/userguide/_index.md b/Docs/content/userguide/_index.md new file mode 100644 index 0000000..bd6b6c9 --- /dev/null +++ b/Docs/content/userguide/_index.md @@ -0,0 +1,16 @@ +--- +title: User Guide +weight: 2 +--- + +## Usage + +**HUGE DISCLAIMER: ONLY USE THIS PROJECT IF YOU KNOW WHAT YOU'RE DOING!!! IF YOU EITHER DON'T KNOW WHAT YOU'RE DOING, OR YOU DON'T KNOW WINDOWS SYSTEMS MANAGEMENT, DO NOT USE THIS SOFTWARE.** Grab [DISMTools](https://github.com/CodingWonders/DISMTools) if you want to learn systems management. Please. + +1. Download the latest release +2. Extract it +3. Run the tool as an administrator + +> [!NOTE] +> The application is not signed with code-signing certificates because of how expensive these are. Please turn off your antivirus or add an exclusion. We don't want any issue reports of that topic. + diff --git a/Docs/content/userguide/getting-started.md b/Docs/content/userguide/getting-started.md new file mode 100644 index 0000000..538f591 --- /dev/null +++ b/Docs/content/userguide/getting-started.md @@ -0,0 +1,4 @@ +--- +title: Getting Started with Microwin +weight: 1 +--- diff --git a/Docs/go.mod b/Docs/go.mod new file mode 100644 index 0000000..54c0117 --- /dev/null +++ b/Docs/go.mod @@ -0,0 +1,5 @@ +module github.com/CodingWonders/MicroWin + +go 1.23.3 + +require github.com/imfing/hextra v0.11.1 // indirect diff --git a/Docs/go.sum b/Docs/go.sum new file mode 100644 index 0000000..efb638f --- /dev/null +++ b/Docs/go.sum @@ -0,0 +1,2 @@ +github.com/imfing/hextra v0.11.1 h1:8pTc4ReYbzGTHAnyiebmlT3ijFfIXiGu1r7tM/UGjFI= +github.com/imfing/hextra v0.11.1/go.mod h1:cEfel3lU/bSx7lTE/+uuR4GJaphyOyiwNR3PTqFTXpI= diff --git a/Docs/hugo.toml b/Docs/hugo.toml new file mode 100644 index 0000000..3ca659d --- /dev/null +++ b/Docs/hugo.toml @@ -0,0 +1,109 @@ +baseURL = "example.com" +languageCode = "en-us" +title = "Microwin Documentation" +enableGitInfo = true +canonifyURLs = true + +[[module.mounts]] + source = "assets" + target = "assets" + +[[module.imports]] +path = "github.com/imfing/hextra" + +[[menu.main]] +name = "Developer Documentation" +pageRef = "/dev" +weight = 1 + +[[menu.main]] +name = "User Guides" +pageRef = "/userguide" +weight = 2 + +[[menu.main]] +name = "Contribution Guides" +pageRef = "CONTRIBUTING.md" +weight = 3 + +[[menu.main]] +name = "FAQ" +pageRef = "faq.md" +weight = 4 + +[[menu.main]] +name = "Known Issues" +pageRef = "KnownIssues.md" +weight = 4 + +[[menu.main]] +name = "Search" +weight = 6 + + [menu.main.params] + type = "search" + +[[menu.main]] +name = "GitHub" +weight = 7 +url = "https://github.com/CodingWonders/MicroWin" + + [menu.main.params] + icon = "github" + +[params] +description = "Microwin Windows Utility - Customize Your windows iso" +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/CodingWonders/MicroWin" + weight = 2 + + [[menu.sidebar]] + name = "Discord Server ↗" + url = "" + weight = 3 + + +[markup] + [markup.goldmark] + [markup.goldmark.renderer] + unsafe = true diff --git a/Docs/i18n/en.yaml b/Docs/i18n/en.yaml new file mode 100644 index 0000000..ce05c19 --- /dev/null +++ b/Docs/i18n/en.yaml @@ -0,0 +1,24 @@ +copyright: "© Microwin. 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: "" +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 new file mode 100644 index 0000000..9243b03 --- /dev/null +++ b/Docs/layouts/shortcodes/autolinks.html @@ -0,0 +1,17 @@ +{{- $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 -}} + diff --git a/Docs/layouts/shortcodes/image.html b/Docs/layouts/shortcodes/image.html new file mode 100644 index 0000000..5c182f1 --- /dev/null +++ b/Docs/layouts/shortcodes/image.html @@ -0,0 +1,114 @@ +{{/*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 }}