Merge remote-tracking branch 'upstream/main'

This commit is contained in:
2026-08-26 09:31:34 +08:00
parent 9b8c4bfab6
commit 394eb0285d
34137 changed files with 3589424 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
const processor = require('posthtml-svg-mode');
const renameId = require('posthtml-rename-id');
const normalizeViewBox = require('./transformations/normalize-viewbox');
const rasterToSVG = require('./transformations/raster-to-svg');
const prefixStyleSelectors = require('./transformations/prefix-style-selectors');
const svgToSymbol = require('./transformations/svg-to-symbol');
/**
* @param {Object} options
* @param {string} [options.id]
* @param {string} options.content
* @param {FileRequest} options.request
* @return {Promise<PostHTMLProcessingResult>}
*/
function symbolFactory(options) {
const { id } = options;
const plugins = [];
// convert raster image to svg
const content = Buffer.isBuffer(options.content)
? rasterToSVG(options.content)
: options.content;
plugins.push(normalizeViewBox());
plugins.push(prefixStyleSelectors(`#${id}`));
plugins.push(renameId(`${id}_[id]`));
plugins.push(svgToSymbol({ id }));
return processor(plugins).process(content);
}
module.exports = symbolFactory;