img



img

LibWiki


By: _ForgeUser4351698
Addon | img 1,154




Description

___________________________________________________________________________________________________________________________

Description

General Information

LibWiki provides facilities to easily build, display and navigate Wiki-like pages.

It provides convenient PageContainer and Navigator objects which together are used to push/pop pages and navigate forward/backward like in a typical browser. (Browser not included...) It was developed together with ApiBrowser as the content displaying framework.

The provided PageBuilder can construct structured pages from the following primitives with very little code:

Header 1

A single line header of a certain size and style (h1)

Header 2

A single line header of a certain size and style (h2)

Paragraph

A simple text paragraph

Table of Contents

A list of links arranged in a grid-like fashion

Function Signature

The function signatures and parameter/result types in a useful overview, parsed from the result of Inspect.Documentation

Key-Value-Table

The keys and values of a Lua table in a table layout.

If it is popular enough support for more primitives will be added. It recognizes some basic markup (besides Rift's HTML processing capabilities) for realizing hyperlinks between pages. To see it in action try out ApiBrowser where all the capabilities of LibWiki are used. You can also find a very extensive documentation of LibWiki inside ApiBrowser.

Markup

Here is a short explanation for the hyperlink markup:

The usual suspects for wiki link markups are either [[xxx]] or {{xxx}} but since both can appear in common Lua snippets ApiBrowser uses <<xxx>> instead as both << and >> are invalid Lua syntax. Most PageBuilder:Build* methods search the inputs for this markup text if HTML processing is enabled.

You have to escape < and > in normal text with &lt; and &gt;.

Remember the following rules:

  • Due to limitations in Lua's regex patterns the colon after << must(!) be included otherwise the link is not recognized.
  • Do not use the colon character ":" in module names (it's OK in paths).
  • Do not use the pipe character "|" in either module or path names (this also breaks Rift's HTML parser, so seriously, don't do it).
  • Link titles may contain HTML markup. In cases where the title ends with a ">" append a semicolon ";" to resolve the ambiguity (e.g. "<<Path|<b>Bold Title</b>;>>"). The semicolon is not displayed.

Complete syntax

<<:path>>

Link to a page with the given path in the same module. The link text equals the path.

<<:path|title>>

Link to a page with the given path in the same module. The link text equals title.

<<module:path>>

Link to a page with the given path in the given module. The link text equals the path.

<<module:path|title>>

Link to a page with the given path in the given module. The link text equals title.

Commands

Some hyperlinks are not meant to simply navigate to a different page but instead exectue a command. This is implemented using module names in the link with special meaning. All these special module names begin with "#!" and cannot be used as ordinary module names.

Currently there is only the copy command:




About Project

Created: September 21st 2023

Updated: September 21st 2023

Project ID: 92096

License: All Rights Reserved

__________________________________________

Game Versions:

1.01.03

1.01.03

1.01.03

1.01.03

1.01.03

__________________________________________

Flavors:

WoW Retail

__________________________________________

Categories

Companions

Battle

__________________________________________

Main File

_ForgeUser4351698_LibWiki.zip
  • Release
  • September 21st 2023

    __________________________________________

    Recent File

    _ForgeUser4351698_LibWiki.zip
  • Release
  • September 21st 2023

    __________________________________________

    Members

    img
    _ForgeUser4351698
    Owner

    __________________________________________

    Report