CMS Navbar Materials

A userscript that adds a link to the materials of the current course to the navigation bar

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name             CMS Navbar Materials
// @namespace        https://github.com/ikelax/userscripts
// @match            https://cms.sic.saarland/*
// @match            https://cms.cispa.saarland/*
// @exclude-match    https://cms.sic.saarland/system/*
// @exclude-match    https://cms.cispa.saarland/system/*
// @grant            none
// @version          0.4.0
// @author           Alexander Ikonomou
// @description      A userscript that adds a link to the materials of the current course to the navigation bar
// @license          MIT
// @supportURL       https://github.com/ikelax/userscripts/issues
// @copyright        2025, Alexander Ikonomou (https://github.com/ikelax)
// @homepageURL      https://github.com/ikelax/userscripts
// @homepage         https://github.com/ikelax/userscripts
// @contributionURL  https://github.com/ikelax/userscripts
// @collaborator     ikelax
// @icon             https://cms.sic.saarland/system/theme/Sic/img/favicon.png
// ==/UserScript==

(() => {
  "use strict";

  const navbar = document.querySelector("#navbar-main");

  const lecture = window.location.pathname.replace(/^\/(.*?)(\/.*)/, "$1");

  if (navbar == null) {
    return;
  }

  const item = document.createElement("li");
  item.classList.add("nav-item");

  const link = document.createElement("a");
  link.href = `/${lecture}/materials`;
  link.classList.add("nav-link");

  const text = document.createTextNode("Materials");

  link.appendChild(text);
  item.appendChild(link);
  navbar.appendChild(item);
})();