Jump to content

Extension:Popups

From mediawiki.org
This page is a translated version of the page Extension:Popups and the translation is 77% complete.
Outdated translations are marked like this.
the feature that is powered by this extension, Page Previews sayfasına bakın.
MediaWiki manüel uzantıları
Popups
Sürüm durumu: kararlı
Uygulama Görünüm
Açıklama Kullanıcılar madde bağlantılarının ve dipnot işaretlerinin üzerine geldiğinde açılır pencerelere görüntüler
Yazar(lar)
  • Prateek Saxena (user:Prtksxna),
  • Yair Rand,
  • Sam Smith,
  • Joaquín Oltra Hernández,
  • Bahodir Mansurov,
  • Jon Robson,
  • Piotr Miazga,
  • Jeff Hobson
  • WMDE Engineering
MediaWiki 1.37+
PHP 5.6+
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir
Örnek English Wikipedia
  • $wgPopupsVirtualPageViews
  • $wgPopupsOptInDefaultState
  • $wgPopupsRestGatewayEndpoint
  • $wgPopupsHideOptInOnPreferencesPage
  • $wgPopupsConflictingRefTooltipsGadgetName
  • $wgPopupsStatsvSamplingRate
  • $wgPopupsConflictingNavPopupsGadgetName
  • $wgPopupsTextExtractsIntroOnly
  • $wgPopupsPageDisabled
  • $wgPopupsGateway
Quarterly downloads 298 (Ranked 12th)
Public wikis using 947 (Ranked 282nd)
Translatewiki.net adresinde mevcutsa, Popups uzantısını çevirin
Sorunlar Açık görevler · Hata bildir

Popups uzantısı, bir maddeye veya sırasıyla bir kaynağa bağlantı üzerinden geldiğinde sayfa ve kaynak önizlemelerini görüntüler. Birincisi bir maddenin içeriğinin özetlerinden oluşur, ikincisi kaynağın tam içeriğini gösterir.

Uzantı, popüler Gezinti pencereleri küçük araçtan esinlenerek Tasarım ekibinin bir girişimidir. Şu anda bu özellik, oturumu kapatılan kullanıcılar için varsayılan olarak tüm Vikipedi'lerde kullanılabilir. Uzantının nasıl çalıştığına ve Wikimedia projelerinde kullanımına ilişkin daha fazla bilgiye Sayfa Önizlemeleri sayfasından ulaşılabilir.

Kaynak Önizleme özelliği sonunda eklendi ve Almanca konuşan topluluğun Teknik İstek Listesinden bir istek yerine getirmeyi amaçlıyor. Daha ayrıntılı bir açıklama ve kullanımı hakkında daha fazla bilgi Referans Önizlemeleri altında edinilebilir.

Bağımlılıklar

Bu uzantı, varsayılan mwApiPlain ağ geçidiyle kullanıldığında Extension:TextExtracts ve Extension:PageImages ile sıkı bir bağımlılığa sahiptir. Ayrıca Beta Özellikleri (Kaynak Önizlemelerini beta özelliği olarak etkinleştirmek istiyorsanız) ve Extension:EventLogging ve Extension:WikimediaEvents (enstrümantasyon için) için isteğe bağlı bağımlılıklar vardır.

Kurulum

  • Dosyaları indirin ve extensions/ klasörünüzdeki Popups adlı dizine yerleştirin.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups
  • LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
    wfLoadExtension( 'Popups' );
    
  • Yes Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
=== Test dışı bir site için son LocalSettings yapılandırması örneği (normal viki) ===
wfLoadExtensions( [
    'TextExtracts',
    'PageImages',
    'Popups'
] );
$wgPopupsHideOptInOnPreferencesPage = true;
$wgPopupsReferencePreviewsBetaFeature = false;

Yapılandırma seçenekleri

