cppref-hashtag

Add Python-doc-like links to cppreference

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name        cppref-hashtag
// @version     0.1.4
// @description Add Python-doc-like links to cppreference
// @author      QuarticCat <[email protected]>
// @match       *://*.cppreference.com/*
// @icon        https://www.google.com/s2/favicons?domain=cppreference.com
// @require     https://cdn.jsdelivr.net/combine/npm/@violentmonkey/dom@1
// @license     MIT
// @namespace   https://github.com/QuarticCat
// @homepageURL https://github.com/QuarticCat/cppref-hashtag
// @supportURL  https://greasyfork.org/scripts/427790
// ==/UserScript==

(function () {
'use strict';

var css_248z = "a.headerlink{color:#0072aa;padding:0 4px;text-decoration:none;visibility:hidden}";

document.head.append(VM.createElement("style", null, css_248z));

for (const headline of document.getElementsByClassName('mw-headline')) {
  // Inject links
  const link = VM.createElement("a", {
    className: "headerlink",
    href: `#${headline.id}`,
    title: "Permalink to this headline"
  }, "\xB6");
  headline.insertAdjacentElement('afterend', link); // Add hover events

  const parent = headline.parentNode;
  parent.addEventListener('mouseenter', () => {
    link.style.visibility = 'visible';
  });
  parent.addEventListener('mouseleave', () => {
    link.style.visibility = 'hidden';
  });
}

}());