미디어위키:Gadget-bookmark.js

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
  • 오페라: Ctrl-F5를 입력.
// Source code written by [[사:다메즈마]], CC-by-sa 3.0 Unported

var user_name = mw.config.get("wgUserName");

$.ajax("/api.php",{data:{action:"parse", page:"사용자:"+user_name + "/북마크",format:"json"},dataType:"json"}).done(function(res){
  window.res = res;
  if(res.parse != null){
    menu = document.createElement("ul");
    menu.className = "dropdown-menu";
    menu.id = "bookmark-menu";
    $(menu).attr("role","menu");
    {
      var l = document.createElement("li");
      var a2 = document.createElement("a");
      $(l).append(a2);
      $(a2).text("북마크 추가");
      $(a2).click(function(){
        var page_name = mw.config.get("wgPageName").replace(/_/gi," ");
        
        $.ajax("/api.php",{data:{action:"query",meta:"tokens",format:"json"},dataType:"json"}).done(function(res){
          token = res.query.tokens.csrftoken;
          $.ajax("/api.php",
                 {
                   data:{
                     action:"edit",token:token,format:"json",title:"사용자:"+user_name+"/북마크",section:0,prependtext:"[["+page_name+"]]"},
                   dataType:"json",
                   method:"POST"})
          .done(function(res){
            console.log(res);
            console.log(res.edit.result);
            if(res.edit.result == "Success"){
             
              a = "<li><a href=\"/wiki/__link__\">__link__</a></li>";
              $("#bookmark-menu").append(a.replace(/__link__/gi,page_name));
            }
          });
        });
        return false;
      });
      a2.href="#";
      $(menu).append(l);
    }
    $(menu).append("<li><hr></li>");
    a = "<li><a href=\"/wiki/__link__\">__link__</a></li>";
    for(var i = 0 ; i < res.parse.links.length ; i++){
      $(menu).append(a.replace(/__link__/gi,res.parse.links[i]["*"]));
    }
    menubar = document.createElement("li");
    menubar.innerHTML = "<a href=\"#\" data-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\">북마크</a>";
    menubar.className = "dropdown";
    
    $(menubar).append(menu);
    $("ul.navbar-nav:nth-child(1)").append(menubar);
  }
});