自动生成Semantic Scholar上一篇文章的引用数牌,可以粘贴到md文档中使用。生成按钮在我文章界面左上角。
// ==UserScript==
// @name Semantic Scholar Citation Badge Generator
// @namespace http://tampermonkey.net/
// @version 2.0
// @description 自动生成Semantic Scholar上一篇文章的引用数牌,可以粘贴到md文档中使用。生成按钮在我文章界面左上角。
// @match https://www.semanticscholar.org/*
// @grant GM_setClipboard
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// 检查当前页面是否为指定的文章页面
const isPaperPage = /^https:\/\/www\.semanticscholar\.org\/paper\/.+\/[0-9a-f]+$/.test(window.location.href);
// 如果不是指定的文章页面,则退出
if (!isPaperPage) {
return;
}
// 获取当前页面 URL 的最后一段字符串
const urlLastPart = window.location.pathname.split('/').pop();
// 生成 API URL
const apiUrl = `[](https://www.semanticscholar.org/paper/${urlLastPart})`;
// 创建要保存到剪贴板的字符串
const clipboardStr = apiUrl;
// 添加按钮到页面
const button = document.createElement('button');
button.textContent = 'Generate Citation Badge';
button.style.position = 'fixed';
button.style.top = '100px';
button.style.left = '20px';
button.addEventListener('click', () => {
GM_setClipboard(clipboardStr);
button.textContent = 'Citation Badge Copied!';
window.setTimeout(() => {
button.textContent = 'Generate Citation Badge';
}, 1000); // 1秒钟后将按钮文本更改回 "Generate Citation Badge"
});
// 将按钮添加到页面
document.body.appendChild(button);
})();