Skip to content

web.docusaurus #

fn fix_configuration #

fn fix_configuration(config Configuration) !Configuration

fn load_configuration #

fn load_configuration(cfg_path string) !Configuration

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

struct Configuration {
pub mut:
	main   Main
	navbar Navbar
	footer Footer
}

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
	open          bool
	init          bool // means create new one if needed
	deploykey     string
	config        ?Configuration
}

struct DevArgs #

@[params]
struct DevArgs {
pub mut:
	host string = 'localhost'
	port int    = 3000
}

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  Configuration
	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) dev #

fn (mut s DocSite) dev(args DevArgs) !

fn (DocSite) error #

fn (mut site DocSite) error(args ErrorArgs)

fn (DocSite) generate #

fn (mut site DocSite) generate() !

fn (DocSite) open #

fn (mut s DocSite) open(args DevArgs) !

struct DocusaurusArgs #

@[params]
struct DocusaurusArgs {
pub mut:
	// publish_path string
	build_path string
	production bool
	update     bool
	// heroscript      string
	// heroscript_path string
}

struct DocusaurusFactory #

@[heap]
struct DocusaurusFactory {
pub mut:
	sites      []&DocSite @[skip; str: skip]
	path_build pathlib.Path
	// path_publish pathlib.Path
	args   DocusaurusArgs
	config Configuration // Stores configuration from HeroScript if provided
}

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
	href  string
	to    string
}

struct Main #

struct Main {
pub mut:
	title          string
	tagline        string
	favicon        string
	url            string
	base_url       string @[json: 'baseUrl']
	url_home       string
	image          string
	metadata       Metadata
	build_dest     []string @[json: 'buildDest']
	build_dest_dev []string @[json: 'buildDestDev']
	copyright      string
	name           string
}

struct Metadata #

struct Metadata {
pub mut:
	description string
	image       string
	title       string
}

struct SiteError #

struct SiteError {
	Error
pub mut:
	path string
	msg  string
	cat  ErrorCat
}