scriptorium/paths

Path configuration controls where files are generated and how links are formed.

Types

The path configuration controls where files will be located and where links will point to.

pub type PathConfiguration {
  PathConfiguration(
    root: String,
    index: String,
    single_post: fn(Post) -> String,
    page: fn(Page) -> String,
    tag: fn(String) -> String,
    year: fn(Int) -> String,
    month: fn(Int, Month) -> String,
    list_page: fn(String, Int) -> String,
    html: fn(String) -> String,
    feed: String,
    feed_file: String,
  )
}

Constructors

  • PathConfiguration(
      root: String,
      index: String,
      single_post: fn(Post) -> String,
      page: fn(Page) -> String,
      tag: fn(String) -> String,
      year: fn(Int) -> String,
      month: fn(Int, Month) -> String,
      list_page: fn(String, Int) -> String,
      html: fn(String) -> String,
      feed: String,
      feed_file: String,
    )

    Arguments

    • root

      The root path where the blog will be accessible. With starting slash but without trailing slash, e.g. /scriptorium_blog. Note that if the blog is accessible without a subpath, this value should be "".

    • index

      The index path. Note that the first page of the index is always written into "/", meaning index.html. This path is used for the rest of the pages, e.g. "/wibble" would result in /wibble/2.html, /wibble/3.html and so on.

    • single_post

      Path to a single post.

    • page

      Path to a page.

    • tag

      Path to a tag archive.

    • year

      Path to a year archive.

    • month

      Path to a month archive of a given year.

    • list_page

      List page path: given the original path such as /tag/wibble as a string and the page number, forms the final path.

    • html

      HTML path: Append (or don’t) the .html extension to the given path. If you are using fancy URLs without extensions, override this to do nothing.

    • feed

      Path to the feed as it is accessible from the browser.

    • feed_file

      Path and file name of the feed file that will be written.

Constants

pub const default_feed: String

The default path where the feed is accessible when hosted.

pub const default_feed_file: String

The default filename where the feed is written.

pub const default_index: String

The default index path.

pub const defaults: PathConfiguration

Default path configuration.

Functions

pub fn default_html(path: String) -> String

Get path with the .html extension.

pub fn default_list_page(path: String, page: Int) -> String

Get the given list path with a page number.

The first page does not get any appended page number.

pub fn default_month_archive(year: Int, month: Month) -> String

Month archive path in the format /archive/2024/05.

pub fn default_page(page: Page) -> String

Page path in the format /slug.

pub fn default_single_post(post: Post) -> String

Post path in the format /2024/12/31/slug.

pub fn default_tag(tag: String) -> String

Tag path in the format /tag/tag.

pub fn default_year_archive(year: Int) -> String

Year archive path in the format /archive/2024.

Search Document