Documentation ¶
Overview ¶
Package latex is a LaTeX renderer for the Blackfriday Markdown processor.
Example ¶
package main import ( "fmt" bflatex "github.com/moisespsena-go/md2latex/pkg" bf "github.com/russross/blackfriday/v2" ) func main() { const input = `<!-- data created: 2022-03-25T14:44:40-03:00 modified: 2022-03-25T14:44:50-03:00 type: Checklist --> # Section Some _Markdown_ text. ## Subsection Foobar. ` extensions := bf.CommonExtensions | bf.Titleblock renderer := &bflatex.Renderer{Opts: bflatex.Opts{ Author: "John Doe", Languages: "english,french", Flags: bflatex.TOC, }} md := bf.New(bf.WithRenderer(renderer), bf.WithExtensions(extensions)) ast := md.Parse([]byte(input)) fmt.Printf("%s\n", renderer.Render(ast)) }
Output: \section{Section} Some \emph{Markdown} text. \subsection{Subsection} Foobar.
Index ¶
- Variables
- func Exec(cfg RunConfig) (err error)
- func FormatFileName(fmt, name string) string
- func Run(w io.Writer, input []byte, opts ...bf.Option)
- func WriteByte(w io.Writer, b byte) (n int, err error)
- func WriteRune(w io.Writer, r rune) (n int, err error)
- type DevNull
- type DirFS
- type FS
- type Flag
- type LatexRaw
- type Opts
- type PathFS
- type Renderer
- func (r *Renderer) Cmd(w io.Writer, command string, entering bool)
- func (r *Renderer) Env(w io.Writer, environment string, entering bool, args ...string)
- func (r *Renderer) Escape(w io.Writer, t []byte)
- func (r *Renderer) Render(w io.Writer, ast *bf.Node)
- func (r *Renderer) RenderFooter(w io.Writer, ast *bf.Node)
- func (r *Renderer) RenderHeader(w io.Writer, ast *bf.Node)
- func (r *Renderer) RenderNode(w io.Writer, node *bf.Node, entering bool) bf.WalkStatus
- type RunConfig
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var WriteString = io.WriteString
Functions ¶
func FormatFileName ¶
Types ¶
type Flag ¶
type Flag int
Flag controls the options of the renderer.
const ( FlagsNone Flag = 0 // CompletePage generates a complete LaTeX document, preamble included. CompletePage Flag = 1 << iota // ChapterTitle uses the titleblock (if the extension is on) as chapter title. // Ignored when CompletePage is on. ChapterTitle // No paragraph indentation. NoParIndent SkipLinks // Never link. Safelink // Only link to trusted protocols. TOC // Generate the table of content. )
type Opts ¶
type Opts struct { // Flags allow customizing this renderer's behavior. Flags Flag // The document author displayed by the `\maketitle` command. // This will only display if the `Titleblock` extension is on and a title is // present. Author string // The languages to be used by the `babel` package. // Languages must be comma-spearated. Languages string EnvQuotation string Titled bool HtmlBlockHandler func(r *Renderer, w io.Writer, node *bf.Node, entering bool) bf.WalkStatus }
type Renderer ¶
type Renderer struct { Opts // contains filtered or unexported fields }
Renderer is a type that implements the Renderer interface for LaTeX output.
func NewRenderer ¶
func (*Renderer) Render ¶
Render prints out the whole document from the ast, header and footer included.
func (*Renderer) RenderFooter ¶
RenderHeader prints the '\end{document}' if CompletePage is on.
func (*Renderer) RenderHeader ¶
RenderHeader prints the LaTeX preamble if CompletePage is on.
func (*Renderer) RenderNode ¶
RenderNode renders a single node. As a rule of thumb to enforce consistency, each node is responsible for appending the needed line breaks. Line breaks are never prepended.
Click to show internal directories.
Click to hide internal directories.