2
0
mirror of https://github.com/tenrok/BBob.git synced 2026-05-21 13:24:05 +03:00
Files
bbob/packages/bbob-parser
Nikolay Kost 2d1a08ba9a chore: update build system and dependencies (#155)
* chore: fix swc + rollup transform

* chore: fix pkg-task args parsing

* chore: update lerna, rollup and swc to build proper es6 files

* chore: fix swc build for es targets

* ci: nodes matrix to newest versions

* ci: rollup to mjs, swc to json

* ci: add canary publish

* ci: no git tag for canary

* ci: no private publish for canary

* ci: remove --canary from publish-canary

* fix: remove gitHead from package.json

* fix: tests setup

* fix: bbob plugin helper imports

* fix: plugin helper build priority and circular deps

* fix: add nx for parallel build

* fix: npm ci

* fix: code ql

* fix: remove exports directive

* fix: rollup build

* fix: vue2 test and minify

* fix: bundle size limits

* feat: bundlephobia pr review

* feat: bundlephobia more popular action

* feat: publish branch to npm

* fix: secret NPM token

* fix: bundlephobia version

* fix: remove bundlephobia checker

* fix: npm publish in PR

* chore: release 2.8.3

* chore: fix test runs on CI, removed 14.x version

* fix: sync package-lock

* fix: remove lock files in sub packages

* fix: bundlesize > bundlesize2

* fix: update lock files

* fix: lock file in vue2-example
2022-12-18 03:09:56 +02:00
..
2021-11-29 00:33:06 +02:00
2020-01-22 20:25:42 +02:00
2021-11-29 00:33:06 +02:00

@bbob/parser

install size Known Vulnerabilities

Parses BBCode and returns array AST tree

Valid for use with posthtml-render

Install

npm i @bbob/parser

Usage

API

import { parse } from '@bbob/parser'

const options = {
    onlyAllowTags: ['url', 'h'],
    onError: (err) => console.warn(err.message, err.lineNumber, err.columnNumber)
};
const ast = parse('[url=https://github.com]hello world![/url]', options)

Results to

[
    {
        "tag": "url",
        "attrs": {
            "url": "https://github.com"
        },
        "content": ["hello", " ", "world!"]
    }
]

PostHTML

import render from 'posthtml-render'
import { parse } from '@bbob/parser'

const options = {
    onlyAllowTags: ['url', 'h'],
    onError: (err) => console.warn(err.message, err.lineNumber, err.columnNumber)
};

const ast = parse('[url=https://github.com]hello world![/url]', options);
const html = render(ast) // <url url="https://github.com">hello world!</url>