另一个选择是利用catage, CodeSnap, PolaCode或carbon-now-cli。
CodeSnap和PolaCode是Visual Studio Code扩展程序,从命令行使用它们可能有点困难,但使用起来很简单。安装它们到你的编辑器时,请遵循说明。该解决方案适用于所有由Visual Studio Code支持的操作系统。
如果您正在使用基于Debian的Linux发行版,并且已经安装了Docker,则可以使用以下shell脚本创建catage Docker镜像:
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 镜像:
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脚本示例,但基本命令保持不变。