Make (default) book templates available in the documentation
This commit is contained in:
parent
554aa82ecb
commit
46088725f4
@ -32,19 +32,19 @@ func parseBookTemplate(opts *settings.Settings) (t *template.Template, err error
|
|||||||
})
|
})
|
||||||
|
|
||||||
parsePartialTemplate(t.New("packages.tex.tmpl"),
|
parsePartialTemplate(t.New("packages.tex.tmpl"),
|
||||||
filepath.Join(opts.BookTemplateDir, "packages.tex.tmpl"), packagesTempl)
|
filepath.Join(opts.BookTemplateDir, "packages.tex.tmpl"), DefaultPackagesTempl)
|
||||||
parsePartialTemplate(t.New("title.tex.tmpl"),
|
parsePartialTemplate(t.New("title.tex.tmpl"),
|
||||||
filepath.Join(opts.BookTemplateDir, "title.tex.tmpl"), titleTempl)
|
filepath.Join(opts.BookTemplateDir, "title.tex.tmpl"), DefaultTitleTempl)
|
||||||
parsePartialTemplate(t.New("category.tex.tmpl"),
|
parsePartialTemplate(t.New("category.tex.tmpl"),
|
||||||
filepath.Join(opts.BookTemplateDir, "category.tex.tmpl"), categoryTempl)
|
filepath.Join(opts.BookTemplateDir, "category.tex.tmpl"), DefaultCategoryTempl)
|
||||||
parsePartialTemplate(t.New("score.tex.tmpl"),
|
parsePartialTemplate(t.New("score.tex.tmpl"),
|
||||||
filepath.Join(opts.BookTemplateDir, "score.tex.tmpl"), scoreTempl)
|
filepath.Join(opts.BookTemplateDir, "score.tex.tmpl"), DefaultScoreTempl)
|
||||||
|
|
||||||
_, err = t.Parse(bookTempl)
|
_, err = t.Parse(BookTempl)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.WithFields(log.Fields{
|
log.WithFields(log.Fields{
|
||||||
"template": t,
|
"template": t,
|
||||||
"source": bookTempl,
|
"source": BookTempl,
|
||||||
"error": err,
|
"error": err,
|
||||||
}).Fatal("songbook template failed to parse")
|
}).Fatal("songbook template failed to parse")
|
||||||
}
|
}
|
||||||
@ -60,13 +60,15 @@ func parsePartialTemplate(t *template.Template, sourceFile, fallback string) {
|
|||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.WithFields(log.Fields{
|
log.WithFields(log.Fields{
|
||||||
"source": packagesTempl,
|
"source": fallback,
|
||||||
"error": err,
|
"error": err,
|
||||||
}).Fatal("packages partial template failed to parse")
|
}).Fatal("packages partial template failed to parse")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const bookTempl = `{{ template "packages.tex.tmpl" . }}
|
// BookTempl contains the template used by the book command to produce a latex
|
||||||
|
// source file for the songbook
|
||||||
|
const BookTempl = `{{ template "packages.tex.tmpl" . }}
|
||||||
|
|
||||||
{{if ne .Settings.Name ""}}\title{ {{.Settings.Name}} }{{end}}
|
{{if ne .Settings.Name ""}}\title{ {{.Settings.Name}} }{{end}}
|
||||||
{{if ne .Settings.Author ""}}\author{ {{.Settings.Author}} }{{end}}
|
{{if ne .Settings.Author ""}}\author{ {{.Settings.Author}} }{{end}}
|
||||||
@ -87,14 +89,22 @@ const bookTempl = `{{ template "packages.tex.tmpl" . }}
|
|||||||
\end{document}
|
\end{document}
|
||||||
`
|
`
|
||||||
|
|
||||||
const packagesTempl = `\documentclass[11pt,fleqn]{book}
|
// DefaultPackagesTempl contains the packages used if no packages template is
|
||||||
|
// provided
|
||||||
|
const DefaultPackagesTempl = `\documentclass[11pt,fleqn]{book}
|
||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
\usepackage{pdfpages}
|
\usepackage{pdfpages}
|
||||||
\usepackage[space]{grffile}
|
\usepackage[space]{grffile}
|
||||||
\usepackage{hyperref}`
|
\usepackage{hyperref}`
|
||||||
|
|
||||||
const titleTempl = `\maketitle`
|
// DefaultTitleTempl contains the template used to make a title page if no title
|
||||||
|
// template is provided
|
||||||
|
const DefaultTitleTempl = `\maketitle`
|
||||||
|
|
||||||
const categoryTempl = `\chapter{{printf "{"}}{{ . }}{{printf "}"}}\newpage`
|
// DefaultCategoryTempl contains the template called for every category if no
|
||||||
|
// category template is provided
|
||||||
|
const DefaultCategoryTempl = `\chapter{{printf "{"}}{{ . }}{{printf "}"}}\newpage`
|
||||||
|
|
||||||
const scoreTempl = `\includepdf[addtotoc={1,section,1,{{ printf "{%s}" .Name }},}, pages=-]{{printf "{%s}" .OutputPath}}`
|
// DefaultScoreTempl contains the template called for every score if no
|
||||||
|
// category template is provided
|
||||||
|
const DefaultScoreTempl = `\includepdf[addtotoc={1,section,1,{{ printf "{%s}" .Name }},}, pages=-]{{printf "{%s}" .OutputPath}}`
|
||||||
|
Reference in New Issue
Block a user