diff --git a/src/html/mod.rs b/src/html/mod.rs
index f3519d0e..d6b7962e 100644
--- a/src/html/mod.rs
+++ b/src/html/mod.rs
@@ -12,21 +12,21 @@ mod jsdoc;
mod pages;
mod parameters;
mod search;
-mod sidepanels;
+pub mod sidepanels;
mod symbol;
mod symbols;
mod types;
mod util;
+pub use jsdoc::ModuleDocCtx;
pub use search::generate_search_index;
pub use symbol::SymbolGroupCtx;
-
-pub use self::symbols::namespace;
-pub use self::util::DocNodeKindCtx;
-pub use self::util::GlobalSymbolHrefResolver;
-pub use self::util::NamespacedGlobalSymbols;
-pub use self::util::NamespacedSymbols;
-pub use self::util::RenderContext;
+pub use symbols::namespace;
+pub use util::DocNodeKindCtx;
+pub use util::GlobalSymbolHrefResolver;
+pub use util::NamespacedGlobalSymbols;
+pub use util::NamespacedSymbols;
+pub use util::RenderContext;
pub const STYLESHEET: &str = include_str!("./templates/styles.css");
pub const STYLESHEET_FILENAME: &str = "styles.css";
@@ -101,6 +101,7 @@ pub struct GenerateOptions {
pub global_symbols: NamespacedGlobalSymbols,
pub global_symbol_href_resolver: GlobalSymbolHrefResolver,
pub url_resolver: UrlResolver,
+ pub rewrite_map: Option>,
}
pub struct GenerateCtx<'ctx> {
@@ -110,18 +111,19 @@ pub struct GenerateCtx<'ctx> {
pub global_symbols: NamespacedGlobalSymbols,
pub global_symbol_href_resolver: GlobalSymbolHrefResolver,
pub url_resolver: UrlResolver,
+ pub rewrite_map: Option>,
}
impl<'ctx> GenerateCtx<'ctx> {
- // @foo/bar
- // /mod.ts -> file:///mod.ts
-
- // "baz": "/mod.ts"
-
- // @foo/bar/doc/mod.ts/~/symbol
- // @foo/bar/doc/baz/~/symbol
-
pub fn url_to_short_path(&self, url: &ModuleSpecifier) -> String {
+ if let Some(rewrite) = self
+ .rewrite_map
+ .as_ref()
+ .and_then(|rewrite_map| rewrite_map.get(url))
+ {
+ return rewrite.to_owned();
+ }
+
if url.scheme() != "file" {
return url.to_string();
}
@@ -228,6 +230,7 @@ pub fn generate(
global_symbols: options.global_symbols,
global_symbol_href_resolver: options.global_symbol_href_resolver,
url_resolver: options.url_resolver,
+ rewrite_map: options.rewrite_map,
};
let mut files = HashMap::new();