26 lines
1.1 KiB
Diff
26 lines
1.1 KiB
Diff
|
From b9ca108fcae2b738ca3f0c88c84ae5dc5a6f843f Mon Sep 17 00:00:00 2001
|
||
|
From: Tim Ryan <id@timryan.org>
|
||
|
Date: Mon, 14 May 2018 06:22:21 -0400
|
||
|
Subject: [PATCH] Support reproducible builds by forcing window.search to use
|
||
|
stable key ordering. (#692)
|
||
|
See <https://github.com/rust-lang-nursery/mdBook/pull/692>
|
||
|
---
|
||
|
src/vendor/mdbook/src/renderer/html_handlebars/search.rs | 4 ++++
|
||
|
1 file changed, 4 insertions(+)
|
||
|
|
||
|
diff --git a/src/vendor/mdbook/src/renderer/html_handlebars/search.rs b/src/vendor/mdbook/src/renderer/html_handlebars/search.rs
|
||
|
index d49772f8b..1ee66a511 100644
|
||
|
--- a/src/vendor/mdbook/src/renderer/html_handlebars/search.rs
|
||
|
+++ b/src/vendor/mdbook/src/renderer/html_handlebars/search.rs
|
||
|
@@ -205,6 +205,10 @@ fn write_to_js(index: Index, search_config: &Search) -> Result<String> {
|
||
|
searchoptions,
|
||
|
index,
|
||
|
};
|
||
|
+
|
||
|
+ // By converting to serde_json::Value as an intermediary, we use a
|
||
|
+ // BTreeMap internally and can force a stable ordering of map keys.
|
||
|
+ let json_contents = serde_json::to_value(&json_contents)?;
|
||
|
let json_contents = serde_json::to_string(&json_contents)?;
|
||
|
|
||
|
Ok(format!("window.search = {};", json_contents))
|