您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
This adds forward and backwards links to each day's page.
// ==UserScript== // @name Advent of Code Day Navigation Links // @namespace Violentmonkey Scripts // @match https://adventofcode.com/*/day/* // @grant none // @version 1.0 // @author - // @description This adds forward and backwards links to each day's page. // @author josh // @namespace https://gitlab.com/userscript4/advent-of-code-day-nav // @supportURL https://gitlab.com/userscript4/advent-of-code-day-nav/-/issues // @license MIT // ==/UserScript== /** * Return the url of the requested day. * If less than 1 or greater than 25 provide a url to the overview page. * @param {number} day * @returns {string} A url to the requested day */ function makeURL(day) { if (day < 1 || day > 25) { return window.location.href.replace(/\/day\/.*/, ''); } return window.location.href.replace(/(?<=\/day\/).*/, day); } /** * Create an anchor tag. * @param {number} day * @param {string} text * @returns {HTMLAnchorElement} */ function makeAnchor(day, text) { const anchor = document.createElement('a'); anchor.href = makeURL(day); anchor.textContent = text; return anchor } /** * Find the title, extract the day number, replace the `---` with links. */ function addNavigationLinks() { const title = document.querySelector('article.day-desc > h2'); const currentDay = parseInt(title.textContent.match(/(?<=Day )[0-9]+(?=:)/)[0]); title.textContent = title.textContent.match(/^--- (.*?) ---$/)[1]; title.prepend(makeAnchor(currentDay - 1, '<-- ')); title.append(makeAnchor(currentDay + 1, ' -->')); } addNavigationLinks();