Rust library to generate static websites

Compare changes

Choose any two refs to compare.

+33 -36
+1 -1
.github/workflows/benchmark.yaml
··· 41 41 uses: actions/setup-node@v4 42 42 with: 43 43 node-version: latest 44 - cache: "pnpm" 44 + cache: 'pnpm' 45 45 46 46 - name: Install dependencies 47 47 run: pnpm install
+4 -4
.github/workflows/ci.yaml
··· 38 38 uses: actions/setup-node@v4 39 39 with: 40 40 node-version: latest 41 - cache: "pnpm" 41 + cache: 'pnpm' 42 42 43 43 - name: Install dependencies 44 44 run: pnpm install ··· 66 66 uses: actions/setup-node@v4 67 67 with: 68 68 node-version: latest 69 - cache: "pnpm" 69 + cache: 'pnpm' 70 70 71 71 - name: Install dependencies 72 72 run: pnpm install ··· 94 94 uses: actions/setup-node@v4 95 95 with: 96 96 node-version: latest 97 - cache: "pnpm" 97 + cache: 'pnpm' 98 98 99 99 - name: Install dependencies 100 100 run: pnpm install ··· 126 126 uses: actions/setup-node@v4 127 127 with: 128 128 node-version: latest 129 - cache: "pnpm" 129 + cache: 'pnpm' 130 130 131 131 - name: Install dependencies 132 132 run: pnpm install
+1 -1
.github/workflows/release.yml
··· 30 30 uses: actions/setup-node@v4 31 31 with: 32 32 node-version: latest 33 - cache: "pnpm" 33 + cache: 'pnpm' 34 34 35 35 - name: Install dependencies 36 36 run: pnpm install
+6 -2
.vscode/extensions.json
··· 1 1 { 2 - "recommendations": ["oxc.oxc-vscode", "TypeScriptTeam.native-preview", "rust-lang.rust-analyzer"] 3 - } 2 + "recommendations": [ 3 + "oxc.oxc-vscode", 4 + "TypeScriptTeam.native-preview", 5 + "rust-lang.rust-analyzer" 6 + ] 7 + }
+14 -14
.vscode/settings.json
··· 1 1 { 2 - "typescript.experimental.useTsgo": true, 3 - "editor.defaultFormatter": "oxc.oxc-vscode", 4 - "oxc.typeAware": true, 5 - "oxc.fixKind": "safe_fix", 6 - "oxc.unusedDisableDirectives": "deny", 7 - "[rust]": { 8 - "editor.defaultFormatter": "rust-lang.rust-analyzer" 9 - }, 10 - "editor.codeActionsOnSave": { 11 - "source.fixAll.oxc": "explicit" 12 - }, 13 - "biome.enabled": false, 14 - "css.lint.unknownAtRules": "ignore" 15 - } 2 + "typescript.experimental.useTsgo": true, 3 + "editor.defaultFormatter": "oxc.oxc-vscode", 4 + "oxc.typeAware": true, 5 + "oxc.fixKind": "safe_fix", 6 + "oxc.unusedDisableDirectives": "deny", 7 + "[rust]": { 8 + "editor.defaultFormatter": "rust-lang.rust-analyzer" 9 + }, 10 + "editor.codeActionsOnSave": { 11 + "source.fixAll.oxc": "explicit" 12 + }, 13 + "biome.enabled": false, 14 + "css.lint.unknownAtRules": "ignore", 15 + }
+1 -1
crates/maudit/Cargo.toml
··· 48 48 rayon = "1.11.0" 49 49 rapidhash = "4.2.1" 50 50 pathdiff = "0.2.3" 51 - rolldown_plugin_replace = { package = "brk_rolldown_plugin_replace", version = "0.8.0" } 51 + rolldown_plugin_replace = {package = "brk_rolldown_plugin_replace", version = "0.8.0"} 52 52 53 53 [dev-dependencies] 54 54 tempfile = "3.24.0"
+1 -5
crates/maudit-cli/src/dev.rs
··· 20 20 21 21 use crate::dev::build::BuildManager; 22 22 23 - pub async fn start_dev_env( 24 - cwd: &str, 25 - host: bool, 26 - port: Option<u16>, 27 - ) -> Result<(), Box<dyn std::error::Error>> { 23 + pub async fn start_dev_env(cwd: &str, host: bool, port: Option<u16>) -> Result<(), Box<dyn std::error::Error>> { 28 24 let start_time = Instant::now(); 29 25 info!(name: "dev", "Preparing dev environmentโ€ฆ"); 30 26
-3
e2e/README.md
··· 13 13 ## Running Tests 14 14 15 15 The tests will automatically: 16 - 17 16 1. Build the prefetch.js bundle (via `cargo xtask build-maudit-js`) 18 17 2. Start the Maudit dev server on the test fixture site 19 18 3. Run the tests ··· 47 46 ## Features Tested 48 47 49 48 ### Basic Prefetch 50 - 51 49 - Creating link elements with `rel="prefetch"` 52 50 - Preventing duplicate prefetches 53 51 - Skipping current page prefetch 54 52 - Blocking cross-origin prefetches 55 53 56 54 ### Prerendering (Chromium only) 57 - 58 55 - Creating `<script type="speculationrules">` elements 59 56 - Different eagerness levels (immediate, eager, moderate, conservative) 60 57 - Fallback to link prefetch on non-Chromium browsers
+1 -1
e2e/fixtures/hot-reload/src/main.rs
··· 1 - use maudit::{BuildOptions, BuildOutput, content_sources, coronate, routes}; 1 + use maudit::{content_sources, coronate, routes, BuildOptions, BuildOutput}; 2 2 3 3 mod pages { 4 4 mod index;
+1 -1
e2e/fixtures/prefetch-prerender/src/main.rs
··· 1 - use maudit::{BuildOptions, BuildOutput, content_sources, coronate, routes}; 1 + use maudit::{content_sources, coronate, routes, BuildOptions, BuildOutput}; 2 2 3 3 mod pages { 4 4 mod about;
+1 -1
website/content/docs/content.md
··· 214 214 215 215 ```markdown 216 216 --- 217 - title: { { enhance title="Super Title" / } } 217 + title: {{ enhance title="Super Title" /}} 218 218 --- 219 219 220 220 Here's an image with a caption:
+1 -1
website/content/docs/prefetching.md
··· 49 49 50 50 Note that prerendering, unlike prefetching, may require rethinking how the JavaScript on your pages works, as it'll run JavaScript from pages that the user hasn't visited yet. For example, this might result in analytics reporting incorrect page views. 51 51 52 - ## Possible risks 52 + ## Possible risks 53 53 54 54 Prefetching pages in static websites is typically always safe. In more traditional apps, an issue can arise if your pages cause side effects to happen on the server. For instance, if you were to prefetch `/logout`, your user might get disconnected on hover, or worse as soon as the log out link appear in the viewport. In modern times, it is typically not recommended to have links cause such side effects anyway, reducing the risk of this happening. 55 55
+1 -1
website/content/news/2026-in-the-cursed-lands.md
··· 70 70 71 71 ### Shortcodes 72 72 73 - Embedding a YouTube video typically means copying a long, ugly iframe tag and configuring several attributes to ensure proper rendering. It'd be nice to have something friendlier, a code that would be short, if you will. 73 + Embedding a YouTube video typically means copying a long, ugly iframe tag and configuring several attributes to ensure proper rendering. It'd be nice to have something friendlier, a code that would be short, you will. 74 74 75 75 ```md 76 76 Here's my cool video: