v0.16.0 Latest Latest

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

Go to latest
Published: Nov 27, 2023 License: BSD-3-Clause Imports: 15 Imported by: 50



Package blog implements a web server for articles written in present format.



This section is empty.


This section is empty.


This section is empty.


type Config

type Config struct {
	ContentPath  string // Relative or absolute location of article files and related content.
	TemplatePath string // Relative or absolute location of template files.

	BaseURL       string        // Absolute base URL (for permalinks; no trailing slash).
	BasePath      string        // Base URL path relative to server root (no trailing slash).
	GodocURL      string        // The base URL of godoc (for menu bar; no trailing slash).
	Hostname      string        // Server host name, used for rendering ATOM feeds.
	AnalyticsHTML template.HTML // Optional analytics HTML to insert at the beginning of <head>.

	HomeArticles int    // Articles to display on the home page.
	FeedArticles int    // Articles to include in Atom and JSON feeds.
	FeedTitle    string // The title of the Atom XML feed

	PlayEnabled     bool
	ServeLocalLinks bool // rewrite{pkg,cmd} links to host-less, relative paths.

Config specifies Server configuration values.

type Doc

type Doc struct {
	Permalink string        // Canonical URL for this document.
	Path      string        // Path relative to server root (including base).
	HTML      template.HTML // rendered article

	Related      []*Doc
	Newer, Older *Doc

Doc represents an article adorned with presentation data.

type Server

type Server struct {
	// contains filtered or unexported fields

Server implements an http.Handler that serves blog articles.

func NewServer

func NewServer(cfg Config) (*Server, error)

NewServer constructs a new Server using the specified config.

func (*Server) ServeHTTP

func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP serves the front, index, and article pages as well as the ATOM and JSON feeds.


Path Synopsis
Package atom defines XML data structures for an Atom feed.
Package atom defines XML data structures for an Atom feed.

Jump to

Keyboard shortcuts

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