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
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.3.tar.gz
(49.2 kB
view hashes)
Built Distribution
Close
Hashes for LogseqMarkdownParser-2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d448b33753891313650040e9e1aa188f9d079315c857a9ab474110e0cae50b88 |
|
MD5 | 982e45a26a94ba01c2b24f12e553dac3 |
|
BLAKE2b-256 | 51e9ace95403ce4c0284a18ea29426cd1e4a1b6313782f886150bdb2e107484f |