Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
posthtml-modules
Advanced tools
Changelog
Readme
Import and process HTML Modules with PostHTML
npm i -D posthtml-modules
<!-- index.html -->
<html>
<body>
<module href="./module.html">
title
</module>
</body>
</html>
<!-- module.html -->
<header>
<h1>
Test <content></content>
</h1>
</header>
const { readFileSync } = require('fs')
const posthtml = require('posthtml')
const options = { /* see available options below */ }
posthtml()
.use(require('posthtml-modules')(options))
.process(readFileSync('index.html', 'utf8'))
.then((result) => result)
});
<html>
<body>
<header>
<h1>Test title</h1>
</header>
</body>
</html>
root
Type: string
Default: ./
Root path for modules lookup.
plugins
Type: array | function
Default: []
PostHTML plugins to apply for every parsed module.
If a function provided, it will be called with module's file path.
from
Type: string
Default: ''
Root filename for processing apply, needed for path resolving (it's better to always provide it).
initial
Type: boolean
Default: false
Apply plugins to root file after modules processing.
tag
Type: string
Default: module
Use a custom tag name.
attribute
Type: string
Default: href
Use a custom attribute name.
locals
Type: object
Default: {}
Pass data to the module.
If present, the JSON object from the locals=""
attribute will be merged on top of this, overwriting any existing values.
attributeAsLocals
Type: boolean
Default: false
All attributes on <module></module>
will be added to locals
parser
Type: object
Default: {}
Options for the PostHTML parser.
By default, posthtml-parser
is used.
expressions
Type: object
Default: {}
Options to forward to posthtml-expressions, like custom delimiters for example. Available options can be found here.
locals
You can pass data to a module using a locals=""
attribute.
Must be a valid JSON object.
Example:
<!-- module.html -->
<p>The foo is {{ foo }} in this one.</p>
<content></content>
<!-- index.html -->
<module href="./module.html" locals='{"foo": "strong"}'>
<p>Or so they say...</p>
</module>
<p>The foo is strong in this one.</p>
<p>Or so they say...</p>
attributeAsLocals
All attributes on <module></module>
will be added to locals
Example:
<!-- module.html -->
<div class="{{ class }}" id="{{ id }}" style="{{ style }}">
<content></content>
</div>
<!-- index.html -->
<module
href="module.html"
class="text-center uppercase"
id="example"
style="display: flex; gap: 2;"
>
Module content
</module>
<div class="text-center uppercase" id="example" style="display: flex; gap: 2;">
Module content
</div>
FAQs
Posthtml modules processing
The npm package posthtml-modules receives a total of 2,199 weekly downloads. As such, posthtml-modules popularity was classified as popular.
We found that posthtml-modules 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
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.