URL Sharing Plugin for WordPress

The URL Sharing Plugin adds a text field with the post URL at the end of your posts – a qz.com like sharing approach.

The URL Sharing Plugin adds a text field with the post URL at the end of your posts – a qz.com like sharing approach. Additionally you get a button that enables copying the URL to the user’s clipboard. Look at the end of this post to see a live version of the plugin.

The plugin can be used as a more privacy-friendly alternative to sharing buttons or as an additional sharing-option. I was inspired by Dominik’s post about readability and usability on blogs (in German) who uses the Quartz-like approach – something I wanted to have, too.

URL share implementation on qz.com.
URL share implementation on qz.com.

Download

You have two options to get the code:

Installation

  1. Upload the files in your plugins directory. Then activate it.
  2. For a label in front of the URL and a text on the copy-to-clipboard-button, go to the settings page and insert your strings in the input fields. Of course, you can leave the label blank, the button, however, should have a call to action.

Change style

You can change the styling by adding your changes to stylesheet of the plugin. The URL Sharing plugin uses three CSS-elements:

  • .url_share: div-container
  • .url_share_label: label of the input field
  • .url_share_input: input field
  • .zeroclipboard-is-hover: hover status for copy-button
  • .zeroclipboard-is-active: active status for copy-button

In the default version url_share_label and url_share_input don’t have values and therefore are using your theme’s style for label and input. Of course, you can change them just the way you want. For example: To change the color of the URL to red, add the following to the plugin’s stylesheet or your theme’s stylesheet: .url_share_input {color:red;}

To-do List

Things that might be considered in the future:

  • Enable font color change of the URL in backend
  • Offer a PHP-Snippet to enable more flexible positioning
  • A button to automatically copy the URL to the user’s clipboard (by using an existing JavaScript library)Added with version 1.1 by using ZeroClipboard

Questions? Comments?

If you have any remarks and/or questions, feel free to leave a comment.

Leaflet.js: Regensburg und seine Migranten

Eine Karte, die den Anteil von Migranten an der Gesamtbevölkerung in Regensburg angibt. Dabei gelernt: Shapefile mit .csv-Datei mit QGIS mergen.

Ein bisschen mit Karten spielen Teil 2322: Dieses Mal mit Migranten in Regensburg.

Die Daten habe ich mit Tabula aus dem Vierteljahresbericht 2013 der Stadt Regensburg gescrapt. Sie waren die ersten, die Angaben zu Stadtteilen hatten und mir untergekommen sind. Die Geodaten der Stadtteile habe ich ebenfalls von offizieller Stelle.

In der Vergangenheit hatte ich immer das Problem, diese zwei Datensätze zusammenzufügen. Nachdem ich im letzten Wintersemester eine Vorlesung zu GIS belegt habe, war mir klar, dass das der way to go ist: Mit GIS-Software mergen – und nicht in der Kommandozeile, so wie ich das vor etwa einem Jahr probiert hatte. Das Ende vom Lied waren zwei neue Benutzer auf meinem Computer. Das passiert, wenn man Copy-Pasted und keine Ahnung hat davon …

Also: Wie Geodaten, zum Beispiel eine im Geojson-Format und eine csv-Datei zusammenfügen? Mit der Open-Source-Software QGIS. In der Uni haben wir ArcGIS benutzt, aber QGIS ist dem sehr, sehr ähnlich.

Aber dabei gibt es ein Problem: Alle Einträge der csv-Datei sind automatisch Strings. Es gibt aber einen Weg, das zu verhindern. Dazu muss man eine zweite Datei erstellen, die denselben Namen wie die .csv-Datei trägt, jedoch mit der Endlung .csvt. In diese .csvt-Datei werden dann in einer Zeile die Datentypen notiert. Zum Beispiel:

"string", "integer", "real"

Danach muss die Datei über Layer –> Delimited Tab Layer importiert werden. Dadurch werden die Datentypen automatisch erkannt, solange die .csv und .csvt-Datei den gleichen Namen haben und im gleichen Ordner liegen.

Andere Varianten, um die .csv-Datei in QGIS zu laden, wie einfach reinziehen oder als Vector Layer zu laden, haben bei immer dazu geführt, dass alle Datenpunkte wieder Strings waren.

Wo waren wir? Wir haben eine Datensatz mit passenden Datentypen und die Geodaten zusammengeführt. Diese kann nun exportiert werden und dann als Geojson-Datei zum Beispiel in Leaflet weiterverarbeitet werden.

Doch halt! So leicht ging es nicht. Die direkt aus QGIS exportierte Datei wurde bei mir über Leaflet nicht ausgespielt. Erst wenn ich sie bei CartoDB hochgeladen und wieder exportiert habe, hat es funktioniert. Weiß der Geier, warum.

Das Ergebnis: Eine Karte mit Leaflet. Für die Klassifizierung, Infobox und Legende habe ich das Leaflet-Tutorial benutzt.

Und nun? So ganz ohne Kontext ist das ein bisschen langweilig. Deshalb habe ich mir überlegt, Texte zum Thema von der Mittelbayerischen Zeitung und Regensburg Digital einfließen zu lassen. Doch: Bei beiden Medien ist nicht möglich, Artikel zu diesem Thema einigermaßen automatisiert, z.B. via Feed, auszulesen. Bei Regensburg-Digital finde ich zum Beispiel nur das Schlagwort „Flüchtlinge“, bei der Mittelbayerischen gar keine Tags. Über einen Alert bei Google News würde zu viel Unpassendes mitgeschwemmt und für eine händische Auswahl, die in zwei Tagen wieder obsolet wäre, fehlt mir die Motivation. Dann eben nur die Karte.

Eine wirklich einfache Einführung in GitHub

Endlich ein Tutorial, das ganz konkret und praktisch GitHub erklärt.

Unzählige Tutorials und Artikel habe ich schon über GitHub gelesen. Ja, sogar einen Freund gebeten, es mir zu erkläen. Und ja, die Grundsätze und den Sinn hab ich verstanden, aber das ganz Konkrete war mir nicht klar. Bis eben!

Tyler Fisher hat es mit wenigen Slides „Intro to GitHub“ und einer praktischen Aufgabe (natürlich auf GitHub) geschafft, dass ich endlich verstanden habe, was ich mit meiner GitHub-App auf dem Computer nun eigentlich machen soll. Heureka!

Zeit, was neues zu lernen

Was man so hört, sollen Datenjournalisten vor allem drei Dinge können:

      1. Generell den Umgang mit Datensätzen in Excel, csvs oder anderen Formaten
      2. Visualisierern/Darstellen/Damit Geschichten erzählen
      3. Webscraping: Denn es gibt auch interessante Dinge, die nicht schon als .xls oder .csv auf Webseiten bereit liegen.

Letzteres kann ich gar nicht. Ich hab mich vor Monaten schon einmal an Webscraping versucht. Gleich von 0 auf 100 mit Python im Terminal und R. Natürlich bin ich gnadenlos gescheitert.

Dieses Mal will ich es langsamer angehen. Erstes Projekt: Mit Tabula eine Tabelle aus einem pdf auslesen und dann die gewonnenen Daten mit Datawrapper in eine Webseite einbinden.

„Zeit, was neues zu lernen“ weiterlesen