diff --git a/DESCRIPTION b/DESCRIPTION index 87b80644..083f6b5a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: bookdown Type: Package Title: Authoring Books and Technical Documents with R Markdown -Version: 0.38.1 +Version: 0.38.2 Authors@R: c( person("Yihui", "Xie", role = c("aut", "cre"), email = "xie@yihui.name", comment = c(ORCID = "0000-0003-0645-5666")), person("Christophe", "Dervieux", , "cderv@posit.co", role = c("ctb"), diff --git a/NEWS.md b/NEWS.md index 4e611c79..247c6a16 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,6 +1,6 @@ # CHANGES IN bookdown VERSION 0.39 - +- Fixed a bug that `bs4_book()` errors on generating document description. The error occured when the beggining of the document is a very long sentence without spaces (> 197 characters), which typically happens in CJK languages (thanks, @atusy, #1463). # CHANGES IN bookdown VERSION 0.38 diff --git a/R/bs4_book.R b/R/bs4_book.R index 9f9b1340..8b1170bf 100644 --- a/R/bs4_book.R +++ b/R/bs4_book.R @@ -596,7 +596,7 @@ tweak_metadata <- function(html, path) { if (nzchar(text)) { words <- unlist(strsplit(text, " ")) no_char <- cumsum(unlist(lapply(words, function(x) {nchar(x) + 1}))) - max_n <- max(which(no_char<= 197)) + max_n <- max(which(no_char <= 197), 1) description_string <- paste(words[1: max_n], collapse = " ") if (max_n != length(words)) { description_string <- paste0(description_string, "...")