chore(docs): add frontmatter for each pages

This commit is contained in:
Christophe Chauvet
2026-01-13 18:46:06 +01:00
parent cfa7930de2
commit dee70b5f05
21 changed files with 221 additions and 2247 deletions
+51
View File
@@ -34,6 +34,7 @@ export default defineConfig({
{ text: 'Getting Started', link: '/contributing/getting_start' },
{ text: 'Write a Plugin', link: '/contributing/plugin_api' },
{ text: 'Translate', link: '/contributing/translation' },
{ text: 'REST API', link: '/rest_api' },
{ text: 'Contributors', link: '/contributors' },
],
},
@@ -114,4 +115,54 @@ export default defineConfig({
cleanUrls: true,
outDir: './dist',
lastUpdated: true,
transformPageData(pageData) {
// console.log(pageData);
const baseUrl = process.env.READTHEDOCS_CANONICAL_URL
? new URL(process.env.READTHEDOCS_CANONICAL_URL).pathname.replace(/\/$/, '')
: ''
const canonicalUrl = baseUrl + '/' + pageData.relativePath.replace(/\.md$/, "").replace(/^index$/, "");
let updtDate = new Date();
// If no commit for a page (dev in progress), lastUpdated == NaN
// Ensure lastUpdated is defined and a number before passing it to isNaN/new Date
if (typeof pageData.lastUpdated === 'number' && !isNaN(pageData.lastUpdated)) {
updtDate = new Date(pageData.lastUpdated);
}
pageData.frontmatter.head ??= [];
pageData.frontmatter.head.push([
"link",
{ rel: "canonical", href: canonicalUrl },
]);
pageData.frontmatter.head.push([
"meta",
{ property: "og:title", content: pageData.frontmatter.title },
]);
pageData.frontmatter.head.push([
"meta",
{ property: "og:description", content: pageData.frontmatter.description },
]);
pageData.frontmatter.head.push([
"meta",
{ property: "og:type", content: 'article' },
]);
pageData.frontmatter.head.push([
"meta",
{ property: "og:url", content: canonicalUrl },
]);
// TODO: Uncomment when modoboa image is available on the public folder
// pageData.frontmatter.head.push([
// "meta",
// { property: "og:image", content: 'https://xxxx/modoboa.png' },
// ]);
pageData.frontmatter.head.push([
"meta",
{ property: "og:locale", content: 'en_GB' },
]);
}
})
+9
View File
@@ -1,3 +1,12 @@
---
title: Getting stated with modoboa
description: Discover how to develop and extend modoboa
head:
- - meta
- name: 'keywords'
content: 'modoboa, getting started, backend, frontend, docker'
---
# Getting started
You would like to work on Modoboa but you don\'t know where to start?
+9
View File
@@ -1,3 +1,12 @@
---
title: plugin development guide for modoboa
description: Discover how to develop a plugin for modoboa to extend functionnalities
head:
- - meta
- name: 'keywords'
content: 'modoboa, plugin, extension, api, navigation, Django signals'
---
# Create a new plugin
## Introduction
+11 -2
View File
@@ -1,11 +1,20 @@
---
title: translation guide for modoboa
description: How to help to translate modoboa for your natural language
head:
- - meta
- name: 'keywords'
content: 'modoboa, i18n, translation, transifex, makemessages, backend, frontend'
---
# Translation
Modoboa needs you to translate the project ! Feel free to join the
translation team.
The project is using Transifex. To start with translation, you will need
to create an account and join [modoboa\'s
team](https://app.transifex.com/tonio/modoboa/dashboard/)
to create an account and join
[modoboa's team](https://app.transifex.com/tonio/modoboa/dashboard/)
## API
+9
View File
@@ -1,3 +1,12 @@
---
title: "Contributors list"
description: "List of the contributor who participate to the modoboa's project"
head:
- - meta
- name: 'keywords'
content: 'modoboa, contributor, project'
---
# Contributors
- [6clones](https://www.6clones.fr/)
+2
View File
@@ -1,6 +1,8 @@
---
# https://vitepress.dev/reference/default-theme-home-page
layout: home
title: "Modoboa, the Mail hosting and management platform"
description: "Web User Interface designed to work with Postfix and Dovecot"
hero:
name: "Modoboa"
+9
View File
@@ -1,3 +1,12 @@
---
title: manual step to install amavis component on modoboa
description: This guide describe how to install amavis on the modoboa platform
head:
- - meta
- name: 'keywords'
content: 'modoboa, installation, amavis, mysql, postgresql, quarantine'
---
# Amavis
## Quick Amavis setup
+9
View File
@@ -1,3 +1,12 @@
---
title: manual step to install dovecot component on modoboa
description: This guide describe how to install dovecot on the modoboa platform
head:
- - meta
- name: 'keywords'
content: 'modoboa, installation, dovecot, mysql, postgresql, imapd'
---
# Dovecot
## introduction
+9 -1
View File
@@ -1,5 +1,13 @@
# Automatic Installer
---
title: Guide to install modoboa with the automatic installer
description: This guide describe how to install modoboa with the automatic installer
head:
- - meta
- name: 'keywords'
content: 'modoboa, installation, webserver, nginx, apache, wsgi'
---
# Automatic Installer
## Introduction
+9
View File
@@ -1,3 +1,12 @@
---
title: manual step to made modoboa installation
description: This guide describe all steps to install modoboa
head:
- - meta
- name: 'keywords'
content: 'modoboa, installation, postfix, dovecot, opendkim, amavis, radicale, nginx'
---
# Manual installation
For those who need a manual installation or who just want to setup a specific part,
+9
View File
@@ -1,3 +1,12 @@
---
title: manual step to install core component on modoboa
description: This guide describe how to install core on the modoboa platform
head:
- - meta
- name: 'keywords'
content: 'modoboa, installation, core, mysql, postgresql, cron'
---
# Modoboa
This section describes the installation of the web interface (a [Django](https://www.djangoproject.com/) project).
+9
View File
@@ -1,3 +1,12 @@
---
title: manual step to install opendkim component on modoboa
description: This guide describe how to install opendkim on the modoboa platform
head:
- - meta
- name: 'keywords'
content: 'modoboa, installation, opendkim, mysql, postgresql, dkim'
---
# OpenDKIM
Modoboa can generate [DKIM](https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail) keys
+9
View File
@@ -1,3 +1,12 @@
---
title: manual step to install postfix component on modoboa
description: This guide describe how to install postfix on the modoboa platform
head:
- - meta
- name: 'keywords'
content: 'modoboa, installation, postfix, mysql, postgresql, smtp, alias, relay, virtual'
---
# Postfix
This section gives an example about building a simple virtual hosting
+9
View File
@@ -1,3 +1,12 @@
---
title: manual step to install radicale component on modoboa
description: This guide describe how to install radicale on the modoboa platform
head:
- - meta
- name: 'keywords'
content: 'modoboa, installation, radicale, oauth2'
---
# Radicale
This page is displaying how to install and use radicale when either
+9
View File
@@ -1,3 +1,12 @@
---
title: Requirements to install Modoboa on a server
description: Minimal requirements to install Modoboa on a server
head:
- - meta
- name: 'keywords'
content: 'modoboa, installation, requirements, cpu, ram, disk, python'
---
# Requirements
You will need a Server to perform well with at least:
+9
View File
@@ -1,3 +1,12 @@
---
title: Guide to update a Modoboa instance to the last version
description: This guide perform how to upgrade your current Modoboa instance to the last version available
head:
- - meta
- name: 'keywords'
content: 'modoboa, installation, upgrade, procedure'
---
# Upgrade
## Modoboa
+9
View File
@@ -1,3 +1,12 @@
---
title: manual step to install webserver component on modoboa
description: This guide describe how to install webserver on the modoboa platform
head:
- - meta
- name: 'keywords'
content: 'modoboa, installation, webserver, nginx, apache, wsgi'
---
# Web server {#webserver}
::: info
+10
View File
@@ -1,3 +1,13 @@
---
title: Migrate to modoboa
description: Migrate from actual provider to modoboa
head:
- - meta
- name: 'keywords'
content: 'modoboa, imap, migration, constraint, offlineimap'
---
# Moving to Modoboa
You have an existing platform and you\'d like to move to Modoboa, the
+9
View File
@@ -1,3 +1,12 @@
---
title: How to rebuild your virtual environment
description: Procedure to repair your broken environment
head:
- - meta
- name: 'keywords'
content: 'modoboa, virtualenv, broken, ubuntu'
---
# Rebuild Virtualenv
Sometimes when upgrading your Operating System (eg from Ubuntu 17.04 to
+12 -3
View File
@@ -1,3 +1,12 @@
---
title: REST API to control your Modoboa instance.
description: Guide to describe the use of the REST API to manage your modoboa instance
head:
- - meta
- name: 'keywords'
content: 'modoboa, rest api, swagger, authorization, token'
---
# REST API
To ease the integration with external sources (software or other), Modoboa provides a REST API.
@@ -9,19 +18,19 @@ Every installed instance comes with a ready-to-use API and a documentation.
- New API+Docs: *https://\<hostname\>/api/schema-v2/swagger/*
- Old API: *http://\<hostname\>/api/v1/*
::: info
::: warning
You need to be logged in for the API docs to show.
:::
**Examples:**
* [new example](https://demo.modoboa.org/api/schema-v2/swagger/)
* [Demo Instance](https://demo.modoboa.org/api/schema-v2/swagger/ "Demo Instance Swagger API")
documentation is available on the official demo.
Using this API requires an authentication and for now, only a token
based authentication is supported. To get a valid token, log-in to your
instance with a super administrator, go to *Settings \> API* and
instance with a super administrator, go to `Settings > API` and
activate the API access. Press the Update button and wait until the page
is reloaded, the token will be displayed.
-2241
View File
File diff suppressed because it is too large Load Diff