
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
html-scribe
Advanced tools
Parse any page / DOM element's text content. Gets all unique strings used in the given element. Generate a dictionary based on parsing results. Exports results in JSON format.
Install the package with your package manager of choice.
yarn add html-scribe
# or
npm install --save html-scribe
Import the package.
import Scribe from 'html-scribe'
// or
const Scribe = require('html-scribe')
To use Scribe, you first need to create an instance. Optionnaly, pass it an options object a first argument.
const parser = new Scribe({
// options table located below
})
Scribe should work with all major front-end frameworks, since it exclusively uses the vanilla JS API.
Manually, using API
// Initialize Scribe instance, target element "main"
const parser = new Scribe()
// Target "main"
const element = document.querySelector('main')
// Parse Element
const strings = parser.parse(element)
// Generate
const dictionary = parser.generateDictionary()
// export results and dictionnary to JSON
// with title "myExport"
parser.exportStringsAndDictionnary('myExport')
Scribe can easily automate this same process.
Automatically, using options
new Scribe({
el: document.querySelector('main'),
config: {
strings: {
autoStart: true,
exportOnFinish: true,
},
dictionary: {
autoStart: true,
exportOnFinish: true,
}
}
})
Options are declared through nested object properties, formatted as such:
const defaultOptions = {
el: null,
source: [],
config: {
strings: {
autoStart: false,
exportOnFinish: false,
sort: false,
},
dictionary: {
autoStart: false,
exportOnFinish: false,
sort: true,
}
}
}
Strings- and dictionnary-related options are to be declared separately.
| Option | Type | Default | Description |
|---|---|---|---|
el | DOMElement | null | Element to parse for strings. |
source | Array[String] | [] | Strings array to use as initial source when parsing element. |
autoStart | Boolean | false | Parsing starts as soon as instance is created. |
exportOnFinish | Boolean | false | Start download dialog as soon as parsing is finished. |
sort | Boolean | false | Sort results alphabetically. |
| Method | Description | Arguments | Returns |
|---|---|---|---|
parse(el) | Parse element for strings | el: Element to parse. Uses options.el if left empty. | Parsing results Array[String] |
generateDictionary(list) | Extract unique words from supplied list | list: Strings to convert into dictionary. Uses parsing results (instance.strings) if left empty. | Dictionnary Array[String] |
exportStrings(title) | Convert parsing results to JSON and trigger download dialog | title: title of generated file. | JSON File |
exportDictionary(title) | Convert dictionary to JSON and trigger download dialog | title: title of generated file. | JSON File |
exportStringAndDictionary(title) | Export parsing results and dictionary to JSON and trigger download dialog | title: title of generated file. | JSON File |
Scribe still is a young package. Issues, pull requests and forks are welcome!
FAQs
Lightweight front-end HTML text parser
We found that html-scribe demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.