Rich Redmine Wiki Editor

nothing to write

目前为 2015-02-11 提交的版本。查看 最新版本

// ==UserScript==
// @name         Rich Redmine Wiki Editor
// @namespace    d.hatena.ne.jp/den8/
// @version      1.0
// @description  nothing to write
// @author       k.bigwheel
// @match        http*://www.hostedredmine.com/*/edit
// @grant        none
// @require      http://code.jquery.com/jquery-2.1.3.min.js
// ==/UserScript==

function moveEditor(parentDiv) {
    var editorFrame = $("<div></div>");
    var editor = $("form.edit_content#wiki_form");
    editor.detach();
    editorFrame.append(editor);
    editorFrame.css("width", "50%");
    editorFrame.css("float", "left");
    parentDiv.append(editorFrame);
}    

function movePreview(parentDiv) {
    var preview = $("div#preview");
    preview.detach();
    preview.css("width", "50%");
    preview.css("float", "right");
    preview.css("overflow", "scroll");
    preview.css("height", "600px");
    preview.css("resize", "vertical");
    parentDiv.append(preview);
}

function renderPreview() {
    $("form.edit_content>p>a").click();
}

$(document).ready(function() {
    var newFrame = $("<div></div>");
    $("div#content h2").after(newFrame);
    
    moveEditor(newFrame);
    movePreview(newFrame);
    
    // http://memocarilog.info/jquery/7203 ここで言及されてるideom
    // 本当は直近でリクエストを出した直後の場合、出したリクエストがまだ帰ってきていない場合、
    // リクエストが帰ってきた直後の場合などはリクエストを出さないようにしたほうがRedMineへの負荷は下がるが
    // そこまでするの面倒。それ用のプラグインかライブラリが間違いなくあるはずなのでそれを使う。
    var timer = false;
    $("textarea#content_text").keyup(function() {
        if (timer !== false)
            clearTimeout(timer);
        timer = setTimeout(renderPreview, 1000);
    });
    
    renderPreview(); // 最初から描画しておく
});

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址