From c2598d03f542a8a70d0c37558626d2b3f369ec3f Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 16 May 2026 18:47:59 +0200 Subject: [PATCH 1/7] Disambiguate VBA/Constants. --- docs/Reference/VBA/Constants/VbAppWinStyle.md | 1 + docs/Reference/VBA/Constants/VbArchitecture.md | 1 + docs/Reference/VBA/Constants/VbCalendar.md | 1 + docs/Reference/VBA/Constants/VbCallType.md | 1 + docs/Reference/VBA/Constants/VbCompareMethod.md | 1 + docs/Reference/VBA/Constants/VbDateTimeFormat.md | 1 + docs/Reference/VBA/Constants/VbDayOfWeek.md | 1 + docs/Reference/VBA/Constants/VbFileAttribute.md | 1 + docs/Reference/VBA/Constants/VbFirstWeekOfYear.md | 1 + docs/Reference/VBA/Constants/VbIMEStatus.md | 1 + docs/Reference/VBA/Constants/VbMsgBoxResult.md | 1 + docs/Reference/VBA/Constants/VbMsgBoxStyle.md | 1 + docs/Reference/VBA/Constants/VbStrConv.md | 1 + docs/Reference/VBA/Constants/VbTriState.md | 1 + docs/Reference/VBA/Constants/VbVarType.md | 1 + 15 files changed, 15 insertions(+) diff --git a/docs/Reference/VBA/Constants/VbAppWinStyle.md b/docs/Reference/VBA/Constants/VbAppWinStyle.md index 628c6d29..e0ad83fa 100644 --- a/docs/Reference/VBA/Constants/VbAppWinStyle.md +++ b/docs/Reference/VBA/Constants/VbAppWinStyle.md @@ -1,6 +1,7 @@ --- title: VbAppWinStyle parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbAppWinStyle redirect_from: - /tB/Core/VbAppWinStyle diff --git a/docs/Reference/VBA/Constants/VbArchitecture.md b/docs/Reference/VBA/Constants/VbArchitecture.md index ff0a6f83..1d4d3e33 100644 --- a/docs/Reference/VBA/Constants/VbArchitecture.md +++ b/docs/Reference/VBA/Constants/VbArchitecture.md @@ -1,6 +1,7 @@ --- title: VbArchitecture parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbArchitecture redirect_from: - /tB/Core/VbArchitecture diff --git a/docs/Reference/VBA/Constants/VbCalendar.md b/docs/Reference/VBA/Constants/VbCalendar.md index 00c12c16..770f31c9 100644 --- a/docs/Reference/VBA/Constants/VbCalendar.md +++ b/docs/Reference/VBA/Constants/VbCalendar.md @@ -1,6 +1,7 @@ --- title: VbCalendar parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbCalendar redirect_from: - /tB/Core/VbCalendar diff --git a/docs/Reference/VBA/Constants/VbCallType.md b/docs/Reference/VBA/Constants/VbCallType.md index f5bd6b62..7cd1d3fb 100644 --- a/docs/Reference/VBA/Constants/VbCallType.md +++ b/docs/Reference/VBA/Constants/VbCallType.md @@ -1,6 +1,7 @@ --- title: VbCallType parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbCallType redirect_from: - /tB/Core/VbCallType diff --git a/docs/Reference/VBA/Constants/VbCompareMethod.md b/docs/Reference/VBA/Constants/VbCompareMethod.md index df9a4ce4..47152afa 100644 --- a/docs/Reference/VBA/Constants/VbCompareMethod.md +++ b/docs/Reference/VBA/Constants/VbCompareMethod.md @@ -1,6 +1,7 @@ --- title: VbCompareMethod parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbCompareMethod redirect_from: - /tB/Core/VbCompareMethod diff --git a/docs/Reference/VBA/Constants/VbDateTimeFormat.md b/docs/Reference/VBA/Constants/VbDateTimeFormat.md index 77eaef45..c75b76d2 100644 --- a/docs/Reference/VBA/Constants/VbDateTimeFormat.md +++ b/docs/Reference/VBA/Constants/VbDateTimeFormat.md @@ -1,6 +1,7 @@ --- title: VbDateTimeFormat parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbDateTimeFormat redirect_from: - /tB/Core/VbDateTimeFormat diff --git a/docs/Reference/VBA/Constants/VbDayOfWeek.md b/docs/Reference/VBA/Constants/VbDayOfWeek.md index f908f0f2..b0be0a11 100644 --- a/docs/Reference/VBA/Constants/VbDayOfWeek.md +++ b/docs/Reference/VBA/Constants/VbDayOfWeek.md @@ -1,6 +1,7 @@ --- title: VbDayOfWeek parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbDayOfWeek redirect_from: - /tB/Core/VbDayOfWeek diff --git a/docs/Reference/VBA/Constants/VbFileAttribute.md b/docs/Reference/VBA/Constants/VbFileAttribute.md index 564e6467..6fdb2d48 100644 --- a/docs/Reference/VBA/Constants/VbFileAttribute.md +++ b/docs/Reference/VBA/Constants/VbFileAttribute.md @@ -1,6 +1,7 @@ --- title: VbFileAttribute parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbFileAttribute redirect_from: - /tB/Core/VbFileAttribute diff --git a/docs/Reference/VBA/Constants/VbFirstWeekOfYear.md b/docs/Reference/VBA/Constants/VbFirstWeekOfYear.md index 1e22f84d..dbe17597 100644 --- a/docs/Reference/VBA/Constants/VbFirstWeekOfYear.md +++ b/docs/Reference/VBA/Constants/VbFirstWeekOfYear.md @@ -1,6 +1,7 @@ --- title: VbFirstWeekOfYear parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbFirstWeekOfYear redirect_from: - /tB/Core/VbFirstWeekOfYear diff --git a/docs/Reference/VBA/Constants/VbIMEStatus.md b/docs/Reference/VBA/Constants/VbIMEStatus.md index c98aa664..411f808b 100644 --- a/docs/Reference/VBA/Constants/VbIMEStatus.md +++ b/docs/Reference/VBA/Constants/VbIMEStatus.md @@ -1,6 +1,7 @@ --- title: VbIMEStatus parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbIMEStatus redirect_from: - /tB/Core/VbIMEStatus diff --git a/docs/Reference/VBA/Constants/VbMsgBoxResult.md b/docs/Reference/VBA/Constants/VbMsgBoxResult.md index 630e3ac3..f07ea2f0 100644 --- a/docs/Reference/VBA/Constants/VbMsgBoxResult.md +++ b/docs/Reference/VBA/Constants/VbMsgBoxResult.md @@ -1,6 +1,7 @@ --- title: VbMsgBoxResult parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbMsgBoxResult redirect_from: - /tB/Core/VbMsgBoxResult diff --git a/docs/Reference/VBA/Constants/VbMsgBoxStyle.md b/docs/Reference/VBA/Constants/VbMsgBoxStyle.md index d1218ff8..4f15cb7f 100644 --- a/docs/Reference/VBA/Constants/VbMsgBoxStyle.md +++ b/docs/Reference/VBA/Constants/VbMsgBoxStyle.md @@ -1,6 +1,7 @@ --- title: VbMsgBoxStyle parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbMsgBoxStyle redirect_from: - /tB/Core/VbMsgBoxStyle diff --git a/docs/Reference/VBA/Constants/VbStrConv.md b/docs/Reference/VBA/Constants/VbStrConv.md index 7105b2fb..5fe32041 100644 --- a/docs/Reference/VBA/Constants/VbStrConv.md +++ b/docs/Reference/VBA/Constants/VbStrConv.md @@ -1,6 +1,7 @@ --- title: VbStrConv parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbStrConv redirect_from: - /tB/Core/VbStrConv diff --git a/docs/Reference/VBA/Constants/VbTriState.md b/docs/Reference/VBA/Constants/VbTriState.md index ca7921a8..06fd01dd 100644 --- a/docs/Reference/VBA/Constants/VbTriState.md +++ b/docs/Reference/VBA/Constants/VbTriState.md @@ -1,6 +1,7 @@ --- title: VbTriState parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbTriState redirect_from: - /tB/Core/VbTriState diff --git a/docs/Reference/VBA/Constants/VbVarType.md b/docs/Reference/VBA/Constants/VbVarType.md index 3c11ed87..cf6a033f 100644 --- a/docs/Reference/VBA/Constants/VbVarType.md +++ b/docs/Reference/VBA/Constants/VbVarType.md @@ -1,6 +1,7 @@ --- title: VbVarType parent: Constants Module +grand_parent: VBA Package permalink: /tB/Modules/Constants/VbVarType redirect_from: - /tB/Core/VbVarType From 01609ba76ad6feb3f15e1b75ea77cd1d0370e987 Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 16 May 2026 18:49:06 +0200 Subject: [PATCH 2/7] Disambiguate Features/Packages to Package Management. --- docs/Features/Packages/Creating a TWINPACK package.md | 2 +- docs/Features/Packages/Importing a package from TWINSERV.md | 2 +- .../Packages/Importing a package from a TWINPACK file.md | 2 +- docs/Features/Packages/Linked Packages.md | 2 +- docs/Features/Packages/Updating a package.md | 2 +- docs/Features/Packages/index.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/Features/Packages/Creating a TWINPACK package.md b/docs/Features/Packages/Creating a TWINPACK package.md index b52a7ede..4883bfc4 100644 --- a/docs/Features/Packages/Creating a TWINPACK package.md +++ b/docs/Features/Packages/Creating a TWINPACK package.md @@ -1,6 +1,6 @@ --- title: Creating a TWINPACK Package -parent: Packages +parent: Package Management grand_parent: Features nav_order: 1 permalink: /Features/Packages/Creating-TWINPACK diff --git a/docs/Features/Packages/Importing a package from TWINSERV.md b/docs/Features/Packages/Importing a package from TWINSERV.md index 82bae480..18edcaaa 100644 --- a/docs/Features/Packages/Importing a package from TWINSERV.md +++ b/docs/Features/Packages/Importing a package from TWINSERV.md @@ -1,6 +1,6 @@ --- title: Importing a Package from TWINSERV -parent: Packages +parent: Package Management grand_parent: Features nav_order: 2 permalink: /Features/Packages/Importing-TWINSERV diff --git a/docs/Features/Packages/Importing a package from a TWINPACK file.md b/docs/Features/Packages/Importing a package from a TWINPACK file.md index 75c8196d..76a0a36f 100644 --- a/docs/Features/Packages/Importing a package from a TWINPACK file.md +++ b/docs/Features/Packages/Importing a package from a TWINPACK file.md @@ -1,6 +1,6 @@ --- title: Importing a Package from a TWINPACK File -parent: Packages +parent: Package Management grand_parent: Features nav_order: 3 permalink: /Features/Packages/Importing-TWINPACK diff --git a/docs/Features/Packages/Linked Packages.md b/docs/Features/Packages/Linked Packages.md index 0c53b1d5..628c3141 100644 --- a/docs/Features/Packages/Linked Packages.md +++ b/docs/Features/Packages/Linked Packages.md @@ -1,6 +1,6 @@ --- title: Linked Packages -parent: Packages +parent: Package Management grand_parent: Features nav_order: 5 permalink: /Features/Packages/Linked diff --git a/docs/Features/Packages/Updating a package.md b/docs/Features/Packages/Updating a package.md index 5f10eab7..fd1baf68 100644 --- a/docs/Features/Packages/Updating a package.md +++ b/docs/Features/Packages/Updating a package.md @@ -1,6 +1,6 @@ --- title: Updating a Package -parent: Packages +parent: Package Management grand_parent: Features nav_order: 4 permalink: /Features/Packages/Updating diff --git a/docs/Features/Packages/index.md b/docs/Features/Packages/index.md index 0f68ddf9..59549cba 100644 --- a/docs/Features/Packages/index.md +++ b/docs/Features/Packages/index.md @@ -1,5 +1,5 @@ --- -title: Packages +title: Package Management parent: Features nav_order: 6 permalink: /Features/Packages/ From 3da97e7f8b74a7d1a9a521a950f2daf86216d127 Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 16 May 2026 18:50:11 +0200 Subject: [PATCH 3/7] Move packages to the top navigation tree level. The packages are a lot of content and stand on their own next to the Reference Section. --- docs/Reference/Assert/index.md | 1 - docs/Reference/CEF/index.md | 1 - docs/Reference/CustomControls/index.md | 1 - docs/Reference/Packages.md | 3 +-- docs/Reference/VB/index.md | 1 - docs/Reference/VBA/index.md | 1 - docs/Reference/VBRUN/index.md | 1 - docs/Reference/WebView2/index.md | 1 - docs/Reference/WinEventLogLib/index.md | 1 - docs/Reference/WinNamedPipesLib/index.md | 1 - docs/Reference/WinNativeCommonCtls/index.md | 1 - docs/Reference/WinServicesLib/index.md | 1 - docs/Reference/tbIDE/index.md | 1 - 13 files changed, 1 insertion(+), 14 deletions(-) diff --git a/docs/Reference/Assert/index.md b/docs/Reference/Assert/index.md index e33e5de9..d1282c67 100644 --- a/docs/Reference/Assert/index.md +++ b/docs/Reference/Assert/index.md @@ -1,7 +1,6 @@ --- title: Assert Package parent: Packages -grand_parent: Reference Section nav_order: 4 permalink: /tB/Packages/Assert/ has_toc: false diff --git a/docs/Reference/CEF/index.md b/docs/Reference/CEF/index.md index 481dd333..7ec5501c 100644 --- a/docs/Reference/CEF/index.md +++ b/docs/Reference/CEF/index.md @@ -1,7 +1,6 @@ --- title: CEF Package parent: Packages -grand_parent: Reference Section nav_order: 6 permalink: /tB/Packages/CEF/ has_toc: false diff --git a/docs/Reference/CustomControls/index.md b/docs/Reference/CustomControls/index.md index 1008c031..37e44567 100644 --- a/docs/Reference/CustomControls/index.md +++ b/docs/Reference/CustomControls/index.md @@ -1,7 +1,6 @@ --- title: CustomControls Package parent: Packages -grand_parent: Reference Section nav_order: 5 permalink: /tB/Packages/CustomControls/ has_toc: false diff --git a/docs/Reference/Packages.md b/docs/Reference/Packages.md index 5e94629d..c7716c3a 100644 --- a/docs/Reference/Packages.md +++ b/docs/Reference/Packages.md @@ -1,7 +1,6 @@ --- title: Packages -parent: Reference Section -nav_order: 20 +nav_order: 8 permalink: /tB/Packages/ has_toc: false --- diff --git a/docs/Reference/VB/index.md b/docs/Reference/VB/index.md index 00581433..ec0af10b 100644 --- a/docs/Reference/VB/index.md +++ b/docs/Reference/VB/index.md @@ -1,7 +1,6 @@ --- title: VB Package parent: Packages -grand_parent: Reference Section nav_order: 1 permalink: /tB/Packages/VB/ has_toc: false diff --git a/docs/Reference/VBA/index.md b/docs/Reference/VBA/index.md index bd720eb8..d2571e05 100644 --- a/docs/Reference/VBA/index.md +++ b/docs/Reference/VBA/index.md @@ -1,7 +1,6 @@ --- title: VBA Package parent: Packages -grand_parent: Reference Section nav_order: 2 permalink: /tB/Packages/VBA redirect_from: diff --git a/docs/Reference/VBRUN/index.md b/docs/Reference/VBRUN/index.md index 6c8aba33..13f71e34 100644 --- a/docs/Reference/VBRUN/index.md +++ b/docs/Reference/VBRUN/index.md @@ -1,7 +1,6 @@ --- title: VBRUN Package parent: Packages -grand_parent: Reference Section nav_order: 3 permalink: /tB/Packages/VBRUN/ has_toc: false diff --git a/docs/Reference/WebView2/index.md b/docs/Reference/WebView2/index.md index a7bacc4b..4b099774 100644 --- a/docs/Reference/WebView2/index.md +++ b/docs/Reference/WebView2/index.md @@ -1,7 +1,6 @@ --- title: WebView2 Package parent: Packages -grand_parent: Reference Section nav_order: 7 permalink: /tB/Packages/WebView2/ has_toc: false diff --git a/docs/Reference/WinEventLogLib/index.md b/docs/Reference/WinEventLogLib/index.md index f8e98663..9318a61f 100644 --- a/docs/Reference/WinEventLogLib/index.md +++ b/docs/Reference/WinEventLogLib/index.md @@ -1,7 +1,6 @@ --- title: WinEventLogLib Package parent: Packages -grand_parent: Reference Section nav_order: 8 permalink: /tB/Packages/WinEventLogLib/ has_toc: false diff --git a/docs/Reference/WinNamedPipesLib/index.md b/docs/Reference/WinNamedPipesLib/index.md index bcccac05..f521658d 100644 --- a/docs/Reference/WinNamedPipesLib/index.md +++ b/docs/Reference/WinNamedPipesLib/index.md @@ -1,7 +1,6 @@ --- title: WinNamedPipesLib Package parent: Packages -grand_parent: Reference Section nav_order: 9 permalink: /tB/Packages/WinNamedPipesLib/ has_toc: false diff --git a/docs/Reference/WinNativeCommonCtls/index.md b/docs/Reference/WinNativeCommonCtls/index.md index 3b444659..c6738b1f 100644 --- a/docs/Reference/WinNativeCommonCtls/index.md +++ b/docs/Reference/WinNativeCommonCtls/index.md @@ -1,7 +1,6 @@ --- title: WinNativeCommonCtls Package parent: Packages -grand_parent: Reference Section nav_order: 12 permalink: /tB/Packages/WinNativeCommonCtls/ has_toc: false diff --git a/docs/Reference/WinServicesLib/index.md b/docs/Reference/WinServicesLib/index.md index b7686ecc..fa555fb9 100644 --- a/docs/Reference/WinServicesLib/index.md +++ b/docs/Reference/WinServicesLib/index.md @@ -1,7 +1,6 @@ --- title: WinServicesLib Package parent: Packages -grand_parent: Reference Section nav_order: 10 permalink: /tB/Packages/WinServicesLib/ has_toc: false diff --git a/docs/Reference/tbIDE/index.md b/docs/Reference/tbIDE/index.md index 5109eb15..b2f011a2 100644 --- a/docs/Reference/tbIDE/index.md +++ b/docs/Reference/tbIDE/index.md @@ -1,7 +1,6 @@ --- title: tbIDE Package parent: Packages -grand_parent: Reference Section nav_order: 11 permalink: /tB/Packages/tbIDE/ has_toc: false From c250b6955d320ceea7dbd8bb4b147ba3f91fe808 Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 16 May 2026 19:09:14 +0200 Subject: [PATCH 4/7] Update the Documentation Development page. --- .../Documentation Development.md | 145 +++++++++++++----- 1 file changed, 109 insertions(+), 36 deletions(-) diff --git a/docs/Miscellaneous/Documentation Development.md b/docs/Miscellaneous/Documentation Development.md index cf340f9d..753152a9 100644 --- a/docs/Miscellaneous/Documentation Development.md +++ b/docs/Miscellaneous/Documentation Development.md @@ -22,7 +22,7 @@ The stable, or machine-accessible part of the documentation tree is rooted on th - [Call](../tB/Core/Call), [ChDir](../tB/Core/ChDir), [ChDrive](../tB/Core/ChDrive), [Class](../tB/Core/Class), [Close](../tB/Core/Close), [CoClass](../tB/Core/CoClass), [Const](../tB/Core/Const), [Continue](../tB/Core/Continue) - [Date](../tB/Core/Date), [Declare](../tB/Core/Declare), [Deftype](../tB/Core/Deftype), [DeleteSetting](../tB/Core/DeleteSetting), [Dim](../tB/Core/Dim), [Do-Loop](../tB/Core/Do-Loop) - [End](../tB/Core/End), [Enum](../tB/Core/Enum), [Erase](../tB/Core/Erase), [Error](../tB/Core/Error), [Event](../tB/Core/Event), [Exit](../tB/Core/Exit) -- [FileCopy](../tB/Core/FileCopy), [For-Next](/tB/Core/For-Next), [For-Each-Next](../tB/Core/For-Each-Next), [Function](../tB/Core/Function) +- [FileCopy](../tB/Core/FileCopy), [For-Next](../tB/Core/For-Next), [For-Each-Next](../tB/Core/For-Each-Next), [Function](../tB/Core/Function) - [Get](../tB/Core/Get), [GetSetting](../tB/Core/GetSetting), [GoSub-Return](../tB/Core/GoSub-Return), [GoTo](../tB/Core/GoTo) - [If-Then-Else](../tB/Core/If-Then-Else), [Implements](../tB/Core/Implements), [Input](../tB/Core/Input), [Interface](../tB/Core/Interface), [Is](../tB/Core/Is) - [Kill](../tB/Core/Kill) @@ -37,40 +37,107 @@ The stable, or machine-accessible part of the documentation tree is rooted on th - [Unload](../tB/Core/Unload), [Unlock](../tB/Core/Unlock) - [While-Wend](../tB/Core/While-Wend), [Width](../tB/Core/Width), [With](../tB/Core/With), [Write](../tB/Core/Write) -### /tB/Modules/\/\ - -Within each module, each procedure or statement has its own stand-alone page, e.g. [**LenB**: /tB/Modules/Strings/Len](../tB/Modules/Strings/Len). The `$`-suffixed and `B`/`W` variants are documented on the same page as the base symbol (so `LenB`, `Len$`, etc. all share the [`Len`](../tB/Modules/Strings/Len) page). - -These are modules within VBA and VBRUN: - -- VBA - - [Collection](../tB/Modules/Collection) - - [Compilation](../tB/Modules/Compilation) - - [Constants](../tB/Modules/Constants) - - [Conversion](../tB/Modules/Conversion) - - [DateTime](../tB/Modules/DateTime) - - [ErrObject](../tB/Modules/ErrObject) - - [ExpressionService](../tB/Modules/ExpressionService) - - [FileSystem](../tB/Modules/FileSystem) - - [Financial](../tB/Modules/Financial) - - [Information](../tB/Modules/Information) - - [Interaction](../tB/Modules/Interaction) - - [Math](../tB/Modules/Math) - - [Strings](../tB/Modules/Strings) - - Internal [_HiddenModule](../tB/Modules/HiddenModule) -- VBRUN - - [AmbientProperties](../tB/Modules/AmbientProperties) - - [AsyncProperty](../tB/Modules/AsyncProperty) - - [Constants](../tB/Modules/Constants) - - [ContainedControls](../tB/Modules/ContainedControls) - - [DataMembers](../tB/Modules/DataMembers) - - [DataObject](../tB/Modules/DataObject) - - [ErrorCallstack](../tB/Modules/ErrorCallstack) - - [ErrorContext](../tB/Modules/ErrorContext) - - [ErrorStackFrame](../tB/Modules/ErrorStackFrame) - - [Hyperlink](../tB/Modules/Hyperlink) - - [ParentControls](../tB/Modules/ParentControls) - - [PropertyBag](../tB/Modules/PropertyBag) +### /tB/Modules/\/\ + +Within each VBA module, each procedure, property, or statement has its own stand-alone page, e.g. [**LenB**: /tB/Modules/Strings/Len](../tB/Modules/Strings/Len). The `$`-suffixed and `B`/`W` variants are documented on the same page as the base symbol (so `LenB`, `Len$`, etc. all share the [`Len`](../tB/Modules/Strings/Len) page). + +- [Collection](../tB/Modules/Collection) +- [Compilation](../tB/Modules/Compilation) +- [Constants](../tB/Modules/Constants) +- [Conversion](../tB/Modules/Conversion) +- [DateTime](../tB/Modules/DateTime) +- [ErrObject](../tB/Modules/ErrObject) +- [TbExpressionService](../tB/Modules/TbExpressionService) +- [FileSystem](../tB/Modules/FileSystem) +- [Financial](../tB/Modules/Financial) +- [Information](../tB/Modules/Information) +- [Interaction](../tB/Modules/Interaction) +- [Math](../tB/Modules/Math) +- [Strings](../tB/Modules/Strings) +- Internal [_HiddenModule](../tB/Modules/HiddenModule) + +### /tB/Packages/\/... + +Each package lives under `/tB/Packages//`. The sub-structure depends on the package: modules, classes, enumerations, and sub-objects each have their own page. + +#### VBRUN -- /tB/Packages/VBRUN/\/ + +- [AmbientProperties](../tB/Packages/VBRUN/AmbientProperties) +- [AsyncProperty](../tB/Packages/VBRUN/AsyncProperty) +- [Constants](../tB/Packages/VBRUN/Constants) +- [ContainedControls](../tB/Packages/VBRUN/ContainedControls) +- [DataMembers](../tB/Packages/VBRUN/DataMembers) +- [DataObject](../tB/Packages/VBRUN/DataObject) +- [ErrorCallstack](../tB/Packages/VBRUN/ErrorCallstack) +- [ErrorContext](../tB/Packages/VBRUN/ErrorContext) +- [ErrorStackFrame](../tB/Packages/VBRUN/ErrorStackFrame) +- [Hyperlink](../tB/Packages/VBRUN/Hyperlink) +- [ParentControls](../tB/Packages/VBRUN/ParentControls) +- [PropertyBag](../tB/Packages/VBRUN/PropertyBag) + +#### VB -- /tB/Packages/VB/\/ + +- [App](../tB/Packages/VB/App), [CheckBox](../tB/Packages/VB/CheckBox), [CheckMark](../tB/Packages/VB/CheckMark), [Clipboard](../tB/Packages/VB/Clipboard), [ComboBox](../tB/Packages/VB/ComboBox), [CommandButton](../tB/Packages/VB/CommandButton) +- [Data](../tB/Packages/VB/Data), [DirListBox](../tB/Packages/VB/DirListBox), [DriveListBox](../tB/Packages/VB/DriveListBox) +- [FileListBox](../tB/Packages/VB/FileListBox), [Form](../tB/Packages/VB/Form), [Frame](../tB/Packages/VB/Frame), [Global](../tB/Packages/VB/Global) +- [HScrollBar](../tB/Packages/VB/HScrollBar), [Image](../tB/Packages/VB/Image) +- [Label](../tB/Packages/VB/Label), [Line](../tB/Packages/VB/Line), [ListBox](../tB/Packages/VB/ListBox) +- [MDIForm](../tB/Packages/VB/MDIForm), [Menu](../tB/Packages/VB/Menu), [MultiFrame](../tB/Packages/VB/MultiFrame) +- [OLE](../tB/Packages/VB/OLE), [OptionButton](../tB/Packages/VB/OptionButton) +- [PictureBox](../tB/Packages/VB/PictureBox), [Printer](../tB/Packages/VB/Printer), [Printers](../tB/Packages/VB/Printers), [PropertyPage](../tB/Packages/VB/PropertyPage) +- [QRCode](../tB/Packages/VB/QRCode), [Report](../tB/Packages/VB/Report) +- [Screen](../tB/Packages/VB/Screen), [Shape](../tB/Packages/VB/Shape) +- [TextBox](../tB/Packages/VB/TextBox), [Timer](../tB/Packages/VB/Timer) +- [UserControl](../tB/Packages/VB/UserControl), [VScrollBar](../tB/Packages/VB/VScrollBar) + +#### WebView2 -- /tB/Packages/WebView2/... + +- [WebView2](../tB/Packages/WebView2/WebView2) (control class, with [EnvironmentOptions](../tB/Packages/WebView2/WebView2/EnvironmentOptions) sub-page) +- [WebView2Header](../tB/Packages/WebView2/WebView2Header), [WebView2HeadersCollection](../tB/Packages/WebView2/WebView2HeadersCollection), [WebView2Request](../tB/Packages/WebView2/WebView2Request), [WebView2RequestHeaders](../tB/Packages/WebView2/WebView2RequestHeaders), [WebView2Response](../tB/Packages/WebView2/WebView2Response), [WebView2ResponseHeaders](../tB/Packages/WebView2/WebView2ResponseHeaders) +- Enumerations: [wv2DefaultDownloadCornerAlign](../tB/Packages/WebView2/Enumerations/wv2DefaultDownloadCornerAlign), [wv2ErrorStatus](../tB/Packages/WebView2/Enumerations/wv2ErrorStatus), [wv2HostResourceAccessKind](../tB/Packages/WebView2/Enumerations/wv2HostResourceAccessKind), [wv2KeyEventKind](../tB/Packages/WebView2/Enumerations/wv2KeyEventKind), [wv2PermissionKind](../tB/Packages/WebView2/Enumerations/wv2PermissionKind), [wv2PermissionState](../tB/Packages/WebView2/Enumerations/wv2PermissionState), [wv2PrintOrientation](../tB/Packages/WebView2/Enumerations/wv2PrintOrientation), [wv2ProcessFailedKind](../tB/Packages/WebView2/Enumerations/wv2ProcessFailedKind), [wv2ScriptDialogKind](../tB/Packages/WebView2/Enumerations/wv2ScriptDialogKind), [wv2WebResourceContext](../tB/Packages/WebView2/Enumerations/wv2WebResourceContext) +- Types: [COREWEBVIEW2_PHYSICAL_KEY_STATUS](../tB/Packages/WebView2/Types/COREWEBVIEW2_PHYSICAL_KEY_STATUS) + +#### Assert -- /tB/Packages/Assert/\ + +- [Exact](../tB/Packages/Assert/Exact), [Strict](../tB/Packages/Assert/Strict), [Permissive](../tB/Packages/Assert/Permissive) + +#### CustomControls -- /tB/Packages/CustomControls/... + +- Controls: [WaynesButton](../tB/Packages/CustomControls/WaynesButton) (with [WaynesButtonState](../tB/Packages/CustomControls/WaynesButton/WaynesButtonState)), [WaynesForm](../tB/Packages/CustomControls/WaynesForm) (with [WindowsFormOptions](../tB/Packages/CustomControls/WaynesForm/WindowsFormOptions)), [WaynesFrame](../tB/Packages/CustomControls/WaynesFrame), [WaynesGrid](../tB/Packages/CustomControls/WaynesGrid) (with [CellRenderingOptions](../tB/Packages/CustomControls/WaynesGrid/CellRenderingOptions), [Column](../tB/Packages/CustomControls/WaynesGrid/Column)), [WaynesLabel](../tB/Packages/CustomControls/WaynesLabel), [WaynesSlider](../tB/Packages/CustomControls/WaynesSlider) (with [WaynesSliderState](../tB/Packages/CustomControls/WaynesSlider/WaynesSliderState)), [WaynesTextBox](../tB/Packages/CustomControls/WaynesTextBox) (with [WaynesTextBoxState](../tB/Packages/CustomControls/WaynesTextBox/WaynesTextBoxState)), [WaynesTimer](../tB/Packages/CustomControls/WaynesTimer) +- Styles: [Anchors](../tB/Packages/CustomControls/Styles/Anchors), [Borders](../tB/Packages/CustomControls/Styles/Borders), [Corners](../tB/Packages/CustomControls/Styles/Corners), [Fill](../tB/Packages/CustomControls/Styles/Fill), [Line](../tB/Packages/CustomControls/Styles/Line), [Padding](../tB/Packages/CustomControls/Styles/Padding), [TextRendering](../tB/Packages/CustomControls/Styles/TextRendering) +- Framework: [Canvas](../tB/Packages/CustomControls/Framework/Canvas), [CustomControlContext](../tB/Packages/CustomControls/Framework/CustomControlContext), [CustomControlsCollection](../tB/Packages/CustomControls/Framework/CustomControlsCollection), [CustomControlTimer](../tB/Packages/CustomControls/Framework/CustomControlTimer), [CustomFormContext](../tB/Packages/CustomControls/Framework/CustomFormContext), [ICustomControl](../tB/Packages/CustomControls/Framework/ICustomControl), [ICustomForm](../tB/Packages/CustomControls/Framework/ICustomForm), [SerializeInfo](../tB/Packages/CustomControls/Framework/SerializeInfo) +- Enumerations: [BorderStyle](../tB/Packages/CustomControls/Enumerations/BorderStyle), [ColorRGBA](../tB/Packages/CustomControls/Enumerations/ColorRGBA), [CornerShape](../tB/Packages/CustomControls/Enumerations/CornerShape), [Customtate](../tB/Packages/CustomControls/Enumerations/Customtate), [DockMode](../tB/Packages/CustomControls/Enumerations/DockMode), [FillPattern](../tB/Packages/CustomControls/Enumerations/FillPattern), [FontWeight](../tB/Packages/CustomControls/Enumerations/FontWeight), [PixelCount](../tB/Packages/CustomControls/Enumerations/PixelCount), [PointSize](../tB/Packages/CustomControls/Enumerations/PointSize), [StartupPosition](../tB/Packages/CustomControls/Enumerations/StartupPosition), [TextAlignment](../tB/Packages/CustomControls/Enumerations/TextAlignment), [TextOverflowMode](../tB/Packages/CustomControls/Enumerations/TextOverflowMode), [WindowState](../tB/Packages/CustomControls/Enumerations/WindowState) + +#### CEF -- /tB/Packages/CEF/... + +- [CefBrowser](../tB/Packages/CEF/CefBrowser) (control class, with [EnvironmentOptions](../tB/Packages/CEF/CefBrowser/EnvironmentOptions) sub-page) +- Enumerations: [CefLogSeverity](../tB/Packages/CEF/Enumerations/CefLogSeverity), [cefPrintOrientation](../tB/Packages/CEF/Enumerations/cefPrintOrientation) + +#### WinEventLogLib -- /tB/Packages/WinEventLogLib/\ + +- [EventLog](../tB/Packages/WinEventLogLib/EventLog), [EventLogHelperPublic](../tB/Packages/WinEventLogLib/EventLogHelperPublic) + +#### WinNamedPipesLib -- /tB/Packages/WinNamedPipesLib/\ + +- [NamedPipeClientConnection](../tB/Packages/WinNamedPipesLib/NamedPipeClientConnection), [NamedPipeClientManager](../tB/Packages/WinNamedPipesLib/NamedPipeClientManager), [NamedPipeServer](../tB/Packages/WinNamedPipesLib/NamedPipeServer), [NamedPipeServerConnection](../tB/Packages/WinNamedPipesLib/NamedPipeServerConnection) + +#### WinServicesLib -- /tB/Packages/WinServicesLib/... + +- [ITbService](../tB/Packages/WinServicesLib/ITbService), [ServiceCreator](../tB/Packages/WinServicesLib/ServiceCreator), [ServiceManager](../tB/Packages/WinServicesLib/ServiceManager), [Services](../tB/Packages/WinServicesLib/Services), [ServiceState](../tB/Packages/WinServicesLib/ServiceState) +- Enumerations: [ServiceControlCodeConstants](../tB/Packages/WinServicesLib/Enumerations/ServiceControlCodeConstants), [ServiceStartConstants](../tB/Packages/WinServicesLib/Enumerations/ServiceStartConstants), [ServiceStatusConstants](../tB/Packages/WinServicesLib/Enumerations/ServiceStatusConstants), [ServiceTypeConstants](../tB/Packages/WinServicesLib/Enumerations/ServiceTypeConstants) + +#### tbIDE -- /tB/Packages/tbIDE/\ + +- [AddIn](../tB/Packages/tbIDE/AddIn), [AddinTimer](../tB/Packages/tbIDE/AddinTimer), [Button](../tB/Packages/tbIDE/Button), [CodeEditor](../tB/Packages/tbIDE/CodeEditor), [DebugConsole](../tB/Packages/tbIDE/DebugConsole), [Editor](../tB/Packages/tbIDE/Editor), [Editors](../tB/Packages/tbIDE/Editors) +- [File](../tB/Packages/tbIDE/File), [FileSystem](../tB/Packages/tbIDE/FileSystem), [FileSystemItem](../tB/Packages/tbIDE/FileSystemItem), [Folder](../tB/Packages/tbIDE/Folder) +- [Host](../tB/Packages/tbIDE/Host), [HtmlElement](../tB/Packages/tbIDE/HtmlElement), [HtmlElementProperties](../tB/Packages/tbIDE/HtmlElementProperties), [HtmlElementProperty](../tB/Packages/tbIDE/HtmlElementProperty), [HtmlElements](../tB/Packages/tbIDE/HtmlElements), [HtmlEventProperties](../tB/Packages/tbIDE/HtmlEventProperties), [HtmlEventProperty](../tB/Packages/tbIDE/HtmlEventProperty) +- [KeyboardShortcuts](../tB/Packages/tbIDE/KeyboardShortcuts), [Project](../tB/Packages/tbIDE/Project), [Themes](../tB/Packages/tbIDE/Themes), [Toolbar](../tB/Packages/tbIDE/Toolbar), [Toolbars](../tB/Packages/tbIDE/Toolbars), [ToolWindow](../tB/Packages/tbIDE/ToolWindow), [ToolWindows](../tB/Packages/tbIDE/ToolWindows) + +#### WinNativeCommonCtls -- /tB/Packages/WinNativeCommonCtls/... + +- Controls: [DTPicker](../tB/Packages/WinNativeCommonCtls/DTPicker), [ImageList](../tB/Packages/WinNativeCommonCtls/ImageList), [ListView](../tB/Packages/WinNativeCommonCtls/ListView), [MonthView](../tB/Packages/WinNativeCommonCtls/MonthView), [ProgressBar](../tB/Packages/WinNativeCommonCtls/ProgressBar), [Slider](../tB/Packages/WinNativeCommonCtls/Slider), [TreeView](../tB/Packages/WinNativeCommonCtls/TreeView), [UpDown](../tB/Packages/WinNativeCommonCtls/UpDown) +- Sub-objects: [ListImages](../tB/Packages/WinNativeCommonCtls/ImageList/ListImages), [ListImage](../tB/Packages/WinNativeCommonCtls/ImageList/ListImage), [ListItems](../tB/Packages/WinNativeCommonCtls/ListView/ListItems), [ListItem](../tB/Packages/WinNativeCommonCtls/ListView/ListItem), [ColumnHeaders](../tB/Packages/WinNativeCommonCtls/ListView/ColumnHeaders), [ColumnHeader](../tB/Packages/WinNativeCommonCtls/ListView/ColumnHeader), [Nodes](../tB/Packages/WinNativeCommonCtls/TreeView/Nodes), [Node](../tB/Packages/WinNativeCommonCtls/TreeView/Node) +- Enumerations: [DTPickerFormatConstants](../tB/Packages/WinNativeCommonCtls/Enumerations/DTPickerFormatConstants), [ImlDrawConstants](../tB/Packages/WinNativeCommonCtls/Enumerations/ImlDrawConstants), [OrientationConstants](../tB/Packages/WinNativeCommonCtls/Enumerations/OrientationConstants), [TreeBorderStyleConstants](../tB/Packages/WinNativeCommonCtls/Enumerations/TreeBorderStyleConstants), [TreeLabelEditConstants](../tB/Packages/WinNativeCommonCtls/Enumerations/TreeLabelEditConstants), [TreeLineStyleConstants](../tB/Packages/WinNativeCommonCtls/Enumerations/TreeLineStyleConstants), [TreeRelationshipConstants](../tB/Packages/WinNativeCommonCtls/Enumerations/TreeRelationshipConstants), [TreeSortOrderConstants](../tB/Packages/WinNativeCommonCtls/Enumerations/TreeSortOrderConstants), [TreeSortTypeConstants](../tB/Packages/WinNativeCommonCtls/Enumerations/TreeSortTypeConstants), [TreeStyleConstants](../tB/Packages/WinNativeCommonCtls/Enumerations/TreeStyleConstants) ### /tB/Core/Attributes#\ @@ -96,7 +163,7 @@ These are modules within VBA and VBRUN: ## Development Environment -The documentation is built (renderd to html) using [Jekyll][jekyllrb]. +The documentation is built (rendered to html) using [Jekyll][jekyllrb]. 1. Ensure that the necessary [requirements](#requirements) and [additional requirements](#additional-requirements) are met. @@ -124,6 +191,10 @@ or, on Windows only: build.bat +To produce **only** the offline-browsable copy (no `_site/`), writing directly to `_site-offline/`: + + build-offline.bat + ### Checking Link Integrity Before checking link integrity, the documentation must be built. This can be done by ad-hoc by [building](#building), or continuously in the background by [building and serving](#building-and-local-serving). @@ -204,6 +275,8 @@ To render new or changed diagrams, the following should be available: 8. Manually run the build and deployment workflow, as it doesn't start automatically. ![img](Images/run-workflow.png){:width="50%"} + When the workflow is run manually --- whether at the official repository or in a fork --- it also creates a GitHub release with the offline-browsable site copy attached as a zip. + ## Editing Screenshots From 815ab63ac9a29538c316cd0cc9df1a074228040c Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 16 May 2026 19:35:12 +0200 Subject: [PATCH 5/7] Fix the navigation tree. --- docs/Reference/VBA/TbExpressionService/Bind.md | 2 +- docs/Reference/VBRUN/AmbientProperties/BackColor.md | 2 +- docs/Reference/VBRUN/AmbientProperties/DisplayAsDefault.md | 2 +- docs/Reference/VBRUN/AmbientProperties/DisplayName.md | 2 +- docs/Reference/VBRUN/AmbientProperties/Font.md | 2 +- docs/Reference/VBRUN/AmbientProperties/ForeColor.md | 2 +- docs/Reference/VBRUN/AmbientProperties/LocaleID.md | 2 +- docs/Reference/VBRUN/AmbientProperties/MessageReflect.md | 2 +- docs/Reference/VBRUN/AmbientProperties/Palette.md | 2 +- docs/Reference/VBRUN/AmbientProperties/RightToLeft.md | 2 +- docs/Reference/VBRUN/AmbientProperties/ScaleUnits.md | 2 +- docs/Reference/VBRUN/AmbientProperties/ShowGrabHandles.md | 2 +- docs/Reference/VBRUN/AmbientProperties/ShowHatching.md | 2 +- docs/Reference/VBRUN/AmbientProperties/SupportsMnemonics.md | 2 +- docs/Reference/VBRUN/AmbientProperties/TextAlign.md | 2 +- docs/Reference/VBRUN/AmbientProperties/UIDead.md | 2 +- docs/Reference/VBRUN/AmbientProperties/UserMode.md | 2 +- docs/Reference/VBRUN/AsyncProperty/AsyncType.md | 2 +- docs/Reference/VBRUN/AsyncProperty/BytesMax.md | 2 +- docs/Reference/VBRUN/AsyncProperty/BytesRead.md | 2 +- docs/Reference/VBRUN/AsyncProperty/PropertyName.md | 2 +- docs/Reference/VBRUN/AsyncProperty/Status.md | 2 +- docs/Reference/VBRUN/AsyncProperty/StatusCode.md | 2 +- docs/Reference/VBRUN/AsyncProperty/Target.md | 2 +- docs/Reference/VBRUN/AsyncProperty/Value.md | 2 +- docs/Reference/VBRUN/DataObject/AvailableFormats.md | 2 +- docs/Reference/VBRUN/DataObject/Clear.md | 2 +- docs/Reference/VBRUN/DataObject/DataObjectFiles.md | 2 +- docs/Reference/VBRUN/DataObject/DataObjectFormat.md | 2 +- docs/Reference/VBRUN/DataObject/DataObjectFormats.md | 2 +- docs/Reference/VBRUN/DataObject/Files.md | 2 +- docs/Reference/VBRUN/DataObject/GetData.md | 2 +- docs/Reference/VBRUN/DataObject/GetDataByName.md | 2 +- docs/Reference/VBRUN/DataObject/GetFormat.md | 2 +- docs/Reference/VBRUN/DataObject/GetFormatByName.md | 2 +- docs/Reference/VBRUN/DataObject/SetData.md | 2 +- 36 files changed, 36 insertions(+), 36 deletions(-) diff --git a/docs/Reference/VBA/TbExpressionService/Bind.md b/docs/Reference/VBA/TbExpressionService/Bind.md index fbd0b4c2..41a2a3cc 100644 --- a/docs/Reference/VBA/TbExpressionService/Bind.md +++ b/docs/Reference/VBA/TbExpressionService/Bind.md @@ -1,6 +1,6 @@ --- title: Bind -parent: TbExpressionService Module +parent: TbExpressionService permalink: /tB/Modules/TbExpressionService/Bind redirect_from: - /tB/Modules/ExpressionService/Bind diff --git a/docs/Reference/VBRUN/AmbientProperties/BackColor.md b/docs/Reference/VBRUN/AmbientProperties/BackColor.md index edc23828..d886f4d5 100644 --- a/docs/Reference/VBRUN/AmbientProperties/BackColor.md +++ b/docs/Reference/VBRUN/AmbientProperties/BackColor.md @@ -1,6 +1,6 @@ --- title: BackColor -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/BackColor --- # BackColor diff --git a/docs/Reference/VBRUN/AmbientProperties/DisplayAsDefault.md b/docs/Reference/VBRUN/AmbientProperties/DisplayAsDefault.md index 59cbb1b9..04b7027a 100644 --- a/docs/Reference/VBRUN/AmbientProperties/DisplayAsDefault.md +++ b/docs/Reference/VBRUN/AmbientProperties/DisplayAsDefault.md @@ -1,6 +1,6 @@ --- title: DisplayAsDefault -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/DisplayAsDefault --- # DisplayAsDefault diff --git a/docs/Reference/VBRUN/AmbientProperties/DisplayName.md b/docs/Reference/VBRUN/AmbientProperties/DisplayName.md index e55890de..f4dd95ee 100644 --- a/docs/Reference/VBRUN/AmbientProperties/DisplayName.md +++ b/docs/Reference/VBRUN/AmbientProperties/DisplayName.md @@ -1,6 +1,6 @@ --- title: DisplayName -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/DisplayName --- # DisplayName diff --git a/docs/Reference/VBRUN/AmbientProperties/Font.md b/docs/Reference/VBRUN/AmbientProperties/Font.md index 4436c2f9..f48b6c95 100644 --- a/docs/Reference/VBRUN/AmbientProperties/Font.md +++ b/docs/Reference/VBRUN/AmbientProperties/Font.md @@ -1,6 +1,6 @@ --- title: Font -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/Font --- # Font diff --git a/docs/Reference/VBRUN/AmbientProperties/ForeColor.md b/docs/Reference/VBRUN/AmbientProperties/ForeColor.md index 98965e9f..33c12ae3 100644 --- a/docs/Reference/VBRUN/AmbientProperties/ForeColor.md +++ b/docs/Reference/VBRUN/AmbientProperties/ForeColor.md @@ -1,6 +1,6 @@ --- title: ForeColor -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/ForeColor --- # ForeColor diff --git a/docs/Reference/VBRUN/AmbientProperties/LocaleID.md b/docs/Reference/VBRUN/AmbientProperties/LocaleID.md index f9fb5c85..2fb6e23d 100644 --- a/docs/Reference/VBRUN/AmbientProperties/LocaleID.md +++ b/docs/Reference/VBRUN/AmbientProperties/LocaleID.md @@ -1,6 +1,6 @@ --- title: LocaleID -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/LocaleID --- # LocaleID diff --git a/docs/Reference/VBRUN/AmbientProperties/MessageReflect.md b/docs/Reference/VBRUN/AmbientProperties/MessageReflect.md index a4a1dcf7..47681d97 100644 --- a/docs/Reference/VBRUN/AmbientProperties/MessageReflect.md +++ b/docs/Reference/VBRUN/AmbientProperties/MessageReflect.md @@ -1,6 +1,6 @@ --- title: MessageReflect -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/MessageReflect --- # MessageReflect diff --git a/docs/Reference/VBRUN/AmbientProperties/Palette.md b/docs/Reference/VBRUN/AmbientProperties/Palette.md index b822a9fe..8965bca9 100644 --- a/docs/Reference/VBRUN/AmbientProperties/Palette.md +++ b/docs/Reference/VBRUN/AmbientProperties/Palette.md @@ -1,6 +1,6 @@ --- title: Palette -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/Palette --- # Palette diff --git a/docs/Reference/VBRUN/AmbientProperties/RightToLeft.md b/docs/Reference/VBRUN/AmbientProperties/RightToLeft.md index bc6ed538..2b0d90e7 100644 --- a/docs/Reference/VBRUN/AmbientProperties/RightToLeft.md +++ b/docs/Reference/VBRUN/AmbientProperties/RightToLeft.md @@ -1,6 +1,6 @@ --- title: RightToLeft -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/RightToLeft --- # RightToLeft diff --git a/docs/Reference/VBRUN/AmbientProperties/ScaleUnits.md b/docs/Reference/VBRUN/AmbientProperties/ScaleUnits.md index c112227b..d7c5f04d 100644 --- a/docs/Reference/VBRUN/AmbientProperties/ScaleUnits.md +++ b/docs/Reference/VBRUN/AmbientProperties/ScaleUnits.md @@ -1,6 +1,6 @@ --- title: ScaleUnits -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/ScaleUnits --- # ScaleUnits diff --git a/docs/Reference/VBRUN/AmbientProperties/ShowGrabHandles.md b/docs/Reference/VBRUN/AmbientProperties/ShowGrabHandles.md index b929eef8..4502f11a 100644 --- a/docs/Reference/VBRUN/AmbientProperties/ShowGrabHandles.md +++ b/docs/Reference/VBRUN/AmbientProperties/ShowGrabHandles.md @@ -1,6 +1,6 @@ --- title: ShowGrabHandles -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/ShowGrabHandles --- # ShowGrabHandles diff --git a/docs/Reference/VBRUN/AmbientProperties/ShowHatching.md b/docs/Reference/VBRUN/AmbientProperties/ShowHatching.md index 27df78e3..597a0668 100644 --- a/docs/Reference/VBRUN/AmbientProperties/ShowHatching.md +++ b/docs/Reference/VBRUN/AmbientProperties/ShowHatching.md @@ -1,6 +1,6 @@ --- title: ShowHatching -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/ShowHatching --- # ShowHatching diff --git a/docs/Reference/VBRUN/AmbientProperties/SupportsMnemonics.md b/docs/Reference/VBRUN/AmbientProperties/SupportsMnemonics.md index 9287c712..c4d379cc 100644 --- a/docs/Reference/VBRUN/AmbientProperties/SupportsMnemonics.md +++ b/docs/Reference/VBRUN/AmbientProperties/SupportsMnemonics.md @@ -1,6 +1,6 @@ --- title: SupportsMnemonics -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/SupportsMnemonics --- # SupportsMnemonics diff --git a/docs/Reference/VBRUN/AmbientProperties/TextAlign.md b/docs/Reference/VBRUN/AmbientProperties/TextAlign.md index a1ddc558..a2b7c4d0 100644 --- a/docs/Reference/VBRUN/AmbientProperties/TextAlign.md +++ b/docs/Reference/VBRUN/AmbientProperties/TextAlign.md @@ -1,6 +1,6 @@ --- title: TextAlign -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/TextAlign --- # TextAlign diff --git a/docs/Reference/VBRUN/AmbientProperties/UIDead.md b/docs/Reference/VBRUN/AmbientProperties/UIDead.md index 0fc95d85..5798de36 100644 --- a/docs/Reference/VBRUN/AmbientProperties/UIDead.md +++ b/docs/Reference/VBRUN/AmbientProperties/UIDead.md @@ -1,6 +1,6 @@ --- title: UIDead -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/UIDead --- # UIDead diff --git a/docs/Reference/VBRUN/AmbientProperties/UserMode.md b/docs/Reference/VBRUN/AmbientProperties/UserMode.md index f4a49b7c..d38ee36e 100644 --- a/docs/Reference/VBRUN/AmbientProperties/UserMode.md +++ b/docs/Reference/VBRUN/AmbientProperties/UserMode.md @@ -1,6 +1,6 @@ --- title: UserMode -parent: AmbientProperties Module +parent: AmbientProperties permalink: /tB/Packages/VBRUN/AmbientProperties/UserMode --- # UserMode diff --git a/docs/Reference/VBRUN/AsyncProperty/AsyncType.md b/docs/Reference/VBRUN/AsyncProperty/AsyncType.md index 43f9b156..560c5c20 100644 --- a/docs/Reference/VBRUN/AsyncProperty/AsyncType.md +++ b/docs/Reference/VBRUN/AsyncProperty/AsyncType.md @@ -1,6 +1,6 @@ --- title: AsyncType -parent: AsyncProperty Module +parent: AsyncProperty permalink: /tB/Packages/VBRUN/AsyncProperty/AsyncType --- # AsyncType diff --git a/docs/Reference/VBRUN/AsyncProperty/BytesMax.md b/docs/Reference/VBRUN/AsyncProperty/BytesMax.md index cf8d683f..8cd090e8 100644 --- a/docs/Reference/VBRUN/AsyncProperty/BytesMax.md +++ b/docs/Reference/VBRUN/AsyncProperty/BytesMax.md @@ -1,6 +1,6 @@ --- title: BytesMax -parent: AsyncProperty Module +parent: AsyncProperty permalink: /tB/Packages/VBRUN/AsyncProperty/BytesMax --- # BytesMax diff --git a/docs/Reference/VBRUN/AsyncProperty/BytesRead.md b/docs/Reference/VBRUN/AsyncProperty/BytesRead.md index cab91cf4..2fa9da0b 100644 --- a/docs/Reference/VBRUN/AsyncProperty/BytesRead.md +++ b/docs/Reference/VBRUN/AsyncProperty/BytesRead.md @@ -1,6 +1,6 @@ --- title: BytesRead -parent: AsyncProperty Module +parent: AsyncProperty permalink: /tB/Packages/VBRUN/AsyncProperty/BytesRead --- # BytesRead diff --git a/docs/Reference/VBRUN/AsyncProperty/PropertyName.md b/docs/Reference/VBRUN/AsyncProperty/PropertyName.md index 58c2db77..9156cc40 100644 --- a/docs/Reference/VBRUN/AsyncProperty/PropertyName.md +++ b/docs/Reference/VBRUN/AsyncProperty/PropertyName.md @@ -1,6 +1,6 @@ --- title: PropertyName -parent: AsyncProperty Module +parent: AsyncProperty permalink: /tB/Packages/VBRUN/AsyncProperty/PropertyName --- # PropertyName diff --git a/docs/Reference/VBRUN/AsyncProperty/Status.md b/docs/Reference/VBRUN/AsyncProperty/Status.md index 38c51a58..a293cd10 100644 --- a/docs/Reference/VBRUN/AsyncProperty/Status.md +++ b/docs/Reference/VBRUN/AsyncProperty/Status.md @@ -1,6 +1,6 @@ --- title: Status -parent: AsyncProperty Module +parent: AsyncProperty permalink: /tB/Packages/VBRUN/AsyncProperty/Status --- # Status diff --git a/docs/Reference/VBRUN/AsyncProperty/StatusCode.md b/docs/Reference/VBRUN/AsyncProperty/StatusCode.md index e76f9c9b..242a0ee3 100644 --- a/docs/Reference/VBRUN/AsyncProperty/StatusCode.md +++ b/docs/Reference/VBRUN/AsyncProperty/StatusCode.md @@ -1,6 +1,6 @@ --- title: StatusCode -parent: AsyncProperty Module +parent: AsyncProperty permalink: /tB/Packages/VBRUN/AsyncProperty/StatusCode --- # StatusCode diff --git a/docs/Reference/VBRUN/AsyncProperty/Target.md b/docs/Reference/VBRUN/AsyncProperty/Target.md index 65d12505..def5995b 100644 --- a/docs/Reference/VBRUN/AsyncProperty/Target.md +++ b/docs/Reference/VBRUN/AsyncProperty/Target.md @@ -1,6 +1,6 @@ --- title: Target -parent: AsyncProperty Module +parent: AsyncProperty permalink: /tB/Packages/VBRUN/AsyncProperty/Target --- # Target diff --git a/docs/Reference/VBRUN/AsyncProperty/Value.md b/docs/Reference/VBRUN/AsyncProperty/Value.md index a50ad265..ea52bbc1 100644 --- a/docs/Reference/VBRUN/AsyncProperty/Value.md +++ b/docs/Reference/VBRUN/AsyncProperty/Value.md @@ -1,6 +1,6 @@ --- title: Value -parent: AsyncProperty Module +parent: AsyncProperty permalink: /tB/Packages/VBRUN/AsyncProperty/Value --- # Value diff --git a/docs/Reference/VBRUN/DataObject/AvailableFormats.md b/docs/Reference/VBRUN/DataObject/AvailableFormats.md index 49521943..22e4a91e 100644 --- a/docs/Reference/VBRUN/DataObject/AvailableFormats.md +++ b/docs/Reference/VBRUN/DataObject/AvailableFormats.md @@ -1,6 +1,6 @@ --- title: AvailableFormats -parent: DataObject Module +parent: DataObject permalink: /tB/Packages/VBRUN/DataObject/AvailableFormats --- # AvailableFormats diff --git a/docs/Reference/VBRUN/DataObject/Clear.md b/docs/Reference/VBRUN/DataObject/Clear.md index 9c3075bf..d5f1dc0a 100644 --- a/docs/Reference/VBRUN/DataObject/Clear.md +++ b/docs/Reference/VBRUN/DataObject/Clear.md @@ -1,6 +1,6 @@ --- title: Clear -parent: DataObject Module +parent: DataObject permalink: /tB/Packages/VBRUN/DataObject/Clear --- # Clear diff --git a/docs/Reference/VBRUN/DataObject/DataObjectFiles.md b/docs/Reference/VBRUN/DataObject/DataObjectFiles.md index de9d2ab9..d2b6fd50 100644 --- a/docs/Reference/VBRUN/DataObject/DataObjectFiles.md +++ b/docs/Reference/VBRUN/DataObject/DataObjectFiles.md @@ -1,6 +1,6 @@ --- title: DataObjectFiles -parent: DataObject Module +parent: DataObject permalink: /tB/Packages/VBRUN/DataObject/DataObjectFiles --- # DataObjectFiles diff --git a/docs/Reference/VBRUN/DataObject/DataObjectFormat.md b/docs/Reference/VBRUN/DataObject/DataObjectFormat.md index 56b669fb..358640d8 100644 --- a/docs/Reference/VBRUN/DataObject/DataObjectFormat.md +++ b/docs/Reference/VBRUN/DataObject/DataObjectFormat.md @@ -1,6 +1,6 @@ --- title: DataObjectFormat -parent: DataObject Module +parent: DataObject permalink: /tB/Packages/VBRUN/DataObject/DataObjectFormat --- # DataObjectFormat diff --git a/docs/Reference/VBRUN/DataObject/DataObjectFormats.md b/docs/Reference/VBRUN/DataObject/DataObjectFormats.md index 1419cf3f..dead0de4 100644 --- a/docs/Reference/VBRUN/DataObject/DataObjectFormats.md +++ b/docs/Reference/VBRUN/DataObject/DataObjectFormats.md @@ -1,6 +1,6 @@ --- title: DataObjectFormats -parent: DataObject Module +parent: DataObject permalink: /tB/Packages/VBRUN/DataObject/DataObjectFormats --- # DataObjectFormats diff --git a/docs/Reference/VBRUN/DataObject/Files.md b/docs/Reference/VBRUN/DataObject/Files.md index 2dedcc8d..37b02acf 100644 --- a/docs/Reference/VBRUN/DataObject/Files.md +++ b/docs/Reference/VBRUN/DataObject/Files.md @@ -1,6 +1,6 @@ --- title: Files -parent: DataObject Module +parent: DataObject permalink: /tB/Packages/VBRUN/DataObject/Files --- # Files diff --git a/docs/Reference/VBRUN/DataObject/GetData.md b/docs/Reference/VBRUN/DataObject/GetData.md index 1fbc6ab9..ada2cb1e 100644 --- a/docs/Reference/VBRUN/DataObject/GetData.md +++ b/docs/Reference/VBRUN/DataObject/GetData.md @@ -1,6 +1,6 @@ --- title: GetData -parent: DataObject Module +parent: DataObject permalink: /tB/Packages/VBRUN/DataObject/GetData --- # GetData diff --git a/docs/Reference/VBRUN/DataObject/GetDataByName.md b/docs/Reference/VBRUN/DataObject/GetDataByName.md index 83a841e4..59928c0e 100644 --- a/docs/Reference/VBRUN/DataObject/GetDataByName.md +++ b/docs/Reference/VBRUN/DataObject/GetDataByName.md @@ -1,6 +1,6 @@ --- title: GetDataByName -parent: DataObject Module +parent: DataObject permalink: /tB/Packages/VBRUN/DataObject/GetDataByName --- # GetDataByName diff --git a/docs/Reference/VBRUN/DataObject/GetFormat.md b/docs/Reference/VBRUN/DataObject/GetFormat.md index ee0dab26..d1fccf4d 100644 --- a/docs/Reference/VBRUN/DataObject/GetFormat.md +++ b/docs/Reference/VBRUN/DataObject/GetFormat.md @@ -1,6 +1,6 @@ --- title: GetFormat -parent: DataObject Module +parent: DataObject permalink: /tB/Packages/VBRUN/DataObject/GetFormat --- # GetFormat diff --git a/docs/Reference/VBRUN/DataObject/GetFormatByName.md b/docs/Reference/VBRUN/DataObject/GetFormatByName.md index e5644df0..1a53c809 100644 --- a/docs/Reference/VBRUN/DataObject/GetFormatByName.md +++ b/docs/Reference/VBRUN/DataObject/GetFormatByName.md @@ -1,6 +1,6 @@ --- title: GetFormatByName -parent: DataObject Module +parent: DataObject permalink: /tB/Packages/VBRUN/DataObject/GetFormatByName --- # GetFormatByName diff --git a/docs/Reference/VBRUN/DataObject/SetData.md b/docs/Reference/VBRUN/DataObject/SetData.md index 9b7702a1..1a4de5e8 100644 --- a/docs/Reference/VBRUN/DataObject/SetData.md +++ b/docs/Reference/VBRUN/DataObject/SetData.md @@ -1,6 +1,6 @@ --- title: SetData -parent: DataObject Module +parent: DataObject permalink: /tB/Packages/VBRUN/DataObject/SetData --- # SetData From 996d59f52be2900b575e16f1cc4c037abc79edbf Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 16 May 2026 19:35:30 +0200 Subject: [PATCH 6/7] Add a plugin to prevent nav tree breakage. --- WIP.md | 5 + docs/_plugins/nav-integrity-check.rb | 134 +++++++++++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 docs/_plugins/nav-integrity-check.rb diff --git a/WIP.md b/WIP.md index 38a90388..4b85d696 100644 --- a/WIP.md +++ b/WIP.md @@ -443,6 +443,11 @@ build.bat && check.bat Requires `build.bat` to have produced an up-to-date `_site/`. +The build itself includes an additional guard: `_plugins/nav-integrity-check.rb` runs during the GENERATE phase and aborts the build if any nav-visible page has a `parent:` (or `parent:` + `grand_parent:`) that does not resolve to exactly one page in the nav tree. It catches two failure modes: + +- **Ambiguity** — multiple pages share the title declared in `parent:` and `grand_parent:` is either absent or insufficient to disambiguate. The page would silently appear under every matching parent. +- **Orphan** — no page has the title declared in `parent:`. The page would silently disappear from the navigation sidebar. + ## Repository Use Favor concise one-line git commit messages. diff --git a/docs/_plugins/nav-integrity-check.rb b/docs/_plugins/nav-integrity-check.rb new file mode 100644 index 00000000..b019f9ed --- /dev/null +++ b/docs/_plugins/nav-integrity-check.rb @@ -0,0 +1,134 @@ +# frozen_string_literal: true + +# Fails the Jekyll build when any nav-visible page has a `parent:` (and +# optionally `grand_parent:`) that does not uniquely identify its +# position in the navigation tree. +# +# === Background === +# +# just-the-docs builds its nav tree by matching each page's `parent:` +# against other pages' `title:`. When multiple pages share the same +# title, the theme attaches the child under every matching parent — +# unless `grand_parent:` is declared to disambiguate. This duplication +# is silent: no warning is emitted, and the child simply shows up in +# multiple places in the nav (or, worse, only under the wrong parent +# due to render-order-dependent first-occurrence logic). +# +# This generator detects and reports these ambiguities at build time so +# they can be fixed before deployment. +# +# === Logic === +# +# For each nav-visible page P that declares `parent: X`: +# +# 1. Find all nav-visible pages whose `title` == X. +# 2. If only one candidate exists → unambiguous, pass. +# 3. If multiple candidates exist: +# a. If P has no `grand_parent:` → AMBIGUOUS. +# b. If P declares `grand_parent: G` → keep only candidates whose +# own `parent` == G. +# - If exactly one remains → disambiguated, pass. +# - If multiple remain → STILL AMBIGUOUS. +# - If zero remain → orphan (no valid parent); reported as a +# separate diagnostic. +# +# === Priority === +# +# Runs at :high priority so it executes before nav-tree-precompute and +# nav-levels-precompute, catching problems before they propagate. + +module NavIntegrityCheck + class Generator < Jekyll::Generator + safe true + priority :high + + def generate(site) + titled = site.pages.select { |p| p.data["title"] } + nav_visible = titled.reject { |p| p.data["nav_exclude"] } + + by_title = {} + nav_visible.each do |p| + (by_title[p.data["title"]] ||= []) << p + end + + ambiguous = [] + orphaned = [] + + nav_visible.each do |page| + parent_title = page.data["parent"] + next unless parent_title + + candidates = by_title[parent_title] + + unless candidates && !candidates.empty? + # Parent title doesn't match any page — just-the-docs will + # silently drop this page from the nav. Not an ambiguity + # issue per se, but worth reporting. + orphaned << { page: page, reason: "no page titled \"#{parent_title}\" exists" } + next + end + + next if candidates.size == 1 + + gp = page.data["grand_parent"] + unless gp + ambiguous << { + page: page, + parent_title: parent_title, + candidate_count: candidates.size, + reason: "#{candidates.size} pages are titled \"#{parent_title}\" " \ + "and no grand_parent is declared to disambiguate", + } + next + end + + filtered = candidates.select { |c| c.data["parent"] == gp } + + if filtered.size > 1 + ambiguous << { + page: page, + parent_title: parent_title, + candidate_count: filtered.size, + reason: "#{filtered.size} pages titled \"#{parent_title}\" share " \ + "parent \"#{gp}\" — grand_parent does not disambiguate", + } + elsif filtered.empty? + orphaned << { + page: page, + reason: "grand_parent \"#{gp}\" does not match any page titled " \ + "\"#{parent_title}\"", + } + end + end + + report_and_abort(ambiguous, orphaned) if ambiguous.any? || orphaned.any? + end + + private + + def report_and_abort(ambiguous, orphaned) + lines = [] + + if ambiguous.any? + lines << "Nav-parent ambiguity detected in #{ambiguous.size} page(s):" + ambiguous.each do |entry| + lines << " #{page_id(entry[:page])}: #{entry[:reason]}" + end + end + + if orphaned.any? + lines << "Nav-parent orphan detected in #{orphaned.size} page(s):" + orphaned.each do |entry| + lines << " #{page_id(entry[:page])}: #{entry[:reason]}" + end + end + + lines.each { |l| Jekyll.logger.error "NavIntegrity:", l } + raise Jekyll::Errors::FatalException, lines.first + end + + def page_id(page) + page.relative_path + end + end +end From 14f78bf590b07fd2641044a6d3b3b2444def864c Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 16 May 2026 20:30:47 +0200 Subject: [PATCH 7/7] Feature the TWINSERV central package server/repository. --- docs/Features/Packages/index.md | 8 +++++--- docs/Features/index.md | 6 +++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/Features/Packages/index.md b/docs/Features/Packages/index.md index 59549cba..38138437 100644 --- a/docs/Features/Packages/index.md +++ b/docs/Features/Packages/index.md @@ -8,14 +8,16 @@ redirect_from: - /Packages/What-Is --- -# Packages +# Package Management In twinBASIC, a *package* is a collection of components that you can reference from another twinBASIC project. The components can be modules, classes or interfaces. +twinBASIC comes complete with a package manager service called TWINSERV[^1], allowing you to share and distribute TWINPACK packages to other twinBASIC developers. + A twinBASIC package is distributed as a TWINPACK file that contains everything needed by the components in that package. A project that references a TWINPACK package, imports the whole package into the file system of the root project, resulting in no external dependencies. With TWINPACK packages you group common components together into their own namespace whilst allowing for convenient code reuse without any of the problems often associated with using external DLL libraries. -twinBASIC comes complete with a package manager service called TWINSERV, allowing you to share and distribute TWINPACK packages to other twinBASIC developers. +Please be aware that TWINPACK files currently contain the full source code of your packaged components. It is planned that we will in future allow for creating binary (compiled) TWINPACK files for developers that hold an Ultimate edition licence of twinBASIC. -Please be aware that TWINPACK files currently contain the full sourcecode of your packaged components. It is planned that we will in future allow for creating binary (compiled) TWINPACK files for developers that hold an Ultimate edition licence of twinBASIC. +[^1]: A service of TWINBASIC LLC offered to the user community. diff --git a/docs/Features/index.md b/docs/Features/index.md index ded0ffe3..344ec1fa 100644 --- a/docs/Features/index.md +++ b/docs/Features/index.md @@ -62,10 +62,14 @@ Modernized GUI components featuring: - 64-bit support and DPI awareness - New controls (QR Code, Multiframe, CheckMark) -### [Packages](Packages/) +### [Package Management](Packages/) + +twinBASIC[^1] has a centralized package repository, called TWINSERV. Users can publish both public and private packages. Package browsing, downloading, and publishing is seamlessly integrated into the IDE. Packages are collections of components that can be referenced from another twinBASIC project. They are distributed as TWINPACK files that contains everything needed by the components in that package. +[^1]: A service of TWINBASIC LLC offered to the user community. + ### [Advanced Features](Advanced/) Advanced programming capabilities: