mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-30 16:47:25 +00:00
enable --root-dir for roc docs
This commit is contained in:
parent
8540aa1a14
commit
9c527f890f
4 changed files with 57 additions and 20 deletions
|
@ -89,6 +89,7 @@ pub const FLAG_PP_HOST: &str = "host";
|
|||
pub const FLAG_PP_PLATFORM: &str = "platform";
|
||||
pub const FLAG_PP_DYLIB: &str = "lib";
|
||||
pub const FLAG_MIGRATE: &str = "migrate";
|
||||
pub const FLAG_DOCS_ROOT: &str = "root-dir";
|
||||
|
||||
pub const VERSION: &str = env!("ROC_VERSION");
|
||||
const DEFAULT_GENERATED_DOCS_DIR: &str = "generated-docs";
|
||||
|
@ -184,6 +185,12 @@ pub fn build_app() -> Command {
|
|||
.num_args(0..)
|
||||
.allow_hyphen_values(true);
|
||||
|
||||
let flag_docs_root_dir = Arg::new(FLAG_DOCS_ROOT)
|
||||
.long(FLAG_DOCS_ROOT)
|
||||
.help("Set a root directory path to be used as a prefix for URL links in the generated documentation files.")
|
||||
.value_parser(value_parser!(Option<String>))
|
||||
.required(false);
|
||||
|
||||
let build_target_values_parser =
|
||||
PossibleValuesParser::new(Target::iter().map(Into::<&'static str>::into));
|
||||
|
||||
|
@ -405,6 +412,7 @@ pub fn build_app() -> Command {
|
|||
.required(false)
|
||||
.default_value(DEFAULT_ROC_FILENAME),
|
||||
)
|
||||
.arg(flag_docs_root_dir)
|
||||
)
|
||||
.subcommand(Command::new(CMD_GLUE)
|
||||
.about("Generate glue code between a platform's Roc API and its host language")
|
||||
|
|
|
@ -5,10 +5,10 @@ use roc_build::program::{check_file, CodeGenBackend};
|
|||
use roc_cli::{
|
||||
build_app, default_linking_strategy, format_files, format_src, test, BuildConfig, FormatMode,
|
||||
CMD_BUILD, CMD_CHECK, CMD_DEV, CMD_DOCS, CMD_FORMAT, CMD_GLUE, CMD_PREPROCESS_HOST, CMD_REPL,
|
||||
CMD_RUN, CMD_TEST, CMD_VERSION, DIRECTORY_OR_FILES, FLAG_CHECK, FLAG_DEV, FLAG_LIB, FLAG_MAIN,
|
||||
FLAG_MIGRATE, FLAG_NO_COLOR, FLAG_NO_HEADER, FLAG_NO_LINK, FLAG_OUTPUT, FLAG_PP_DYLIB,
|
||||
FLAG_PP_HOST, FLAG_PP_PLATFORM, FLAG_STDIN, FLAG_STDOUT, FLAG_TARGET, FLAG_TIME, FLAG_VERBOSE,
|
||||
GLUE_DIR, GLUE_SPEC, ROC_FILE, VERSION,
|
||||
CMD_RUN, CMD_TEST, CMD_VERSION, DIRECTORY_OR_FILES, FLAG_CHECK, FLAG_DEV, FLAG_DOCS_ROOT,
|
||||
FLAG_LIB, FLAG_MAIN, FLAG_MIGRATE, FLAG_NO_COLOR, FLAG_NO_HEADER, FLAG_NO_LINK, FLAG_OUTPUT,
|
||||
FLAG_PP_DYLIB, FLAG_PP_HOST, FLAG_PP_PLATFORM, FLAG_STDIN, FLAG_STDOUT, FLAG_TARGET, FLAG_TIME,
|
||||
FLAG_VERBOSE, GLUE_DIR, GLUE_SPEC, ROC_FILE, VERSION,
|
||||
};
|
||||
use roc_docs::generate_docs_html;
|
||||
use roc_error_macros::user_error;
|
||||
|
@ -324,7 +324,25 @@ fn main() -> io::Result<()> {
|
|||
let root_path = matches.get_one::<PathBuf>(ROC_FILE).unwrap();
|
||||
let out_dir = matches.get_one::<OsString>(FLAG_OUTPUT).unwrap();
|
||||
|
||||
generate_docs_html(root_path.to_owned(), out_dir.as_ref());
|
||||
let maybe_root_dir: Option<String> = {
|
||||
if let Ok(root_dir) = std::env::var("ROC_DOCS_URL_ROOT") {
|
||||
// if the env var is set, it should override the flag for now
|
||||
// TODO -- confirm we no longer need this and remove
|
||||
// once docs are migrated to individual repositories and not roc website
|
||||
Some(root_dir)
|
||||
} else {
|
||||
matches
|
||||
.get_one::<Option<String>>(FLAG_DOCS_ROOT)
|
||||
.unwrap()
|
||||
.clone()
|
||||
}
|
||||
};
|
||||
|
||||
generate_docs_html(
|
||||
root_path.to_owned(),
|
||||
out_dir.as_ref(),
|
||||
maybe_root_dir.clone(),
|
||||
);
|
||||
|
||||
Ok(0)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue