6.4 Features for HTML publishing
6.4.1 HTML 404 pages
If a reader tries to access a page in your book that cannot be found, a browser will display a 404 error as it cannot find the requested web page. This 404 error is displayed on a 404 page. Each web server has a default for a 404 page. However, most web serving platforms like Netlify, Github Pages, and Gitlab Pages will use a file named
404.html in the root of your website as a custom error page, if you provide it.
For all HTML book formats, bookdown creates a custom
404.html in your output directory using simple content (a header, and a body of 2 paragraphs); see Figure 6.2.
As you can see, this 404 page is embedded within the book so that readers can quickly find their way back to the book’s content. The overall structure of the book’s website (including navbar, footer, sidebars, etc.) and the CSS styling are preserved on the 404 page.
To customize the 404 page instead of using the one bookdown provides, you may add either a
_404.Rmd or a
_404.md file to your project root. If either file is found when you render the book, the content will be rendered and included as the body of the 404 page embedded within the book structure.
If a 404.html file already exists in the main repo at the root level (alongside the book’s
.Rmd files), then bookdown will leave that file as is and will not overwrite it. This is because we assume you already have a mechanism in place in your publishing workflow to use this custom
6.4.2 Metadata for sharing
Bookdown HTML books will provide HTML metadata for social sharing on platforms like Twitter, Facebook, and LinkedIn, using information you provide in the
index.Rmd YAML. To set up, set the
url for your book and the path to your
cover-image file. The path may be either to an absolute URL, or to a relative image file located in your project. Your book’s
description are also used. A nice effect of setting these options is that when readers share the link of your book on social network websites, the link will be automatically expanded to a card with the cover image and description of the book.
Whichever method you use to publish your HTML book, you may check your metadata using https://www.opengraph.xyz, which shows you previews of how your link will look when shared across platforms. You may also use a platform-specific developer tool: