Extension:Popups
Support level: Pending The support level for this extension is currently under review. The Reader Growth Team is the maintainer of last resort for the time being. |
Stav rozšíření: stabilní |
|
|---|---|
| Implementace | Vzhled |
| Popis | Zobrazuje vyskakovací okna, když uživatelé přejedou myší nad odkazy na články a značky poznámek pod čarou |
| Autoři |
|
| MediaWiki | 1.37+ |
| PHP | 5.6+ |
| Licence | GNU General Public License 2.0 nebo novější |
| Stáhnout | |
| Příklad | English Wikipedia |
|
|
| Přeložte rozšíření Popups, používá-li lokalizaci z translatewiki.net | |
| Problémy | Otevřené úkoly · Nahlásit chybu |
Rozšíření Popups (ve Special:Version známé jako Náhledy) zobrazuje náhledy stránek a reference při najetí myší na odkaz na článek, respektive na referenci. První z nich obsahuje shrnutí obsahu článku, druhé zobrazuje úplný obsah reference.
Toto rozšíření je iniciativou designového týmu, inspirovaného populárním gadgetem Navigační vyskakovací okna. V současné době je tato funkce ve výchozím nastavení dostupná na všech Wikipediích pro nepřihlášené uživatele. Popis fungování rozšíření a další informace o jeho použití v projektech Wikimedie jsou k dispozici na stránce Náhledy stránek.
Funkce Reference Previews byla přidána postupně a jejím cílem je splnit přání z technického seznamu přání německy mluvící komunity. Podrobnější popis a další informace o jejím použití jsou k dispozici na Náhledy referencí.
Závislosti
Toto rozšíření má při použití s výchozí bránou mwApiPlain pevnou závislost na převodnících Extension:TextExtracts a Extension:PageImages.
Existují také volitelné závislosti na Funkce Beta (pokud chcete povolit funkci Reference Previews jako beta verzi) a Rozšíření:EventLogging a Extension:WikimediaEvents (pro instrumentaci).
Instalace
- Nainstalujte závislosti.
- Stáhněte soubor/y a vložte je do adresáře pojmenovaného
Popupsve vaší složceextensions/.
Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups
- Na konec vašeho souboru LocalSettings.php přidejte následující kód:
wfLoadExtension( 'Popups' );
Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.
- Příklad finální konfigurace
wfLoadExtensions( [
'TextExtracts',
'PageImages',
'Popups'
] );
$wgPopupsHideOptInOnPreferencesPage = true;
$wgPopupsReferencePreviewsBetaFeature = false;
Nastavení
| Volba | Výchozí hodnota | Dokumentace |
|---|---|---|
$wgPopupsVirtualPageViews
|
false
|
Zda má rozšíření zaznamenávat virtuální zobrazení stránek. |
$wgPopupsHideOptInOnPreferencesPage
|
false
|
Zda má být možnost povolit/zakázat náhledy stránek skryta na stránce Předvolby. |
$wgPopupsOptInDefaultState
|
1
|
(odstraněno od 1.43) Viditelnost náhledů výchozí stránky pro staré účty. Musí se jednat o řetězec z důvodu kompatibility s nastavením beta funkcí. Pro více informací viz T191888. Tato hodnota je interně převedena na typ Bool. Hodnota větší nebo rovna 2 má tedy stejný význam jako 1. |
$wgPopupsOptInStateForNewAccounts
|
1
|
(odstraněno od 1.43) Výchozí náhled stránky zobrazuje viditelnost pro nově vytvořené účty (1.32–1.43). Více informací najdete na stránce T191888. |
$wgPopupsConflictingNavPopupsGadgetName
|
'Navigation_popups'
|
Lokální název gadgetu Vyskakovací navigační okna použitý jako jeho identifikátor v MediaWiki:Gadgets-definition. Tento gadget není kompatibilní s náhledy stránek. Rozšíření se samo zakáže uživatelům, kteří mají povolený gadget. |
$wgPopupsConflictingRefTooltipsGadgetName
|
ReferenceTooltips
|
Název lokálního gadgetu Reference Tooltips použitý jako jeho identifikátor v MediaWiki:Gadgets-definition. Tento gadget není kompatibilní s náhledy referencí. Náhledy referencí se pro uživatele s povoleným gadgetem samy vypnou. |
$wgPopupsGateway
|
'mwApiPlain'
|
Kterou bránu použít pro načítání dat vyskakovacích oken? Dostupné možnosti: mwApiPlain, restbasePlain, restbaseHTML. Úplný a vždy aktuální seznam je k dispozici v src/gateway/page.js.
|
$wgPopupsRestGatewayEndpoint
|
'/api/rest_v1/page/summary/'
|
Určete koncový bod REST, ze kterého mají být získávány souhrny. Koncový bod musí splňovat specifikaci na Specs/Summary/1.2.0. |
$wgPopupsReferencePreviews
|
true
|
Dočasný příznak funkce pro zakázání náhledů referencí během vývoje. |
$wgPopupsReferencePreviewsBetaFeature
|
true
|
Zda by měly být náhledy referencí dostupné jako beta funkce. Pokud je nastaveno na hodnotu false, náhledy referencí jsou ve výchozím nastavení povoleny pro všechny uživatele. |
$wgPopupsStatsvSamplingRate
|
0
|
Vzorkovací frekvence pro zaznamenávání dat o výkonu do statsv. |
$wgPopupsPageDisabled
|
Several special pages. See extension.json for the full list. | Seznam stránek, které by neměly zobrazovat vyskakovací okna. Zahrnuje podstránky. Tyto stránky podléhají zásadám wiki pro ukládání HTML do mezipaměti. Abyste viděli efekt této konfigurační proměnné, může být nutné tyto stránky vymazat. Každá vyloučená stránka by měla být definována kanonickým názvem, např.: Special:Userlogin.
|
Náhledy obsahu stránky
Vyskakovací okna s náhledem stránky zobrazují obrázek (pokud je k dispozici) a krátký textový úryvek.
Obrázek
Obrázek pochází z metody Extension:PageImages, která vrací nejvhodnější náhledový obrázek přidružený k článku. Ignoruje šablony údržby, stuby, ikony vlajek atd.
Text
Náhledy stránek lze konfigurovat pomocí libovolného kompatibilního API, které je kompatibilní s Souhrnný koncový bod služby obsahu stránek pomocí $wgPopupsRestGatewayEndpoint. Třetím stranám doporučujeme používat Službu obsahu stránek, aby si mohly s lokální wiki užívat vyskakovací okna.
Můžete také použít rozšíření Extension:TextExtracts. Toto rozšíření má různá omezení a aktivně nepodporujeme používání tohoto API.
Renderery
Toto rozšíření má v současné době pouze jeden renderer, a to pro běžné stránky.
Lze snadno přidat nové renderery pro různé typy stránek nebo věci jako reference.
Je třeba vytvořit nový objekt pomocí následujících metod:
initcreatePopupgetOffsetgetClassesprocessPopup
Podrobnosti o těchto metodách si můžete prohlédnout v ext.popups.renderer.article.js nebo v tomto patchu, který přidává renderer pro reference.
API pro náhledy stránek
Každý projekt je jiný a to, co se zobrazuje v náhledech, do značné míry závisí na obsahu vaší wiki.
Rozšíření Popups bylo optimalizováno pro práci s obsahem podobným Wikipedii (např. wikitext).
Pokud vaše wiki používá jiný druh obslužného programu obsahu (například jako v případě Wikibase), bude muset poskytnout vlastní API.
API lze napsat v libovolném jazyce, ale odpověď API musí odpovídat specifikaci definované v Specs/Summary/1.2.0.
Definování nových API je mimo rozsah rozšíření Popups.
Jakmile je definováno, můžete nakonfigurovat náhledy stránek tak, aby odkazovaly na vaše API, pomocí konfigurační volby $wgPopupsRestGatewayEndpoint.
Známé problémy
- Uživatelé rozšíření Translate by si měli všimnout, že náhledy stránek požadují náhledy v jazyce obsahu stránky. Pokud náhled obsahuje kompletní přeložitelný blok, bude přeložen. Pokud však náhled obsahuje neúplný přeložitelný blok – například proto, že je věta oříznuta – pak se nepřeloží a zobrazí se v jazyce obsahu stránky. Pokud toto chování pozorujete, měli byste zvážit označení jednotlivých vět v úvodní části. Úkol T167852 je určen pro technické publikum, ale obsahuje více informací o základním problému.
- Delší matematické vzorce se v náhledu ořezávají - dlouhé matematické nebo chemické vzorce (vzorce širší než šířka náhledu) se v náhledech zobrazují jako oříznuté. Nepodařilo se nám přidat přechod, který by indikoval, že vzorec pokračuje i v samotném článku.
- Malé soubory mohou být v složce "Informace o stránce" (action=info), ale ne ve složce "Popups" (vyskakovací okna). Zde jsou stanoveny některé požadavky - pro obrázek na výšku: přesná (min) výška 1 px a maximální šířka 2 px; pro obrázek na šířku: přesná (min) šířka 3 px a maximální výška 4 px[1]. Aby se obrázky mohly zobrazit, musí být možné je převést na miniaturu větší nebo rovnou těmto "přesným" velikostem. (Pokud ořezáváte velký obrázek, abyste z něj vytvořili úvodní obrázek článku, ujistěte se, že vytvářený obrázek není menší než zadané velikosti.)
- The preview popup for some pages may contain only the text:
There was an issue displaying this preview. Jedním z důvodů je, že rozšíření TextExtracts nedokáže najít žádný "úvodní" text pro stránku, což se může stát, pokud článek začíná určitými entitami, například infoboxem vytvořeným pomocí rozšíření PortableInfobox. Řešením je nastavit hodnotu$wgPopupsTextExtractsIntroOnly = false;, i když to může způsobit, že náhled bude obsahovat nežádoucí entity, jako například názvy neúvodních sekcí. Konfigurační proměnná TextExtracts$wgExtractsRemoveClassespak může být použita k vyčištění těchto nežádoucích entit z náhledu, i když je tím zároveň skryjete před všemi ostatními uživateli rozhraní TextExtracts API.
Rozšiřitelnost
V MediaWiki 1.40 mohou rozšíření a vzhledy rozšířit funkcionalitu náhledů stránek o vlastní typy náhledů. Toho se dosáhne registrací atributu PluginModules v souboru extension.json nebo skin.json, který odkazuje na ResourceLoaderModule, jenž může registrovat typ náhledu.
{
"attributes": {
"Popups": {
"PluginModules": [
"skins.skinjson.popup"
]
}
}
}
Pluginový modul by měl exportovat informace o tom, kdy se má náhled zobrazit (prostřednictvím selektoru) a jak se mají data náhledu načítat (prostřednictvím knihovny gateway).
Selektor by měl odpovídat elementu, který má atribut data-title.
Atribut data-title bude předán funkci fetchPreviewForTitle.
module.exports = {
// jedinečné ID představující typ náhledu.
type,
// Selektor CSS, který odpovídá vašemu vlastnímu typu náhledu
selector: '.mycustomselector',
// Brána
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;
}
}
};
Pro příklady z reálného světa poskytuje Extension:Math popisky nástrojů Smath a Extension:Cite náhledy referencí.
Časté dotazy
Proč nemohu kopírovat a vkládat text z náhledu?
V době psaní tohoto článku nevýhody takového postupu převažují nad výhodami. V podstatě se jedná o zmenšení dotykové plochy pro přečtení celého článku. Jakmile bude Náhled stránek nasazen na anglické a německé Wikipedii, můžete tento úkol znovu otevřít a znovu zahájit diskusi, ale momentálně s tím nemáme žádné plány.
Jak mohu změnit obrázek, který vidím v náhledu?
Viz Extension:PageImages#Výběr obrázku.
Jak mohu odstranit obsah z náhledu stránky?
Jakýkoli prvek označený třídou noexcerpt bude ze souhrnu odstraněn.
Proč je obsah ze shrnutí odstraněn?
Jakýkoli HTML prvek označený třídou noexcerpt, mw-ref, reference, noprint, nomobile nebo sortkey bude ze souhrnu odstraněn.
Pokud má být text zobrazen v souhrnu, neměli byste za žádných okolností používat tyto třídy v šablonách, které se používají v úvodní části článku.
Odkud pocházejí souhrny?
Tyto funkce poskytuje souhrn REST API (produkční wikin Wikimedie) nebo TextExtracts API v případě, že vaše wiki používá výchozí bránu mwApiPlain.
Proč jsou fráze v závorkách odebrány?
V T91344 ve Phabricatoru probíhá dobrá diskuse. Pokud k tomu máte nějaké názory nebo s tím souvisí nějaké problémy, dejte nám prosím vědět.
Proč se mi nezobrazují vyskakovací okna mimo jmenné prostory obsahu?
Vyskakovací okna se zobrazují pouze u odkazů na stránky v jmenných prostorech obsahu. Toto je omezení vyskakovacích oken. Textové výňatky jsou k dispozici z jiných jmenných prostorů. Tomuto problému se můžete vyhnout přidáním dalších jmenných prostorů do $wgContentNamespaces.
Odkazy
- Náhledy stránek stránka nápovědy a centrální stránka zpětné vazby na MediaWiki.org
- Náhledy referencí stránka nápovědy a centrální stránka zpětné vazby na MediaWiki.org
- Náhledy referencí hlavní stránka projektu na Meta
- Související výzkum: Tým pro výkon Wikimedie/Tvorba vyskakovacích oken: Nejlepší postupy
Poznámky pod čarou
| Toto rozšíření se používá na jednom nebo více projektech Wikimedia. Pravděpodobně to znamená, že rozšíření je stabilní a funguje dostatečně dobře, aby jej mohly používat weby s tak vysokou návštěvností. Vyhledejte tento název rozšíření v konfiguračních souborech CommonSettings.php a InitialiseSettings.php Wikimedie, abyste viděli, kde je nainstalováno. Úplný seznam rozšíření nainstalovaných na konkrétní wiki lze vidět na stránce wiki Special:Version. |
| Toto rozšíření je zahrnuto v následujících wiki farmách/hostitelích a/nebo balíčcích: |
- Extensions maintained by Reader Teams/cs
- Extensions maintained by Reader Growth/cs
- Extensions maintained by Reader Teams - Level Pending/cs
- Stable extensions/cs
- Skin extensions/cs
- GPL licensed extensions/cs
- Extensions in Wikimedia version control/cs
- BeforePageDisplay extensions/cs
- GetPreferences extensions/cs
- MakeGlobalVariablesScript extensions/cs
- ResourceLoaderGetConfigVars extensions/cs
- All extensions/cs
- Extensions used on Wikimedia/cs
- Extensions included in BlueSpice/cs
- Extensions included in Canasta/cs
- Extensions included in Fandom/cs
- Extensions included in Miraheze/cs
- Extensions included in MyWikis/cs
- Extensions included in ProWiki/cs
- Extensions included in wiki.gg/cs
- Popup extensions/cs
