生成markdown链接

把当前网站链接生成markdown格式的链接形式:[title](url)

目前为 2022-01-20 提交的版本。查看 最新版本

// ==UserScript==
// @name         生成markdown链接
// @namespace    http://tampermonkey.net/
// @version      0.2.2
// @description  把当前网站链接生成markdown格式的链接形式:[title](url)
// @author       myaijarvis
// @icon         https://g.csdnimg.cn/static/logo/favicon32.ico
// @run-at       document-end

// @match        https://blog.csdn.net/*/article/details/*
// @match        https://*.blog.csdn.net/article/details/*
// @match        https://www.cnblogs.com/*/p/*
// @match        https://juejin.cn/post/*
// @match        https://www.jianshu.com/p/*
// @match        https://www.bilibili.com/video/*
// @match        https://www.runoob.com/*
// @match        https://cuiqingcai.com/*.html
// @match        https://www.w3school.com.cn/*
// @match        https://github.com/*
// @match        https://mp.weixin.qq.com/s/*
// @match        https://*.zhihu.com/p/*
// @match        http://www.360doc.com/content/*
// @match        https://www.toutiao.com/*
// @match        https://blog.gitee.com/*
// @match        https://leetcode-cn.com/problems/*
// @match        https://labuladong.gitee.io/*
// @match        https://programmercarl.com/*
// @match        http://www.51gjie.com/*
// @match        https://www.bilibili.com/bangumi/play/*
// @match        http://www.xiaodigu.cc/*/*
// @match        https://www.iqiyi.com/v_*
// @match        https://gf.qytechs.cn/*/scripts/*
// @match        https://scriptcat.org/script-show-page/*

// @require      https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js
// @require      https://www.layuicdn.com/layui-v2.6.8/layui.js
// @resource layer https://www.layuicdn.com/layui-v2.6.8/css/modules/layer/default/layer.css
// @resource layui https://www.layuicdn.com/layui-v2.6.8/css/layui.css

// @grant        GM_getResourceURL
// @grant        GM_getResourceText
// @grant        GM_addStyle
// @grant        unsafeWindow
// ==/UserScript==
GM_addStyle(GM_getResourceText("layer"));

// 全局变量最好都初始化在匿名函数(function () {})();之前

// 用layui.css会影响该网站的样式
const url_arr = [
    'programmercarl.com',
    'gf.qytechs.cn',
    'scriptcat.org'
];

(function () {
    "use strict";

    //console.log(layui);
    addStyle();
    addBtn();
    $("#copyBtn").click(function () {
        copy();
    });
})();


function addStyle(){
    //debugger;
    let flag=true;
    let url = document.URL;

    for (const url_item of url_arr) {
        if (url.includes(url_item)) {
            flag=false;
        }
    }
    if(flag){
        GM_addStyle(GM_getResourceText("layui"));
    }else{
        let layui_css = `.layui-btn{display: inline-block; vertical-align: middle; height: 38px; line-height: 38px; border: 1px solid transparent; padding: 0 18px; background-color: #009688; color: #fff; white-space: nowrap; text-align: center; font-size: 14px; border-radius: 2px; cursor: pointer; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none;}
                   .layui-btn-sm{height: 30px; line-height: 30px; padding: 0 10px; font-size: 12px;}`;
        GM_addStyle(layui_css);
    }
}

//创建复制按钮
function addBtn() {
    let element = $(
        `<button style="top: 100px;right:0px; position: fixed;z-index:1000;cursor:pointer;background:green;" class="layui-btn layui-btn-sm" id="copyBtn">复制</button>`
  );
    $("body").append(element);
}

//复制操作
function copy() {
    let title = document.title;
    title = title.replace(/\(.*?\)/, "").trim(); // 去掉CSDN "(1条消息)"  再去掉前后空格

    let url = document.URL;
    let pattern = /\?.*/; // ?是特殊字符,需要加反斜杠
    url = url.replace(pattern, ""); // 去掉?后面的参数

    let text = "";
    if (url.match(/github.com/)) {
        text = `【[GitHub](${url})】`;
    } else if (url.match(/mp.weixin.qq.com/)) {
        title = $('meta[property="twitter:title"]').attr("content");
        text = `【参考:[${title}](${url})】`;
    }else if (url.match(/programmercarl.com/)) {
        title += $('h1:eq(0)').text();
        text = `【参考:[${title}](${url})】`;
    } else {
        text = `【参考:[${title}](${url})】`;
    }

    console.log("copy=> " + url);
    let oInput = document.createElement("input");
    oInput.value = text;
    document.body.appendChild(oInput);
    oInput.select(); // 选择对象
    document.execCommand("Copy"); // 执行浏览器复制命令
    oInput.className = "oInput";
    oInput.style.display = "none";
    layui.layer.msg("复制成功");

    $("#copyBtn").css("background", "red").text("复制成功");
    setTimeout(() => {
        $("#copyBtn").css("background", "green").text("复制");
    }, 3000);
}

QingJ © 2025

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