DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:bbcodeextensions

bbcodeextensions Plugin

Compatible with DokuWiki

No compatibility info given!

plugin

Last updated on
2023-04-13
Provides
Syntax
Repository
Source

The BBCode Extensions plugin introduces support for a number of nonstandard BBCode tags that are forum-specific and do not form part of the mainline BBCode Plugin for DokuWiki.

Installation

Search and install the plugin using the Extension Manager. Refer to Plugins on how to install plugins manually.

:!: The official release of the plugin has been moved over to Codeberg; the Notabug release URL remains as a mirror.

Usage

The plugin adds a few non-standard BBCode tags found in different forums. Where possible those tags map to HTML tags or formatting elements, to aid in supplementing :!: planned loss of embedded HTML support.

See the plugin in action at FIXME (pending demo page).

HTML Anchor

[a]name[/a]

An anchor with HTML id “name” will be placed in the page at that position, which can be linked to via [[pagelink#name]] (see also: anchor).

Edit Markers

[del]this section has been deleted[/del]
[ins]this section has been added[/ins]

These tags mark text as being the result of an edit deletion or edit insertion via de respective HTML elements del (deletion) and ins (insertion).

Depending on the user agent they are styled in different ways: for example, a deletion can be marked with strikethrough while an insertion can be styled with underline.

Highlight

Please take notice of [hil]this particular result[/hil].

Code stylized with this element is marked by default in the same way that the search results for the OS-level or browser-level in the current page. For example, in some browsers this is a yellow background. This is done via the mark HTML element.

Quote (inline)

Some text with [q]a citation[/q].
Some text with [q cite="source author"]a citation with source[/q].

The text will be formatted as a quotation. In general browsers do this by styling them the same way <em> are styled. Extra styling can be added by declaring the adequate elements in userstyles.css:

/* The classname can change depending on your wiki configuration */
q.bbcodeextensions {
font-family: cursive;
}

Terminal Interaction

Type [kbd]hello world <Enter>[/kbd] 
and you get a [samp]Hello $NAME[/samp] as response.

Text marked with these tags is marked as, respectively, input given to a terminal prompt or to a system that takes user input, and output that is rendered by a terminal or other such device. These are basically semantic supplements to the code tag. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/kbd (user input) and https://developer.mozilla.org/en-US/docs/Web/HTML/Element/samp (terminal output).

Freestyle

Two generic tags are added which allow to create a <div> or a <span> decorated with given classnames. This means you can style inline or block sections in any way that is loaded in your local wiki, for example in conf/userstyles.css. The syntax is as follows:

Wikitext Resulting HTML (approximate)
[cd="classes..."] Content [/cd] <div class="classes..."> Content </div>
[cs="classes..."] Content [/cs] <span class="classes..."> Content </span>

See also: the Wrap Plugin.

Configuration and Settings

The plugin has one configurable parameter:

Parameter Usage
anchor_symbol The symbol to preppend to anchor syntax for non-HTML renderers, such as the text renderer. Defaults to the typographical mark “☞” .

Development

Potentially thinking of implementing some BBCode tags such as:

  • [baseurl=...] for domain-based relative URL links (see baselink).
  • [hil]... for highlighting text the same way as highlights for eg.: search results.
  • [h1][h6] for headers.
  • [hh] for same-level headers.
  • [left]/[right]/[center]/[justify] for text alignment (see divalign2).
  • [abbr] for abbreviation/tooltip.

Change Log

Issues

See the issue tracker for issues.

FAQ

Discussion

plugin/bbcodeextensions.txt · Last modified: 2023-04-13 23:09 by ryan-chappelle

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki