panvimwiki package¶
Subpackages¶
- panvimwiki.filter package
- Submodules
- panvimwiki.filter.delete_bullet_star module
- panvimwiki.filter.delete_empty_heading module
- panvimwiki.filter.delete_tag_lines module
- panvimwiki.filter.delete_task_pending module
- panvimwiki.filter.delete_taskwiki_heading module
- panvimwiki.filter.do_nothing module
- panvimwiki.filter.prefilter module
- panvimwiki.filter.reference_citation module
- panvimwiki.filter.wikilink_markdown module
- Module contents
Submodules¶
panvimwiki.catvimwiki module¶
Concatenate Vimwiki diary files.
- panvimwiki.catvimwiki.catdiary(startdate: date, enddate: date, wikidiary: Path | None = None) Path[source]¶
Concatenate Vimwiki diary files.
Assume diary wiki files are named using ISO date, e.g., 2021-06-09.wiki.
- Parameters:
startdate – Starting date for Vimwiki diary entry.
enddate – End date date for Vimwiki diary entry.
wikidiary – Path to Vimwiki diary directory. Defaults to $HOME/vimwiki/diary.
- Returns:
Path to concatenated Vimwiki diary entries from startdate to enddate, inclusive of both.
- Return type:
- Raises:
ValueError – If startdate is after enddate
panvimwiki.convert module¶
Process filters and convert to output format using pandoc.
- panvimwiki.convert.convert(inputfile: str, outputfile: str | None, format: str = 'vimwiki', to: str = 'markdown', prefilters: tuple[str, ...] | None = ('delete_bullet_star', 'delete_task_pending'), filters: tuple[str, ...] | None = ('delete_tag_lines', 'delete_empty_heading', 'delete_taskwiki_heading'), postfilters: tuple[str, ...] | None = None, extra_args: tuple[str, ...] | None = ('--shift-heading-level-by', '1', '--data-dir', '/home/docs/vimwiki_html/templates')) str | None[source]¶
Convert Vimwiki with pandoc, applying selected filters.
panvimwiki.filterlists provided pre-, post- and pandoc-filters.- Parameters:
inputfile – Vimwiki file absolute path
outputfile – Converted file absolute path or None to return a string.
format – Pandoc input format. See
pandoc --list-input-formatsto – Pandoc output format. See
pandoc --list-output-formatsprefilters – Selected Vimwiki stdio executable filters. Any executable that receives input
formatas stdin and produces stdout should work. None skips prefilters.filters – Selected pandoc filters. Any valid
pandoc --filter <filter name>should work. None skips filters but still runs pandoc.postfilters – Selected Vimwiki stdio executable filters. Any executable that receives pandoc
toformat as stdin and produces stdout should work. None skips postfilters.extra_args – Additional pandoc arguments and parameters to pass to
pypandoc.convert_text(). Refer topandoc --helpfor valid content.
- Raises:
RuntimeError – Output to docx only works by using a outputfile. Pandoc requires an outputfile for binary document formats.
- Returns:
Converted string, if outputfile is None, or None.
- Return type:
str or None
panvimwiki.vimwiki_week module¶
Convert str dates to datetime and Path. Set default days for missing dates.
- panvimwiki.vimwiki_week.concatenate_diary(diary_path: str, start_date: str | None = None, end_date: str | None = None) Path[source]¶
Concatenate Vimwiki diary from start_date through end_date.
If the start and end dates are None, concatenate Vimwiki Diary from Monday - Thursday. E.g., Thursday through Sunday returns this week. Monday - Wednesday returns last week.
- Parameters:
diary_path – Vimwiki Diary absolute path
start_date – ISO date, e.g., ‘2017-10-10’, the same or earlier than end_date. Defaults to the previous Monday before end_date, unless end_date is Monday.
end_date – ISO date, e.g., ‘2017-10-10’, defaults to the previous Thursday before today, unless today is Thursday.
- Returns:
Path to concatenated Vimwiki diary file
- Return type:
- Raises:
ValueError – catdiary() raises ValueError if start_date is after end_date
panvimwiki.wiki2pandoc module¶
Vim interface to convert Vimwiki to another format using pandoc.
- panvimwiki.wiki2pandoc.FORMAT = 'commonmark_x+wikilinks_title_after_pipe'¶
Pandoc commonmark_x to hopefully maximize MyST compatibility.
- panvimwiki.wiki2pandoc.FROMCITE = 'markdown+wikilinks_title_after_pipe-task_lists'¶
Pandoc commonmark_x does not support citeproc yet.
- panvimwiki.wiki2pandoc.expand_citeproc() None¶
Resolve pandoc citeproc references to GFM div anchors.
Preserve Vimwiki [[URL|Description]] style links with commonmark_x+wikilinks_title_after_pipe.
wikilink_markdown removes backslash-escapes from task_lists for compatibility with Vimwiki and Taskwiki vimwiki-todo-lists.
- panvimwiki.wiki2pandoc.vimwiki_task_link() None¶
Convert pandoc tasks and wikilinks to Vimwiki markdown.
Recommended mdformat extensions:
mdformat_wikilink: wikilink
mdformat_myst: myst installs,
mdformat_simple_breaks: simple_breaks
Example
Call pandoc to convert vimwiki-syntax-links to pandoc markdown. Remove pandoc link title, “wikilink”, for compatibility with Vimiwki markdown syntax, equivalent to:
$ cat wikilink_markdown.md | pandoc \ --from=commonmark_x+wikilinks_title_after_pipe \ --standalone \ --wrap=preserve \ --to=commonmark_x | mdformat --number \ --extensions=wikilink \ --extensions=myst \ --extensions=simple_breaks - | wikilink_markdown
- panvimwiki.wiki2pandoc.wiki2pandoc(is_diary: str, is_concatenate: str, to: str = 'docx', end_date: str | None = '', start_date: str | None = '', extra_args: Literal['0'] | list[str] = '0') str¶
Bridged to Vim function Wiki2pandoc.
Concatenate Diary Notes and/or convert Vimwiki Notes to selected format.
- Parameters:
is_diary – String containing a 0, False, or 1, True, whether current buffer is a Vimwiki DiaryNote.
is_concatenate – String containing a 0, False, or 1, True, whether multiple Vimwiki DiaryNotes from start_date to end_date should concatenate before conversion. Otherwise convert the current buffer only and ignore the dates.
to – Output format (defaults to docx)
end_date – Depending on is_concatenate, the end date for concatenating Vimwiki DiaryNotes. Coerce an empty string to None.
start_date – Depending on is_concatenate, the start date for concatenating Vimwiki DiaryNotes. Coerce an empty string to None.
“0” or a list of valid pandoc arguments, e.g.,
["--shift-heading-level-by", "1", "--data-dir", "vimwiki_html/templates"]
Coerce “0” to an empty list. See pydoc pypandoc.convert_text for details and pandoc –help for valid content.
- Returns:
Absolute path to converted Vimwiki file
- Return type:
Module contents¶
Pandoc filters and Vim plugin VimwikiConvert from Vimwiki to Docx.
Panvimwiki provides tools for conversion to Microsoft Word docx or other output formats supported by Pandoc a universal document converter. Panvimwiki provides command line tools as well as Vim commands to concatenate and convert Diary Notes or convert any Vimwiki note.