Hacker News 中文摘要

RSS订阅

Bashblog – 一个用于创建博客的单一Bash脚本 -- Bashblog – a single bash script to create blogs

文章摘要

bashblog是一个用单一Bash脚本创建博客的工具,只需下载并运行./bb.sh post即可开始写作,无需特殊依赖,支持GNU/Linux、OSX和BSD系统。

文章总结

好的,这是根据您的要求,对原文进行中文重述和精简后的版本:

项目名称: bashblog

一句话简介: 一个仅用单个Bash脚本就能创建博客的工具。

核心特点:

  • 极致简单: 下载脚本,运行 ./bb.sh post 即可开始写作。无需安装、无需数据库、无需模板。
  • 零依赖: 仅依赖 datebasenamegrep 等基础Unix工具,在GNU/Linux、macOS和BSD上均可直接运行。
  • 纯静态: 所有内容生成静态HTML文件,只需一个带公共Web文件夹的服务器即可托管。
  • 功能完备: 支持Markdown、草稿、标签/分类、RSS自动生成、Disqus评论、Google Analytics等。

使用方法:

  1. 下载 bb.sh 脚本,放入服务器的公共文件夹(如 ~/public_html/blog)。
  2. (可选)编辑脚本中的 global_variables() 函数或创建 .config 文件来配置博客标题、作者等信息。
  3. 运行 ./bb.sh post 开始写新文章。脚本会自动处理后续的页面生成、索引更新和RSS文件创建。

配置方式:

  • 直接编辑脚本: 修改 bb.shglobal_variables() 函数里的变量。
  • 使用配置文件: 创建 .config 文件,按 变量名="值" 的格式写入需要覆盖的配置项。此方式便于通过Git更新脚本。

主要功能列表:

  • 使用Markdown或纯HTML写作。
  • 支持文章预览和草稿保存。
  • 自动生成每篇文章的独立HTML页面、首页文章列表、所有文章索引页以及按标签分类的页面。
  • 支持Disqus、Twitter等评论系统。
  • 内置简洁的CSS样式。
  • 支持自定义页眉、页脚和页面顶部额外内容。
  • 每次发布文章时自动备份整个站点(.backup.tar.gz)。

贡献指南:

项目欢迎修复bug的贡献。对于新功能,需遵循“保持代码精简”的原则,要求改动小、不破坏核心函数、兼容Linux/BSD/macOS,并保持向后兼容。

许可协议:

GNU General Public License v3.0 或更高版本。

评论总结

根据评论内容,主要观点和论据总结如下:

正面观点(认可使用Bash脚本写博客): - 轻量级服务器场景下,Bash无需额外运行时,适合资源受限环境(128MB内存、1GB磁盘) - 掌握Shell本身是重要的系统管理技能,具有实用价值 - 单文件方案具有独特魅力,类似单文件Web应用或LLM

关键引用: - "I want to run a web server with 128mb of ram and a 1gb disk" (harrisi) - "there's always something alluring about single file things" (4mitkumar) - "Glorious. I used a similar system back in the day, nanoblogger" (hkt)

负面观点(反对使用Bash脚本写博客): - 1200行Bash脚本过于复杂,Bash只适合快速小脚本 - 相比其他语言(如Python、Node.js),Bash在可读性、维护性、调试体验上更差 - 语法高亮在编辑器中经常出错,开发者体验糟糕

关键引用: - "A single 1200 line bash script to create blogs. I love bash for quick hacks. I abhor it for things like this" (felooboolooomba) - "There's absolutely 0 advantage... It makes reading and maintaining much more complex" (iLoveOncall) - "bash is maybe worst than C for this task" (ache)

中立/替代方案观点: - 建议使用本地.md文件配合脚本部署,而非在终端直接写作 - 推荐其他轻量级方案如Shite、nanoblogger、pandoc脚本等 - 希望工具能进入标准仓库而非依赖个人GitHub页面

关键引用: - "script that reads local .md file and deploys it might work well" (amaze_28) - "I would like to use if it was distributed in the standard repo of my OS" (bluebarbet) - "See also Shite" (gglitch)