Skip to content

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 FooterItem #

struct FooterItem {
pub mut:
	label string
	to    string
	href  string
}

Footer config structures

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
}