Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use mkdocs instead of hugo #542

Merged
merged 1 commit into from
Jan 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/mkdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Documentation

on:
push:
branches:
- 'main'

jobs:
mkdocs:
name: Build & Deploy Documentation
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/[email protected]

- name: Deploy Documentation
uses: mhausenblas/mkdocs-deploy-gh-pages@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CONFIG_FILE: mkdocs.yml
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ translations/
/vendor/
###< symfony/framework-bundle ###

hugo/public/

###> friends-of-behat/symfony-extension ###
/behat.yml
###< friends-of-behat/symfony-extension ###
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@
[submodule "ansible/roles/systemli.dovecot"]
path = ansible/roles/systemli.dovecot
url = https://github.com/systemli/ansible-role-dovecot.git
[submodule "hugo/themes/docdock"]
path = hugo/themes/docdock
url = https://github.com/vjeantet/hugo-theme-docdock.git
[submodule "ansible/roles/geerlingguy.php"]
path = ansible/roles/geerlingguy.php
url = https://github.com/geerlingguy/ansible-role-php.git
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

Web application to (self-) manage e-mail users and encrypt their mailboxes.

![index](hugo/static/images/index.png)
![index](docs/assets/images/index.png)

## Features

Expand Down Expand Up @@ -39,7 +39,7 @@ If you're looking for things to work on, take a look in
the ["good first
issues"](https://github.com/systemli/userli/labels/good%20first%20issue).
There, you can also [report a bug or suggest an enhancement](https://github.com/systemli/userli/issues/new).
You could also [improve our documentation](https://github.com/systemli/userli/blob/main/hugo/content/_index.md) or [provide new
You could also [improve our documentation](https://github.com/systemli/userli/blob/main/docs/index.md) or [provide new
translations](https://hosted.weblate.org/engage/userli/).
If you want to do something else - it's totally fine. Any contribution is very welcome.

Expand Down
1 change: 0 additions & 1 deletion docs

This file was deleted.

File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added docs/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "Code of Conduct"
description = "Everyone welcome"
weight = 2
+++
# Code of Conduct

## Our Pledge

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
+++
title = "Coding style"
description = ""
weight = 4
+++
# Coding style

We use the default Symfony coding style.
<!--more-->

Check and adjust coding style by running `php-cs-fixer`:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "Icons"
description = "Where to get icons"
weight = 6
+++
# Icons

We're using [Githubs Octicons v9](https://github.com/primer/octicons/releases/tag/v9.6.0) for icons on the index page.
Icons from V10 onwards look a bit different and don't allign with earlier ones.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
+++
title = "Development"
description = ""
weight = 3
alwaysopen = false
+++
# Development

## Development with Vagrant

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "Creating release tarballs"
description = ""
weight = 3
+++
# Creating release tarballs

Release tarballs are the preferred way to install Userli. This page explains how to create them.
<!--more-->
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "Tests"
description = "How to test during development"
weight = 5
+++
# Tests

## Linting, unit tests and functional tests

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
+++
title = "Getting Started"
description = ""
weight = 1
alwaysopen = true
+++
# Getting Started

The easiest way to install Userli on a fresh Debian Buster is running these commands:

Expand All @@ -23,7 +18,8 @@ This installs all dependencies, creates a database and database user
It is accessible via [http://localhost:8080](http://localhost:8080).
There, you can create the first domain and user for your instance.

{{% alert theme="danger" %}}Do not run this configuration in production.{{% /alert %}}
!!! warning
Do not run this configuration in production.

Next, you would have to change the password of the database user,
[configure your instance](../installation/configuration),
Expand Down
9 changes: 2 additions & 7 deletions hugo/content/_index.md → docs/index.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
+++
title = "Userli Documentation"
description = "Web application to (self-) manage e-mail users and encrypt their mailboxes."
+++

# Userli

Web application to (self-) manage e-mail users and encrypt their mailboxes.

![index](./images/index.png)
![index](./assets/images/index.png)

## Features

Expand All @@ -33,4 +28,4 @@ Userli supports a role system to help you run your mail server.

## Contribute

This is a start. Please help to [improve the documentation](https://github.com/systemli/userli/edit/main/hugo/content/_index.md).
This is a start. Please help to [improve the documentation](https://github.com/systemli/userli/edit/main/docsindex.md).
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "Checkpassword"
description = ""
weight = 7
+++
# Checkpassword

The PHP console command `bin/console app:users:checkpassword` provides a
checkpassword command to be used for authentication (userdb and passdb
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
+++
title = "Get the code"
description = ""
weight = 2
+++
# Get the code

Install the [latest release](https://github.com/systemli/userli/releases/latest).
<!--more-->

Download and unpack the actual source code.

mkdir userli && cd userli
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
+++
title = "Commands"
description = ""
weight = 8
+++
# Commands

This app brings custom commands:
<!--more-->

```
app:munin:account # Return number of account to munin
app:munin:alias # Return number of aliases to munin
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "Configuration"
description = ""
weight = 3
+++
# Configuration

You can personalize your Userli instance by creating `.env.local`,
which overrides some values from `.env`. You should at least configure
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "Customize"
description = ""
weight = 6
+++
# Customize

You can override translation strings individually by putting them into
override localization files at `translations/<lang>/messages.<lang>.yml`.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "Create database"
description = ""
weight = 1
+++
# Create database

Create Userli database and database user.
<!--more-->
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
+++
title = "Finalize the setup"
description = ""
weight = 4
+++
# Finalize the setup

Last steps to make Userli work properly.
<!--more-->

## Create database scheme

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "Installation"
description = ""
weight = 2
+++
# Installation

## Requirements

Expand All @@ -13,5 +9,3 @@ weight = 2
* [GnuPG](https://gnupg.org/) version 2.1.14 or newer

You can also run this application with PostgreSQL oder SQLite.

{{%children style="h2" description="true"%}}
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
+++
title = "Webserver configuration"
description = ""
weight = 5
+++
# Webserver configuration

Userli has to be installed like any other [Symfony application](https://symfony.com/doc/current/setup/web_server_configuration.html).
<!--more-->

Below, you'll find some example configurations for webservers.
Don't blindly copy them, but adjust them to your needs.

Caddy
## Caddy

:8080
gzip
Expand All @@ -21,7 +16,7 @@ Caddy
to {path} /index.php?{query}
}

Nginx
## Nginx

server {
listen 80;
Expand Down Expand Up @@ -49,7 +44,7 @@ Nginx
}
}

Apache2
## Apache2

<VirtualHost *:80>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "Implementation details"
description = "Cryptographic primitives"
weight = 2
+++
# Implementation details

We use elliptic curve keys with curve secp521r1. The private key is encrypted
with a libargon2i hash of the users' password, stored in a libsodium secret
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "MailCrypt"
description = ""
weight = 4
+++
# MailCrypt

The software has builtin support for
[Dovecot's mailbox encryption](https://wiki.dovecot.org/Plugins/MailCrypt), using the
Expand Down Expand Up @@ -38,5 +34,3 @@ MailCrypt can be turned on/off for individual users by setting the `mail_crypt`
switch in the `virtual_users` database table. This switch is mainly meant to
provide a migration path from legacy users without MailCrypt keys. On new
setups, it's recommended to keep MailCrypt enabled for all users.

{{%children style="h2" description="true"%}}
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "Migrating legacy users"
description = ""
weight = 1
+++
# Migrating legacy users

Legacy users (without MailCrypt keys) continue to work without mailbox
encryption. If they generate a recovery token manually in the account settings,
Expand Down
42 changes: 42 additions & 0 deletions docs/screenshots/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Screenshots

Some screenshots of Userli features

## Account management

Change password and delete account

![account](../assets/images/account.png)


## Admin Frontend

Manage domains, users, aliases and more

![admin](../assets/images/admin.png)

## Invite friends

Invite codes

![voucher](../assets/images/voucher.png)

## Alias addresses

Manage alias addresses

![alias](../assets/images/alias.png)

## Recover lost password

Manage recovery token

![manage_recovery_token](../assets/images/manage_recovery_token.png)

Add recovery token

![new_recovery_token](../assets/images/new_recovery_token.png)

Use recovery token

![use_recovery_token](../assets/images/recovery.png)
6 changes: 1 addition & 5 deletions hugo/content/update/_index.md → docs/update/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
+++
title = "Update"
description = ""
alwaysopen = true
+++
# Update

When updating to a new userli version, please take a look at `UPGRADE.md`
to see whether manual steps are required.
Expand Down
Loading
Loading