User:He7d3r/Tools/BookTools.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
// [[File:User:He7d3r/Tools/BookTools.js]] (workaround for [[phab:T35355]])
/**
 * BookTools
 * Adds helper tools to the sidebar for working with books
 * @author: Helder (https://github.com/he7d3r)
 * @update-token: [[File:pathoschild/templatescript.js]]
 * @license: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
 */
// <nowiki>
(function(e,t){"use strict";function a(t){var a,i,s=0,n=[],o={};if(Array.isArray(t)){for(a=0,i=t.length;i>a;a++)o[t[a].toLowerCase()]!==1?(n=n.concat(t[a]),o[t[a].toLowerCase()]=1):s++;return s>0?alert(e.msg("bt-removed-lines",s)):alert(e.msg("bt-no-duplicates")),n}}function i(e){var t,a=e.get().split("\n"),i=[],s=[];for(i[0]=a[0],s[a.length-1]=a[a.length-1],t=1;a.length-1>t;t++)i[t]=a[t]+"=[["+a[t-1]+"]]",s[t]=a[t]+"=[["+a[t+1]+"]]";e.set([a.join("\n"),i.join("\n"),s.join("\n")].join("\n\n"))}function s(e){return u.test(e)?t.trim(e.replace(u,"$1$2")):!1}function n(e){var t,a,i=[],n=e.get().replace(/<!--[\s\S]+?-->/g,"").split(/[\r\n]+/);for(t=0;n.length>t;t++)a=s(n[t]),a&&i.push(a);return i}function o(e){var t=a(n(e)),i="<includeonly>{{{{{|safesubst:}}}Lista de capítulos/{{{1|}}}</includeonly>\n |"+t.join("\n |")+"\n<includeonly>}}</includeonly><noinclude>\n"+"{{Documentação|Predefinição:Lista de capítulos/doc}}\n"+"<!-- ADICIONE CATEGORIAS E INTERWIKIS NA SUBPÁGINA /doc -->\n"+"</noinclude>";e.set(i)}function r(a,i){t.post(e.util.wikiScript("api"),{action:"edit",bot:"1",title:a,text:i,summary:e.msg("bt-create-list-summary",e.config.get("wgBookName")),token:e.user.tokens.get("csrfToken")}).done(function(){alert(e.msg("bt-page-edited",a.replace(/_/g," "))),location.href=e.util.getUrl(a)}).fail(function(){alert(e.msg("bt-page-not-edited",a.replace(/_/g," ")))})}function c(e){var t,i,s=a(n(e)),o="{{Livro gravado\n |título={{subst:SUBPAGENAME}}\n |subtítulo=\n |imagem da capa=\n |cor da capa=\n}}\n\n== "+m+" ==\n";for(t=0;s.length>t;t++)i=s[t].lastIndexOf("/")+1,o+=":[["+m+"/"+s[t]+"|"+s[t].substring(i)+"]]\n";e.set(o)}function l(e){var t,i,s=a(n(e)),o="{{Versão para impressão|{{BASEPAGENAME}}|{{BASEPAGENAME}}/Imprimir}}\n";for(t=0;s.length>t;t++)i=s[t].lastIndexOf("/")+1,o+="="+s[t].substring(i)+"=\n{{:{{NOMEDOLIVRO}}/"+s[t]+"}}\n";o+="\n{{AutoCat}}",e.set(o)}function d(t){var a,i="Predefinição:Lista_de_capítulos/"+e.config.get("wgPageName"),s=t.get();a=confirm(e.msg("bt-check-list")),a===!0&&r(i,s)}function g(t){var a,i="Wikilivros:Livros/"+e.config.get("wgPageName"),s=t.get();a=confirm(e.msg("bt-check-list-for-collection")),a===!0&&r(i,s)}function p(){u=RegExp(".*\\[\\[\\s*(?:/([^\\|\\]]+?)/?|"+e.util.escapeRegExp(m)+"/([^\\|\\]]+?))\\s*(?:(?:#[^\\|\\]]+?)?\\|\\s*[^\\]]+?\\s*)?\\]\\].*","gi"),pathoschild.TemplateScript.add([{name:e.msg("bt-create-template-desc"),script:o},{name:e.msg("bt-create-collection-desc"),script:c},{name:e.msg("bt-save-collection-desc"),script:g},{name:e.msg("bt-create-print-version-desc"),script:l},{name:e.msg("bt-save-list-desc"),script:d},{name:e.msg("bt-create-autonav-desc"),script:i}],{category:e.msg("bt-sidebar-title")})}e.messages.set({"bt-removed-lines":"Foram removidas $1 linhas duplicadas","bt-no-duplicates":"Não havia linhas duplicadas","bt-create-list-summary":"Criação da lista com base no [[$1|índice do livro]]","bt-page-edited":'A página "$1" foi editada e será exibida a seguir.',"bt-page-not-edited":'Não foi possível editar a página "$1".',"bt-check-list":"Antes de criar a lista de capítulos é preciso conferir se a lista gerada pelo script está correta.\n\nDeseja que a lista seja criada com o texto atual?","bt-check-list-for-collection":"Antes de criar a coleção é preciso conferir se a lista gerada pelo script está correta.\n\nDeseja que a lista seja criada com o texto atual?","bt-sidebar-title":"Gerenciador de livros","bt-create-template-desc":"Gerar lista de capítulos","bt-create-collection-desc":"Gerar coleção","bt-create-print-version-desc":"Gerar versão para impressão","bt-create-autonav-desc":"TEST: Criar AutoNav","bt-save-collection-desc":"Gravar coleção (CUIDADO!)","bt-save-list-desc":"Gravar lista de capítulos (CUIDADO!)"});var u,m=e.config.get("wgPageName").replace(/_/g," ");e.config.get("wgDBname")==="ptwikibooks"&&e.config.get("wgAction")==="edit"&&e.config.get("wgNamespaceNumber")===0&&t.when(e.loader.using("mediawiki.util"),t.ajax("//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js",{dataType:"script",cache:!0})).then(p)})(mediaWiki,jQuery);
// </nowiki>