Metadata-Version: 2.1
Name: doorstop-edit
Version: 0.1.0b6
Summary: Cross-platform doorstop GUI editor
Home-page: https://github.com/ownbee/doorstop-edit
License: MIT
Keywords: doorstop,requirements-management,documentation,gui
Author: Alexander Ernfridsson
Author-email: ernfridsson@gmail.com
Requires-Python: >=3.9,<3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development :: Documentation
Classifier: Topic :: Text Editors :: Documentation
Classifier: Topic :: Text Processing :: Markup
Requires-Dist: PySide6 (>=6.4.0,<7.0.0)
Requires-Dist: doorstop (>=2.2.post1)
Requires-Dist: markdown (>=3.4.0,<4.0.0)
Requires-Dist: mdformat-myst (>=0.1.5,<0.2.0)
Requires-Dist: plantuml-markdown (>=3.8.0,<4.0.0)
Requires-Dist: pygments (>=2.14.0,<3.0.0)
Requires-Dist: qt-material (>=2.12,<3.0)
Requires-Dist: setuptools (>=65.0.0,<66.0.0)
Project-URL: Repository, https://github.com/ownbee/doorstop-edit
Description-Content-Type: text/markdown

[![PyPI Version](https://img.shields.io/pypi/v/doorstop-edit.svg)](https://pypi.org/project/doorstop-edit)
[![Linux Test](https://github.com/ownbee/doorstop-edit/actions/workflows/test.yml/badge.svg)](https://github.com/ownbee/doorstop-edit/actions/workflows/test.yml)
[![Coverage Status](https://img.shields.io/codecov/c/gh/ownbee/doorstop-edit)](https://codecov.io/gh/ownbee/doorstop-edit)

# Doorstop Edit

_A cross-platform GUI editor for [Doorstop](https://github.com/doorstop-dev/doorstop) powered by PySide6 (Qt)._

The goal of this GUI is to provide all the tools needed to efficiently work with a larger set of
requirements within the editor and at the same time have full control of what is happening. The
editor use the doorstop API whenever possible to behave the same way as doorstop.

![Sample](https://raw.githubusercontent.com/ownbee/doorstop-edit/main/sample.png)

**Features:**

* **Resizable and movable modern views** for custom layout.
* **Dark theme**.
* Item tree with **status colors** and **search function** for good overview and fast location.
* **Live markdown-HTML** rendering.
* **Section or single mode** reading.
* **Review** and **clear suspect links**.
* Edit additional attributes with `boolean` and `string` types.
* Built-in **item diff tool** to review changes made on disk.
* **Markdown formatting tool** powered by `mdformat` for the text attribute.
* **Pin feature** for easy access to work-in-progress items.
* And more...


**TODO list:**

* Add and remove document.
* Validating documents and items in a user-friendly manner.
* File watcher for syncing/refreshing when changes made on disk.
* Ability to change project root.

## Install

Automatic install with pip:

```sh
pip install doorstop-edit
```

For source installation see *Contributing* section.

## Demo/Testing

There is a python script that generates a document tree which can be useful when testing this
application.

```sh
python3 tools/gen_sample_tree.py

# Output will be located in the dist/ folder.
```


## Other doorstop GUI's

There exists at least two well known GUI's for doorstop editing,
[doorhole](https://github.com/sevendays/doorhole) and the build-in GUI in doorstop.

Since both are pretty basic and have missing features when working with a large and complex set of
requrements, this new GUI was created to fill in some gaps.


## Contributing

See [CONTRIBUTING.md](https://github.com/ownbee/doorstop-edit/blob/main/CONTRIBUTING.md).

