sidebar

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package sidebar provides functions for building sidebar navigation from various sources.

Overview

The sidebar builder supports three main modes:

  • Path-based sidebars: Different sidebars for different URL paths
  • Feed-linked sidebars: Auto-generated from feed posts
  • Multi-feed sidebars: Combined sidebars from multiple feeds

Usage

builder := sidebar.NewBuilder(config, feeds, posts)
items, title := builder.ResolveForPost(post)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder struct {
	// contains filtered or unexported fields
}

Builder constructs sidebar navigation from various sources.

func NewBuilder

func NewBuilder(config *models.Config, feeds map[string]*models.FeedConfig, posts []*models.Post) *Builder

NewBuilder creates a new sidebar builder.

func (*Builder) BuildFromDirectory

func (b *Builder) BuildFromDirectory(config *models.SidebarAutoGenerate) []models.SidebarNavItem

BuildFromDirectory generates sidebar items from posts in a directory.

func (*Builder) BuildFromFeed

func (b *Builder) BuildFromFeed(feed *models.FeedConfig) []models.SidebarNavItem

BuildFromFeed generates sidebar items from a feed's posts.

func (*Builder) BuildFromFeeds

func (b *Builder) BuildFromFeeds() []models.SidebarNavItem

BuildFromFeeds builds sidebar items from all feeds that have Sidebar enabled. Feeds are sorted by SidebarOrder.

func (*Builder) BuildMultiFeed

func (b *Builder) BuildMultiFeed(feedSlugs []string, sections []models.MultiFeedSection) []models.SidebarNavItem

BuildMultiFeed generates a multi-feed sidebar with collapsible sections.

func (*Builder) ResolveForPost

func (b *Builder) ResolveForPost(post *models.Post) (items []models.SidebarNavItem, title string)

ResolveForPost returns the sidebar items and title for a specific post. It resolves path-specific, multi-feed, or default sidebar configurations.

Jump to

Keyboard shortcuts

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