Tools & more - Mike Unckel

Blogtitel des Wordpress Plugins Really Simple Breadcrumb ändern

Will man die erste Ebene des Plugins Really Simple Breadcrumb für Wordpress ändern, geht das in der breadcrumb.php des Plugins. Als Standard wird der Blogtitel verwendet. Oft will man aber z.B. "Home" oder "Startseite" da stehen haben.

Suche (2x):
bloginfo('name');
ändern zu:
echo "Startseite";

Quelle: https://wordpress.org/support/topic/plugin-really-simple-breadcrumb-some-usefull-tips

Februar 2015 | Permalink | Feedback


DNS Cache löschen (Windows 7)

Werden nicht mehr alle Internetseiten geladen, andere aber schon, kann es am lokalen DNS-Cache liegen. In diesen Fällen kann es helfen den DNS-Cache zu leeren.
  1. Eingabeaufforderung öffnen (mit START cmd eingeben und [Enter] drücken)
  2. ipconfig /flushdns [Enter] drücken

dns

November 2014 | Permalink | Feedback


Cron-Job für Arme unter Windows

Über „Geplante Tasks“ kann eine Website (mit oder ohne Skript) folgendermaßen aufgerufen werden: Erst einen Browser dann die Adresse angeben.
Beispiel: C:\Programme\Internet Explorer\iexplorer.exe http://www.website.de/test.php

Eine andere Möglichkeit, jedoch nur wenn die Adresse öffentlich zugänglich ist, besteht über den Service www.cron-job.org

Daß der Browser bzw. der neue Tab nicht dauerhaft beim Aufruf geöffnet bleibt, einfach per JavaScript schließen:
<script>
	window.open('', '_self', ''); // chrome bug fix
	window.close();
</script>

Da das JavaScript erst nach dem Abarbeiten des Serverskripts ausgeführt wird, muss mit dem Schließen per JavaScript nicht gewartet werden.

Das funktioniert natürlich auch mit anderen Skripts (PHP, ASPX, usw.)

Beispiel:
<?php
	// cool php stuff…
?>
<html><body>
<script>
	window.open('', '_self', '');
	window.close();
</script>
</body></html>

Mai 2012 | Permalink | Feedback


HostEurope + Wordpress + Contact Form 7 zum laufen bringen

- HostEurope KIS > Webhosting > Konfiguration > Scripte > Standard > E-Mail-Adresse. E-Mail-Adresse die unter HE erstellt wurde.
- Wordpress Backend > Einstellungen > Allgemein > E-Mail-Adresse (muss mit der von HE KIS übereinstimmen)

via http://forum.wpde.org/konfiguration/72449-contact-form-7-wp-3-0-hosteurope-hilfe.html

April 2012 | Permalink | Feedback


HTML Attribut height per CSS entfernen/zurücksetzen

Das HTML height-Attribut lässt sich per CSS folgendermaßen überschreiben:

  { height:auto !important; }

April 2012 | Permalink | Feedback


Excel: Datei-Änderungsdatum in Zelle ausgeben

Excel 2007 » Entwicklertools » Visual Basic » VBAProject markieren » Einfügen » Modul
(Datei muss dann unter .xslm gespeichert werden.)

Function savedate()
  savedate = ActiveWorkbook.BuiltinDocumentProperties(12).Value
End Function

=savedate() steht dann unter Benutzerdefinierte Funktionen bereit.

Quelle: http://www.herber.de/forum/archiv/444to448/t444825.htm

Excel

Februar 2012 | Permalink | Feedback


Kompletter UNICODE-Zeichensatz per Javascript

Schriftart "Arial Unicode" o.ä. verwenden.

for (var i=0; i<65536; i++) {
    document.write(String.fromCharCode(i) + " ");
}

http://www.weblog-deluxe.de/sonderzeichen-und-symbole-ascii-art-fur-second-life/

August 2011 | Permalink | Feedback


Bruchzahlen (Unicode)

Bruchzahlen zum einfachen copy'n'paste. Achtung: Unicode-Zeichensatz!

½ (0,5)
⅓ (0,333)
⅔ (0,667)
¼ (0,25)
¾ (0,75)
⅕ (0,2)
⅖ (0,4)
⅗ (0,6)
⅘ (0,8)
⅙ (0,167)
⅚ (0,833)
⅛ (0,125)
⅜ (0,375)
⅝ (0,625)
⅞ (0,875)

html

August 2011 | Permalink | Feedback


KISS - MAYA - AIDA

KISS-Prinzip - Keep it simple and stupid
MAYA-Prinzip - Most Advanced Yet Acceptable
AIDA-Modell - Attention, Interest, Desire & Action

August 2011 | Permalink | Feedback


