littlebot
Published on 2025-04-14 / 2 Visits
0

【源码】基于Go语言的静态网站生成工具

项目简介

H2Object是基于Go语言开发的开源项目,是一个快速、灵活的静态网站生成工具。它支持用Markdown文件快速创建内容型站点,借鉴Docker Pull/Push方式实现本地到线上站点的一键发布。该项目使用Golang的gorilla mux处理路由,结合bleve搜索引擎实现快速搜索,还支持七牛云存储进行文件存储与CDN加速,同时提供模板系统,方便用户自定义页面和主题。

项目的主要特性和功能

  1. Markdown支持:可将Markdown格式文件自动转换为HTML。
  2. 模板系统:能自定义页面布局和样式。
  3. 搜索引擎:借助Bleve搜索引擎实现网站内容快速搜索。
  4. 文件存储:支持七牛云存储,用于文件存储和CDN加速。
  5. 一键部署:通过Docker实现一键部署网站到服务器。
  6. 路由处理:使用Gorilla mux处理路由,支持自定义路由规则。
  7. 代码高亮:代码块在页面展示时可读性更好。

安装使用步骤

环境准备

确保已安装Go语言环境,并正确设置GOPATH和GOROOT。

安装方式

二进制安装

若无法源码安装或不想受网络限制,可直接下载可执行程序: - h2object-darwin-amd64.tar.gz - h2object-linux-amd64.tar.gz - h2object-windows-amd64.tar.gz 解压后,将 h2object 放入系统执行路径中。

源码安装

国内安装需提前做准备,由于项目依赖 golang.org/x/netgolang.org/x/textgolang.org/x/image 这些国内无法直接 go get 的包,请在 GOPATH 目录下创建相应目录: mkdir -p $GOPATH/src/golang.org/x cd $GOPATH/src/golang.org/x

本地运行

$: h2object -w=/path/to/workdir http start

站点主题操作

主题查询

$: h2object theme search

主题下载

$: h2object -w=/path/to/workdir theme pull [provider/name:version]

主题发布

先在配置文件中配置好 [theme] 项,再执行: $: h2object -w=/path/to/workdir theme push

容器申请与运行

创建容器

先到 h2object.io 平台申请容器邀请码,然后执行: $: h2object -w=/path/to/workdir container create [邀请码]

运行容器

$: h2object -w=/path/to/workdir container start [container id]

站点发布

将容器提供的 appidsecrethostport 配置到本地发布站点的 [deploy] 配置项中: [deploy] host= h2object.io port= 80 appid= secret= 再通过以下命令一键发布站点: $: h2object -w=/path/to/workdir deploy push

其他操作

  • 创建站点:通过H2Object的命令行工具,创建新的站点或更新现有站点。
  • 自定义:根据需要,通过Markdown文件或模板系统自定义站点的内容和样式。
  • 搜索:利用Bleve搜索引擎实现站点内容的快速搜索。
  • 维护:使用H2Object的命令行工具进行站点的维护和管理。

注意:使用H2Object时,需了解基本的Go语言和Web开发知识,以便更好地利用其特性和功能。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】