cppref-hashtag

Add Python-doc-like links to cppreference

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 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';
  });
}

}());