Extension:Popups
Cette extension est maintenue par l'équipe Web. |
![]() État de la version : stable |
|
---|---|
![]() |
|
Implémentation | Habillage |
Description | Affiche des fenêtres contextuelles lorsque les utilisateurs survolent les liens de l’article et les marqueurs de note de bas de page |
Auteur(s) |
|
MediaWiki | 1.37+ |
PHP | 5.6+ |
Licence | Licence publique générale GNU v2.0 ou supérieur |
Téléchargement | |
Exemple | English Wikipedia |
|
|
Téléchargements trimestriels | 511 (Ranked 18th) |
Utilisé par les wikis publics | 947 (Ranked 282nd) |
Traduire l’extension Popups sur translatewiki.net si elle y est disponible | |
Problèmes | Tâches ouvertes · Signaler un bogue |
L’extension Popups' affiche les aperçus de page et de référence lors du survol d’un lien vers un article ou respectivement vers une référence. Le premier consiste en des résumés du contenu d’un article, le second indique le contenu complet de la référence.
L’extension est une initiative de l’équipe Design, inspirée par le gadget Navigation popups. Actuellement, cette fonctionnalité est disponible sur toutes les Wikipedias par défaut pour les utilisateurs déconnectés. Une description du fonctionnement de l’extension et plus d’informations sur son utilisation sur les projets Wikimedia est disponible à Page Previews.
La fonction Aperçu de référence a finalement été ajoutée et vise à répondre à un souhait de la liste de souhaits technique de la communauté germanophone. Une description plus détaillée et plus d’informations sur son utilisation est disponible à Aide:Prévisualisation de référence .
Dépendances
Cette extension a une forte dépendance sur Extension:TextExtracts et Extension:PageImages . Il y a aussi des dépendances optionnelles sur Fonctionnalités bêta (si vous voulez activer les aperçus de référence en version bêta), et Extension:EventLogging et Extension:WikimediaEvents (pour l’instrumentation).
Installation
- Installez les dependencies.
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
Popups
dans votre dossierextensions/
. - Ajoutez le code suivant à la fin de votre fichier
LocalSettings.php
:wfLoadExtension( 'Popups' );
- Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
=Exemple de configuration de LocalSettings finale pour un site non expérimental (wiki régulier)
wfLoadExtensions( [
'TextExtracts',
'PageImages',
'Popups'
] );
$wgPopupsHideOptInOnPreferencesPage = true;
$wgPopupsReferencePreviewsBetaFeature = false;
Page previews API
Every project is different, and what displays in your previews is highly dependent on the content inside your wiki.
Popups extension has been optimized to work with Wikipedia-like content (e.g. wikitext).
If your wiki is using a different kind of content handler (for example as is the case for Wikibase ) it will need to provide its own API.
The API can be written in any language, but the response of the API must match the spec defined here:
Defining new APIs is out of scope for the Popups extension.
Once defined, you can configure page previews to point to your API using $wgPopupsRestGatewayEndpoint
configuration option.
Options de configuration
Option | Valeur par défaut | Documentation |
---|---|---|
$wgPopupsVirtualPageViews
|
false
|
Whether the extension should log virtual pageviews. |
$wgPopupsHideOptInOnPreferencesPage
|
false
|
Si l’option permettant d’activer/désactiver les aperçus de page doit être masquée sur la page Préférences. Faux par défaut. |
$wgPopupsOptInDefaultState
|
1
|
Page par défaut Prévisualisation de la visibilité pour les anciens comptes. Doit être une chaîne de caractères comme une compatibilité avec les paramètres de fonction bêta. Pour plus d'informations, voir tâche T191888. This value is internally converted to the Bool type. Therefore, a value greater than or equal to 2 has the same meaning as 1. |
$wgPopupsOptInStateForNewAccounts
|
1
|
Visibilité des aperçus de page par défaut pour les comptes nouvellement créés (à partir du deuxième trimestre de 2018). Pour plus d'informations, voir tâche T191888. |
$wgPopupsConflictingNavPopupsGadgetName
|
'Navigation_popups'
|
Le nom local Navigation popups gadget utilisé comme identifiant dans MediaWiki:Gadgets-definition . Ce gadget est incompatible avec les aperçus de page. L’extension se désactivera pour les utilisateurs avec le gadget activé. |
$wgPopupsConflictingRefTooltipsGadgetName
|
ReferenceTooltips
|
Le nom local Infobulles de références gadget utilisé comme son identifiant dans MediaWiki:Gadgets-definition . Ce gadget est incompatible avec les aperçus de référence. Les aperçus de référence se désactiveront pour les utilisateurs avec le gadget activé. |
$wgPopupsGateway
|
'mwApiPlain'
|
Quelle passerelle utiliser pour récupérer des données Popups. Options disponibles: mwApiPlain, restbasePlain, restbaseHTML. La liste complète et toujours à jour est disponible dans src/gateway/page.js .
|
$wgPopupsRestGatewayEndpoint
|
'/api/rest_v1/page/summary/'
|
Spécifiez un paramètre REST à partir duquel les résumés doivent être obtenus. Le paramètre doit respecter la spécification à Specs/Summary/1.2.0 . |
$wgPopupsReferencePreviews
|
true
|
Temporary feature flag to disable reference previews during development. |
$wgPopupsReferencePreviewsBetaFeature
|
true
|
Si les aperçus de référence doivent être disponibles en version bêta. Si faux, les aperçus de référence sont activés par défaut pour tous les utilisateurs. |
$wgPopupsEventLogging
|
false
|
Si on doit enregistrer les événements. Notez que si cette option est activée sans utiliser cette variable, les événements seront enregistrés pour tous les utilisateurs sans échantillonnage! Soyez prudent! |
$wgPopupsStatsvSamplingRate
|
0
|
Taux d’échantillonnage pour consigner les données sur le rendement à statsv. |
$wgPopupsPageDisabled
|
Several special pages. See extension.json for the full list. | Liste des pages qui ne doivent pas afficher de popups. Comprend les sous-pages. Ces pages sont soumises à la politique de cache HTML du wiki. Une purge sur ces pages peut être nécessaire pour voir l’effet de cette variable de configuration. Chaque page exclue doit être définie par un nom canonique, par exemple: Special:Userlogin .
|
Contenu des aperçus de page
Les popups de prévisualisation de la page affichent une image (si elle est disponible) et un petit extrait de texte.
Image
L’image provient du Extension:PageImages qui retourne la vignette la plus appropriée associée à un article. Il ignore les modèles de maintenance, les talons, les icônes de drapeau, etc.
Texte
Les aperçus de page peuvent être configurés avec n’importe quelle API compatible compatible avec Page content service summary endpoint en utilisant $wgPopupsRestGatewayEndpoint
. Pour les tiers, nous encourageons l’utilisation du Page Content Service pour profiter de l’utilisation de Popups avec votre wiki local.
Vous pouvez également utiliser l’extension Extension:TextExtracts . Cette extension a various caveats et nous ne supportons pas activement l’utilisation de cette API.
Contenu des aperçus de référence
Le contenu de la fenêtre de prévisualisation de référence est directement extrait de la section de référence de la page elle-même. Aucun service externe n’est impliqué ici. Si le contenu dépasse la taille du popup, les barres de défilement sont affichées pour que tout puisse être regardé.
Types de référence
Les types de référence affichés sont définis en utilisant des classes CSS spécifiques sur la balise <cite>
qui peuvent être utilisées pour encapsuler le contenu d’une référence par ex. <ref><cite class="journal">…</cite></ref>
.
Actuellement, les types suivants sont pris en charge : web
, journal
, book
, news
, note
.
En dehors de cela, il y a toujours un repli générique si ni la balise cite n’a été trouvée ni une classe appropriée n’a été utilisée.
Veuillez noter qu’il n’est pas recommandé d’utiliser les classes CSS directement dans wikitext, mais plutôt en créant templates.
Le moteur de rendu
Ces extensions n’ont actuellement qu’un seul moteur de rendu, c’est-à-dire pour les pages ordinaires.
De nouveaux rendus pour différents types de pages, ou des choses comme des références peuvent être facilement ajoutées.
Il faut créer un nouvel objet avec les méthodes suivantes:
init
createPopup
getOffset
getClasses
processPopup
Vous pouvez voir les détails de ces méthodes dans ext.popups.renderer.article.js ou dans ce patch [$url qui ajoute un moteur de recherche pour les références].
Problèmes connus
- Les utilisateurs de l’extension Translate devraient noter que Page Previews demande des prévisualisations dans la langue de contenu de la page. Si l’aperçu contient un bloc traduisible complet, il sera traduit. Si, cependant, l’aperçu contient un bloc traduisible incomplet – parce qu’une phrase est coupée, disons – alors il n’est pas traduit et sera affiché dans la langue de contenu de la page. Si vous observez ce comportement, vous devriez envisager de marquer des phrases individuelles dans votre section principale. T167852 est destiné à un public technique mais contient plus d’informations sur le problème sous-jacent.
- Découpage de formules mathématiques plus longues en aperçu - les formules mathématiques ou chimiques longues (formules plus larges que la largeur de l’aperçu) s’affichent tronquées dans les aperçus. Nous n’avons pas été en mesure d’ajouter un gradient pour indiquer que la formule se poursuit sur l’article lui-même.
- Small files may be in the "Рage information" (action=info), but not in the "Popups". Some requirements are set here - for a portrait image: exact (min) height 250 px & max width 203 px; for a landscape image: exact (min) width 320 px & max height 200 px[1]. To display, images must be able to become a thumbnail that is larger or equal to these "exact" sizes. (If you are cropping a large image to make a leading picture for an article, be sure that the picture you are creating is not smaller than the specified sizes.)
Extensibility
In MediaWiki 1.40, extensions and skins can extend the page previews functionality with their own custom preview types. It does this by registering a PluginModules attribute in its extension.json or skin.json file that points to a ResourceLoaderModule that can register a preview type.
{
"attributes": {
"Popups": {
"PluginModules": [
"skins.skinjson.popup"
]
}
}
}
The plugin module should export information about when the preview should be displayed (via selector), and how the preview data should be retrieved (via gateway library).
module.exports = {
// a unique ID representing your preview type.
type,
// CSS selector that matches your custom preview type
selector: '.mycustomselector',
// Gateway that
gateway: {
fetchPreviewForTitle: ( title, el ) => {
const deferred = $.Deferred();
deferred.resolve( {
title: 'Hello world',
extract: [
`Hi`
],
url: 'https://www.mediawiki.org/wiki/Extension:Popups',
type,
languageCode: 'en',
languageDirection: 'ltr',
thumbnail: undefined,
pageId: -1
} );
return deferred;
}
}
};
This feature is still in its infancy, has a few bugs (example) and feedback/bug reports via Phabricator are encouraged.
FAQ
= Pourquoi ne puis-je pas copier et coller du texte à partir d’un aperçu ?
Au moment de la rédaction, les inconvénients de le faire l’emportent sur les avantages. Essentiellement, il se résume à diminuer la zone de contact pour lire l’article au complet. Une fois que Page Previews est déployé sur Wikipedia anglais et allemand, n’hésitez pas à rouvrir cette tâche et relancer la discussion, mais pour l’instant nous n’avons pas de plans.
Comment puis-je modifier l’image que je vois sur l’aperçu ?
Comment puis-je supprimer le contenu d’un aperçu de page ?
Tout élément marqué avec la classe noexcerpt
sera retiré du résumé.
D’où proviennent les résumés?
These are provided by the summary REST API or the TextExtracts API in case your wiki is using the default mwApiPlain
gateway.
Pourquoi les parenthèses sont-elles enlevées ?
Il y a une bonne discussion en cours en T91344 dans Phabricator. Si vous avez des vues sur ceci ou voyez des problèmes relatifs à ceci, veuillez nous le faire savoir là.
Pourquoi je ne vois pas de popups en dehors des espaces de noms de contenu ?
Les popups apparaissent uniquement sur les liens vers les pages dans les espaces de noms de contenu. C’est une limitation de Popups; TextExtracts sont disponibles à partir d’autres espaces de noms. Vous pouvez contourner cela en ajoutant plus de namespaces dans $wgContentNamespaces .
Liens
- Aperçu de la page help page et central feedback page sur MediaWiki.org
- Aperçu des références help page et central feedback page sur MediaWiki.org
- Aperçu des références page du projet principal sur Meta
- Recherche connexe : Wikimedia Performance Team/Authoring Popups: Best Practices
Notes
Cette extension est utilisée par au moins un des projets Wikimédia. Cela signifie probablement que l’extension est assez stable et fonctionnelle pour être utilisée sur des sites à fort trafic. Recherchez le nom de cette extension dans le CommonSettings.php de Wikimédia et dans le fichier de configuration InitialiseSettings.php pour situer les endroits où elle est installée. Une liste complète des extensions installées sur un Wiki donné peut être visualisée sur la page Special:Version de ce wiki. |
Cette extension est incluse dans les paquets et / ou les fermes de wikis suivants : Cette liste ne fait pas autorité. Certaine fermes de wikis ou d'hébergeurs peuvent contenir ce extension même s'ils ne figurent pas ici. Vérifiez toujours cela dans votre environement avant de confirmer. |