Metadata-Version: 2.1
Name: bookmarkdown
Version: 0.1.0
Summary: Parse your browser's exported HTML bookmark file to Markdown.
Home-page: https://github.com/yannickperrenet/bookmarkdown
License: MIT
Keywords: bookmarks,markdown,parser
Author: Yannick Perrenet
Author-email: yannickperrenet+bookmarkdown@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown

# bookmarkdown

Parse your browser's exported HTML bookmark file to Markdown.

Supported browsers: Brave.

## Installation

```bash
pip install bookmarkdown
```

## Usage

### CLI

```bash
# Convert "bookmarks.html" to markdown and output to STDOUT
btm bookmarks.html

# Convert "bookmarks.html" to markdown and write to "bookmarks.md"
btm --output=bookmarks.md bookmarks.html

# Alternatively
btm bookmarks.html > bookmarks.md
```

### Python

The `BookmarkHTMLParser` is an instance of the Python standard library's
[`HTMLParser`](https://docs.python.org/3/library/html.parser.html) and thus supports all its
methods.

```python
from bookmarkdown import btm

parser = btm.BookmarkHTMLParser()
parser.feed(html_content)

# Access the data
parser.data
```

## FAQ

### Concerns

* Minimal dependencies. `bookmarkdown` is likely to be installed on the system level Python to make
  use of the `btm` script.
* Correctness. No one likes to lose a bookmark nor a different ordering.

### Future ideas

> The current application solves my needs pretty well, but there are additional applications I can
> think of. Such as merging multiple bookmark files.

Add functionality to the CLI and Python codebase to support the following:

```bash
# Merge bookmark html-file into existing markdown file.
btm --merge=[md-file] [html-file]

btm [html-file]  # already implemented

# Read the `-r` as "reverse", i.e. instead of bookmark to markdown it
# becomes markdown to bookmark.
btm -r [md-file]

btm -r --merge=[md-file] [html-file]
```

### Project structure

The project structure was automatically set up using `cookiecutter` and my Python template:
[cutter-py](https://github.com/yannickperrenet/cutter-py).

