Skip to content

Commit 72de8dd

Browse files
committed
docs: fix formatting errors by adding a new list plugin
1 parent 9cf9937 commit 72de8dd

4 files changed

Lines changed: 67 additions & 61 deletions

File tree

.mkdocs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ remote_branch: gh-pages
88
theme: readthedocs
99
markdown_extensions:
1010
- admonition
11+
- pymdownx.fancylists
1112
- pymdownx.superfences
1213
exclude_docs: |
1314
example-configs/**
1415
requirements.txt
15-
1616
nav:
1717
- Welcome: README.md
1818
- Quick Start:

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,4 +133,4 @@ docs-build:
133133

134134
.PHONY: docs-serve
135135
docs-serve:
136-
mkdocs serve --strict -f .mkdocs.yaml
136+
mkdocs serve --watch docs/ --strict -f .mkdocs.yaml

docs/administration/user-roles.md

Lines changed: 37 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,40 @@
22

33
In `mailserver-admin`, there are three distinct user roles, each with different levels of access and permissions:
44

5-
1. **Admin**
6-
- **Permissions**: Can perform all actions within the application.
7-
- **Capabilities**:
8-
- Manage all mail domains, users, aliases, and DKIM settings.
9-
- Full access to all features and configurations.
10-
11-
2. **Domain Admin**
12-
- **Permissions**: Limited to managing users, aliases, and fetchmail accounts within their own domain.
13-
- **Capabilities**:
14-
- Create, update, and remove users within their domain.
15-
- Define and manage mail aliases within their domain.
16-
- Configure and manage fetchmail accounts within their domain.
17-
- **Restrictions**:
18-
- Cannot add or edit new domains.
19-
- Cannot manage DKIM settings for any domain.
20-
21-
3. **User**
22-
- **Permissions**: Limited to managing their own fetchmail accounts.
23-
- **Capabilities**:
24-
- Login to the application.
25-
- Configure and manage their personal fetchmail accounts.
26-
- **Restrictions**:
27-
- Cannot manage users, aliases, or domains.
28-
- No access to DKIM settings or domain configurations.
5+
## Admin
6+
7+
**Permissions**: Can perform all actions within the application.
8+
9+
**Capabilities**:
10+
11+
- Manage all mail domains, users, aliases, and DKIM settings
12+
- Full access to all features and configurations
13+
14+
## Domain Admin
15+
16+
**Permissions**: Limited to managing users, aliases, and fetchmail accounts within their own domain.
17+
18+
**Capabilities**:
19+
20+
- Create, update, and remove users within their domain
21+
- Define and manage mail aliases within their domain
22+
- Configure and manage fetchmail accounts within their domain
23+
24+
**Restrictions**:
25+
26+
- Cannot add or edit new domains
27+
- Cannot manage DKIM settings for any domain
28+
29+
## User
30+
31+
**Permissions**: Limited to managing their own fetchmail accounts.
32+
33+
**Capabilities**:
34+
35+
- Login to the application
36+
- Configure and manage their personal fetchmail accounts
37+
38+
**Restrictions**:
39+
40+
- Cannot manage users, aliases, or domains
41+
- No access to DKIM settings or domain configurations

docs/development/mailserver-admin.md

Lines changed: 28 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Development Guide for mailserver-admin
22

33
This document describes the development setup and workflow for the `mailserver-admin` project.
4-
The project is located in a separate repository: https://github.com/jeboehm/mailserver-admin/
4+
The project is located in a separate repository: [mailserver-admin](https://github.com/jeboehm/mailserver-admin).
55

66
## Technical Stack
77

@@ -32,26 +32,28 @@ The project uses [devenv](https://devenv.sh/) to provide a reproducible developm
3232

3333
2. Start the development environment:
3434

35-
```bash
36-
devenv up
37-
```
35+
```bash
36+
devenv up
37+
```
3838

39-
This command will:
40-
- Set up PHP 8.4 with required extensions (Redis, PDO MySQL, Xdebug)
41-
- Start MySQL database server
42-
- Start Redis server
43-
- Start Caddy web server on port 8000
44-
- Configure PHP-FPM pool for the web server
45-
- Set up environment variables for database and Redis connections
39+
This command will:
40+
41+
- Set up PHP 8.4 with required extensions (Redis, PDO MySQL, Xdebug)
42+
- Start MySQL database server
43+
- Start Redis server
44+
- Start Caddy web server on port 8000
45+
- Configure PHP-FPM pool for the web server
46+
- Set up environment variables for database and Redis connections
4647

4748
3. Install dependencies:
48-
```bash
49-
composer install
50-
```
49+
50+
```bash
51+
composer install
52+
```
5153

5254
### Starting the Web Server
5355

54-
**Important**: You must run `devenv up` to start the web server. This command starts all required services including:
56+
**Important**: You must run `devenv up` to start the web server. This command starts all required services:
5557

5658
- **Caddy web server** on `http://localhost:8000`
5759
- **MySQL database** (accessible at `127.0.0.1`)
@@ -71,7 +73,7 @@ Fix code style issues using PHP CS Fixer:
7173
composer run csfix
7274
```
7375

74-
This command runs PHP CS Fixer with the configuration defined in `.php-cs-fixer.dist.php`. It applies PSR-2, Symfony, and PHP 8.0 migration rules to files in:
76+
This command runs PHP CS Fixer with the configuration defined in `.php-cs-fixer.dist.php`. It applies PSR-2, Symfony, and PHP 8.0 migration rules to the following directories:
7577

7678
- `bin/`
7779
- `public/`
@@ -87,7 +89,7 @@ Run PHPStan to perform static analysis:
8789
composer run phpstan
8890
```
8991

90-
PHPStan is configured to analyze code at level 6 (as defined in `phpstan.dist.neon`) and checks:
92+
PHPStan is configured to analyze code at level 6 (as defined in `phpstan.dist.neon`) and checks the following directories:
9193

9294
- `bin/`
9395
- `config/`
@@ -103,23 +105,13 @@ Execute the test suite:
103105
composer run test
104106
```
105107

106-
This runs PHPUnit with the configuration from `phpunit.dist.xml`. The test suite includes:
108+
This runs PHPUnit with the configuration from `phpunit.dist.xml`. The test suite includes the following:
107109

108110
- Unit tests in `tests/Unit/`
109111
- Integration tests in `tests/Integration/`
110112

111113
Tests run in the `test` environment and use the database configured in `.env.test`.
112114

113-
### Test Coverage
114-
115-
Generate test coverage report:
116-
117-
```bash
118-
composer run coverage
119-
```
120-
121-
This runs PHPUnit with Xdebug coverage enabled and outputs a text-based coverage report.
122-
123115
### Code Refactoring
124116

125117
Run Rector to automatically refactor code:
@@ -151,7 +143,7 @@ Rector uses the configuration from `rector.php` to apply automated code improvem
151143

152144
## Debugging
153145

154-
Xdebug is configured in the devenv setup with:
146+
Xdebug is configured in the devenv setup with the following settings:
155147

156148
- Mode: `debug`
157149
- Client port: `9003`
@@ -165,16 +157,17 @@ When making database schema changes:
165157

166158
1. Create a migration:
167159

168-
```bash
169-
php bin/console doctrine:migrations:generate
170-
```
160+
```bash
161+
php bin/console doctrine:migrations:generate
162+
```
171163

172164
2. Edit the generated migration file in `migrations/`
173165

174166
3. Run migrations:
175-
```bash
176-
php bin/console doctrine:migrations:migrate
177-
```
167+
168+
```bash
169+
php bin/console doctrine:migrations:migrate
170+
```
178171

179172
## Additional Resources
180173

0 commit comments

Comments
 (0)