Skip to content

Commit 85d4300

Browse files
committed
Contributed packages: each landing page opens with its author, and a GitHub link where a repository holds the package or the library it is made from; no TOC on a landing page of one or two sections
1 parent 51b151d commit 85d4300

12 files changed

Lines changed: 23 additions & 16 deletions

File tree

‎WIP.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ The rest of this file is the maintenance guide for updating existing pages or ad
7878
> would file the page as a *static file* and serve the raw markdown. Editors on
7979
> Windows add a BOM unasked. `lib/frontmatter.mjs` strips a leading BOM before parsing.
8080
- `docs/Reference/Built-In/tbIDE/` — IDE Extensibility package (this is the **addin SDK**). The package is type-only — it ships **public interfaces + CoClasses** that an addin DLL binds to; every implementation behind them lives in the twinBASIC IDE itself. The user-facing surface is one entry-point factory (`tbCreateCompilerAddin`) plus 23 CoClasses grouped by role: the addin contract (`AddIn`), the root API (`Host`), the loaded `Project`, the editors collection (`Editor` / `CodeEditor` / `Editors`), the virtual file system (`FileSystem` / `FileSystemItem` / `Folder` / `File`), the in-IDE UI surface (`Toolbar` / `Toolbars` / `Button` / `ToolWindow` / `ToolWindows`), the HTML DOM inside a tool window (`HtmlElement` / `HtmlElements` / `HtmlElementProperty` / `HtmlElementProperties` / `HtmlEventProperty` / `HtmlEventProperties`), the `DebugConsole`, `KeyboardShortcuts`, `Themes`, and the single concrete user-instantiable helper class `AddinTimer`. Flat layout — one page per CoClass / Class plus the index landing.
81-
- `docs/Reference/Contributed/` — the contributed packages, one folder each, landing page `Contributed.md` beside it. A class with member pages is a folder, `<Class>/index.md` at `/tB/Packages/Contributed/<Package>/<Class>/` with its members beside it, so a member links to its class as `(.)`; a class documented on one page is `<Class>.md`. Each package is a chapter of the book's Packages part in `_book.yml`. A section's `indexed_from` is the four-part TWINSERV version, and its snapshot is under `indexer/snapshots/contributed/`. Its samples compile in the `contributed-<Package>` sample template, whose `Settings` names the package's version: **change that version with `indexed_from`** ([WIP.ExamplesBuild.md](WIP.ExamplesBuild.md#template-projects)). **A contributed package is documented and its samples compiled against the newest twinBASIC BETA installed, never an older one** (owner, 2026-10-11): the version that matters is the package's, and a statement about the compiler (such as "does not compile on BETA 1005") names that newest build.
81+
- `docs/Reference/Contributed/` — the contributed packages, one folder each, landing page `Contributed.md` beside it. **A package's landing page opens, under its H1, with `**Author:**`** (owner, 2026-10-11): the publisher TWINSERV lists (`publisher` in `indexer/.packages/manifests/contributed.json`), or the author the package's own sources name when that is someone else (VBA_JSON: Tim Hall, published by WaynePhillipsEA). Then `**On GitHub:**` with a link, when a repository holds the package, or the library the package says it is made from; search GitHub for the package's name and the author's account, and check that the repository holds the package's code (its history too: `TBMANLIB_*` were never in woeoio's `tbman`). A landing page with one or two sections has no `* TOC` list. A class with member pages is a folder, `<Class>/index.md` at `/tB/Packages/Contributed/<Package>/<Class>/` with its members beside it, so a member links to its class as `(.)`; a class documented on one page is `<Class>.md`. Each package is a chapter of the book's Packages part in `_book.yml`. A section's `indexed_from` is the four-part TWINSERV version, and its snapshot is under `indexer/snapshots/contributed/`. Its samples compile in the `contributed-<Package>` sample template, whose `Settings` names the package's version: **change that version with `indexed_from`** ([WIP.ExamplesBuild.md](WIP.ExamplesBuild.md#template-projects)). **A contributed package is documented and its samples compiled against the newest twinBASIC BETA installed, never an older one** (owner, 2026-10-11): the version that matters is the package's, and a statement about the compiler (such as "does not compile on BETA 1005") names that newest build.
8282
- `docs/Reference/Statements.md` — alphabetical index of language statements.
8383
- `docs/Reference/Procedures and Functions.md` — alphabetical index of procedures/functions.
8484
- `docs/LLVM/` — the LLVM section: compiling with the LLVM back end. A top-level section between Features and Reference Section in the nav, at `nav_order: 6` (Features is 5). `index.md` is the landing page and `Getting-Started.md` the only page so far, with its screenshots under `Images/`. Everything it describes arrived in **BETA 984**. Its language claims are measured on BETA 995 with `tbrun --llvm` and `--exe`: the comma, space and comma-space spellings of `[CompilerOptions]` all turn LLVM and `+optimize` on, `[CompilerOptions("")]` turns it off under project-wide LLVM, the long CPU-flag sample runs, and an error is lost between procedures when either the callee or the caller is LLVM-compiled. Its samples are marked `check_build`, which compiles them; `examples.bat --llvm` also builds them with LLVM.

‎docs/Reference/Contributed/AutoCompleteLib/index.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ permalink: /tB/Packages/Contributed/AutoCompleteLib/
99
# AutoCompleteLib Package
1010
{: .no_toc }
1111

12+
**Author:** Krool
13+
1214
The **AutoCompleteLib** contributed package provides Windows shell auto-complete behavior for text-input controls. The package references the **AutoCompleteGuids** package, which holds the GUID and interface definitions the class uses.
1315

1416
## Classes

‎docs/Reference/Contributed/BigNumberLib/index.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ permalink: /tB/Packages/Contributed/BigNumberLib/
99
# BigNumberLib Package
1010
{: .no_toc }
1111

12+
**Author:** WaynePhillipsEA
13+
1214
The **BigNumberLib** contributed package provides arbitrary-precision signed integer arithmetic for twinBASIC.
1315

1416
> [!NOTE]

‎docs/Reference/Contributed/FileProps/index.md‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@ permalink: /tB/Packages/Contributed/FileProps/
1313
# FileProps Package
1414
{: .no_toc }
1515

16-
The **FileProps** contributed package provides access to Windows shell file properties through a Virtual-COM wrapper. It exposes a predeclared **FilePropertyExplorer** class that opens a file and returns a **FileProperties** collection; each entry in that collection is a **FileProperty** object with the system name, localized name, unique ID, and current value of one shell property.
16+
**Author:** WaynePhillipsEA
1717

18-
* TOC
19-
{:toc}
18+
The **FileProps** contributed package provides access to Windows shell file properties through a Virtual-COM wrapper. It exposes a predeclared **FilePropertyExplorer** class that opens a file and returns a **FileProperties** collection; each entry in that collection is a **FileProperty** object with the system name, localized name, unique ID, and current value of one shell property.
2019

2120
## Classes
2221

‎docs/Reference/Contributed/Fmt/index.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ permalink: /tB/Packages/Contributed/Fmt/
1313
# Fmt Package
1414
{: .no_toc }
1515

16+
**Author:** FullValueRider
17+
1618
The **Fmt** contributed package provides [**StringFormat**](PublicEntryPoints/StringFormat), a function that builds a string from a format string and a list of values, in the style of C#'s **String.Format**. A format string holds text, format items such as `{0}`, `{1,8}` or `{2:F2}`, and C-style escape sequences such as `\n` and `\q`. Each format item is replaced by the value at its index, formatted and padded as the item says.
1719

1820
The rest of the package is what **StringFormat** is built from: a class for each format identifier and the interface they implement, a class for each escape sequence, the string tests the formatter uses, and the older implementation, [**FormerStringFormat**](FormerEntryPoint/FormerStringFormat).

‎docs/Reference/Contributed/OLEGuids/index.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ permalink: /tB/Packages/Contributed/OLEGuids/
99
# OLEGuids Package
1010
{: .no_toc }
1111

12+
**Author:** Krool. **On GitHub:** [Kr00l/VBCCR](https://github.com/Kr00l/VBCCR/tree/master/twinBASIC%20Package/OLEGuids), in the folder *twinBASIC Package/OLEGuids*.
13+
1214
A twinBASIC package that declares 23 OLE and COM interfaces and 10 structures in twinBASIC source, so that a 32-bit or 64-bit project can call or implement them without a type library.
1315

1416
The package is a twinBASIC implementation of `OLEGuids.tlb`, the type library of OLE interface and type definitions that Krool's VBCCR and VBFLXGRD controls (`VBCCRxx.OCX` and `VBFLXGRDxx.OCX`) use. It replaces `OLEGuids.tlb` in projects that build 64-bit programs, and works in 32-bit projects as well. This section documents version 1.0.2.0, published under the MIT licence.

‎docs/Reference/Contributed/TBMANLIB_ListBoxHScroll/index.md‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ permalink: /tB/Packages/Contributed/TBMANLIB_ListBoxHScroll/
99
# TBMANLIB_ListBoxHScroll Package
1010
{: .no_toc }
1111

12-
The **TBMANLIB_ListBoxHScroll** contributed package provides a helper class that adds a functional horizontal scrollbar to a standard VB **ListBox** control by combining the `LB_SETHORIZONTALEXTENT` message, Win32 scroll-info APIs, and window subclassing.
12+
**Author:** woeoio
1313

14-
* TOC
15-
{:toc}
14+
The **TBMANLIB_ListBoxHScroll** contributed package provides a helper class that adds a functional horizontal scrollbar to a standard VB **ListBox** control by combining the `LB_SETHORIZONTALEXTENT` message, Win32 scroll-info APIs, and window subclassing.
1615

1716
## Classes
1817

‎docs/Reference/Contributed/TBMANLIB_RES/index.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ indexed_from: 1.0.0.0
88

99
# TBMANLIB_RES Package
1010

11+
**Author:** woeoio
12+
1113
A twinBASIC package for loading binary resources embedded in a compiled executable and converting them to bytes, strings, hex, Base64, or pictures.
1214

1315
## Classes

‎docs/Reference/Contributed/TwinTimerPackage/index.md‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ permalink: /tB/Packages/Contributed/TwinTimerPackage/
99
# TwinTimerPackage Package
1010
{: .no_toc }
1111

12-
The **TwinTimerPackage** contributed package provides a Win32-backed timer class that fires a **Timer** event at a repeating interval and reports the total elapsed time in milliseconds. Unlike the built-in VB **Timer** control, **TwinTimer** does not require a form or control container and can be instantiated from any module.
12+
**Author:** Krool
1313

14-
* TOC
15-
{:toc}
14+
The **TwinTimerPackage** contributed package provides a Win32-backed timer class that fires a **Timer** event at a repeating interval and reports the total elapsed time in milliseconds. Unlike the built-in VB **Timer** control, **TwinTimer** does not require a form or control container and can be instantiated from any module.
1615

1716
## Classes
1817

‎docs/Reference/Contributed/VBA_JSON/index.md‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ permalink: /tB/Packages/Contributed/VBA_JSON/
99
# VBA_JSON Package
1010
{: .no_toc }
1111

12-
The **VBA_JSON** contributed package provides JSON parsing and serialization for VBA and twinBASIC projects, along with UTC and ISO 8601 date-conversion utilities. The package exposes a **JsonConverter** standard module containing the primary **ParseJson** and **ConvertToJson** functions, and a **Dictionary** class used to represent JSON objects in memory.
12+
**Author:** Tim Hall, published on TWINSERV by WaynePhillipsEA. **On GitHub:** [VBA-tools/VBA-JSON](https://github.com/VBA-tools/VBA-JSON) and [VBA-tools/VBA-UTC](https://github.com/VBA-tools/VBA-UTC), the VBA libraries the package is made from.
1313

14-
* TOC
15-
{:toc}
14+
The **VBA_JSON** contributed package provides JSON parsing and serialization for VBA and twinBASIC projects, along with UTC and ISO 8601 date-conversion utilities. The package exposes a **JsonConverter** standard module containing the primary **ParseJson** and **ConvertToJson** functions, and a **Dictionary** class used to represent JSON objects in memory.
1615

1716
## Classes
1817

0 commit comments

Comments
 (0)