从零开始创建cli-progress自定义预设:打造独一无二的进度条样式

从零开始创建cli-progress自定义预设:打造独一无二的进度条样式

【免费下载链接】cli-progress :hourglass: easy to use progress-bar for command-line/terminal applications 项目地址: https://gitcode.com/gh_mirrors/cl/cli-progress

在开发命令行应用时,一个直观美观的进度条能极大提升用户体验。cli-progress作为一款轻量级的命令行进度条工具,不仅提供了丰富的预设样式,更支持开发者创建完全自定义的进度条风格。本文将带你一步步打造专属于你的进度条预设,让你的命令行应用脱颖而出。

认识cli-progress预设系统

cli-progress的预设系统位于项目的presets/目录下,通过模块化的方式组织不同风格的进度条配置。系统默认提供了四种预设:legacy、shades_classic、shades_grey和rect,这些预设定义了进度条的外观、字符和格式。

不同预设样式的进度条展示,从左到右分别为legacy、shades_classic、shades_grey和rect

预设本质上是一个包含特定配置属性的JavaScript对象。以presets/rect.js为例,一个基础的预设结构如下:

module.exports = { format: ' {bar}■ {percentage}% | ETA: {eta}s | {value}/{total}', barCompleteChar: '■', barIncompleteChar: ' ' }; 

自定义预设的核心配置项

创建自定义预设前,需要了解cli-progress提供的核心配置选项。这些选项决定了进度条的外观和行为:

进度条格式(format)

格式字符串定义了进度条的整体布局,可包含以下占位符:

  • {bar}: 进度条主体
  • {percentage}: 完成百分比
  • {value}: 当前值
  • {total}: 总值
  • {eta}: 预计剩余时间

进度条字符

  • barCompleteChar: 已完成部分的字符
  • barIncompleteChar: 未完成部分的字符
  • barGlue: 连接完成与未完成部分的字符(可选)

样式增强

  • colors: 为进度条添加颜色(需配合chalk等颜色库)
  • width: 进度条宽度(默认为40)
  • stopOnComplete: 完成后是否停止动画

五步创建自定义预设

1. 创建预设文件

presets/目录下创建新的预设文件,建议使用有意义的名称,如custom-dots.js

2. 定义基础结构

在文件中导出一个包含配置选项的对象:

