flutter_bbcode 1.5.0 copy "flutter_bbcode: ^1.5.0" to clipboard
flutter_bbcode: ^1.5.0 copied to clipboard

A package to display BBCode text in Flutter apps. Manage your own tags or use those of others.

PubDev Pub Popularity GitHub Workflow Status

A simple display for BBCode in Flutter. Supports custom tags and styles.

Features #

  • Render BBCode into nicely readable text
  • Support for different styles
  • Support for custom tags

Preview #

Preview 1 Preview 2

Getting started #

  1. Install the package using the instruction on the installation page.
  2. That's all! You are ready to start displaying BBCode in Flutter.

Usage #

A fully working example can be found on Github.

After installing the package displaying BBCode is rather straighforward. When using this code note that you will be using the all default available BBCode parsers.

Widget parsedBBCode = BBCodeText(data: _yourString);

Custom Stylesheet #

An additional BBStylesheet can be provided using the stylesheet to overwrite the default style and tags used. Simply create an instance of BBStylesheet and add the tags you desire. It's also possible to get the default style and add, replace or remove certain tags.

var changedStyle = BBStyleSheet(tags: [
    BoldTag(),
    HeaderTag(1, 64)
]);

var extenedStyle = defaultBBStylesheet()
    .addTag(YourNewTag())
    .replaceTag(HeaderTag(1, 16));

Widget parsedBBCode = BBCodeText(data: _yourString, stylesheet: extendedStyle);

Creating your own tags #

You can create your own tags by extending the AbstractTag, StyleTag, WrappedStyleTag or AdvancedTag classes. The StyleTag should be sufficient for most style changes. The WrappedStyleTag can be used to wrap a style around the tag. An example of a tag that implements this is the [quote] tag.

Additional information #

Currently support tags by default #

  • [B] - Bold text
  • [I] - Italic text
  • [U] - Underlined text
  • [S] - Strikethrough text
  • [COLOR=#HEX] - Coloured text based on HEX
  • [H1] - Header text, supported up till [H6]
  • [URL=https://google.com] - Supported with or without text. Can also be used to surround an URL to make it clickable. Default action is a log message. Example using url_launcher can be found in the example.
  • [IMG=src] - Display an image from the internet.
  • [QUOTE=Marten] - Used to wrap text in a quote block.
  • [SPOILER=Name] - Used to create a clickable spoiler tag.
  • [LIST] / [LIST=1] / [UL] / [OL] - Used to create (ordered) lists. Note that items need to be of the form [*]item[/*]
  • [LEFT], [CENTER], [RIGHT] - Align the text

Contribute to the project #

Feel free to create issues and pull-requests on Github. I will take a look at them as soon as possible.

Leaving a star is also highly appreciated :)

5
likes
150
pub points
81%
popularity

Publisher

verified publishermstruijk.nl

A package to display BBCode text in Flutter apps. Manage your own tags or use those of others.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

bbob_dart, flutter

More

Packages that depend on flutter_bbcode