Bashblog – 用于创建博客的单个 bash 脚本

2026-06-28 1 阅读 ludicrousdispla
bashblog 用于创建博客的单个 Bash 脚本。我创建它是因为我想要一种非常非常简单的方法,通过使用服务器上的公共文件夹将条目发布到博客,而不需要任何特殊的要求和依赖性。适用于 GNU/Linux、OSX 和 BSD。有多简单?只需输入 ./bb.sh post 并开始撰写您的博文。您可以在此处查看示例:阅读最初的博客文章。该页面 100% 使用 bashblog 生成,无需额外调整。查看其他 bashblog 用户 用法 下载代码并将 bb.sh 复制到公共文件夹(例如 $HOME/public_html/blog )并运行 ./bb.sh 这将显示可用的命令。如果该文件不可执行,请键入 chmod +x bb.sh 并重试。在创建第一篇文章之前,您可能需要配置博客设置(标题、作者等)。阅读下面的配置部分以获取更多信息 要创建您的第一篇文章,只需运行: ./bb.sh post 它将尝试使用 Markdown(如果已安装)。要强制使用 HTML: ./bb.sh post -html 该脚本将处理其余的事情。完成后,访问该文件夹的公共 URL(例如 http://server.com/~username/blog ),您应该会看到索引文件和该帖子的新页面!如何... 请阅读 wiki 以了解如何使用 Bashblog 的高级功能,例如页眉和页脚、静态页面等。功能 超简单的用法:只需用您最喜欢的编辑器输入帖子,脚本就会完成剩下的工作。没有模板。无需安装。下载 bb.sh 并开始写博客。零依赖。它仅在开箱即用的兼容 GNU/Linux、BSD 和 OSX 的基本实用程序( date 、 basename 、 grep 、 sed 、 head 等)上运行,在 Mac 上不需要 GNU coreutils 。它有一些魔力,可以根据您的系统自动检测需要运行的命令开关。所有内容都是静态的。您只需要对具有公共 Web 文件夹的计算机进行 shell 访问即可。提示:高级用户可以通过 ftpfs 安装远程公共文件夹并在本地运行此脚本允许草稿,包括简单但干净的样式表,自动生成 RSS 文件。支持标签/类别 支持 Markdown、Disqus 评论、Twitter、Feedburner、Google Analytics。截至 2016 年,该项目仍在维护。错误已修复,并考虑了新功能(请参阅“贡献”)所有内容都存储在单个 ~1k 行 bash 脚本中,这有多酷?! ;) 配置 测试驱动不需要配置,但如果您计划使用 bashblog 运行您的博客,您将需要更改默认标题、作者姓名等以匹配您自己的。有两种方法可以配置博客字符串: 编辑 bb.sh 并修改 global_variables() 函数中的变量 使用您的配置值创建一个 .config 文件 - 如果您不想触及脚本并且能够使用 git 定期更新它,则该文件很有用 该软件将首先加载脚本中的值,然后使用 .config 文件中的值覆盖它们。这意味着您不需要在配置文件中定义所有变量,只需定义那些需要覆盖默认值的变量。 .config 文件的格式只是每行一个变量名=“值”,就像在 global_variables() 函数中一样。请记住:引用值,不要使用美元符号声明变量,不要在等号两边使用空格。 bashblog 使用 $EDITOR 环境值来打开文本编辑器。详细功能 一个简单但漂亮且可读的设计,除了通过第三方库发布的关于 2.0 Markdown 支持的博客文章之外什么都没有。最简单的方法是下载 Gruber 的 Markdown.pl 帖子预览 将帖子保存为草稿,然后继续编辑每个帖子的 HTML 页面,使用其标题作为 URL 可配置首页上的帖子数量 自动生成 RSS 文件,feedburner 支持 包含所有帖子索引的附加页面 自动为每个标签生成页面 重建所有文件,同时保留原始数据 评论委托给 Twitter,并提供额外的 Disqus 支持 无 cookie Twitter 共享的选项,以符合欧盟 cookie 法 Google Analytics 代码支持 包含自己的 CSS,以便默认情况下所有内容都具有合理的样式 页眉、页脚以及结构良好的 html 文件所需的一般内容 支持在每个页面顶部添加额外内容(例如横幅、图像等) xhtml 验证、CSS 验证、w3c 的 RSS 验证 每次发布时自动备份站点(存储为 .backup.tar.gz ) 阅读更改日志部分以获取更多更新或查看我博客上的新闻Bashblog 最初的 SLOC 是 500,现在已经达到了 1000 SLOC。如果我们想让代码保持最少并且易于理解,我们需要付出很大的努力来限制自己添加太多的功能。所有的错误修复都是受欢迎的,但全新的功能需要有充分的理由才能进入主树。每一个新的请求都将在评论中进行诚实、文明的讨论。作为指导原则,拉取请求应该: 修复某些人的用例(例如