您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
New features for Capytale's Jupyter's notebooks : (1) admonition question quick add, (2) restart & clear cells outputs shortcut
当前为
- // ==UserScript==
- // @name Capytale Jupyter Notebook : more tools
- // @namespace http://tampermonkey.net/
- // @version 2025-01-16
- // @description New features for Capytale's Jupyter's notebooks : (1) admonition question quick add, (2) restart & clear cells outputs shortcut
- // @author James Web (in the area)
- // @supportURL https://codeberg.org/jrm-omg/userscripts
- // @include https://capytale2.ac-paris.fr/p/basthon/**
- // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
- // @grant none
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- // Wait until Basthon's ready
- let ticTac;
- function myCallback() {
- if (document.querySelector('#MathJax_Message')) {
- // Basthon is ready, go go go !
- clearInterval(ticTac);
- // (1) Admonition question button feature
- function addAdmoQuestion() {
- let cell = Jupyter.notebook.insert_cell_below('markdown')
- cell.set_text('!!! question\n\n!!!')
- }
- let qEl = document.createElement('button');
- qEl.className = 'btn btn-default';
- qEl.title = 'Ajouter une admonition « question » après la cellule active';
- qEl.innerHTML = '<i class="fa-question-circle fa"></i>';
- qEl.addEventListener('click', addAdmoQuestion);
- // (2) Restart & clear cells outputs shortcut
- function restartAndClean() {
- document.querySelector('#restart_run_all').click();
- setTimeout(()=>{
- document.querySelector('.modal-footer .btn-danger').click();
- setTimeout(()=>{
- document.querySelector('#restart_clear_output').click();
- setTimeout(()=>{
- document.querySelector('.modal-footer .btn-danger').click();
- }, 500)
- }, 500)
- }, 500)
- }
- let rEl = document.createElement('button');
- rEl.className = 'btn btn-default';
- rEl.title = 'Tout exécuter + Effacer les sorties';
- rEl.innerHTML = '<i class="fa-truck fa"></i>';
- rEl.addEventListener('click', restartAndClean);
- // Insert new buttons inside the user-scripts-group
- let usgEl = document.querySelector('.user-scripts-group');
- if (!usgEl) {
- usgEl = document.createElement('div');
- usgEl.className = 'btn-group user-scripts-group';
- document.querySelector('#maintoolbar-container').append(usgEl);
- }
- usgEl.append(qEl);
- usgEl.append(rEl);
- }
- }
- ticTac = setInterval(myCallback, 500);
- })();