CINXE.COM

Extension:WikiLove - MediaWiki

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Extension:WikiLove - MediaWiki</title> <script>(function(){var className="client-js vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )mediawikiwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"aee8b447-990c-44fb-bbfe-b7cb4388551a","wgCanonicalNamespace":"Extension","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":102,"wgPageName":"Extension:WikiLove","wgTitle":"WikiLove","wgCurRevisionId":6727460,"wgRevisionId":6727460,"wgArticleId":59868,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Extensions with release branches compatibility policy","Extensions with manual MediaWiki version","Stable extensions","User interface extensions","MIT licensed extensions","Extensions in Wikimedia version control","BeforePageDisplay extensions","ChangeTagsListActive extensions","GetPreferences extensions","ListDefinedTags extensions","LoadExtensionSchemaUpdates extensions","SkinTemplateNavigation::Universal extensions", "UserMergeAccountFields extensions","All extensions","Extensions used on Wikimedia","Extensions included in Miraheze","Extensions included in WikiForge","API extensions"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Extension:WikiLove","wgRelevantArticleId":59868,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"mediawiki","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgTranslatePageTranslation":"source","wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"personal","wgULSisCompactLinksEnabled" :true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q21679244","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.translate.tag.languages":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.translate.edit.documentation.styles":"ready","ext.translate":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","mediawiki.page.media","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc", "skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.translate.pagetranslation.uls","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","wikibase.client.vector-2022","ext.checkUser.clientHints","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.pygments%2Ctranslate%2CwikimediaBadges%7Cext.translate.edit.documentation.styles%7Cext.translate.tag.languages%7Cext.uls.pt%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/4/4d/WikiLove-screenshot-2014.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="587"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/WikiLove-screenshot-2014.png/800px-WikiLove-screenshot-2014.png"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="391"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/WikiLove-screenshot-2014.png/640px-WikiLove-screenshot-2014.png"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="313"> <meta name="viewport" content="width=1120"> <meta property="og:site_name" content="MediaWiki"> <meta property="og:title" content="Extension:WikiLove - MediaWiki"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//m.mediawiki.org/wiki/Extension:WikiLove"> <link rel="alternate" type="application/x-wiki" title="Edit" href="/w/index.php?title=Extension:WikiLove&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/mediawiki.png"> <link rel="icon" href="/static/favicon/mediawiki.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="MediaWiki (en)"> <link rel="EditURI" type="application/rsd+xml" href="//www.mediawiki.org/w/api.php?action=rsd"> <link rel="canonical" href="https://www.mediawiki.org/wiki/Extension:WikiLove"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> <link rel="alternate" type="application/atom+xml" title="MediaWiki Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-102 ns-subject mw-editable page-Extension_WikiLove rootpage-Extension_WikiLove skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/MediaWiki" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-mw-download" class="mw-list-item"><a href="/wiki/Download"><span>Get MediaWiki</span></a></li><li id="n-mw-extensions" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Category:Extensions"><span>Get extensions</span></a></li><li id="n-blog-text" class="mw-list-item"><a href="https://techblog.wikimedia.org/"><span>Tech blog</span></a></li><li id="n-mw-contribute" class="mw-list-item"><a href="/wiki/Special:MyLanguage/How_to_contribute"><span>Contribute</span></a></li> </ul> </div> </div> <div id="p-support" class="vector-menu mw-portlet mw-portlet-support" > <div class="vector-menu-heading"> Support </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Help:Contents" title="The place to find out"><span>User help</span></a></li><li id="n-mw-faq" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:FAQ"><span>FAQ</span></a></li><li id="n-mw-manual" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:Contents"><span>Technical manual</span></a></li><li id="n-mw-supportdesk" class="mw-list-item"><a href="/wiki/Project:Support_desk"><span>Support desk</span></a></li><li id="n-mw-communication" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Communication"><span>Communication</span></a></li> </ul> </div> </div> <div id="p-development" class="vector-menu mw-portlet mw-portlet-development" > <div class="vector-menu-heading"> Development </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mw-developerportal" class="mw-list-item"><a href="https://developer.wikimedia.org/"><span>Developer portal</span></a></li><li id="n-svn-statistics" class="mw-list-item"><a href="/wiki/Development_statistics"><span>Code statistics</span></a></li> </ul> </div> </div> <div id="p-mediawiki.org" class="vector-menu mw-portlet mw-portlet-mediawiki_org" > <div class="vector-menu-heading"> mediawiki.org </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-portal" class="mw-list-item"><a href="/wiki/Project:Help" title="About the project, what you can do, where to find things"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-mw-translate" class="mw-list-item"><a href="/wiki/Special:LanguageStats"><span>Translate content</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Load a random page [x]" accesskey="x"><span>Random page</span></a></li><li id="n-mw-discussion" class="mw-list-item"><a href="/wiki/Project:Village_Pump"><span>Village pump</span></a></li><li id="n-Sandboxlink-portlet-label" class="mw-list-item"><a href="/wiki/Project:Sandbox"><span>Sandbox</span></a></li> </ul> </div> </div> <div id="p-lang" class="vector-menu mw-portlet mw-portlet-lang" > <div class="vector-menu-heading"> In other languages </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Wikipedia:%E3%82%A6%E3%82%A3%E3%82%AD%E3%83%A9%E3%83%96" title="Wikipedia:ウィキラブ – Japanese" lang="ja" hreflang="ja" data-title="Wikipedia:ウィキラブ" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q21679244#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/MediaWiki" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/mediawikiwiki.svg" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="MediaWiki" src="/static/images/mobile/copyright/mediawikiwiki-wordmark.svg" style="width: 7.5em; height: 1.125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search MediaWiki [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search MediaWiki" aria-label="Search MediaWiki" autocapitalize="sentences" title="Search MediaWiki [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-uls" class="mw-list-item active user-links-collapsible-item"><a data-mw="interface" href="#" class="uls-trigger cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>English</span></a> </li> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=www.mediawiki.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Extension%3AWikiLove" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Extension%3AWikiLove" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="More options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=www.mediawiki.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Extension%3AWikiLove" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Extension%3AWikiLove" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Beginning</div> </a> </li> <li id="toc-Installation" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Installation"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Installation</span> </div> </a> <ul id="toc-Installation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Usage" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Usage"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Usage</span> </div> </a> <ul id="toc-Usage-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Custom_configuration" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Custom_configuration"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Custom configuration</span> </div> </a> <button aria-controls="toc-Custom_configuration-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Custom configuration subsection</span> </button> <ul id="toc-Custom_configuration-sublist" class="vector-toc-list"> <li id="toc-Removing_WikiLove_types" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Removing_WikiLove_types"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Removing WikiLove types</span> </div> </a> <ul id="toc-Removing_WikiLove_types-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Adding_new_WikiLove_types" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Adding_new_WikiLove_types"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Adding new WikiLove types</span> </div> </a> <ul id="toc-Adding_new_WikiLove_types-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Glitches_and_problems" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Glitches_and_problems"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Glitches and problems</span> </div> </a> <ul id="toc-Glitches_and_problems-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-API_documentation" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#API_documentation"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>API documentation</span> </div> </a> <ul id="toc-API_documentation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Design_for_version_1.0" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Design_for_version_1.0"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Design for version 1.0</span> </div> </a> <button aria-controls="toc-Design_for_version_1.0-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Design for version 1.0 subsection</span> </button> <ul id="toc-Design_for_version_1.0-sublist" class="vector-toc-list"> <li id="toc-Rationale" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Rationale"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.1</span> <span>Rationale</span> </div> </a> <ul id="toc-Rationale-sublist" class="vector-toc-list"> <li id="toc-Use_of_whimsical_style" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Use_of_whimsical_style"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.1.1</span> <span>Use of whimsical style</span> </div> </a> <ul id="toc-Use_of_whimsical_style-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Note_on_nomenclature" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Note_on_nomenclature"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.2</span> <span>Note on nomenclature</span> </div> </a> <ul id="toc-Note_on_nomenclature-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Process" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Process"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.3</span> <span>Process</span> </div> </a> <ul id="toc-Process-sublist" class="vector-toc-list"> <li id="toc-Dialog_behavior" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Dialog_behavior"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.3.1</span> <span>Dialog behavior</span> </div> </a> <ul id="toc-Dialog_behavior-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Email_notification" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Email_notification"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.3.2</span> <span>Email notification</span> </div> </a> <ul id="toc-Email_notification-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Site_configuration" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Site_configuration"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.3.3</span> <span>Site configuration</span> </div> </a> <ul id="toc-Site_configuration-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Data_storage" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Data_storage"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.3.4</span> <span>Data storage</span> </div> </a> <ul id="toc-Data_storage-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Special:WikiLoveStatistics" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Special:WikiLoveStatistics"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.3.5</span> <span>Special:WikiLoveStatistics</span> </div> </a> <ul id="toc-Special:WikiLoveStatistics-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Future_thinking" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Future_thinking"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.4</span> <span>Future thinking</span> </div> </a> <ul id="toc-Future_thinking-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">Extension</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">WikiLove</span></h1> <div class="mw-indicators"> <div id="mw-indicator-phabricator-project" class="mw-indicator"><div class="mw-parser-output"><div class="mw-parser-output"><style data-mw-deduplicate="TemplateStyles:r6605561">.mw-parser-output .tpl-badge{background-color:var(--background-color-progressive-subtle,#eaf3ff);color:var(--color-base,#202122);border-radius:10px;display:inline-block;font-size:90%;padding:5px 8px}</style><div class="tpl-badge"><a href="/wiki/Special:MyLanguage/Phabricator" title="Special:MyLanguage/Phabricator">Issue tracker</a>: <a href="https://phabricator.wikimedia.org/tag/wikilove/" class="extiw" title="phab:tag/wikilove/"><b>#WikiLove</b></a></div></div></div></div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-extension" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Extension:WikiLove" title="View the subject page [c]" accesskey="c"><span>Extension</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Extension_talk:WikiLove" rel="discussion" title="Discussion about the content page [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Extension:WikiLove"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Extension:WikiLove&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Extension:WikiLove"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Extension:WikiLove&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Extension:WikiLove" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Extension:WikiLove" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Extension:WikiLove&amp;oldid=6727460" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Extension:WikiLove&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Extension%3AWikiLove&amp;id=6727460&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FExtension%3AWikiLove"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FExtension%3AWikiLove"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="/w/index.php?title=Special:Book&amp;bookcmd=book_creator&amp;referer=Extension%3AWikiLove"><span>Create a book</span></a></li><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Extension%3AWikiLove&amp;action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Extension:WikiLove&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q21679244" title="Link to connected data repository item [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div id="siteSub" class="noprint">From mediawiki.org</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-pt-translate-header noprint nomobile" dir="ltr" lang="en"><a href="/w/index.php?title=Special:Translate&amp;group=page-Extension%3AWikiLove&amp;action=page&amp;filter=&amp;action_source=translate_page" title="Special:Translate">Translate this page</a></div><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="mw-pt-languages noprint navigation-not-searchable" lang="en" dir="ltr"><div class="mw-pt-languages-label">Languages:</div><ul class="mw-pt-languages-list"><li><a href="/wiki/Extension:WikiLove/af" class="mw-pt-progress mw-pt-progress--low" title="Uitbreiding: Wikiliefde (7% translated)" lang="af" dir="ltr">Afrikaans</a></li> <li><a href="/wiki/Extension:WikiLove/id" class="mw-pt-progress mw-pt-progress--low" title="Ekstensi:WikiCinta (3% translated)" lang="id" dir="ltr">Bahasa Indonesia</a></li> <li><a href="/wiki/Extension:WikiLove/de" class="mw-pt-progress mw-pt-progress--low" title="Erweiterung:WikiLove (12% translated)" lang="de" dir="ltr">Deutsch</a></li> <li><span class="mw-pt-languages-ui mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete" lang="en" dir="ltr">English</span></li> <li><a href="/wiki/Extension:WikiLove/nl" class="mw-pt-progress mw-pt-progress--complete" title="Extension:WikiLove/nl (100% translated)" lang="nl" dir="ltr">Nederlands</a></li> <li><a href="/wiki/Extension:WikiLove/tr" class="mw-pt-progress mw-pt-progress--high" title="Extension:WikiLove (99% translated)" lang="tr" dir="ltr">Türkçe</a></li> <li><a href="/wiki/Extension:WikiLove/da" class="mw-pt-progress mw-pt-progress--low" title="Extension:WikiLove/da (4% translated)" lang="da" dir="ltr">dansk</a></li> <li><a href="/wiki/Extension:WikiLove/es" class="mw-pt-progress mw-pt-progress--high" title="Extensión:WikiLove (78% translated)" lang="es" dir="ltr">español</a></li> <li><a href="/wiki/Extension:WikiLove/fr" class="mw-pt-progress mw-pt-progress--complete" title="Extension:WikiLove (100% translated)" lang="fr" dir="ltr">français</a></li> <li><a href="/wiki/Extension:WikiLove/pl" class="mw-pt-progress mw-pt-progress--low" title="Rozszerzenie:WikiLove (7% translated)" lang="pl" dir="ltr">polski</a></li> <li><a href="/wiki/Extension:WikiLove/ro" class="mw-pt-progress mw-pt-progress--high" title="Extensie:WikiLove (79% translated)" lang="ro" dir="ltr">română</a></li> <li><a href="/wiki/Extension:WikiLove/fi" class="mw-pt-progress mw-pt-progress--low" title="Laajennus:WikiLove (3% translated)" lang="fi" dir="ltr">suomi</a></li> <li><a href="/wiki/Extension:WikiLove/sv" class="mw-pt-progress mw-pt-progress--low" title="Tillägg:WikiLove (9% translated)" lang="sv" dir="ltr">svenska</a></li> <li><a href="/wiki/Extension:WikiLove/ru" class="mw-pt-progress mw-pt-progress--med" title="Расширение:ВикиСимпатия (38% translated)" lang="ru" dir="ltr">русский</a></li> <li><a href="/wiki/Extension:WikiLove/he" class="mw-pt-progress mw-pt-progress--low" title="Extension:WikiLove/he (7% translated)" lang="he" dir="rtl">עברית</a></li> <li><a href="/wiki/Extension:WikiLove/ar" class="mw-pt-progress mw-pt-progress--low" title="Extension:WikiLove/ar (3% translated)" lang="ar" dir="rtl">العربية</a></li> <li><a href="/wiki/Extension:WikiLove/fa" class="mw-pt-progress mw-pt-progress--low" title="Extension:WikiLove (7% translated)" lang="fa" dir="rtl">فارسی</a></li> <li><a href="/wiki/Extension:WikiLove/bn" class="mw-pt-progress mw-pt-progress--med" title="এক্সটেনশন:উইকিভালোবাসা (56% translated)" lang="bn" dir="ltr">বাংলা</a></li> <li><a href="/wiki/Extension:WikiLove/si" class="mw-pt-progress mw-pt-progress--low" title="දිගුව:විකිසෙනහස (4% translated)" lang="si" dir="ltr">සිංහල</a></li> <li><a href="/wiki/Extension:WikiLove/zh" class="mw-pt-progress mw-pt-progress--med" title="扩展:WikiLove (29% translated)" lang="zh" dir="ltr">中文</a></li> <li><a href="/wiki/Extension:WikiLove/ja" class="mw-pt-progress mw-pt-progress--med" title="Extension:WikiLove (25% translated)" lang="ja" dir="ltr">日本語</a></li> <li><a href="/wiki/Extension:WikiLove/ko" class="mw-pt-progress mw-pt-progress--med" title="확장기능:위키사랑 (17% translated)" lang="ko" dir="ltr">한국어</a></li></ul></div> <style data-mw-deduplicate="TemplateStyles:r6651102">.mw-parser-output .infobox{box-sizing:border-box;border:2px solid var(--border-color-base,#a2a9b1);width:280px;border-collapse:collapse;border-spacing:0;background-color:white;color:#333;clear:right;float:right;margin:0 0 0.5em 0.5em}.mw-parser-output .infobox-rtl{clear:left;float:left;margin:0 0.5em 0.5em 0}.mw-parser-output .infobox th{text-align:left;padding:0.2em 0.5em;vertical-align:top}.mw-parser-output .infobox-rtl th{text-align:right}@media(max-width:719px){body.mediawiki .mw-parser-output .infobox{float:none;clear:both;width:100%;margin:0 0 .5em 0}}.mw-parser-output .infobox td{border:none;padding:0.2em 0.5em;vertical-align:top}.mw-parser-output .infobox-header{background-color:#a2a9b1;color:#FFF;text-align:left}.mw-parser-output .infobox-header a{color:#FFF}.mw-parser-output .infobox-header td,.mw-parser-output .infobox-header th{padding:0.5em 0.5em}.mw-parser-output .infobox-header img{padding:0 0.2em 0 0.5em}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox{background-color:inherit;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox{background-color:inherit;color:inherit}}</style><style data-mw-deduplicate="TemplateStyles:r5577029">.mw-parser-output .ext-infobox>tbody>tr>td:first-child{vertical-align:top}.mw-parser-output .ext-infobox>tbody>tr>td abbr{white-space:nowrap}.mw-parser-output .ext-infobox .mw-collapsible-header,.mw-parser-output .ext-infobox .mw-collapsible-toggle{font-weight:bold}.mw-parser-output .ext-infobox .mw-collapsible-content{margin-top:.2em;padding-top:.2em}.mw-parser-output .ext-infobox-header>th,.mw-parser-output .ext-infobox caption,.mw-parser-output .ext-infobox-image,.mw-parser-output .ext-infobox-translate{text-align:center}.mw-parser-output .ext-infobox-name{font-size:130%;line-height:100%}.mw-parser-output .ext-infobox-type{min-width:7em}</style><style data-mw-deduplicate="TemplateStyles:r6424453">.mw-parser-output .ext-status-unstable,.mw-parser-output .ext-status-unstable td{border-color:#d33}.mw-parser-output .ext-status-unstable .ext-infobox-header{background-color:#d33;color:#fff}.mw-parser-output .ext-status-unstable .ext-infobox-header a{color:#fff}.mw-parser-output .ext-status-experimental,.mw-parser-output .ext-status-experimental td{border-color:#ff4500}.mw-parser-output .ext-status-experimental .ext-infobox-header{background-color:#ff4500;color:#FFF}.mw-parser-output .ext-status-experimental .ext-infobox-header a{color:#FFF}.mw-parser-output .ext-status-beta,.mw-parser-output .ext-status-beta td{border-color:#fc3}.mw-parser-output .ext-status-beta .ext-infobox-header{color:#000;background-color:#fc3}.mw-parser-output .ext-status-beta .ext-infobox-header a{color:#000}.mw-parser-output .ext-status-stable,.mw-parser-output .ext-status-stable td{border-color:#00af89}.mw-parser-output .ext-status-stable .ext-infobox-header{background-color:#068468;color:#FFF}.mw-parser-output .ext-status-stable .ext-infobox-header a{color:#fff}.mw-parser-output .ext-status-unmaintained,.mw-parser-output .ext-status-unmaintained td{border-color:#ac6600}.mw-parser-output .ext-status-unmaintained .ext-infobox-header{background-color:#ac6600;color:#FFF}.mw-parser-output .ext-status-unmaintained .ext-infobox-header a{color:#fff}</style> <table class="infobox infobox-ltr ext-infobox ext-status-stable"> <caption><b><a href="/wiki/Special:MyLanguage/Manual:Extensions" title="Special:MyLanguage/Manual:Extensions">MediaWiki extensions manual</a><span style="display:none"><a href="/wiki/Manual:Extensions" title="Manual:Extensions"> </a></span></b></caption> <tbody><tr class="infobox-header ext-infobox-header notheme"> <th colspan="2"><figure class="mw-halign-left" typeof="mw:File"><a href="/wiki/Special:MyLanguage/Template:Extension#Content" title="Special:MyLanguage/Template:Extension"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/1b/OOjs_UI_icon_advanced-invert.svg/40px-OOjs_UI_icon_advanced-invert.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/1b/OOjs_UI_icon_advanced-invert.svg/60px-OOjs_UI_icon_advanced-invert.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/1b/OOjs_UI_icon_advanced-invert.svg/80px-OOjs_UI_icon_advanced-invert.svg.png 2x" data-file-width="20" data-file-height="20" /></a><figcaption></figcaption></figure> <span class="ext-infobox-name">WikiLove</span><br /> <a href="/wiki/Special:MyLanguage/Extension_status" title="Special:MyLanguage/Extension status">Release status:</a><span style="display:none"><a href="/wiki/Extension_status" title="Extension status"> </a></span> stable</th> </tr> <tr> <td colspan="2" class="ext-infobox-image"><span typeof="mw:File"><a href="/wiki/File:WikiLove-screenshot-2014.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4d/WikiLove-screenshot-2014.png/300px-WikiLove-screenshot-2014.png" decoding="async" width="300" height="147" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/4d/WikiLove-screenshot-2014.png/450px-WikiLove-screenshot-2014.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/4d/WikiLove-screenshot-2014.png/600px-WikiLove-screenshot-2014.png 2x" data-file-width="802" data-file-height="392" /></a></span></td> </tr> <tr> <td class="ext-infobox-type"><b><a href="/wiki/Special:MyLanguage/Template:Extension#type" title="Special:MyLanguage/Template:Extension">Implementation</a><span style="display:none"><a href="/wiki/Template:Extension#type" title="Template:Extension"> </a></span></b></td> <td>User interface </td></tr><tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#description" title="Special:MyLanguage/Template:Extension">Description</a><span style="display:none"><a href="/wiki/Template:Extension#description" title="Template:Extension"> </a></span></b></td> <td>Makes it easy to add positive feedback to user talk pages</td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#username" title="Special:MyLanguage/Template:Extension">Author(s)</a><span style="display:none"><a href="/wiki/Template:Extension#username" title="Template:Extension"> </a></span></b></td> <td><a href="/wiki/User:Kaldari" title="User:Kaldari">Ryan Kaldari</a>, <a href="/wiki/User:JanPaul123" title="User:JanPaul123">Jan Paul Posma</a>, <a href="/wiki/User:Jorm_(WMF)" title="User:Jorm (WMF)">Brandon Harris</a> (design)</td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#version" title="Special:MyLanguage/Template:Extension">Latest version</a><span style="display:none"><a href="/wiki/Template:Extension#version" title="Template:Extension"> </a></span></b></td> <td>1.3.1</td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Compatibility#mediawiki_extensions" title="Special:MyLanguage/Compatibility">Compatibility policy</a><span style="display:none"><a href="/wiki/Compatibility#mediawiki_extensions" title="Compatibility"> </a></span></b></td> <td>Snapshots releases along with MediaWiki. Master is not backward compatible.</td> </tr> <tr> <td><a href="/wiki/Special:MyLanguage/Template:Extension#mediawiki" title="Special:MyLanguage/Template:Extension"><b>MediaWiki</b></a><span style="display:none"><a href="/wiki/Template:Extension#mediawiki" title="Template:Extension"> </a></span></td> <td>1.27+ </td> </tr> <tr> <td><a href="/wiki/Special:MyLanguage/Template:Extension#needs-updatephp" title="Special:MyLanguage/Template:Extension"><abbr title="&#39;php update.php&#39; needed after installation"><b>Database changes</b></abbr></a><span style="display:none"><a href="/wiki/Template:Extension#needs-updatephp" title="Template:Extension"> </a></span></td> <td>Yes</td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#table1" title="Special:MyLanguage/Template:Extension">Tables</a><span style="display:none"><a href="/wiki/Template:Extension#table1" title="Template:Extension"> </a></span></b></td> <td><a href="/wiki/Special:MyLanguage/Extension:WikiLove/wikilove_log_table" title="Special:MyLanguage/Extension:WikiLove/wikilove log table">wikilove_log</a><span style="display:none"><a href="/wiki/Extension:WikiLove/wikilove_log_table" title="Extension:WikiLove/wikilove log table"> </a></span></td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#license" title="Special:MyLanguage/Template:Extension">License</a><span style="display:none"><a href="/wiki/Template:Extension#license" title="Template:Extension"> </a></span></b></td> <td><a rel="nofollow" class="external text" href="//opensource.org/licenses/mit-license.php">MIT License</a></td> </tr><tr> <td><b>Download</b></td> <td><div class="plainlinks"><a href="/wiki/Special:ExtensionDistributor/WikiLove" title="Special:ExtensionDistributor/WikiLove"><b>Download extension</b></a> <br />Git <sup>[<a href="/wiki/Special:MyLanguage/Download_from_Git" title="Special:MyLanguage/Download from Git">?</a>]</sup>: <ul><li><span class="plainlinks"><a rel="nofollow" class="external text" href="https://github.com/wikimedia/mediawiki-extensions-WikiLove/archive/master.tar.gz">Download Git master</a></span></li> <li><a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/WikiLove" class="extiw" title="git:mediawiki/extensions/WikiLove">browse&#160;repository</a> (<a rel="nofollow" class="external text" href="https://github.com/wikimedia/mediawiki-extensions-WikiLove">GitHub</a>)</li> <li><a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/WikiLove/%2Blog/master" class="extiw" title="git:mediawiki/extensions/WikiLove/+log/master">commit&#160;history</a></li> <li><a rel="nofollow" class="external text" href="https://github.com/wikimedia/mediawiki-extensions-WikiLove/graphs/contributors">repository contributors (GitHub)</a></li> <li><a href="https://gerrit.wikimedia.org/r/q/project:mediawiki/extensions/WikiLove" class="extiw" title="gerrit:q/project:mediawiki/extensions/WikiLove">code review</a></li></ul></div></td> </tr> <tr> <td class="mw-collapsible mw-collapsed" colspan="2"> <div class="mw-collapsible-header"><a href="/wiki/Special:MyLanguage/Template:Extension#parameters" title="Special:MyLanguage/Template:Extension">Parameters</a><span style="display:none"><a href="/wiki/Template:Extension#parameters" title="Template:Extension"> </a></span></div> <div class="mw-collapsible-content"> <p class="mw-empty-elt"> </p> <ul><li>$wgWikiLoveGlobal</li> <li>$wgWikiLoveTabIcon</li> <li>$wgWikiLoveLogging</li></ul></div></td> </tr> <tr> <td class="mw-collapsible mw-collapsed" colspan="2"> <div class="mw-collapsible-header"><a href="/wiki/Special:MyLanguage/Template:Extension#hook" title="Special:MyLanguage/Template:Extension">Hooks used</a><span style="display:none"><a href="/wiki/Template:Extension#hook" title="Template:Extension"> </a></span></div> <style data-mw-deduplicate="TemplateStyles:r6219282">.mw-parser-output .plainlist ul{line-height:inherit;list-style:none none;margin:0}.mw-parser-output .plainlist ul li{margin-bottom:0}</style><div class="plainlist mw-collapsible-content"><ul><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/BeforePageDisplay" title="Special:MyLanguage/Manual:Hooks/BeforePageDisplay">BeforePageDisplay</a><span style="display:none"><a href="/wiki/Manual:Hooks/BeforePageDisplay" title="Manual:Hooks/BeforePageDisplay"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ChangeTagsListActive" title="Special:MyLanguage/Manual:Hooks/ChangeTagsListActive">ChangeTagsListActive</a><span style="display:none"><a href="/wiki/Manual:Hooks/ChangeTagsListActive" title="Manual:Hooks/ChangeTagsListActive"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/GetPreferences" title="Special:MyLanguage/Manual:Hooks/GetPreferences">GetPreferences</a><span style="display:none"><a href="/wiki/Manual:Hooks/GetPreferences" title="Manual:Hooks/GetPreferences"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ListDefinedTags" title="Special:MyLanguage/Manual:Hooks/ListDefinedTags">ListDefinedTags</a><span style="display:none"><a href="/wiki/Manual:Hooks/ListDefinedTags" title="Manual:Hooks/ListDefinedTags"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/LoadExtensionSchemaUpdates" title="Special:MyLanguage/Manual:Hooks/LoadExtensionSchemaUpdates">LoadExtensionSchemaUpdates</a><span style="display:none"><a href="/wiki/Manual:Hooks/LoadExtensionSchemaUpdates" title="Manual:Hooks/LoadExtensionSchemaUpdates"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SkinTemplateNavigation::Universal" title="Special:MyLanguage/Manual:Hooks/SkinTemplateNavigation::Universal">SkinTemplateNavigation::Universal</a><span style="display:none"><a href="/wiki/Manual:Hooks/SkinTemplateNavigation::Universal" title="Manual:Hooks/SkinTemplateNavigation::Universal"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserMergeAccountFields" title="Special:MyLanguage/Manual:Hooks/UserMergeAccountFields">UserMergeAccountFields</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserMergeAccountFields" class="mw-redirect" title="Manual:Hooks/UserMergeAccountFields"> </a></span></li></ul></div> </td> </tr> <tr> <td title="This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included."><b>Quarterly downloads</b></td> <td>22 (Ranked 113<sup>rd</sup>)</td> </tr> <tr> <td colspan="2" class="ext-infobox-translate"> <a href="https://translatewiki.net/wiki/Special:Translate/ext-wikilove" class="extiw" title="translatewiki:Special:Translate/ext-wikilove">Translate the WikiLove extension</a> if it is available at translatewiki.net</td> </tr><tr class="mw-empty-elt"> </tr> <tr> <td> <b><a href="/wiki/Special:MyLanguage/Phabricator" title="Special:MyLanguage/Phabricator">Issues</a><span style="display:none"><a href="/wiki/Phabricator" title="Phabricator"> </a></span></b></td> <td><a href="https://phabricator.wikimedia.org/tag/wikilove" class="extiw" title="phab:tag/wikilove">Open tasks</a> · <a class="external text" href="https://phabricator.wikimedia.org/maniphest/task/create/?projects=WikiLove">Report a bug</a></td> </tr> </tbody></table> <p><b>WikiLove</b> is an extension designed to promote the spread of <a href="https://en.wikipedia.org/wiki/Wikipedia:WikiLove" class="extiw" title="w:Wikipedia:WikiLove">WikiLove</a> within Wikipedia and possibly other wikis. Specifically, it makes adding awards, gifts, and invitations to user talk pages as simple as clicking a few buttons. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Installation">Installation</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=1" title="Edit section: Installation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Special:ExtensionDistributor/WikiLove" title="Special:ExtensionDistributor/WikiLove">Download</a> and move the extracted <code>WikiLove</code> folder to your <code>extensions/</code> directory.<br />Developers and code contributors should install the extension <a href="/wiki/Special:MyLanguage/Download_from_Git" title="Special:MyLanguage/Download from Git">from Git</a> instead, using:<code class="mw-code mw-highlight" style="display:block">cd extensions/<br />git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLove</code></li> <li>Add the following code at the bottom of your <a href="/wiki/Special:MyLanguage/Manual:LocalSettings.php" title="Special:MyLanguage/Manual:LocalSettings.php">LocalSettings.php</a><span style="display:none"><a href="/wiki/Manual:LocalSettings.php" title="Manual:LocalSettings.php"> </a></span> file: <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">wfLoadExtension</span><span class="p">(</span> <span class="s1">&#39;WikiLove&#39;</span> <span class="p">);</span> </pre></div></li> <li>Run the <b><a href="/wiki/Special:MyLanguage/Manual:Update.php" title="Special:MyLanguage/Manual:Update.php">update script</a></b> which will automatically create the necessary database tables that this extension needs.</li> <li><span typeof="mw:File"><span><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/15px-OOjs_UI_icon_check-constructive.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/23px-OOjs_UI_icon_check-constructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/30px-OOjs_UI_icon_check-constructive.svg.png 2x" data-file-width="20" data-file-height="20" /></span></span>&#160;<b>Done</b> – Navigate to <a href="/wiki/Special:Version" title="Special:Version">Special:Version</a> on your wiki to verify that the extension is successfully installed.</li></ul> <p>If you want to use the built-in awards, you must have <a href="/wiki/Special:MyLanguage/InstantCommons" title="Special:MyLanguage/InstantCommons">InstantCommons</a> enabled. To enable this, add this to <code>LocalSettings.php</code>: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$wgUseInstantCommons</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span> </pre></div> <p>The extension should now be active. Go to the editing tab in your preferences to turn on the interface. </p><p>You can also use these configuration options in your <code>LocalSettings.php</code>: </p> <ul><li><code>$wgWikiLoveGlobal</code> - enable the extension for all users, removing the user preference (default: <i>false</i>) <ul><li>Note: you can also enable the setting by default but still give the users the option to turn it off (<i>opt-out</i>) by using:</li></ul></li></ul> <dl><dd><dl><dd><div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$wgDefaultUserOptions</span><span class="p">[</span><span class="s1">&#39;wikilove-enabled&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> </pre></div></dd></dl></dd></dl> <ul><li><code>$wgWikiLoveTabIcon</code> - use an icon for skins that support them (i.e. Vector) (default: <i>true</i>)</li> <li><code>$wgWikiLoveLogging</code> - enable logging of giving of WikiLove (default: <i>false</i>); this automatically creates a database table <code>wikilove_log</code> which you can use for statistical queries</li></ul> <p><br /> </p> <div class="mw-heading mw-heading2"><h2 id="Usage">Usage</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=2" title="Edit section: Usage"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>To enable your account to use WikiLove, go to the editing tab in your preferences and turn on WikiLove under "Labs features" (or, in some versions, under <a href="/wiki/Special:Preferences#mw-prefsection-editing" title="Special:Preferences">"General options"</a>). In September 2022 this displays as "Enable showing appreciation for other users with the WikiLove tab". </p><p>To use WikiLove, go to a user's talk page (not yourself) and click the heart icon. Follow the directions from there. </p> <div class="mw-heading mw-heading2"><h2 id="Custom_configuration">Custom configuration</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=3" title="Edit section: Custom configuration"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><i>To learn how to customize WikiLove for an individual editor (rather than an entire wiki), see the <a href="/wiki/Special:MyLanguage/WikiLove#How_to_customize" title="Special:MyLanguage/WikiLove">user documentation</a>.</i> </p><p>You can customize the options for your own wiki by editing the page <a href="/wiki/MediaWiki:WikiLove.js" title="MediaWiki:WikiLove.js">MediaWiki:WikiLove.js</a>. In here, you can change the configuration the same way as is done with the built-in options: <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/WikiLove/%2B/HEAD/resources/ext.wikiLove.defaultOptions.js" class="extiw" title="git:mediawiki/extensions/WikiLove/+/HEAD/resources/ext.wikiLove.defaultOptions.js">defaultOptions.js</a>. Here are some examples of custom WikiLove configurations: </p> <ul><li>Wikipedia <ul><li><a href="https://sq.wikipedia.org/wiki/MediaWiki:WikiLove.js" class="extiw" title="sq:MediaWiki:WikiLove.js">Albanian</a> (completely replaces all WikiLove configuration)</li> <li><a href="https://pt.wikipedia.org/wiki/MediaWiki:WikiLove.js" class="extiw" title="pt:MediaWiki:WikiLove.js">Portuguese</a> (completely replaces all WikiLove configuration)</li> <li><a href="https://ml.wikipedia.org/wiki/MediaWiki:WikiLove.js" class="extiw" title="ml:MediaWiki:WikiLove.js">Malayalam</a></li> <li><a href="https://en.wikipedia.org/wiki/MediaWiki:WikiLove.js" class="extiw" title="en:MediaWiki:WikiLove.js">English</a></li></ul></li> <li><a href="https://commons.wikimedia.org/wiki/MediaWiki:WikiLove.js" class="extiw" title="commons:MediaWiki:WikiLove.js">Wikimedia Commons</a></li></ul> <p>The options at the top of <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/WikiLove/%2B/HEAD/resources/ext.wikiLove.defaultOptions.js" class="extiw" title="git:mediawiki/extensions/WikiLove/+/HEAD/resources/ext.wikiLove.defaultOptions.js">defaultOptions.js</a> are some default settings for your convenience. If you omit certain properties from types or subtypes, these defaults will be used (<code>defaultText, defaultBackgroundColor, defaultBorderColor, defaultImageSize, defaultImage</code>). Then there is the list of types. Each type can have the properties <code>name</code> (required) and <code>icon</code> (optional). Furthermore, a type can have a list of subtypes, or not, in which case the additional properties will be assigned to the type itself. </p><p>If the type has subtypes, they are listed in an object list <code>subtypes</code>. Optionally, the type can also have the property <code>select</code>, which specifies the label above the dropdown menu. Each subtype can have the following properties: </p> <ul><li><code>option</code> - name in the dropdown menu</li> <li><code>descr</code> - Description of the subtype</li> <li><code>header</code> - Header of the message that is being added, i.e. the part that will be between <code>== ... ==</code></li> <li><code>title</code> - Title of the message box</li> <li><code>text</code> - Text of the message box (see below for details)</li> <li><code>image</code> - Image of the message box</li> <li><code>gallery</code> - Gallery for selecting an image (see below for details)</li> <li><code>fields</code> - Array of fields that the user can edit; can contain these values: <code>header, title, image, message</code></li> <li><code>imageSize</code> - Image size (e.g. <code>100px</code>)</li> <li><code>backgroundColor</code> - Background color (any CSS valid color, e.g. <code>#fdffe7</code> or <code>yellow</code>)</li> <li><code>borderColor</code> - Border color (same)</li></ul> <p>When not using subtypes, these options (except for the first two) should be added to the type itself. </p><p>In the <code>text</code> and <code>email</code> fields (as well as in <code>defaultText</code>, mentioned earlier), you can use a few codes that will be substituted automatically: </p> <ul><li>$1 - User message</li> <li>$2 - Title</li> <li>$3 - Image name</li> <li>$4 - Image size</li> <li>$5 - Background color</li> <li>$6 - Border color</li> <li>$7 - Username of the recipient</li></ul> <p>To make it easy for the user to select images, you can create a gallery with predefined images. For this, create a <code>gallery</code> property, which has the following properties: </p> <ul><li><code>imageList</code> - An array of image names</li> <li><code>width</code> - Maximum width of the images in the gallery (in pixels); for 3 images <code>145</code> is recommended</li> <li><code>height</code> - Maximum height of the images in the gallery (in pixels)</li> <li><code>number</code> - Number of random images to show (optional); if omitted all images are shown</li></ul> <p>You can use images from Wikimedia Commons, as the default awards do. Like mentioned before, you have to enable <a href="/wiki/Special:MyLanguage/InstantCommons" title="Special:MyLanguage/InstantCommons">InstantCommons</a> for this. </p> <style data-mw-deduplicate="TemplateStyles:r6651107">.mw-parser-output .note{background-position:left 7px top 50%;padding:0.5em 0.5em 0.5em 40px;margin:0.5em 0;overflow:hidden;background-color:#f8f9fa;color:#333;background-repeat:no-repeat;border:1px solid #ddd}.mw-parser-output .note-inline{display:inline-block;vertical-align:middle}.mw-parser-output .note-info{background-color:#eaf3ff;color:#333;background-image:url("https://upload.wikimedia.org/wikipedia/commons/e/ec/OOjs_UI_icon_information-progressive.svg");background-size:25px;border-color:#a3caff;padding-left:40px;min-height:25px}.mw-parser-output .note-reminder{background-color:#fff9ea;color:#333;background-image:url("https://upload.wikimedia.org/wikipedia/commons/a/a8/OOjs_UI_icon_lightbulb-yellow.svg");background-size:25px;border-color:#fc3;min-height:25px}.mw-parser-output .note-warn{background-color:#fff9ea;color:#333;background-image:url("https://upload.wikimedia.org/wikipedia/commons/3/3b/OOjs_UI_icon_alert-warning.svg");background-size:25px;border-color:#fc3;min-height:25px}.mw-parser-output .note-error{background-color:#fee7e6;color:#333;background-image:url("https://upload.wikimedia.org/wikipedia/commons/b/bf/OOjs_UI_icon_notice-destructive.svg");background-size:25px;border-color:#c33;min-height:25px}@media screen{html.skin-theme-clientpref-night .mw-parser-output .note{background-color:transparent;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .note{background-color:transparent;color:inherit}}</style><div role="note" class="note note-error">Be sure to start your <a href="/wiki/MediaWiki:WikiLove.js" title="MediaWiki:WikiLove.js">MediaWiki:WikiLove.js</a> page with <code>//&lt;nowiki&gt;</code> and end it with <code>//&lt;/nowiki&gt;</code> so that any Wikitext code (such as signatures or <code>{{subst:foo}}</code>) doesn't get expanded within the JavaScript.</div> <div class="mw-heading mw-heading3"><h3 id="Removing_WikiLove_types">Removing WikiLove types</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=4" title="Edit section: Removing WikiLove types"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>If you just want to remove some of the default WikiLove types, you can delete them from the $.wikiLoveOptions object. Here are some examples that you could use in your wiki's <a href="/wiki/MediaWiki:WikiLove.js" title="MediaWiki:WikiLove.js">MediaWiki:WikiLove.js</a> page: </p> <div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">// Delete the Random Acts of Kindness Barnstar from the barnstars list</span> <span class="ow">delete</span><span class="w"> </span><span class="nx">$</span><span class="p">.</span><span class="nx">wikiLoveOptions</span><span class="p">.</span><span class="nx">types</span><span class="p">.</span><span class="nx">barnstar</span><span class="p">.</span><span class="nx">subtypes</span><span class="p">.</span><span class="nx">kindness</span><span class="p">;</span> <span class="c1">// Delete the cheeseburger from the food and drink list</span> <span class="ow">delete</span><span class="w"> </span><span class="nx">$</span><span class="p">.</span><span class="nx">wikiLoveOptions</span><span class="p">.</span><span class="nx">types</span><span class="p">.</span><span class="nx">food</span><span class="p">.</span><span class="nx">subtypes</span><span class="p">.</span><span class="nx">cheeseburger</span><span class="p">;</span> <span class="c1">// Delete the kittens interface entirely</span> <span class="ow">delete</span><span class="w"> </span><span class="nx">$</span><span class="p">.</span><span class="nx">wikiLoveOptions</span><span class="p">.</span><span class="nx">types</span><span class="p">.</span><span class="nx">kitten</span><span class="p">;</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="Adding_new_WikiLove_types">Adding new WikiLove types</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=5" title="Edit section: Adding new WikiLove types"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Here's an example of adding a new puppy type: </p> <div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">$</span><span class="p">.</span><span class="nx">wikiLoveOptions</span><span class="p">.</span><span class="nx">types</span><span class="p">.</span><span class="nx">puppy</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">name</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Puppy&#39;</span><span class="p">,</span><span class="w"> </span><span class="c1">// name of the type (appears in the types menu)</span> <span class="w"> </span><span class="nx">fields</span><span class="o">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s1">&#39;header&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;message&#39;</span><span class="w"> </span><span class="p">],</span><span class="w"> </span><span class="c1">// fields to ask for in form</span> <span class="w"> </span><span class="nx">header</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;You get a puppy!&#39;</span><span class="p">,</span><span class="w"> </span><span class="c1">// header that appears at the top of the talk page post (optional)</span> <span class="w"> </span><span class="nx">text</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;[[File:2009-08-16 Puppy at Duke East 1.jpg|left|150px]]\n$1\n\n~~&#39;</span><span class="o">+</span><span class="s1">&#39;~~&lt;br style=&quot;clear: both;&quot;/&gt;&#39;</span><span class="p">,</span><span class="w"> </span><span class="c1">// $1 is the custom message</span> <span class="w"> </span><span class="nx">icon</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;http://www.mysite.com/images/wikilove-icon-puppy.png&#39;</span><span class="w"> </span><span class="c1">// appears in the types menu</span> <span class="p">};</span> </pre></div> <p>Here's an example of adding a new hedgehog type with a gallery of images to choose from: </p> <div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">$</span><span class="p">.</span><span class="nx">wikiLoveOptions</span><span class="p">.</span><span class="nx">types</span><span class="p">.</span><span class="nx">hedgehog</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">name</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Hedgehogs&#39;</span><span class="p">,</span><span class="w"> </span><span class="c1">// name of the type (appears in the types menu)</span> <span class="w"> </span><span class="nx">fields</span><span class="o">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s1">&#39;header&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;message&#39;</span><span class="w"> </span><span class="p">],</span><span class="w"> </span><span class="c1">// fields to ask for in form</span> <span class="w"> </span><span class="nx">header</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;A hedgehog for you!&#39;</span><span class="p">,</span><span class="w"> </span><span class="c1">// header that appears at the top of the talk page post (optional)</span> <span class="w"> </span><span class="nx">text</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;[[$3|left|150px]]\n$1\n\n~~&#39;</span><span class="o">+</span><span class="s1">&#39;~~\n&lt;br style=&quot;clear: both&quot;/&gt;&#39;</span><span class="p">,</span><span class="w"> </span><span class="c1">// $3 is the image filename, $1 is the message</span> <span class="w"> </span><span class="nx">gallery</span><span class="o">:</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">imageList</span><span class="o">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s1">&#39;Hedgehog1.jpg&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Orizo5.jpg&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Erinaceus europaeus LC0119.jpg&#39;</span><span class="w"> </span><span class="p">],</span> <span class="w"> </span><span class="nx">width</span><span class="o">:</span><span class="w"> </span><span class="mf">145</span><span class="p">,</span><span class="w"> </span><span class="c1">// maximum width of the images in the gallery</span> <span class="w"> </span><span class="nx">height</span><span class="o">:</span><span class="w"> </span><span class="mf">150</span><span class="p">,</span><span class="w"> </span><span class="c1">// maximum height of the images in the gallery</span> <span class="w"> </span><span class="nx">number</span><span class="o">:</span><span class="w"> </span><span class="mf">3</span><span class="w"> </span><span class="c1">// number of random images to show (optional)</span> <span class="w"> </span><span class="p">},</span> <span class="w"> </span><span class="nx">icon</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;http://www.mysite.com/images/wikilove-icon-hedgehog.png&#39;</span><span class="w"> </span><span class="c1">// appears in the types menu</span> </pre></div> <p>Here's an example of adding a new falafel subtype under the existing food type: </p> <div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">$</span><span class="p">.</span><span class="nx">wikiLoveOptions</span><span class="p">.</span><span class="nx">types</span><span class="p">.</span><span class="nx">food</span><span class="p">.</span><span class="nx">subtypes</span><span class="p">.</span><span class="nx">falafel</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">fields</span><span class="o">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s1">&#39;header&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;message&#39;</span><span class="w"> </span><span class="p">],</span><span class="w"> </span><span class="c1">// fields to ask for in form</span> <span class="w"> </span><span class="nx">option</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Falafel&#39;</span><span class="p">,</span><span class="w"> </span><span class="c1">// option listed in the select list</span> <span class="w"> </span><span class="nx">descr</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Falafel is a popular Middle Eastern street food made from ground chickpeas or fava beans and topped with salads, vegetables, and sauces. It is typically served in a pocket of pita bread.&#39;</span><span class="p">,</span> <span class="w"> </span><span class="nx">header</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Some falafel for you!&#39;</span><span class="p">,</span><span class="w"> </span><span class="c1">// header that appears at the top of the talk page post (optional)</span> <span class="w"> </span><span class="nx">image</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Falafel award.png&#39;</span><span class="p">,</span><span class="w"> </span><span class="c1">// image for the item</span> <span class="w"> </span><span class="nx">imageSize</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;120px&#39;</span><span class="w"> </span><span class="c1">// size to display image (optional)</span> <span class="p">};</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="Glitches_and_problems">Glitches and problems</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=6" title="Edit section: Glitches and problems"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>If the talk page you are attempting to edit contains a word that has been subsequently added to <a href="/wiki/Special:MyLanguage/Extension:SpamRegex" title="Special:MyLanguage/Extension:SpamRegex">Special:SpamRegex</a>, attempts to use the interface to add a barnstar or other award will fail. This is because the page cannot be edited, as it contains a forbidden word. Removing the word from the page or from the filter will fix the problem. </p> <div class="mw-heading mw-heading2"><h2 id="API_documentation">API documentation</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=7" title="Edit section: API documentation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>WikiLove uses a special wikilove API to post messages to users' talk pages. The API is basically just a thin wrapper around some existing APIs. If the user's talk page is a <a href="/wiki/Special:MyLanguage/Wikitext" title="Special:MyLanguage/Wikitext">Wikitext</a> page, it uses the <a href="/wiki/Special:MyLanguage/API:Edit" title="Special:MyLanguage/API:Edit">edit</a><span style="display:none"><a href="/wiki/API:Edit" title="API:Edit"> </a></span> API. If it's a Flow page, it uses the <a href="/wiki/Special:MyLanguage/Extension:Flow/API#action.3Dflow" title="Special:MyLanguage/Extension:Flow/API">flow</a><span style="display:none"><a href="/wiki/Extension:Flow/API#action.3Dflow" class="mw-redirect" title="Extension:Flow/API"> </a></span> API. And if it's a LiquidThreads page, it uses the <a href="/wiki/Special:MyLanguage/Extension:LiquidThreads/API#Threadaction" title="Special:MyLanguage/Extension:LiquidThreads/API">threadaction</a><span style="display:none"><a href="/wiki/Extension:LiquidThreads/API#Threadaction" title="Extension:LiquidThreads/API"> </a></span> API. </p><p>In order to call the API, use the parameter <code>action=wikilove</code>. </p><p>Parameters: </p> <dl><dt><code>title</code></dt> <dd>Title of the user or user talk page to send WikiLove to (required)</dd> <dt><code>text</code></dt> <dd>Raw wikitext to add in the new section (required)</dd> <dt><code>message</code></dt> <dd>Actual message the user has entered, for logging purposes (doesn't include the image and HTML formatting)</dd> <dt><code>token</code></dt> <dd><a href="/wiki/Special:MyLanguage/Manual:Edit_token" title="Special:MyLanguage/Manual:Edit token">Edit token</a>. You can get one of these through prop=info (required)</dd> <dt><code>subject</code></dt> <dd>Subject header of the new page section (required)</dd> <dt><code>type</code></dt> <dd>Type of WikiLove (for statistics); this corresponds with a type selected in the left menu, and optionally a subtype after that (e.g. "barnstar-normal" or "kitten") (optional)</dd> <dt><code>email</code></dt> <dd>Content of the optional email message to send to the user</dd></dl> <p>Example: </p> <pre> api.php?action=wikilove&amp;title=User:Dummy&amp;text=Love&amp;subject=Hi&amp;token=%2B\ </pre> <div class="mw-heading mw-heading2"><h2 id="Design_for_version_1.0">Design for version 1.0</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=8" title="Edit section: Design for version 1.0"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:WikiLove-Proposal-Dialog-1.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8c/WikiLove-Proposal-Dialog-1.png/220px-WikiLove-Proposal-Dialog-1.png" decoding="async" width="220" height="129" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/8c/WikiLove-Proposal-Dialog-1.png/330px-WikiLove-Proposal-Dialog-1.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/8c/WikiLove-Proposal-Dialog-1.png/440px-WikiLove-Proposal-Dialog-1.png 2x" data-file-width="823" data-file-height="483" /></a><figcaption>The WikiLove dialog upon first load</figcaption></figure> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:WikiLove-Proposal-Dialog-2.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/6/6a/WikiLove-Proposal-Dialog-2.png/220px-WikiLove-Proposal-Dialog-2.png" decoding="async" width="220" height="129" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/6a/WikiLove-Proposal-Dialog-2.png/330px-WikiLove-Proposal-Dialog-2.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/6a/WikiLove-Proposal-Dialog-2.png/440px-WikiLove-Proposal-Dialog-2.png 2x" data-file-width="823" data-file-height="483" /></a><figcaption>The WikiLove dialog upon selecting an award category</figcaption></figure> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:WikiLove-Proposal-Dialog-3.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/af/WikiLove-Proposal-Dialog-3.png/220px-WikiLove-Proposal-Dialog-3.png" decoding="async" width="220" height="129" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/af/WikiLove-Proposal-Dialog-3.png/330px-WikiLove-Proposal-Dialog-3.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/af/WikiLove-Proposal-Dialog-3.png/440px-WikiLove-Proposal-Dialog-3.png 2x" data-file-width="823" data-file-height="483" /></a><figcaption>The WikiLove dialog upon filling out details for an award</figcaption></figure> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:WikiLove-Proposal-Dialog-4.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/e/ef/WikiLove-Proposal-Dialog-4.png/220px-WikiLove-Proposal-Dialog-4.png" decoding="async" width="220" height="129" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/ef/WikiLove-Proposal-Dialog-4.png/330px-WikiLove-Proposal-Dialog-4.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/ef/WikiLove-Proposal-Dialog-4.png/440px-WikiLove-Proposal-Dialog-4.png 2x" data-file-width="823" data-file-height="483" /></a><figcaption>The WikiLove dialog in preview mode</figcaption></figure> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:WikiLove-Proposal-Select-Hover.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a8/WikiLove-Proposal-Select-Hover.png/220px-WikiLove-Proposal-Select-Hover.png" decoding="async" width="220" height="127" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/a/a8/WikiLove-Proposal-Select-Hover.png 1.5x" data-file-width="255" data-file-height="147" /></a><figcaption>The hover state for the award selection pane</figcaption></figure> <p>This document describes the design and behavior of the <i>WikiLove</i> system of positive feedback for Wikipedia. This tool is designed to promote the spread of <a href="https://en.wikipedia.org/wiki/Wikipedia:WikiLove" class="extiw" title="w:Wikipedia:WikiLove">WikiLove</a> within Wikipedia. Specifically, it makes adding awards and gifts to user talk pages as simple as clicking a few buttons. </p> <div class="mw-heading mw-heading3"><h3 id="Rationale">Rationale</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=9" title="Edit section: Rationale"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Wikipedia, as a community, has several mechanisms for indicating displeasure or to provide <i>negative</i> feedback to its users. Certain gadgets, such as Twinkle, are heavily engineered towards warning, blocking, and reverting. </p><p>Since Wikipedia is in need of positive reinforcement, especially for new users, a system designed specifically and only towards positive feedback is desired. </p> <div class="mw-heading mw-heading4"><h4 id="Use_of_whimsical_style">Use of whimsical style</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=10" title="Edit section: Use of whimsical style"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The system has a heavy style of "whimsy" to its design. This is intentional and is intended to align closer to the expectations of users of modern websites. Further, the entire principle of "awards" is in and of itself whimsical (e.g., cookies and kittens). </p><p>This style may be abandoned based on user feedback. </p> <div class="mw-heading mw-heading3"><h3 id="Note_on_nomenclature">Note on nomenclature</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=11" title="Edit section: Note on nomenclature"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Some template types, such as welcome templates, are not technically "awards". </p><p>This document uses the term <i>award</i> interchangeably with <i>template</i>. Since the system is user-focused, and not intended directly for power-users, user-facing nomenclature has been used. </p> <div class="mw-heading mw-heading3"><h3 id="Process">Process</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=12" title="Edit section: Process"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading4"><h4 id="Dialog_behavior">Dialog behavior</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=13" title="Edit section: Dialog behavior"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The WikiLove dialog is modal. Initiating it (from anywhere) will cause it to appear over the text of the page. It can be dismissed with a simple click. </p><p>The WikiLove system requires JavaScript. </p><p>The user will initially be presented with a short set of easy-to-understand instructions and a list of available <i>award categories</i>. </p><p>Upon selecting an award type, the user is presented with a section in which they can add details to the award (such as a short message). </p><p>Note that some award categories (e.g., "cookie") will not have a secondary award creation step and will go directly to "Preview". </p><p>The user then clicks the "preview" button, which will load a preview of the award so that they may see how it will look on the user's talk page. </p><p>Once the user is satisfied, they may click the "Send WikiLove" button. At this time, AJAX calls to the server API will be fired, adding the template to the user's talk page. </p> <div class="mw-heading mw-heading4"><h4 id="Email_notification">Email notification</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=14" title="Edit section: Email notification"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Since most new users are unlikely to be aware that they even have talk pages, they may not be aware that they have received the WikiLove in question. </p><p>Accordingly, the server will email the recipient (if they have provided an email address) informing them of the WikiLove as well as short instructions on how to access their talk page. </p> <div class="mw-heading mw-heading4"><h4 id="Site_configuration">Site configuration</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=15" title="Edit section: Site configuration"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Initially, the awards that can be given are to be defined in the gadget itself. If this system is elevated to an extension, then the names of the awards and the templates should be defined in the site's <code>LocalSettings.php</code>. </p><p>Alternatively, such information can be stored in the database. An administration console would be required to add or subtract available awards and award categories. </p> <div class="mw-heading mw-heading4"><h4 id="Data_storage">Data storage</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=16" title="Edit section: Data storage"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>For statistics gathering purposes, every time an award is given, data is tracked and stored in the database. A simple table, written to via the API, is all that need be required: </p> <ul><li><b>From User</b> - The username of the person who is giving the award</li> <li><b>To User</b> - The username of the person receiving the award</li> <li><b>Template</b> - the name of the template awarded</li> <li><b>Timestamp</b> - when the award was given</li> <li><b>Award Text</b> - Optional; this would be the text of the award</li></ul> <div class="mw-heading mw-heading4"><h4 id="Special:WikiLoveStatistics">Special:WikiLoveStatistics</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=17" title="Edit section: Special:WikiLoveStatistics"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In the future, it should be possible to create a page, <i>Special:WikiLoveStatistics</i>, that could be used to see how often the system is used as well as providing insight into who gives the most love, what awards are most popular, and who receives the most awards. </p><p>This will help to provide a global overview of community health. The more awards given, the healthier the community. </p> <div class="mw-heading mw-heading3"><h3 id="Future_thinking">Future thinking</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=18" title="Edit section: Future thinking"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Phase two of this project could result in "Send WikiLove" links being dynamically added to signatures on talk pages. This would allow for WikiLove to be sent in a much easier manner, directly from other talk pages. </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:WikiLove&amp;action=edit&amp;section=19" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Special:MyLanguage/WikiLove" title="Special:MyLanguage/WikiLove">WikiLove</a><span style="display:none"><a href="/wiki/WikiLove" title="WikiLove"> </a></span> - Original design document</li> <li><a href="/wiki/Special:MyLanguage/Extension:Thanks" title="Special:MyLanguage/Extension:Thanks">Extension:Thanks</a><span style="display:none"><a href="/wiki/Extension:Thanks" title="Extension:Thanks"> </a></span> - lighter-weight thanking for edits using <a href="/wiki/Special:MyLanguage/Echo" title="Special:MyLanguage/Echo">Echo</a></li> <li><a href="http://meatballwiki.org/wiki/GiveCredit" class="extiw" title="meatball:GiveCredit">GiveCredit</a> - <a rel="nofollow" class="external text" href="http://meatballwiki.org">MeatBall Wiki</a></li></ul> <style data-mw-deduplicate="TemplateStyles:r6651108">.mw-parser-output table.ombox{margin:4px 10%;border-collapse:collapse;border:1px solid #a2a9b1;background-color:#f8f9fa;color:#333;box-sizing:border-box}.mw-parser-output .ombox td.mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ombox th.mbox-text,.mw-parser-output .ombox td.mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .ombox td.mbox-image{border:none;text-align:center;padding:2px 0 2px 0.9em}.mw-parser-output .ombox td.mbox-imageright{border:none;text-align:center;padding:2px 0.9em 2px 0}.mw-parser-output table.ombox-notice{border-color:#a2a9b1}.mw-parser-output table.ombox-speedy{background-color:#fee7e6;color:#333}.mw-parser-output table.ombox-speedy,.mw-parser-output table.ombox-delete{border-color:#b32424;border-width:2px}.mw-parser-output table.ombox-content{border-color:#f28500}.mw-parser-output table.ombox-style{border-color:#fc3}.mw-parser-output table.ombox-move{border-color:#9932cc}.mw-parser-output table.ombox-protection{border-color:#a2a9b1;border-width:2px}html body.mediawiki .mw-parser-output .ombox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;box-sizing:border-box;width:238px;font-size:88%;line-height:1.25em}@media screen{html.skin-theme-clientpref-night .mw-parser-output table.ombox{background-color:transparent;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output table.ombox{background-color:transparent;color:inherit}}</style><table class="ombox ombox-notice plainlinks" role="presentation" style="clear: both; margin-top: 0; margin-bottom: 0;"><tbody><tr><td class="mbox-image"><span class="skin-invert-image" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Wikimedia-logo_black.svg/40px-Wikimedia-logo_black.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Wikimedia-logo_black.svg/60px-Wikimedia-logo_black.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Wikimedia-logo_black.svg/80px-Wikimedia-logo_black.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></td><td class="mbox-text">This extension is being used on one or more <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Wikimedia_projects" class="extiw" title="m:Special:MyLanguage/Wikimedia projects">Wikimedia projects</a>. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's <a class="external text" href="https://noc.wikimedia.org/conf/highlight.php?file=CommonSettings.php">CommonSettings.php</a> and <a class="external text" href="https://noc.wikimedia.org/conf/highlight.php?file=InitialiseSettings.php">InitialiseSettings.php</a> configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's <a href="/wiki/Special:Version" title="Special:Version">Special:Version</a> page.</td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r6651108"><table class="ombox ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/40px-OOjs_UI_icon_information-progressive.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/60px-OOjs_UI_icon_information-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/80px-OOjs_UI_icon_information-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></span></span></td><td class="mbox-text">This extension is included in the following wiki farms/hosts and/or packages: <style data-mw-deduplicate="TemplateStyles:r6387430">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li,.mw-parser-output .hlist .mw-empty-elt{display:none}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)"\a0 "}</style><div class="hlist"> <ul><li><a href="/wiki/Special:MyLanguage/Miraheze" title="Special:MyLanguage/Miraheze">Miraheze</a><span style="display:none"><a href="/wiki/Miraheze" title="Miraheze"> </a></span></li> <li><a rel="nofollow" class="external text" href="https://wikiforge.net/">WikiForge</a></li></ul> </div> <small>This is not an authoritative list.</small> <small>Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here.</small> <small>Always check with your wiki farms/hosts or bundle to confirm.</small></td></tr></tbody></table> <!-- NewPP limit report Parsed by mw‐api‐int.codfw.main‐658b54f75f‐2rbnq Cached time: 20241127222211 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.634 seconds Real time usage: 0.831 seconds Preprocessor visited node count: 4029/1000000 Post‐expand include size: 50907/2097152 bytes Template argument size: 12668/2097152 bytes Highest expansion depth: 20/100 Expensive parser function count: 19/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 25351/5000000 bytes Lua time usage: 0.224/10.000 seconds Lua memory usage: 16379139/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 491.379 1 -total 69.82% 343.098 1 Template:Extension 25.72% 126.384 49 Template:Ll 18.59% 91.360 63 Template:Pagelang 16.75% 82.326 109 Template:Translatable 14.76% 72.529 2 Template:Mbox 9.59% 47.104 1 Template:Used_by 8.47% 41.610 1 Template:Flatlist 6.83% 33.545 1 Template:OnWikimedia 3.91% 19.194 1 Template:ExtensionInstall --> <!-- Saved in parser cache with key mediawikiwiki:pcache:idhash:59868-0!canonical and timestamp 20241127222211 and revision id 6727460. Rendering was triggered because: api-parse --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://www.mediawiki.org/w/index.php?title=Extension:WikiLove&amp;oldid=6727460">https://www.mediawiki.org/w/index.php?title=Extension:WikiLove&amp;oldid=6727460</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Special:Categories" title="Special:Categories">Categories</a>: <ul><li><a href="/wiki/Category:Stable_extensions" title="Category:Stable extensions">Stable extensions</a></li><li><a href="/wiki/Category:User_interface_extensions" title="Category:User interface extensions">User interface extensions</a></li><li><a href="/wiki/Category:MIT_licensed_extensions" title="Category:MIT licensed extensions">MIT licensed extensions</a></li><li><a href="/wiki/Category:Extensions_in_Wikimedia_version_control" title="Category:Extensions in Wikimedia version control">Extensions in Wikimedia version control</a></li><li><a href="/wiki/Category:BeforePageDisplay_extensions" title="Category:BeforePageDisplay extensions">BeforePageDisplay extensions</a></li><li><a href="/wiki/Category:ChangeTagsListActive_extensions" title="Category:ChangeTagsListActive extensions">ChangeTagsListActive extensions</a></li><li><a href="/wiki/Category:GetPreferences_extensions" title="Category:GetPreferences extensions">GetPreferences extensions</a></li><li><a href="/wiki/Category:ListDefinedTags_extensions" title="Category:ListDefinedTags extensions">ListDefinedTags extensions</a></li><li><a href="/wiki/Category:LoadExtensionSchemaUpdates_extensions" title="Category:LoadExtensionSchemaUpdates extensions">LoadExtensionSchemaUpdates extensions</a></li><li><a href="/wiki/Category:SkinTemplateNavigation::Universal_extensions" title="Category:SkinTemplateNavigation::Universal extensions">SkinTemplateNavigation::Universal extensions</a></li><li><a href="/wiki/Category:UserMergeAccountFields_extensions" title="Category:UserMergeAccountFields extensions">UserMergeAccountFields extensions</a></li><li><a href="/wiki/Category:All_extensions" title="Category:All extensions">All extensions</a></li><li><a href="/wiki/Category:Extensions_used_on_Wikimedia" title="Category:Extensions used on Wikimedia">Extensions used on Wikimedia</a></li><li><a href="/wiki/Category:Extensions_included_in_Miraheze" title="Category:Extensions included in Miraheze">Extensions included in Miraheze</a></li><li><a href="/wiki/Category:Extensions_included_in_WikiForge" title="Category:Extensions included in WikiForge">Extensions included in WikiForge</a></li><li><a href="/wiki/Category:API_extensions" title="Category:API extensions">API extensions</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Extensions_with_release_branches_compatibility_policy" title="Category:Extensions with release branches compatibility policy">Extensions with release branches compatibility policy</a></li><li><a href="/wiki/Category:Extensions_with_manual_MediaWiki_version" title="Category:Extensions with manual MediaWiki version">Extensions with manual MediaWiki version</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 29 August 2024, at 05:02.</li> <li id="footer-info-copyright">Text is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. Text in <a class="external text" href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">the Help: namespace</a> is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>. By using this site, you agree to the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of Use</a> and <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy Policy</a>.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Project:About">About mediawiki.org</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Project:General_disclaimer">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/www.mediawiki.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//m.mediawiki.org/w/index.php?title=Extension:WikiLove&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-57488d5c7d-z89zg","wgBackendResponseTime":114,"wgPageParseReport":{"limitreport":{"cputime":"0.634","walltime":"0.831","ppvisitednodes":{"value":4029,"limit":1000000},"postexpandincludesize":{"value":50907,"limit":2097152},"templateargumentsize":{"value":12668,"limit":2097152},"expansiondepth":{"value":20,"limit":100},"expensivefunctioncount":{"value":19,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":25351,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 491.379 1 -total"," 69.82% 343.098 1 Template:Extension"," 25.72% 126.384 49 Template:Ll"," 18.59% 91.360 63 Template:Pagelang"," 16.75% 82.326 109 Template:Translatable"," 14.76% 72.529 2 Template:Mbox"," 9.59% 47.104 1 Template:Used_by"," 8.47% 41.610 1 Template:Flatlist"," 6.83% 33.545 1 Template:OnWikimedia"," 3.91% 19.194 1 Template:ExtensionInstall"]},"scribunto":{"limitreport-timeusage":{"value":"0.224","limit":"10.000"},"limitreport-memusage":{"value":16379139,"limit":52428800}},"cachereport":{"origin":"mw-api-int.codfw.main-658b54f75f-2rbnq","timestamp":"20241127222211","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10