content

package
v0.3.35 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2026 License: BSD-3-Clause Imports: 41 Imported by: 2

README

Cogent Content

Cogent Content is a package for making content-focused apps and websites consisting of Markdown, HTML, and Cogent Core.

References

Wikilink styles for scientific source references are supported, using the csl Citation Style Language format, with one citation per wikilink:

  • [[@CiteKey]] generates a Parenthetical citation, e.g., for APA style it is like: "Smith & Jones, 1989", which should be put in parentheses along with any others, e.g., ([[@SmithJones89]]; [[@West05]]).

  • [[@^CiteKey]] generates a Narrative citation, where the citation serves as the subject of the sentence. For APA style this is: "Smith & Jones (1989)".

Documentation

Overview

Package content provides a system for making content-focused apps and websites consisting of Markdown, HTML, and Cogent Core.

Index

Constants

This section is empty.

Variables

View Source
var BindTextEditor func(ed *textcore.Editor, parent *core.Frame, language string)

BindTextEditor is a function set to cogentcore.org/core/yaegicore.BindTextEditor when importing yaegicore, which provides interactive editing functionality for Go code blocks in text editors.

View Source
var NewPageInitFunc func()

NewPageInitFunc is called when a new page is just being rendered. This can do any necessary new-page initialization, e.g., [yaegicore.ResetGoalInterpreter]

View Source
var OfflineURL = ""

OfflineURL is the non-web base url, which can be set to allow docs to refer to this in frontmatter.

Functions

This section is empty.

Types

type Content

type Content struct {
	core.Splits

	// Source is the source filesystem for the content.
	// It should be set using [Content.SetSource] or [Content.SetContent].
	Source fs.FS `set:"-"`

	// Context is the [htmlcore.Context] used to render the content,
	// which can be modified for things such as adding wikilink handlers.
	Context *htmlcore.Context `set:"-"`

	// References is a list of references used for generating citation text
	// for literature reference wikilinks in the format [[@CiteKey]].
	References *csl.KeyList
	// contains filtered or unexported fields
}

Content manages and displays the content of a set of pages.

func NewContent

func NewContent(parent ...tree.Node) *Content

NewContent returns a new Content with the given optional parent: Content manages and displays the content of a set of pages.

func (*Content) Init

func (ct *Content) Init()

func (*Content) MakeToolbar

func (ct *Content) MakeToolbar(p *tree.Plan)

MakeToolbar adds the standard toolbar buttons for the content. See Content.MakeToolbarPDF for the optional PDF button.

func (*Content) MakeToolbarPDF added in v0.3.13

func (ct *Content) MakeToolbarPDF(p *tree.Plan)

MakeToolbarPDF adds the PDF button to the toolbar. This is optional.

func (*Content) MakeToolbarSearch added in v0.3.16

func (ct *Content) MakeToolbarSearch(p *tree.Plan)

MakeToolbarSearch adds a within-page search button to the toolbar. This is optional.

func (*Content) MenuSearch

func (ct *Content) MenuSearch(items *[]core.ChooserItem)

func (*Content) Open

func (ct *Content) Open(url string) *Content

Open opens the page with the given URL and updates the display. If no pages correspond to the URL, it is opened in the default browser. This version is for programmatic use -- see also OpenEvent.

func (*Content) OpenEvent added in v0.3.16

func (ct *Content) OpenEvent(url string, e events.Event) *Content

OpenEvent opens the page with the given URL and updates the display. If no pages correspond to the URL, it is opened in the default browser. This version is for widget event cases, where the keyboard modifiers are used to control the way the page is opened: Ctrl/Meta = new tab.

func (*Content) PagePDF added in v0.3.13

func (ct *Content) PagePDF(path string) error

PagePDF generates a PDF of the current page, to given file path (directory). the page name is the file name.

func (*Content) PageRefs added in v0.3.13

func (ct *Content) PageRefs(page *bcontent.Page) *core.Frame

PageRefs returns a core.Frame with the contents of the references cited on the given page. if References is nil, or error, result will be nil.

func (*Content) SetContent

func (ct *Content) SetContent(content fs.FS) *Content

SetContent is a helper function that calls Content.SetSource with the "content" subdirectory of the given filesystem.

func (*Content) SetReferences added in v0.3.12

func (t *Content) SetReferences(v *csl.KeyList) *Content

SetReferences sets the [Content.References]: References is a list of references used for generating citation text for literature reference wikilinks in the format [[@CiteKey]].

func (*Content) SetSource

func (ct *Content) SetSource(source fs.FS) *Content

SetSource sets the source filesystem for the content.

type History added in v0.3.16

type History struct {
	// Index is the current index in the Records, which is typically the
	// current page as saved. Back decrements then returns that.
	Index int

	// Records is the list of saved locations.
	Records []*Location
}

History records the history of browsing locations, for back arrow navigation.

func (*History) Back added in v0.3.16

func (hs *History) Back() (*Location, bool)

Back decrements Index and returns that location. If already at the start, returns false.

func (*History) Forward added in v0.3.16

func (hs *History) Forward() (*Location, bool)

Forward returns next location and increments Index. returns false if already at end (returns end location).

func (*History) Save added in v0.3.16

func (hs *History) Save(lc *Location)

type Location added in v0.3.16

type Location struct {
	Page    *bcontent.Page
	Heading string
	URL     string
}

Location holds one location of browsing history.

func (*Location) Clone added in v0.3.16

func (lc *Location) Clone() *Location

func (*Location) Reset added in v0.3.16

func (lc *Location) Reset()

func (*Location) String added in v0.3.16

func (lc *Location) String() string

type SettingsData added in v0.3.13

type SettingsData struct {
	PDF paginate.Options

	// SiteTitle is the title of the site, used in page headings and titles.
	SiteTitle string

	// PageSettings is a function that returns the settings data to use
	// for the current page. Can set custom parameters for different pages.
	// The default sets the PDF Header function to HeaderLeftPageNumber
	// with current page Title.
	PageSettings func(ct *Content, curPage *bcontent.Page) *SettingsData
}

SettingsData has settings parameters for content, including PDF rendering options.

var Settings SettingsData

Settings are the current settings for content rendering.

func (*SettingsData) Defaults added in v0.3.13

func (s *SettingsData) Defaults()

Directories

Path Synopsis
Package bcontent ("base content") provides base types and functions shared by both content and the core build tool for content.
Package bcontent ("base content") provides base types and functions shared by both content and the core build tool for content.
examples
basic command

Jump to

Keyboard shortcuts

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