Anduin Xue
Anduin Xue

Anduin's Tech Blog

JavaScript


Lint markdown with customized rule by JavaScript

本文围绕一个程序员在维护中文烹饪指南GitHub仓库时遇到的Markdown格式校验挑战展开,介绍了如何通过JavaScript构建自定义规则的校验系统。当标准Markdown校验工具无法满足特定格式需求时,作者通过Node.js脚本实现了包含标题层级校验、单位规范检查和必要声明验证的定制化方案,同时将校验流程集成到GitHub Actions的CI管道中。校验逻辑覆盖了文件标题必须与菜品名称对应、二级标题需严格包含四个固定模块、以及必须包含特定声明语句等要求,通过异步文件处理和错误聚合机制确保代码可维护性。这种结合编程思维与代码审查的实践,不仅解决了技术文档的格式统一问题,更引发我们思考:当面对多语言混合的文档体系时,如何设计可扩展的校验规则?在自动化校验与人工审查之间,是否存在更智能的平衡点?当技术规范与文化表达产生冲突时,又该如何通过代码构建包容性的文档标准?--Qwen3

GitHub node JavaScript GitHub Actions Continuous Integration markdown

Build a package that can be used in browser and node with TypeScript

本文探讨了如何构建一个兼容浏览器与Node环境的TypeScript库项目并实现标准化发布。通过初始化npm项目配置TypeScript与Webpack构建工具链创建UMD模块化输出方案开发者可以将核心逻辑封装为类型安全的类并通过Webpack配置实现生产环境代码压缩与多环境适配。文章展示了从项目结构搭建到tsconfig编译选项设置再到webpack打包配置的完整流程最终通过npm发布实现代码共享。这种构建方式既保留了TypeScript的类型优势又通过UMD格式兼容了不同运行环境的调用需求。当开发者需要在前端框架中复用算法或构建可复用组件时如何平衡类型系统与兼容性如何设计模块的导出结构以及如何优化打包体积成为值得关注的技术命题。--Qwen3

Web npm TypeScript node webpack JavaScript Front-end

  • 1