您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
geekhub增强插件
// ==UserScript== // @name Geekhub // @namespace https://geekhub.com // @version 1.1.1 // @description geekhub增强插件 // @author Leetao // @match https://www.geekhub.com/* // @require https://cdn.jsdelivr.net/npm/marked/marked.min.js // @grant GM_xmlhttpRequest // ==/UserScript== (function() { 'use strict'; // 创建评论的markdown在线预览 var initComment = function() { var divNode = document.createElement('div'); divNode.setAttribute('id','markdown-preview'); var comment = document.getElementById("comment-box"); if(comment != null) { comment.parentElement.appendChild(divNode); }; var el = document.getElementById('comment-box'); if(el != null){ el.addEventListener('input',function () { var value = document.getElementById('comment-box').value; console.log(value); if(value != null) { document.getElementById('markdown-preview').innerHTML = marked(value); } }); } } // 创建话题 markdown var initPost = function() { var postDivNode = document.createElement('div'); postDivNode.setAttribute('id','markdown-preview'); var post = document.getElementById("post_content"); if(post != null) { post.parentElement.appendChild(postDivNode); }; var e2 = document.getElementById('post_content'); if(e2 != null){ e2.addEventListener('input',function () { var value = document.getElementById('post_content').value; if(value != null) { document.getElementById('markdown-preview').innerHTML = marked(value); } }); } } var initSencondHand = function() { var postDivNode = document.createElement('div'); postDivNode.setAttribute('id','markdown-preview'); var post = document.getElementById("second_hand_content"); if(post != null) { post.parentElement.appendChild(postDivNode); }; var e2 = document.getElementById('second_hand_content'); if(e2 != null){ e2.addEventListener('input',function () { var value = document.getElementById('second_hand_content').value; if(value != null) { document.getElementById('markdown-preview').innerHTML = marked(value); } }); } } var initMolecule = function() { var postDivNode = document.createElement('div'); postDivNode.setAttribute('id','markdown-preview'); var post = document.getElementById("molecule_content"); if(post != null) { post.parentElement.appendChild(postDivNode); }; var e2 = document.getElementById('molecule_content'); if(e2 != null){ e2.addEventListener('input',function () { var value = document.getElementById('molecule_content').value; if(value != null) { document.getElementById('markdown-preview').innerHTML = marked(value); } }); } } // service_content var initGroupBuy = function() { var postDivNode = document.createElement('div'); postDivNode.setAttribute('id','markdown-preview'); var post = document.getElementById("group_buy_content"); if(post != null) { post.parentElement.appendChild(postDivNode); }; var e2 = document.getElementById('group_buy_content'); if(e2 != null){ e2.addEventListener('input',function () { var value = document.getElementById('group_buy_content').value; if(value != null) { document.getElementById('markdown-preview').innerHTML = marked(value); } }); } } var initService = function() { var postDivNode = document.createElement('div'); postDivNode.setAttribute('id','markdown-preview'); var post = document.getElementById("service_content"); if(post != null) { post.parentElement.appendChild(postDivNode); }; var e2 = document.getElementById('service_content'); if(e2 != null){ e2.addEventListener('input',function () { var value = document.getElementById('service_content').value; if(value != null) { document.getElementById('markdown-preview').innerHTML = marked(value); } }); } } var pasteUpload = function(fileList) { for(var j = 0; j < fileList.length; j++) { var formData = new FormData(); formData.append('smfile', fileList[j]); var response = GM_xmlhttpRequest({ method: "post", url: 'https://sm.ms/api/v2/upload', data: formData, onload: function(r) { var json = JSON.parse(r.responseText); if (json.success == true){ var url = json.data.url; var name = json.data.storename; if(document.getElementById('comment-box') != null) { document.getElementById('comment-box').value += ""; } if(document.getElementById("post_content") != null) { document.getElementById('post_content').value += ""; } } else { alert("上传失败"); } } }); } } var initMarkdown = function() { initComment(); initService(); initGroupBuy(); initMolecule(); initSencondHand(); initPost(); document.addEventListener('paste', function (event) { var items = event.clipboardData && event.clipboardData.items; var fileList = []; var urlList = []; if (items && items.length) { // 检索剪切板items for (var i = 0; i < items.length; i++) { if (items[i].type.indexOf('image') !== -1) { fileList.push(items[i].getAsFile()); } } } // 此时fileList就是剪切板中的图片文件列表 if(fileList.length !== 0) { // 不为0,则上传到 sm.ms pasteUpload(fileList); } }); } var observer = new MutationObserver(function(doc, observer) { if(document.getElementById('markdown-preview') === null) { initMarkdown(); } }); observer.observe(document, { characterData: true, childList: true, attributes: true, subtree: true, attributeOldValue: true, characterDataOldValue: true }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址