
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
@dataset.sh/doc3
Advanced tools
A file-based headless content management library. suitable for managing documentation site and blog.
import {Doc3} from "@dataset.sh/doc3"
const doc3 = Doc3('./')
doc3
doc3 manage content entirely based on
- Folder
- sidebar.yaml (optional)
- article1.md
- article2.mdx
- 2023-06-06-article3.mdx (article with date prefix)
- sub-folder
- article1.md
- article2.mdx
- 2023-06-06-article3.mdx (article with date prefix)
This package use gray-matter to extract metadata from each md or mdx files.
The following metadata fields are required, and will be automatically generated if missing from front matter.
yyyy-mm-dd-slug.md, then modifiedAt.fs.stat.The following metadata fields will be generated, but can be disabled by certain flags.
You can define a sidebar layout in this file, which is normally used in documentation sites. For example:
---
- title: Intro
slug: intro
- title: Tutorial
slug: tutorial
- title: Advance
slug: advance
children:
- title: Engine
slug: advance/engine
- title: Control
slug: control
The slug fields of children elements don't have to share url prefix of its parent,
for example, if parent node has slug advance, one of its children can have the url advance/engine, and another
can have not-advance/some-doc.
This yaml file should contain ContentNode[] as defined below.
type ContentNode = {
name: string,
slug?: string,
children?: ContentNode[]
}
With doc3, you can easily implement i18n, multiple versioning, and multiple software in one site.
doc3 offers great flexibility and should work for you no matter what i18n, versioning systems you are using.
The easiest way to achieve features such as i18n is to store different version of your content in different folders and
load the
corresponding folder when needed. In that way, doc3 should be flexible enough to work with any i18n setups.
let locale = 'fr'
const doc3 = Doc3(`locale/${locale}`)
let version = '1.0.0'
const doc3 = Doc3(`version/${version}`)
let libname = '...'
const doc3 = Doc3(`lib/${libname}`)
We also include a cli app, which can be useful for debugging your content folder.
npx doc3 -h
npx doc3 list ./ # list documents
npx doc3 list ./ -t [tag] # list documents by tag
npx doc3 list-tags ./ # list tags
npx doc3 print ./ [slug] # get article for slug
npx doc3 print ./ [slug] -m # get article for slug, but only print metadata
npx doc3 print ./ [slug] -c # get article for slug, but only print content
FAQs
A file-based headless content management library.
We found that @dataset.sh/doc3 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
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.