Adding Custom Format Buttons To tinyMCE in WordPress 4

Introduction

In my technical articles I sometimes use inline fragments typed in a monospace font to highlight code or filenames that appear within floating paragraph text. Back in the days I did this with the <tt> element, nowadays I use <span class="tt"> and a CSS style like

.tt { font-family: monospace; }

I wanted to extend the tinyMCE in WordPress with a toggle button that behaves like the Bold or Italic buttons and surrounds selected text with such a <span class="tt"> element or, when pressed while an already surrounded text is selected, removes that surrounding again. Also, when the cursor is inside such an element, the button should switch to an „active“ state that indicates that the character format can be deselected.

Lesen Sie mehr »

DTP With Free Software?

In case anyone is wondering how to produce documents with

  • complex structure,
  • multiple pages and
  • professional quality

using free software, the answer is of course: with LaTeX. Consider the alternatives: Office (Libre, Open, the KDE stuff) are a nuisance when it comes to properly customized sectioning, and for larger documents or 100% precise positioning they turn into an outright PITA. Scribus is too limited to really overcome the Office competition. Inkscape addresses a different problem.

Lesen Sie mehr »

PHP HTTPS Streams: Explicitly Using A CA For Verification

When I tried setting my Owncloud Calendar’s ICS export URL (which uses HTTPS) as a calendar import URL in Dolibarr (currently installed are Owncloud 8.0 and Dolibarr from the version 3.6.2-3 Debian package), Dolibarr gave me these errors (taken from the error.log of the webserver, with some additional formatting):

PHP Warning:
   file(): SSL operation failed with code 1.
   OpenSSL Error messages:\nerror:14090086:SSL routines:
      SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
   in /usr/share/dolibarr/htdocs/comm/action/class/ical.class.php on line 60
PHP Warning:
   file(): Failed to enable crypto
   in /usr/share/dolibarr/htdocs/comm/action/class/ical.class.php on line 60

This makes sense, since my Owncloud’s HTTPS uses a certificate that is signed by my self-signed CA. PHP, as by version 5.6, requires HTTPS certificates to verify for streaming access by default, which is a good thing.

To solve this, I had to make the CA of the Owncloud web certificate known to Dolibarr.

Lesen Sie mehr »

Rollbare Ablage

Mit einfachsten Bauteilen aus dem Baumarkt habe ich mir eine Ablage mit Rollen Marke „No Bulls***“ gebaut. Das Möbelstück ist stabil und ziemlich schwer (ich konnte es mit Ach und Krach alleine in den 2. Stock bringen), die Auflage ist relativ solide (es ist halt Grobspanplatte, als Werkzeugablage oder ähnlich ist sie gut zu gebrauchen), und der Stauraum entlastet meine Regale deutlich. Die Materialkosten liegen bei ca. 35 Euro.

Lesen Sie mehr »

Blick vom Königsstuhl auf die Rheinebene

Strömender Regen bei Auf- und Abstieg, aber genau als ich auf dem Gipfel war, gab es diese klasse Aussicht:

Foto: Blick vom Königsstuhl auf die Rheinebene

Etwas links der Bildmitte ist übrigens die durch Straßen und Feldwege gebildete „Achse“ zu sehen, die in Schwetzingen durch Schlosspark und Schloss führt. Sie deutet ziemlich genau auf die Kalmit, den höchsten Berg des Pfälzerwalds.

Banana Pi Case Remod

I cut a bay for my Clicktronic HDMI-to-DVI adapter into my Banana Pi case.

Photo of the new connector configuration

HDMI adapter bay milled into the case (lower half with board, power and display connectors attached).

To maintain structural stability of the case, I had to cut about one half of the bay into the lower half of the case and the other into its upper half. To do this, I had to raise the mount level of the board by about 5 milimeters (to some 15 milimeters above case interior bottom overall).

Luckily, the front and back panels do have generous enough openings for the other connectors (Ethernet, dual USB host ports, SD card) to still pass through.

Also, the (massive) HDMI connector/adapter thing is savely hinged into the cut of the bay, which fits it tightly, hindering the adapter from excessive tilting, which could lever the board out of it’s socketing or (worse) tear the HDMI connector from the board.

But the fix-mounted USB power supply now hung „in the open“, passing any stress on it directly over to the connector and board.

Lesen Sie mehr »

RDP With Copy&Paste From Windows to xrdp on Debian

The package of xrdp (Version 6.1.2) that is available in Debian does lack support for Copy&Paste.

The „master“ branch of xrdp on github provides this feature but is not packaged for Debian at the moment.

To have it available, I built it manually on my Debian server. The procedure took about 1 hour, most of the time is spent compiling the „X11rdp backend“, a specialized X server that is provided by the xrdp project.

Lesen Sie mehr »

Alles Banane!

Aus dem Banana Pi Pro Board und einem „Eurobox“ Universal-Gehäuse Polystyrol (EPS), Conrad Artikel-Nr. 523130 – 62 habe ich eine kleine Appliance für mein Netzwerk konstruiert, die verschiedene Aufgaben übernehmen kann. Als Betriebssystem verwende ich Bananian, welches mir ein Debian Wheezy zur Verfügung stellt. Das System war sehr unkompliziert einzurichten und funktioniert super.

Basissystem, autonome Konfiguration

Basissystem, autonome Konfiguration

Die Frontseite. 1 GBE und 2 USB2.0 sind ausgeführt.

Die Frontseite. 1 GBE und 2 USB2.0 sind ausgeführt.

Die von mir ausgewählte Powerbank APC M10BK-EC kann leider kein „Passthrough Charging“, und das saugt! Dass APC diese Funktion nicht zur Verfügung stellt, spricht eine deutliche Sprache über APC. 😛

Im WLAN angemeldet und mit einer Webcam, die ich noch übrig hatte, ergibt sich folgende sehr simple Anwendung:

Beispielkonfiguration mit angeschlossener USB-Kamera

Beispielkonfiguration mit angeschlossener USB-Kamera

Textkonsole auf Android per SSH via USB-Tethering
Textkonsole auf Android per SSH via USB-Tethering

Ich schätze es sehr, dass ich den Krempel aus der mir geläufigen PC-Welt weiterverwenden kann. Das geht mit dieser Konfiguration gut, allerdings zieht die Kiste in oben abgebildeter Webcam-Konfiguration mit aktiviertem WLAN schon gut Strom und wird wohl nur ein paar Stunden durchhalten (Stamina-Test läuft).