DemoScripts, Fandom Developers Wiki sitesindeki betiklerin ve stil sayfalarının işlevselliğini göstermeye olanak tanır. Demolar, JavaScript sayfası veya JSON sayfası aracılığıyla yapılandırılabilir.
Configuration
Genel yapılandırma
Configuration objects in DemoScripts are regular JavaScript/JSON objects with the following properties:
page: İçeriğin yüklenmesi gereken sayfanın adı. Varsayılan olarak içerik, belirtilen sayfanın tüm alt sayfalarına da yüklenir.scripts: Demo için JavaScript içeriğinin yüklenmesi gereken sayfanın adı veya sayfa adları dizisi.styles: Demo için CSS içeriğinin yüklenmesi gereken sayfanın adı veya sayfa adları dizisi.selector: DemoScripts'in içeriği o sayfaya yüklemesini sağlayan sayfadaki CSS seçici.exec: İçeriği yükleme koşulları karşılandığında çalışması gereken bir işlev (sayfa adı eşleşiyor veya seçici var). Genellikle, içe aktarmadan önce demo için betiklerini yapılandırmak için kullanılır.subpages: İçeriğin belirtilen sayfanın alt sayfalarına yüklenmesini istemiyorsanızfalseolarak ayarlayın.
İlerleyen bölümlerde bu yapılandırma nesnelerinin nasıl kullanılabileceğini görebilirsiniz. Hem JavaScript hem de JSON yapılandırmasında, bunu engelleyen belirli kısıtlamalar olmadıkça (örneğin, CSS @import yalnızca ilk stil sayfasında çalışırken çalışır) demoların listesini alfabetik sırayla saklayın.
JSON üzerinden yapılandırma
Betiklerin gösterimleri oldukça sık eklendiğinden, her birinin inceleme sürecini geçmesi hem kullanıcılar hem de Fandom Ekibi için elverişsizdir. Bu nedenle, demonuzu ekleyebileceğiniz ve hemen göstermek istediğiniz sayfada görünmesini sağlayabileceğiniz bir JSON yapılandırma sayfası mevcuttur. Örneğin, aşağıdaki yapılandırma, MediaWiki:Script.js sayfasındaki betiğinin Script sayfasına ve alt sayfalarına yüklenmesini sağlar:
"Script": {
"page": "Script",
"scripts": "MediaWiki:Script.js"
},
Gösteri eklemenin tercih edilen yolu budur. Ancak, bu yaklaşımın belirli kısıtlamaları vardır. JSON sayfasında yapılan düzenlemeler yayımlanmadan önce gözden geçirilmediğinden aşağıdakilere izin verilmez:
- JSON bir programlama dili olmadığı ve bu nedenle işlevleri desteklemediği için
execözelliği desteklenmez. stylesözelliği yoksayılır çünkü CSS herhangi bir incelemeden geçmez.- Geçerli sayfa adı
Sayfaise, betikleriMediaWiki:Sayfa.jsveyaMediaWiki:Sayfa/alt-modül.jsveya herhangi bir "betik" biçiminde değilse betikler yüklenmeyecektir.|kullanarak birden çok betiği zincirleyerek bu kısıtlamayı aşmaya çalışırsa. Bu nedenle betikleri her sayfaya yüklenemez. Bu kısıtlama,pageveselectorkoşullarının yerine geçmez, bunlara ektir. - Öge aramasını ana makale içerik alanıyla sınırlamak için
#mw-content-textbaşa eklenir. Bir seçici listesinde yalnızca ilk giriş kullanılır.
JavaScript üzerinden yapılandırma
JSON yapılandırmasının ihtiyaçlarınızı karşılamaması durumunda, betiğin JavaScript sayfasında, JSON yapılandırmasına benzer şekilde bir demo yapılandırma nesnesi ekleyebileceğiniz (ve daha da önemlisi, o sayfada bulunanlara benzer şekilde) bir includes nesnesi bulabilirsiniz. Örneğin, içe aktarmadan önce kendini yapılandıran ve sözde özel bir sayfada çalışan bir betik için yapılandırma eklemek isterseniz, şöyle görünür:
Script: {
page: 'Special:Script',
scripts: 'MediaWiki:Script.js',
styles: 'MediaWiki:Script.css',
exec: function() {
window.Script = {/*... */};
}
},