Word: Tabelle horizontal teilen

So werden aus einer Word-Tabelle zwei:

Cursor in irgendeiner Zelle positionieren und dann
[Strg] + [Shift] + [Enter]

Quelle: http://www.ratschlag24.com/index.php/word-tabellen-teilen_000006237/

August 2011 | Permalink | Feedback


Dropdown-Navigation (Version 1) mit CSS und JavaScript

Ein typisches Aufklappmenü, umgesetzt mit reinem CSS. Dem Internet Explorer bis Version 7 benötigt etwas Hilfe per JavaScript. Dazu habe ich die jQuery- Bibliothek eingesetzt (was zwar etwas übertrieben erscheint, ich jedoch meistens sowieso auf der Website einsetze).
Getestet mit IE 6-8, Firefox 3x und Google Chrome auf PC.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<style type="text/css">

#nav, #nav ul {
  font-family:sans-serif;
  list-style:none;
  padding:0;
  margin:0;
}

#nav a {
  display:block;
  color:#000;
  text-decoration:none;
  padding:.5em;	
}

#nav li {
  float:left;
  background-color:#ddd;
}

#nav li ul {
  position:absolute;
  width:auto;
  left:-999em;
  padding:0;
}

#nav li ul li {
  clear:both;
}

#nav li:hover {
  background-color:#eee;
}

/* no support IE 6,7 see JavaScript */
#nav li:hover ul,  
#nav li.iehover ul {
  left:auto;
}

</style>
</head>
<body>

<ul id="nav">
  <li><a href="#">Parent 1</a></li>
  <li><a href="#">Parent 2</a>
    <ul>
      <li><a href="#">Child 2.1</a></li>
      <li><a href="#">Child 2.2</a></li>
      <li><a href="#">Child 2.3</a></li>
    </ul>
  </li>
  <li><a href="#">Parent 3</a>
    <ul>
      <li><a href="#">Child 3.1</a></li>
      <li><a href="#">Child 3.2</a></li>
      <li><a href="#">Child 3.3</a></li>
      <li><a href="#">Child 3.4</a></li>
    </ul>			
  </li>
  <li><a href="#">Parent 4</a></li>
</ul>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<!-- Single-level Dropdowns: http://htmldog.com/articles/suckerfish/dropdowns/ -->
<!--[if lte IE 7]>
<script>
$(function() {
  $("#nav li").hover(
    function() { $(this).addClass("iehover"); },
    function() { $(this).removeClass("iehover"); }
  );
});
</script>
<![endif]-->

</body>
</html>
Quelle und ausführliche Beschreibung: http://htmldog.com/articles/suckerfish/dropdowns/

Januar 2011 | Permalink | Feedback


Onepager jQuery-Script

jQuery-Script um auf kleinen Webseiten (Web-Visitenkarten bzw. Onepager) zu navigieren. Inhalte werden ein- und ausgeblendet, ähnlich Accordion-Scripts. Einzelne Inhalte können aber auch über den Hash-Verweis direkt angesprungen werden, z.B. unckel.com/#kontakt.
Ist kein JavaScript verfügbar, werden alle Inhalte untereinander dargestellt. Über die Navigation können diese angesprungen werden.

