Greasy Fork is available in English.

工狸编辑拓展

为 fandom timberborn wiki 编辑器增加下拉列表,可以快速插入模板/标签

// ==UserScript==
// @name         工狸编辑拓展
// @version      0.1
// @description  为 fandom timberborn wiki 编辑器增加下拉列表,可以快速插入模板/标签
// @author       wanglu
// @match        https://timberborn.fandom.com/zh/wiki/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=fandom.com
// @license      CC-BY-SA
// @namespace https://greasyfork.org/users/416853
// ==/UserScript==

(function() {
    'use strict';

    /**
     * 在jquery后加载
     *
     * 通过 RLQ 控制加载顺序
     * @param name 脚本名
     * @param resolve 要执行的函数
     */
    function load_after_jquery(name, resolve) {
        (window.RLQ = window.RLQ || []).push(['jquery', function() { // RLQ,wiki异步执行函数的队列
            console.log("Loading " + name.toString());
            resolve();
        }]);
    }

    /**
     * 在 wikiEditor.toolbar 加载后加载指定函数
     * @param name 脚本名
     * @param resolve 要执行的函数
     */
    function load_after_toolbarReady(name, resolve) {
        if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
            mw.hook( 'wikiEditor.toolbarReady' ).add( function ( textarea ) {
                console.log("Loading after toolbarReady" + name.toString());
                resolve(textarea);
            } );
        }
    }

    function add_beaver_editor_dropdown( textarea ) {
        textarea.wikiEditor( 'addToToolbar', { section: 'main', groups:{ list:{ tools:{ templates: {
            label: '工狸面板(油猴)',
            type: 'select',
            list: {
                'SyntaxHighlight': {
                    label: 'Wiki语法高亮',
                    action: {
                        type: 'encapsulate',
                        options: {
                            pre: '<SyntaxHighlight lang="html+handlebars">\n',
                            post: '\n</SyntaxHighlight>'
                        }
                    }
                },
                '植物信息': {
                    label: '植物信息',
                    action: {
                        type: 'encapsulate',
                        options: {
                            pre: "{{植物信息\n|所需建筑=",
                            peri: "农屋/水生农屋/林木工",
                            post: "\n" +
                                "|水生=是?\n" +
                                "|基本需要=饥饿/口渴/睡眠▲,住所\n" +
                                "|营养=\n" +
                                "|属性=<li>每条一个li</li>\n" +
                                "|引用=了清不闹都我?呢在现。屋木是就屋木,里子日旧在\n" +
                                "|作者=\n" +
                                "|生长={{生长|时间=999天|收获=xxx|数量=999}}\n" +
                                "|收获={{生长|周期=999天|收获=xxx|数量=999}}\n" +
                                "|配方1={{配方|1*猫->999*小时->1*猫}}\n" +
                                "|配方2={{配方|1*猫+0.1*原木->999*小时->4*猫|神尾}}\n" +
                                "}}"
                        }
                    }
                },
                '建筑信息': {
                    label: '建筑信息',
                    action: {
                        type: 'encapsulate',
                        options: {
                            pre: "{{建筑信息\n|img=\n<gallery>\n",
                            peri:"image.webp|神尾\nimage.webp|铁牙\n",
                            post: "</gallery>\n" +
                                "|劳动力=\n" +
                                "|电力=\n" +
                                "|牢固=\n" +
                                "|占地面积=\n" +
                                "|建筑高度=\n" +
                                "|简介=\n" +
                                "|引用=\n" +
                                "|作者=\n" +
                                "|配方1={{配方|1*猫+1*猫->999*小时->1*猫|神尾}}\n" +
                                "|配方2={{配方|1*猫+1*猫->999*小时->1*猫}}\n" +
                                "|配方3={{配方|999*小时->1*猫|缩进=是}}\n" +
                                "|原料1=\n" +
                                "|原料1数量=\n" +
                                "|原料2=\n" +
                                "|原料2数量=\n" +
                                "|原料3=\n" +
                                "|原料3数量=\n" +
                                "|原料4=\n" +
                                "|原料4数量=\n" +
                                "}}"
                        }
                    }
                }
            }
        }}}}});
    }

    function main() {
        load_after_jquery("beaver editor ext",function () {
            load_after_toolbarReady("beaver editor ext",
                add_beaver_editor_dropdown
            );
        });
    }

    // Your code here...
    main();
})();