Merge pull request #2788 from ehuss/remove-curly-quotes

Remove curly-quotes
This commit is contained in:
Eric Huss 2025-08-13 00:36:33 +00:00 committed by GitHub
commit b51d3e5106
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 3 additions and 55 deletions

View file

@ -424,8 +424,6 @@ pub struct HtmlConfig {
pub preferred_dark_theme: Option<String>,
/// Supports smart quotes, apostrophes, ellipsis, en-dash, and em-dash.
pub smart_punctuation: bool,
/// Deprecated alias for `smart_punctuation`.
pub curly_quotes: bool,
/// Should mathjax be enabled?
pub mathjax_support: bool,
/// Whether to fonts.css and respective font files to the output directory.
@ -490,7 +488,6 @@ impl Default for HtmlConfig {
default_theme: None,
preferred_dark_theme: None,
smart_punctuation: false,
curly_quotes: false,
mathjax_support: false,
copy_fonts: true,
additional_css: Vec::new(),
@ -523,11 +520,6 @@ impl HtmlConfig {
None => root.join("theme"),
}
}
/// Returns `true` if smart punctuation is enabled.
pub fn smart_punctuation(&self) -> bool {
self.smart_punctuation || self.curly_quotes
}
}
/// Configuration for how to render the print icon, print.html, and print.css.
@ -1117,37 +1109,4 @@ mod tests {
assert!(html_config.print.enable);
assert!(!html_config.print.page_break);
}
#[test]
fn curly_quotes_or_smart_punctuation() {
let src = r#"
[book]
title = "mdBook Documentation"
[output.html]
smart-punctuation = true
"#;
let config = Config::from_str(src).unwrap();
assert_eq!(config.html_config().unwrap().smart_punctuation(), true);
let src = r#"
[book]
title = "mdBook Documentation"
[output.html]
curly-quotes = true
"#;
let config = Config::from_str(src).unwrap();
assert_eq!(config.html_config().unwrap().smart_punctuation(), true);
let src = r#"
[book]
title = "mdBook Documentation"
"#;
let config = Config::from_str(src).unwrap();
assert_eq!(
config.html_config().unwrap_or_default().smart_punctuation(),
false
);
}
}

View file

@ -63,16 +63,6 @@ impl MDBook {
config.update_from_env();
if let Some(html_config) = config.html_config() {
if html_config.curly_quotes {
warn!(
"The output.html.curly-quotes field has been renamed to \
output.html.smart-punctuation.\n\
Use the new name in book.toml to remove this warning."
);
}
}
if log_enabled!(log::Level::Trace) {
for line in format!("Config: {config:#?}").lines() {
trace!("{}", line);

View file

@ -57,10 +57,10 @@ impl HtmlHandlebars {
.insert("git_repository_edit_url".to_owned(), json!(edit_url));
}
let content = render_markdown(&ch.content, ctx.html_config.smart_punctuation());
let content = render_markdown(&ch.content, ctx.html_config.smart_punctuation);
let fixed_content =
render_markdown_with_path(&ch.content, ctx.html_config.smart_punctuation(), Some(path));
render_markdown_with_path(&ch.content, ctx.html_config.smart_punctuation, Some(path));
if !ctx.is_index && ctx.html_config.print.page_break {
// Add page break between chapters
// See https://developer.mozilla.org/en-US/docs/Web/CSS/break-before and https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-before
@ -175,7 +175,7 @@ impl HtmlHandlebars {
.to_string()
}
};
let html_content_404 = render_markdown(&content_404, html_config.smart_punctuation());
let html_content_404 = render_markdown(&content_404, html_config.smart_punctuation);
let mut data_404 = data.clone();
let base_url = if let Some(site_url) = &html_config.site_url {

View file

@ -125,7 +125,6 @@ The following configuration options are available:
- **smart-punctuation:** Converts quotes to curly quotes, `...` to `…`, `--` to en-dash, and `---` to em-dash.
See [Smart Punctuation](../markdown.md#smart-punctuation).
Defaults to `false`.
- **curly-quotes:** Deprecated alias for `smart-punctuation`.
- **mathjax-support:** Adds support for [MathJax](../mathjax.md). Defaults to
`false`.
- **copy-fonts:** (**Deprecated**) If `true` (the default), mdBook uses its built-in fonts which are copied to the output directory.