1.0.0 • Published 4 years ago

svg-translator v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

svg文件解析器

  1. 无用属性删除比如data-name
  2. id,class重命名、中文转英文,避免重复和符合命名规范id替换规则

    • 如果id中包含filter/linear字样不删除
    • 如果id在文件中出现两次不删除
    • 其余情况都删除
  3. linearGradient,filter绝对定位改为相对定位,方便使用

    • filter处理规则
      • 将x,y,width,height,修改为百分比
      • 添加primitiveUnits="objectBoundingBox",删除filterUnits="userSpaceOnUse"
      • 子元素feImage的x,y,width,height也要改成百分比
      • 重复的filter删除
    • linearGradient处理规则
      • 将x1,y1,x2,y2修改为百分比
      • 删除gradientUnits="userSpaceOnUse"
      • xlink:href如果包含这个的渐变要删除
  4. 图片base64保存为图片文件,方便阅读

  5. svg path路径转换,转为相对路径,方便修改

开发svg文件解析指令

  1. 在package.json中配置指令的入口,一般指令执行文件命名为cli.js
"bin": {
    "svg-cli": "./bin/cli.js" // 指令名称:指令执行文件路径
  }
  1. 在执行文件中头部添加 #!/usr/bin/env node表示执行环境时node
#!/usr/bin/env node 
  1. 在执行文件中使用commander库可以快速解析终端输入的参数参考文档
const program = require('commander');

program.version('1.0.0')
    .command('parse <path>')
    .action((path) => {
        // 输入该子指令时需要做什么
    });

program.parse(process.argv);