From 5ae867197b9cea61c78ae2ae6c59dfb8d079d4a8 Mon Sep 17 00:00:00 2001 From: NinjaCheetah <58050615+NinjaCheetah@users.noreply.github.com> Date: Sat, 25 Jan 2025 20:40:44 -0500 Subject: [PATCH] (doc) Workaround for ScrollSpy issue breaking TOC --- docs/source/archive/archive.md | 7 +++++-- docs/source/archive/ash.md | 2 ++ docs/source/archive/lz77.md | 2 ++ docs/source/archive/u8.md | 2 ++ docs/source/conf.py | 3 ++- docs/source/media/banner.md | 2 ++ docs/source/media/media.md | 7 +++++-- docs/source/nand/emunand.md | 2 ++ docs/source/nand/nand.md | 7 +++++-- docs/source/nand/setting.md | 2 ++ docs/source/nand/sys.md | 2 ++ docs/source/title/cert.md | 2 ++ docs/source/title/commonkeys.md | 2 ++ docs/source/title/content.md | 2 ++ docs/source/title/crypto.md | 2 ++ docs/source/title/iospatcher.md | 2 ++ docs/source/title/nus.md | 2 ++ docs/source/title/ticket.md | 2 ++ docs/source/title/title.md | 6 ++++-- docs/source/title/title.title.md | 3 ++- docs/source/title/tmd.md | 2 ++ docs/source/title/util.md | 2 ++ docs/source/title/wad.md | 2 ++ 23 files changed, 57 insertions(+), 10 deletions(-) diff --git a/docs/source/archive/archive.md b/docs/source/archive/archive.md index cce35e5..6f605e7 100644 --- a/docs/source/archive/archive.md +++ b/docs/source/archive/archive.md @@ -1,15 +1,18 @@ # libWiiPy.archive Package -## Modules +## Description + The `libWiiPy.archive` package contains modules for packing and extracting archive formats used by the Wii. This currently includes packing and unpacking support for U8 archives and decompression support for ASH archives. +## Modules + | Module | Description | |----------------------------------------|---------------------------------------------------------| | [libWiiPy.archive.ash](/archive/ash) | Provides support for decompressing ASH archives | | [libWiiPy.archive.lz77](/archive/lz77) | Provides support for the LZ77 compression scheme | | [libWiiPy.archive.u8](/archive/u8) | Provides support for packing and extracting U8 archives | -### libWiiPy.archive Package Contents +## Full Package Contents ```{toctree} :maxdepth: 4 diff --git a/docs/source/archive/ash.md b/docs/source/archive/ash.md index 2af9257..e86ff32 100644 --- a/docs/source/archive/ash.md +++ b/docs/source/archive/ash.md @@ -1,5 +1,7 @@ # libWiiPy.archive.ash Module +## Description + The `libWiiPy.archive.ash` module provides support for handling ASH files, which are a compressed format primarily used in the Wii Menu, but also in some other titles such as My Pokémon Ranch. At present, libWiiPy only has support for decompressing ASH files, with compression as a planned feature for the future. diff --git a/docs/source/archive/lz77.md b/docs/source/archive/lz77.md index 5098bd7..6f8126f 100644 --- a/docs/source/archive/lz77.md +++ b/docs/source/archive/lz77.md @@ -1,5 +1,7 @@ # libWiiPy.archive.lz77 Module +## Description + The `libWiiPy.archive.lz77` module provides support for handling LZ77 compression, which is a compression format used across the Wii and other Nintendo consoles. ## Module Contents diff --git a/docs/source/archive/u8.md b/docs/source/archive/u8.md index ea916f3..91ed205 100644 --- a/docs/source/archive/u8.md +++ b/docs/source/archive/u8.md @@ -1,5 +1,7 @@ # libWiiPy.archive.u8 Module +## Description + The `libWiiPy.archive.u8` module provides support for handling U8 archives, which are a non-compressed archive format used extensively on the Wii to join multiple files into one. This module exposes functions for both packing and unpacking U8 archives, as well as code to parse IMET headers. IMET headers are a header format used specifically for U8 archives containing the banner of a channel, as they store the localized name of the channel along with other banner metadata. diff --git a/docs/source/conf.py b/docs/source/conf.py index 06c313e..783291a 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -31,7 +31,8 @@ html_logo = "banner.png" html_title = "libWiiPy API Docs" html_theme_options = { "repository_url": "https://github.com/NinjaCheetah/libWiiPy", - "use_repository_button": True + "use_repository_button": True, + "show_toc_level": 3 } # MyST Configuration diff --git a/docs/source/media/banner.md b/docs/source/media/banner.md index a67b0e4..2770ee4 100644 --- a/docs/source/media/banner.md +++ b/docs/source/media/banner.md @@ -1,5 +1,7 @@ # libWiiPy.media.banner Module +## Description + The `libWiiPy.media.banner` module is essentially a stub at this point in time. It only provides one dataclass that is likely to become a traditional class when fully implemented. It is not recommended to use this module for anything yet. ## Module Contents diff --git a/docs/source/media/media.md b/docs/source/media/media.md index 50fbbeb..4acb463 100644 --- a/docs/source/media/media.md +++ b/docs/source/media/media.md @@ -1,13 +1,16 @@ # libWiiPy.media Package -## Modules +## Description + The `libWiiPy.media` package contains modules used for parsing and editing media formats used by the Wii. This currently only includes limited support for parsing channel banners. +## Modules + | Module | Description | |----------------------------------------|---------------------------------------------------| | [libWiiPy.media.banner](/media/banner) | Provides support for basic channel banner parsing | -### libWiiPy.media Package Contents +## Full Package Contents ```{toctree} :maxdepth: 4 diff --git a/docs/source/nand/emunand.md b/docs/source/nand/emunand.md index ea425ac..83f053d 100644 --- a/docs/source/nand/emunand.md +++ b/docs/source/nand/emunand.md @@ -1,5 +1,7 @@ # libWiiPy.nand.emunand Module +## Description + The `libWiiPy.nand.emunand` module provides support for creating and managing Wii EmuNANDs. At present, you cannot create an EmuNAND compatible with something like NEEK on a real Wii with the features provided by this library, but you can create an EmuNAND compatible with Dolphin. ## Module Contents diff --git a/docs/source/nand/nand.md b/docs/source/nand/nand.md index 685c8d0..992c424 100644 --- a/docs/source/nand/nand.md +++ b/docs/source/nand/nand.md @@ -1,15 +1,18 @@ # libWiiPy.nand Package -## Modules +## Description + The `libWiiPy.nand` package contains modules for parsing and manipulating EmuNANDs as well as modules for parsing and editing core system files found on the Wii's NAND. +## Modules + | Module | Description | |----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------| | [libWiiPy.nand.emunand](/nand/emunand) | Provides support for parsing, creating, and editing EmuNANDs | | [libWiiPy.nand.setting](/nand/setting) | Provides support for parsing, creating, and editing `setting.txt`, which is used to store the console's region and serial number | | [libWiiPy.nand.sys](/nand/sys) | Provides support for parsing, creating, and editing `uid.sys`, which is used to store a log of all titles run on a console | -### libWiiPy.nand Package Contents +## Full Package Contents ```{toctree} :maxdepth: 4 diff --git a/docs/source/nand/setting.md b/docs/source/nand/setting.md index 27eabae..cc13ab6 100644 --- a/docs/source/nand/setting.md +++ b/docs/source/nand/setting.md @@ -1,5 +1,7 @@ # libWiiPy.nand.setting Module +## Description + The `libWiiPy.nand.setting` module provides support for handling the Wii's `setting.txt` file. This file is stored as part of the Wii Menu's save data (stored in `/title/00000001/00000002/data/`) and is an encrypted text file that's primarily used to store your console's serial number and region information. This module allows you to encrypt or decrypt this file, and exposes the keys stored in it for editing. diff --git a/docs/source/nand/sys.md b/docs/source/nand/sys.md index 7559184..297193e 100644 --- a/docs/source/nand/sys.md +++ b/docs/source/nand/sys.md @@ -1,5 +1,7 @@ # libWiiPy.nand.sys Module +## Description + The `libWiiPy.nand.sys` module provides support for editing system files used on the Wii. Currently, it only offers support for `uid.sys`, which keeps a record of the Title IDs of every title launched on the console, assigning each one a unique ID. ## Module Contents diff --git a/docs/source/title/cert.md b/docs/source/title/cert.md index 18a726b..e37d6ec 100644 --- a/docs/source/title/cert.md +++ b/docs/source/title/cert.md @@ -1,5 +1,7 @@ # libWiiPy.title.cert Module +## Description + The `libWiiPy.title.cert` module provides support for parsing the various signing certificates used by the Wii for content validation. This module allows you to write your own code for validating the authenticity of a TMD or Ticket by providing the certificates from the Wii's certificate chain. Both retail and development certificate chains are supported. diff --git a/docs/source/title/commonkeys.md b/docs/source/title/commonkeys.md index 026d883..0b34c5b 100644 --- a/docs/source/title/commonkeys.md +++ b/docs/source/title/commonkeys.md @@ -1,5 +1,7 @@ # libWiiPy.title.commonkeys Module +## Description + The `libWiiPy.title.commonkeys` module simply provides easy access to the Wii's common encryption keys. ## Module Contents diff --git a/docs/source/title/content.md b/docs/source/title/content.md index 2b667da..f9a629a 100644 --- a/docs/source/title/content.md +++ b/docs/source/title/content.md @@ -1,5 +1,7 @@ # libWiiPy.title.content Module +## Description + The `libWiiPy.title.content` module provides support for parsing, adding, removing, and editing content files from a digital Wii title. ## Module Contents diff --git a/docs/source/title/crypto.md b/docs/source/title/crypto.md index ebbb91f..58a04c3 100644 --- a/docs/source/title/crypto.md +++ b/docs/source/title/crypto.md @@ -1,5 +1,7 @@ # libWiiPy.title.crypto Module +## Description + The `libWiiPy.title.crypto` module provides low-level cryptography functions required for handling digital Wii titles. It does not expose many functions that are likely to be required during typical use, and instead acts more as a dependency for other modules. ## Module Contents diff --git a/docs/source/title/iospatcher.md b/docs/source/title/iospatcher.md index a0d9b82..dbd58b5 100644 --- a/docs/source/title/iospatcher.md +++ b/docs/source/title/iospatcher.md @@ -1,5 +1,7 @@ # libWiiPy.title.iospatcher Module +## Description + The `libWiiPy.title.iospatcher` module provides support for applying various binary patches to IOS' ES module. These patches and what they do can be found attached to the methods used to apply them. ## Module Contents diff --git a/docs/source/title/nus.md b/docs/source/title/nus.md index 9097b61..e0437fd 100644 --- a/docs/source/title/nus.md +++ b/docs/source/title/nus.md @@ -1,5 +1,7 @@ # libWiiPy.title.nus Module +## Description + The `libWiiPy.title.nus` module provides support for downloading digital Wii titles from the Nintendo Update Servers. This module provides easy methods for downloading TMDs, common Tickets (when present), encrypted content, and the certificate chain. ## Module Contents diff --git a/docs/source/title/ticket.md b/docs/source/title/ticket.md index ae5fc1a..6477280 100644 --- a/docs/source/title/ticket.md +++ b/docs/source/title/ticket.md @@ -1,5 +1,7 @@ # libWiiPy.title.ticket Module +## Description + The `libWiiPy.title.ticket` module provides support for handling Tickets, which are the license files used to decrypt the content of digital titles during installation. This module allows for easy parsing and editing of Tickets. ## Module Contents diff --git a/docs/source/title/title.md b/docs/source/title/title.md index f4e1a6a..6764bf1 100644 --- a/docs/source/title/title.md +++ b/docs/source/title/title.md @@ -1,7 +1,9 @@ # libWiiPy.title Package +## Description +The `libWiiPy.title` package contains modules for interacting with Wii titles. This is the most complete package in libWiiPy, as it offers the functionality one would be most likely to need. As a result, it gets the most attention during development and should be the most reliable. + ## Modules -The `libWiiPy.title` package contains modules for interacting with Wii titles. This is the most complete package in libWiiPy, and therefore offers the most functionality. | Module | Description | |------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------| @@ -17,7 +19,7 @@ The `libWiiPy.title` package contains modules for interacting with Wii titles. T | [libWiiPy.title.util](/title/util) | Provides some simple utility functions relating to titles | | [libWiiPy.title.wad](/title/wad) | Provides support for parsing and editing WAD files, allowing you to load each component into the other available classes | -### libWiiPy.title Package Contents +## Full Package Contents ```{toctree} :maxdepth: 4 diff --git a/docs/source/title/title.title.md b/docs/source/title/title.title.md index 2f71e1d..3252ba3 100644 --- a/docs/source/title/title.title.md +++ b/docs/source/title/title.title.md @@ -1,5 +1,7 @@ # libWiiPy.title.title Module +## Description + The `libWiiPy.title.title` module provides a high-level interface for handling all the components of a digital Wii title through one class. It allows for directly importing a WAD, and will automatically extract the various components and load them into their appropriate classes. Additionally, it provides duplicates of some methods found in those classes that require fewer arguments, as it has the context of the other components and is able to retrieve additional data automatically. An example of that idea can be seen with the method `get_content_by_index()`. In its original definition, which can be seen at , you are required to supply the Title Key for the title that the content is sourced from. In contrast, when using , you do not need to supply a Title Key, as the Title object already has the context of the Ticket and can retrieve the Title Key from it automatically. In a similar vein, this module provides the easiest route for verifying that a title is legitimately signed by Nintendo. The method is able to access the entire certificate chain, the TMD, and the Ticket, and is therefore able to verify all components of the title by itself. @@ -12,5 +14,4 @@ Because using allows many operations to be .. automodule:: libWiiPy.title.title :members: :undoc-members: - :show-inheritance: ``` diff --git a/docs/source/title/tmd.md b/docs/source/title/tmd.md index a6dc3b5..edafd73 100644 --- a/docs/source/title/tmd.md +++ b/docs/source/title/tmd.md @@ -1,5 +1,7 @@ # libWiiPy.title.tmd Module +## Description + The `libWiiPy.title.tmd` module provides support for handling TMD (Title Metadata) files, which contain the metadata of both digital and physical Wii titles. This module allows for easy parsing and editing of TMDs. ## Module Contents diff --git a/docs/source/title/util.md b/docs/source/title/util.md index cad9af1..d5efec4 100644 --- a/docs/source/title/util.md +++ b/docs/source/title/util.md @@ -1,5 +1,7 @@ # libWiiPy.title.util Module +## Description + The `libWiiPy.title.util` module provides common utility functions internally. It is not designed to be used directly. ## Module Contents diff --git a/docs/source/title/wad.md b/docs/source/title/wad.md index 9ed49d0..00350dc 100644 --- a/docs/source/title/wad.md +++ b/docs/source/title/wad.md @@ -1,5 +1,7 @@ # libWiiPy.title.wad Module +## Description + The `libWiiPy.title.wad` module provides support for handling WAD (Wii Archive Data) files, which is the format used to deliver digital Wii titles. This module allows for extracting the various components for a WAD, as well as properly padding and writing out that data when it has been edited using other modules. ## Module Contents