Modifikationsscripte für Bronies.de - mrx1983 - 27.07.2012, 18:01
Vielleicht kennt ihr ja das Chrome Plugin "Tampermonkey".
https://chrome.google.com/webstore/detail/dhdgffkkebhmkfjojejmpbldmpobfkfo
(Das Firefox Pendant nennt sich "Greasemonkey")
Damit könnt ihr beliebige Modifikationen an einer Webseite vornehmen.
Ich hab mir überlegt einen Thread anzulegen, wo wir kleine Modifikationsscripte für Bronies.de posten können.
Hier sind schonmal 3 Scripte von mir, die ihr mit Tampermonkey laden könnt.
Code:
// ==UserScript==
// @name bronies.de Spoiler Tag Picture Size Bugfix
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description enter something useful
// @match http://*bronies.de/*
// @copyright 2012+, You
// ==/UserScript==
function checkimage()
{
for (var i in document.images)
{
if(document.images[i].width>650)document.images[i].width=650;
}
}
setInterval(checkimage,2000);
Behebt den Fehler mit den Spoiler Tags wodurch Bilder wieder ordnungsgemäß verkleinert werden.
Code:
// ==UserScript==
// @name bronies.de Banner Replace
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description enter something useful
// @match http://*bronies.de/*
// @copyright 2012+, You
// ==/UserScript==
replace_image="http://24.media.tumblr.com/tumblr_m2lhjcA3m91rsw2ojo1_1280.png";
document.images[0].src=replace_image;
Ersetzt den Banner von Bronies.de durch einen eigenen.
Tragt bei replace_image die URL eures Banners ein.
Code:
// ==UserScript==
// @name bronies.de Bilder Replace
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description enter something useful
// @match http://*bronies.de/*
// @copyright 2012+, You
// ==/UserScript==
source_image=new Array();
source_image[0]="http://www.bronies.de/images/sweetdreams/ficons/5_on.png";
source_image[1]="http://www.bronies.de/images/sweetdreams/ficons/22_on.png";
source_image[2]="http://www.bronies.de/images/sweetdreams/ficons/6_on.png";
source_image[3]="http://www.bronies.de/images/sweetdreams/ficons/24_on.png";
source_image[4]="http://www.bronies.de/images/sweetdreams/ficons/10_on.png";
source_image[5]="";
source_image[6]="";
replace_image=new Array();
replace_image[0]="http://4.bp.blogspot.com/-CdsVtqW2H4s/TqM6m52T3-I/AAAAAAAAABM/ep7gJCZ9pNw/s45/crazy_twilight_by_argorine-d4d1dwv.png";
replace_image[1]="http://4.bp.blogspot.com/-CdsVtqW2H4s/TqM6m52T3-I/AAAAAAAAABM/ep7gJCZ9pNw/s45/crazy_twilight_by_argorine-d4d1dwv.png"
replace_image[2]="http://4.bp.blogspot.com/-CdsVtqW2H4s/TqM6m52T3-I/AAAAAAAAABM/ep7gJCZ9pNw/s45/crazy_twilight_by_argorine-d4d1dwv.png";
replace_image[3]="http://4.bp.blogspot.com/-CdsVtqW2H4s/TqM6m52T3-I/AAAAAAAAABM/ep7gJCZ9pNw/s45/crazy_twilight_by_argorine-d4d1dwv.png";
replace_image[4]="http://4.bp.blogspot.com/-CdsVtqW2H4s/TqM6m52T3-I/AAAAAAAAABM/ep7gJCZ9pNw/s45/crazy_twilight_by_argorine-d4d1dwv.png";
replace_image[5]="";
replace_image[6]="";
function checkimage()
{
for (var i in document.images)
{
for (var y in source_image)if(document.images[i].src==source_image[y])document.images[i].src=replace_image[y];
}
}
setInterval(checkimage,500);
Beliebige Bilder/Signaturen/Avas können nach Belieben abgeändert werden.
source_image sind die URLs der Bilder die ihr ersetzen möchtet.
replace_image sind die URLs der Bilder die ihr als Ersatz nehmen wollt.
Aktuelle Scripte:
RE: Modifikationsscripte für Bronies.de - HeavyMetalNeverDies! - 27.07.2012, 19:16
Gibts auch was um die Farben abzuändern?
RE: Modifikationsscripte für Bronies.de - Flying-Claw - 27.07.2012, 20:46
Eine schöne Idee, und schöne Umsetzung. Allerdings habe ich eine Sache am Code zu bemängeln; Der derzeitige Code nimmt am, dass das erste Bild auf der Seite der Banner ist - Was, wenn es ändert? Wäre hier ein getElementById nicht angebrachter?
MfG
RE: Modifikationsscripte für Bronies.de - rainbowdash28 - 27.07.2012, 20:53
(27.07.2012)seufz... schrieb: Aber is das den erlaubt ?
Naja so streng sieht das keiner aus 2 Gründen:
1. Gibt es die Möglichkeit sowieso und wir sehen es nicht ob das nun jemand macht oder nicht. (Zumindest nicht mit den aktuellen Script)
2. Ist es nur eine lokale Änderung die kein anderer sieht außer er richtet es sich auch ein.
(27.07.2012)seufz... schrieb: Und kann man damit namen ersetzen ? (* siehe meinen namen und denke sich *)
Können schon Ja, allerdings bringt es wenig da es sich nur bei dir ändert ist wie gesagt alles nur eine lokale Änderung keine globale sodass es sich bei jedem User ändern würde.
Wenn du deinen Namen geändert haben möchtest informiere Fabr0ny mit einer PN darüber, dann ist das auch so in der Datenbank und für jeden auch so sichtbar.
Was ich von Greasemonkey und Co. halte? Naja mir persönlich gefällt die Seite so wie es ist wenn jemand meint das etwas abgeändert werden muss (Klar das mit den Spoiler Tag ist vielleicht ein Vorteil aber alle 2 Sek ist das nicht bisschen Scriptlastig?) aber mich stört das auch nicht mit den Spoiler Tag da ich Bilder immer im eigenen Tab öffne.
Auch besteht die Gefahr das dass Script langsamer geladen wird oder aber etwas fehlerhaft / gar nicht angezeigt wird. Ist aber für die Leute Nett die sich damit nicht beschäftigen mrx1983 nur eben Geschmackssache manche mögen es andere nicht.
RE: Modifikationsscripte für Bronies.de - Flying-Claw - 27.07.2012, 20:58
- Snip - (Meine Rechtsschreibung damals... Zum Haare-Raufen...)
RE: Modifikationsscripte für Bronies.de - mrx1983 - 27.07.2012, 21:32
(27.07.2012)HeavyMetalNeverDies! schrieb: Gibts auch was um die Farben abzuändern?
Ja gibt es.
Ich hab mich jetzt auch nochmal ein bisschen reingefuchst, und habe ein komplettes Rainbow Dash Theme entworfen
[attachment=1925]
Code:
// ==UserScript==
// @name bronies.de Rainbow Dash Theme
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description enter something useful
// @match http://*bronies.de/*
// @copyright 2012+, You
// ==/UserScript==
document.images[0].src="http://4.bp.blogspot.com/-6qnfoA9BboI/T88wcldvwuI/AAAAAAAAsXs/KSOQSsRShyY/s640/640px-Rainbow_Dash_dark_S02E16.png";
document.images[0].style.width="940px";
document.images[0].style.height="200px";
document.body.style.background="#000000 url('http://4.bp.blogspot.com/-GvouqgMf9TE/TdsgXRWxHCI/AAAAAAAAASI/3X1c-Ve0UnE/s1600/16221%2B-%2Bartist-megasweet%2Brainbow_dash%2Bwallpaper.png')";
for (var i=0;i<document.getElementsByClassName('thead').length;i++)
{
document.getElementsByClassName('thead')[i].style.background="#1E98D5";
}
for (var i=0;i<document.getElementsByClassName('trow1').length;i++)
{
document.getElementsByClassName('trow1')[i].style.background="#BCE5FA";
}
for (var i=0;i<document.getElementsByClassName('trow2').length;i++)
{
document.getElementsByClassName('trow2')[i].style.background="#BCE5FA";
}
document.getElementById('container').style.background="#FFFFFF";
rainbowdash28 schrieb:Was ich von Greasemonkey und Co. halte? Naja mir persönlich gefällt die Seite so wie es ist wenn jemand meint das etwas abgeändert werden muss (Klar das mit den Spoiler Tag ist vielleicht ein Vorteil aber alle 2 Sek ist das nicht bisschen Scriptlastig?) aber mich stört das auch nicht mit den Spoiler Tag da ich Bilder immer im eigenen Tab öffne.
Auch besteht die Gefahr das dass Script langsamer geladen wird oder aber etwas fehlerhaft / gar nicht angezeigt wird. Ist aber für die Leute Nett die sich damit nicht beschäftigen mrx1983 nur eben Geschmackssache manche mögen es andere nicht.
Ist eben eine nette Spielerei
Die Seite sieht natürlich auch so top aus, aber es macht schon Spaß seine ganz eigenen Themes und Funktionen einfließen zu lassen
rainbowdash28 schrieb:Klar das mit den Spoiler Tag ist vielleicht ein Vorteil aber alle 2 Sek ist das nicht bisschen Scriptlastig?
Dachte ich auch erst, aber zumindest bei meinem Core i5 lag er bei unter 1% Auslastung.
Ich werde trotzdem mal schauen das ich das ganze etwas optimiere.
RE: Modifikationsscripte für Bronies.de - sai - 27.07.2012, 22:35
hab mir vor ein paar Tagen auch mal so ein Script geschrieben, besteht nur aus einer Zeile und entfernt den Luftballon-Hintergrund.
Code:
document.getElementsByTagName('body')[0].style.background = '#AE80BB';
RE: Modifikationsscripte für Bronies.de - mrx1983 - 27.07.2012, 22:49
(27.07.2012)sai schrieb: hab mir vor ein paar Tagen auch mal so ein Script geschrieben, besteht nur aus einer Zeile und entfernt den Luftballon-Hintergrund.
Du hast die Luftballons entfernt...?
Arme Pinkie, sie hat sich soviel Mühe beim Aufhängen der Luftballons gegeben.
Aber ist schon klasse was man alles so mit dem Tampermonkey/Greasemonkey machen kann
RE: Modifikationsscripte für Bronies.de - Pulse Wave - 27.07.2012, 23:34
Im Moment hab ich hier nur ein Userscript laufen, und das läuft auf all meinen Füchsen unter Linux und ersetzt alle erzwungenen Windows- und Mac-Schriften durch generisches Sans Serif bzw. Serif, was wiederum in freie, amtlich aussehende Schriften umgesetzt wird. Also Arial → Sans Serif → FreeSans.
(27.07.2012)HeavyMetalNeverDies! schrieb: Gibts auch was um die Farben abzuändern?
Das wär doch eigentlich ein Fall für einen Userstyle, der dann mit Stylish geladen wird.
RE: Modifikationsscripte für Bronies.de - mrx1983 - 27.07.2012, 23:39
(27.07.2012)Pulse Wave schrieb: Das wär doch eigentlich ein Fall für einen Userstyle, der dann mit Stylish geladen wird.
Stimmt, Stylish sieht auch nicht schlecht aus, werde ich mir auch mal ansehen.
RE: Modifikationsscripte für Bronies.de - emosewA - 29.07.2012, 18:08
Code:
// ==UserScript==
// @name bronies.de - Gebt uns unseren Spambereich zurück!
// @version 1.5
// @description Mach aus 'Spaß & Sonstiges' wieder 'Spam & Sinnlos'
// @match http://bronies.de/*
// @copyright 2012+, emosewA
// @license WTFPL; http://sam.zoy.org/wtfpl/COPYING
// ==/UserScript==
if(location.href.match("fid=15"))
{
document.querySelectorAll('#content > div > table td.thead > div > strong')[0].innerHTML = "Spam & Sinnlos";
document.querySelectorAll(".navigation > .active")[0].innerHTML = "Spam & Sinnlos";
var caption = document.querySelectorAll('#content > div > table td.thead > strong')[0];
caption.innerHTML = caption.innerHTML.replace(/'.*?'/, "'Spam & Sinnlos'");
}
else if(location.href.match("showthread.php") || location.href.match("forumdisplay.php"))
{
var element = document.querySelectorAll(".navigation > a")[2];
if(element.innerHTML === "Spaß & Sonstiges")
{
element.innerHTML = "Spam & Sinnlos";
}
}
else if(location.href.match("index.php") || location.href.match(/bronies\.de\/?$/))
{
var captions = document.querySelectorAll('td.trow1 > div > strong > a');
for(var i = 0, length = captions.length; i < length; i++)
{
if(captions[i].innerHTML === "Spaß & Sonstiges")
{
captions[i].innerHTML = "Spam & Sinnlos";
}
}
}
RE: Modifikationsscripte für Bronies.de - Rapti - 12.09.2012, 22:39
(27.07.2012)mrx1983 schrieb:
Code:
// ==UserScript==
// @name bronies.de Spoiler Tag Picture Size Bugfix
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description enter something useful
// @match http://*bronies.de/*
// @copyright 2012+, You
// ==/UserScript==
function checkimage()
{
for (var i in document.images)
{
if(document.images[i].width>650)document.images[i].width=650;
}
}
setInterval(checkimage,2000);
Behebt den Fehler mit den Spoiler Tags wodurch Bilder wieder ordnungsgemäß verkleinert werden.
Leider wird auch das Banner verkleinert, wie kann ich das verhindern?
RE: Modifikationsscripte für Bronies.de - Evenprime - 12.09.2012, 23:10
(12.09.2012)Raptilicus schrieb: Leider wird auch das Banner verkleinert, wie kann ich das verhindern?
Versuch's hiermit:
Code:
// ==UserScript==
// @name bronies.de Spoiler Tag Picture Size Bugfix
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description enter something useful
// @match http://*bronies.de/*
// @copyright 2012+, You
// ==/UserScript==
function checkimage()
{
for (var i in document.images)
{
if(document.images[i].width>650 && document.images[i].title!="Bronies.de")document.images[i].width=650;
}
}
setInterval(checkimage,2000);
Gleiches Skript, nur werden Bilder mit Titel "Bronies.de" (das Banner hat diesen Titel) ausgenommen von der Größenänderung.
RE: Modifikationsscripte für Bronies.de - Rapti - 12.09.2012, 23:14
Funktioniert, vielen Dank
RE: Modifikationsscripte für Bronies.de - Dasher - 13.09.2012, 22:04
Oh ja, das ist ein tolles Plug-in. Sehr hilfreich, auch wenn ich selbst eher nicht so gut darin bin, Scripte zu erstellen.
RE: Modifikationsscripte für Bronies.de - Evenprime - 24.09.2012, 17:14
So, hab mich mal hingesetzt und eines meiner Userskripte für GreaseMonkey erweitert/verfeinert, so dass es vielleicht auch anderen nützt:
Code:
// ==UserScript==
// @name Image Gallery for Threads
// @namespace bronies.de
// @description Display all images on a thread page as a small, clickable gallery at the beginning
// @include http://www.bronies.de/showthread.php?*
// @version 1.0.0
// @author Evenprime
// ==/UserScript==
// Variables (modify to change appearance)
// ***************************************
var maxWidthInPixel = 200;
var maxHeightInPixel = 200;
var backgroundColor = 'black';
var scrollToImages = true;
// Method to open relevant spoilers, if necessary
// **********************************************
window.openSpoilersFor = function (imageURI, postId) {
var post = document.getElementById(postId);
var images = post.getElementsByTagName('img');
for(var i = 0; i < images.length; i++) {
var parentSpoilers = new Array();
if(images[i].src == imageURI) {
var parent = images[i].parentNode;
while(parent != post && parent != null) {
// it's a closed spoiler
if(parent.className == 'spoiler_body' && parent.style.display == 'none') {
// remember the spoiler header, we need to open it later on
parentSpoilers[parentSpoilers.length] = parent.previousSibling;
}
parent = parent.parentNode;
}
// open spoilers from outside to inside
for(var j = parentSpoilers.length-1; j >= 0; j--) {
// open spoilers such that the forum software will do everything
// like resizing, changing text on spoilers etc. for us
parentSpoilers[j].getElementsByTagName('a')[0].click();
}
if(scrollToImages) {
images[i].scrollIntoView();
}
}
}
}
// Code starts here, only modify it if you know what you are doing
// ***************************************************************
// Counting found images with this variable
var index = 0;
// Store uri and post ids for images
var allImages = new Array();
var allIds = new Array();
// Collect all posts of this page
var posts = document.getElementsByClassName("post_body");
// Iterate through posts
for(var i = 0; i < posts.length; i++) {
// Collect all images inside the post
var images = posts[i].getElementsByTagName("img");
// Iterate through images
for(var j = 0; j < images.length; j++) {
// Only interested in images that we've not collected already, that do have a "src" and that are not smilies of the forum
if(!(allImages.indexOf(images[j].src) >= 0) && !(images[j].src == "") && !(images[j].src.indexOf("bronies.de/images/smilies") >= 0)) {
// Store the src
allImages[index] = images[j].src;
// Store the post id that contained the image
allIds[index] = posts[i].id;
index++;
}
}
}
// Everything collected, now display it
var top = document.getElementById("posts");
// "gallery" is inserted at the top of thread
var gallery = document.createElement("div");
gallery.style.background = backgroundColor;
top.insertBefore(gallery, top.firstChild);
// iterate through all collected images and insert them
for(var i = 0; i < allImages.length; i++) {
var img = document.createElement('img');
img.setAttribute('src', allImages[i]);
img.style.maxWidth = maxWidthInPixel + 'px';
img.style.maxHeight = maxHeightInPixel + 'px';
var uri = document.createElement('a');
uri.setAttribute('href', "javascript: window.openSpoilersFor('"+allImages[i]+"', '"+allIds[i]+"')");
uri.appendChild(img);
gallery.appendChild(uri);
}
Also was macht das? Einfach. In Threads wird direkt über dem ersten Beitrag eine kleine Gallerie angelegt, in der alle Bilder, die auf dieser Seite des Threads per
eingebunden wurden, in Miniatur angezeigt werden.
- jedes Bild wird nur einmal angezeigt, auch wenn es mehrfach auf der Seite eingebunden wurde (z.B. weil zitiert wurde)
- auch Bilder hinter Spoilern werden in der Gallerie angezeigt
- beim Klick auf ein Bild in der Gallerie, springt der Browser zum ersten Vorkommen des Bildes
- dabei werden auch Spoiler bei Bedarf geöffnet, um das Bild anzuzeigen
- die Bilder der Gallerie lassen sich wie das Original mit Rechtsclick->"Speichern unter..." runterladen.
- ignoriert smilies des Forums (das sind ja auch Bilder) ...
- ... und Spoiler und Bilder in Signaturen
- ideal in Kombination mit "DownThemAll" oder ähnlichen Downloadern, denn alle Bilder lassen sich so leicht zugleich markieren.
Wie schaut sowas aus? Ich zeigs mal mit Hilfe des Epic-Art-Threads:
Aber Achtung! Wer in Threads unterwegs ist, in denen er nicht alle Bilder sehen will oder eine recht langsame Internetverbindung hat, wird mit dem Skript recht wenig Freude haben.
RE: Modifikationsscripte für Bronies.de - Dasher - 24.09.2012, 17:19
Cool, danke Evenprime. Dürfte wohl auch besonders für Moderatoren eine Hilfe sein.
RE: Modifikationsscripte für Bronies.de - Evenprime - 24.09.2012, 17:58
Achja, eine Anleitung wäre auch gut:
Also für Firefox Nutzer gilt, die Extension "Greasemonkey" zu installieren. Hier klicken: https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/
Nach der Installation, bitte einfach hier klicken: https://dl.dropbox.com/u/18816277/Image_Gallery_For_Threads.user.js
Firefox sollte euch fragen, ob ihr das Skript installieren wollt. Einfach bestätigen. Fertig!
Nun habt ihr in eurer Firefox Menuleiste ein Icon mit einem Affenkopf, über das ihr Skripte an und ausschalten könnt oder ein Menu erreichen, in dem ihr Skripte bearbeiten oder wieder löschen könnt.
Die Gallerie erscheint, falls es Bilder in einem Thread gibt. Ansonsten ist sie unsichtbar und alles sieht so aus wie immer.
RE: Modifikationsscripte für Bronies.de - Nastor - 24.09.2012, 20:10
Auch hier nochmals vielen Dank Evenprime, es sieht richtig fantastisch aus.
(24.09.2012)Evenprime schrieb: Die Erklärung ist für Firefox, für Chrome sollte es aber auch irgendwie funktionieren (nutze Chrome nicht, kenne daher den Ablauf nicht genau):
Wenn du nichts dagegen hast, hier eine kleine Anleitung für die Google Chrome Nutzer
Als erstes ladet ihr Dieses Addon runter. Wenn ihr es installiert habt, solltet ihr dieses Symbol rechts oben sehen:
Klickt drauf, danach hier drauf
Anschliesend solltet ihr das hier vor euch sehen. (Bild im Spoiler, da sonst zu gross.)
Jetzt einfach den vorhandenen Code löschen und den Code von Evenprime reinkopieren. Am ende sollte es so aussehen:
(natürlich geht das script unten weiter.)
Danach noch abspeichern und Fertig. Kein neustart nötig, danach habt ihr eure Gallerieansicht.
Nochmals Danke für dieses Tolle Script
RE: Modifikationsscripte für Bronies.de - Evenprime - 24.09.2012, 21:41
(24.09.2012)Nastor schrieb: Auch hier nochmals vielen Dank Evenprime, es sieht richtig fantastisch aus.
Wenn du nichts dagegen hast, hier eine kleine Anleitung für die Google Chrome Nutzer
Gern geschehen.
Und danke für die Anleitung, es freut mich sehr, dass es auch in Chrome funktioniert.
|