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"; owner = "mediawiki";
}; };
environment.systemPackages = with pkgs; [
imagemagick
# For the PdfHandler extension
ghostscript
poppler-utils
];
services.phpfpm.pools.mediawiki.phpOptions = '' services.phpfpm.pools.mediawiki.phpOptions = ''
upload_max_filesize = 512M upload_max_filesize = 512M
post_max_size = 512M post_max_size = 512M
max_execution_time = 1000 max_execution_time = 1000
max_input_time = 2000 max_input_time = 2000
default_socket_timeout = 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"; services.nginx.clientMaxBodySize = "512M";
@ -51,6 +61,10 @@ in
# Files and Uploads # Files and Uploads
$wgMaxUploadSize = 512 * 1024 * 1024; $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 # Limite mémoire, quand on fait de gros importi (9M de xml), le parser
# prends plus que 50M # prends plus que 50M
@ -113,6 +127,12 @@ in
# Extensions # Extensions
$wgWikiEditorRealtimePreview = true; $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 # Custom Namespaces
define("NS_ARCHIVE", 3000); define("NS_ARCHIVE", 3000);
@ -139,13 +159,32 @@ in
extensions = { extensions = {
# Enables embedded extensions # Enables embedded extensions
Math = null; AbuseFilter = null; # pour faire de la modération
MultimediaViewer = null; CategoryTree = null; # pour faire des arbres de catégories
Nuke = null; Cite = null; # pour faire des références/footnotes
SyntaxHighlight_GeSHi = null; CiteThisPage = null; # pour avoir la citation (à la bibtex) d'une page
TemplateData = null; CodeEditor = null; # pour éditer des macros/scripts wiki
VisualEditor = null; DiscussionTools = null; # pour des pages de discussion intéractives
WikiEditor = null; 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 # Bundled with next version, put as null in the next update
TemplateStyles = pkgs.fetchFromGitHub { TemplateStyles = pkgs.fetchFromGitHub {
@ -159,8 +198,6 @@ in
}; };
# Popups # Popups
TextExtracts = null;
PageImages = null;
Popups = pkgs.fetchFromGitHub { Popups = pkgs.fetchFromGitHub {
name = "Popups"; name = "Popups";
owner = "wikimedia"; owner = "wikimedia";