heiseonline / shariff

👮 Shariff enables website users to share their favorite content without compromising their privacy.
http://ct.de/-2467514
MIT License
1.4k stars 176 forks source link

Flexible Schaltflächengestaltung #122

Closed MathiasWeisheit closed 8 years ago

MathiasWeisheit commented 9 years ago

Ich habe das bestehende Script so angepasst, dass es auch selbst gestaltete Schaltflächen verwendet, anstatt seine eigenen zu generieren. Dadurch ist das Script dann kompatibel zu jQueryUI, Bootstrap, etc.... Ggf könnt hier die Änderung bei euch einbauen.

I have the existing script adapted so that it also uses self-designed buttons, instead of generating its own. This script is then compatible with jQueryUI, bootstrap, etc .... If necessary, you can install here with you the change.

P.S. da ich kein browserify und node.js verwenden wollte, musste ich bei meinem Script etwas mehr anpassen. https://website-dev.cetima.de/ https://website-dev.cetima.de/static/cetima/design/extlibs/shariff-1.17.1/shariff-cetima-mod.js

andrelohmann commented 9 years ago

Genau wonach ich und bestimmt auch viele andere gesucht haben. @heise, bitte nehmt den code in den master branch mit auf.

MathiasWeisheit commented 9 years ago
MathiasWeisheit commented 9 years ago

Ich mit dem oben erwähnten Code nur versucht, einen Ansatzpunkt für eine Erweiterung zu liefern. Ich kenn mich in dem Projekt nicht aus und will mich nicht zu tief einmischen. Ich habe keine Erfahrungen mit den verwendeten Bibliotheken und mit Git! @heise: Ich will damit niemanden zu nahe treten und wünsche mir nur die Berücksichtigung bei einer Weiterentwicklung.

craiq commented 9 years ago

Die Idee ist ja gut, aber die Umsetzung ist reicht noch nicht zum einpflegen. Du kannst gerne weiter dafür entwickeln. Vor shariff hatte ich damit auch keine Erfahrung. Nichtmal mit nodejs. Jeder Entwickler wünscht sich hier, dass sein Code berücksichtigt wird. Also Füße still halten und hoffen, dass heise dein Code übernimmt. Da die Entwickler von heise offensichtlich momentan nicht viel Zeit für das Projekt aufbringen können, heißt es also Geduld haben.

osworx commented 9 years ago

Da die Entwickler von heise offensichtlich momentan nicht viel Zeit für das Projekt aufbringen können, heißt es also Geduld haben. Das ist ja das Gute an dieser Art von Software und Lizenz sowie GitHub: jeder kann es weiter betreiben, wenn der Originalautor nicht mag oder keine Zeit hat, dann eben andere. Nennt sich dann Fork

MathiasWeisheit commented 9 years ago

Könntest du mir beim Verständnis für die Entwicklungsumgebung helfen. Ich entwickle momentan nur clientseitig javascript. Doch in diesem Projekt sind anscheinend node.js Bibliotheken, borserify, grunt, etc.. eingebettet. Ich würde mir gerne das Projekt auschecken und die Änderungen daran vornehmen.

craiq commented 9 years ago

Wie osworx schon sagt, ist der erste Schritt einen eigenen Fork von shariff zu erstellen. Den dann mit https://desktop.github.com/ auf den Desktop clonen. Mit den ganzen Bibliotheken musst du dich erstmal gar nicht beschäftigen. Wenn du nodejs installiert hast, kannst du mit der Console zu deinem Ordner navigieren und alle Abhängigkeiten mit einem Befehl installieren.

cd shariff npm install // installiert alle Abhängigkeiten npm install -g grunt-cli

Der letzte Befehl ist noch notwendig um dann direkt auf die grunt Befehle zugreifen zu können. Jetzt kannst du schon mal mit folgendem Befehl versuchen, ob alles funktioniert hat.

grunt build

Der Rest ist jetzt fast nur noch objektbasiertes Javascript mit JQuery und less. Was noch von NodeJs kommt: var ... = require(...); Damit werden Module eingebunden, wie zB die einzelnen Services. Wenn du eins von den externen verwenden willst, einfach danach googlen "npm modul" module.exports gibt den Inhalt für require weiter

mehr ist es gar nicht. Du musst dich nur in das große shariff - Objekt rein arbeiten. Und bedenke, die Entwickler von Heise haben echt guten Code geschrieben, also hat jede Zeile einen Grund (weil du Zeile 13 auskommentierst)

Wenn dein Code dann soweit fertig ist, kannst du den mit Github auch wieder auf den Server synchronisieren und einen Pullrequest starten.

MathiasWeisheit commented 9 years ago

Probiere ich heute aus! Danke!

MathiasWeisheit commented 9 years ago

@craiq Deine Umsetzung der Counts in den runden Schaltflächen würde bei mir auch gut passen.

craiq commented 9 years ago

Die kannst du gerne adaptieren. Direkt übernehmen geht leider nicht da ich ganz anderes CSS verwende.

MathiasWeisheit commented 9 years ago

beim np install // gibt es Probleme. Ich verwende einen Windows-Rechner. Hoffe das ist kein Problem. npm ERR! addLocal Could not install D:\ npm ERR! Windows_NT 6.1.7601 npm ERR! argv "D:\Dev\nodejs\node.exe" "D:\Dev\nodejs\node_modules\npm\b in\npm-cli.js" "install" "//" npm ERR! node v4.1.1 npm ERR! npm v2.14.4 npm ERR! code EISDIR npm ERR! errno -4068 npm ERR! syscall read

npm ERR! eisdir EISDIR: illegal operation on a directory, read npm ERR! eisdir This is most likely not a problem with npm itself npm ERR! eisdir and is related to npm not being able to find a package.json in npm ERR! eisdir a package you are trying to install.

npm ERR! Please include the following file with any support request: npm ERR! D:\Dev\MyEclipse2015\Workspace\shariff\npm-debug.log

craiq commented 9 years ago

Das war ein Fehler in meiner package.json. Da musste ich noch eine Version eintragen. Hab die Datei auch schon neu hochgeladen - musst du also nochmal synchronisieren. Werde mal schauen, dass ich das irgendwie testen kann.

Edit: bei mir gings jetzt. Sag bitte bescheid, ob es auch bei dir funktioniert

MathiasWeisheit commented 9 years ago

m branch gh-pages oder im master?

craiq commented 9 years ago

gh-pages ist die demo seite das wichtige ist der master

compeak commented 8 years ago

Wir haben uns entschieden, dieses Feature nicht einzubauen. Shariff soll von Webseiten-Besuchern einfach wiedererkannt, und als die Privatsphäre schützendes Element eingestuft werden können. Eine komplett freie Gestaltung der Buttons ist daher nicht Ziel des Projekts.