mirror of
https://github.com/tenrok/BBob.git
synced 2026-05-15 11:59:37 +03:00
27a28a3bb39bb8b04d7eda9ff12825bed91acd72
BBob
BBob is a tool to parse and transform BBCode Written in pure javascript, no dependencies
Packages
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
Languages
TypeScript
91.7%
JavaScript
8.3%