Jump to content

User:Opencooper/talkCount.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Opencooper (talk | contribs) at 11:59, 17 May 2019 (update). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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.
// Shows the number of discussions on the talk page
// TODO: make it work with Flow

function setup() {
    // If we're not reading an article, do nothing
    if (!(mw.config.get( 'wgAction' ) === 'view'
          && mw.config.get( 'wgIsArticle' )
          && !location.search.split('oldid=')[1]
          && mw.config.get("wgPageName") !== "Main_Page")) {
        return;
    }

    // Check if talk page is a redlink
    if ($("#ca-talk.new").length !== 0) {
        return;
    }

    var talkUrl = $("#ca-talk a").attr("href");
    var talkTitle = talkUrl.split("/wiki/")[1];

    // Get parsed talk page section info
    // API docs: https://en.wikipedia.org/w/api.php?action=help&modules=parse
    $.ajax({
        url: "https://en.wikipedia.org/w/api.php",
        data: {
            action: "parse",
            page: talkTitle,
            prop: "sections"
        },
        success: countSections
    });
}

function countSections(response) {
	var sectionsCount = response.parse.sections.length;
	var countHTML = " <small>(" + sectionsCount + ")</small>";
	$("#ca-talk a").append(countHTML);
}

setup();