bibble.io.jinja_writer

Type Aliases

Middleware

Classes

JinjaWriter

Use jinja templates to write out bibtex

Module Contents

bibble.io.jinja_writer.Middleware: TypeAlias = API.Middleware_p | API.BidirectionalMiddleware_p
class bibble.io.jinja_writer.JinjaWriter(
stack,
*,
format=None,
logger=None,
templates=None,
)[source]

Bases: bibble.io.writer.BibbleWriter

Use jinja templates to write out bibtex

Parameters:
  • stack (bibble.util.PairStack)

  • format (jgdv.Maybe[bibtexparser.writer.BibtexFormat])

  • logger (jgdv.Maybe[logmod.Logger])

  • templates (jgdv.Maybe[pathlib.Path])

_wrap_braces(val) <Unknown>[source]
Parameters:

val (str)

Return type:

str

Parameters:

file (None | pathlib.Path)

Return type:

list[str]

make_header(library, title=None) <Unknown>[source]
Parameters:
  • library (bibtexparser.library.Library)

  • title (jgdv.Maybe[str])

Return type:

list[str]

make_lib(*, header, body, footer) <Unknown>[source]
Parameters:
Return type:

str

update_templates(templates) <Unknown>[source]
Parameters:

templates (dict[str, jgdv.Maybe[str]])

Return type:

None

visit_entry(block) <Unknown>[source]
Parameters:

block (bibtexparser.model.Block)

Return type:

list[str]

write(
library,
*,
templates=None,
**kwargs,
) <Unknown>[source]

Write the library to a string, and possbly a file # TODO write failure reports to a separate file

Parameters:

templates (jgdv.Maybe[dict])

Return type:

str

_env: jinja2.Environment
_join_char = Multiline-String
Show Value
"""
"""
_templates: dict[str, jgdv.Maybe[jinja2.Template]]