blogit

package module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 26, 2021 License: MIT Imports: 11 Imported by: 0

README

blogit

Test Go version PkgGoDev

静态博客生成工具

安装

常用平台可以从 https://github.com/caixw/blogit/releases 下载,并将二进制文件放入 PATH 即可。

如果不存在你当前平台的二进制,可以自己编译:

git clone https://github.com/caixw/blogit.git
cd blogit
./build.sh
docker

目前 docker 同时托管于 docker.ioghcr.io,可通过以下方式获取相应在的容器:

docker pull docker.io/caixw/blogit:latest

docker pull ghcr.io/caixw/blogit:latest

使用

testdata/src/ 下包含了一个完整的数据源,你可以直接复制该目录下的内容稍作修改,即可以当作自己的博客数据源。

github action

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: checkout source
      uses: actions/checkout@v2
      with:
        repository: owner/src
        path: src/

    - name: checkout dest
      uses: actions/checkout@v2
      with:
        repository: owner/dest
        path: dest/
        persist-credentials: false # github-push-action@master 需要这个
        fetch-depth: 0 # # github-push-action@master 需要这个

    - name: build static site
      uses: caixw/blogit@master
      with:
        src: src
        dest: dest

    - name: commit files
      uses: EndBug/add-and-commit@v7
      with:
        author_name: github-actions
        author_email: 41898282+github-actions[bot]@users.noreply.github.com
        cwd: dest/
        push: false
        message: 'docs: add changes'

    - name: push changes
      uses: ad-m/github-push-action@master
      with:
        directory: dest/
        github_token: ${{ secrets.GITHUB_TOKEN }} # 确保有相应的权限
        branch: ${{ github.ref }}

secrets.GITHUB_TOKEN 关联的 PAT 需要有写入 owner/dest 指向的仓库的权限。

参数
名称 类型 必填 默认值 描述
src string true src 源文件的路径
dest string true dest 编译后的路径

版权

本项目采用 MIT 开源授权许可证,完整的授权说明可在 LICENSE 文件中找到。

Documentation

Overview

Package blogit 依赖于 git 的博客系统

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Build

func Build(src, dest, base string) error

Build 编译并输出内容

dir 表示源码目录; dest 表示输出的目录; base 表示网站的基地址,如果此值不为空,会替代 conf.yaml 中的 url 变量, 在预览模式下,此参数会很有用。

func Serve

func Serve(dest, addr, path string, l *log.Logger) error

Serve 运行服务

如果 l 不为 nil,则会在此通道上输出访问记录;

func ServeTLS

func ServeTLS(dest, addr, path, cert, key string, l *log.Logger) error

ServeTLS 运行服务

如果 l 不为 nil,则会在此通道上输出访问记录;

func Version

func Version() string

Version 版本号

func Watch

func Watch(src, base string, info, erro, succ *log.Logger) error

Watch 热编译

src 源码目录,该目录下的内容一量修改,就会重新编译; base 网站的根地址,会替换配置文件中的 URL,一般为 http://localhost

Types

type Watcher

type Watcher struct {
	// 项目的源码目录
	Dir string

	// 不同类型日志的输出通道
	Info *log.Logger
	Erro *log.Logger
	Succ *log.Logger

	// 运行 HTTP 服务的函数体
	Serve func() error

	// 执行编译的函数体
	Build func() error
	// contains filtered or unexported fields
}

Watcher 热编译功能

func (*Watcher) Watch

func (w *Watcher) Watch() error

Watch 监视变化并进行编译

Directories

Path Synopsis
cmd
internal
cmd
Package cmd 提供命令行相关的功能
Package cmd 提供命令行相关的功能
data
Package data 对加载的数据进行二次加工
Package data 对加载的数据进行二次加工
loader
Package loader 加载数据内容 仅加载各个模块的自身的数据,并判断格式是否正确。
Package loader 加载数据内容 仅加载各个模块的自身的数据,并判断格式是否正确。
utils
Package utils 提供通用函数
Package utils 提供通用函数
vars
Package vars 提供各种代码级别的配置项
Package vars 提供各种代码级别的配置项

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL