Metadata-Version: 2.4
Name: aengus
Version: 0.3.1
Summary: A tui writing app
Author-email: Tim Betz <tim.betz@protonmail.com>
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: python-frontmatter>=1.1.0
Requires-Dist: rich>=14.3.2
Requires-Dist: textual>=8.0.0
Dynamic: license-file

# Aengus - A TUI Writing App

<p align="center">
  <img src="https://codeberg.org/attachments/9aa88f10-954e-41e4-a5e6-5c286224aa03" width="80%" alt="Editor View">
  <br>
  <img src="https://codeberg.org/attachments/fe532e3e-310c-476f-832c-ac17cc05fb17" width="80%" alt="Statistics View">
</p>

Aengus is a simple editor for the terminal tailored towards novel writing, especially 
fantasy and science fiction. It offers nice highlighting features for characters, places, artifacts 
or more. It can be easily configured to your workflow and comes with some built in statistics. 
It uses simple markdown files as the base layer so your work can be easily imported from other apps.

### Installation

Install with `pip install aengus`.

Then create a project with `aengus new <PROJECT_NAME>` and open with `aengus open <PROJECT_NAME>`.

Or get help with `aengus -h`.

### Documentation

Aengus can interpret every folder as a project with an `aengus.toml` file at its root. When creating 
a new project with `aengus new <PROJECT_NAME>` it will create a new folder with the following structure:

 - [characters]
   - ..
 - [places]
   - ..
 - [notes]
   - ..
 - [novel]
   - ..
 - aengus_stats.csv
 - aengus.toml

To create a new character inside the editor press **ctrl+n** and put a new markdown file into the 
characters folder. To further customize the highlighting Aengus uses frontmatter, so you can 
preface the markdown file with the following:

```yaml
---
name: Sima # the main name of this character (omit and the filename will be used)
aliases:
  - little mouse # a list of aliases to highlight the character (optional)
color: #e44e0e # (this color will be used to highlight this character, omit for default)
---
```

The same works for places or all the other folders you defined in your project toml under 

```toml
[mentions]
folders = ["characters", "places"] # <---- here
```

Aengus records simple analytics in the `aengus_stats.csv` file and displays it under the 
**Statistics** tab (open with **ctrl+l**).

### Setup Environment

This repository uses uv. Run `uv sync` to create the virtual environment.

Install with `pip install -e .` to get instant feedback while editing.

On windows add the `Scripts` folder to `PATH` if you have not already.

### Planned Features

 - Session Word Count goal with a little progress bar
 - novel exporter into single markdown/pdf/whatever (needs a chapter ordering system)
 - highlighting based on noun, adjective, verb (toggle between current system)
 - highlight fill words in "Edit Mode"
