Library to extract tiddlers from a tiddlywiki file.
Project description
tiddlywiki_parser
Parse the tiddler our of a tiddlywiki for backup, git management or anything else.
A simple tool to extract the tiddlers from a single file
Tiddlywiki (A personal, non-linear
web notebook (aka a wiki in a file)).
Warning
This is barely more than a hobby project at this point. I'm turning
it into a package because I'd like to import it in another project,
but if you're using a different version of Tiddlywiki
or use it differently than me, I can't suggest,
much less promise or guarantee that it will work.
If you have a case where it doesn't work, create an Issue, and I'll take a look at it.
Install
pip install tiddlywiki_parser
Usage
import tiddlywiki_parser.readers as readers
import tiddlywiki_parser.writiers as writers
from tiddlywiki_parser.tiddlywiki import TiddlyWiki
raw_content = readers.read('/path/to/tiddlywiki/file')
tiddlywiki = TiddlyWiki(raw_content)
writers.export('/path/to/destination/file.json, tiddlywiki.export_list(), save_json=True)
readers.read()can also take a url.TiddlyWiki.tiddlersis a list of all the Tiddler objects.TiddlyWiki.export_list()is the same but converted to dicts.TiddlyWiki.parse()parses the file. It is run automatically under normal circumstances.TiddlyWiki.remake(delete_list=['title1', 'title2'])- Builds a new tiddlywiki deleting the specified titles, and with any changes made to tiddlers. Titles cannot be changed.
Tiddler.dict()returns the dict version of the Tiddler object.writers.export()will write the tiddlywiki either as individual files or a s a json file.
Limitations
tiddlywiki 5.2.0 changed how tiddlers are stored. v1.x only deals with tiddlywiki files that are pre-5.2.0. Hopefully v2.x can deal with pre- and post-5.2.0.
tiddlywiki does allow storing tiddlers in both the old and new form in the same file, this library doesn't handle that case (or any sort of modifying pre 5.2.0 wikis).
Only handles parsing single file tiddlywiki files.
remake is highly experimental and doesn't deal with:
- adding a new tiddler
- renaming tiddlers
- pre-5.2.0 wikis
- probably a bunch of other cases.
Command Line
There is a command line packaged with the package. It will parse a tiddlywiki file and save the tiddlers either as individual files or as a single json file.
usage: tiddlywiki_parser [-h] [--json] source output
positional arguments:
source The path to the html file
output The path to the output dir (or file).
options:
-h, --help show this help message and exit
--json Save as a json file instead of as individual tiddlers. output
must be a dir.
source can be either a local file or an url.
output is the where the data should be written. It's either a directory for a writing individual files or a json file if --json is specified.
Packaging
This should now be a proper package, and it uses uv for all the packaging stuff.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tiddlywiki_parser-2.0.0.tar.gz.
File metadata
- Download URL: tiddlywiki_parser-2.0.0.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86b375238d7f234071f8bdbba0444d2bdc4ee7455ae90f63fc65c58b05df3d4e
|
|
| MD5 |
db8111b5ef852108eb954a67067ac44a
|
|
| BLAKE2b-256 |
3e1b60d08d8f0944ea6e3e0bb0d896c82e9f70134274cb216ab6a35be14145d0
|
File details
Details for the file tiddlywiki_parser-2.0.0-py3-none-any.whl.
File metadata
- Download URL: tiddlywiki_parser-2.0.0-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97ebb5ef785b903ed387a87fa5615eac1140cff6177f825408b238e731a61f21
|
|
| MD5 |
fe23c674c54e11c93e6e19b3eba3bf02
|
|
| BLAKE2b-256 |
1923f764d8600327866ab379bc2c7e800eefc6dcc1d80c038138ba133b71b3c7
|