Différences entre versions de « Mediawiki-customization-fr »

De Mi caja de notas

 
(3 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
{{stub-fr}}
 
{{stub-fr}}
  
Cette page a démarré sur [[iwc:mediawiki-customization]]  
+
Cette page a démarré sur [[iwc:mediawiki-customization]] pour documenter les personnalisations produites sur ce wiki-personnel.
et migrera sur [[iwc:mediawiki-customization-fr]]
 
 
 
Cette page documente les personnalisations produites sur MediaWiki pour notre communauté.
 
  
 
== extensions ==
 
== extensions ==
=== extensions IndieWeb ===
+
=== extensions IndieWeb installées ===
 
https://github.com/indieweb/mediawiki-extensions
 
https://github.com/indieweb/mediawiki-extensions
  
 
* AllowAnchorTags - autorise l'insertion de balises d'ancre <code><a></code> à l'intérieur du wikitexte
 
* AllowAnchorTags - autorise l'insertion de balises d'ancre <code><a></code> à l'intérieur du wikitexte
 +
* Calendar - ajoute un marqueur <nowiki><calendar></nowiki> pour la création d'un calendrier mensuel unique
 
* notitle - ajoute une balise <code><nowiki>__NOTITLE__</nowiki></code> d'ajouter son propre titre de page
 
* notitle - ajoute une balise <code><nowiki>__NOTITLE__</nowiki></code> d'ajouter son propre titre de page
 
* raw - vous permet d'embarquer du HTML brut dans les pages wiki en utilisant <nowiki>raw</nowiki>
 
* raw - vous permet d'embarquer du HTML brut dans les pages wiki en utilisant <nowiki>raw</nowiki>
 +
 +
à activer
 
* RelWebmention - ajoute un endpoint webmention aux pages wiki
 
* RelWebmention - ajoute un endpoint webmention aux pages wiki
 
* LassoAuth - active l'authentification [[web sign-in-fr|connexion web]] via le proxy d'authentification [[Lasso]]
 
* LassoAuth - active l'authentification [[web sign-in-fr|connexion web]] via le proxy d'authentification [[Lasso]]
* Calendar - ajoute un marqueur <nowiki><calendar></nowiki> pour la création d'un calendrier mensuel unique
 
  
=== dfn ===
+
==== extensions à installer ====
 +
===== dfn =====
 
https://github.com/aaronpk/mediawiki-mf2-dfn
 
https://github.com/aaronpk/mediawiki-mf2-dfn
  
 
Ajoute un marqueur <code>p-summary</code> autour de la première phrase qui contient un marqueur <code><nowiki><dfn></nowiki></code>
 
Ajoute un marqueur <code>p-summary</code> autour de la première phrase qui contient un marqueur <code><nowiki><dfn></nowiki></code>
  
=== CategoryTree ===
+
===== CategoryTree =====
 
* https://www.mediawiki.org/wiki/Extension:CategoryTree
 
* https://www.mediawiki.org/wiki/Extension:CategoryTree
  
=== mf2 parser ===
+
===== mf2 parser =====
 
Le wiki requiert un parseur Microformats pour pouvoir produire quelques trucs. Copiez le repo  [https://github.com/indieweb/php-mf2 php-mf2] dans votre dossier extensions.
 
Le wiki requiert un parseur Microformats pour pouvoir produire quelques trucs. Copiez le repo  [https://github.com/indieweb/php-mf2 php-mf2] dans votre dossier extensions.
  
Ligne 60 : Ligne 60 :
  
 
=== activer les belles urls ===
 
=== activer les belles urls ===
Le wiki est installé dans le dossier <code>wiki</code> sur le serveur, mais nous voulons que les URLs soient sous le forme <code>ducamp.me/exemple</code>.
+
Le wiki est installé dans le dossier <code>wiki</code> sur le serveur, mais nous voulons que les URLs soient sous la forme <code>ducamp.me/exemple</code>.
  
 
<pre>$wgScriptPath = '/wiki';
 
<pre>$wgScriptPath = '/wiki';

Version actuelle datée du 30 septembre 2020 à 05:20


Cette page a démarré sur iwc:mediawiki-customization pour documenter les personnalisations produites sur ce wiki-personnel.

extensions

extensions IndieWeb installées

https://github.com/indieweb/mediawiki-extensions

  • AllowAnchorTags - autorise l'insertion de balises d'ancre <a> à l'intérieur du wikitexte
  • Calendar - ajoute un marqueur <calendar> pour la création d'un calendrier mensuel unique
  • notitle - ajoute une balise __NOTITLE__ d'ajouter son propre titre de page
  • raw - vous permet d'embarquer du HTML brut dans les pages wiki en utilisant raw

à activer

  • RelWebmention - ajoute un endpoint webmention aux pages wiki
  • LassoAuth - active l'authentification connexion web via le proxy d'authentification Lasso

extensions à installer

dfn

https://github.com/aaronpk/mediawiki-mf2-dfn

Ajoute un marqueur p-summary autour de la première phrase qui contient un marqueur <dfn>

CategoryTree
mf2 parser

Le wiki requiert un parseur Microformats pour pouvoir produire quelques trucs. Copiez le repo php-mf2 dans votre dossier extensions.

extensions activées

wfLoadExtension('Cite');
wfLoadExtension('ParserFunctions');
wfLoadExtension('Auth_remoteuser');
wfLoadExtension('CategoryTree');

require_once('extensions/php-mf2/Mf2/Parser.php');
require_once('extensions/dfn/dfn.php');

require_once('extensions/IndieWeb/raw.php');
require_once('extensions/IndieWeb/notitle.php');
require_once('extensions/IndieWeb/AllowAnchorTags.php');
require_once('extensions/IndieWeb/RelWebmention.php');
require_once('extensions/IndieWeb/Calendar.php');
require_once('extensions/IndieWeb/LassoAuth.php');

config extension

LassoAuth::$auth = 'https://sso.indieweb.org/';
LassoAuth::$wiki = 'https://indieweb.org/';

$wgPingbackEndpoint = 'https://webmention.io/indiewebcamp/xmlrpc';
$wgWebmentionEndpoint = 'https://webmention.io/indiewebcamp/webmention';

personnalisations modifiables

Voir MediaWiki:Common.css pour la CSS personnalisée utilisée sur ce wiki.

configuration

Ajoutez ce qui suit aux LocalSettings.php

activer les belles urls

Le wiki est installé dans le dossier wiki sur le serveur, mais nous voulons que les URLs soient sous la forme ducamp.me/exemple.

$wgScriptPath = '/wiki';
$wgScriptExtension  = ".php";
$wgArticlePath = '/$1';
$wgUsePathInfo = true;
$wgCapitalLinks = false;

permissions utilisateurs

$wgGroupPermissions['*']['read'] = true;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['autocreateaccount'] = true;
$wgGroupPermissions['user']['move'] = true;
$wgGroupPermissions['user']['movefile'] = true;
$wgGroupPermissions['user']['delete'] = true;
$wgGroupPermissions['user']['undelete'] = true;
$wgGroupPermissions['user']['browsearchive'] = true;
$wgGroupPermissions['user']['rollback'] = true;
$wgDefaultUserOptions ['editsection'] = true;
$wgAllowUserSkin = true;
$wgAllowUserCss = true;
$wgAllowUserJs = true;

copyright

$wgEnableCreativeCommonsRdf = true;
$wgRightsPage = "IndieWebCamp:Copyrights"; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = "http://creativecommons.org/publicdomain/zero/1.0/";
$wgRightsText = "a CC0 public domain dedication";
$wgRightsIcon = "https://i.creativecommons.org/p/zero/1.0/88x31.png";
$wgEnableCreativeCommonsRdf = true;

permettre plus de téléchargements de fichiers

$wgFileExtensions[] = 'pdf';
$wgFileExtensions[] = 'txt';
$wgFileExtensions[] = 'svg';
$wgFileExtensions[] = 'ai';

autres

$wgEnableUploads = true;
$wgAllowImageTag = true;
$wgNoFollowLinks = false;
$wgAllowExternalImages = true;
$wgCookieExpiration = 180 * 86400;
$wgSecureLogin = true;
$wgCookieSecure = true;

set up https://www.mediawiki.org/wiki/Manual:$wgRCFeeds to the secret lair of Loqi

skin

Nous utilisons la skin Vector par défaut pour le wiki, avec quelques personnalisations mineures afin d'ajouter du marquage Microformats aux pages.

Dans skins/Vector/VectorTemplate.php, faites les modifications décrites sur https://aaronparecki.com/2018/01/14/3/

page d'accueil

MediaWiki refuse de servir la page d'accueil à partir de / et insiste pour la rediriger à la place vers /Main_Page. Il est possible de renommer cette page vers quelque chose comme /Accueil, mais même ça ce n'est pas génial. Nous voulons que la page d'accueil soit servie sur simplement https://indieweb.org/. Pour faire ça, il y un fichier séparé index.php à la racine du serveur, qui renvoie en fait un miroir de la page MediaWiki.

<?php
$opts = array('title' => 'Main_Page');
if(array_key_exists('useskin',$_GET))
  $opts['useskin'] = $_GET['useskin'];
$ch = curl_init('https://indieweb.org/wiki/index.php?'.http_build_query($opts));
// Pass the HTTP_COOKIE header through for auth
if(array_key_exists('HTTP_COOKIE', $_SERVER)) {
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
		'Cookie: ' . $_SERVER['HTTP_COOKIE']
	));
}

header('Link: <https://webmention.io/indiewebcamp/webmention>; rel="webmention"');

// No-cache if the user is logged in
if(isset($_SERVER['REMOTE_USER'])) {
  header('Cache-Control: no-cache');
}

curl_exec($ch);


Voir aussi