Eric Huss
f51d89ba02
Move error types to mdbook-core
...
This moves Result and Error to mdbook-core with the anticipation of
using them in user crates. For now, the internal APIs will be using
anyhow directly, but the intent is to transition more of these to
mdbook-core where it makes sense.
2025-07-23 17:29:55 -07:00
Eric Huss
e6315bf2b1
Merge pull request #2738 from szabgab/test/test-tokenize
...
add tests to the tokenize() function
2025-06-30 15:01:44 +00:00
Gabor Szabo
6d63343b46
add tests to the tokenize() function
2025-06-30 16:11:35 +03:00
Guillaume Gomez
63e1dac122
Fix JS error when hasFocus method is overwritten on search index load
2025-06-25 18:24:33 +02:00
Paolo Barbolini
623fc606a4
Replace once_cell::sync::Lazy with std::sync::LazyLock
2025-05-11 11:46:12 +02:00
Guillaume Gomez
2c382a58d3
Greatly speed up search index load
2025-04-02 21:03:12 +02:00
Guillaume Gomez
418d677584
Improve warning message when search index is too big
2025-03-22 17:49:30 +01:00
Guillaume Gomez
a0eb8c0a0e
Remove JSON search file
2025-03-22 17:48:16 +01:00
Eric Huss
98abb22be1
Merge pull request #1368 from notriddle/hash-files
...
feat(html): cache bust static files by adding hashes to file names
2025-02-20 18:32:17 +00:00
Eric Huss
5777a0edc4
Fix issue with None source_path
...
This fixes an issue where mdbook would panic if a non-draft chapter has
a None source_path when generating the search index. The code was
assuming that only draft chapters would have that behavior. However, API
users can inject synthetic chapters that have no path on disk.
This updates it to fall back to the path, or skip if neither is set.
2025-02-17 09:41:52 -08:00
Michael Howell
879449447f
feat(html): cache bust static files by adding hashes to file names
...
Closes rust-lang#1254
2025-02-13 10:39:22 -07:00
Eric Huss
09a37284b0
Add output.html.search.chapter
...
This config setting provides the ability to disable search indexing on a
per-chapter (or sub-path) basis.
This is structured to possibly add additional settings, such as perhaps
a score multiplier or other settings.
2025-01-27 19:45:50 -08:00
Hamir Mahal
1fd9656291
style: simplify string formatting for readability
2024-09-21 15:53:59 -07:00
Eric Huss
65932289f7
Revert "Merge pull request #2381 from ehuss/update-pulldown-cmark"
...
This reverts commit 8884008b4d ,
(https://github.com/rust-lang/mdBook/pull/2381 ) reversing
changes made to 3d6caa504f .
The `pulldown_cmark` types are a public API, which I did not realize.
2024-05-16 18:08:09 -07:00
Eric Huss
af3012b0f2
Update pulldown-cmark to 0.11
2024-05-16 14:17:19 -07:00
Eric Huss
42e635bb9e
Update pulldown_cmark to 0.10
2024-02-05 14:11:27 -08:00
Eric Huss
1db52ff531
Fix search for custom heading attributes
2023-05-28 12:03:03 -07:00
David
75857fbf73
feat: use once_cell instead of lazy_static ( #1894 )
2022-09-22 15:05:39 -07:00
Dylan DPC
66bf85b14f
Require Rust 2021 edition
...
This allows us to clean up and simplify the code.
2022-09-09 16:00:35 +02:00
Eric Huss
4cf005d4bd
Merge pull request #1832 from ISSOtm/clippy
...
Fix Clippy lints
2022-06-27 14:28:39 -07:00
ISSOtm
248863addf
Fix Clippy lints
...
Also remove `allow(clippy::*)`s where possible
2022-06-27 23:08:45 +02:00
Matthew Woodcraft
1f8c090a5f
When creating the search index, omit words longer than 80 characters
...
This avoids creating deeply nested objects in searchindex.json
2022-06-26 12:22:52 +01:00
Dylan DPC
a5f861bf2b
Revert "Omit words longer than 80 characters from the search index"
2022-06-22 13:31:16 +02:00
Matthew Woodcraft
d65ce55453
When creating the search index, omit words longer than 80 characters
...
This avoids creating deeply nested objects in searchindex.json
2022-05-22 14:00:20 +01:00
klensy
f3332fb0da
Use serde's derive feature instead of directly importing serde_derive
2022-05-05 09:33:51 +03:00
Tom Milligan
972c61fa76
search: fix anchor ids for duplicate headers
2022-02-18 16:20:05 +00:00
Guillaume Gomez
ddb0d2396f
Update pulldown-cmark version
2021-12-25 13:46:27 +01:00
josh rotenberg
1c0983b811
use pulldown cmarks curly quotes
2021-11-19 17:26:30 -08:00
Eric Huss
d22299d998
Merge pull request #1631 from benarmstead/master
...
Format better, remove unnecessary borrows, and update depends
2021-09-03 10:15:16 -07:00
Michael Howell
2a8af1c21d
Include chapters with no headers in the search index
2021-08-31 12:48:21 -07:00
Ben Armstead
1700783594
Format better and remove unnecessary borrows
2021-08-24 08:45:06 +01:00
Andrea Gelmini
b364e8ea2c
Fix typos ( #1540 )
...
Signed-off-by: Andrea Gelmini <andrea.gelmini@gelma.net>
2021-05-21 12:56:32 +02:00
avitex
942cc12a74
Add chapter name to search result breadcrumbs
2020-11-25 14:46:49 +11:00
Eric Huss
6c4c3448e3
Update dependencies. ( #1211 )
...
* Removed the itertools dependency
* Removed an unused feature flag
* Stubbed out a toml_query replacement
* Update dependencies.
* Bump env_logger.
* Use warp instead of iron for http server.
Iron does not appear to be maintained anymore. warp/hyper seems to be
reasonably maintained. Unfortunately this takes a few seconds more
to compile, but shouldn't be too bad.
One benefit is that there is no longer a need for a separate websocket
port, which makes it easier to run multiple servers at once.
* Update pulldown-cmark to 0.7
* Switch from error-chain to anyhow.
* Bump MSRV to 1.39.
* Update elasticlunr-rs.
Co-authored-by: Michael Bryan <michaelfbryan@gmail.com>
2020-05-20 23:32:00 +02:00
Mathieu David
43008ef2ef
fix issues from code review
2020-05-10 09:04:02 -07:00
Mathieu David
d605938886
Bring back draft chapters
2020-05-10 09:04:02 -07:00
Marcus Klaas de Vries
2a3088422a
Upgrade pulldown_cmark to 0.6.1
2019-11-11 20:25:38 +01:00
Eric Huss
2497e77bf1
Support strikethrough and tasklists. ( #952 )
2019-06-12 17:02:03 +02:00
Eric Huss
3cfed10098
Update to pulldown-cmark 0.5. ( #898 )
...
* Update to pulldown-cmark 0.4.1.
* Update to pulldown-cmark 0.5.2.
* Remove pulldown-cmark-to-cmark dependency.
Since it is not compatible with the new pulldown-cmark. This example isn't
directly usable, anyways, and I think the no-op example sufficiently shows how
to make a preprocessor.
* cargo fmt
* Fix example link.
2019-06-11 18:26:24 +02:00
lzutao
8542f7f29d
Transition to 2018 edition ( #933 )
...
* Transition to 2018 edition
* Update Travis CI badge in README
* Remove non-idiomatic `extern crate` lines
2019-05-25 20:50:41 +02:00
Eric Huss
8bb5426441
Fix keyboard chapter navigation for file urls. ( #915 )
2019-05-08 00:29:46 +02:00
lzutao
ab7802a9a9
Fix most of clippy warnings ( #914 )
...
* Fix clippy: cast_lossless
* Fix clippy: match_ref_pats
* Fix clippy: extra_unused_lifetimes
* Fix clippy: needless_lifetimes
* Fix clippy: new_without_default
* Fix clippy: or_fun_call
* Fix clippy: should_implement_trait
* Fix clippy: redundant_closure
* Fix clippy: const_static_lifetime
* Fix clippy: redundant_pattern_matching
* Fix clippy: unused_io_amount
* Fix clippy: string_lit_as_bytes
* Fix clippy: needless_update
* Fix clippy: blacklisted_name
* Fix clippy: collapsible_if
* Fix clippy: match_wild_err_arm
* Fix clippy: single_match
* Fix clippy: useless_vec
* Fix clippy: single_char_pattern
* Fix clippy: float_cmp
* Fix clippy: approx_constant
2019-05-06 20:20:58 +02:00
Bas Bossink
991a725c26
Solve the simplest clippy warnings and run rustfmt
2018-12-04 00:10:09 +01:00
Matt Ickstadt
5835da2432
Run rustfmt
2018-07-23 12:47:04 -05:00
Matt Ickstadt
384582aeba
Cleanup add_doc
2018-07-23 12:08:04 -05:00
Matt Ickstadt
e1a46d213e
Use JSON search index with JS fallback
...
This allows the search index to be loaded asynchronously, and should
use fewer resources as it doesn't have to execute the JS.
JS loading is kept as a fallback for CORS issues with file:// URIs in Chrome.
2018-07-23 12:08:04 -05:00
Matt Ickstadt
b8011de3e8
Warn when search index is >10MB
2018-07-23 12:08:04 -05:00
Matt Ickstadt
019e74041d
Use integer doc_refs to shrink the search index
...
This change reduced the searchindex.js of book_example from 508KB to 317KB.
2018-07-23 12:08:04 -05:00
Tim Ryan
b9ca108fca
Support reproducible builds by forcing window.search to use stable key ordering. ( #692 )
2018-05-14 18:22:21 +08:00
Matt Ickstadt
5fb3675151
Update elasticlunr-rs ( #646 )
...
* Update dependencies
* Use config structs from elasticlunr-rs
* Update searchindex fixture
2018-03-20 20:22:35 +08:00