mediawiki: properly load SMW, enable syntax
This commit is contained in:
parent
9a4f31f52b
commit
2dc80ceb82
|
@ -69,48 +69,30 @@ in
|
|||
url = "https://web.archive.org/web/20230710142618/https://extdist.wmflabs.org/dist/extensions/PluggableAuth-REL1_40-519c6d2.tar.gz";
|
||||
sha256 = "sha256-N1+OV1UdzvU4iXhaS/+fuEoAXqrkVyyEPDirk0vrT8A=";
|
||||
};
|
||||
# source https://github.com/Die-KoMa/mediawiki/blob/main/packages/default.nix#L32-L47
|
||||
# TODO: generalize
|
||||
SemanticMediaWiki = let
|
||||
drv = import MediaWikiExtensionsComposer {
|
||||
noDev = true;
|
||||
inherit pkgs;
|
||||
php = pkgs.php81;
|
||||
phpPackages = pkgs.php81Packages;
|
||||
};
|
||||
in
|
||||
pkgs.stdenv.mkDerivation {
|
||||
name = "mediawiki-extensions-composer";
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp -R ${drv}/extensions/SemanticMediaWiki/* $out
|
||||
cp -R ${drv}/vendor vendor
|
||||
|
||||
pushd vendor/composer/
|
||||
substituteInPlace *.json *.php \
|
||||
--replace "/extensions/SemanticMediaWiki" ""
|
||||
popd
|
||||
|
||||
cp -R vendor $out/
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
name = "C3D2";
|
||||
nginx.hostName = "wiki.c3d2.de";
|
||||
|
||||
package = let
|
||||
drv = import MediaWikiExtensionsComposer {
|
||||
noDev = true;
|
||||
inherit pkgs;
|
||||
php = pkgs.php81;
|
||||
phpPackages = pkgs.php81Packages;
|
||||
};
|
||||
in pkgs.runCommand "mediawiki-moved" {
|
||||
inherit (pkgs.mediawiki) version;
|
||||
} ''
|
||||
mkdir -p $out/share/mediawiki
|
||||
cp -r ${drv}/* $out/share/mediawiki/
|
||||
'';
|
||||
#skins = {
|
||||
# Vector = "${config.services.mediawiki.package}/share/mediawiki/skins/Vector";
|
||||
# Hector = "${config.services.mediawiki.package}/share/mediawiki/skins/Hector";
|
||||
#};
|
||||
|
||||
# initial admin user password
|
||||
passwordFile = config.sops.secrets."mediawiki/adminPassword".path;
|
||||
uploadsDir = "/var/lib/mediawiki/uploads";
|
||||
webserver = "nginx";
|
||||
|
||||
extraConfig = /* php */ ''
|
||||
$wgAllowUserCss = true;
|
||||
$wgDBmwschema = "mediawiki";
|
||||
|
@ -193,6 +175,7 @@ in
|
|||
wfLoadExtension('CiteThisPage');
|
||||
wfLoadExtension('ConfirmEdit');
|
||||
wfLoadExtension('ParserFunctions');
|
||||
wfLoadExtension('SyntaxHighlight_GeSHi');
|
||||
wfLoadExtension('WikiEditor');
|
||||
|
||||
// TODO: what about $wgUpgradeKey ?
|
||||
|
@ -207,18 +190,18 @@ in
|
|||
$wgPluggableAuth_EnableLocalLogin = true;
|
||||
|
||||
# SemanticMediaWiki
|
||||
wfLoadExtension('SemanticMediaWiki');
|
||||
# TODO: expose https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/services/web-apps/mediawiki.nix#L19
|
||||
$smwgConfigFileDir = "/var/lib/mediawiki";
|
||||
# default was 100 which is already occupied, using 200 to 215
|
||||
# https://www.semantic-mediawiki.org/wiki/Help:$smwgNamespaceIndex
|
||||
$smwgNamespaceIndex = 200;
|
||||
# Doesn't work? Not sure why....
|
||||
# enableSemantics('${config.services.mediawiki.nginx.hostName}');
|
||||
# $smwgURITypeSchemeList = array_merge(
|
||||
# $smwgURITypeSchemeList, [
|
||||
# 'xmpp', 'mumble', 'ssh'
|
||||
# ]
|
||||
# );
|
||||
enableSemantics('${config.services.mediawiki.nginx.hostName}');
|
||||
$smwgURITypeSchemeList = array_merge(
|
||||
$smwgURITypeSchemeList, [
|
||||
'xmpp', 'mumble', 'ssh'
|
||||
]
|
||||
);
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue