Metadata-Version: 2.4
Name: aengus
Version: 0.4.0
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.2.4
Dynamic: license-file

# Aengus - A TUI Writing App

  Editor View
  
  Statistics View

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]  <--- put all your character sheets in here
   - ..
 - [places]  <--- put all your place sheets in here
   - ..
 - [notes]  <--- for notes that will not be used for wordcount or highlighting
   - ..
 - [novel]  <--- put all your chapters in here
   - ..
 - 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
```

To change the theme of the app you can change all colors in the `aengus.toml` file in your project.

```toml
[theme]
# ..
secondary = "#15534e"
accent = "#e9cb25" # <--- change this for a new accent color
foreground = "#f8f9fa"
# ..

[theme.mention_colors]
fallback = "#dda0dd" # <---- used when a folder has no specific mention color yet
characters = "#ffd700" # <---- change this for the fallback color of all characters
```

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"
 - use Aho Corasick Algorithm for faster mention highlighting
 - writing personas based on writing activity (Night Owl for writing at night, 
 Overthinker for spending only little time per seession actually writing)