JavaScript
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script>
$(function() {
	
  var navLinks = $('#nav a');	
  var pages = $('#pages > div');
	
  // rewrite ids to set hashes into address bar and hide all pages
  pages.each(function(i) {
    $(this).attr('id','js' + $(this).attr('id'));
  }).hide();
  $('.toplink').hide();
    
  navLinks.click(function(e) {
    // highlight navigation links
    navLinks.removeClass('active');
    $(this).addClass('active');

    // hide all pages and show requested page
    pages.hide();
    var page = $(this).attr('href').substring(1);
    $('#js' + page).fadeIn(); // .slideDown();
  });
	
  // read hash from address bar to show requested page
  var locationHash = window.location.hash.substring(1);
  if (locationHash == '') $('#nav a:first').click();
  else $('#nav a[href=#' + locationHash + ']').click();
	
});
</script>
Styles
<style>
  #pages div { background-color:#ddd; height:500px; }
  .active { font-weight:bold; color:#f00; }
</style>
HTML
<ul id="nav">
  <li><a href="#page1">Page 1</a></li>
  <li><a href="#page2">Page 2</a></li>
  <li><a href="#page3">Page 3</a></li>
</ul>

<div id="pages">
  <div id="page1">Page 1<p class="toplink"><a href="#nav">Nach oben</a></p></div>
  <div id="page2">Page 2<p class="toplink"><a href="#nav">Nach oben</a></p></div>
  <div id="page3">Page 3<p class="toplink"><a href="#nav">Nach oben</a></p></div>
</div>

Januar 2011 | Permalink | Feedback


jQuery: HTML ID-Attribute hinzufügen

Gegeben sind HTML-Elemente welche alle die Klasse 'box' zugewiesen wurde. Will man nun gezielt z.B. das 3. Element ansprechen, ginge das auch mit ' $(".box").eq(2)'.
Mit folgendem Code-Schnipsel füge ich jedoch jedem div-Element mit der Klasse 'box' ein id-Attribut mit aufsteigender Zählung an ('box1', 'box2',...).

$(".box").each(function(index) {
  var boxId = "box" + index;
  $(this).attr("id", boxId);
  //...				
});

Januar 2011 | Permalink | Feedback


Schicke CSS3-Buttons

Mit CSS3 lassen sich auf sehr einfache Weise, Elemente gestalten, was üblicherweise nur mit Grafiken zu bewerkstelligen war. Leider müssen noch Prefixes für die einzelnen Browsertypen verwendet werden (-moz, -webkit, -o). Hier z.B. mal Buttons, ganz ohne Grafiken oder "dirty tricks" wie verschachtelte Tags.

.btn {
  position:relative;

  background:-webkit-gradient(linear, left top, left bottom, from(#7CD357), to(#5CA33E));
  background:-moz-linear-gradient(center top, #7CD357, #5CA33E);

  background-color:#5CA33E;

  border:1px solid #5CA33E;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  border-radius:3px;

  -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.4);
  -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.2), inset 0 1px 1px rgba(255, 255, 255, 0.4);
  box-shadow:0 1px 1px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255, 255, 255, 0.9);

  font:bold 14px/14px sans-serif;
  color:#fff;
  text-shadow:1px 1px 0 rgba(0, 0, 0, 0.3);
  text-decoration:none;
  display:inline;

  padding:8px 16px;
  margin:0;
  cursor:pointer;
}

.btn:hover {
  background:-moz-linear-gradient(center top, #5CA33E, #7CD357);
  background:-webkit-gradient(linear, left top, left bottom, from(#5CA33E), to(#7CD357));
}

.btn:active  {
  top:1px;
}
 
  <input class="btn" type="submit" value="Submit" />
  <button class="btn">Button</button>
  <a class="btn" href="#">Link</a>
  <div class="btn">Div</div>
  <span class="btn">Span</span>

css

November 2010 | Permalink | Feedback


Meine Android Apps

Kleine Sammlung meiner wichtigsten Apps für Android:

Dropbox
Netzwerk-Speicher zur Synchronisation zwischen unterschiedlichen Endgeräten
http://www.dropbox.com

KeePassDroid
Gute Kennwortverwaltung
http://www.keepassdroid.com/

My Tracks
Zeichnet GPS Tracks und weitere Daten zum Joggen, Radfahren, usw. auf
http://mytracks.appspot.com/

Smooth Calendar
Besseres Kalender-Widget als das Standard-Widget
http://de.androlib.com/android.application.catharsis-android-calendar-xiCB.aspx

Barcode Scanner
Liest Bar- und QR-Codes
http://androidpit.de/de/android/market/apps/app/com.google.zxing.client.android/Barcode-Scanner/

Barcoo
Produktscanner zum Preisvergleich mit Lebensmittelampel und mehr...
http://www.barcoo.com/de/

November 2010 | Permalink | Feedback


XML zu JSON mit PHP

Hier ein einfaches Beispiel, wie aus folgender XML-Datei über das Attribut 'id' ein Datensatz gelesen, und als Antwort ein JSON-Objekt zurück geliefert wird.

<?xml version="1.0" encoding="utf-8"?>
<articles>
<article id="1">
  <artid>A1001</artid>
  <descr>Description here</descr>
  <price>12.89</price>
</article>
<article id="2">
  <artid>B2002</artid>
  <descr>Description here</descr>
  <price>8.49</price>
</article>
</articles>

 
Per XPATH werden alle Knoten 'article' mit dem Attribut id = 2 selektiert. (Sollte in diesem Beispiel eindeutig sein, d.h. der Primärschlüssel.)

<?php
header("Content-type: application/json");
echo "{";

if (isset($_GET["id"])) {
  
  $xml = simplexml_load_file("data.xml"); 
	
  foreach($xml->xpath("//article[" . $_GET["id"] . "]") as $item) {
    echo "\"artid\":\"" . $item->artid . "\",";
    echo "\"descr\":\"" . htmlspecialchars($item->descr) . "\",";
    echo "\"price\":"   . $item->price . "";		
  } 
}
else {
  echo "\"error\":\"no data\"";
}

echo "}";
?>

 
Die Antwort zur ID 2 ist ein JSON-Objekt:

{
  "artid": "B2002",
  "descr": "Description here",
  "price":  8.49	
}

PHP XML JSON

Oktober 2010 | Permalink | Feedback


Smartphone Screen Sizes

Typische Auflösungen von Smartphones im Vergleich:

smartphone screens sizes

auflösung resolution

September 2010 | Permalink | Feedback


Wordpress: Untermenüpunkte nur bei Klick auf Elternpunkt sichtbar

Kleines Snippet zu einer Navigation mit 2 Ebenen in typischer Listenverschachtelung. Die Unterebenen sollen jedoch nur dann zu sehen sein, wenn der Eltern-Menüpunkt angeklickt wurde:

Wordpress Navigation Beispiel
<?php
  global $post; // http://www.sitepoint.com/forums/showthread.php?t=668865
  $thispage = $post->ID; // grabs the current post id
  $pagekids = get_pages('child_of='.$thispage); // gets a list of pages that are sub pages
?>

<?php if ($pagekids || ($post->post_parent > 0)) { // exists sub pages OR selected a sub page ?>
  <ul>
    <?php wp_list_pages('title_li='); // display all pages ?>
  </ul>
<?php } else { ?>
  <ul>
    <?php wp_list_pages('depth=1&title_li='); // display only parent pages ?>
  </ul>
<?php } ?>

Wordpress, PHP

September 2010 | Permalink | Feedback



Position eines Street View-Panoramas über Panorama-ID ermitteln (Google Maps Javascript API V3)

Jedes Panorama hat eine eindeutige ID. (IDs sind nur während einer Session stabil!) Über die Methode getLinks() werden zum aktuellen Street View-Panorama ein Array der verbundenen Straßen mit Name, Richtung und IDs der nächsten Panoramen zurückgeliefert. Leider aber nicht die einzelnen Positionen.

Eine Möglichkeit bietet die StreetViewService-Klasse. Die Methode getPanoramaById() liefert dazu ein StreetViewPanoramaData-Objekt zurück welches unter anderem die Position enthält.

//...

var sv = new google.maps.StreetViewService();
var panoramaLinks = panorama.getLinks();
for (var i in panoramaLinks) {
  sv.getPanoramaById(panoramaLinks[i].pano, processSVData)
}

//...
 
function processSVData(data, status) {
  if (status == google.maps.StreetViewStatus.OK) {
    alert(data.location.latLng);
  }
}

Jetzt ist man in der Lage z.B. die Positionen der nächsten Panoramen auf einer Karte zu markieren oder die Entfernungen zur aktuellen Position auszurechnen. Letzteres ist wiederum wichtig wenn es um eine möglichste genaue Simulation einer virtuellen Fahrt durch Street View geht.

Bei kurzen Tests rund um den Globus, scheinen die Panoramen immer mindestens 10 m Abstand zu haben. Eine Unterschreitung habe ich nie gesehen. Auf Landstraßen können es auch schon mal über 40 m sein.

Link: Google Maps Javascript API V3

(Stichworte: google, street view, api, location, position, distance)

JavaScript, API

September 2010 | Permalink | Feedback


.NET: Webcam in Windows Forms-Anwendung mit OpenCV über Emgu CV-Wrapper integrieren

Hier ein "HelloWorld"-Beispiel, wie man eine USB-Cam in einer Visual Studio Windows Forms-Anwendung in C# einbindet. Über den Emgu CV-.Net-Wrapper wird die OpenCV Library (Open Source Computer Vision) verwenden. Diese enthält unzählige Algorithmen für die Bildverarbeitung und maschinelles Sehen. Also z.B. Filter, Gesichts- und Bewegungserkennung usw. Das ganze ist auch ziemlich schnell in der Verarbeitung.

Getestet und programmiert mit Visual Studio 2008 mit SP1 (ServicePack ist wichtig) auf Windows 7 (32) und Windows XP (32).

Vorgehen:
  1. Download Emgu inkl. OpenCV: libemgucv-2.1.0.793-win32.exe von http://sourceforge.net/projects/emgucv/files/ (prinzipiell benötigt man nur die paar DLLs beim Download sind aber noch Beispiele, eine Doku usw. dabei.)
  2. Bei der Installation die vorgewählten Optionen belassen.
  3. Neues Windows Forms-Anwendung-Projekt anlegen und Timer und PictureBox in die Form setzen.
  4. Alle relevanten OpenCV- und Emgu-DLLs in den Anwendungsordner (\bin) kopieren und auf die Emgu-DLLs in Visual Studio verweisen.
using System;
using System.Drawing;
using System.Windows.Forms;

using Emgu.CV;
using Emgu.CV.Structure;

namespace WebCamSimpleTest
{
  public partial class Form1 : Form
  {
    private Capture capture;

    public Form1()
    {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
      capture = new Capture(0); // 0 = get first cam
      timer1.Interval = 40;     // 40 ms = 25 fps
      timer1.Enabled = true;
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
      using (Image<Bgr, byte> nextFrame = capture.QueryFrame())
      {
        pictureBox1.Image = nextFrame2.ToBitmap();
      }
    }
  }
}

C# Tools

August 2010 | Permalink | Feedback


PHP: CSV lesen und HTML-Tabellen erzeugen

Kurz und bündig...
<?php

// Konfiguration
$csvFile = "daten.csv";
$firstRowHeader = true;
$maxRows = 10;

// Daten auslesen und Tabelle generieren
$handle = fopen($csvFile, "r");
$counter = 0;
echo "<table class=\"csvTable\">";
while(($data = fgetcsv($handle, 999, ";")) && ($counter < $maxRows)) {

	echo "<tr>";
	if(($counter == 0) && $firstRowHeader) {
		echo "<th>".$data[0]."</th>";
		echo "<th>".$data[1]."</th>";
		echo "<th>".$data[2]."</th>";
	}
	else {
		echo "<td>".$data[0]."</td>";
		echo "<td>".$data[1]."</td>";
		echo "<td>".$data[2]."</td>";
	}
	echo "</tr>";

	$counter++;
}
echo "</table>";	

fclose($handle);

?>

PHP

Juni 2010 | Permalink | Feedback


Javascript: Einfacher Spamschutz für E-Mail-Adressen

Einfacher aber effektiver Spamschutz für E-Mail-Adressen mit Javascript und jQuery.
Ist JavaScript deaktiviert, erscheint nur info [at] domain.com.

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">

$(function(){
  $('.email').each(function(index) {
    var s = $(this).text().replace(" [at] ", "&#64;");
    $(this).html("<a href=\"mailto:" + s + "\">" + s + "</a>");
  });
});

</script>

Aus: info [at] domain.com
wird: info@domain.com

Im Quelltext die E-Mail-Adressen in span-Tags mit der Klasse "email" setzen:
<span class="email">info [at] domain.com</span>

D.h. alle Elemente mit der Klasse "email" werden in les- und klickbare E-Mail-Adressen umgewandelt.

Ohne jQuery könnte es z.B. so aussehen:

<script type="text/javascript">

function convertMailAddress() {
  var emailElements;
  if (document.getElementsByClassName)
    emailElements = document.getElementsByClassName("email");
  else
    emailElements = document.getElementsByClassNameForOldies("email");
  var elementContent, replaceContent;
  for (var i=0; i<emailElements.length; i++) {
    elementContent = emailElements[i].innerHTML;
    replaceContent = elementContent.replace(" [at] ", "&#64;");
    emailElements[i].innerHTML =
      "<a href=\"mailto:" + replaceContent + "\">" + replaceContent + "</a>";
  }
}

// http://javascript.about.com/library/bldom08.htm
document.getElementsByClassNameForOldies = function(cl) {
  var retnode = [];
  var myclass = new RegExp('\\b'+cl+'\\b');
  var elem = this.getElementsByTagName('*');
  for (var i = 0; i < elem.length; i++) {
    var classes = elem[i].className;
    if (myclass.test(classes)) retnode.push(elem[i]);
  }
  return retnode;
};

window.onload = convertMailAddress;

</script>

JavaScript jQuery

Mai 2010 | Permalink | Feedback


Google Chrome Erweiterungen

Google Chrome ist schön schlank, schnell und jeder Tab läuft in einem eigenen Prozess. Folgende Erweiterungen hab ich (als Webworker) mal installiert und bin recht zufrieden damit.

PageRank
Zeigt den Google PageRank der Seite an.
https://chrome.google.com/extensions/detail/pneoplpmnpjoioldpodoljacigkahohc

Pendule
Web developer tools.
https://chrome.google.com/extensions/detail/gbkffbkamcejhkcaocmkdeiiccpmjfdi

W3C (x)HTML Validator
Stimmt alles soweit? Gut! ;)
https://chrome.google.com/extensions/detail/fdicklfajomdgpciofajkedchajbnhkk

Docs-Viewer für PDF/PowerPoint
Vorschau von PDFs, PowerPoint und anderen Dokumente im Google Docs-Viewer.
https://chrome.google.com/extensions/detail/nnbmlagghjjcbdhgmkedmbmedengocbn

Image Properties Context Menu
Bildgrößen einfach per Kontextmenü (wie Firefox) ermitteln.
https://chrome.google.com/extensions/detail/khagclindddokccfbmfmckaflngbmpon

addon, plugins

Tools Browser

Mai 2010 | Permalink | Feedback


Wordpress Plugins beim Einsatz als CMS

Wordpress eignet sich für kleine, einfache Websites auch ganz gut als CMS. Es ist schnell eingerichtet, bietet viele Erweiterungen und ganz wichtig - der Kunde findet sich sehr schnell zurecht. Oft habe ich sogar nur am Telefon "geschult".
Grundlage ist immer ein einfaches CMS-Template. Artikel, Kommentare usw. – alles was nicht gebraucht wird ist deaktiviert.

Neben den bekannten z.B. Kontaktformular-Plugins, kommt man aber um ein paar weitere nicht herum (ich zumindest), weil Wordpress in der Version 2.9.2 das (noch) nicht bietet.

Page Links To
Leitet einen Menüpunkt, was ja einer Seite entspricht, auf eine beliebige URL um.
http://wordpress.org/extend/plugins/page-links-to

Exclude Pages
Versteckt Menüpunkte in der Navigation.
http://wordpress.org/extend/plugins/exclude-pages

Breadcrumb NavXT
Fügt eine "Brotkrummen-Navigation" ein, mit vielen Einstellungsmöglichkeiten.
http://wordpress.org/extend/plugins/breadcrumb-navxt

TinyMCE Advanced
Erweitert den Standard-Editor TinyMCE um etliche Funktionen.
http://wordpress.org/extend/plugins/tinymce-advanced

Google XML Sitemaps
Stellt eine Sitemap für Suchmaschinen zur Verfügung.
http://wordpress.org/extend/plugins/google-sitemap-generator

- to be continued -

WordPress Tools

Mai 2010 | Permalink | Feedback


Mehrsprachige Websites kodieren

Ich musste mal ein PHP-Frameworks für englische, russische, chinesische und arabische Inhalte entwickeln. Im Internet findet sich dazu auch eine Vielzahl von Artikeln, über die "richtige" Kodierung von mehrsprachigen Websites. Wie lassen sich also z.B. kyrillische, chinesische oder auch arabische Zeichen korrekt darstellen. Leider widersprechen sich manche der Tipps.

Daher nun meine Vorgehendweise (getestet auf PC, MAC, Linux mit jeweils unterschiedlichen Browsern):
  • erst mal muss eine Schrift mit entsprechende Zeichenumfang installiert sein (z.B. Arial Unicode)
  • mit einem UTF-8-fähigen Editor arbeiten (sollen die Meisten können)
  • alle Dateien als UTF-8 ohne BOM kodieren
  • Tag-Attribute im HTML-Head entsprechend anpassen, hier z.B. für arabisch:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ar" lang="ar" dir="rtl">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />



Code-Ausschnitt als Beispiel



Einstellungen zum Format im Freeware-Editor Notepad++


Mehr Infos dazu:

Unicode Open-Source-Editor Nodepad++
http://notepad-plus.sourceforge.net/

Infos zu UTF-8
http://de.wikipedia.org/wiki/UTF-8

Infos zu BOM (Byte Order Mark)
http://de.wikipedia.org/wiki/Byte_Order_Mark

Grundlagen der Zeichenkodierung
http://toscho.de/2008/grundlagen-zeichenkodierung/

PHP

Januar 2010 | Permalink | Feedback


Harmonische Farben finden

Hier ein paar Online-Tools zum Zusammenstellen harmonischer Farben:

ColorJack > Sphere
http://www.colorjack.com/sphere/

ColorBlender
http://colorblender.com/

Color Schemer Online
http://www.colorschemer.com/online.html

Adobe Kuler
http://kuler.adobe.com/

Tools

Januar 2010 | Permalink | Feedback


MS-DOS: Warten-Befehl

Da es unter MS DOS (Windows XP!) leider keinen Befehl wie wait oder sleep gibt und auch kein choice mehr in der Standard-Installation vorhanden ist, kann man sich aber mit ping behelfen! Nicht die feine englische Art aber es funktionert.

Das X durch eine Zahl (= Sekunden) ersetzen:
ping -n X 127.0.0.1>nul

Tools

August 2009 | Permalink | Feedback


Kostenlose Tools zur Verschlüsselung und Datensicherheit

Hier eine absolut unvollständige, dafür aber persönlich getestete und für gut befundene Freeware-Liste zu Verschlüsselung und Datensicherheit:

Verschlüsselung von ganzen Verzeichnissen, Patitionen und Festplatten:
TrueCrypt

Mal schnell Notizen sicher verschlüsseln:
Steganos LockNote

Sicher Daten löschen:
Eraser

Passwortsafe für PC, MAC, Linux, Handy und und und...
KeePass Password Safe

Schnell und sicher Backups erstellen mit RoboCopy und DOS-Batch
Batch Datensicherung

Tools

Juli 2009 | Permalink | Feedback


MS DOS: FTP-Batch mit Auswahlmöglichkeit

Immer wieder die selben Daten per FTP auf den Server laden? Dann hilft vielleicht dieses kleine DOS-FTP-Batch weiter. Infos zum FTP-Upload gibt es hier.

FTP-Uploader.bat

echo off
:start
cls
color 17
echo.
echo FTP UPLOADER
echo.
echo =======================================
echo.
echo [1] Upload (and overwrite) database
echo [2] Upload (and overwrite) all pictures
echo [c] Cancel
echo.
echo =======================================
echo.
set choice=
set /p choice=Type key to start:
if not "%choice%"=="" set choice=%choice:~0,1%
if "%choice%"=="1" goto do1
if "%choice%"=="2" goto do2
if "%choice%"=="c" goto end
goto start

:do1
ftp -s:UploadDatabase.ftp
pause
goto end

:do2
ftp -s:UploadPictures.ftp
pause
goto end

:end
rem the end

UploadDatabase.ftp

open ftp.meinserver.de
Username
Password
cd data
put c:\database.db
disconnect
bye

UploadPictures.ftp

open ftp.meinserver.de
Username
Password
cd data
prompt
mput c:\pisc\*.jpg
disconnect
bye
Referenz: http://www.supportnet.de/threads/1086379

Tools

Mai 2009 | Permalink | Feedback


Javascript: Standard-Popup

Öffnet ein ganz normales, schicki-micki-loses Javascript-Popup und zentriert es auf dem Bildschrim.
<script type="text/javascript">
function OpenPopup(url, pwidth, pheight) {
  popup = window.open(url,
    "Win",
    "scrollbars=auto,status=no,toolbar=no,resizable=yes,location=no,menu=no," +
    "width=" + pwidth + ",height=" + pheight + "," +
    "left=" + ((screen.width/2)-(pwidth/2)) + ",top="+ ((screen.height/2)-(pheight/2)));
  popup.focus();
}
</script>
Aufruf z.B.:
<a href="javascript:OpenPopup('http://google.de',600,300);">Popup öffnen</a>

JavaScript

April 2009 | Permalink | Feedback


HTML: Hinweis auf veralteten Internet Explorer zeigen mit Conditional Comments

Hinweis auf den veralteten Browser Internet Explorer 6 und älter auf Websites einblenden, unter Verwendung von Conditional Comments.

<!--[if lte IE 6]>
<div style="background-color:#ffff88; font-family:Arial, Sans-Serif; 
  font-size:11px; text-align:center; margin:0; padding:2px; 
  border:1px solid #999; color:#666;">
  Sie benutzen eine veraltete Software, welche aktuelle Internetseiten 
  ggf. nicht mehr korrekt darstellen kann.
  Aktualisieren Sie ihren <a style="color:#66f" href="http://www.microsoft.com/germany/windows/downloads/ie/getitnow.mspx">Internet Explorer</a>.
</div>
<![endif]-->

HTML

Februar 2009 | Permalink | Feedback


Tools: Online-Converter zu Favicon, ico, pdf, doc...

Formate online konvertieren von z.B. JPG zu ICO für Favicons:
http://www.eisbox.net/iconvert/ (besser für Favicon > Web)
http://www.digital-pic.com/icon/generator.php (besser füs System-Icons)

PDF to Word / Excel:
http://www.freepdfconvert.com/

HTML - EM zu Pixel-Umrechner:
http://riddle.pl/emcalc/

Tools

Februar 2009 | Permalink | Feedback


Excel: Tabellenblattname in Zelle übernehmen

Übernimmt bzw. zeigt den Namen des Tabellenblattes in die gewünschte Zelle.

=TEIL(ZELLE("dateiname";A1);FINDEN("]";ZELLE("dateiname";A1))+1;255)
Super Quelle für noch viiiiiiiel mehr Excel-Formel: http://www.excelformeln.de

Excel

Januar 2009 | Permalink | Feedback


CSS: Einfaches Farb-Styling von Messageboxen

... background-color:#ff6; border:2px solid #cc0; ...
... background-color:#6f6; border:2px solid #090; ...
... background-color:#f66; border:2px solid #900; ...

Passende Free-Icons dazu gibt's hier: http://www.famfamfam.com/lab/icons/silk/

HTML

Dezember 2008 | Permalink | Feedback


MS-DOS: Backup mit Robocopy

Per robocopy /MIR einfach Daten spiegeln (1:1 Image):

@echo off
color 17
echo Backup PC -> USB-HD
echo.

set quelle1="C:\Daten"
set ziel1="H:\Backup"

robocopy %quelle1% %ziel1% /MIR /R:1 /W:1

pause

RoboCopy Erklärung und Optionen:
http://www.msu-hb.de/system/system/robocopy.htm

Download RoboCopy über Windows Server 2003 Resource Kit Tools (sofern nicht vorhanden):
http://www.microsoft.com/Downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en

Tools

Oktober 2008 | Permalink | Feedback


MS-DOS: Batch mit Fehlerbehandlung am Beispiel xcopy

@echo off
set quelle="C:\Ordner\Test.mdb"
set ziel="Z:\Test.mdb"

rem Hindergrund blau färben
color 1f

echo.
if not exist %ziel% goto Zielproblem
xcopy %quelle% %ziel% /s /v /d /c /i /f /y
if errorlevel 1 goto Kopierproblem
echo.
rem alles ok = Hindergrund grün färben
color 2f
goto Ende

:Kopierproblem
rem Hindergrund rot färben
color cf
goto Ende

:Zielproblem
rem Hindergrund rot färben
color cf
echo Ziel nicht gefunden: %ziel%
goto Ende

:Ende
echo Anwendung beendet
echo.
pause

Tools

September 2008 | Permalink | Feedback


Online-Tools für Webdesigner

Schlägt verschiedene Markups (HTML-Zeichen) zu einem eingegebenen Zeichen vor:
http://leftlogic.com/lounge/articles/entity-lookup/

Em <> Pixel Calculator:
http://riddle.pl/emcalc/

RegEx Testing Tool:
http://gskinner.com/RegExr/

Binary File to Base64 Encoder / Translator:
http://www.greywyvern.com/code/php/binary2base64

Tools

August 2008 | Permalink | Feedback


Wie lange läuft mein Server/PC (Win 2k3 Server/Win XP) schon?

Start » Ausführen » cmd
systeminfo
Und bei z.B. bei deutschen Systemen nach "Systembetriebszeit" suchen oder gleich
systeminfo | find "Systembetriebszeit"

Tools

Oktober 2007 | Permalink | Feedback


Excel / Access: Zeilenumbruch in Zellen

Ein Zeilenumbruch in Excel wird mit [Alt] + [Enter] gesetzt.

Ein Zeilenumbruch in Access wird mit [Strg] + [Enter] erzeugt.

Excel

September 2007 | Permalink | Feedback


Excel: UNIX-Timestamp im Datum umwandeln

Mit Excel kann man sehr einfach einen UNIX-Timestamp in ein "lesbares" Datum umwandeln.

Z.B. 1179833116.413 = 22.05.2007 13:25:16 Uhr

Zu beachten ist, daß die letzten 3 Ziffern die Millisekunden sind (nicht immer mit einem Punkt getrennt). Die ersten 10 beinhalten Datum und Uhrzeit. Mit der Excel-Funktion LINKS(String, Anzahl) werden dann nur die ersten 10 Ziffern gelesen.

=DATUM(1970;1;1)+(LINKS([ZELLE];10)/86400)

Wichtig: Für die Zellen bzw. Spalte ein Datumsformat auswählen (nicht Standard, Text, ...).

Eine manuelle Umrechnung (hin und zurück) gibt's unter: http://www.michx.de/unix_time.php

Excel

Juni 2007 | Permalink | Feedback


FTP-Zugiff per Windows-Explorer

Gerade kein FTP-Client zur Hand? Einfach den Windows-Explorer zum Datei-Upload bzw. -Download benutzen:

ftp://username:passwort@servername

Tools

Mai 2007 | Permalink | Feedback


MS-DOS: Singleclick FTP-Up/Download per DOS-Batch

Bei Windows ist unter DOS ein FTP-Client vorhanden. Sehr geschickt um Dateien per Klick auf den Server hoch- bzw. runter zu laden. Einziges Manko: Passwörter werden im Klattext gespeichert!

Im folgenden Beispiel wird die Datei "c:\test.txt" auf den Server www.domain.de in das Verzeichnis "/texte" hoch geladen.
Die Zugangsdaten und was gemacht werden soll kommt in die FtpData.ftp:

open ftp.domain.de
FTP-Benutzername
FTP-Passort
cd texte
put c:\test.txt
disconnect
bye

Aufruf über ein Batchfile FtpUpload.bat:

ftp -s:FtpData.ftp

Referenz:
http://eva-marbach.net/handbuch/s-ftp05.htm
http://rotterdam.ics.uci.edu/info/DosFtp.htm
http://www.sabah.net.my/manuals/br/ftp/ftp-msdos.html
http://www.mydigitallife.info/2006/06/30/upload-mput-and-download-mget-multiple-files-automatically-in-ftp-transfer/

Tools

Februar 2007 | Permalink | Feedback