Bronies.de
Modifikationsscripte für Bronies.de - Druckversion

+- Bronies.de (https://www.bronies.de)
+-- Forum: Bronytum (https://www.bronies.de/forumdisplay.php?fid=23)
+--- Forum: Pony-Software & Brony-Web (https://www.bronies.de/forumdisplay.php?fid=29)
+--- Thema: Modifikationsscripte für Bronies.de (/showthread.php?tid=5320)

Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16


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.
Spoiler (Öffnen)


Aktuelle Scripte:
Spoiler (Öffnen)



RE: Modifikationsscripte für Bronies.de - HeavyMetalNeverDies! - 27.07.2012, 19:16

Gibts auch was um die Farben abzuändern? AJ hmm


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 Facehoof *)

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. RD wink

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. Twilight happy

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? AJ hmm
Ja gibt es.
Ich hab mich jetzt auch nochmal ein bisschen reingefuchst, und habe ein komplettes Rainbow Dash Theme entworfen Big Grin
[attachment=1925]
Rainbow Dash Theme (Öffnen)


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 Pinkie happy
Die Seite sieht natürlich auch so top aus, aber es macht schon Spaß seine ganz eigenen Themes und Funktionen einfließen zu lassen Twilight happy

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...?
[Bild: sad_pinkie_pie___vector_by_regolithx-d4q6nn5.png]

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 Pinkie happy


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? AJ hmm
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

Mach aus 'Spaß & Sonstiges' wieder 'Spam & Sinnlos (Öffnen)



RE: Modifikationsscripte für Bronies.de - Rapti - 12.09.2012, 22:39

(27.07.2012)mrx1983 schrieb:  
Spoiler Tag Picture Size Bugfix (Öffnen)
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:

Spoiler (Öffnen)

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 Twilight happy


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
Code:
[img]url[/img]
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:

Spoiler (Öffnen)


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. Twilight happy


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: [Bild: 18fpQ]

Klickt drauf, danach hier drauf
[Bild: 18fqI]

Anschliesend solltet ihr das hier vor euch sehen. (Bild im Spoiler, da sonst zu gross.)
Spoiler (Öffnen)

Jetzt einfach den vorhandenen Code löschen und den Code von Evenprime reinkopieren. Am ende sollte es so aussehen:

Spoiler (Öffnen)
(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 RD salute


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. Pinkie happy

Und danke für die Anleitung, es freut mich sehr, dass es auch in Chrome funktioniert. Pinkie approved