
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.
@weh/matter
Advanced tools
A front matter parsing plugin for the weh static site generator
files arraynpm install --save @weh/matter
const weh = require('@weh/weh')
const matter = require('@weh/matter')
// enter our main function:
// the main function should be an async function so that
// it automatically returns a promise
weh(async site => {
// we register our plugin...
site.use(matter)
// ...and initiate the build process
return site
})
You can pass a custom filter as an option to matter to include or exclude files.
A filter is a function that takes the arguments file, options, and files. file is the current file, options is the options object passed to matter, and files is the entire array of files created by weh.
When the filter function returns true, matter applies its transforms to the current file object. Otherwise the file object remains unchanged.
The default filter in matter always returns true, so the transform will be applied to every file:
function filter (file, options, files) {
return true
}
This is how you could use a filter to only apply matter to files ending with .md:
const weh = require('@weh/weh')
const matter = require('@weh/matter')
// custom filter function
// returns true if file path ends with '.md'
function myCustomFilter (file, options, files) {
return file.path.endsWith('.md')
}
weh(async site => {
// we register the matter plugin with our custom filter function...
site.use(matter, {filter: myCustomFilter})
// ...and initiate the build process
return site
})
matter uses [gray-matter](http://npm.im/gray-matter) for parsing metadata. All options of gray-matter are also available in matter.
This is what a plugin call with custom options would look like:
const weh = require('@weh/weh')
const matter = require('@weh/matter')
// we define our options object...
const myMatterOptions = {
delims: '~~~'
}
weh(async site => {
// ...and pass it to the use method
site.use(matter, myMatterOptions)
return site
})
matter extracts any Front Matter from the contents property of a file object and writes it to its metadata property.
Given the following text file:
---
title: Greeting
---
Hello World
The resulting weh file object would be:
contents: 'Hello World',
metadata: {
title: 'Greeting'
}
This repository operates under the weallbehave Code of Conduct. Its contents can be found in CODE_OF_CONDUCT.md.
MIT (see LICENSE document)
FAQs
⚗ Front matter parsing plugin for the weh static site generator
We found that @weh/matter demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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
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.