112 lines
2.3 KiB
V
112 lines
2.3 KiB
V
module herocmds
|
|
|
|
import freeflowuniverse.herolib.web.docusaurus
|
|
import os
|
|
import cli { Command, Flag }
|
|
|
|
pub fn cmd_docusaurus(mut cmdroot Command) {
|
|
mut cmd_run := Command{
|
|
name: 'docusaurus'
|
|
description: 'Generate, build, run docusaurus sites.'
|
|
required_args: 0
|
|
execute: cmd_docusaurus_execute
|
|
}
|
|
|
|
// cmd_run.add_flag(Flag{
|
|
// flag: .bool
|
|
// required: false
|
|
// name: 'reset'
|
|
// abbrev: 'r'
|
|
// description: 'will reset.'
|
|
// })
|
|
|
|
cmd_run.add_flag(Flag{
|
|
flag: .string
|
|
required: false
|
|
name: 'url'
|
|
abbrev: 'u'
|
|
// default: ''
|
|
description: 'Url where docusaurus source is.'
|
|
})
|
|
|
|
cmd_run.add_flag(Flag{
|
|
flag: .bool
|
|
required: false
|
|
name: 'build'
|
|
abbrev: 'b'
|
|
description: 'build and publish.'
|
|
})
|
|
|
|
cmd_run.add_flag(Flag{
|
|
flag: .bool
|
|
required: false
|
|
name: 'builddev'
|
|
abbrev: 'bd'
|
|
description: 'build dev version and publish.'
|
|
})
|
|
|
|
cmd_run.add_flag(Flag{
|
|
flag: .bool
|
|
required: false
|
|
name: 'update'
|
|
abbrev: 'p'
|
|
description: 'update your environment the template and the repo you are working on (git pull).'
|
|
})
|
|
|
|
cmd_run.add_flag(Flag{
|
|
flag: .bool
|
|
required: false
|
|
name: 'dev'
|
|
abbrev: 'd'
|
|
description: 'Run your dev environment on local browser.'
|
|
})
|
|
|
|
cmdroot.add_command(cmd_run)
|
|
}
|
|
|
|
fn cmd_docusaurus_execute(cmd Command) ! {
|
|
mut update := cmd.flags.get_bool('update') or { false }
|
|
mut url := cmd.flags.get_string('url') or { '' }
|
|
|
|
// mut path := cmd.flags.get_string('path') or { '' }
|
|
// if path == '' {
|
|
// path = os.getwd()
|
|
// }
|
|
// path = path.replace('~', os.home_dir())
|
|
|
|
mut build := cmd.flags.get_bool('build') or { false }
|
|
mut builddev := cmd.flags.get_bool('builddev') or { false }
|
|
mut dev := cmd.flags.get_bool('dev') or { false }
|
|
|
|
// if build== false && build== false && build== false {
|
|
// eprintln("specify build, builddev or dev")
|
|
// exit(1)
|
|
// }
|
|
|
|
mut docs := docusaurus.new(update: update)!
|
|
|
|
if build {
|
|
// Create a new docusaurus site
|
|
_ := docs.build(
|
|
url: url
|
|
update: update
|
|
)!
|
|
}
|
|
|
|
if builddev {
|
|
// Create a new docusaurus site
|
|
_ := docs.build_dev(
|
|
url: url
|
|
update: update
|
|
)!
|
|
}
|
|
|
|
if dev {
|
|
// Create a new docusaurus site
|
|
_ := docs.dev(
|
|
url: url
|
|
update: update
|
|
)!
|
|
}
|
|
}
|