Documentation
¶
Index ¶
- type Date
- type Frontmatter
- type LayoutConfig
- type Parser
- func (p *Parser) AddFileAndRender(baseDirPath string, dirEntryPath string, frontmatter Frontmatter, body string)
- func (p *Parser) DateParse(date string) time.Time
- func (p *Parser) ParseConfig(inFilePath string)
- func (p *Parser) ParseLayoutFiles() *template.Template
- func (p *Parser) ParseMDDir(baseDirPath string, baseDirFS fs.FS)
- func (p *Parser) ParseMarkdownContent(filecontent string) (Frontmatter, string, bool)
- func (p *Parser) ParseRobots(inFilePath string, outFilePath string)
- type TemplateData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Frontmatter ¶
type Frontmatter struct {
Title string `yaml:"title"`
Date string `yaml:"date"`
Draft bool `yaml:"draft"`
JSFiles []string `yaml:"scripts"`
Type string `yaml:"type"`
Description string `yaml:"description"`
PreviewImage string `yaml:"previewimage"`
Tags []string `yaml:"tags"`
Authors []string `yaml:"authors"`
}
type LayoutConfig ¶
type Parser ¶
type Parser struct {
// Templates stores the template data of all the pages of the site
// Access the data for a particular page by using the relative path to the file as the key
Templates map[template.URL]TemplateData
// K-V pair storing all templates correspoding to a particular tag in the site
TagsMap map[string][]TemplateData
// Stores data parsed from layout/config.yml
LayoutConfig LayoutConfig
// Posts contains the template data of files in the posts directory
Posts []TemplateData
// TODO: Look into the two below fields into a single one
MdFilesName []string
MdFilesPath []string
// Stores flag value to render draft posts
RenderDrafts bool
// Common logger for all parser functions
ErrorLogger *log.Logger
Helper *helpers.Helper
}
func (*Parser) AddFileAndRender ¶
func (p *Parser) AddFileAndRender(baseDirPath string, dirEntryPath string, frontmatter Frontmatter, body string)
func (*Parser) ParseConfig ¶
func (*Parser) ParseLayoutFiles ¶
Parse all the ".html" layout files in the layout/ directory
func (*Parser) ParseMarkdownContent ¶
func (p *Parser) ParseMarkdownContent(filecontent string) (Frontmatter, string, bool)
func (*Parser) ParseRobots ¶
type TemplateData ¶
type TemplateData struct {
CompleteURL template.URL
FilenameWithoutExtension string
Date int64
Frontmatter Frontmatter
Body template.HTML
Layout LayoutConfig
// Do not use these fields to store tags!!
// These fields are populated by the ssg to store merged tag data
Tags []string
SpecificTagTemplates []TemplateData
}
This struct holds all of the data required to render any page of the site
Click to show internal directories.
Click to hide internal directories.