web.docusaurus #
fn load_config #
fn load_config(cfg_dir string) !Config
load_config loads all configuration from the specified directory
fn new #
fn new(args_ DocusaurusArgs) !&DocusaurusFactory
enum ErrorCat #
enum ErrorCat {
unknown
image_double
file_double
file_not_found
image_not_found
page_double
page_not_found
sidebar
circular_import
def
summary
include
}
struct Config #
struct Config {
pub mut:
footer Footer
main Main
navbar Navbar
}
Combined config structure
fn (Config) write #
fn (c Config) write(path string) !
struct DSiteGetArgs #
@[params]
struct DSiteGetArgs {
pub mut:
name string
nameshort string
path string
url string
publish_path string
build_path string
production bool
watch_changes bool = true
update bool
init bool // means create new one if needed
deploykey string
config ?Config
}
struct DocSite #
@[heap]
struct DocSite {
pub mut:
name string
url string
path_src pathlib.Path
path_build pathlib.Path
// path_publish pathlib.Path
args DSiteGetArgs
errors []SiteError
config Config
factory &DocusaurusFactory @[skip; str: skip] // Reference to the parent
}
fn (DocSite) build #
fn (mut s DocSite) build() !
fn (DocSite) build_dev_publish #
fn (mut s DocSite) build_dev_publish() !
fn (DocSite) build_publish #
fn (mut s DocSite) build_publish() !
fn (DocSite) clean #
fn (mut site DocSite) clean(args ErrorArgs) !
fn (DocSite) dev #
fn (mut s DocSite) dev() !
fn (DocSite) error #
fn (mut site DocSite) error(args ErrorArgs)
fn (DocSite) generate #
fn (mut site DocSite) generate() !
struct DocusaurusArgs #
@[params]
struct DocusaurusArgs {
pub mut:
// publish_path string
build_path string
production bool
update bool
}
struct DocusaurusFactory #
@[heap]
struct DocusaurusFactory {
pub mut:
sites []&DocSite @[skip; str: skip]
path_build pathlib.Path
// path_publish pathlib.Path
args DocusaurusArgs
}
fn (DocusaurusFactory) get #
fn (mut f DocusaurusFactory) get(args_ DSiteGetArgs) !&DocSite
struct ErrorArgs #
@[params]
struct ErrorArgs {
pub mut:
path string
msg string
cat ErrorCat
}
struct Main #
struct Main {
pub mut:
name string
title string = 'Docusaurus'
tagline string
favicon string = 'img/favicon.png'
url string = 'http://localhost'
url_home string
base_url string = '/' @[json: 'baseUrl']
image string = 'img/tf_graph.png' @[required]
metadata MainMetadata
build_dest []string @[json: 'buildDest']
build_dest_dev []string @[json: 'buildDestDev']
}
struct MainMetadata #
struct MainMetadata {
pub mut:
description string = 'Docusaurus'
image string = 'Docusaurus'
title string = 'Docusaurus'
}
Main config structure
struct SiteError #
struct SiteError {
Error
pub mut:
path string
msg string
cat ErrorCat
}