Documentation
¶
Overview ¶
Package loader 用于加载原始的数据内容
loader 只负责加载数据,而对数据的处理则由 data 包负责。
Index ¶
Constants ¶
View Source
const ( ArchiveTypeYear = "year" ArchiveTypeMonth = "month" )
归档的类型
View Source
const ( ArchiveOrderDesc = "desc" ArchiveOrderAsc = "asc" )
归档的排序方式
View Source
const ( OutdatedTypeCreated = "created" OutdatedTypeModified = "modified" OutdatedTypeNone = "none" OutdatedTypeCustom = "custom" )
文章是否过时的比较方式
View Source
const ( StateTop = "top" // 置顶 StateLast = "last" // 放在尾部 StateDefault = "default" // 默认值 StateDraft = "draft" // 表示为草稿,不会加载此条数据 )
表示 Post.State 的各类值
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Archive ¶
type Archive struct {
Order string `yaml:"order"` // 排序方式
Type string `yaml:"type,omitempty"` // 存档的分类方式,可以按年或是按月
Format string `yaml:"format,omitempty"` // 标题的格式化字符串
}
Archive 存档页的配置内容
type Author ¶
type Author struct {
Name string `yaml:"name"`
URL string `yaml:"url,omitempty"`
Email string `yaml:"email,omitempty"`
Avatar string `yaml:"avatar,omitempty"`
}
Author 描述作者信息
type Config ¶
type Config struct {
Title string `yaml:"title"`
TitleSeparator string `yaml:"titleSeparator"`
Language string `yaml:"language"`
Subtitle string `yaml:"subtitle,omitempty"`
Beian string `yaml:"beian,omitempty"`
Uptime time.Time `yaml:"uptime"`
PageSize int `yaml:"pageSize"`
Type string `yaml:"type,omitempty"`
Icon *Icon `yaml:"icon,omitempty"`
Menus []*Link `yaml:"menus,omitempty"`
Author *Author `yaml:"author"`
License *Link `yaml:"license"`
LongDateFormat string `yaml:"longDateFormat"`
ShortDateFormat string `yaml:"shortDateFormat"`
Outdated time.Duration `yaml:"outdated,omitempty"`
Theme string `yaml:"theme"`
// 各个页面的一些自定义项,目前支持以下几个元素的修改:
// 1) html>head>title
// 2) html>head>meta.keywords
// 3) html>head>meta.description
Pages map[string]*Page `yaml:"pages,omitempty"`
Archive *Archive `yaml:"archive"`
RSS *RSS `yaml:"rss,omitempty"`
Atom *RSS `yaml:"atom,omitempty"`
Sitemap *Sitemap `yaml:"sitemap,omitempty"`
Opensearch *Opensearch `yaml:"opensearch,omitempty"`
PWA *PWA `yaml:"pwa,omitempty"`
LanguageTag l.Tag `yaml:"-"`
}
Config 配置信息,用于从文件中读取
type Icon ¶
type Icon struct {
URL string `yaml:"url"`
Type string `yaml:"type"` // mime type
Sizes string `yaml:"sizes"`
}
Icon 表示网站图标,比如 html>head>link.rel="short icon"
type Link ¶
type Link struct {
// 链接对应的图标。可以是字体图标或是图片链接,模板根据情况自动选择。
Icon string `yaml:"icon,omitempty"`
Title string `yaml:"title,omitempty"` // 链接的 title 属性
Rel string `yaml:"rel,omitempty"` // 链接的 rel 属性
URL string `yaml:"url"` // 链接地址
Text string `yaml:"text"` // 链接的文本
Type string `yaml:"type,omitempty"` // 链接的类型,一般用于 a 和 link 标签的 type 属性
}
Link 描述链接的内容
type Manifest ¶
type Manifest struct {
URL string `yaml:"url"`
Type string `yaml:"type,omitempty"`
Lang string `yaml:"lang"`
Name string `yaml:"name"`
ShortName string `yaml:"shortName"`
StartURL string `yaml:"startURL,omitempty"`
Display string `yaml:"display,omitempty"`
Description string `yaml:"description,omitempty"`
Dir string `yaml:"dir,omitempty"`
Orientation string `yaml:"orientation,omitempty"`
Scope string `yaml:"scope,omitempty"`
ThemeColor string `yaml:"themeColor,omitempty"`
Background string `yaml:"backgroundColor,omitempty"`
Icons []*Icon `yaml:"icons"`
}
Manifest 表示 PWA 中 manifest 的相关配置
type Opensearch ¶
type Opensearch struct {
URL string `yaml:"url"`
Type string `yaml:"type,omitempty"`
Title string `yaml:"title,omitempty"`
ShortName string `yaml:"shortName"`
Description string `yaml:"description"`
LongName string `yaml:"longName,omitempty"`
Image *Icon `yaml:"image,omitempty"`
}
Opensearch opensearch 相关的配置
type PWA ¶
type PWA struct {
// 指定 sw.js 的路径,为空表示不启用
ServiceWorker string `yaml:"serviceWorker,omitempty"`
Manifest *Manifest `yaml:"manifest,omitempty"`
}
PWA 表示 PWA 中的相关配置
type Page ¶
type Page struct {
Title string `yaml:"title"`
Keywords string `yaml:"keywords"`
Description string `yaml:"description"`
}
Page 页面的自定义内容
type Post ¶
type Post struct {
Title string `yaml:"title"` // 标题
Created time.Time `yaml:"created"` // 创建时间
Modified time.Time `yaml:"modified"` // 修改时间
Summary string `yaml:"summary"` // 摘要,同时也作为 meta.description 的内容
// 这两个变量,并不直接对应变量
Slug string `yaml:"-"` // 唯一名称
Content string `yaml:"-"` // 内容
// 关联的标签列表,以半角逗号分隔的字符串,
// 标签名为各个标签的 slug 值,可以保证其唯一。
// 最终会被解析到 Tags 中,TagString 会被废弃。
Tags string `yaml:"tags"`
// Outdated 用户记录文章的一个过时情况,可以由以下几种值构成:
// - created 表示该篇文章以创建时间来计算其是否已经过时,该值也是默认值;
// - modified 表示该文章以其修改时间来计算其是否已经过时;
// - none 表示该文章永远不会过时;
// - 其它任意非空值,表示直接以该字符串当作过时信息展示给用语.
Outdated string `yaml:"outdated,omitempty"`
// State 表示文章的状态,有以下四种值:
// - top 表示文章被置顶;
// - last 表示文章会被放置在最后;
// - draft 表示这是一篇草稿,并不会被加地到内存中;
// - default 表示默认情况,也可以为空,按默认的方式进行处理。
State string `yaml:"state,omitempty"`
// 封面地址,可以为空。
Image string `yaml:"image,omitempty"`
Keywords string `yaml:"keywords,omitempty"`
// 以下内容不存在时,则会使用全局的默认选项
Author *Author `yaml:"author,omitempty"`
License *Link `yaml:"license,omitempty"`
Template string `yaml:"template,omitempty"`
Language string `yaml:"language,omitempty"`
// 需要被 service worker 缓存的内容。
// 如果是带 https 开头的 URL,则直接使用,
// 如果是不以 https 开头的 URL,则会被映射到当前主题下。
Assets []string `yaml:"assets,omitempty"`
}
Post 表示文章的信息
type RSS ¶
type RSS struct {
Title string `yaml:"title"`
URL string `yaml:"url"`
Type string `yaml:"type,omitempty"`
Size int `yaml:"size"` // 显示数量
}
RSS RSS 和 Atom 相关的配置项
type Sitemap ¶
type Sitemap struct {
URL string `yaml:"url"`
Type string `yaml:"type,omitempty"`
XslURL string `yaml:"xslURL,omitempty"` // 为 sitemap 指定一个 xsl 文件
Priority float64 `yaml:"priority"` // 默认的优先级
Changefreq string `yaml:"changefreq"` // 默认的更新频率
EnableTag bool `yaml:"enableTag,omitempty"` // 是否将标签相关的页面写入 sitemap
// 文章可以指定一个专门的值
PostPriority float64 `yaml:"postPriority"`
PostChangefreq string `yaml:"postChangefreq"`
}
Sitemap sitemap 相关的配置
type Tag ¶
type Tag struct {
Slug string `yaml:"slug"` // 唯一名称
Title string `yaml:"title"` // 名称
Color string `yaml:"color,omitempty"` // 标签颜色。若未指定,则继承父容器
Content string `yaml:"content"` // 对该标签的详细描述
Series bool `yaml:"series"` // 是否为一个专题标签
}
Tag 描述标签信息
标签系统同时包含了标签和专题两个方面,默认情况下为标签, 当将 Series 指定为 true 时,表示这是一个专题。
type Theme ¶
type Theme struct {
ID string `yaml:"-"` // 唯一 ID,即当前目录名称
Name string `yaml:"name"` // 名称,不必唯一,可以与 ID 值不同。
Version string `yaml:"version"`
Description string `yaml:"description"`
URL string `yaml:"url,omitempty"`
Author *Author `yaml:"author"`
// 需要被 service worker 缓存的内容。
// 如果是带 https 开头的 URL,则直接使用,
// 如果是不以 https 开头的 URL,则会被映射到当前主题下。
Assets []string `yaml:"assets,omitempty"`
}
Theme 表示主题信息
Click to show internal directories.
Click to hide internal directories.