0.1.49 • Published 7 months ago

layer-to-svg v0.1.49

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

node: v18.20.4

Sketch to SVG

Exports layers from a .sketch file to an svg, without needing Sketch installed.

Usage as a command

Installation

Install globally npm i layer-to-svg -g

Or install locally npm i layer-to-svg (or checkout this repo) and then npm link (to enable the layer-to-svg command in the terminal)

Function

layerToSvg

将json layer转为svg,通过遍历json,使用paper进行svg计算,sketch shape->svg很有用

  • layer: sketch layer的json对象
  • options: node运行时sketch的地址和文件优化配置,web运行时暂不用配置
  • sketchfileData: web运行时,传入使用JSZip解压sketch后的zipinfo对象,node运行时不需要
  • getArraybuffer: web运行时,获取文件对象使用的buffer方法,配合jszip api

example=>example.js

// web例子
const beforeUpload = async (info: any) => {
    let sketchJson = null;
    try {
      const zip = new JSZip();
      const zipInfo = await zip.loadAsync(info);
      const getArraybuffer = async (name: string) => {
        if(zipInfo.files[name]){
          return await zip.file(name)?.async("arraybuffer")
        }
        return undefined
      }
    }catch(e){}
}

formatSketchJson

格式化sketch json,将不规则图形挑出来,转换为svg对象,svg对象以_class="svg",svg="svg code"形式创建

example=>test.js

canvas安装

https://www.npmjs.com/package/canvas

不同环境需要提前安装相关工具包: Mac Os中 可以使用 Homebrew 执行命令 brew install pkg-config cairo pango libpng jpeg giflib librsvg

0.1.49

7 months ago

0.1.41

7 months ago

0.1.42

7 months ago

0.1.43

7 months ago

0.1.44

7 months ago

0.1.45

7 months ago

0.1.47

7 months ago

0.1.48

7 months ago

0.1.40

7 months ago

0.1.38

7 months ago

0.1.39

7 months ago

0.1.30

8 months ago

0.1.31

8 months ago

0.1.32

8 months ago

0.1.33

8 months ago

0.1.34

8 months ago

0.1.35

8 months ago

0.1.36

8 months ago

0.1.37

8 months ago

0.1.27

8 months ago

0.1.28

8 months ago

0.1.29

8 months ago

0.1.24

8 months ago

0.1.25

8 months ago

0.1.26

8 months ago

0.1.13

10 months ago

0.1.14

10 months ago

0.1.15

10 months ago

0.1.20

9 months ago

0.1.21

9 months ago

0.1.22

9 months ago

0.1.23

8 months ago

0.1.16

10 months ago

0.1.17

10 months ago

0.1.18

10 months ago

0.1.19

10 months ago

0.1.10

11 months ago

0.1.11

11 months ago

0.1.12

10 months ago

0.1.0

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.8

11 months ago

0.0.9

1 year ago

0.1.7

11 months ago

0.0.8

1 year ago

0.1.9

11 months ago

0.1.4

11 months ago

0.0.5

1 year ago

0.1.3

12 months ago

0.1.6

11 months ago

0.0.7

1 year ago

0.1.5

11 months ago

0.0.6

1 year ago

0.0.3

1 year ago

0.0.4

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago