pub struct EpubContent<R: Read> {
pub toc: TocElement,
pub content: R,
pub reftype: Option<ReferenceType>,
}Expand description
Represents a XHTML file that can be added to an EPUB document.
This struct is designed to be used with the add_content method
of the `EpubBuilder.
§Example
use epub_builder::{EpubContent, TocElement};
let page_content = "Some XHTML content";
// Creates a new EpubContent
let content = EpubContent::new("intro.xhtml", page_content.as_bytes())
// ... and sets a title so it is added to the TOC
.title("Introduction")
// ... and add some toc information on the document structure
.child(TocElement::new("intro.xhtml#1", "Section 1"))
.child(TocElement::new("intro.xhtml#2", "Section 2"));Fields§
§toc: TocElementThe title and url, plus sublevels
content: RThe content
reftype: Option<ReferenceType>Properties. See EpubProperties
Implementations§
Source§impl<R: Read> EpubContent<R>
impl<R: Read> EpubContent<R>
Sourcepub fn new<S: Into<String>>(href: S, content: R) -> Self
pub fn new<S: Into<String>>(href: S, content: R) -> Self
Creates a new EpubContent
By default, this element is at level 1, and it has no title
(meaning it won’t be added to the Table of Contents.
Sourcepub fn title<S: Into<String>>(self, title: S) -> Self
pub fn title<S: Into<String>>(self, title: S) -> Self
Set the title of this content. If no title is set, this part of the book will not be displayed in the table of content.
Sourcepub fn raw_title<S: Into<String>>(self, raw_title: S) -> Self
pub fn raw_title<S: Into<String>>(self, raw_title: S) -> Self
Set the raw title of this content. Only useful if you disable HTML escaping and do it yourself.
This raw title must contain no HTML tags but should still be escaped, e.g. it can contain < or >, but you have to make sure you encode all of this properly.
Sourcepub fn child(self, elem: TocElement) -> Self
pub fn child(self, elem: TocElement) -> Self
Adds a sublevel to the toc
Sourcepub fn reftype(self, reftype: ReferenceType) -> Self
pub fn reftype(self, reftype: ReferenceType) -> Self
Sets reference type of this content
If this is set, this will list this item as a reference in the guide section.
See www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.3
§Example
Reference an item as the title page:
use epub_builder::{EpubContent, ReferenceType};
let dummy = "Should be a XHTML file";
let item = EpubContent::new("title.xhtml", dummy.as_bytes())
.title("Title")
.reftype(ReferenceType::TitlePage);