2
0
mirror of https://github.com/tenrok/BBob.git synced 2026-05-15 11:59:37 +03:00

BBob

BBob is a tool to parse and transform BBCode Written in pure javascript, no dependencies

Packages

Package Status Size Description
@bbob/core @bbob/core-status 3.2K Core package
@bbob/react @bbob/react-status 1.0K React renderer
@bbob/preset-react @bbob/preset-react-status 1.8K React default tags preset
@bbob/html @bbob/html-status 689B HTML renderer
@bbob/preset-html5 @bbob/preset-html5-status 1.6K HTML5 default tags preset

DEMO Playground

Table of contents

Basic usage

import bbob from '@bbob/core'
import { render } from '@bbob/html'
import presetHTML5 from '@bbob/preset-html5'

const processed = bbob(presetHTML5()).process(`[i]Text[/i]`, { render })

console.log(processed.html); // <span style="font-style: italic;">Text</span>

Presets

Its a way to transform parsed BBCode AST tree to another tree by rules in preset

Create your own preset

import { createPreset } from '@bbob/preset'
import { render } from '@bbob/html'
import bbob from '@bbob/core'

const preset = createPreset({
  quote: node => ({
    tag: 'blockquote',
    attrs: {},
    content: [{
      tag: 'p',
      attrs: {},
      content: node.content,
    }],
  }),
})

console.log(bbob(preset()).process(`[quote]Text[/quote]`, { render }).html) // <blockquote><p>Text</p></blockquote>

HTML Preset

Also you can use predefined preset for HTML


React Preset

React usage

Component

Render prop

PostHTML usage

Create Plugin

S
Description
BBCode
Readme MIT 6.4 MiB
Languages
TypeScript 91.7%
JavaScript 8.3%