0.1.0 • Published 8 years ago

bbfy v0.1.0

Weekly downloads
7
License
Apache-2.0
Repository
github
Last release
8 years ago

bbfy BBCode Processor

bbfy is a modular, extensible BBCode parser and converter for node.js/io.js and web browsers.

Installation

For use with node.js or io.js, bbfy can be installed through npm:

npm install bbfy

bbfy can also be run inside web browsers, by using bbfy.browser.js. Since it supports UMD, it can be integrated standalone or through an AMD loader such as RequireJS. Rename bbfy.browser.js to bbfy.js and copy it to your project. For standalone use, reference it through a source tag:

<script src="bbfy.js"></script>

AMD loaders can simply list and use bbfy as a require or define dependency:

require(['bbfy'], function (bbfy) {
  ....
}

Copying bbfy.browser.js.map is optional and provides debugging capabilities as bbfy.browser.js is uglified.

Usage

bbfy exposes one function, converter, which optionally takes an object of options. Invoking converter returns and anonymous function that converts BBCode-enriched text based on the provided ruleset.

var convert = bbfy.converter();
var bbcode = '[b]Hello World![/b]';
var html = convert(bbcode); // <b>Hello World!</b>

The default ruleset converts BBCode to standards-compliant HTML.

All defaults are exposed via bbfy.options and pre-defined rulesets as bbfy.ruleSets. The call to converter supports overriding the ruleset by setting the key rules. Additionally, the key unsupported can be assigned to a fallback function handling unknown BBCode tags. The default one just strips off the tags.

The internal API is exposed through bbfy.api and should only be used at your own discretion as there a no guarantees towards stability or consistency throughout releases.

API

Development

bbfy is written in ES6 and built using gulp. Run npm install to fetch all dependencies needed for building bbfy and gulp compile to build the node.js version in target/bbfy.js. gulp bundle builds the browser version bundling all dependencies using browserify. The output file is target/bbfy.browser.js. gulp test runs all tests and gulp watch watches for source code or test code changes and re-runs all building and test tasks on demand.

If you don't want to install gulp globally, you can run it off the local node depedency cache: node_modules/gulp/bin/gulp.js.

Supported HTML Tags

At this point, bbfy supports conversion of the following tags:

BBCodeHTMLDescriptionSupported Attributes
bbEmphasis
iiItalic
uuUnderline
ssStriketrough
colorspan colorFont color
fontspan font-familyFont family
sizespan font-sizeFont size
urla hrefHyperlink
imgimgImagewidth, height

Links

License

Copyright © 2015 LShift Services GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

0.1.0

8 years ago