CINXE.COM
User:Inductiveload - Wikisource, the free online library
<!DOCTYPE html> <html class="client-nojs" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>User:Inductiveload - Wikisource, the free online library</title> <script>(function(){var className="client-js";var cookie=document.cookie.match(/(?:^|; )enwikisourcemwclientpreferences=([^;]+)/);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":"6f17b19c-394a-445d-8493-5761dacccc74","wgCanonicalNamespace":"User","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":2,"wgPageName":"User:Inductiveload","wgTitle":"Inductiveload","wgCurRevisionId":14666435,"wgRevisionId":14666435,"wgArticleId":586148,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"], "wgCategories":[],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"User:Inductiveload","wgRelevantArticleId":586148,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRelevantUserName":"Inductiveload","wgNoticeProject":"wikisource","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":30000,"prpProofreadPageBookNamespaces":[0,0,114],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false, "wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.gadget.Site-styles":"ready","ext.gadget.MoreMenu-local-pagestyles":"ready","ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.pygments":"ready","skins.vector.styles.legacy":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","codex-search-styles":"ready","ext.uls.interlanguage":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","mediawiki.page.media","site","mediawiki.page.ready","skins.vector.legacy.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.charinsert","ext.gadget.Easy_LST","ext.gadget.Fill_Index","ext.gadget.IndexFormTools","ext.gadget.Site","ext.gadget.PageNumbers","ext.gadget.MoreMenu-local","ext.gadget.PurgeTab","ext.gadget.interwiki-transclusion", "ext.gadget.extra-toolbar-buttons","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.interface","ext.checkUser.clientHints"];</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&modules=codex-search-styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cskins.vector.styles.legacy&only=styles&skin=vector"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.gadget.MoreMenu-local-pagestyles%2CSite-styles&only=styles&skin=vector"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <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 name="viewport" content="width=1120"> <meta property="og:title" content="User:Inductiveload - Wikisource, the free online library"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikisource.org/wiki/User:Inductiveload"> <link rel="alternate" type="application/x-wiki" title="Edit" href="/w/index.php?title=User:Inductiveload&action=edit"> <link rel="icon" href="/static/favicon/wikisource.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikisource (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikisource.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikisource.org/wiki/User:Inductiveload"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikisource Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-2 ns-subject mw-editable page-User_Inductiveload rootpage-User_Inductiveload skin-vector action-view"><div id="mw-page-base" class="noprint"></div> <div id="mw-head-base" class="noprint"></div> <div id="content" class="mw-body" role="main"> <a id="top"></a> <div id="siteNotice"><!-- CentralNotice --></div> <div class="mw-indicators"> </div> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">User</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">Inductiveload</span></h1> <div id="bodyContent" class="vector-body"> <div id="siteSub" class="noprint">From Wikisource</div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="contentSub2"></div> <div id="jump-to-nav"></div> <a class="mw-jump-link" href="#mw-head">Jump to navigation</a> <a class="mw-jump-link" href="#searchInput">Jump to search</a> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><table style="width:80%; border: 1px solid #ADA; background-color: #E4F2E4; color:#202122; text-align:center; font-size:0.9em; cellpadding:0" align="center"> <tbody><tr> <td colspan="4" style="border-bottom:2px solid #ADA; font-size:1.2em"><b>Inductiveload User Area</b> </td></tr> <tr> <td style="border-bottom:2px solid #ADA;" width="20%"><a class="mw-selflink selflink">Main User Page</a> </td> <td style="border-bottom:2px solid #ADA;" width="20%"><a href="/wiki/User_talk:Inductiveload" title="User talk:Inductiveload">Talk Page</a> </td> <td style="border-bottom:2px solid #ADA;" width="20%"><a href="/wiki/User_talk:Inductiveload/Archives" title="User talk:Inductiveload/Archives">Talk archives</a> </td> <td style="border-bottom:2px solid #ADA;" width="20%"><a href="/wiki/Special:Contributions/Inductiveload" title="Special:Contributions/Inductiveload">Contributions</a> </td></tr> <tr> <td colspan="4" style="text-align:left; border-bottom:2px solid #ADA;"> <p><style data-mw-deduplicate="TemplateStyles:r13425350">.mw-parser-output .dropinitial{float:left;text-indent:0}.mw-parser-output .dropinitial .dropinitial-fl{float:left;position:relative;vertical-align:top;line-height:1}.mw-parser-output .dropinitial .dropinitial-mid .dropinitial-initial{float:left;line-height:1em;text-indent:0;font-size:3em;margin:0 0.1em 0 0}</style><span class="dropinitial drop-initial-image"><span class="dropinitial-mid"><span class="dropinitial-initial" style="margin-top:.1em;"><span typeof="mw:File"><a href="/wiki/File:Phil_Trans_-_Illuminated_Initial_-_W.png" class="mw-file-description"><img alt="W" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Phil_Trans_-_Illuminated_Initial_-_W.png/50px-Phil_Trans_-_Illuminated_Initial_-_W.png" decoding="async" width="50" height="50" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Phil_Trans_-_Illuminated_Initial_-_W.png/75px-Phil_Trans_-_Illuminated_Initial_-_W.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Phil_Trans_-_Illuminated_Initial_-_W.png/100px-Phil_Trans_-_Illuminated_Initial_-_W.png 2x" data-file-width="286" data-file-height="286" /></a></span></span></span></span>ELCOME to my user page. Have a look around my galleries and contributions if you like, or leave messages on my talk page. </p><p>If you can suggest improvements to my own work, tell me. Don't let any poor quality work hang around! </p> </td></tr> <tr> <td><a class="mw-selflink selflink">Wikisource user page</a> </td> <td><a href="https://commons.wikimedia.org/wiki/User:Inductiveload" class="extiw" title="commons:User:Inductiveload">Commons user page</a> </td> <td><a href="https://en.wikibooks.org/wiki/User:Inductiveload" class="extiw" title="wikibooks:User:Inductiveload">Wikibooks user page</a> </td> <td><a href="https://en.wikipedia.org/wiki/User:Inductiveload" class="extiw" title="w:User:Inductiveload">Wikipedia user page</a> </td></tr> <tr> <td colspan="4" style="text-align:left; border-top:2px solid #ADA;"> <p><b>Languages</b>: <span typeof="mw:File"><span><img alt="English" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/20/Nuvola_English_flag.svg/15px-Nuvola_English_flag.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/20/Nuvola_English_flag.svg/23px-Nuvola_English_flag.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/20/Nuvola_English_flag.svg/30px-Nuvola_English_flag.svg.png 2x" data-file-width="60" data-file-height="60" /></span></span> (native), <span typeof="mw:File"><span><img alt="French" src="//upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Nuvola_France_flag.svg/15px-Nuvola_France_flag.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Nuvola_France_flag.svg/23px-Nuvola_France_flag.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Nuvola_France_flag.svg/30px-Nuvola_France_flag.svg.png 2x" data-file-width="64" data-file-height="64" /></span></span> (basic), <span typeof="mw:File"><span><img alt="German" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/30/Nuvola_German_flag.svg/15px-Nuvola_German_flag.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/30/Nuvola_German_flag.svg/23px-Nuvola_German_flag.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/30/Nuvola_German_flag.svg/30px-Nuvola_German_flag.svg.png 2x" data-file-width="60" data-file-height="60" /></span></span> (basic), <span typeof="mw:File"><a href="/wiki/File:Nuvola_Chinese_flag.svg" class="mw-file-description"><img alt="Mandarin" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Nuvola_Chinese_flag.svg/15px-Nuvola_Chinese_flag.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Nuvola_Chinese_flag.svg/23px-Nuvola_Chinese_flag.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Nuvola_Chinese_flag.svg/30px-Nuvola_Chinese_flag.svg.png 2x" data-file-width="60" data-file-height="60" /></a></span> (basic), <span typeof="mw:File"><span><img alt="Mercan" src="//upload.wikimedia.org/wikipedia/commons/thumb/5/53/Nuvola_USA_flag.svg/15px-Nuvola_USA_flag.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/53/Nuvola_USA_flag.svg/23px-Nuvola_USA_flag.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/53/Nuvola_USA_flag.svg/30px-Nuvola_USA_flag.svg.png 2x" data-file-width="64" data-file-height="64" /></span></span> (like, totally fluent), <span typeof="mw:File"><span><img alt="Python" src="//upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Python.svg/15px-Python.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Python.svg/23px-Python.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Python.svg/30px-Python.svg.png 2x" data-file-width="48" data-file-height="48" /></span></span> (passable), <span typeof="mw:File"><span><img alt="C++" src="//upload.wikimedia.org/wikipedia/commons/thumb/5/5b/C_plus_plus.svg/15px-C_plus_plus.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/5b/C_plus_plus.svg/23px-C_plus_plus.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/5b/C_plus_plus.svg/30px-C_plus_plus.svg.png 2x" data-file-width="100" data-file-height="100" /></span></span> (basic), Lua (basic) </p> </td></tr></tbody></table> <p><br /> </p> <div style="display:table; margin:auto; box-shadow: rgba(50, 50, 93, 0.25) 0 6px 12px -2px, rgba(0, 0, 0, 0.3) 0 3px 7px -3px; max-width:50em; font-size:120%; text-align:center; margin-bottom:1.3em; border-radius: 4px; padding:1ex;"> <p>Admins have no greater enemies than themselves. </p> </div> <div style="display:flex;"> <div style="margin:auto; box-shadow: rgba(50, 50, 93, 0.25) 0 6px 12px -2px, rgba(0, 0, 0, 0.3) 0 3px 7px -3px; max-width:50em; border-radius: 4px; padding:1ex;"> <table> <tbody><tr> <td style="vertical-align:middle; text-align:center">The <b><a href="/wiki/Wikisource:Community_collaboration/Monthly_Challenge/November_2024" title="Wikisource:Community collaboration/Monthly Challenge/November 2024">Monthly Challenge</a></b> for November contains 66 works. You can help by <a href="/wiki/Help:Beginner%27s_guide_to_proofreading" title="Help:Beginner's guide to proofreading">reading the guide</a> and contributing to the <a href="/wiki/Wikisource:Community_collaboration/Monthly_Challenge/November_2024" title="Wikisource:Community collaboration/Monthly Challenge/November 2024">current challenge</a>. <div style="font-size:75%"> <b>This month:</b> <style data-mw-deduplicate="TemplateStyles:r11538011">.mw-parser-output .wst-flatlist{display:inline-block}.mw-parser-output .wst-flatlist dl,.mw-parser-output .wst-flatlist ol,.mw-parser-output .wst-flatlist ul{margin:0;padding:0}.mw-parser-output .wst-flatlist dd,.mw-parser-output .wst-flatlist dt,.mw-parser-output .wst-flatlist li{display:inline;margin:0}.mw-parser-output .wst-flatlist li.mw-empty-li{display:none;margin:0}.mw-parser-output .wst-flatlist.inline,.mw-parser-output .wst-flatlist.inline dl,.mw-parser-output .wst-flatlist.inline ol,.mw-parser-output .wst-flatlist.inline ul,.mw-parser-output .wst-flatlist dl dl,.mw-parser-output .wst-flatlist dl ol,.mw-parser-output .wst-flatlist dl ul,.mw-parser-output .wst-flatlist ol dl,.mw-parser-output .wst-flatlist ol ol,.mw-parser-output .wst-flatlist ol ul,.mw-parser-output .wst-flatlist ul dl,.mw-parser-output .wst-flatlist ul ol,.mw-parser-output .wst-flatlist ul ul{display:inline}.mw-parser-output .wst-flatlist dt:after{content:": "}.mw-parser-output .wst-flatlist dd:after,.mw-parser-output .wst-flatlist li:after{content:" ·";font-weight:bold}.mw-parser-output .wst-flatlist-comma dd:after,.mw-parser-output .wst-flatlist-comma li:after{content:", ";font-weight:normal}.mw-parser-output .wst-flatlist dd:last-child:after,.mw-parser-output .wst-flatlist dt:last-child:after,.mw-parser-output .wst-flatlist li:last-child:after{content:none}.mw-parser-output .wst-flatlist dd dd:first-child:before,.mw-parser-output .wst-flatlist dd dt:first-child:before,.mw-parser-output .wst-flatlist dd li:first-child:before,.mw-parser-output .wst-flatlist dt dd:first-child:before,.mw-parser-output .wst-flatlist dt dt:first-child:before,.mw-parser-output .wst-flatlist dt li:first-child:before,.mw-parser-output .wst-flatlist li dd:first-child:before,.mw-parser-output .wst-flatlist li dt:first-child:before,.mw-parser-output .wst-flatlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .wst-flatlist dd dd:last-child:after,.mw-parser-output .wst-flatlist dd dt:last-child:after,.mw-parser-output .wst-flatlist dd li:last-child:after,.mw-parser-output .wst-flatlist dt dd:last-child:after,.mw-parser-output .wst-flatlist dt dt:last-child:after,.mw-parser-output .wst-flatlist dt li:last-child:after,.mw-parser-output .wst-flatlist li dd:last-child:after,.mw-parser-output .wst-flatlist li dt:last-child:after,.mw-parser-output .wst-flatlist li li:last-child:after{content:") ";font-weight:normal}.mw-parser-output .wst-flatlist ol{counter-reset:listitem}.mw-parser-output .wst-flatlist ol>li{counter-increment:listitem}.mw-parser-output .wst-flatlist ol>li:before{content:" "counter(listitem)" ";white-space:nowrap}.mw-parser-output .wst-flatlist dd ol>li:first-child:before,.mw-parser-output .wst-flatlist dt ol>li:first-child:before,.mw-parser-output .wst-flatlist li ol>li:first-child:before{content:" ("counter(listitem)" "}</style><div class="wst-flatlist"> <ul><li><i>Pages <style data-mw-deduplicate="TemplateStyles:r13686547">.mw-parser-output .wst-tooltip{cursor:help;border-bottom:thin dotted cornflowerblue}.mw-parser-output .wst-tooltip-nodash{border-bottom:none}</style><span class="wst-tooltip wst-tooltip-dash" title="proofread, validated or marked without text">processed</span>:</i> 3941 (131.4% of target)</li> <li><i>Avg. pages/day:</i> 158</li> <li><i>Yesterday:</i> 171</li></ul> </div><br /> <b>Last month:</b> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><i>Pages processed:</i> 4507 (150.2% of target)</li> <li><i>Avg. pages/day:</i> 145</li></ul> </div> </div> </td> <td style="vertical-align:middle; float:right"><span typeof="mw:File"><a href="/wiki/Wikisource:Monthly_Challenge" title="Wikisource:Monthly Challenge"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/9/91/Wikisource_laurier.svg/75px-Wikisource_laurier.svg.png" decoding="async" width="75" height="69" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/9/91/Wikisource_laurier.svg/113px-Wikisource_laurier.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/9/91/Wikisource_laurier.svg/150px-Wikisource_laurier.svg.png 2x" data-file-width="127" data-file-height="116" /></a></span> </td></tr></tbody></table> </div> <div> <p><span typeof="mw:File"><a href="https://ws-songbird.toolforge.org/"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Wikisource_speaker_icon.svg/80px-Wikisource_speaker_icon.svg.png" decoding="async" width="80" height="80" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Wikisource_speaker_icon.svg/120px-Wikisource_speaker_icon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Wikisource_speaker_icon.svg/160px-Wikisource_speaker_icon.svg.png 2x" data-file-width="500" data-file-height="500" /></a></span> </p> </div> </div> <ul><li><b><a href="/wiki/Category:Ready_for_export" title="Category:Ready for export">Ready for export</a></b> (712) works</li></ul> <div class="mw-heading mw-heading2"><h2 id="Ask_me_to_do_things">Ask me to do things</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=1" title="Edit section: Ask me to do things"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>I will need information: </p> <ul><li><a href="/wiki/User:Inductiveload/Requests/Batch_uploads" title="User:Inductiveload/Requests/Batch uploads">Batch uploads</a></li> <li><a href="/wiki/User:Inductiveload/Requests/Downloads_from_Hathi_Trust" title="User:Inductiveload/Requests/Downloads from Hathi Trust">Downloads from Hathi Trust</a></li> <li><a href="/wiki/User:Inductiveload/Requests/Moves_to_subpages" title="User:Inductiveload/Requests/Moves to subpages">Bulk moves to subpages</a></li> <li><a href="/wiki/User:Inductiveload/Requests/Move_pages_or_indexes" title="User:Inductiveload/Requests/Move pages or indexes">Move pages or indexes</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Tools_and_scripts">Tools and scripts</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=2" title="Edit section: Tools and scripts"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>User preferences and custom javascripts: <style data-mw-deduplicate="TemplateStyles:r12247331">.mw-parser-output .wst-div-col{column-width:12em;margin-top:0.5em}.mw-parser-output .wst-div-col>p:first-child,.mw-parser-output .wst-div-col>ul:first-child,.mw-parser-output .wst-div-col>ol:first-child,.mw-parser-output .wst-div-col>dl:first-child{margin-top:0}.mw-parser-output .wst-div-col-ruled{column-rule:1px solid black}.mw-parser-output .wst-div-col li{break-inside:avoid}.mw-parser-output .wst-block-center>dl:nth-child(1),.mw-parser-output .wst-div-col ul:first-child{margin-top:0}</style> </p> <div class="wst-div-col columns" style="-moz-column-count:2; -webkit-column-count:2; column-count:2;-moz-column-width:20em; -webkit-column-width:20em; column-width:20em;"> <ul><li><a href="/wiki/User:Inductiveload/common.js" title="User:Inductiveload/common.js">common.js</a></li> <li><a href="/wiki/User:Inductiveload/monobook.css" title="User:Inductiveload/monobook.css">monobook.css</a></li> <li><a href="/wiki/User:Inductiveload/Regexp_toolbar.js" title="User:Inductiveload/Regexp toolbar.js">Regexp toolbar.js</a></li> <li><a href="/wiki/User:Inductiveload/Running_header.js" title="User:Inductiveload/Running header.js">Running header.js</a> - completes a {{<a href="/wiki/Template:Rh" class="mw-redirect" title="Template:Rh">rh</a>}} template by copying the header from the last-but-one page and incrementing the number.</li> <li><a href="/wiki/User:Inductiveload/Custom_toolbar_buttons.js" title="User:Inductiveload/Custom toolbar buttons.js">Custom toolbar buttons.js</a></li> <li><a href="/wiki/User:Inductiveload/InlinePagenums.js" title="User:Inductiveload/InlinePagenums.js">InlinePagenums.js</a> - toggle display of inline pagenums</li> <li><a href="/wiki/User:Inductiveload/ColourBackground.js" title="User:Inductiveload/ColourBackground.js">ColourBackground.js</a> - shade text boxes and background in edit mode to avoid eye strain.</li> <li><a href="/wiki/User:Inductiveload/Visibility.js" title="User:Inductiveload/Visibility.js">Visibility.js</a> - custom visibility switching</li> <li><a href="/wiki/User:Inductiveload/index_preview.js" title="User:Inductiveload/index preview.js">index preview.js</a> - preview index page thumbnails with alt-click on the page-list</li></ul> <div class="mw-heading mw-heading3"><h3 id="Commons_scripts">Commons scripts</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=3" title="Edit section: Commons scripts"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="https://commons.wikimedia.org/wiki/User:Inductiveload/basic_upload_templates.js" class="extiw" title="commons:User:Inductiveload/basic upload templates.js">commons:User:Inductiveload/basic upload templates.js</a>: add buttons for preloading book templates on the Basic Upload Form</li></ul> </div> <div class="mw-heading mw-heading4"><h4 id="Popups_Reloaded">Popups Reloaded</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=4" title="Edit section: Popups Reloaded"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Popups, but way better. </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><a href="/wiki/User:Inductiveload/popups_reloaded" title="User:Inductiveload/popups reloaded">popups_reloaded</a></li> <li><a href="/wiki/User:Inductiveload/popups_reloaded.js" title="User:Inductiveload/popups reloaded.js">popups_reloaded.js</a></li> <li><a href="/wiki/User:Inductiveload/popups_reloaded.css" title="User:Inductiveload/popups reloaded.css">popups_reloaded.css</a></li></ul> </div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s1">'//en.wikisource.org/w/index.php?title=User:Inductiveload/popups_reloaded.js&action=raw&ctype=text/javascript'</span><span class="p">);</span> <span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s1">'//en.wikisource.org/w/index.php?title=User:Inductiveload/popups_reloaded.css&action=raw&ctype=text/javascript'</span><span class="p">,</span><span class="w"> </span><span class="s2">"text/css"</span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Quick_Access">Quick Access</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=5" title="Edit section: Quick Access"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-halign-right" typeof="mw:File"><a href="/wiki/File:Wikisource_Gadget_-_Quick_access.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Wikisource_Gadget_-_Quick_access.png/200px-Wikisource_Gadget_-_Quick_access.png" decoding="async" width="200" height="141" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Wikisource_Gadget_-_Quick_access.png/300px-Wikisource_Gadget_-_Quick_access.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Wikisource_Gadget_-_Quick_access.png/400px-Wikisource_Gadget_-_Quick_access.png 2x" data-file-width="534" data-file-height="377" /></a><figcaption></figcaption></figure> <p>Keyboard-driven tool access </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><a href="/wiki/User:Inductiveload/quick_access" title="User:Inductiveload/quick access">Documentation</a></li> <li><a href="/wiki/User:Inductiveload/quick_access.js" title="User:Inductiveload/quick access.js">quick_access.js</a></li></ul> </div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s1">'//en.wikisource.org/w/index.php?title=User:Inductiveload/quick_access.js&action=raw&ctype=text/javascript'</span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Cleanup_(Alpha)"><span id="Cleanup_.28Alpha.29"></span>Cleanup (Alpha)</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=6" title="Edit section: Cleanup (Alpha)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>This is a much more in-depth version of <a href="/wiki/User:Samwilson/PageCleanUp.js" title="User:Samwilson/PageCleanUp.js">User:Samwilson/PageCleanUp.js</a> that includes hundreds of regexes for scannos that have unambiguous or almost-certain corrections. For example, no work in English ends in <code>-abte</code>: this is almost certainly <code>-able</code> </p><p>This is an alpha-level tool. Configuration, especially, is likely to change. </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><a href="/wiki/User:Inductiveload/cleanup" title="User:Inductiveload/cleanup">Documentation</a></li> <li><a href="/wiki/User:Inductiveload/cleanup.js" title="User:Inductiveload/cleanup.js">cleanup.js</a></li></ul> </div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s1">'//en.wikisource.org/w/index.php?title=User:Inductiveload/cleanup.js&action=raw&ctype=text/javascript'</span><span class="p">);</span> </pre></div> <p>This tool will work with default configurations, but it is more reliable with configurations. </p> <div class="mw-heading mw-heading4"><h4 id="Page_Carousel">Page Carousel</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=7" title="Edit section: Page Carousel"><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:Wikisource_page_carousel_icons.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/6/68/Wikisource_page_carousel_icons.png/220px-Wikisource_page_carousel_icons.png" decoding="async" width="220" height="150" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/6/68/Wikisource_page_carousel_icons.png 1.5x" data-file-width="328" data-file-height="224" /></a><figcaption></figcaption></figure> <p>Quick buttons to load the next/previous pages of a book. </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><a href="/wiki/User:Inductiveload/page_carousel" title="User:Inductiveload/page carousel">Documentation</a></li> <li><a href="/wiki/User:Inductiveload/page_carousel.js" title="User:Inductiveload/page carousel.js">page carousel.js</a></li></ul> </div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s1">'//en.wikisource.org/w/index.php?title=User:Inductiveload/page carousel.js&action=raw&ctype=text/javascript'</span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Save/Load_Actions"><span id="Save.2FLoad_Actions"></span>Save/Load Actions</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=8" title="Edit section: Save/Load Actions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Run Javascript actions on page save or page load. Can be used to implement custom text transforms, for example from <code>[[Link/Foo|Foo]]</code> to <code>[[Link/Foo|Foo]]</code>. </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><a href="/wiki/User:Inductiveload/save_load_actions" title="User:Inductiveload/save load actions">Documentation</a></li> <li><a href="/wiki/User:Inductiveload/save_load_actions.js" title="User:Inductiveload/save load actions.js">save load actions.js</a></li></ul> </div> <p>This tool probably needs configuration in your JS. Just adding it won't do anything use. Consult the documentation for more information. </p> <div class="mw-heading mw-heading4"><h4 id="Preview_markup">Preview markup</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=9" title="Edit section: Preview markup"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><a href="/wiki/User:Inductiveload/show_markup.js" title="User:Inductiveload/show markup.js">show_markup.js</a></li> <li><a href="/wiki/User:Inductiveload/show_markup.css" title="User:Inductiveload/show markup.css">show_markup.css</a></li></ul> </div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s1">'//en.wikisource.org/w/index.php?title=User:Inductiveload/show_markup.js&action=raw&ctype=text/javascript'</span><span class="p">);</span> <span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s1">'//en.wikisource.org/w/index.php?title=User:Inductiveload/show_markup.css&action=raw&ctype=text/javascript'</span><span class="p">,</span><span class="w"> </span><span class="s2">"text/css"</span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Maintenance_Wizard_and_Replacer">Maintenance Wizard and Replacer</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=10" title="Edit section: Maintenance Wizard and Replacer"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Perform maintenance without going into edit mode. </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><a href="/wiki/User:Inductiveload/maintain.js" title="User:Inductiveload/maintain.js">maintain.js</a></li></ul> </div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">// maintain script has no purpose in special</span> <span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">mw</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s2">"wgCanonicalNamespace"</span><span class="p">)</span><span class="w"> </span><span class="o">!==</span><span class="w"> </span><span class="s2">"Special"</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">using</span><span class="p">([</span><span class="s1">'ext.gadget.utils-difference'</span><span class="p">,</span><span class="w"> </span><span class="s1">'mediawiki.util'</span><span class="p">,</span><span class="w"> </span><span class="s1">'mediawiki.api'</span><span class="p">,</span> <span class="w"> </span><span class="s1">'oojs-ui-core'</span><span class="p">,</span><span class="w"> </span><span class="s1">'oojs-ui-windows'</span><span class="p">,</span><span class="w"> </span><span class="s1">'oojs-ui-widgets'</span><span class="p">]).</span><span class="nx">done</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s2">"/w/index.php?title=User:Inductiveload/maintain.js&action=raw&ctype=text/javascript"</span><span class="p">);</span> <span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s2">"/w/index.php?title=User:Inductiveload/maintain-ws-tools.js&action=raw&ctype=text/javascript"</span><span class="p">);</span> <span class="w"> </span><span class="p">});</span> <span class="p">}</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Jump_to_file">Jump to file</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=11" title="Edit section: Jump to file"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Add a button to go to the book file at Commons from the Index or Page namespace, and to the transcluding page from the Page namespace </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><a href="/wiki/User:Inductiveload/jump_to_file" title="User:Inductiveload/jump to file">Documentation</a></li> <li><a href="/wiki/User:Inductiveload/jump_to_file.js" title="User:Inductiveload/jump to file.js">jump to file.js</a></li> <li><a href="/wiki/User:Inductiveload/jump_to_file/load.js" title="User:Inductiveload/jump to file/load.js">jump to file/load.js</a></li></ul> </div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s1">'//en.wikisource.org/w/index.php?title=User:Inductiveload/jump to file/load.js&action=raw&ctype=text/javascript'</span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="MiniPane">MiniPane</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=12" title="Edit section: MiniPane"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Add a mini image page in the Page namespace for keeping the proofread text nearer the input box. </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><a href="/wiki/User:Inductiveload/MiniPane" title="User:Inductiveload/MiniPane">Documentation</a></li> <li><a href="/wiki/User:Inductiveload/MiniPane.js" title="User:Inductiveload/MiniPane.js">MiniPane.js</a></li></ul> </div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s1">'//en.wikisource.org/w/index.php?title=User:Inductiveload/MiniPane.js&action=raw&ctype=text/javascript'</span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="IaUploadPopup">IaUploadPopup</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=13" title="Edit section: IaUploadPopup"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Add a small popup to assist uploading works at the IA via IA-Upload </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><a href="/wiki/User:Inductiveload/IaUploadPopup" title="User:Inductiveload/IaUploadPopup">Documentation</a></li> <li><a href="/wiki/User:Inductiveload/IaUploadPopup.js" title="User:Inductiveload/IaUploadPopup.js">IaUploadPopup.js</a></li></ul> </div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s1">'//en.wikisource.org/w/index.php?title=User:Inductiveload/IaUploadPopup.js&action=raw&ctype=text/javascript'</span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Scan_Transcludes">Scan Transcludes</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=14" title="Edit section: Scan Transcludes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Show, in the pagelist grid, which pages are transcluded and which are not, colouring the pages according to expected transclusion status. </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><a href="/wiki/User:Inductiveload/scan_transcludes.js" title="User:Inductiveload/scan transcludes.js">scan transcludes.js</a></li></ul> </div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s2">"/w/index.php?title=User:Inductiveload/scan_transcludes.js&action=raw&ctype=text/javascript"</span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="ActivePageAlert">ActivePageAlert</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=15" title="Edit section: ActivePageAlert"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Display an icon if a page has been edited recently, with the ability to vary the definition of "recently" on a per-other-user basis. </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r11538011"><div class="wst-flatlist"> <ul><li><a href="/wiki/User:Inductiveload/ActivePageAlert" title="User:Inductiveload/ActivePageAlert">Documentation</a></li> <li><a href="/wiki/User:Inductiveload/ActivePageAlert.js" title="User:Inductiveload/ActivePageAlert.js">ActivePageAlert.js</a></li></ul> </div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="s1">'//en.wikisource.org/w/index.php?title=User:Inductiveload/ActivePageAlert.js&action=raw&ctype=text/javascript'</span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="Tweaks">Tweaks</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=16" title="Edit section: Tweaks"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading4"><h4 id="Show_an_indicator_when_a_script_loads">Show an indicator when a script loads</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=17" title="Edit section: Show an indicator when a script loads"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>I use this to check my local script is loading </p> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">$</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="s2">".mw-indicators"</span><span class="p">).</span><span class="nx">append</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="s2">"<img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/OOjs_UI_icon_chem.svg/20px-OOjs_UI_icon_chem.svg.png\">"</span><span class="p">));</span> <span class="p">});</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Add_nocache=1_to_WS-export_sidebar_links"><span id="Add_nocache.3D1_to_WS-export_sidebar_links"></span>Add <code>nocache=1</code> to WS-export sidebar links</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=18" title="Edit section: Add nocache=1 to WS-export sidebar links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">$</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="s2">"#p-coll-print_export a[href*='ws-export.wmcloud.org/?format'"</span><span class="p">).</span><span class="nx">each</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">i</span><span class="p">,</span><span class="w"> </span><span class="nx">a</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="nx">a</span><span class="p">).</span><span class="nx">attr</span><span class="p">(</span><span class="s2">"href"</span><span class="p">,</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="nx">a</span><span class="p">).</span><span class="nx">attr</span><span class="p">(</span><span class="s2">"href"</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s2">"&nocache=1"</span><span class="p">);</span> <span class="w"> </span><span class="p">});</span> <span class="p">});</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Add_a_button_to_the_main_page_POTM_to_edit_it">Add a button to the main page POTM to edit it</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=19" title="Edit section: Add a button to the main page POTM to edit it"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">mw</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s2">"wgTitle"</span><span class="p">)</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="s2">"Main Page"</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="s2">".collaboration-potm tr:first-child td:last-child"</span><span class="p">).</span><span class="nx">prepend</span><span class="p">(</span> <span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="s2">"<a>"</span><span class="p">)</span> <span class="w"> </span><span class="p">.</span><span class="nx">css</span><span class="p">({</span><span class="kr">float</span><span class="o">:</span><span class="w"> </span><span class="s2">"right"</span><span class="p">,</span><span class="w"> </span><span class="s2">"font-size"</span><span class="o">:</span><span class="w"> </span><span class="s2">"70%"</span><span class="p">})</span> <span class="w"> </span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s2">"href"</span><span class="p">,</span><span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s2">"wgScript"</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s2">"?title=Module:PotM/data&action=edit"</span><span class="p">)</span> <span class="w"> </span><span class="p">.</span><span class="nx">text</span><span class="p">(</span><span class="s2">"[+]"</span><span class="p">)</span> <span class="w"> </span><span class="p">)</span> <span class="w"> </span><span class="p">});</span> <span class="p">}</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Add_a_link_your_your_bot's_contributions"><span id="Add_a_link_your_your_bot.27s_contributions"></span>Add a link your your bot's contributions</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=20" title="Edit section: Add a link your your bot's contributions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">$</span><span class="p">(</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nx">botname</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"InductiveBot"</span><span class="p">;</span> <span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">addPortletLink</span><span class="p">(</span> <span class="w"> </span><span class="s1">'p-personal'</span><span class="p">,</span> <span class="w"> </span><span class="s1">'/wiki/Special:Contributions/'</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">botname</span><span class="p">,</span> <span class="w"> </span><span class="nx">botname</span><span class="p">,</span> <span class="w"> </span><span class="s1">'pt-botcontribs'</span><span class="p">,</span> <span class="w"> </span><span class="s1">'Contributions by '</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">botname</span><span class="p">,</span> <span class="w"> </span><span class="s1">''</span><span class="p">,</span> <span class="w"> </span><span class="s1">'#pt-logout'</span> <span class="w"> </span><span class="p">);</span> <span class="p">}</span><span class="w"> </span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Special_icon_for_Internet_Archive_links">Special icon for Internet Archive links</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=21" title="Edit section: Special icon for Internet Archive links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-css mw-content-ltr" dir="ltr"><pre><span></span><span class="nt">a</span><span class="p">.</span><span class="nc">external</span><span class="o">[</span><span class="nt">href</span><span class="o">^=</span><span class="s2">"https://archive.org"</span><span class="o">]</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">background</span><span class="p">:</span><span class="w"> </span><span class="nb">url</span><span class="p">(</span><span class="s2">"//upload.wikimedia.org/wikipedia/commons/thumb/1/13/Internet_Archive_7x8px.svg/7px-Internet_Archive_7x8px.svg.png"</span><span class="p">)</span><span class="w"> </span><span class="kc">no-repeat</span><span class="w"> </span><span class="kc">right</span><span class="p">;</span> <span class="w"> </span><span class="c">/* @noflip */</span> <span class="w"> </span><span class="k">padding-right</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="kt">px</span><span class="p">;</span> <span class="p">}</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Add_a_custom_panel_of_special_characters_to_the_WikiEditor_toolbar">Add a custom panel of special characters to the WikiEditor toolbar</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=22" title="Edit section: Add a custom panel of special characters to the WikiEditor toolbar"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nx">addCharacters</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="w"> </span><span class="s1">'#wpTextbox1'</span><span class="w"> </span><span class="p">).</span><span class="nx">wikiEditor</span><span class="p">(</span><span class="w"> </span><span class="s1">'addToToolbar'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">section</span><span class="o">:</span><span class="w"> </span><span class="s1">'characters'</span><span class="p">,</span> <span class="w"> </span><span class="nx">pages</span><span class="o">:</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">yazidi</span><span class="o">:</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">layout</span><span class="o">:</span><span class="w"> </span><span class="s1">'characters'</span><span class="p">,</span> <span class="w"> </span><span class="nx">label</span><span class="o">:</span><span class="w"> </span><span class="s1">'Yazidi'</span><span class="p">,</span> <span class="w"> </span><span class="nx">characters</span><span class="o">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s1">'Ḍ'</span><span class="p">,</span><span class="w"> </span><span class="s1">'ḍ'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Ḳ'</span><span class="p">,</span><span class="w"> </span><span class="s1">'ḳ'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Ṣ'</span><span class="p">,</span><span class="w"> </span><span class="s1">'ṣ'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Ḫ'</span><span class="p">,</span><span class="w"> </span><span class="s1">'ḫ'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Š'</span><span class="p">,</span><span class="w"> </span><span class="s1">'š'</span><span class="p">,</span><span class="w"> </span><span class="s1">'â'</span><span class="p">,</span><span class="w"> </span><span class="s1">'î'</span><span class="w"> </span><span class="p">]</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="p">);</span> <span class="w"> </span><span class="p">};</span> <span class="w"> </span><span class="cm">/* Check if view is in edit mode and that the required modules are available.</span> <span class="cm"> * Then, customize the toolbar … */</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s1">'edit'</span><span class="p">,</span><span class="w"> </span><span class="s1">'submit'</span><span class="w"> </span><span class="p">].</span><span class="nx">indexOf</span><span class="p">(</span><span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="w"> </span><span class="s1">'wgAction'</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="o">!==</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">using</span><span class="p">(</span><span class="w"> </span><span class="s1">'user.options'</span><span class="w"> </span><span class="p">).</span><span class="nx">then</span><span class="p">(</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="c1">// This can be the string "0" if the user disabled the preference</span> <span class="w"> </span><span class="c1">// ([[phab:T54542#555387]])</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">user</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="w"> </span><span class="s1">'usebetatoolbar'</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">1</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">$</span><span class="p">.</span><span class="nx">when</span><span class="p">(</span> <span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">loader</span><span class="p">.</span><span class="nx">using</span><span class="p">(</span><span class="w"> </span><span class="s1">'ext.wikiEditor'</span><span class="w"> </span><span class="p">),</span><span class="w"> </span><span class="nx">$</span><span class="p">.</span><span class="nx">ready</span> <span class="w"> </span><span class="p">).</span><span class="nx">then</span><span class="p">(</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nx">addCharacters</span><span class="p">();</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Show_microformat_data_under_the_header">Show microformat data under the header</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=23" title="Edit section: Show microformat data under the header"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-css mw-content-ltr" dir="ltr"><pre><span></span><span class="p">#</span><span class="nn">ws-data</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">display</span><span class="p">:</span><span class="w"> </span><span class="kc">block</span><span class="w"> </span><span class="cp">!important</span><span class="p">;</span> <span class="p">}</span> <span class="p">#</span><span class="nn">ws-data</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="nt">span</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">margin-right</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="kt">ex</span><span class="p">;</span> <span class="w"> </span><span class="k">padding</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="mi">4</span><span class="kt">px</span><span class="p">;</span> <span class="w"> </span><span class="k">background-color</span><span class="p">:</span><span class="w"> </span><span class="mh">#e8e8e8</span><span class="p">;</span><span class="w"> </span><span class="k">color</span><span class="p">:</span><span class="mh">#202122</span><span class="p">;</span><span class="w"> </span> <span class="w"> </span><span class="k">border</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="kt">px</span><span class="w"> </span><span class="kc">solid</span><span class="w"> </span><span class="mh">#aaa</span><span class="p">;</span> <span class="w"> </span><span class="k">border-radius</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="kt">px</span><span class="p">;</span> <span class="p">}</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id=""Steal"_the_preview_accesskey_(p)_for_the_"preview_with_this_template"_button_instead"><span id=".22Steal.22_the_preview_accesskey_.28p.29_for_the_.22preview_with_this_template.22_button_instead"></span>"Steal" the preview accesskey (p) for the "preview with this template" button instead</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=24" title="Edit section: "Steal" the preview accesskey (p) for the "preview with this template" button instead"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nx">sandboxPrev</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="w"> </span><span class="s1">'input[name="wpTemplateSandboxPreview"]'</span><span class="w"> </span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="nx">sandboxPrev</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nx">ak</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'p'</span><span class="p">;</span> <span class="w"> </span><span class="c1">// unbind other users of this accessKey</span> <span class="w"> </span><span class="nx">$</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="s1">'*[accessKey="'</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">ak</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s1">'"]'</span><span class="w"> </span><span class="p">)</span> <span class="w"> </span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="w"> </span><span class="s1">'accessKey'</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="p">);</span> <span class="w"> </span><span class="c1">// add it to our button</span> <span class="w"> </span><span class="nx">sandboxPrev</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="w"> </span><span class="s1">'accessKey'</span><span class="p">,</span><span class="w"> </span><span class="nx">ak</span><span class="w"> </span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Sticky_header_without_hiding_all_the_buttons_(Vector)"><span id="Sticky_header_without_hiding_all_the_buttons_.28Vector.29"></span>Sticky header without hiding all the buttons (Vector)</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=25" title="Edit section: Sticky header without hiding all the buttons (Vector)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-css mw-content-ltr" dir="ltr"><pre><span></span><span class="p">.</span><span class="nc">skin-vector-legacy</span><span class="w"> </span><span class="p">#</span><span class="nn">mw-head</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">position</span><span class="p">:</span><span class="w"> </span><span class="kc">fixed</span><span class="p">;</span> <span class="w"> </span><span class="k">background-image</span><span class="p">:</span><span class="w"> </span><span class="nb">linear-gradient</span><span class="p">(</span><span class="kc">to</span><span class="w"> </span><span class="kc">bottom</span><span class="p">,</span><span class="mh">#ffffff</span><span class="w"> </span><span class="mi">50</span><span class="kt">%</span><span class="p">,</span><span class="mh">#f6f6f6</span><span class="w"> </span><span class="mi">100</span><span class="kt">%</span><span class="p">);</span> <span class="p">}</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="Browser_UserScripts">Browser UserScripts</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=26" title="Edit section: Browser UserScripts"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading4"><h4 id="Add_the_Hathi_IDs_to_the_catalog_page_tables">Add the Hathi IDs to the catalog page tables</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=27" title="Edit section: Add the Hathi IDs to the catalog page tables"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-js mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">// ==UserScript==</span> <span class="c1">// @name Add Id to Hathi Catalog</span> <span class="c1">// @match https://catalog.hathitrust.org/*</span> <span class="c1">// @version 1.1</span> <span class="c1">// @updateURL https://gist.github.com/inductiveload/fc64a5d528654b76fe72e702887773a4#file-add_ids_to_hathi_catalog-js</span> <span class="c1">// ==/UserScript==</span> <span class="cm">/* Creates a simple cell element with the given text content */</span> <span class="kd">function</span><span class="w"> </span><span class="nx">create_cell_with_text</span><span class="p">(</span><span class="nx">tag</span><span class="p">,</span><span class="w"> </span><span class="nx">text</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">cell</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="nx">tag</span><span class="p">);</span> <span class="w"> </span><span class="nx">cell</span><span class="p">.</span><span class="nx">textContent</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nx">text</span><span class="p">;</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">cell</span><span class="p">;</span> <span class="p">}</span> <span class="nb">window</span><span class="p">.</span><span class="nx">addEventListener</span><span class="p">(</span><span class="s1">'load'</span><span class="p">,</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">entries</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">document</span><span class="p">.</span><span class="nx">querySelectorAll</span><span class="p">(</span><span class="s1">'.viewability-table tr a'</span><span class="p">);</span> <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="nx">link</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">entries</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">href</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">link</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s1">'href'</span><span class="p">);</span> <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">href</span><span class="p">.</span><span class="nx">split</span><span class="p">(</span><span class="s1">'/'</span><span class="p">).</span><span class="nx">at</span><span class="p">(</span><span class="o">-</span><span class="mf">1</span><span class="p">);</span> <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">row</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">link</span><span class="p">.</span><span class="nx">closest</span><span class="p">(</span><span class="s1">'tr'</span><span class="p">);</span> <span class="w"> </span><span class="nx">row</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">create_cell_with_text</span><span class="p">(</span><span class="s1">'td'</span><span class="p">,</span><span class="w"> </span><span class="nx">id</span><span class="p">));</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="nb">document</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s1">'.viewability-table thead tr'</span><span class="p">)</span> <span class="w"> </span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">create_cell_with_text</span><span class="p">(</span><span class="s1">'th'</span><span class="p">,</span><span class="w"> </span><span class="s1">'ID'</span><span class="p">));</span> <span class="p">});</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="One-liners">One-liners</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=28" title="Edit section: One-liners"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading4"><h4 id="Pywikibot">Pywikibot</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=29" title="Edit section: Pywikibot"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading5"><h5 id="List_all_indexes_which_have_a_page_with_a_linter_error">List all indexes which have a page with a linter error</h5><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=30" title="Edit section: List all indexes which have a page with a linter error"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sh mw-content-ltr" dir="ltr"><pre><span></span>python<span class="w"> </span>pwb.py<span class="w"> </span>listpages<span class="w"> </span>-ns:Page<span class="w"> </span>-linter:misnested-tag<span class="w"> </span>-format:<span class="s2">"Index:{page.title}"</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sed<span class="w"> </span>-E<span class="w"> </span><span class="s1">'s/\/[0-9]+$//'</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>uniq </pre></div> <p><br /> </p> <div class="mw-heading mw-heading4"><h4 id="Image_Processing">Image Processing</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=31" title="Edit section: Image Processing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading5"><h5 id="Convert_all_files_of_type_X_to_type_Y,_in_parallel"><span id="Convert_all_files_of_type_X_to_type_Y.2C_in_parallel"></span>Convert all files of type X to type Y, in parallel</h5><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=32" title="Edit section: Convert all files of type X to type Y, in parallel"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sh mw-content-ltr" dir="ltr"><pre><span></span>find<span class="w"> </span>.<span class="w"> </span>-type<span class="w"> </span>f<span class="w"> </span>-name<span class="w"> </span><span class="s1">'*.png'</span><span class="w"> </span>-print0<span class="w"> </span><span class="p">|</span><span class="w"> </span>parallel<span class="w"> </span>-0<span class="w"> </span>convert<span class="w"> </span><span class="o">{}</span><span class="w"> </span><span class="o">{</span>.<span class="o">}</span>.pbm </pre></div> <div class="mw-heading mw-heading5"><h5 id="Make_an_image_showing_only_not-black_and_not-white_pixels">Make an image showing only not-black and not-white pixels</h5><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=33" title="Edit section: Make an image showing only not-black and not-white pixels"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sh mw-content-ltr" dir="ltr"><pre><span></span>convert<span class="w"> </span>input.png<span class="w"> </span>-colorspace<span class="w"> </span>rgb<span class="w"> </span>-fill<span class="w"> </span>white<span class="w"> </span>-opaque<span class="w"> </span>black<span class="w"> </span>-fill<span class="w"> </span>red<span class="w"> </span>+opaque<span class="w"> </span>output.png </pre></div> <div class="mw-heading mw-heading3"><h3 id="PDF/DJVU_processing"><span id="PDF.2FDJVU_processing"></span>PDF/DJVU processing</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=34" title="Edit section: PDF/DJVU processing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading5"><h5 id="Fix_a_PDF_that_chokes_ImageMagic_due_to_"bad_streams""><span id="Fix_a_PDF_that_chokes_ImageMagic_due_to_.22bad_streams.22"></span>Fix a PDF that chokes ImageMagic due to "bad streams"</h5><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=35" title="Edit section: Fix a PDF that chokes ImageMagic due to "bad streams""><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-highlight mw-highlight-lang-sh mw-content-ltr" dir="ltr"><pre><span></span>gs<span class="w"> </span>-o<span class="w"> </span>generated.pdf<span class="w"> </span>-sDEVICE<span class="o">=</span>pdfwrite<span class="w"> </span>-dPDFSETTINGS<span class="o">=</span>/prepress<span class="w"> </span>input.pdf </pre></div> <div class="mw-heading mw-heading3"><h3 id="Functions">Functions</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=36" title="Edit section: Functions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Some extra functions that might be handy for other scripts: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r12247331"> <div class="wst-div-col columns" style="-moz-column-count:2; -webkit-column-count:2; column-count:2;-moz-column-width:20em; -webkit-column-width:20em; column-width:20em;"> <ul><li><a href="/wiki/User:Inductiveload/Roman_numerals.js" title="User:Inductiveload/Roman numerals.js">Roman numerals.js</a> - couple of functions that might be handy</li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="The_rant_zone">The rant zone</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=37" title="Edit section: The rant zone"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:WMF_staff_list_sections_-_technology.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/d/db/WMF_staff_list_sections_-_technology.png/220px-WMF_staff_list_sections_-_technology.png" decoding="async" width="220" height="291" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/d/db/WMF_staff_list_sections_-_technology.png 1.5x" data-file-width="302" data-file-height="399" /></a><figcaption>In its rightful place, at the bottom of the list.</figcaption></figure> <p>What does a <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/about/financial-reports/">$130 million budget</a> <i>not</i> get you? </p> <ul><li><a href="https://phabricator.wikimedia.org/T95878" class="extiw" title="phab:T95878">phab:T95878</a> (filed 2015) There's <i>still</i> no mobile editing for Wikidata, after <i>9 years</i>. Seriously. <ul><li><a href="https://phabricator.wikimedia.org/T259183" class="extiw" title="phab:T259183">phab:T259183</a> The totally-not-beta UI is also still trash on "narrow" screens.</li></ul></li> <li><del><a href="https://phabricator.wikimedia.org/T278104" class="extiw" title="phab:T278104">phab:T278104</a> Commons uploading is <i>still</i> totally broken for files over 100MB and <a href="https://phabricator.wikimedia.org/F34619646" class="extiw" title="phab:F34619646">no one cares</a>, even though it's blocking IA Upload all the time and also preventing various other uploads</del> Fixed after 7 months.</li> <li><a href="https://phabricator.wikimedia.org/T288980" class="extiw" title="phab:T288980">phab:T288980</a> <del>WVUI</del> Codex might one day get usable by general folk?</li> <li>OOUI is now not only barely documented and horrific to actually use (OK actually it's pretty good from the server side), but also no-one cares because it's going to get "one day, promise" replaced by WVUI</li> <li>VisualEditor (aka the 2017 editor!) is <i>still</i> completely useless, and not just at Wikisource</li> <li>Literally every data model is <i>still</i> work in progress for both WD and SDC and no one cares.</li> <li><a href="https://phabricator.wikimedia.org/T121646" class="extiw" title="phab:T121646">phab:T121646</a> (filed 2016) There's <i>still</i> no API for evicting data from local storage.</li> <li>There's <i>still</i> no guidance for best practices for gadgets. None.</li> <li>The chat ecosystem is completed fragmented into siloed commercial apps and trying to bridge them together is, at best, shunted to "Volunteer time". Just pay for a darn Matrix homeserver like every other FOSS project and stop pretending like everyone will use IRC in 2021 instead of leaving for Discord and Telegram. Even the WMF doesn't really use IRC, it hides its machinations on Slack so no-one can see what the hell is going on.</li> <li>Speaking of, why does <i>Community</i> Tech not work in the open?</li></ul> <p>But they still need your cash for...something? And the begging banner will use every dark pattern they can fit in there. </p><p>And a textbook example of the Mrs Micawber principle (<style data-mw-deduplicate="TemplateStyles:r14385321">.mw-parser-output .inline-quote-talk{font-family:Georgia,"DejaVu Serif",serif;color:#008560;quotes:none}.mw-parser-output .inline-quote-talk-italic{font-family:inherit;font-style:italic}.mw-parser-output .inline-quote-talk-marks{quotes:"\"""\""}</style><q class="inline-quote-talk">Annual income twenty pounds, annual expenditure nineteen nineteen six, result happiness. Annual income twenty pounds, annual expenditure twenty pounds nought and six, result misery</q>): </p> <pre>Tasks created in (2021-12): 1617 Tasks closed in (2021-12): 1325 Open and stalled tasks in total: 49056 Median age in days of open tasks by priority: Unbreak now: 24 Needs Triage: 726 High: 1033 Normal: 1601 Low: 2210 Lowest: 2290 </pre> <div class="mw-heading mw-heading2"><h2 id="The_counter-rant_zone_(aka_why_maybe_it's_not_all_bad)"><span id="The_counter-rant_zone_.28aka_why_maybe_it.27s_not_all_bad.29"></span>The counter-rant zone (aka why maybe it's not all bad)</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=38" title="Edit section: The counter-rant zone (aka why maybe it's not all bad)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>The <a href="/wiki/Special:ApiSandbox" title="Special:ApiSandbox">Special:APISandbox</a> is brilliant</li> <li>The Wikipedia Library is brilliant</li> <li>Commons providing basically infinite storage is brilliant</li> <li>Toolforge and WMCS is brilliant</li> <li>Site Reliability knows where their towels are</li> <li>An API that allows Pywikibot can't be all that bad</li></ul> <div class="mw-heading mw-heading2"><h2 id="Maintenance_and_reports">Maintenance and reports</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=39" title="Edit section: Maintenance and reports"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Below are lists of pages in Wikisource which are useful for various purposes. All of these could be out of date. If you really need up-to-date reports, just leave me a note, and I will do it as soon as I can. </p> <ul><li><a href="/wiki/User:Inductiveload/templates" title="User:Inductiveload/templates">templates</a> A list of all templates in use on enWS, along with links and usage counts.</li> <li><a href="/wiki/User:Inductiveload/wikisource_pages" title="User:Inductiveload/wikisource pages">wikisource pages</a> A list of all Wikisource namespace pages.</li> <li><a href="/wiki/User:Inductiveload/portals" title="User:Inductiveload/portals">portals</a> A list of all Portal pages.</li> <li><a href="/wiki/User:Inductiveload/ws-portal_redirects" title="User:Inductiveload/ws-portal redirects">ws-portal redirects</a> A list of all Wikisource pages which redirect to Portal pages. No pages should link to these.</li> <li><a href="/w/index.php?title=User:Inductiveload/ws-wp_no_backlink&action=edit&redlink=1" class="new" title="User:Inductiveload/ws-wp no backlink (page does not exist)">ws-wp no backlink</a> A list of Wikisource pages linking to Wikipedia pages which do <i>not</i> link back here.</li> <li><a href="/wiki/User:Inductiveload/false_root_pages" title="User:Inductiveload/false root pages">false root pages</a> A list of pages that should be subpages but aren't.</li></ul> <ul><li><a href="/wiki/User:Inductiveload/site-css-js" title="User:Inductiveload/site-css-js">site-css-js</a>: in-progress CSS tidying-up - look here for CSS and/or JS moved out of MediaWiki namespace (rather than being deleted)</li></ul> <ul><li><a href="/wiki/User:Inductiveload/SPARQL" title="User:Inductiveload/SPARQL">SPARQL</a>: Useful SPARQL queries.</li> <li><a href="/wiki/User:Inductiveload/HTML_processing" title="User:Inductiveload/HTML processing">HTML processing</a>: Useful HTML transforms for extracting data</li></ul> <ul><li><a class="external text" href="https://grafana.wikimedia.org/d/Pukjw6cWk/thumbor?viewPanel=8&orgId=1&refresh=30s&from=now-7d&to=now">Live thumbnail generation times</a></li></ul> <ul><li><a href="https://petscan.wmflabs.org/?psid=19363685" class="extiw" title="petscan:19363685">petscan:19363685</a>: Proofread indexes not transcluded</li> <li><a href="https://petscan.wmflabs.org/?psid=19363689" class="extiw" title="petscan:19363689">petscan:19363689</a>: Validated indexes not transcluded</li></ul> <div class="mw-heading mw-heading2"><h2 id="Bot_activities">Bot activities</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=40" title="Edit section: Bot activities"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>I operate a bot, <a href="/wiki/User:InductiveBot" title="User:InductiveBot">InductiveBot</a>, which performs minor maintenance tasks. It is based on pywikipedia and is quite flexible. If you have a specific request, please let me know on my talk page, and I'll see what I can do! </p> <ul><li><a href="/wiki/User:Inductiveload/InductiveBot_information" title="User:Inductiveload/InductiveBot information">InductiveBot information</a>, containing information about custom scripts runnig over pywikipedia, etc.</li></ul> <div class="mw-heading mw-heading2"><h2 id="MW_dev">MW dev</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=41" title="Edit section: MW dev"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Run_extension_linter">Run extension linter</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=42" title="Edit section: Run extension linter"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <pre>docker-compose exec mediawiki bash -c "cd extensions/ProofreadPage && composer install" docker-compose exec mediawiki bash -c "cd extensions/ProofreadPage && composer test" docker-compose exec mediawiki bash -c "cd extensions/ProofreadPage && composer phan" </pre> <div class="mw-heading mw-heading3"><h3 id="Run_extension_parser_tests">Run extension parser tests</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=43" title="Edit section: Run extension parser tests"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <pre>docker-compose exec mediawiki php tests/parser/parserTests.php --file=extensions/ProofreadPage/tests/parser/proofreadpage_pages_pagelist.txt </pre> <p>Or to run all the tests in a directory: </p> <pre>docker-compose exec mediawiki sh -c 'find extensions/ProofreadPage/tests -name "*.txt" -exec php tests/parser/parserTests.php --file={} \;' </pre> <div class="mw-heading mw-heading3"><h3 id="Run_extension_unit_tests">Run extension unit tests</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=44" title="Edit section: Run extension unit tests"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <pre>docker-compose exec mediawiki php tests/phpunit/phpunit.php extensions/ProofreadPage/tests/phpunit </pre> <div class="mw-heading mw-heading3"><h3 id="Run_linter">Run linter</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=45" title="Edit section: Run linter"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <pre>npm run-script test </pre> <div class="mw-heading mw-heading3"><h3 id="Snippets">Snippets</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=46" title="Edit section: Snippets"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading4"><h4 id="PHP:_Logging">PHP: Logging</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=47" title="Edit section: PHP: Logging"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><code>\MWDebug::log('foobar');</code></li></ul> <div class="mw-heading mw-heading4"><h4 id="PDF_munging">PDF munging</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=48" title="Edit section: PDF munging"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <dl><dt>Extract page labels from a PDF → JSON</dt></dl> <p>For meanings of /P, /S, /St see <b>§8.3.1 Page Labels</b> in the <a rel="nofollow" class="external text" href="https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/pdf_reference_archives/PDFReference.pdf">PDF Spec</a> </p> <pre>qpdf --json --object-streams=disable ss.pdf | jq '[ .pages[] | .label ]' </pre> <div class="mw-heading mw-heading4"><h4 id="Pywikibot_2">Pywikibot</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=49" title="Edit section: Pywikibot"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <dl><dt>Transfer an image from Commons to enWS</dt></dl> <pre>./pwb.py imagetransfer -site:commons:commons -tosite:wikisource:en -keepname -force_if_shared "File:Foobar.djvu" </pre> <div class="mw-heading mw-heading3"><h3 id="Random_links">Random links</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=50" title="Edit section: Random links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <dl><dt>mw.hook fire points</dt> <dd><a rel="nofollow" class="external free" href="https://codesearch.wmcloud.org/search/?q=mw%5C.hook(.*)%5C.fire&i=nope&files=&excludeFiles=&repos=">https://codesearch.wmcloud.org/search/?q=mw%5C.hook(.*)%5C.fire&i=nope&files=&excludeFiles=&repos=</a></dd> <dt>Current lag</dt> <dd><a class="external free" href="https://en.wikisource.org/w/api.php?action=query&titles=MediaWiki&format=json&maxlag=-1">https://en.wikisource.org/w/api.php?action=query&titles=MediaWiki&format=json&maxlag=-1</a></dd> <dt>All wikis edit firehose</dt> <dd><a class="external free" href="https://event-streams.toolforge.org/">https://event-streams.toolforge.org/</a></dd> <dt>Wikisource Image Uploader uploads at Commons</dt> <dd></dd> <dd><a class="external free" href="https://commons.wikimedia.org/wiki/Special:RecentChanges?tagfilter=OAuth+CID%3A+2348">https://commons.wikimedia.org/wiki/Special:RecentChanges?tagfilter=OAuth+CID%3A+2348</a></dd> <dt>Zuul Status (Gerrit → Jenkins pipeline)</dt> <dd><a class="external free" href="https://integration.wikimedia.org/zuul/">https://integration.wikimedia.org/zuul/</a></dd> <dt>Thumbor thumbnails - Grafana dashboard</dt> <dd></dd> <dd><a class="external free" href="https://grafana.wikimedia.org/d/Pukjw6cWk/thumbor">https://grafana.wikimedia.org/d/Pukjw6cWk/thumbor</a></dd> <dt>Upload files to Phabricator</dt> <dd><a class="external free" href="https://phabricator.wikimedia.org/file/upload/">https://phabricator.wikimedia.org/file/upload/</a></dd></dl> <div class="mw-heading mw-heading2"><h2 id="Useful_things_to_share">Useful things to share</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=51" title="Edit section: Useful things to share"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>These are some useful scripts I have hacked together. I guarantee nothing! They are certainly not always neatly coded or structured, but they work for quick and dirty jobs. </p> <ul><li><a href="/wiki/User:Inductiveload/Script_development" title="User:Inductiveload/Script development">Script development</a>: general notes on JS script development</li> <li><a href="/wiki/User:Inductiveload/Wikisource_in_Docker" title="User:Inductiveload/Wikisource in Docker">Wikisource in Docker</a>: setting up a dev Wikisource in Docker</li></ul> <ul><li><a href="/wiki/User:Inductiveload/Scripts/Universal_batch_image_to_DJVU_converter" title="User:Inductiveload/Scripts/Universal batch image to DJVU converter">Universal batch image to DJVU converter</a>. This script takes JPG, GIF, PNG, TIFF and anything else that Imagemagick can convert to PPM.</li> <li><a href="/wiki/User:Inductiveload/Scripts/DJVU_OCR" title="User:Inductiveload/Scripts/DJVU OCR">DJVU OCRing script</a> which uses Tesseract to OCR and insert a text layer into a DJVU</li> <li><a href="/wiki/User:Inductiveload/Scripts/Pagewise_DJVU_OCR_extractor" title="User:Inductiveload/Scripts/Pagewise DJVU OCR extractor">Pagewise DJVU OCR extractor</a></li> <li><a href="/wiki/User:Inductiveload/Scripts/Index_page_tabulator" title="User:Inductiveload/Scripts/Index page tabulator">Index page tabulator</a>, creates tables of individual files for use in collecting files into an index page. See for example <a href="/wiki/Index:The_Complete_Collection_of_Pictures_%26_Songs_by_Randolph_Caldecott.jpg" title="Index:The Complete Collection of Pictures & Songs by Randolph Caldecott.jpg">Index:The Complete Collection of Pictures & Songs by Randolph Caldecott.jpg</a>.</li> <li><a href="/wiki/User:Inductiveload/Scripts/template_usage" title="User:Inductiveload/Scripts/template usage">Template usage tabulator</a>. This script generates a table of all templates, along with the number of uses. Results can be found at <a href="/wiki/User:Inductiveload/templates" title="User:Inductiveload/templates">User:Inductiveload/templates</a>. Ask me if you want it regenerating, but bear in mind that it is a lot of requests to the server.</li> <li><a href="/wiki/User:Inductiveload/Page_namespace_editor" class="mw-redirect" title="User:Inductiveload/Page namespace editor">Page namespace editor</a> A simple script to decompose Page: namespace pages, perform operations on the header, footer, and body separately, and reupload.</li> <li><a href="/wiki/User:Inductiveload/Scripts/Page_shifter" class="mw-redirect" title="User:Inductiveload/Scripts/Page shifter">Page shifter</a> A script to shift a set of Page: pages within the same index, or move to a different index.</li> <li><a href="/wiki/User:Inductiveload/Scripts/PDF_page_converter" title="User:Inductiveload/Scripts/PDF page converter">PDF page converter</a> A shell script to convert a PDF to images (threaded and doesn't run out of memory and die after a few hundred pages like <samp>convert</samp> can do)</li> <li><a href="/wiki/User:Inductiveload/Scripts/Image_splitter" title="User:Inductiveload/Scripts/Image splitter">Image splitter</a> A Python script to split images in two. This is useful if you have books scanned at two-page spreads.</li> <li><a href="/wiki/User:Inductiveload/Scripts/Page_concatenator" title="User:Inductiveload/Scripts/Page concatenator">Page concatenator</a> A Python/Pywikipedia script to grab a bunch of pages and string them together. Good for assembling a complete text out of many chapter subpages prior to match and split.</li> <li><a href="/wiki/User:Inductiveload/Scripts/Archive.org_API" title="User:Inductiveload/Scripts/Archive.org API">Archive.org API</a> How to use the Internet Archive S3-like API to upload large files, instead of the flaky web-client.</li> <li><a href="/wiki/User:Inductiveload/Scripts/Move_to_subpage" title="User:Inductiveload/Scripts/Move to subpage">Move to subpage</a> Python script to bulk-move pages to subpages. Documentation on how to drive it is at <a href="/wiki/User:Inductiveload/Requests/Moves_to_subpages" title="User:Inductiveload/Requests/Moves to subpages">/Requests/Moves to subpages</a>.</li> <li><a href="/wiki/User:Inductiveload/Scripts/upload_image.py" title="User:Inductiveload/Scripts/upload image.py">/Scripts/upload_image.py</a> Uploads images for works based on a YAML data file</li></ul> <div class="mw-heading mw-heading3"><h3 id="Tesseract_retraining_project">Tesseract retraining project</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=52" title="Edit section: Tesseract retraining project"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><i>Very</i> slowly, I am working on a retraining of some models for Tesseract: <a href="/wiki/User:Inductiveload/Tesseract" title="User:Inductiveload/Tesseract">Tesseract</a> </p> <div class="mw-heading mw-heading3"><h3 id="General_Python_scripts">General Python scripts</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=53" title="Edit section: General Python scripts"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/User:Inductiveload/Integer_to_Roman_numerals_converter" title="User:Inductiveload/Integer to Roman numerals converter">Integer to Roman numerals converter</a> (eg. 11 -> XI)</li></ul> <div class="mw-heading mw-heading3"><h3 id="GIMP_scripts">GIMP scripts</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=54" title="Edit section: GIMP scripts"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>The best one: <ul><li><a href="/wiki/User:Inductiveload/Whiten-background.scm" title="User:Inductiveload/Whiten-background.scm">Whiten-background.scm</a> Gimp script to remove the background of an image. An adaptation of a script by Leonid Koninin. This is fairly harsh on some images, so use with care.</li></ul></li></ul> <ul><li>Less good ones:</li> <li><a href="/wiki/User:Inductiveload/Remove-paper-texture.scm" title="User:Inductiveload/Remove-paper-texture.scm">Remove-paper-texture.scm</a> Gimp script to remove the paper background from a scan of a black and white image by a pretty brutal adjustment of the levels</li> <li><a href="/wiki/User:Inductiveload/Remove-background-colour.scm" title="User:Inductiveload/Remove-background-colour.scm">Remove-background-colour.scm</a> Gimp script to remove a flat background colour from an image. This is a fairly brutal algorithm, use with care on delicate images. Essentially, this is just a "bundle" of "select colour, erase the colour, and desaturate. It'll likely be better to use one of the above scripts, but this one is fairly instructive from a script-writing point of view.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Bibliographic_junk">Bibliographic junk</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=55" title="Edit section: Bibliographic junk"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external free" href="http://www.rdaregistry.info/termList/">http://www.rdaregistry.info/termList/</a> <ul><li><a class="external text" href="https://query.wikidata.org/#SELECT%20%3Fitem%20%3FitemLabel%20%3Frda%0AWHERE%20%0A%7B%0A%20%20%3Fitem%20wdt%3AP9236%20%3Frda.%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%20%23%20Helps%20get%20the%20label%20in%20your%20language%2C%20if%20not%2C%20then%20en%20language%0A%7D">Wikidata items with RDA term mappings</a></li></ul></li></ul> <div class="mw-heading mw-heading3"><h3 id="Data_module_ecosystem">Data module ecosystem</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=56" title="Edit section: Data module ecosystem"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><b>None</b> of these work fully. Yet. </p> <dl><dt>Core modules</dt></dl> <ul><li><a href="/w/index.php?title=Module:Work_data&action=edit&redlink=1" class="new" title="Module:Work data (page does not exist)">Module:Work data</a>: Provides data about a work in general. <ul><li><a href="/wiki/Module:Work_data/properties" title="Module:Work data/properties">Module:Work data/properties</a>: Core property ID maps</li> <li><a href="/wiki/Module:Work_license" title="Module:Work license">Module:Work license</a>: provides information about the license of a work</li></ul></li></ul> <dl><dt>Client modules</dt></dl> <ul><li><a href="/wiki/Module:Work_link" title="Module:Work link">Module:Work link</a></li></ul> <div class="mw-heading mw-heading3"><h3 id="One_touch_template_wrapping_with_Autohotkey">One touch template wrapping with Autohotkey</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=57" title="Edit section: One touch template wrapping with Autohotkey"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>If you use <a href="https://en.wikipedia.org/wiki/Autohotkey" class="extiw" title="w:Autohotkey">Autohotkey</a> (and you should be), the following is a useful function that lets you wrap the current mouse selection in a template, which saves you having to paste in the contents. </p> <pre>F2 & s :: wrapTemplate("sc") ; small caps wrapTemplate( name ) { front :="{{}{{}" . name . "|" back :="{}}{}}" wrapTags( front, back) return } wrapTags( front, back ) { AutoTrim Off  ; Retain any leading and trailing whitespace on the clipboard. ClipSaved := ClipboardAll  ; Save the entire clipboard so we can restore it when we're done clipboard =  ; clear the clipboard SendInput ^x  ; cut the selection to the clipboard ClipWait  ; wait for the clipboard to contain something SendInput %front%%clipboard%%back% ; Output what was selected, surrounded by front and back Clipboard := ClipSaved  ; Restore the original clipboard ClipSaved =  ; Free the memory in case the clipboard was very large. return } </pre> <div class="mw-heading mw-heading3"><h3 id="Regular_expressions">Regular expressions</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=58" title="Edit section: Regular expressions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <table class="wikitable" style="margin:auto"> <tbody><tr> <th width="300">Function </th> <th>Search pattern </th> <th>Replacement Pattern </th></tr> <tr> <td>Remove single newlines. Useful for OCR'd text </td> <td style="font-family:monospace;">/([^\n])\n([^\n])/g </td> <td style="font-family:monospace;">'$1 $2' </td></tr> <tr> <td>Convert relative links to static links. Useful when putting a TOC in the Page: namespace. </td> <td style="font-family:monospace;">(/\[\[\/(.*)\/\]\]/g </td> <td style="font-family:monospace;">'\[\[$1\|$1\]\]' </td></tr></tbody></table> <div class="mw-heading mw-heading2"><h2 id="My_requests">My requests</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=59" title="Edit section: My requests"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Works I'm keeping an eye out for. </p> <div class="mw-heading mw-heading3"><h3 id="Periodicals">Periodicals</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=60" title="Edit section: Periodicals"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><i><a href="/wiki/Portal:Scientific_Machinist" title="Portal:Scientific Machinist">Scientific Machinist</a></i> (only have v. 10)</li> <li><i><span class="module-wikidata-link"><a href="/wiki/Portal:The_Optician_and_Scientific_Instrument_Maker" title="Portal:The Optician and Scientific Instrument Maker">The Optician and Scientific Instrument Maker</a></span></i> (only have v. 62)</li> <li><i><a href="/w/index.php?title=Cornell_Studies_in_Classical_Philology&action=edit&redlink=1" class="new" title="Cornell Studies in Classical Philology (page does not exist)">Cornell Studies in Classical Philology</a></i> (lots on the IA)</li></ul> <div class="mw-heading mw-heading2"><h2 id="Technical_wishlist">Technical wishlist</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=61" title="Edit section: Technical wishlist"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Some things I'd like to see done (that isn't actual proofreading). Some of it is unimportant, some of it may be controversial and un-discussed, but would be nice to address and tighten up. </p> <ul><li>Get dynamic layouts to work for non scan-backed works and scrap {{<a href="/wiki/Template:Prose" title="Template:Prose">prose</a>}} and other hard-coded formatting.</li> <li>Fix poem tags - only by having all lines as p or span-tags can we have hanging-indented continuation lines like 95% of all printed poems are. Stanzas should be divs . Might need a whole new tag in the poem extension, but might not be that hard?(???)</li> <li>Train Tesseract specifically for 1700s-style printing esp. with long-s</li> <li>Allow match-and-split to match to PDFs (since there are now ~1m PDFs on Commons)</li> <li>Get para breaks working in OCR loading: <a href="https://phabricator.wikimedia.org/T230415" class="extiw" title="phab:T230415">phab:T230415</a></li> <li>Add common fonts: <ul><li>Cursive: <a href="https://phabricator.wikimedia.org/T166138" class="extiw" title="phab:T166138">phab:T166138</a></li> <li>JUnicode: <a href="https://phabricator.wikimedia.org/T173573" class="extiw" title="phab:T173573">phab:T173573</a></li> <li>Sans Outline (and remove hacks like ℕ𝔼𝕎 𝕐𝕆ℝ𝕂)</li> <li>Serif Outline</li> <li>Maybe a better Polytonic greek?</li></ul></li> <li>Move <a href="/wiki/MediaWiki:Proofreadpage_index_template" title="MediaWiki:Proofreadpage index template">MediaWiki:Proofreadpage_index_template</a> to a module</li> <li>Move <a href="/wiki/Template:Header" title="Template:Header">Template:Header</a> to module</li></ul> <div class="mw-heading mw-heading3"><h3 id="Half-done">Half-done</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=62" title="Edit section: Half-done"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Ebook review process leading to categorisation, then... <span style="font-size: 83%;"><a href="/wiki/Category:Ready_for_export" title="Category:Ready for export">Category:Ready for export</a></span></li> <li>Improve index autofill to fetch author links from Commons creator templates: Getting there: <a href="/wiki/MediaWiki:Gadget-Fill_Index.js" title="MediaWiki:Gadget-Fill Index.js">Mediawiki:Gadget-Fill Index.js</a></li> <li><s>Fix {{<a href="/wiki/Template:FI" class="mw-redirect" title="Template:FI">FI</a>}} which is invoking full-size images every single time.</s> Merge with and/or deprecate {{<a href="/wiki/Template:Large_image" title="Template:Large image">large image</a>}}.</li> <li>Fix headers on mobile, the tabular structure is unfriendly on narrow screens (main header done, other namespaces pending main header module-ificaton). See {{<a href="/w/index.php?title=Template:Header/main_block&action=edit&redlink=1" class="new" title="Template:Header/main block (page does not exist)">header/main block</a>}}</li></ul> <div class="mw-heading mw-heading3"><h3 id="Done">Done</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:Inductiveload&action=edit&section=63" title="Edit section: Done"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Tool to convert import IA page list JSON: <a href="/wiki/MediaWiki:Gadget-ImportPagelist.js" title="MediaWiki:Gadget-ImportPagelist.js">Mediawiki:Gadget-ImportPagelist.js</a></li> <li>Fix the print CSS: centre is broken Fixed: <a href="/wiki/Special:Diff/10503724/prev" title="Special:Diff/10503724/prev">diff</a></li> <li>Fix page numbers in {{<a href="/wiki/Template:TOC_begin" title="Template:TOC begin">TOC begin</a>}} c.f. <a href="https://phabricator.wikimedia.org/T232477" class="extiw" title="phab:T232477">phab:T232477</a></li> <li>ODPS catalogue of "exportable" ebooks for integration into e-readers: <a href="https://phabricator.wikimedia.org/T270387" class="extiw" title="phab:T270387">phab:T270387</a>. See <a href="/wiki/Category:Ready_for_export" title="Category:Ready for export">Category:Ready for export</a> for link</li></ul> <!-- NewPP limit report Parsed by mw‐api‐int.codfw.main‐849f99967d‐k9mjd Cached time: 20241125061711 Cache expiry: 495781 Reduced expiry: true Complications: [no‐toc] CPU time usage: 0.375 seconds Real time usage: 0.508 seconds Preprocessor visited node count: 1779/1000000 Post‐expand include size: 11384/2097152 bytes Template argument size: 3237/2097152 bytes Highest expansion depth: 11/100 Expensive parser function count: 26/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 80877/5000000 bytes Lua time usage: 0.062/10.000 seconds Lua memory usage: 2364108/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 339.805 1 -total 30.82% 104.745 1 Template:Collaboration/MC 25.13% 85.392 14 Template:Flatlist 21.50% 73.065 1 Template:Dropinitial 13.28% 45.134 3 Template:Monthly_Challenge_statistics 12.00% 40.761 16 Template:Optional_style 9.16% 31.118 1 Template:Wdl 8.04% 27.320 2 Template:Category_handler 7.14% 24.273 2 Template:Div_col 3.20% 10.885 1 Template:Tqi --> <!-- Saved in parser cache with key enwikisource:pcache:idhash:586148-0!canonical and timestamp 20241125061711 and revision id 14666435. 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://en.wikisource.org/w/index.php?title=User:Inductiveload&oldid=14666435">https://en.wikisource.org/w/index.php?title=User:Inductiveload&oldid=14666435</a>"</div></div> <div id="catlinks" class="catlinks catlinks-allhidden" data-mw="interface"></div> </div> </div> <div id="mw-navigation"> <h2>Navigation menu</h2> <div id="mw-head"> <nav id="p-personal" class="mw-portlet mw-portlet-personal vector-user-menu-legacy vector-menu" aria-labelledby="p-personal-label" > <h3 id="p-personal-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Personal tools</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anonuserpage" class="mw-list-item"><span title="The user page for the IP address you are editing as">Not logged in</span></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><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-createaccount" class="mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=User%3AInductiveload" title="You are encouraged to create an account and log in; however, it is not mandatory"><span>Create account</span></a></li><li id="pt-login" class="mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=User%3AInductiveload" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span>Log in</span></a></li> </ul> </div> </nav> <div id="left-navigation"> <nav id="p-namespaces" class="mw-portlet mw-portlet-namespaces vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-namespaces-label" > <h3 id="p-namespaces-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Namespaces</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-user" class="selected mw-list-item"><a href="/wiki/User:Inductiveload" title="View the user page [c]" accesskey="c"><span>User page</span></a></li><li id="ca-talk" class="mw-list-item"><a href="/wiki/User_talk:Inductiveload" rel="discussion" title="Discussion about the content page [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </nav> <nav id="p-variants" class="mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-variants-label" > <input type="checkbox" id="p-variants-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-variants" class="vector-menu-checkbox" aria-labelledby="p-variants-label" > <label id="p-variants-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">English</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> </div> <div id="right-navigation"> <nav id="p-views" class="mw-portlet mw-portlet-views vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-views-label" > <h3 id="p-views-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Views</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected mw-list-item"><a href="/wiki/User:Inductiveload"><span>Read</span></a></li><li id="ca-edit" class="mw-list-item"><a href="/w/index.php?title=User:Inductiveload&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="mw-list-item"><a href="/w/index.php?title=User:Inductiveload&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </nav> <nav id="p-cactions" class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-cactions-label" title="More options" > <input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label" > <label id="p-cactions-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">More</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <h3 >Search</h3> <form action="/w/index.php" id="searchform" class="vector-search-box-form"> <div id="simpleSearch" class="vector-search-box-inner" data-search-loc="header-navigation"> <input class="vector-search-box-input" type="search" name="search" placeholder="Search Wikisource" aria-label="Search Wikisource" autocapitalize="sentences" title="Search Wikisource [f]" accesskey="f" id="searchInput" > <input type="hidden" name="title" value="Special:Search"> <input id="mw-searchButton" class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Search the pages for this text" value="Search"> <input id="searchButton" class="searchButton" type="submit" name="go" title="Go to a page with this exact name if it exists" value="Go"> </div> </form> </div> </div> </div> <div id="mw-panel" class="vector-legacy-sidebar"> <div id="p-logo" role="banner"> <a class="mw-wiki-logo" href="/wiki/Main_Page" title="Visit the main page"></a> </div> <nav id="p-navigation" class="mw-portlet mw-portlet-navigation vector-menu-portal portal vector-menu" aria-labelledby="p-navigation-label" > <h3 id="p-navigation-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Navigation</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main Page</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikisource:Community_portal" title="About the project, what you can do, where to find things"><span>Community portal</span></a></li><li id="n-scriptorium" class="mw-list-item"><a href="/wiki/Wikisource:Scriptorium"><span>Central discussion</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-subjectindex" class="mw-list-item"><a href="/wiki/Portal:Portals"><span>Subject index</span></a></li><li id="n-categoryauthors" class="mw-list-item"><a href="/wiki/Category:Authors_by_alphabetical_order"><span>Authors</span></a></li><li id="n-randomwork" class="mw-list-item"><a href="/wiki/Special:RandomRootpage/Main"><span>Random work</span></a></li><li id="n-randomauthor" class="mw-list-item"><a href="/wiki/Special:RandomRootpage/Author"><span>Random author</span></a></li><li id="n-randomindex" class="mw-list-item"><a href="/wiki/Special:RandomRootpage/Index"><span>Random transcription</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="The place to find out"><span>Help</span></a></li><li id="n-sitesupport" class="mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikisource.org&uselang=en" title="Support us"><span>Donate</span></a></li> </ul> </div> </nav> <nav id="p-do" class="mw-portlet mw-portlet-do emptyPortlet vector-menu-portal portal vector-menu" aria-labelledby="p-do-label" > <h3 id="p-do-label" class="vector-menu-heading " > <span class="vector-menu-heading-label"></span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> <nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu-portal portal vector-menu" aria-labelledby="p-tb-label" > <h3 id="p-tb-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Tools</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/User:Inductiveload" 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/User:Inductiveload" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-contributions" class="mw-list-item"><a href="/wiki/Special:Contributions/Inductiveload" title="A list of contributions by this user"><span>User contributions</span></a></li><li id="t-log" class="mw-list-item"><a href="/wiki/Special:Log/Inductiveload"><span>Logs</span></a></li><li id="t-userrights" class="mw-list-item"><a href="/wiki/Special:UserRights/Inductiveload"><span>View user groups</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=User:Inductiveload&oldid=14666435" 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=User:Inductiveload&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikisource.org%2Fwiki%2FUser%3AInductiveload"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikisource.org%2Fwiki%2FUser%3AInductiveload"><span>Download QR code</span></a></li> </ul> </div> </nav> <nav id="p-electronpdfservice-sidebar-portlet-heading" class="mw-portlet mw-portlet-electronpdfservice-sidebar-portlet-heading vector-menu-portal portal vector-menu" aria-labelledby="p-electronpdfservice-sidebar-portlet-heading-label" > <h3 id="p-electronpdfservice-sidebar-portlet-heading-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Print/export</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="electron-print_pdf" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=User%3AInductiveload&action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </nav> <nav id="p-wikibase-otherprojects" class="mw-portlet mw-portlet-wikibase-otherprojects emptyPortlet vector-menu-portal portal vector-menu" aria-labelledby="p-wikibase-otherprojects-label" > <h3 id="p-wikibase-otherprojects-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In other projects</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> <nav id="p-lang" class="mw-portlet mw-portlet-lang vector-menu-portal portal vector-menu" aria-labelledby="p-lang-label" > <h3 id="p-lang-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In other languages</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="uls-after-portlet-link"></span></div> </div> </nav> </div> </div> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 22 November 2024, at 13:30.</li> <li id="footer-info-copyright">Text is available under the <a rel="nofollow" class="external text" href="//creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. 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/Wikisource:About">About Wikisource</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikisource:General_disclaimer">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_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/#/en.wikisource.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="//en.m.wikisource.org/w/index.php?title=User:Inductiveload&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> <script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"codex-search-styles\".\n[1.43] Use a CodexModule with codexComponents to set your specific components used: https://www.mediawiki.org/wiki/Codex#Using_a_limited_subset_of_components");mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-vz8dh","wgBackendResponseTime":160,"wgPageParseReport":{"limitreport":{"cputime":"0.375","walltime":"0.508","ppvisitednodes":{"value":1779,"limit":1000000},"postexpandincludesize":{"value":11384,"limit":2097152},"templateargumentsize":{"value":3237,"limit":2097152},"expansiondepth":{"value":11,"limit":100},"expensivefunctioncount":{"value":26,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":80877,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 339.805 1 -total"," 30.82% 104.745 1 Template:Collaboration/MC"," 25.13% 85.392 14 Template:Flatlist"," 21.50% 73.065 1 Template:Dropinitial"," 13.28% 45.134 3 Template:Monthly_Challenge_statistics"," 12.00% 40.761 16 Template:Optional_style"," 9.16% 31.118 1 Template:Wdl"," 8.04% 27.320 2 Template:Category_handler"," 7.14% 24.273 2 Template:Div_col"," 3.20% 10.885 1 Template:Tqi"]},"scribunto":{"limitreport-timeusage":{"value":"0.062","limit":"10.000"},"limitreport-memusage":{"value":2364108,"limit":52428800}},"cachereport":{"origin":"mw-api-int.codfw.main-849f99967d-k9mjd","timestamp":"20241125061711","ttl":495781,"transientcontent":true}}});});</script> </body> </html>