module.exports = { // 配置选项将在这里定义 }; 

3. 设计进度条格式

设计适合你应用场景的格式字符串。例如,创建一个简洁的点式进度条:

format: 'Progress: {bar} {percentage}% ({value}/{total})', 

4. 选择进度条字符

选择能体现你设计风格的字符。例如,使用点和星号组合:

barCompleteChar: '★', barIncompleteChar: '·', 

5. 添加高级配置(可选)

根据需要添加颜色、宽度等高级配置:

colors: { bar: 'green', percentage: 'yellow' }, width: 50 

应用和测试自定义预设

创建完成后,需要在代码中应用并测试你的自定义预设。可以参考examples/example-presets.js中的方式使用新预设:

const cliProgress = require('../cli-progress'); const customPreset = require('../presets/custom-dots'); // 创建进度条实例 const bar = new cliProgress.SingleBar({}, customPreset); // 启动进度条 bar.start(100, 0); // 更新进度 bar.update(50); // 完成进度条 bar.stop(); 

使用cli-progress创建的多进度条展示,适合同时显示多个任务的进度

分享你的创意预设

创建独特的预设后,你可以通过以下方式与社区分享:

  1. 将你的预设提交到项目的CONTRIBUTE.md
  2. 在examples目录下创建演示文件,展示预设效果
  3. 在项目的docs/events.md中记录你的预设特点

通过自定义预设,你可以让命令行应用的进度展示更加个性化和专业化。无论是简约的文本进度条,还是富有创意的动画效果,cli-progress都能满足你的需求,让你的应用在命令行中脱颖而出。

【免费下载链接】cli-progress :hourglass: easy to use progress-bar for command-line/terminal applications 项目地址: https://gitcode.com/gh_mirrors/cl/cli-progress

Read more

硕士论文盲审前降AI率:盲审评委到底会不会看AIGC报告?

硕士论文盲审前降AI率:盲审评委到底会不会看AIGC报告? 最近收到不少同学私信问我:"学长,我硕士论文马上要送盲审了,学校说要做AIGC检测,但盲审评委真的会看这个报告吗?"说实话,这个问题我当初也纠结过。今天就把我了解到的情况和大家详细聊聊,希望能帮到正在准备盲审的同学。 盲审流程中AIGC检测处于什么位置? 盲审前的"关卡"越来越多 以前硕士论文盲审,学校主要关注的就是查重率。但从2025年下半年开始,越来越多的高校在盲审前增加了AIGC检测环节。根据我收集到的信息,目前的盲审流程大致是这样的: 环节时间节点负责方是否涉及AI检测论文提交盲审前2-4周研究生院部分学校要求提交检测报告查重检测盲审前1-2周学院/研究生院与AIGC检测同步进行AIGC检测盲审前1-2周学院/研究生院是,多数用知网系统送审盲审开始研究生院统一安排部分学校附带检测报告评审盲审期间(2-4周)外校评委评委可能收到报告 三种常见的学校处理方式 经过调研,我发现不同学校对盲审中AIGC检测的处理方式主要分三种: 第一种:检测不通过直接不送审。 这是最严格的情况。如果AIGC检测率超过

【Copilot配置】—— copilot-instructions.md vs AGENTS.md vs .instructions.md三种指令文件解析与配置

【Copilot配置】—— copilot-instructions.md vs AGENTS.md vs .instructions.md三种指令文件解析与配置

Copilot 指令文件全解析:copilot-instructions.md vs AGENTS.md vs .instructions.md 作为常年和 VS Code 打交道的研发,最近在折腾 Copilot Agent 时,我发现很多同学和我一样,被 .github/copilot-instructions.md、AGENTS.md 和 .instructions.md 这三个文件绕晕了。 明明都是给 Copilot 写的 “指令”,为什么要分三个文件?它们的生效范围有啥区别?什么时候该用哪一个? 带着这些疑问,我翻遍了官方文档,又在自己的 AI Agent 项目里反复实测,终于把这三者的关系理得清清楚楚。这篇文章就用最直白的语言,结合实战配置,帮你彻底搞懂 Copilot 指令文件的使用逻辑。 一、先搞懂核心:

EpicDesigner快速上手指南:Vue3拖拽式低代码设计器

EpicDesigner快速上手指南:Vue3拖拽式低代码设计器 【免费下载链接】epic-designer 项目地址: https://gitcode.com/gh_mirrors/ep/epic-designer 项目快速了解 EpicDesigner是一款基于Vue3开发的现代化低代码设计器,它让页面开发变得像搭积木一样简单。无论你是前端新手还是资深开发者,都能通过拖拽组件的方式快速生成功能完整的页面。 环境准备清单 在开始安装之前,请确保你的开发环境满足以下要求: 必备条件: * Node.js 14.x 或更高版本 * npm 或 yarn 包管理器 * 现代浏览器(推荐Chrome、Firefox) 可选准备: * 熟悉Vue3基础概念 * 了解JSON数据结构 三步安装法 第一步:获取项目代码 git clone https://gitcode.com/gh_mirrors/ep/epic-designer 第二步:安装依赖

小型无人机轻量化且节约成本的几种方法

小型无人机轻量化且节约成本的几种方法

小型无人机实现轻量化 + 成本控制,需要从结构设计、材料选型、功能精简、供应链管理四个核心维度切入,以下是具体可落地的方法: 一、 结构设计优化:减重量的核心手段 1. 一体化集成设计,减少冗余部件 * 取消独立的支架、连接件,将电池仓、飞控安装位、电机座与机身框架一体化注塑或 3D 打印成型,减少螺丝、卡扣等小零件的重量和装配成本。 * 示例:将飞控板直接贴合机身内壁,省去传统的安装支架,可减重 5%-10%,同时降低装配工时。 2. 拓扑优化 + 镂空设计,保留强度的同时减重 * 针对机身框架、机臂等承力部件,通过有限元分析(FEA)做拓扑优化,去除非承力区域的材料,采用网格状、蜂窝状镂空结构。 * 成本控制:使用普通注塑模具实现镂空设计,避免复杂的 CNC 加工;小批量场景可采用FDM 3D 打印,无需开模成本。