Documentation ¶
Index ¶
- Constants
- Variables
- func AskForISBN() (string, error)
- func CleanCategory(category string) (string, error)
- func CleanDescription(desc string) string
- func CleanLanguage(language string) string
- func CleanType(typ string) (string, error)
- type Author
- type ISBN
- type ISBNs
- type Metadata
- func (m *Metadata) Author() string
- func (m *Metadata) Clean()
- func (m *Metadata) CleanSpecific(forbiddenTags []string, tagAliases map[string][]string)
- func (m *Metadata) Contributor() string
- func (m *Metadata) Diff(o *Metadata, diffOnly bool) [][]string
- func (m *Metadata) Editor() string
- func (m *Metadata) Get(field string) (string, error)
- func (m *Metadata) GetInfo(fields ...string) [][]string
- func (m *Metadata) MainSeries() SingleSeries
- func (m *Metadata) Merge(o *Metadata, diffOnly bool) (err error)
- func (m *Metadata) MergeField(o *Metadata, field string, diffOnly bool) error
- func (m *Metadata) Set(field, value string) error
- func (m *Metadata) Source() string
- func (m *Metadata) String() string
- func (m *Metadata) Translator() string
- type Series
- type SingleSeries
- type Tag
- type Tags
- func (t *Tags) Add(tags ...Tag) (added bool)
- func (t *Tags) AddFromNames(tags ...string) bool
- func (t *Tags) Clean(otherForbidden []string, otherAliases map[string][]string)
- func (t *Tags) Has(o Tag) (isIn bool, index int)
- func (t *Tags) HasAny() bool
- func (t *Tags) HasTag(tagName string) bool
- func (t *Tags) Remove(tags ...Tag) (removed bool)
- func (t *Tags) RemoveFromNames(tags ...string) bool
- func (t *Tags) Slice() []string
- func (t *Tags) String() string
Constants ¶
const ( LocalSource = "Epub" OnlineSource = "Online" )
const (
MaxISBNContextLines = 20
)
Variables ¶
var MetadataFieldNames = []string{authorField, translatorField, editorField, contributorField, titleField, yearField, editionYearField, editionInfoField, isbnField, publisherField, descriptionField, languageField, categoryField, typeField, genreField, tagsField, seriesField, formatField, numPagesField}
MetadataFieldNames is a list of valid field names.
Functions ¶
func AskForISBN ¶ added in v0.9.0
AskForISBN when not found in epub.
func CleanCategory ¶ added in v0.9.0
func CleanDescription ¶ added in v0.9.0
func CleanLanguage ¶ added in v0.9.0
Types ¶
type Metadata ¶
type Metadata struct { Title string `json:"title" xml:"title"` Authors []Author `json:"authors" xml:"authors>author"` ISBN string `json:"isbn" xml:"isbn13"` Format string `json:"format" xml:"format"` OriginalYear string `json:"year" xml:"work>original_publication_year"` EditionYear string `json:"edition_year" xml:"publication_year"` EditionInfo string `json:"edition_information" xml:"edition_information"` NumPages string `json:"num_pages" xml:"num_pages"` Language string `json:"language" xml:"language_code"` Publisher string `json:"publisher" xml:"publisher"` Description string `json:"description" xml:"description"` Series Series `json:"series" xml:"series_works>series_work"` Tags Tags `json:"tags" xml:"popular_shelves>shelf"` Category string `json:"category"` Type string `json:"type"` Genre string `json:"genre"` ImageURL string `json:"image_url" xml:"image_url"` }
Metadata contains all of the known book metadata.
func (*Metadata) CleanSpecific ¶ added in v0.14.0
CleanSpecific cleans up the Metadata with specific lists of forbidden tags or aliases.
func (*Metadata) Contributor ¶ added in v0.14.0
Contributor returns Metadata's Contributor(s).
func (*Metadata) GetInfo ¶ added in v0.13.0
GetInfo returns a table with relevant information about a book.
func (*Metadata) MainSeries ¶ added in v0.10.0
func (m *Metadata) MainSeries() SingleSeries
MainSeries return the main Series of Metadata.
func (*Metadata) MergeField ¶ added in v0.13.0
MergeField with another Metadata.
func (*Metadata) Translator ¶ added in v0.14.0
Translator returns Metadata's Translator(s).
type Series ¶
type Series []SingleSeries
Series can track a series and the position of an epub.
func (*Series) AddFromString ¶ added in v0.9.0
AddFromString a series, checking for correct form.
type SingleSeries ¶
type SingleSeries struct { Name string `json:"name" xml:"series>title"` Position string `json:"index" xml:"user_position"` }
SingleSeries holds the name and index of a series a Book is part of.
func (SingleSeries) String ¶ added in v0.9.0
func (s SingleSeries) String() string
String outputs a single series info.
type Tag ¶
type Tag struct {
Name string `json:"name" xml:"name,attr"`
}
Tag holds the name of a tag.
type Tags ¶
type Tags []Tag
Tags can track a book's Tags.
func (*Tags) AddFromNames ¶ added in v0.9.0
AddFromNames Tags to the list, from []string.
func (*Tags) RemoveFromNames ¶ added in v0.9.0
RemoveFromNames Tags to the list, from []string.