Reddit_Comments_Tab

Add a comments tab to the main nav bar.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         Reddit_Comments_Tab
// @name:en      Reddit_Comments_Tab
// @namespace    Reddit_Comments_Tab
// @version      0.3
// @description  Add a comments tab to the main nav bar.
// @author       https://github.com/kimpeek
// @include      *reddit.com*
// @grant        none
// ==/UserScript==

var current_url = document.URL;
var no_button = new RegExp("comments|inbox|user|overview|prefs|about|message");
var multireddit = new RegExp("^http(s)?:\/\/(www|old).reddit.com\/me\/m\/[A-Za-z0-9_]+");
var subreddit = new RegExp("^http(s)?:\/\/(www|old).reddit.com\/r\/[A-Za-z0-9_]+");

function main(){
    // Check if on a page to ignore
    if (no_button.test(current_url)) {
        return;
    }

    // Check if a multireddit --> extract multi --> create button with multi
    if (multireddit.test(current_url)) {
        const multi = current_url.match(multireddit);
        create_button(multi[0].concat("/comments/"));
        return;
    }

    // Check if a subreddit --> extract sub --> create button with sub
    else if (subreddit.test(current_url)) {
        const sub = current_url.match(subreddit);
        create_button(sub[0].concat("/comments/"));
        return;
    }

    // Return frontpage + comments
    else {
        create_button("https://www.reddit.com/comments/");
        return;
    }
}

function create_button(redirect_url){
    var menu = document.getElementsByClassName("tabmenu ")[0];
    var gilded = menu.getElementsByTagName('li')[5];
    var comments = document.createElement("li");
    var comment_anchor = document.createElement("a");

    menu.insertBefore(comments, gilded);
    comments.appendChild(comment_anchor);
    comment_anchor.innerHTML = "comments";
    comment_anchor.setAttribute('href', redirect_url);
}

main();