Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
Line 102: | Line 102: | ||
formatEditbox(); | formatEditbox(); | ||
} | } | ||
+ | |||
+ | //Manuscripts | ||
+ | $(function(){ | ||
+ | if ( $(".manuscript-container").length ) { | ||
+ | mw.loader.load('http://www.alhatorah.com/w/index.php?title=MediaWiki:Manuscripts.css&action=raw&ctype=text/css','text/css'); | ||
+ | $( ".mainContainer" ).replaceWith( $(".manuscript-container") ); | ||
+ | var resizeHandle = function resizeHandle () { | ||
+ | $(".manuscript-container").height( $(window).height() - $(".navbar-fixed-top").height() - 20 - $(window).width()/100 ) | ||
+ | }; | ||
+ | var resizeHandle2 = function resizeHandle2 () { | ||
+ | resizeHandle(); | ||
+ | $( "body" ).css( "padding-top", $( ".navbar-fixed-top" ).height() + 20 ); | ||
+ | if ( $(".navbar-fixed-top").height() < 40 ) { | ||
+ | setTimeout( resizeHandle2, 100 ); | ||
+ | } | ||
+ | }; | ||
+ | $( window ).on( "resize", resizeHandle ); | ||
+ | resizeHandle2(); | ||
+ | } | ||
+ | }); | ||
+ | |||
//Piwik | //Piwik |
Version as of 23:29, 19 March 2014
/* Any JavaScript here will be loaded for all users on every page load. */ // Extra edit buttons var addExtraButtons = function(){ $("#toolbar").html(""); var addBtn = function ( ops ) { var btn = $("<span>").addClass("custom-editbtn"); var $bar = $("#toolbar"); btn.html(ops.name); btn.click(function () { var box = $(lastFocusedTextbox).focus()[0];//$("#wpTextbox1").focus()[0]; var selS = box.selectionStart; var selE = box.selectionEnd; var text = box.value; var before = typeof ops.before === "function" ? ops.before(text) : ops.before; var after = typeof ops.after === "function" ? ops.after(text) : ops.after; box.value = text.slice(0,selS) + before + text.slice(selS,selE) + after + text.slice(selE); box.selectionStart = selS + before.length; box.selectionEnd = selE + before.length; }); $bar.append(btn); } addBtn({name:"a",before:function(){return "<a href=\""+prompt("href")+"\">"},after:"</a>"}); addBtn({name:"b",before:"<b>",after:"</b>"}); addBtn({name:"div",before:"<div>",after:"</div>"}); addBtn({name:"h1",before:"<h1>",after:"</h1>"}); addBtn({name:"h2",before:"<h2>",after:"</h2>"}); addBtn({name:"h3",before:"<h3>",after:"</h3>"}); addBtn({name:"comment",before:"<!--",after:"-->"}); addBtn({name:"i",before:"<i>",after:"</i>"}); addBtn({name:"li",before:"<li>",after:"</li>"}); addBtn({name:"p",before:"<p>",after:"</p>"}); addBtn({name:"q",before:"<q>",after:"</q>"}); addBtn({name:"span",before:"<span>",after:"</span>"}); addBtn({name:"style",before:"<style>",after:"</style>"}); addBtn({name:"table",before:'<h4 id="---">---</h4><table width="100%" border="1px"><tr><td width="50%">---</td><td dir="rtl" width="50%"><strong>---</strong><br />',after:"</td></tr></table>"}); addBtn({name:"td",before:"<td>",after:"</td>"}); addBtn({name:"ul",before:"<ul>",after:"</ul>"}); addBtn({name:"category",before:"<category>",after:"</category>"}); addBtn({name:"fn",before:"<fn>",after:"</fn>"}); addBtn({name:"mekorot",before:"<mekorot>",after:"</mekorot>"}); addBtn({name:"multilink",before:'<multilink><a href="SHE">',after:'</a><a href="SHE"></a></multilink>'}); addBtn({name:"opinion",before:"<opinion>",after:"</opinion>"}); addBtn({name:"point",before:"<point>",after:"</point>"}); addBtn({name:"stub",before:"",after:"<stub/>"}); addBtn({name:"subopinion",before:"<subopinion>",after:"</subopinion>"}); addBtn({name:"topic",before:"<topic>",after:"</topic>"}); addBtn({name:"dash",before:"",after:"–"}); }; //Add input boxes for certain pages var formatEditbox = function formatEditbox () { var origBox = document.getElementById('wpTextbox1'); var origText = origBox.value; var reg1 = /^(<aht-xml>\s*<page type=")(\w*)(">\s*)([\s\S]*)(<\/page>\s*<\/aht-xml>\s*)$/ var pieces1 = origText.match(reg1); if (pieces1.length) { var begin1 = pieces1[1]; var pageTypeText = pieces1[2]; var begin2 = pieces1[3]; var mainContent = pieces1[4]; var end = pieces1[5]; $(origBox).before('<label>Page Type: <input id="efPageType"/></label>') $("#efPageType")[0].value = pageTypeText; var reg2 = /^<h1>([^<]*)<\/h1>(\s*)([\s\S]*)$/; var pieces2 = mainContent.match(reg2); if (pieces2.length) { $(origBox).before('<input id="efPageTitle"/>') $("#efPageTitle")[0].value = pieces2[1]; mainContent = pieces2[3]; } origBox.value = mainContent; $(origBox).prop("id","efMainContent"); $(origBox).after("<input type='hidden' id='wpTextbox1' name='wpTextbox1'/>"); $(origBox.form).submit(function(){ document.getElementById('wpTextbox1').value = begin1+$("#efPageType")[0].value+begin2 +(pieces2.length?"<h1>"+$("#efPageTitle")[0].value+"</h1>"+pieces2[2]:"") +origBox.value+end; }); } } if( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) { //enable multiple editor textboxes var lastFocusedTextbox = document.getElementById('wpTextbox1'); $("html").on("focusin", "textarea,input", function(){ if (this.tagName.match(/input/i) && this.type !== "text") return; lastFocusedTextbox = this; }); mw.loader.using( 'user.options', function () { if ( ! mw.user.options.get( 'usebetatoolbar' ) ) { mw.loader.using( 'mediawiki.action.edit', function(){ $( addExtraButtons ); } ); } } ); formatEditbox(); } //Manuscripts $(function(){ if ( $(".manuscript-container").length ) { mw.loader.load('http://www.alhatorah.com/w/index.php?title=MediaWiki:Manuscripts.css&action=raw&ctype=text/css','text/css'); $( ".mainContainer" ).replaceWith( $(".manuscript-container") ); var resizeHandle = function resizeHandle () { $(".manuscript-container").height( $(window).height() - $(".navbar-fixed-top").height() - 20 - $(window).width()/100 ) }; var resizeHandle2 = function resizeHandle2 () { resizeHandle(); $( "body" ).css( "padding-top", $( ".navbar-fixed-top" ).height() + 20 ); if ( $(".navbar-fixed-top").height() < 40 ) { setTimeout( resizeHandle2, 100 ); } }; $( window ).on( "resize", resizeHandle ); resizeHandle2(); } }); //Piwik var _paq = _paq || []; _paq.push(["trackPageView"]); _paq.push(["enableLinkTracking"]); (function() { var u=(("https:" == document.location.protocol) ? "https" : "http") + "://www.alhatorah.com/Piwik/"; _paq.push(["setTrackerUrl", u+"piwik.php"]); _paq.push(["setSiteId", "2"]); var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript"; g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s); })();