adsfolio.cv.renderer

Render ADS publication docs into LaTeX or Markdown CV fragments.

class adsfolio.cv.renderer.CVRenderer(*args, **kwargs)[source]

Bases: Protocol

Protocol shared by all renderer implementations.

render_document(first_docs, co_docs, cfg)[source]
Parameters:
Return type:

str

render_publication(doc, cfg, state)[source]
Parameters:
Return type:

str

class adsfolio.cv.renderer.LatexRenderer(style)[source]

Bases: object

Render publications as a LaTeX fragment.

Parameters:

style (str)

render_document(first_docs, co_docs, cfg)[source]
Parameters:
Return type:

str

render_publication(doc, cfg, state)[source]
Parameters:
Return type:

str

class adsfolio.cv.renderer.MarkdownRenderer(style)[source]

Bases: object

Render publications as Markdown.

Parameters:

style (str)

render_document(first_docs, co_docs, cfg)[source]
Parameters:
Return type:

str

render_publication(doc, cfg, state)[source]
Parameters:
Return type:

str

class adsfolio.cv.renderer.PublicationRow(bibcode_raw, bibcode_text, ads_url, title, authors, journal, volume, page, year, n_authors, cited_count, status, marker_symbols, is_arxiv)[source]

Bases: object

Normalized publication view model used by renderers.

Parameters:
ads_url: str
authors: str
bibcode_raw: str
bibcode_text: str
cited_count: int
is_arxiv: bool
journal: str
property marker_label: str[source]
marker_symbols: tuple[str, ...]
n_authors: int
page: str
status: str
title: str
volume: str
year: str
class adsfolio.cv.renderer.RenderState(bibstem_to_journal=<factory>, non_peer_bibcodes=<factory>, marker_counts=<factory>)[source]

Bases: object

Mutable state accumulated while rendering a document.

Parameters:
bibstem_to_journal: dict[str, str]
marker_counts: dict[str, int]
non_peer_bibcodes: set[str]