data

package
v0.0.0-...-323ef38 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2018 License: MIT Imports: 19 Imported by: 0

Documentation

Overview

Package data 加载数据并对其进行处理。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Archive

type Archive struct {
	Title string  // 当前存档的标题
	Posts []*Post // 当前存档的文章列表
	// contains filtered or unexported fields
}

Archive 表示某一时间段的存档信息

type Author

type Author = loader.Author

Author 描述作者信息

type Data

type Data struct {
	Created time.Time

	// Updated 数据的更新时间,诸如 outdatedServer 等服务,
	// 会定时更新数据,Updated 即记录这些更新的时间。
	Updated time.Time

	// Etag 表示 根据 Updated 生成的 etag 字符串
	Etag string

	SiteName    string
	Subtitle    string
	Beian       string           // 备案号
	Uptime      time.Time        // 上线时间
	PageSize    int              // 每页显示的数量
	Type        string           // 页面的 mime type 类型
	Icon        *Icon            // 程序默认的图标
	Menus       []*Link          // 导航菜单
	Author      *Author          // 默认作者信息
	License     *Link            // 默认版权信息
	Pages       map[string]*Page // 各个页面的自定义内容
	LanguageTag language.Tag

	Tags     []*Tag
	Series   []*Tag
	Links    []*Link
	Posts    []*Post
	Archives []*Archive
	Theme    *Theme // 当前主题

	Opensearch        *Feed
	Sitemap           *Feed
	RSS               *Feed
	Atom              *Feed
	Manifest          *Feed
	ServiceWorker     []byte // service worker 的内容
	ServiceWorkerPath string // service worker 的 URL

	Matcher *search.Matcher
	// contains filtered or unexported fields
}

Data 结构体包含了数据目录下所有需要加载的数据内容。

func Load

func Load(path *path.Path) (*Data, error)

Load 函数用于加载一份新的数据。

func (*Data) ExecuteTemplate

func (d *Data) ExecuteTemplate(w io.Writer, name string, data interface{}) error

ExecuteTemplate 渲染指定的模块并输出到 w

func (*Data) Free

func (d *Data) Free()

Free 释放数据内容

type Feed

type Feed struct {
	Title   string // 标题,一般出现在 html>head>link.title 属性中
	URL     string // 地址,不能包含域名
	Type    string // mime type
	Content []byte // 实际的内容
}

Feed RSS、Atom、Sitemap 和 Opensearch 的配置内容

type Icon

type Icon = loader.Icon

Icon 表示网站图标,比如 html>head>link.rel="short icon"

type Link = loader.Link

Link 描述链接的内容

type Manifest

type Manifest struct {
	Lang        string  `json:"lang"`
	Name        string  `json:"name"`
	ShortName   string  `json:"short_name"`
	StartURL    string  `json:"start_url,omitempty"`
	Display     string  `json:"display,omitempty"`
	Description string  `json:"description,omitempty"`
	Dir         string  `json:"dir,omitempty"`
	Orientation string  `json:"orientation,omitempty"`
	Scope       string  `json:"scope,omitempty"`
	ThemeColor  string  `json:"theme_color,omitempty"`
	Background  string  `json:"background_color,omitempty"`
	Icons       []*icon `json:"icons"`
}

Manifest 表示 PWA 中的 manifest.json 文件

type Outdated

type Outdated struct {
	Type string
	Date time.Time
	Days int

	Content string // 自定义的提示内容
}

Outdated 表示每一篇文章的过时情况

type Page

type Page = loader.Page

Page 配置配置

type Post

type Post struct {
	Slug      string    // 唯一名称
	Permalink string    // 文章的唯一链接,同时当作 created 的原始值
	Title     string    // 标题
	HTMLTitle string    // 网页标题,同时当作 modified 的原始值
	Created   time.Time // 创建时间
	Modified  time.Time // 修改时间
	Summary   string    // 摘要,同时也作为 meta.description 的内容
	Content   string    // 内容,同时也作为 outdated 的内容
	Tags      []*Tag
	Outdated  *Outdated
	State     string
	Image     string // 封面图片
	Keywords  string

	// 以下内容不存在时,则会使用全局的默认选项
	Author   *Author
	License  *Link
	Template string
	Language string

	Assets []string
}

Post 表示文章的信息

type Tag

type Tag struct {
	loader.Tag

	HTMLTitle string    // 用于网页的标题
	Posts     []*Post   // 关联的文章
	Keywords  string    // meta.keywords 标签的内容,如果为空,使用 Tag.Title 属性的值
	Modified  time.Time // 所有文章中最迟修改的
	Permalink string    // 唯一链接,指向第一页
}

Tag 描述标签信息

标签系统同时包含了标签和专题两个方面,默认情况下为标签, 当将 Series 指定为 true 时,表示这是一个专题。

type Theme

type Theme struct {
	loader.Theme

	Template *template.Template // 当前主题的预编译结果
	// contains filtered or unexported fields
}

Theme 表示主题信息

Directories

Path Synopsis
Package loader 用于加载原始的数据内容 loader 只负责加载数据,而对数据的处理则由 data 包负责。
Package loader 用于加载原始的数据内容 loader 只负责加载数据,而对数据的处理则由 data 包负责。
Package sw 提供 service worker 的支持
Package sw 提供 service worker 的支持
Package xmlwriter XML 写入工具。
Package xmlwriter XML 写入工具。

Jump to

Keyboard shortcuts

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