parse logseq markdown text with easy access to properties, hierarchy, TODO etc
Project description
LogseqMarkdownParser
a simple python script to load a markdown file and easily access the properties of each block etc. You can also parse it as json, handy when using jq.
Notes to reader
- Why make this? I wanted a script that reads a logseq page, extracts every "DONE" tasks and append it to another file. So I made this little parser. The resulting script can be found in
examples/done_mover.py
. If you need anything just create an issue. - How stable is it? Probably not very, I use it for specific things so things might go south. Please open an issue if you found a bug.
- note that the github version might be more up to date than the PyPI version
- Does it take into account the logbook (i.e. what's added to the block when clicking on 'DOING')? I didn't think about that initially. I think it should be parsed as normal block content and not as a property.
Features
- Implements classes
LogseqPage
andLogseqBlock
- access block properties as a dictionary
- easily save to a path
- parse as json:
LogseqMarkdownParser some_file.md --as_json |jq
- supports stdin:
cat some_file.md | LogseqMarkdownParser --as_json | jq
- shell completion:
eval "$(LogseqMarkdownParser -- --completion)"
oreval "$(cat completion.bash)"
Usage
- Install with
python -m pip install LogseqMarkdownParser
- load file with
parsed = LogseqMarkdownParser.parse_file(file_content, verbose=True)
- get the first block with
parsed.blocks[0]
- get its properties with
parsed.blocks[0].properties
- add a property to a block with
parsed.blocks[0].set_property(key, value)
- save to path with
parsed.export_to("some/path.md")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
logseqmarkdownparser-2.6.tar.gz
(45.2 kB
view hashes)
Built Distribution
Close
Hashes for LogseqMarkdownParser-2.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82a2b9d99a1333fe9fd0f1c54cc007ff86e1998ba2922ed27ee9a0860bb93d41 |
|
MD5 | cfc4e9b445cdcb7c455ebe97828d5e0b |
|
BLAKE2b-256 | eff57f1b15246d6118ca56adf16bf78c4b437dcf35bce8d6bf2a3e2a6a5c35b6 |