User:Edward Z. Yang/monobook.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/*<pre>*/

function editTopLink() {
  // if this is preview page or generated page, stop
  if(document.getElementById("wikiPreview") || window.location.href.indexOf("Special:") != -1) return;

  // get the page title
  var pageTitle = document.title.split(" - ")[0].replace(/ /, "_"); 

  // create div and set innerHTML to link
  var divContainer = document.createElement("div");
  divContainer.innerHTML = '<div class="editsection" style="float:right;margin-left:5px;margin-top:3px;">[<a href="/w/index.php?title='+encodeURIComponent(pageTitle)+'&amp;action=edit&amp;section=0" title="'+document.title.split(" - ")[0]+'">edit top</a>]</div>';

  // this is a hack so I can refer to the h1 by an id
  document.getElementsByTagName("h1")[0].id = "js_firstHeading";
  var theH1 = document.getElementById("js_firstHeading"); 

  // insert divContainer into the DOM before the h1
  document.getElementById("content").insertBefore(divContainer, theH1);

}

addOnloadHook(editTopLink);

//force edit summary
function addForceSummary()
{
    if(!/&action=edit/.test(window.location.href) && !/&action=submit/.test(window.location.href)) return;
    if(/&section=new/.test(window.location.href)) return;
    if(!document.forms.editform) return;
    document.forms.editform.wpSave.onclick = forceSummary;
}

function forceSummary()
{
    //modification of standard: do not allow any edits without summaries
    while(!document.forms.editform.wpSummary.value.replace(/^(?:\/\\*.*\\*\/)? *(.*) *$/,'$1'))
    {
        var r = prompt('Enter a summary:',document.forms.editform.wpSummary.value);
        if(r == null) { return false; }
        document.forms.editform.wpSummary.value = r;
    }
    return true;
}

addOnloadHook(addForceSummary);

document.write('<script type="text/javascript" src="' 
             + 'http://en.wikipedia.org/w/index.php?title=User:Zocky/SearchBox.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

/*</pre>*/