另一种选择是使用catage、CodeSnap、PolaCode或carbon-now-cli。
CodeSnap 和 PolaCode 是 Visual Studio Code 扩展,在命令行中使用它们可能有些困难,但它们使用起来很简单。将它们安装到编辑器中时,请按照说明进行操作。此解决方案适用于 Visual Studio Code 支持的所有操作系统。
如果您使用的是基于 Debian 的 Linux 发行版,并且安装了 Docker,那么您可以使用以下 shell 脚本创建一个 catage Docker 映像:
#!/bin/bash
sudo docker build -t catage:local - <<EOF
FROM buildkite/puppeteer
USER node
ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
ENV PATH=$PATH:/home/node/.npm-global/bin
RUN mkdir /home/node/.npm-global
WORKDIR /home/node/app
RUN npm install -g catage
EOF
同样,可以使用以下脚本创建 carbon-now-cli Docker 映像:
#!/bin/bash
sudo docker build -t carbon-now:local - <<EOF
FROM alekzonder/puppeteer
USER root
RUN apt-get update
RUN apt-get install git -yq
RUN yarn global add carbon-now-cli
USER pptruser
EOF
在 shell 脚本中使用这些 Docker 图像,如下所示,从您的代码片段生成 PNG 图像:
#!/bin/bash
alias catage="sudo -E docker run --rm -it -v $PWD:/home/node/app catage:local catage"
alias carbon-now="sudo -E docker run --rm -it --init --cap-add=SYS_ADMIN --shm-size=1gb --user pptruser -v $PWD:/home/pptruser/app --workdir /home/pptruser/app carbon-now:local carbon-now"
catage --language java --no-line-numbers --theme Material --frame-title "My Code Snippet" --format png "my_code_snippet.java" "my_code_snippet.png"
carbon-now "my_code_snippet.java" --target "my_code_snippet" --headless
Docker 方法适用于 Docker 支持的所有操作系统。您可能需要根据操作系统的功能修改上述 shell 脚本示例,但基本命令保持不变。