
Security News
OpenGrep Restores Fingerprinting in JSON and SARIF Outputs
OpenGrep has restored fingerprint and metavariable support in JSON and SARIF outputs, making static analysis more effective for CI/CD security automation.
slate-serializers
Advanced tools
Serialize Slate JSON objects to HTML and vice versa. Define rules to modify the end result.
A collection of serializers to convert Slate JSON objects to various formats and vice versa. Designed to work in both Node.js and browser environments.
Serializers included so far:
Serializers are only compatible with Slate >=0.50.0. Earlier versions used a different data model.
Note that compatibility has only been tested with Slate v0.72.8. These serializers are still in active development/testing.
yarn add slate-serializers
# or
npm install slate-serializers
Each serializer uses a default configuration, which may not transform your data effectively.
One of the principles of Slate is its schema-less core.
Check configuration objects in src/config/. Extend the default configuration or write your own in order to apply your schema/transformation rules.
import { slateToHtml } from 'slate-serializers'
const slate = [
{
children: [
{
text: 'Heading 1',
},
],
type: 'h1',
},
{
children: [
{
text: 'Paragraph 1',
},
],
type: 'p',
},
]
const serializedToHtml = slateToHtml(slate)
// output
// <h1>Heading 1</h1><p>Paragraph 1</p>
By default, slateToHtml
incorporates transformation rules based on the example in Deserializing | Serializing | Slate.
If you are using Payload CMS, import the Payload configuration file and pass it as a parameter to the serializer.
import { slateToHtml, payloadSlateToDomConfig } from 'slate-serializers'
const slate = [
{
children: [
{
text: 'Heading 1',
},
],
type: 'h1',
},
]
const serializedToHtml = slateToHtml(slate, payloadSlateToDomConfig)
You can create your own configuration file that implements your schema. See src/config/slatetoDom/payload.ts for an example of how to extend the default configuration or copy src/config/slatetoDom/default.ts and rewrite it as appropriate.
import { htmlToSlate } from 'slate-serializers'
const html = `<h1>Heading 1</h1><p>Paragraph 1</p>`
const serializedToSlate = htmlToSlate(html)
// output
/*
[
{
children: [
{
text: 'Heading 1',
},
],
type: 'h1',
},
{
children: [
{
text: 'Paragraph 1',
},
],
type: 'p',
},
]
/*
By default, htmlToSlate
incorporates transformation rules based on the example in HTML | Serializing | Slate.
If you are using Payload CMS, import the Payload configuration file and pass it as a parameter to the serializer.
import { htmlToSlate, payloadHtmlToSlateConfig } from 'slate-serializers'
const html = `<h1>Heading 1</h1><p>Paragraph 1</p>`
const serializedToSlate = htmlToSlate(html, payloadHtmlToSlateConfig)
You can create your own configuration file that implements your schema. See src/config/htmlToSlate/payload.ts for an example of how to extend the default configuration or copy src/config/htmlToSlate/default.ts and rewrite it as appropriate.
slateToHtml
is a simple wrapper that runs dom-serializer
on the output from slateToDom
.
slateToDom
is made available in case you wish to work woth the DOM output yourself or run dom-serializer
using any of the available options.
It accepts the same configuration object as slateToHtml.
TLDR: contributors can format commit messages in any way, maintainers should use conventional commits.
This repository uses conventional commits.
Conventional commits are not enforced. General guidance:
Run npx cz
instead of git commit
to lint commit messages using @commitlint/cli.
FAQs
This package has been split into separate packages.
The npm package slate-serializers receives a total of 2,929 weekly downloads. As such, slate-serializers popularity was classified as popular.
We found that slate-serializers demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
OpenGrep has restored fingerprint and metavariable support in JSON and SARIF outputs, making static analysis more effective for CI/CD security automation.
Security News
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
Security Fundamentals
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.