-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathhfr_toyonos.user.js
More file actions
111 lines (101 loc) · 5.18 KB
/
Copy pathhfr_toyonos.user.js
File metadata and controls
111 lines (101 loc) · 5.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// ==UserScript==
// @name [HFR] Toyonos
// @version 2.3.3
// @namespace roger21.free.fr
// @description T.oYonos écrit en lettres d'or.
// @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEX%2F%2F%2F8AAADxjxvylSrzmzf5wYLzmjb%2F9er%2F%2Fv70nj32q1b5woT70qT82rT827b%2F%2B%2FjxkSHykybykyfylCjylCnzmDDzmjX0nTv1o0b1qFH2qVL2qlT3tGn4tmz4uHD4uXL5vHf83Lf83Lj937394MH%2B587%2B69f%2F8%2BX%2F8%2Bf%2F9On%2F9uz%2F%2BPH%2F%2BvT%2F%2FPmRE1AgAAAAwElEQVR42s1SyRbCIAysA7W2tdZ93%2Ff1%2F39PEtqDEt6rXnQOEMhAMkmC4E9QY9j9da1OkP%2BtTiBo1caOjGisDLRDANCk%2FVIHwwkBZGReh9avnGj2%2FWFg%2Feg5hD1bLZTwqdgU%2FlTSdrqZJWN%2FKImPOnGjiBJKhYqMvikxtlhLNTuz%2FgkxjmJRRza5mbcXpbz4zldLJ0lVEBY5nRL4CJx%2FMEfXE4L9j4Qr%2BZakpiandMpX6FO7%2FaPxxUTJI%2FsJ4cd4AoSOBgZnPvgtAAAAAElFTkSuQmCC
// @include https://forum.hardware.fr/*
// @author roger21
// @updateURL https://raw.githubusercontent.com/roger21/hfr/master/hfr_toyonos.user.js
// @installURL https://raw.githubusercontent.com/roger21/hfr/master/hfr_toyonos.user.js
// @downloadURL https://raw.githubusercontent.com/roger21/hfr/master/hfr_toyonos.user.js
// @supportURL https://forum.hardware.fr/hfr/Discussions/Viepratique/sujet_116015_1.htm
// @homepageURL http://roger21.free.fr/hfr/
// @noframes
// @grant none
// ==/UserScript==
/*
Copyright © 2014-2020 roger21@free.fr
This program is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along
with this program. If not, see <https://www.gnu.org/licenses/agpl.txt>.
*/
// $Rev: 1590 $
// historique :
// 2.3.3 (13/02/2020) :
// - utilisation d'une url en data pour l'icône du script et changement d'hébergeur (free.fr -> github.com)
// 2.3.2 (02/10/2019) :
// - suppression de la directive "@inject-into" (mauvaise solution, changer solution)
// 2.3.1 (18/09/2019) :
// - ajout de la directive "@inject-into content" pour isoler le script sous violentmonkey
// 2.3.0 (29/11/2018) :
// - nouveau nom : [HFR] toyonos -> [HFR] Toyonos
// - ajout de l'avis de licence AGPL v3+
// - ajout de la metadata @author (roger21)
// - réécriture de la metadata @description
// - correction d'une boulette (code de test non enlevé)
// 2.2.0 (26/05/2018) :
// - améliorations et compactage du code et check du code dans tm
// - gestion plus propre et plus homogène de tous les cas
// - gestion plus propre et complète de tous les types de citations
// - maj de la metadata @homepageURL
// - suppression des @grant inutiles (tous)
// - reformatage du code (Online JavaScript beautifier : ->
// "2 spaces, unlimited newlines, do not wrap, braces with" et rien coché)
// 2.1.1 (28/11/2017) :
// - passage au https
// 2.1.0 (30/01/2016) :
// - ajout du support pour les citations
// - ajout de commentaires dans le code -__-
// 2.0.2 (07/03/2015) :
// - ajout de la metadata @noframes (interdit l'execution du script dans une frame pour plus de sécurité)
// 2.0.1 (28/04/2014) :
// - nouvelle description
// 2.0.0 (02/04/2014) :
// - ajout de la gestion des tableaux de topics
// - ajout de la gestion de la casse
// - changement du nom du script (t.oyonos -> [HFR] toyonos)
// - ajout de la version, de la description et de l'historique (avec dates)
// - maj des metadata @grant avec une icone
// - meilleur javascript
function addSpan(elt, before = false) {
let span = document.createElement("span");
span.textContent = "T.oYonos";
span.style.color = "gold";
if(before) {
elt.insertBefore(span, elt.firstChild);
} else {
elt.appendChild(span);
}
}
// pseudals des messages dans les topics,
// psudals des auteurs des topics dans les tableaux des topics
// psudals des auteurs des derniers messages dans les tableaux des topics
var pseudals1 = document.querySelectorAll("b.s2, a.Tableau, a.Tableau > b");
for(var pseudal of pseudals1) {
if(pseudal.textContent.toLowerCase() === "toyonos") {
pseudal.textContent = "";
addSpan(pseudal);
}
}
// psudals des auteurs des derniers messages dans le tableaux des cats de la racine
var pseudals2 = document.querySelectorAll("td.catCase3 > b");
for(let pseudal of pseudals2) {
if(pseudal.textContent.toLowerCase() === "par toyonos") {
pseudal.textContent = "par ";
addSpan(pseudal);
}
}
// pseudals des citations, oldcitations, fakecitations et citations avec nom dans les topics
var pseudals3 = document.querySelectorAll("table.citation b.s1 a, table.oldcitation b.s1 a, table.citation b.s1, table.oldcitation b.s1");
for(let pseudal of pseudals3) {
if(pseudal.firstElementChild === null && pseudal.textContent.toLowerCase().indexOf("toyonos ") === 0) {
pseudal.textContent = pseudal.textContent.substr(7);
addSpan(pseudal, true);
}
}