Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
documentalist
Advanced tools
A sort-of-static site generator optimized for living documentation of software projects
A sort-of-static site generator optimized for living documentation of software projects.
Documentalism is a two-step process:
Documentalist
is an extensible solution to step 1: it helps you get all your data in one place, in a consistent format.
Configure Documentalist
with plugins to extract documentation data from source files, then feed it a glob of files
and await
your magical blob of documentation data!
Documentalist
comes with plugins for the following languages:
Register plugins with .use(pattern, plugin)
. Supply a pattern
to match files against; matched files will be compiled by the plugin
. Documentation data will be collected into a single blob and can be easily written to a file or fed into another tool.
const { Documentalist, MarkdownPlugin, TypescriptPlugin } = require("documentalist");
const { writeFileSync } = require("fs");
new Documentalist()
.use(".md", new MarkdownPlugin())
.use(/\.tsx?$/, new TypescriptPlugin({ excludeNames: [/I.+State$/] }))
.documentGlobs("src/**/*") // ← async operation, returns a Promise
.then(docs => JSON.stringify(docs, null, 2))
.then(json => writeFileSync("docs.json", json))
On the command line, the Markdown and Typescript plugins are enabled by default.
The CSS plugin can be enabled with --css
. Plugins can be disabled with the no-
prefix.
Options are not supported via the command line interface :sob:.
documentalist "src/**/*" --css --no-ts > docs.json
Documentalist uses a plugin architecture to support arbitrary file types.
Use your own plugins by passing them to dm.use(pattern, plugin)
with a
pattern to match against source files. The collected matched files will
be passed to your plugin's compile
function, along with a compiler
instance that can be used to render blocks of markdown text.
Now that you've got a sweet data file packed with documentation goodness, what next?
Well, you've got some options. This package does not provide the tools to render the data, but they're fairly easy to construct once you understand the data format.
theme/
directory here for our simple Pug template that renders the GitHub Pages site.@blueprintjs/docs-theme
package (the same one that powers http://blueprintjs.com/docs).This project is made available under the BSD License and includes a Patent Grant.
FAQs
A sort-of-static site generator optimized for living documentation of software projects
We found that documentalist 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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.