
Security Fundamentals
Turtles, Clams, and Cyber Threat Actors: Shell Usage
The Socket Threat Research Team uncovers how threat actors weaponize shell techniques across npm, PyPI, and Go ecosystems to maintain persistence and exfiltrate data.
gulp-inline-css
Advanced tools
Inline your CSS properties into the
style
attribute in an html file. Useful for emails.
Inspired by the grunt plugin grunt-inline-css. Uses the inline-css module.
This gulp plugin takes an html file and inlines the CSS properties into the style attribute.
/path/to/file.html
:
<html>
<head>
<style>
p { color: red; }
</style>
<link rel="stylesheet" href="style.css">
</head>
<body>
<p>Test</p>
</body>
</html>
style.css
p {
text-decoration: underline;
}
Output:
<html>
<head>
</head>
<body>
<p style="color: red; text-decoration: underline;">Test</p>
</body>
</html>
Install with npm
npm install --save-dev gulp-inline-css
var gulp = require('gulp'),
inlineCss = require('gulp-inline-css');
gulp.task('default', function() {
return gulp.src('./*.html')
.pipe(inlineCss())
.pipe(gulp.dest('build/'));
});
With options:
var gulp = require('gulp'),
inlineCss = require('gulp-inline-css');
gulp.task('default', function() {
return gulp.src('./*.html')
.pipe(inlineCss({
applyStyleTags: true,
applyLinkTags: true,
removeStyleTags: true,
removeLinkTags: true
}))
.pipe(gulp.dest('build/'));
});
Options are passed directly to inline-css.
Type: String
Default: ""
Extra css to apply to the file.
Type: Boolean
Default: true
Whether to inline styles in <style></style>
.
Type: Boolean
Default: true
Whether to resolve <link rel="stylesheet">
tags and inline the resulting styles.
Type: Boolean
Default: true
Whether to remove the original <style></style>
tags after (possibly) inlining the css from them.
Type: Boolean
Default: true
Whether to remove the original <link rel="stylesheet">
tags after (possibly) inlining the css from them.
Type: String
Default: filePath
How to resolve hrefs. Must be a string of one character or more. Required.
Relative urls in links will have this value prepended to them. So these links:
<a href="page-relative">Page</a>
<a href="/root-relative">Root</a>
<- note leading /With this option:
inlineCss(html, { url: 'http://example.com/mushroom'})
.then(function(html) { console.log(html); });
Will result in
<a href="http://example.com/mushroom/page-relative">Page</a>
<a href="http://example.com/root-relative">Root</a>
If you don't need this feature, simply set the property to a short string eg {url: ' '}
(one space) and everything will work.
Type: Boolean
Default: false
Preserves all media queries (and contained styles) within <style></style>
tags as a refinement when removeStyleTags
is true
. Other styles are removed.
Type: Boolean
Default: false
Whether to use any CSS pixel widths to create width
attributes on elements.
Type: Boolean
Default: false
Whether to apply the border
, cellpadding
and cellspacing
attributes to table
elements.
Type: Boolean
Default: false
Whether to remove the class
and id
attributes from the markup.
Options to passed to cheerio.
MIT © Jonathan Kemp
FAQs
Inline linked css in an html file. Useful for emails.
The npm package gulp-inline-css receives a total of 9,018 weekly downloads. As such, gulp-inline-css popularity was classified as popular.
We found that gulp-inline-css 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 Fundamentals
The Socket Threat Research Team uncovers how threat actors weaponize shell techniques across npm, PyPI, and Go ecosystems to maintain persistence and exfiltrate data.
Security News
At VulnCon 2025, NIST scrapped its NVD consortium plans, admitted it can't keep up with CVEs, and outlined automation efforts amid a mounting backlog.
Product
We redesigned our GitHub PR comments to deliver clear, actionable security insights without adding noise to your workflow.