一个轻量级的 Swift 包,用于在文本内容周围创建漂亮的 ASCII 和 emoji 框。 非常适合 CLI 应用程序、日志记录或任何您希望使文本输出更具视觉吸引力的地方。
将以下内容添加到您的 Package.swift
文件中
dependencies: [
.package(url: "https://github.com/yourusername/Boxed.git", from: "1.0.0")
]
import Boxed
Boxed.ascii("Hello, World!")
输出
┌──────────────────────┐
│ │
│ Hello, World! │
│ │
└──────────────────────┘
import Boxed
Boxed.emoji("Welcome!\nTo my app")
输出
🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦
⬜️ ⬜️
⬜️ Welcome! ⬜️
⬜️ To my app ⬜️
⬜️ ⬜️
🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦
Boxed.ascii(
"Custom Width Example",
width: 40,
centerFirstLine: true
)
Boxed.emoji(
"Multiple\nLines\nOf\nText",
width: 30,
centerFirstLine: false
)
public static func ascii(
_ message: String,
width: Int = 120,
centerFirstLine: Bool = true,
boxStyle: BoxCharactersProvider = BoxStyle.ascii
)
public static func emoji(
_ message: String,
width: Int = 120,
centerFirstLine: Bool = true,
boxStyle: BoxCharactersProvider = BoxStyle.ascii
)
message
: 要装入框的文本内容(支持使用 \n 的多行)width
: 框的最小宽度(默认值:120)centerFirstLine
: 是否将文本的第一行居中(默认值:true)boxStyle
: 框字符的样式提供程序(默认值:BoxStyle.ascii)您可以通过实现 BoxCharactersProvider
协议来创建自定义框样式
public protocol BoxCharactersProvider {
var topLeft: Character { get }
var topRight: Character { get }
var bottomLeft: Character { get }
var bottomRight: Character { get }
var horizontal: Character { get }
var vertical: Character { get }
}
欢迎贡献! 请随时提交 Pull Request。
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。