blackfriday-latex: github.com/Ambrevar/blackfriday-latex Index | Examples | Files

package latex

import "github.com/Ambrevar/blackfriday-latex"

Package latex is a LaTeX renderer for the Blackfriday Markdown processor.

Code:

const input = `
# Section

Some _Markdown_ text.

## Subsection

Foobar.
`

extensions := bf.CommonExtensions | bf.Titleblock
renderer := &bflatex.Renderer{
    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

Examples

Package Files

latex.go safelink.go

func Run Uses

func Run(input []byte, opts ...bf.Option) []byte

Run prints out the whole document with CompletePage and TOC flags enabled.

type Flag Uses

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 Renderer Uses

type Renderer 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
    // contains filtered or unexported fields
}

Renderer is a type that implements the Renderer interface for LaTeX output.

func (*Renderer) Render Uses

func (r *Renderer) Render(ast *bf.Node) []byte

Render prints out the whole document from the ast, header and footer included.

func (*Renderer) RenderFooter Uses

func (r *Renderer) RenderFooter(w io.Writer, ast *bf.Node)

RenderHeader prints the '\end{document}' if CompletePage is on.

func (*Renderer) RenderHeader Uses

func (r *Renderer) RenderHeader(w io.Writer, ast *bf.Node)

RenderHeader prints the LaTeX preamble if CompletePage is on.

func (*Renderer) RenderNode Uses

func (r *Renderer) RenderNode(w io.Writer, node *bf.Node, entering bool) bf.WalkStatus

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.

Package latex imports 5 packages (graph). Updated 2017-11-30. Refresh now. Tools for package owners. This is an inactive package (no imports and no commits in at least two years).