Show HN: 我构建了一个用于激光切割的命令行 ASCII Logo SVG 生成器
该文章介绍了一个名为 `ascii-logo` 的命令行工具,用于将 ASCII 文本艺术转换为 SVG 格式,方便激光切割等应用。用户可以通过该工具生成 ASCII 艺术字,并将其导出为 SVG 文件,支持自定义字体、颜色、尺寸等。文章提供了安装、使用方法、API 选项和示例,以及从源码构建和运行 SVG 查看器的说明。该工具基于 MIT 许可协议。
ykhli/ascii-logo
一个命令行工具,用于创建 ASCII 文本艺术并将其转换为 SVG Logo。
我构建这个工具是为了生成一个 ASCII Logo,然后通过我的激光切割机进行切割。示例:
在 Midori 笔记本上激光切割效果:
安装
npm install -g ascii-logo-generator
用法
生成 ASCII 艺术字
# 基本用法
ascii-logo generate "Hello World"
# 使用指定的字体
ascii-logo generate "Hello World" --font "Standard"
# 保存到文件
ascii-logo generate "Hello World" --output hello.txt
转换为 SVG
# 生成 SVG
ascii-logo generate "Hello World" --svg
# 自定义 SVG 颜色
ascii-logo generate "Hello World" --svg --color "#3366FF" --background "#EEEEEE"
# 设置自定义尺寸
ascii-logo generate "Hello World" --svg --width 800 --height 200
# 保存到指定的文件
ascii-logo generate "Hello World" --svg --output my-logo.svg
列出可用字体
ascii-logo list-fonts
API 选项
选项 | 别名 | 描述 | 默认值
---|---|---|---
--font
| -f
| 用于文本渲染的字体 | "Standard"
--output
| -o
| 输出文件路径 | 自动生成的文件名
--svg
| -s
| 转换为 SVG 格式 | false
--color
| -c
| SVG 的文本颜色 (十六进制代码或名称) | "#000000"
--background
| -b
| SVG 的背景颜色 (十六进制代码或名称) | "transparent"
--width
| -w
| SVG 宽度 | "500"
--height
| -h
| SVG 高度 | "auto"
示例
基本的 ASCII 艺术字生成
ascii-logo generate "Big Text"
输出:
____ _ _____ _
| __ )(_) __ _|_ _|____ _| |_
| _ \| |/ _` | | |/ _ \ \/ / __|
| |_) | | (_| | | | __/> <| |_
|____/|_|\__, | |_|\___/_/\_\\__|
|___/
创建带有自定义颜色的 SVG
ascii-logo generate "Logo" --svg --color "#FF6600" --background "#EEEEEE" --output brand-logo.svg
这会创建一个名为 brand-logo.svg
的 SVG 文件,其中包含橙色文本和浅灰色背景。
开发
从源码构建
# 克隆仓库
git clone https://github.com/yourusername/ascii-logo-generator.git
cd ascii-logo-generator
# 安装依赖
npm install
# 构建项目
npm run build
# 本地运行
npm start
运行 SVG 查看器
这个包包含一个基于 Web 的 SVG 查看器,用于测试:
npm run viewer
许可协议
MIT
关于
未提供描述、网站或主题。