Ajout (maximaliste) d'extensions (il faudra peut-être en éliminer)

wiki
Lyes Saadi 2025-07-27 03:01:31 +02:00
parent 82f868d63e
commit 340b79f785
No known key found for this signature in database
GPG Key ID: 55A1D803917CF39A
1 changed files with 46 additions and 9 deletions

View File

@ -16,12 +16,22 @@ in
owner = "mediawiki";
};
environment.systemPackages = with pkgs; [
imagemagick
# For the PdfHandler extension
ghostscript
poppler-utils
];
services.phpfpm.pools.mediawiki.phpOptions = ''
upload_max_filesize = 512M
post_max_size = 512M
max_execution_time = 1000
max_input_time = 2000
default_socket_timeout = 2000
extension = ${pkgs.phpExtensions.mbstring}/lib/php/extensions/mbstring.so
extension = ${pkgs.phpExtensions.luasandbox}/lib/php/extensions/luasandbox.so
'';
services.nginx.clientMaxBodySize = "512M";
@ -51,6 +61,10 @@ in
# Files and Uploads
$wgMaxUploadSize = 512 * 1024 * 1024;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = '${ pkgs.imagemagick }/bin/convert';
$wgStrictFileExtensions = false;
$wgFileExtensions[] = 'pdf';
# Limite mémoire, quand on fait de gros importi (9M de xml), le parser
# prends plus que 50M
@ -113,6 +127,12 @@ in
# Extensions
$wgWikiEditorRealtimePreview = true;
$wgCiteBookReferencing = true;
$wgPdfProcessor = '${ pkgs.ghostscript }/bin/gs';
$wgPdfPostProcessor = $wgImageMagickConvertCommand;
$wgPdfInfo = '${ pkgs.poppler-utils }/bin/pdfinfo';
$wgPdftoText = '${ pkgs.poppler-utils }/bin/pdftotext';
$wgScribuntoDefaultEngine = 'luasandbox';
# Custom Namespaces
define("NS_ARCHIVE", 3000);
@ -139,13 +159,32 @@ in
extensions = {
# Enables embedded extensions
Math = null;
MultimediaViewer = null;
Nuke = null;
SyntaxHighlight_GeSHi = null;
TemplateData = null;
VisualEditor = null;
WikiEditor = null;
AbuseFilter = null; # pour faire de la modération
CategoryTree = null; # pour faire des arbres de catégories
Cite = null; # pour faire des références/footnotes
CiteThisPage = null; # pour avoir la citation (à la bibtex) d'une page
CodeEditor = null; # pour éditer des macros/scripts wiki
DiscussionTools = null; # pour des pages de discussion intéractives
Echo = null; # pour le système de notification du wiki
Gadgets = null; # pour avoir un système d'outils activable par les users
ImageMap = null; # pour mettre des widgets sur des images
Math = null; # pour avoir des maths LaTeX
MultimediaViewer = null; # pour avoir un affichage sympa des images
Nuke = null; # pour purger des pages
PageImages = null; # pour set la bonne image représentant un article
ParserFunctions = null; # pour la logique et les fonctions de base du templating
PdfHandler = null; # pour afficher les pdfs
Poem = null; # pour afficher des blocks de texte respectant l'espacement (poèmes, écrits)
ReplaceText = null; # pour du méga-renommage à travers le wiki
Scribunto = null; # pour faire du scripting et des templates pour le wiki
SyntaxHighlight_GeSHi = null; # pour avoir de la coloration syntaxique
TemplateData = null; # pour faire de la doc sur les templates
# TemplateStyles = null; # pour styliser les templates (bundlé pour la prochaine version de mediawiki)
TextExtracts = null; # pour set le bon text représentant un article
Thanks = null; # pour remercier des gens en notif
TitleBlacklist = true; # pour faire de la modération
VisualEditor = null; # pour éditer visuellement les pages
WikiEditor = null; # pour éditer le code wiki des pages
# Bundled with next version, put as null in the next update
TemplateStyles = pkgs.fetchFromGitHub {
@ -159,8 +198,6 @@ in
};
# Popups
TextExtracts = null;
PageImages = null;
Popups = pkgs.fetchFromGitHub {
name = "Popups";
owner = "wikimedia";