diff --git a/package.json b/package.json index ae5bab19..616351ef 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "eslint": "^8.57.1" }, "scripts": { - "lint": "eslint src/theme/*js src/theme/**/*js", - "lint-fix": "eslint --fix src/theme/*js src/theme/**/*js" + "lint": "eslint src/front-end/*js src/front-end/**/*js", + "lint-fix": "eslint --fix src/front-end/*js src/front-end/**/*js" } } diff --git a/src/theme/ayu-highlight.css b/src/front-end/css/ayu-highlight.css similarity index 100% rename from src/theme/ayu-highlight.css rename to src/front-end/css/ayu-highlight.css diff --git a/src/theme/css/chrome.css b/src/front-end/css/chrome.css similarity index 100% rename from src/theme/css/chrome.css rename to src/front-end/css/chrome.css diff --git a/src/theme/FontAwesome/css/font-awesome.min.css b/src/front-end/css/font-awesome.min.css similarity index 100% rename from src/theme/FontAwesome/css/font-awesome.min.css rename to src/front-end/css/font-awesome.min.css diff --git a/src/theme/css/general.css b/src/front-end/css/general.css similarity index 100% rename from src/theme/css/general.css rename to src/front-end/css/general.css diff --git a/src/theme/highlight.css b/src/front-end/css/highlight.css similarity index 100% rename from src/theme/highlight.css rename to src/front-end/css/highlight.css diff --git a/src/theme/css/print.css b/src/front-end/css/print.css similarity index 100% rename from src/theme/css/print.css rename to src/front-end/css/print.css diff --git a/src/theme/tomorrow-night.css b/src/front-end/css/tomorrow-night.css similarity index 100% rename from src/theme/tomorrow-night.css rename to src/front-end/css/tomorrow-night.css diff --git a/src/theme/css/variables.css b/src/front-end/css/variables.css similarity index 100% rename from src/theme/css/variables.css rename to src/front-end/css/variables.css diff --git a/src/theme/FontAwesome/fonts/FontAwesome.otf b/src/front-end/fonts/FontAwesome.otf similarity index 100% rename from src/theme/FontAwesome/fonts/FontAwesome.otf rename to src/front-end/fonts/FontAwesome.otf diff --git a/src/theme/fonts/OPEN-SANS-LICENSE.txt b/src/front-end/fonts/OPEN-SANS-LICENSE.txt similarity index 100% rename from src/theme/fonts/OPEN-SANS-LICENSE.txt rename to src/front-end/fonts/OPEN-SANS-LICENSE.txt diff --git a/src/theme/fonts/SOURCE-CODE-PRO-LICENSE.txt b/src/front-end/fonts/SOURCE-CODE-PRO-LICENSE.txt similarity index 100% rename from src/theme/fonts/SOURCE-CODE-PRO-LICENSE.txt rename to src/front-end/fonts/SOURCE-CODE-PRO-LICENSE.txt diff --git a/src/theme/FontAwesome/fonts/fontawesome-webfont.eot b/src/front-end/fonts/fontawesome-webfont.eot similarity index 100% rename from src/theme/FontAwesome/fonts/fontawesome-webfont.eot rename to src/front-end/fonts/fontawesome-webfont.eot diff --git a/src/theme/FontAwesome/fonts/fontawesome-webfont.svg b/src/front-end/fonts/fontawesome-webfont.svg similarity index 100% rename from src/theme/FontAwesome/fonts/fontawesome-webfont.svg rename to src/front-end/fonts/fontawesome-webfont.svg diff --git a/src/theme/FontAwesome/fonts/fontawesome-webfont.ttf b/src/front-end/fonts/fontawesome-webfont.ttf similarity index 100% rename from src/theme/FontAwesome/fonts/fontawesome-webfont.ttf rename to src/front-end/fonts/fontawesome-webfont.ttf diff --git a/src/theme/FontAwesome/fonts/fontawesome-webfont.woff b/src/front-end/fonts/fontawesome-webfont.woff similarity index 100% rename from src/theme/FontAwesome/fonts/fontawesome-webfont.woff rename to src/front-end/fonts/fontawesome-webfont.woff diff --git a/src/theme/FontAwesome/fonts/fontawesome-webfont.woff2 b/src/front-end/fonts/fontawesome-webfont.woff2 similarity index 100% rename from src/theme/FontAwesome/fonts/fontawesome-webfont.woff2 rename to src/front-end/fonts/fontawesome-webfont.woff2 diff --git a/src/theme/fonts/fonts.css b/src/front-end/fonts/fonts.css similarity index 100% rename from src/theme/fonts/fonts.css rename to src/front-end/fonts/fonts.css diff --git a/src/theme/fonts/mod.rs b/src/front-end/fonts/mod.rs similarity index 100% rename from src/theme/fonts/mod.rs rename to src/front-end/fonts/mod.rs diff --git a/src/theme/fonts/open-sans-v17-all-charsets-300.woff2 b/src/front-end/fonts/open-sans-v17-all-charsets-300.woff2 similarity index 100% rename from src/theme/fonts/open-sans-v17-all-charsets-300.woff2 rename to src/front-end/fonts/open-sans-v17-all-charsets-300.woff2 diff --git a/src/theme/fonts/open-sans-v17-all-charsets-300italic.woff2 b/src/front-end/fonts/open-sans-v17-all-charsets-300italic.woff2 similarity index 100% rename from src/theme/fonts/open-sans-v17-all-charsets-300italic.woff2 rename to src/front-end/fonts/open-sans-v17-all-charsets-300italic.woff2 diff --git a/src/theme/fonts/open-sans-v17-all-charsets-600.woff2 b/src/front-end/fonts/open-sans-v17-all-charsets-600.woff2 similarity index 100% rename from src/theme/fonts/open-sans-v17-all-charsets-600.woff2 rename to src/front-end/fonts/open-sans-v17-all-charsets-600.woff2 diff --git a/src/theme/fonts/open-sans-v17-all-charsets-600italic.woff2 b/src/front-end/fonts/open-sans-v17-all-charsets-600italic.woff2 similarity index 100% rename from src/theme/fonts/open-sans-v17-all-charsets-600italic.woff2 rename to src/front-end/fonts/open-sans-v17-all-charsets-600italic.woff2 diff --git a/src/theme/fonts/open-sans-v17-all-charsets-700.woff2 b/src/front-end/fonts/open-sans-v17-all-charsets-700.woff2 similarity index 100% rename from src/theme/fonts/open-sans-v17-all-charsets-700.woff2 rename to src/front-end/fonts/open-sans-v17-all-charsets-700.woff2 diff --git a/src/theme/fonts/open-sans-v17-all-charsets-700italic.woff2 b/src/front-end/fonts/open-sans-v17-all-charsets-700italic.woff2 similarity index 100% rename from src/theme/fonts/open-sans-v17-all-charsets-700italic.woff2 rename to src/front-end/fonts/open-sans-v17-all-charsets-700italic.woff2 diff --git a/src/theme/fonts/open-sans-v17-all-charsets-800.woff2 b/src/front-end/fonts/open-sans-v17-all-charsets-800.woff2 similarity index 100% rename from src/theme/fonts/open-sans-v17-all-charsets-800.woff2 rename to src/front-end/fonts/open-sans-v17-all-charsets-800.woff2 diff --git a/src/theme/fonts/open-sans-v17-all-charsets-800italic.woff2 b/src/front-end/fonts/open-sans-v17-all-charsets-800italic.woff2 similarity index 100% rename from src/theme/fonts/open-sans-v17-all-charsets-800italic.woff2 rename to src/front-end/fonts/open-sans-v17-all-charsets-800italic.woff2 diff --git a/src/theme/fonts/open-sans-v17-all-charsets-italic.woff2 b/src/front-end/fonts/open-sans-v17-all-charsets-italic.woff2 similarity index 100% rename from src/theme/fonts/open-sans-v17-all-charsets-italic.woff2 rename to src/front-end/fonts/open-sans-v17-all-charsets-italic.woff2 diff --git a/src/theme/fonts/open-sans-v17-all-charsets-regular.woff2 b/src/front-end/fonts/open-sans-v17-all-charsets-regular.woff2 similarity index 100% rename from src/theme/fonts/open-sans-v17-all-charsets-regular.woff2 rename to src/front-end/fonts/open-sans-v17-all-charsets-regular.woff2 diff --git a/src/theme/fonts/source-code-pro-v11-all-charsets-500.woff2 b/src/front-end/fonts/source-code-pro-v11-all-charsets-500.woff2 similarity index 100% rename from src/theme/fonts/source-code-pro-v11-all-charsets-500.woff2 rename to src/front-end/fonts/source-code-pro-v11-all-charsets-500.woff2 diff --git a/src/theme/favicon.png b/src/front-end/images/favicon.png similarity index 100% rename from src/theme/favicon.png rename to src/front-end/images/favicon.png diff --git a/src/theme/favicon.svg b/src/front-end/images/favicon.svg similarity index 100% rename from src/theme/favicon.svg rename to src/front-end/images/favicon.svg diff --git a/src/theme/book.js b/src/front-end/js/book.js similarity index 100% rename from src/theme/book.js rename to src/front-end/js/book.js diff --git a/src/theme/clipboard.min.js b/src/front-end/js/clipboard.min.js similarity index 100% rename from src/theme/clipboard.min.js rename to src/front-end/js/clipboard.min.js diff --git a/src/theme/highlight.js b/src/front-end/js/highlight.js similarity index 100% rename from src/theme/highlight.js rename to src/front-end/js/highlight.js diff --git a/src/theme/mod.rs b/src/front-end/mod.rs similarity index 86% rename from src/theme/mod.rs rename to src/front-end/mod.rs index b173bd4a..8fd09fc2 100644 --- a/src/theme/mod.rs +++ b/src/front-end/mod.rs @@ -13,32 +13,31 @@ use std::path::{Path, PathBuf}; use crate::errors::*; use log::warn; -pub static INDEX: &[u8] = include_bytes!("index.hbs"); -pub static HEAD: &[u8] = include_bytes!("head.hbs"); -pub static REDIRECT: &[u8] = include_bytes!("redirect.hbs"); -pub static HEADER: &[u8] = include_bytes!("header.hbs"); -pub static TOC_JS: &[u8] = include_bytes!("toc.js.hbs"); -pub static TOC_HTML: &[u8] = include_bytes!("toc.html.hbs"); +pub static INDEX: &[u8] = include_bytes!("templates/index.hbs"); +pub static HEAD: &[u8] = include_bytes!("templates/head.hbs"); +pub static REDIRECT: &[u8] = include_bytes!("templates/redirect.hbs"); +pub static HEADER: &[u8] = include_bytes!("templates/header.hbs"); +pub static TOC_JS: &[u8] = include_bytes!("templates/toc.js.hbs"); +pub static TOC_HTML: &[u8] = include_bytes!("templates/toc.html.hbs"); pub static CHROME_CSS: &[u8] = include_bytes!("css/chrome.css"); pub static GENERAL_CSS: &[u8] = include_bytes!("css/general.css"); pub static PRINT_CSS: &[u8] = include_bytes!("css/print.css"); pub static VARIABLES_CSS: &[u8] = include_bytes!("css/variables.css"); -pub static FAVICON_PNG: &[u8] = include_bytes!("favicon.png"); -pub static FAVICON_SVG: &[u8] = include_bytes!("favicon.svg"); -pub static JS: &[u8] = include_bytes!("book.js"); -pub static HIGHLIGHT_JS: &[u8] = include_bytes!("highlight.js"); -pub static TOMORROW_NIGHT_CSS: &[u8] = include_bytes!("tomorrow-night.css"); -pub static HIGHLIGHT_CSS: &[u8] = include_bytes!("highlight.css"); -pub static AYU_HIGHLIGHT_CSS: &[u8] = include_bytes!("ayu-highlight.css"); -pub static CLIPBOARD_JS: &[u8] = include_bytes!("clipboard.min.js"); -pub static FONT_AWESOME: &[u8] = include_bytes!("FontAwesome/css/font-awesome.min.css"); -pub static FONT_AWESOME_EOT: &[u8] = include_bytes!("FontAwesome/fonts/fontawesome-webfont.eot"); -pub static FONT_AWESOME_SVG: &[u8] = include_bytes!("FontAwesome/fonts/fontawesome-webfont.svg"); -pub static FONT_AWESOME_TTF: &[u8] = include_bytes!("FontAwesome/fonts/fontawesome-webfont.ttf"); -pub static FONT_AWESOME_WOFF: &[u8] = include_bytes!("FontAwesome/fonts/fontawesome-webfont.woff"); -pub static FONT_AWESOME_WOFF2: &[u8] = - include_bytes!("FontAwesome/fonts/fontawesome-webfont.woff2"); -pub static FONT_AWESOME_OTF: &[u8] = include_bytes!("FontAwesome/fonts/FontAwesome.otf"); +pub static FAVICON_PNG: &[u8] = include_bytes!("images/favicon.png"); +pub static FAVICON_SVG: &[u8] = include_bytes!("images/favicon.svg"); +pub static JS: &[u8] = include_bytes!("js/book.js"); +pub static HIGHLIGHT_JS: &[u8] = include_bytes!("js/highlight.js"); +pub static TOMORROW_NIGHT_CSS: &[u8] = include_bytes!("css/tomorrow-night.css"); +pub static HIGHLIGHT_CSS: &[u8] = include_bytes!("css/highlight.css"); +pub static AYU_HIGHLIGHT_CSS: &[u8] = include_bytes!("css/ayu-highlight.css"); +pub static CLIPBOARD_JS: &[u8] = include_bytes!("js/clipboard.min.js"); +pub static FONT_AWESOME: &[u8] = include_bytes!("css/font-awesome.min.css"); +pub static FONT_AWESOME_EOT: &[u8] = include_bytes!("fonts/fontawesome-webfont.eot"); +pub static FONT_AWESOME_SVG: &[u8] = include_bytes!("fonts/fontawesome-webfont.svg"); +pub static FONT_AWESOME_TTF: &[u8] = include_bytes!("fonts/fontawesome-webfont.ttf"); +pub static FONT_AWESOME_WOFF: &[u8] = include_bytes!("fonts/fontawesome-webfont.woff"); +pub static FONT_AWESOME_WOFF2: &[u8] = include_bytes!("fonts/fontawesome-webfont.woff2"); +pub static FONT_AWESOME_OTF: &[u8] = include_bytes!("fonts/FontAwesome.otf"); /// The `Theme` struct should be used instead of the static variables because /// the `new()` method will look if the user has a theme directory in their diff --git a/src/theme/playground_editor/ace.js b/src/front-end/playground_editor/ace.js similarity index 100% rename from src/theme/playground_editor/ace.js rename to src/front-end/playground_editor/ace.js diff --git a/src/theme/playground_editor/editor.js b/src/front-end/playground_editor/editor.js similarity index 100% rename from src/theme/playground_editor/editor.js rename to src/front-end/playground_editor/editor.js diff --git a/src/theme/playground_editor/mod.rs b/src/front-end/playground_editor/mod.rs similarity index 100% rename from src/theme/playground_editor/mod.rs rename to src/front-end/playground_editor/mod.rs diff --git a/src/theme/playground_editor/mode-rust.js b/src/front-end/playground_editor/mode-rust.js similarity index 100% rename from src/theme/playground_editor/mode-rust.js rename to src/front-end/playground_editor/mode-rust.js diff --git a/src/theme/playground_editor/theme-dawn.js b/src/front-end/playground_editor/theme-dawn.js similarity index 100% rename from src/theme/playground_editor/theme-dawn.js rename to src/front-end/playground_editor/theme-dawn.js diff --git a/src/theme/playground_editor/theme-tomorrow_night.js b/src/front-end/playground_editor/theme-tomorrow_night.js similarity index 100% rename from src/theme/playground_editor/theme-tomorrow_night.js rename to src/front-end/playground_editor/theme-tomorrow_night.js diff --git a/src/theme/searcher/elasticlunr.min.js b/src/front-end/searcher/elasticlunr.min.js similarity index 100% rename from src/theme/searcher/elasticlunr.min.js rename to src/front-end/searcher/elasticlunr.min.js diff --git a/src/theme/searcher/mark.min.js b/src/front-end/searcher/mark.min.js similarity index 100% rename from src/theme/searcher/mark.min.js rename to src/front-end/searcher/mark.min.js diff --git a/src/theme/searcher/mod.rs b/src/front-end/searcher/mod.rs similarity index 100% rename from src/theme/searcher/mod.rs rename to src/front-end/searcher/mod.rs diff --git a/src/theme/searcher/searcher.js b/src/front-end/searcher/searcher.js similarity index 100% rename from src/theme/searcher/searcher.js rename to src/front-end/searcher/searcher.js diff --git a/src/theme/head.hbs b/src/front-end/templates/head.hbs similarity index 100% rename from src/theme/head.hbs rename to src/front-end/templates/head.hbs diff --git a/src/theme/header.hbs b/src/front-end/templates/header.hbs similarity index 100% rename from src/theme/header.hbs rename to src/front-end/templates/header.hbs diff --git a/src/theme/index.hbs b/src/front-end/templates/index.hbs similarity index 100% rename from src/theme/index.hbs rename to src/front-end/templates/index.hbs diff --git a/src/theme/redirect.hbs b/src/front-end/templates/redirect.hbs similarity index 100% rename from src/theme/redirect.hbs rename to src/front-end/templates/redirect.hbs diff --git a/src/theme/toc.html.hbs b/src/front-end/templates/toc.html.hbs similarity index 100% rename from src/theme/toc.html.hbs rename to src/front-end/templates/toc.html.hbs diff --git a/src/theme/toc.js.hbs b/src/front-end/templates/toc.js.hbs similarity index 100% rename from src/theme/toc.js.hbs rename to src/front-end/templates/toc.js.hbs diff --git a/src/lib.rs b/src/lib.rs index 14cd94d9..8a8cb3c9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -87,6 +87,7 @@ pub mod book; pub mod config; pub mod preprocess; pub mod renderer; +#[path = "front-end/mod.rs"] pub mod theme; pub mod utils;