Seçenek Varsayılan değer Belgeleme
$wgPopupsVirtualPageViews false Uzantının sanal sayfa görüntülemelerini günlüğe kaydetmesi gerekip gerekmediği.
$wgPopupsHideOptInOnPreferencesPage false Sayfa Önizlemelerini etkinleştirme/devre dışı bırakma seçeneğinin Tercihler sayfasında gizlenip gizlenmeyeceği.
$wgPopupsOptInDefaultState 1 Eski hesaplar için varsayılan Sayfa Önizlemeleri görünürlüğü. Beta özellik ayarlarıyla uyumluluk olarak bir dize olmalıdır. Daha fazla bilgi için görev T191888 sayfasına bakın Bu değer dahili olarak Bool türüne dönüştürülür. Bu nedenle, 2'ye eşit veya daha büyük bir değer, 1 ile aynı anlama gelir.
$wgPopupsOptInStateForNewAccounts 1 Yeni oluşturulan hesaplar için varsayılan Sayfa Önizleme görünürlüğü (2Ç 2018'den itibaren). Daha fazla bilgi için görev T191888 sayfasına bakın
$wgPopupsConflictingNavPopupsGadgetName 'Navigation_popups' Tanımlayıcı olarak MediaWiki:Gadgets-definition olarak kullanılan yerel Gezinti açılır pencere aracı adı. Bu küçük araç, sayfa önizlemeleriyle uyumlu değil. Uzantı, küçük aracın etkin olduğu kullanıcılar için kendisini devre dışı bırakır.
$wgPopupsConflictingRefTooltipsGadgetName ReferenceTooltips MediaWiki:Gadgets-definition tanımlayıcısı olarak kullanılan yerel Reference Tooltips küçük aracı adı. Bu küçük araç, kaynakça önizlemeleriyle uyumlu değil. Kaynakça önizlemeleri, küçük aracın etkin olduğu kullanıcılar için kendisini devre dışı bırakır.
$wgPopupsGateway 'mwApiPlain' Popups verilerini almak için hangi ağ geçidinin kullanılacağı. Kullanılabilir seçenekler: mwApiPlain, restbasePlain, restbaseHTML. src/gateway/page.js içinde tam ve her zaman güncel liste mevcuttur
$wgPopupsRestGatewayEndpoint '/api/rest_v1/page/summary/' Özetlerin kaynaklanması gereken bir REST bitiş noktası belirtin. Bitiş noktası Specs/Summary/1.2.0 altındaki spesifikasyonu karşılamalıdır
$wgPopupsReferencePreviews true Geliştirme sırasında kaynak önizlemelerini devre dışı bırakmak için geçici özellik işareti.
$wgPopupsReferencePreviewsBetaFeature true Kaynak Önizlemelerin bir Beta özelliği olarak mevcut olup olmayacağı. false ise, Kaynak Önizlemeleri varsayılan olarak tüm kullanıcılar için etkinleştirilir.
$wgPopupsStatsvSamplingRate 0 Performans verilerinin istatistiklere kaydedilmesi için örnekleme oranı
$wgPopupsPageDisabled Several special pages. See extension.json for the full list. Açılır penceleri göstermemesi gereken sayfaların listesi. Alt sayfaları içerir. Bu sayfalar, vikinin HTML önbellek politikasına tabidir. Bu yapılandırma değişkeninin etkisini görmek için bu sayfalarda bir temizlik gerekebilir. Dışarıda bırakılan her sayfa bir kurallı adla tanımlanmalıdır, örneğin: Special:Userlogin.

Sayfa önizleme içeriği

Sayfa önizleme açılır pencereleri bir resim (varsa) ve küçük bir metin alıntısı gösterir.

Resim

Resim, bir maddeye ilişkili en uygun küçük resmi döndüren Extension:PageImages üzerinden gelir. Bakım şablonlarını, taslakları, işaret simgelerini vb. yok sayar.

Metin

Sayfa önizlemeleri, $wgPopupsRestGatewayEndpoint kullanılarak Sayfa içerik hizmeti özeti bitiş noktası ile uyumlu herhangi bir uyumlu API ile yapılandırılabilir. Üçüncü taraflar için, açılır pancereler yerel vikinizle kullanmanın keyfini çıkarmak için Sayfa İçerik Hizmeti'ni kullanmanızı öneririz.

Extension:TextExtracts uzantısını da kullanabilirsiniz. Bu uzantı çeşitli uyarılar içeriyor ve bu API'nin kullanımını aktif olarak desteklemiyoruz.

İşleyenler

Bu uzantıların şu anda yalnızca bir oluşturucusu var, yani normal sayfalar için.

Farklı türdeki sayfalar veya kaynakça gibi şeyler için yeni oluşturucular kolayca eklenebilir.

Aşağıdaki yöntemlerle yeni bir nesne oluşturulması gerekir:

  • init
  • createPopup
  • getOffset
  • getClasses
  • processPopup

Bu yöntemlerin ayrıntılarını ext.popups.renderer.article.js içinde veya bu kaynakça için bir oluşturucu ekleyen yamada görebilirsiniz.

Sayfa önizlemeleri API'si

Her proje farklıdır ve önizlemelerinizde görüntülenenler büyük ölçüde vikinizin içindeki içeriğe bağlıdır.

Popups uzantısı, Vikipedi benzeri içerikle (ör. vikimetin) çalışacak şekilde optimize edilmiştir.

Vikiniz farklı türde bir içerik işleyici kullanıyorsa (örneğin, Wikibase için olduğu gibi) kendi API'sini sağlaması gerekir.

API herhangi bir dilde yazılabilir, ancak API'nin yanıtı burada tanımlanan spesifikasyonla eşleşmelidir:

Yeni API'ler tanımlamak, Popups uzantısının kapsamı dışındadır.

Tanımlandıktan sonra, $wgPopupsRestGatewayEndpoint yapılandırma seçeneğini kullanarak sayfa önizlemelerini API'nizi gösterecek şekilde yapılandırabilirsiniz.

Bilinen sorunlar

  • Translate uzantısı kullanıcıları, Sayfa Önizlemeleri'nin sayfanın içerik dilinde önizleme istediğini belirtmelidir. Önizleme tam bir çevrilebilir blok içeriyorsa, çevrilecektir. Bununla birlikte, önizleme tamamlanmamış tercüme edilemeyen bir blok içeriyorsa, bir cümle kesildiğinden, diyelim ki, çevrilmez ve sayfanın içerik dilinde görüntülenir. Bu davranışı gözlemliyorsanız, müşteri adayı bölümünüzdeki tek tek cümleleri işaretlemeyi düşünmelisiniz. T167852 teknik bir kitle içindir, ancak altta yatan sorun hakkında daha fazla bilgiye sahiptir.
  • Önizlemede kesilen daha uzun matematik formülleri - uzun matematik veya kimyasal formüller (önizleme genişliğinden daha geniş formüller) önizlemelerde kesilmiş olarak görüntülenir. Formülün makalenin kendisinde devam ettiğini göstermek için bir gradyan ekleyemedik.
  • 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
        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;
                }
        }
};

For real world examples, Extension:Math provide smath tooltips and Extension:Cite provides reference previews.

SSS

Neden bir önizlemeden metin kopyalayıp yapıştıramıyorum?

Yazma sırasında bunu yapmanın eksileri artılarını aşmaktadır. Esasen maddeyi tam olarak okumak için dokunma alanını azaltmaya kaynar. Sayfa Önizlemeleri İngilizce ve Almanca Vikipedi'ye dağıtıldıktan sonra, bu görevi yeniden açmaktan ve tartışmayı yeniden ele almaktan çekinmeyin, ancak şu anda planımız yok.

Önizlemede gördüğüm resmini nasıl değiştirebilirim?

Extension:PageImages#Resim seçimi sayfasına bakın.

Bir sayfa önizlemesinden içeriği nasıl kaldırabilirim?

noexcerpt sınıfıyla işaretlenmiş tüm öğeler özetten çıkarılır.

Why is content removed from the summary?

Any HTML element marked with the class noexcerpt, mw-ref, reference, noprint, nomobile or sortkey will be removed from the summary. If the text should be displayed in the summary, you should under no circumstances use these classes in any templates that are used within the beginning section of an article.

Özetler nereden geliyor?

Bunlar, vikinizin varsayılan mwApiPlain ağ geçidini kullanması durumunda özet REST API veya TextExtracts API tarafından sağlanır.

Parantez neden soyulur?

T91344 Phabricator'da iyi bir tartışma var. Bununla ilgili herhangi bir görüşünüz varsa veya bununla ilgili herhangi bir sorun görürseniz, lütfen bize bildirin.

Neden içerik ad alanlarının dışında açılır pencereler görmüyorum?

Açılır pencereler yalnızca içerik ad alanlarındaki sayfaların bağlantılarında görünür. Bu açılır pencerelerin bir sınırlamasıdır; TextExtracts diğer ad alanlarından edinilebilir. $wgContentNamespaces daha fazla ad alanı ekleyerek bu sorunu çözebilirsiniz.

Bağlantılar

Notes