<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jochen Bauer Blog &#187; computer</title>
	<atom:link href="http://blog.jochen-bauer.net/category/computer/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jochen-bauer.net</link>
	<description>Useful Thoughts I Want To Share</description>
	<lastBuildDate>Thu, 28 Apr 2011 00:12:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Überblick zur Arbeit mit WordPress</title>
		<link>http://blog.jochen-bauer.net/2011/04/23/uberblick-zur-arbeit-mit-wordpress/</link>
		<comments>http://blog.jochen-bauer.net/2011/04/23/uberblick-zur-arbeit-mit-wordpress/#comments</comments>
		<pubDate>Sat, 23 Apr 2011 19:31:32 +0000</pubDate>
		<dc:creator>Jochen Bauer</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[deutsch]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.jochen-bauer.net/?p=38</guid>
		<description><![CDATA[Im Laufe der Zeit gab es einige interessante Artikel zu WordPress. Nachdem ich ebenfalls WordPress nutze und daran schraube, schreibe ich hier mal alles zusammen, was mir neu ist und was ich als wichtig erachte. Für weiterführende Infos gibt es &#8230; <a href="http://blog.jochen-bauer.net/2011/04/23/uberblick-zur-arbeit-mit-wordpress/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Im Laufe der Zeit gab es einige interessante Artikel zu WordPress. Nachdem ich ebenfalls WordPress nutze und daran schraube, schreibe ich hier mal alles zusammen, was mir neu ist und was ich als wichtig erachte. Für weiterführende Infos gibt es den Codex. WordPress und das Web ändern sich ständig und so werde ich diesen Beitrag gelegentlich aktualisieren (Version 1.0; 03-12-2007) </strong><br />
<span id="more-38"></span></p>
<h2>WordPress aus Anwendersicht</h2>
<h3>Frontend-Nutzung</h3>
<p>&#8230;</p>
<h3>Backend-Nutzung</h3>
<p><em><strong>Custom Fields</strong></em></p>
<p>Custom Fields sind Textfelder die der Schreiber füllen kann. Ich habe  sie auch hier aufgeführt, da man mit diesen die Erscheinung des Blogs  oder auch des Quelltextes im Header beeinflussen kann, ähnlich wie bei  den Template Tags &#8211; nur dass man die Fields dann im Backend beim  Schreiben eines Beitrages erst mit Inhalten füllt.</p>
<p><em><strong>Quicktags<br />
</strong></em></p>
<p>Quicktags sind bestimmte Kommentare im HTML  Quelltext die nachdem Sie  vom Editor abgeschickt werden, eine bestimmte  Aktion in WordPress  auslösen. Die Eingabe von &lt;(!&#8211;nextpage&#8211;)&gt;  führt zu einem  Seitenumbruch und die Eingabe von &lt;(!&#8211;more&#8211;)&gt;  bestimmt die Länge  des Auszugs.  Die Klammern müssen weg, ich schrieb  sie nur, damit mir  WordPress hier nicht wirklich einen Seitenumbruch  oder ein &#8220;weiterlesen&#8221;  reinklatscht. Im Codex findet man eine Übersicht  zu allen <a title="Codex WordPress Quicktags" href="http://codex.wordpress.org/Write_Post_SubPanel#Quicktags">Quicktags</a> und gerade für den Kommentierenden bieten sie die Chance deren Text zu formatieren.</p>
<h2>WordPress aus Entwicklersicht</h2>
<h3>WordPress-Architektur und Abläufe</h3>
<p><em><strong>Conditional Tags</strong></em></p>
<p>Mit den Conditional  Tags kann man eine Unterscheidung treffen,  beispielsweise ob es sich  um eine Seite handelt oder nicht.  Conditional-Tags kommen im Loop vor  und auch bei der Gestaltung des  Titels kann man damit spielen. Laut <a title="Codex Condtional Tags" href="http://codex.wordpress.org/Conditional_Tags">Codex</a> kann man diese Tags benutzen, um die aktuelle Seite in der   Navigationsleiste hervor zu heben. Ein weiterer Einsatz ist eine Prüfung   bei der Veröffentlichung eines Kommentars, ob der Beitragsautor den   Kommentar geschrieben hat und daraufhin das Format ändern. Des Weiteren   kann man bestimmte Seiten von Suchrobotern ausschließen und andere   nicht.</p>
<p><em><strong>Loop</strong></em></p>
<p>Der Loop ist das Kernstück in WordPress und dort gibt es eine Vielzahl  der Conditional Tags. Im Loop kann man einige sinnvolle Ergänzungen  einbauen: ich werde einen Verweis zum Glossar einbauen und ein Plugin  (&#8216;Share this&#8217;) liefert einen Link, mit welchem der Leser ein &#8216;Social  Bookmark&#8217; setzen kann oder den Feed des Blogs abonniert. Der Loop kann  sinnvoll ergänzt werden und so kann man mit <a title="wordpress yaml css farben hintergrund" href="http://dynamicinternet.eu/wordpress/wordpress-tipps-tricks/wordpress-themes-step-by-step-teil-3/">diversen Hintergrundfarben und Grafiken</a> spielen. Bei Yaml bietet es sich an, dass man aus Suchmaschinensicht  den Inhalt in der Col1, welche im Quelltext ganz oben steht einspeist.  Ich muss mir das mal durch den Kopf gehen lassen und in der Yaml-Doku  nachlesen, was da die Vor- und Nachteile sind.</p>
<p><em><strong>Templates</strong></em></p>
<p>Templates sind Dateien, die im Verzeichnis des Themes liegen und von  WordPress inkludiert werden, so holt die Funktion get_header() die Datei  &#8216;header.php&#8217; und setzt diese in die aufgerufene &#8216;index.php&#8217;. Neben der  Methode per Funktion die Templates einzubinden, kann man den Pfad auch  direkt angeben. Mit der Konstanten &#8216;TEMPLATEPATH&#8217; wird automatisch der  Pfad zum Theme-Verzeichnis gelegt. Mit der Variable &#8216;ABSPATH&#8217; zum  WordPress-Wurzelverzeichnis. So kann man jedes beliebige PHP-Skript in  WordPress laden.</p>
<p>Die Templates werden in einer bestimmten Hierachie angelegt, so wird  erstmal geschaut, ob die aufgerufene Seite vorhanden ist und falls nicht  die &#8216;index.php&#8217; geladen. Ein Bild im <a title="Codex Template Hierachie" href="http://codex.wordpress.org/Template_Hierarchy">Codexbeitrag</a> verdeutlicht das Zusammenspiel ganz gut. Neu war für mich, dass es eine  extra &#8216;attachment.php&#8217; und eine &#8216;author.php&#8217; gibt und dass ein Druck  auf ein Schlagwort die &#8216;category.php&#8217; lädt.</p>
<p><em><strong>Template Tags</strong></em></p>
<p>Template Tags sind PHP-Funktionen, die in die Templates geladen  werden. Diese Template Tags steuern dann das Erscheinungsbild des Blogs.  Einer Funktion kann man möglicherweise Parameter zuwerfen. Diese  Funktionsparameter sind Variablen, die diese Funktion benötigt.</p>
<p>Es gibt eine Übersicht über die <a title="Wordpress Doku Template Tags deutsch" href="http://doku.wordpress-deutschland.org/Template_Tags">Template Tags in deutsch</a> und eine <a title="Codex Kategorie Template Tags" href="http://codex.wordpress.org/Category:Template_Tags">Codex-Kategorie</a>.  Grundsätzlich muss man sich oft im Sourcecode orientieren und will  vielleicht mal die Funktion genau unter die Lupe nehmen, hier entdeckte  ich eine <a title="Wordpress Source Code live Syntax highlighting" href="http://wordpress.taragana.net/nav.html?wp-admin/admin-functions.php.source.html#l288">Onlineansicht des WordPress Codes mit Syntax-Highlighting</a>.  Man sieht sich also den Code der &#8216;index.php&#8217; an, dort steht der Loop,  dort steht die Funktion &#8216;the_content&#8217;, ein Mouseover zeigt den Ort der  Funktion an, hier die &#8216;wp-includes/post-template.php&#8217;.</p>
<p>Es gibt drei Arten von Template Tags: einmal haben wir welche die  keine Parameter benötigen, einmal haben wir welche die Parameter, wie  gewöhnliche PHP-Funktionen akzeptieren (Function-Style-Parameter). Es  gibt Funktionen, die Parameter erwarten und dabei einen Query-String  nutzen, das funktioniert ähnlich, wie wenn man Variablen via GET-Methode  von Skript zu Skript schickt. Diese Funktionen sind meist nur Wrapper  für die Funktionen, die Parameter und zwar sehr viele Parameter  erwarten.</p>
<p>Frank Bültge nennt in seinem Buch das Beispiel wp_get_archives und  get_archives: wp_get_archives ist die gleiche Funktion wie get_archives  nur mit Parametervoreinstellung und einer kleinen Abfrage, ob eine  Änderung zur Voreinstellung mitgeliefert wurde. Als Programmierlaie  klingelt bei mir bei der GET Methode gleich immer die Sicherheitsrassel,  dafür ist dann wohl auch die wpspecialchars &#8211; Funktion da.</p>
<p>Template Tags können auch ineinander verschachtelt werden, also ein  Template Tag ist sozusagen ein Parameter eines anderen Template Tags. So  binden viele Template Tags wiederum andere Funktionen aus dem  WordPress-Kern ein.</p>
<p>Eigene Funktionen kann man auch definieren und als Plugin andocken.  Die so definierten eigenen Funktionen stehen dann in der Datei  &#8216;functions.php&#8217; im Themeordner und werden von WordPress eingebunden.</p>
<h3>Theme-Entwicklung</h3>
<p>Eine Internationalisierung kann man durch das voranstellen der  Funktion _e(&#8216;blabla&#8217;) erreichen oder wenn man einen Text im  Funktionsnamen ändern will mit &#8216;__(&#8216;blabla&#8217;)&#8217;. Das System dahinter nennt  sich gettext.</p>
<p>Durch eine Funktion muss eine Anfrage an den Server gestellt werden &#8211;  das ist schlecht, wenn es um die Performance geht und so macht es Sinn  das eigene Theme nicht zu internationalisieren. Ich kann nicht  einschätzen, wieviel Zeit ein internationalisiertes Theme länger für  einen Seitenaufruf braucht als ein lokalisiertes.</p>
<p>Das Gleiche ist mit den Angaben im Header, man kann dort viele Sachen  via Funktion abfragen (Spracheinstellung, Zeichensatz und  Schreibrichtung, &#8216;lang&#8217;- und &#8216;dir&#8217;-Attribut des HTML-Tags im Header) &#8211;  gut fürs öffentliche Theme, das eigene tackere ich lieber fest. Die  Voreinstellung ist bei den Suchrobotern index follow, somit kann man  sich diese Angabe sparen, bzw. muss extra eine Angabe setzen, wenn man  das indizieren verhindern will. Das hat sich mittlerweile denke ich  geändert.</p>
<p>Das xfn im Header fördert das semantische Web, ist wohl ein  Microformat, und im Backend kann man seiner Blogroll erweiterte Angaben  machen. Eine ähnliche Geschichte sind die Geotags, so kann Google diese  Angabe beispielsweise nutzen und bei der Eingabe der dazugehörigen Stadt  die Seite höher bewerten.</p>
<p>Die Weiterblättern-Funktion zwischen den Seiten gibts ein Plugin  namens &#8216;Pagebar&#8217;, und eine Funktion die ich mir da mal ansehe ist die  &#8216;posts_nav_link&#8217; und die &#8216;previous_post_link&#8217; und die &#8216;next_post_link&#8217;.</p>
<p>Bei den Funktionen muss man aufpassen, so liefern die Funktionen eine  ID nun zweimal, sofern man ein Layout nutzt, welches auf Yaml setzt,  nämlich die ID &#8220;navigation&#8221; &#8211; eine Lösung beschreibt <a title="Wordpress Yaml navigation" href="http://dynamicinternet.eu/wordpress/wordpress-tipps-tricks/wordpress-themes-step-by-step-teil-3/">Michael Preuß</a>.</p>
<p>Neben der Weiterblättern-Funktion am Seitenende kann eine sogenannte  Breadcrumbnavigation sinnig sein. Ich werde noch darauf verzichten, da  ich versuche stark verschachtelte Seitenhierachien zu vermeiden und  denke in meinem Fall besteht da vorerst kein Bedarf.</p>
<p>Widgets und eine händische Sidebar müssen sich nicht ausschließen.  Man kann die Widgets-Funktion also auch erst ab halber Sidebar aufrufen.  Gerade wenn man ein Yaml-Theme nutzt ist es für den Laien oftmals  schwierig zu entscheiden, ob nun eher in der Yaml-Dokumentation oder im  WordPress-Codex nachgesehen werden soll.</p>
<p>Einige Blogs legen viele Funktionen in den Footer, wie das geht beschreibt <a title="Wordpress Perun Footer" href="http://www.perun.net/2007/10/31/wordpress-themes-verstehen-3/">Perun</a> und erklärt auch gleich wie er via Plugin &#8216;Get Recent Comments&#8217; die Trackbacks von den Kommentaren trennt.</p>
<p>Bei der Sicherheit sollte man darauf achten, die Funktion wpspecialchars zu nutzen, wenn etwa Daten über die URL reinkommen.</p>
<p>Bei jedem Theme hat man eine Lizenz, die es zu respektieren gilt,  beispielsweise ist WordPress zwar OpenSource, aber Yaml steht  beispielsweise unter einer CreativeCommons. In jedem der Projekte  stecken wohl tausende von Stunden und so sollte der Link am Ende nicht  fehlen, sofern er verlangt wird.</p>
<h3>Plugin-Entwicklung</h3>
<p>&#8230;</p>
<h2>Tools um WordPress herum</h2>
<p>&nbsp;</p>
<p>Als Zusatz nutze ich das Programm <strong>Gimp</strong> für die Bildbearbeitung und <strong>Inkscape</strong> für Zeichnungen, falls ich es mit Gimp nicht hinbekomme. Bei Vektorgrafiken bin ich kein Spezialist, wie man sich aus dieser Äußerung denken kann. Als Betriebsystem habe ich Ubuntu. Alles in allem kostet mich also das Bloggen nur die Gebühr für meinen Webspace.</p>
<p>Yaml stellt für die Navigation bereits einige Möglichkeiten vor, eine  Liste der WordPress-Seiten bietet sich an und gerade wenn es dann  verschachtelt wird, wirds tricky. <a title="wordpress yaml navigation seiten" href="http://dynamicinternet.eu/wordpress/wordpress-tipps-tricks/wordpress-themes-step-by-step-teil-2/">Michael</a> hat sich da schon einen Kopf gemacht.</p>
<p>Yaml bedient mit einem Stylesheet den Internet Explorer mit einem  Conditional Comment, gerade die Pfadangaben können bei Yaml Probleme  bereiten und so sollte man gegenprüfen ob alle Stylesheets fassen. Die  Angabe &#8216;/&#8217; beim Start des Pfades lässt die Suche im Wurzelverzeichnis  starten und, die WordPress-Variable &#8216;ABSPATH&#8217;  und &#8216;TEMPLATEPATH&#8217; wurden  oben bereits erwähnt.</p>
<h2>Theme-Style-Guide</h2>
<p><strong>WordPress Nutzer werden oftmals auf den WYSIWYG-Editor &#8220;TinyMCE&#8221; setzen. Nun hat der manchmal seine Schwächen und wenn man einige Regelmäßigkeiten beachtet, kann man den Quelltext gleich selber schreiben. WordPress liefert standardmäßig XHTML aus und dies bietet eine Vielzahl logischer Auszeichnugnsmöglichkeiten. Ebenfalls macht der Styleguide Sinn um ein Theme zu testen- schnell sieht man, wo nach und nach Hand ans Theme oder die CSS-Datei zu legen ist.</strong></p>
<h1>Überschrift ersten Grades</h1>
<p>Immer bedenken, dass nur die Tags verwendet werden, welche der Doctype zulässt. Gebräuchliche Doctypes sind &#8220;HTML 4.01&#8243; &#8220;XHTML1.0&#8243; und &#8220;XHTML1.1&#8243;.<br />
&#8220;XHTML1.0&#8243; erlaubt die gleichen Tags wie &#8220;HTML4.01&#8243; und es gibt die gleichen Ausprägungen &#8220;transitional&#8221;, &#8220;strict&#8221; und &#8220;frameset&#8221;. &#8220;XHTML1.1&#8243;  ist als Neuanfang zu sehen: es gibt weder die Variante &#8220;transitional&#8221; noch einen Doctype. HMTL5 ist im Kommen, das neue Standardtheme etwa setzt auf HTML5.</p>
<p>WordPress nutzt XHTML1.0 transitional, hier sind 89 Tags erlaubt, die Tags in Klammern sind in der XHTML1.0 Variante &#8220;strict&#8221; verboten, und alle Tags, welchen ein &#8220;-&#8221; angestellt ist, haben keinen schließenden Tag, wie beispielsweise bei einem Zeilenumbruch <code>&lt;br /&gt; </code>.<br />
Hier nun die Aufzählung der Tags: a, abbr, acronym, address, (applet), area-, b, base-, (basefont-), bdo, big, blockquote, body, br-, button, caption, (center), cite, code, col, colgroup, dd, del, dfn, (dir), div, dl, dt, em, fieldset, (font), form, h1, h2, h3, h4, h5, h6, head, hr-, html, i, (iframe), img-, input-, ins, (isindex-), kbd, label, legend, li, link-, map, (menu), meta-, (noframes), noscript, object, ol, optgroup, option, p, param, pre, q, (s), samp, script, select, small, span, (strike), strong, style, sub, sup, table, tbody, td, textarea, tfoot, th, thead, title, tr, tt, (u), ul, var.</p>
<p>Größtenteils reichen zum Bloggen ja die Überschriften h1 bis h6, die Absätze und die Inlineelemente, dazu noch ein paar Listen für die Aufzählungen und manchmal eine Tabelle, gerade da nervt es, dass der WordPresseditor da standardmäßig streikt. Wenn was größeres ansteht, muss man dann bei SelfHTML nachgeschlagen.</p>
<p>P steht für einen Absatz und sollte auch nicht anders verwendet werden. Es ist ein Blockelement, diese erzeugen einen Bruch im Textfluss. XHTML bietet eine Reihe von Elementen zur logischen Textauszeichnungen. Bei den logischen Auszeichnungen greift die Standardeinstellung des Browsers, sofern diese nicht via CSS verändert werden.</p>
<p>In diesem Absatz hier sind Elemente untergebracht die das Absatzgefüge nicht durchbrechen, daher werden diese als <strong>Inlineelemente</strong> bezeichnet. Es gibt logische, physische und rein präsentative Inlineelemente zur Textauszeichnung.<br />
Logische und Elemente sind beispielsweise<br />
das <em> em-tag für emphatisch oder betont</em>, das <strong> strong-Tag als Steigerungsform des em-Tags für stark betont</strong>, das <code> code-Tag für die Angabe von Quellcode </code>, das <samp> samp-tag für die Ausgabe eines Beispiels</samp>, das <kbd> kbd-tag für Tastatureingaben </kbd>, das <var> var-Tag für dies ist eine Variable</var>, das <cite> cite-tag für dies ist ein Zitat </cite>, das <dfn> dfn-tag für dies ist eine Begriffsdefinition </dfn>, das <acronym> acronym-tag formatiert eine AbkÃ¼rzung</acronym> und das <q cite="http://www.xyz.de"> das q cite=&#8221;http://www.xyz.de zeigt ein Zitat an, welches sich auf folgende Quelle bezieht</q>.</p>
<p>Weitere empfehlenswerte Inlineelemente sind das <span>span-tag als inhaltsleeres Element, sozusagen als sonstiges Element für alles, was in keine andere logische Kategorie passt</span>,<br />
das <a title="verknÃ¼pfungsdatei" href="zieldatei.htm">a-tag in Verbindung mit href als Anker samt Verknüpfung, weitere Attribute sind accesskey, name, tabindex, target, title</a>. Links können mit einer class versehen werden, somit ist es möglich per CSS, beispielsweise die internen von den externen Links abzuheben oder PDF-Downloads mit einer Grafik als Hintergrund zu versehen.</p>
<p>Soweit möglich sollte logisch ausgezeichnet werden, andernfalls sollten  Elemente genutzt werden, welche mit dem Doctype vereinbar sind, WordPress nutzt hier derzeit &#8220;XHTML 1.0 Transitional&#8221;. Einige Beispiele für physische und rein präsentative Tags zum Theme-CSS-Test, wie das <strong> btag um Text fett zu machen</strong>, das <em>i-tag um Text kursiv erscheinen zu lassen</em>, das <tt> tt-tag bewirkt diktengleichen Text ähnlich eines Fernschreibers</tt>, das <span style="text-decoration: underline;"> u-tag erzeugt einen unterstrichenen Text</span>, das <span style="text-decoration: line-through;"> strike-tag bewirkt einen durchgestrichenen Text</span>, das  s-tag bewirkt ebenfalls einen durchgestrichenen Text , das <big> big-tag bewirkt größer formatierten Text </big>, das <small> small-Tag bewirkt kleiner formatierten Text</small>, das <sup> sup-tag bewirkt hochgestellten </sup>, das <sub> sub-Tag bewirkt tiefgestellten Text</sub>, das  blink-tag bewirkt blinkenden Text.</p>
<h2>Überschrift zweiten Grades</h2>
<p>Neben den Inline-Elementen gibt es noch die Blockelemente, diese erzeugen einen eigenen Textabsatz im Element und können Inlineelemente enthalten, einige Blockelemente können sogar weitere Blockelemente enthalten, im Bedarfsfall einfach nachlesen. Mit CSS kann man anschließend ggf. noch etwas Tricks und Inlineelemente als Block anzeigen lassen oder Blockelemente inline. Blockelemente sind beispielsweise Absätze, Listen, Tabellen und Formulare.</p>
<h3>Überschrift dritten Grades</h3>
<p>Hier kommen die Listen, es gibt geordnete, ungeordnete und Definitionslisten. Ungeordnete haben Bullets als Aufzählungszeichen, geordnete Zahlen und Definitionlisten erhalten Einrückungen.</p>
<ul>
<li>erstes ungeordnetes Listenelement</li>
<li>zweites ungeordnetes Listenelement</li>
<li>drittes Element mit Unterliste
<ol>
<li> erstes verschachteltes geordnetes Element</li>
<li> Achtung bei verschachtelten Listenelementen</li>
<li> das erste Listenelement bleibt geöffnet, es folgt das ol bzw ul</li>
<li> und nach dem schließenden ol bzw ul der verschachtelten Liste</li>
<li> wird erst das li Element der Hauptliste geschlossen</li>
</ol>
</li>
<li> hier steht das letzte Element der Hauptliste, samt dem Listenschluss</li>
</ul>
<dl>
<dt> Das dl kündigt die Definitionsliste an, das dt das erste Element</dt>
<dd> das dd ist die Defintion zum ersten Listenelement</dd>
<dd> es kann auch mehrere Defintionen zum ersten dt geben</dd>
</dl>
<h4>Überschrift vierten Grades</h4>
<p>Jetzt geht es um die Tabellen. WordPress bietet in der Version standardmäßig keine Tabellenunterstützung. Grund also, schnell die nötigen Tags zu erklären.<br />
Pflichtmäßig braucht man nur die Tags &#8220;table&#8221; für den Tabellencontainer, &#8220;tr&#8221; für tabelrow als Zeilencontainer und &#8220;td&#8221; für die Datenzeile. Es gibt dann noch das &#8220;td&#8221; für eine Kopfzeile und einige weitere Tags und Attribute, falls die Tabelle etwas anspruchsvoller sein soll.</p>
<table>
<tbody>
<tr>
<th>Dummykopfzeilenelement links</th>
<th>Dummykopfzeilenelement rechts</th>
</tr>
<tr>
<td>erster Eintrag links</td>
<td>zweiter Eintrag rechts</td>
</tr>
<tr>
<td>zweiter Wert links</td>
<td>zweiter Wert rechts</td>
</tr>
</tbody>
</table>
<h5>Überschrift fünften Grades</h5>
<p>Letzter Punkt sind die Formulare. Hier gibt es fÃ¼r WordPress-User die Anwendung als Kommentarbox. Und da die Formularelemente recht großen Spielraum bieten, gehe ich auch nur auf diese  ein. &#8220;form&#8221; für den Formularcontainer, dann das input Element, das braucht das Attribut &#8220;type&#8221;, denn es gibt zehn Möglichkeiten zur Auswahl, beispielsweise eine Textbox (text) oder ein Feld zum Anhaken (checkbox). Für mehrzeilige Eingabefelder steht das Container-Element &#8220;textarea&#8221; zur Verfügung.<br />
Zusätzlich muss es noch ein &#8220;action&#8221;-Attribut geben, damit das Formular weiß, wo es die Daten hinschicken soll. Barrierefreier werden die Formulare, wenn die Eingabefelder mit dem Tag &#8220;label&#8221; logisch verknüpft werden, und das Attribut &#8220;acceskey&#8221; verwandt wird &#8211; so werden die Input-Felder über Tastenkürzel ansprechbar. Bisschen blöd ist, dass die Inputfelder Inline-Elemente sind, somit muss man, um eine Zeilenstruktur sicher zu stellen mit dem &#8220;br&#8221;-Tag werkeln oder das Formular in eine Tabelle klatschen &#8211; oder mit CSS-Tricks die zeilenweise Anzeige sicher stellen, beispielsweise kann man auch Inlineelemente als Block anzeigen lassen. Formular sieht man unten.</p>
<h6>Überschrift sechsten Grades</h6>
<p>Sodala, dann bin ich fertig, meine Seiten sind noch keinesfalls passend ausgezeichnet, wobei ich da nach und nach schon mal etwas nachlegen werde. Ich bin für Kommentare zur Ergänzung dankbar, wenn ich mal falsch liege, oder es etwas zu ergänzen gibt.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jochen-bauer.net/2011/04/23/uberblick-zur-arbeit-mit-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Überblick zur Shellskript-Programmierung</title>
		<link>http://blog.jochen-bauer.net/2011/04/22/uberblick-zur-shellskript-programmierung/</link>
		<comments>http://blog.jochen-bauer.net/2011/04/22/uberblick-zur-shellskript-programmierung/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 22:08:34 +0000</pubDate>
		<dc:creator>Jochen Bauer</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[deutsch]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://blog.jochen-bauer.net/?p=42</guid>
		<description><![CDATA[Arbeitet man mit Linux und will automatisch Programme starten und die Rückgaben weiterverarbeiten, dann bieten sich Shell-Skripte an. Hier will ich (vor allem für mich) bewährte Techniken festhalten und hochwertige Quellen für den Wiedereinstieg sammeln. Shellskripte sind im Endeffekt nichts &#8230; <a href="http://blog.jochen-bauer.net/2011/04/22/uberblick-zur-shellskript-programmierung/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Arbeitet man mit Linux und will automatisch Programme starten und die Rückgaben weiterverarbeiten, dann bieten sich Shell-Skripte an. Hier will ich (vor allem für mich) bewährte Techniken festhalten und hochwertige Quellen für den Wiedereinstieg sammeln. Shellskripte sind im Endeffekt nichts anderes als das Arbeiten mit der Konsole.</strong><br />
<span id="more-42"></span></p>
<h3>Allgemeine Voraussetzungen</h3>
<p>Der Name sollte beschreibend sein, aber es sollte nicht zu Konflikten zu Systembefehlen kommen, daher ist es geschickt ein Namenskürzel vorzuschalten, etwa joba_mysript.sh. Hilfreich ist es zu Beginn des Skripts die Eckdaten und die Optionen anzugeben &#8211; der Nutzer bekommt so schnell einen Überblick. Ich mache es so, dass ich zu Beginn die globalen Variablen bestücke, dann die Hauptprozedur als Funktion schreibe und unten im Skript dann noch die Skript-Start-Parameter abfrage. Das Skript kann so noch leicht um ein Textinterface erweitert werden. Wenn das Skript fertig ist, dann muss man nur noch die Datei via &#8216;chmod +x dateiname&#8217; die Datei ausführbar machen und via &#8216;./dateiname&#8217; in der Konsole ausführen. Zusätzlich kann man sich noch überlegen, ob man eine Log-Datei mitführt und was im Fehlerfall passiert.</p>
<p>Zu Beginn steht der Shebang &#8216;#!/bin/sh&#8217;, ja nach gewünschter Shell. Es folgt ein Skriptkopf mit Infos, dann die Variablen und die Funktion. Darunter die Hauptprozedur, die eine der Funktionen aufruft und so ins Skript verzweigt. Shellskripte sind unübersichtlich und anfällig für falsch gesetzte Leerzeichen. Ich händle es so, dass ich Variablen für den Skriptablauf in Großbuchstaben schreibe und Variablen für Skript-Verwaltungszwecke in Kleinbuchstaben, dafür aber mit meinem vorgestellten Namenskürzel, damit es mit Linux-Konsolenbefehlen keine Konflikte gibt.</p>
<p>Für die Konfiguration eines Shell-Skripts gibt es unter anderem folgende Möglichkeiten: man startet direkt mit der Prozedur und verlässt sich darauf, dass der Anwender in den Code blickt und dort die Konfiguration selbst vornimmt. Das ist wohl der Standardfall. Der nächste Schritt ist es dem Skript Startparameter zu ermöglichen. Diese werden abgefragt und die entsprechende Funktion aufgerufen. Will man den Anwender interaktiv die Sachen festlegen lassen, dann kann man in der Funktion den &#8216;read&#8217;-Befehl nutzen und die Nutzereingabe so lesen. Will man das Skript lange laufen lassen, dann kann  man dem Nutzer ein Eingabemenü anbieten und je nach Wahl die Funktion für den Anwendungsfall aufrufen lassen. Dabei wird danach wieder das Eingabe-Menü angezeigt, bis der Nutzer das Skript beenden will &#8211; der Nutzer wird also in einer Schleife gefangen. Für Laien, die mit der Shell nicht umgehen wollen oder können, kann man das Skript mit &#8216;dialog&#8217; aufpeppen und so hat man ein kleines Text-User-Interface.</p>
<h3>Code-Schnippsel</h3>
<p>Grundgerüst des Shellskripts</p>
<p><code><br />
#!/bin/sh<br />
#<br />
# --- Infos -------------------------------------------------------------------<br />
#<br />
#	Skriptname	    Shellskript-Gerüst<br />
#	Funktion	    TODO<br />
#<br />
#	Beschreibung	    TODO<br />
#<br />
#	benötigt	    keine externen Bibliotheken<br />
#<br />
#	Autor		    Jochen Bauer<br />
#<br />
#	Start		    01.03.2011<br />
#	Stand		    23.04.2011<br />
#	Version		    1.0<br />
#<br />
#	Fehler		    keine Fehler bekannt<br />
#	Kontakt		    info@jochen-bauer.net<br />
#<br />
#	Beispielaufrufe	    (vorher mit 'chmod +x dateiname' ausführbar machen)<br />
#	    Start mit Menue	./dateiname<br />
#	    Start ohne Menue	./dateiname --noui<br />
#<br />
#	Optionen<br />
#	    --noui	    Konfiguration im Code übernehmen und starten<br />
#<br />
# --- Variablen ---------------------------------------------------------------<br />
#<br />
# $HOME			    # home-Ordner vom System<br />
# $USER			    # user-Name vom System<br />
$1			    # Skript-Parameter<br />
joba_error_file=""	    # Datei fuer Fehler-Ausgaben, optional<br />
joba_error_var=""	    # Variablen fuer einen Fehler, optional<br />
joba_log_file=""	    # Datei fuer Log-Datei, optional</code></p>
<p># === Skriptparameter/Konfiguration ===<br />
joba_working_dir=&#8221;/home/jay/Desktop/workingdir/&#8221;<br />
joba_path_to_desktop=&#8221;/home/jay/Desktop/&#8221;</p>
<p>###############################################################################<br />
# Koordination ohne Menueschleife<br />
starteAnwendungOhneUi()<br />
{<br />
# voll im Code vorkonfigurierte Anwendung laufen lassen<br />
echo &#8220;&#8230; voll vorkonfiguriert starten!&#8221;<br />
}</p>
<p>###############################################################################<br />
# Anwendungsfälle zur TextUI<br />
starteBerechnung()<br />
{<br />
echo &#8220;\n  &#8230; Anwendungsfall Start&#8221;<br />
}</p>
<p>starteKonfiguration()<br />
{<br />
echo &#8220;\n &#8230; Anwendungsfall Konfiguration&#8221;<br />
echo &#8221; &#8230; absoluter Pfad zum Arbeitsverzeichnis:&#8221;<br />
read joba_working_dir<br />
echo &#8221; &#8230; absoluten Pfad zum Desktop angeben:&#8221;<br />
read joba_path_to_desktop<br />
echo &#8221; &#8230; Danke das war es, Anwendung konfiguriert!&#8221;<br />
}</p>
<p>beendeAnwendung()<br />
{<br />
echo &#8220;\n &#8230; Anwendung planmaessig beendet!&#8221;<br />
exit 0<br />
}</p>
<p>###############################################################################<br />
# TextUI-Hauptfunktion<br />
zeigeHauptMenue()<br />
{<br />
joba_choice=&#8221;"<br />
echo &#8221; &#8221;<br />
echo &#8221; ===================================&#8221;<br />
echo &#8221; | Menue [ Eingabe : Auswirkung; ] |&#8221;<br />
echo &#8221; | 1 : Start; 2 : Konfiguration; 0 : Beenden; &#8221;<br />
echo &#8221; |  &#8212;&gt; Wahl: &#8221;<br />
read joba_choice</p>
<p>#######################################################################<br />
# Anwendungsfaelle</p>
<p># Start &#8230;<br />
if [ "$joba_choice" = "1" ]<br />
then<br />
starteBerechnung<br />
fi</p>
<p># Konfiguration &#8230;<br />
if [ "$joba_choice" = "2" ]<br />
then<br />
starteKonfiguration<br />
fi</p>
<p># Beenden<br />
if [ "$joba_choice" = "0" ]<br />
then<br />
beendeAnwendung<br />
fi<br />
}</p>
<p>###############################################################################<br />
#  &#8212;&#8212;&#8212;&#8212;&#8212;-  main-Funktion &#8230;  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
echo &#8221; &#8221;<br />
echo &#8221; ================================================&#8221;<br />
echo &#8221; | SHELL-SKRIPT &#8216;Titel&#8217;                         |&#8221;<br />
echo &#8221; ================================================&#8221;<br />
echo &#8221; &#8221;</p>
<p># Skript-Parameter vorbelegen, abfragen, Anwendung starten, s. LinuxKUG S. 193<br />
NOUI_FLAG=&#8221;false&#8221; # false: Ui anzeigen, Flag nicht genannt<br />
for ARG in $@<br />
do<br />
#echo &#8220;Parameter-Aktuell: $ARG&#8221;<br />
if [ "$ARG" = "--noui" ]<br />
then<br />
NOUI_FLAG=&#8221;true&#8221;<br />
fi # Option-1/9<br />
done</p>
<p>#echo &#8220;NOUI-Flag: $NOUI_FLAG&#8221;<br />
if [ "$NOUI_FLAG" = "true" ] # UI nicht gewuenscht<br />
then<br />
#echo &#8220;Starte ohne TUI&#8221;<br />
starteAnwendungOhneUi<br />
else<br />
#echo &#8220;Starte mit TUI&#8221;<br />
while [ true ]<br />
do<br />
zeigeHauptMenue<br />
done<br />
fi<br />
# exit-Codes<br />
# exit 0 &#8211; Programm bewusst beendet, planmäßig abgelaufen<br />
# exit 1 &#8211; Programm mit Fehler beendet<br />
exit 0<br />
# &#8212; Skript-Ende &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>for-Schleife: Alle Dateien eines Verzeichnisses einlesen:<br />
<code><br />
for DATEI in $(ls)<br />
do<br />
# Befehle pro Datei im aktuellen Verzeichnis, die mit ls gelistet wird<br />
# ...<br />
done</code></p>
<p>while-Schleife mit vorherigem Anlegen eines Arbeitsverzeichnisses mit Zeitstring:<br />
<code><br />
# lege Arbeitsverzeichnis an<br />
joba_time_day=`date +"%m-%d-%Y"`<br />
joba_time_now=`date +"%T"`<br />
joba_result_dir_name="einzelmsaberechnung-${joba_time_day}-${joba_time_now}/"<br />
cd $joba_path_to_desktop<br />
mkdir ${joba_result_dir_name}</code></p>
<p># rufe das cpp-Programm auf<br />
i=0;<br />
while [ $i -le 100 ]<br />
do<br />
echo &#8220;Lauf-$i&#8221;<br />
i=`expr $i + 1`<br />
done</p>
<p>String konkatenieren und dabei Programmausgabe weiterverarbeiten und in Datei umleiten<br />
<code><br />
# gehe Dateien ab<br />
cd $joba_rawdata_dir<br />
i=0<br />
for joba_file_pointer in $( ls )<br />
do<br />
echo "Datei entdeckt: ${joba_file_pointer}"<br />
# schreibe Eintrag als CSV-Eintrag<br />
joba_temp1_string="$i;"<br />
joba_temp2_string=`cat $joba_file_pointer`<br />
joba_temp3_string=";"<br />
joba_temp4_string=${joba_temp1_string}${joba_temp2_string}${joba_temp3_string}<br />
echo "CSV-String: $joba_temp4_string"<br />
echo ${joba_temp4_string} &gt;&gt; ${joba_path_to_output_dir}${joba_output_filename}<br />
i=`expr $i + 1`<br />
done</code></p>
<h3>Hilfreiche Quellen und Links</h3>
<p>Ubuntuusers-Einstieg: http://wiki.ubuntuusers.de/shell<br />
Bash-Scripting-Guide: http://tldp.org/LDP/abs/html/<br />
Linux-Shell-Scripting-Tutorial: http://www.freeos.com/guides/lsst/<br />
Linux-Shell-10-Seconds-Guide: http://linuxhelp.blogspot.com/2005/10/10-seconds-guide-to-bash-shell.html<br />
Wikibook: http://de.wikibooks.org/wiki/Linux-Kompendium:_Shellprogrammierung</p>
<p>Link zur Textdatei der Vorlage: <a href="http://blog.jochen-bauer.net/wp-content/uploads/2011/04/joba-shellskript-vorlage.sh.txt">joba-shellskript-vorlage.sh</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jochen-bauer.net/2011/04/22/uberblick-zur-shellskript-programmierung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grobüberblick zur Gimp-Bedienung</title>
		<link>http://blog.jochen-bauer.net/2011/04/22/grobuberblick-zur-gimp-bedienung/</link>
		<comments>http://blog.jochen-bauer.net/2011/04/22/grobuberblick-zur-gimp-bedienung/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 18:43:25 +0000</pubDate>
		<dc:creator>Jochen Bauer</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[deutsch]]></category>
		<category><![CDATA[gimp]]></category>

		<guid isPermaLink="false">http://blog.jochen-bauer.net/?p=37</guid>
		<description><![CDATA[Ich schrieb bereits einen Artikel &#8220;Technische Hintergründe zur digitalen Bildbearbeitung&#8221; verfasst. Dieser war programmunabhängig. Jetzt will ich in Grobzügen auf die Bedienung des Open-Source-Programmes Gimp eingehen. Die Basis der Artikel stellt die Dokumentation des Programms. Einiges ist herauskopiert, anderes umformuliert &#8230; <a href="http://blog.jochen-bauer.net/2011/04/22/grobuberblick-zur-gimp-bedienung/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Ich schrieb bereits einen Artikel &#8220;<a title="Jochen Bauer Technische Hintergründe Bildbearbeitung" href="http://blog.jochen-bauer.net/2011/04/22/technische-hintergrunde-zur-digitalen-bildbearbeitung/">Technische Hintergründe zur digitalen Bildbearbeitung</a>&#8221; verfasst. Dieser war programmunabhängig. Jetzt will ich in Grobzügen auf die Bedienung des Open-Source-Programmes <a href="http://www.gimp.org/">Gimp</a> eingehen. Die Basis der Artikel stellt die <a href="http://docs.gimp.org/de/">Dokumentation</a> des Programms. Einiges ist herauskopiert, anderes umformuliert &#8211; mein Ziel ist, die Inhalte auf die Fotobearbeitung zu beschränken und nur das meines Erachtens nötigste rein zu packen. Wie gewohnt freue ich mich, falls jemand etwas zu ergänzen, oder zu korrigieren, hat.</strong><br />
<span id="more-37"></span></p>
<p><strong>1. Allgemeines</strong><br />
<em><strong> 1.Öffnen</strong></em><br />
Gimp kennt die meisten Formate.<br />
Falls du eine psd-Datei öffnen möchtest, kannst du versuchen sie einfach als xcf umzubenennen und sie dann weiter zu verarbeiten. Man kann ein Bild auch mehrfach öffnen.</p>
<p><em><strong>1.2 Abspeichern</strong></em><br />
Beim Abspeichern legt man das Format für das Bild fest.<br />
Speicher immer einmal das Bild als xcf oder tif ab, bevor du eine Komprimierung vornimmst. Andernfalls wirst du die Qualität des Bildes immer weiter absenken.<br />
Speichere ein Bild bevor, du eine Änderung machst immer unter einem anderen Namen ab.<br />
&#8220;Kopie speichern unter&#8221; erzeugt eine Kopie und lässt das Original offen.</p>
<p><strong>2. Auswahl</strong></p>
<p><em><strong>2.1 Auswahlwerkzeuge</strong></em></p>
<p><em><strong>2.1.1 Rechteck, elliptische Auswahl, Lasso (freie Auswahl)</strong></em><br />
Bei den Auswahlen muss man zusätzlich zum gewählten Werkzeug den Modus beachten (Einstellungsscreen). Die vier Modi sind selbsterklärend. Anfangs muss man immer aufpassen, ob man gerade auf der aktiven Ebene ist. Wenn was nicht klappt, schaue ich umgehend in den Einstellungsscreen (ES) und im Ebenendialog nach &#8211; oft finde ich hier meinen Fehler. Hierzu später mehr.</p>
<p><em><strong>2.1.2 Zauberstab, Farbauswahl</strong></em><br />
Der Zauberstab sucht eine Farbe und wählt den zusammenhängenden Bereich dieser Farbe aus. Die Farbauswahl sucht eine bestimmte Farbe im ganzen Bild.<br />
Die Kantenglättung erzeugt eine Weichzeichnung. Mittels der Einstellung eines Schwellwertes kann man steuern, wie ähnlich die ausgewählten Pixel dem Ursprungsfarbe des gewählten Pixels sein müssen, um noch weichgezeichnet zu werden.</p>
<p><em><strong>2.1.3 Schere</strong></em><br />
Die Schere denkt mit und berechnet den Weg eines Knotens zum anderen. Um die Auswahl zu schließen und somit damit arbeiten zu können, klickt man seine Knoten, endet im ersten Knoten (erkennt man am geänderten Zeichen, das Plus wird zu einem kleinem Fadenkreuz) und klickt anschließend in den auszuwählenden Bereich &#8211; die Auswahl wird erstellt</p>
<p><em><strong>2.1.4 Pfade</strong></em><br />
Pfade sind eindimensionale Kurven und ressourcenschonend. Text und Auswahlen können in Pfade umgewandelt werden und als SVG exportiert werden.<br />
Man kann bei den Pfaden bequem Knoten setzen, indem man im Einstellungsscreen (ES) &#8220;Design&#8221; anklickt. Man kann den Pfad schließen, indem man im ES auf &#8220;Pfad aus Auswahl&#8221; klickt. Um dann auch wirklich die erzeugte Auswahl verschieben zu können, muss man im ES auf &#8220;Auswahl transformieren&#8221; einstellen.</p>
<p><em><strong>2.2 Umgang mit einer Auswahl</strong></em><br />
Standardmäßig werden bei Gimp harte Kanten erzeugt. Über &#8220;Kanten ausblenden&#8221; kann man dies ändern. Wenn man nun eine Auswahl hat, kann man mit der Quickmask (links unten im Bildfenster) seine Auswahl visualisieren und ggf. nachbessern ( bspw. bei einer Auswahl aus Pfaden). Will man nur den Rahmen der Auswahl und nicht aber den Inhalt verschieben, nutzt man die &#8220;Alt&#8221; Taste. Schwebende Auswahlen müssen verankert werden um mit Gimp weiterbearbeitet zu werden.</p>
<p><strong>3 Farbpipette</strong><br />
Hier kann ich mir den Farben-Wert des Pixels anzeigen lassen. Man kann zwischen verschiedenen Farbmodellen wählen.</p>
<p><strong>4 Winkel-/Abstandsmesser</strong><br />
Sieh an, habe ich noch nie gebraucht/benutzt und trotzdem schön zu wissen.<br />
[ Die beiden habe ich der Vollständigkeit mit aufgeführt]</p>
<p><strong>5 Transformationswerkzeuge</strong></p>
<p><em><strong>5.1 Allgemeines</strong></em><br />
Transformieren heißt, die Pixel zu ändern. Auf einige übergreifende Fähigkeiten mehrerer Transformationswerkzeuge  gehe ich jetzt ein.<br />
Einstellungsscreen(ES) &#8216;wirkt auf&#8217;: immer kurz nachsehen ob auch das Richtige markiert ist.<br />
&#8216;Interpolation&#8217; (oder auch Aliasing) bezeichnet die Hochrechnung oder den digitalen Zoom. Kubisch ist am besten, dauert aber am längsten.<br />
&#8216;Ergebnis beschneiden&#8217; führt dazu, dass das aktivierte Element auf die Originalgröße des Bildes zugeschnitten wird. Beim Rotieren bspw. wird das Bild an manchen Stellen über das Original hinausgehen, und wird bei aktivierter Funktion schön dort  abgeschnitten.</p>
<p><em><strong>5.2 Fadenkreuz (Verschieben)</strong></em><br />
Mit dem Fadenkreuz kann ich das gesamte Bild oder eine Auswahl verschieben.<br />
Man muss aufpassen dass im ES bei &#8220;wirkt auf&#8221; das Richtige angehakt ist (mal wieder <img src='http://blog.jochen-bauer.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ). Nervige Geschichte, wenn man die Auswahl verschieben will und man immer die gesamte aktive Ebene greift. Es kann auch mit den Pfeiltasten verschoben werden (Genauigkeit) &#8211; dies lässt ein sehr genaues Verschieben zu.</p>
<p><em><strong>5.3 Zuschneiden/ Größe ändern</strong></em><br />
&#8216;Zuschneiden&#8217; bildet die Auswahl als neues Bild ab.<br />
&#8216;Größe ändern&#8217; lässt hingegen die Auswahl nach dem Zuschneiden an dem Ort, wo sie vorher war und die Originalgröße des Bildes bleibt gleich.<br />
&#8216;Aus Auswahl&#8217; erzeugt eine automatische Berechnung aus der Auswahl (funktioniert bei mir allerdings selten). Spart man Arbeit wenn man etwas recht komplex auswählen musste.<br />
&#8216;Automatisch schrumpfen&#8217; hat bei mir ebenfalls noch nicht funktioniert. Ihr seht also, einige Erfolgserlebnisse blieben mir bis dato noch verborgen.</p>
<p><em><strong>5.4 Drehen</strong></em><br />
Keine Besonderheiten</p>
<p><em><strong>5.5 Skalieren</strong></em><br />
Das sind die dicken Änderungen (Verzerren des Bildes). Unbedingt nochmal im ES die Einstellungen überprüfen.</p>
<p><em><strong>5.6. Scheren</strong></em><br />
Der Scherenfaktor bezeichnet die Verschiebung der oberen gegen die untere Kante. Ein positiver Wert verschiebt im Uhrzeigersinn. Was bei Scherenfaktor y und bei einem negativen Wert passiert, überlass ich dem Scharfsinn.</p>
<p><em><strong>5.7 Perspektive</strong></em><br />
Uijala &#8211; das fetzt. Einfach rein ins Bild und loslegen. Die Matrix verändert die Werte von selbst, wenn man mittels der Maus einen Perspektivwechsel hinlegt.</p>
<p><em><strong>5.8 Spiegeln</strong></em><br />
Ebenfalls selbsterklärend.</p>
<p><em><strong> </strong></em></p>
<p><strong>6. Malwerkzeuge</strong></p>
<p><em><strong>6.1 Allgemeines</strong></em><br />
Es gibt neun Malwerkzeuge. Am besten kann man diese mit einem Grafiktablett nutzen. Wenn man mit Pfaden arbeitet kann man die Werkzeuge automatisch nutzen (Pfad nachzeichnen).<br />
Die <em><strong>STRG</strong></em>-Taste ist bei den Malwerkzeugen eine feine Sache: es wird automatisch die Pipette aufgerufen und die Farbe des Pixels wird als die bevorzugte Vorder-bzw. Hintergrundfarbe gesetzt.<br />
<em><strong> SHIFT</strong></em> zeigt eine gerade Orientierungslinie an.<br />
Im ES gibt es die Modi. Hier ist die Ansicht im Glossar der Doku sehr anschaulich ( http://docs.gimp.org/de/glossary.html#glossary-modes ) . Auf die anderen Einstellungen gehe ich hier nicht weiter ein.</p>
<p><em><strong>6.2 Überblick über alle</strong></em><br />
Ich werde die meisten Malwerkzeuge nur selten einsetzen und daher halte ich es ganz kurz und zitiere die Doku:</p>
<blockquote><p>&#8220;Vier der Malwerkzeuge &#8211; Stift, Pinsel, Sprühpistole (Airbrush) und Tinte verhalten sich im Ähnlichen wie ihren realen Vorbilder: Sie können sie benutzen, um zu zeichnen. Die restlichen benutzen einen Pinsel für etwas andere Arbeiten: der Radierer entfernt Bildteile, das Klonen Werkzeug kopiert Muster, das Verknüpfen-Werkzeug dient zum Weichzeichnen oder Schärfen, das Verschmieren Werkzeug ermöglicht ein gezieltes Verschmieren in Bildern und das Abwedeln/Nachbelichten Werkzeug tut genau, was sein Name schon andeutet, nämlich einzelne Stellen im Bild gezielt abdunkeln oder aufhellen.&#8221;</p></blockquote>
<p><em><strong>6.3 Klonen</strong></em><br />
Eignet sich zum Retuschieren und Ausbessern von Fotos. Mit Strg wird der Klonpunkt fixiert. Einfache Mausklicks lassen den Punkt dort, ein Dauerklick lässt den Fixierpunkt mitlaufen. Es empfiehlt sich vorher eine Auswahl festzulegen, dann kann man befreiter retuschieren, da nichts außerhalb der Auswahl verändert wird.</p>
<p><em><strong>6.4 Weichzeichnen/ Schärfen</strong></em><br />
Beim Weichzeichnen werden einzelne Pixel verwischt. Es gibt für ganze Ebenen auch einen Filter. Beim Schärfen werden ähnliche Farben vereint und es entstehen Kanten. Die Rate steuert die Intensität des Werkzeugeinsatzes.</p>
<p><em><strong>6.5 Verschmieren</strong></em><br />
Beim Verschmieren werden mit dem Pinsel Pixel verschmiert. <em><strong>SHIFT</strong></em> zwingt das Werkzeug auf einer geraden Linie zu verschmieren.</p>
<p><em><strong>6.6 Abwedeln/ Nachbelichten</strong></em><br />
Hiermit kann man einzelne Pixel aufhellen oder abdunkeln.</p>
<p><strong>7 Farbwerkzeuge</strong></p>
<p><em><strong>7.1 Farbabgleich</strong></em><br />
Standardmäßig ist der Farbabgleich nicht im Werkzeugfenster, also lässt er sich über das Bildfenster -&gt; Werkzeuge-&gt; Farben-&gt; Farbabgleich erreichen. Durch die Vorschau kann man sein Handeln ganz gut einschätzen. Man kann damit Farbstiche aus den Bildern entfernen.</p>
<p><em><strong>7.2 Farbton-Sättigung</strong></em><br />
Herumspielen und die Vorschau im Auge behalten. Auf der aktuellen Ebene können Farbton, Sättigung und Helligkeit verändert werden.</p>
<p><em><strong>7.3 Einfärben</strong></em><br />
Eignet sich um den Sepia-Effekt mit beliebigen Farben auf das Bild anzuwenden.</p>
<p><em><strong>7.4 Helligkeit-Kontrast</strong></em><br />
Es ist sehr komfortabel, aber die Werkzeuge &#8216;Werte&#8217; und &#8216;Kurven&#8217; ermöglichen bessere Lösungen.</p>
<p><em><strong>7.5 Schwellwert</strong></em><br />
Erzeugt ein Schwarz-Weiß-Bild. Die Einstellung was schwarz und weiß ist, erfolgt über das Histogramm.</p>
<p><em><strong>7.6.Werte</strong></em><br />
Verweis auf Dokumentation( http://docs.gimp.org/de/gimp-tool-levels.html ) &#8211; komplexe Kiste.</p>
<p><em><strong>7.7 Kurven</strong></em><br />
Das mächtigste aber auch komplexeste Werkzeug laut Doku ( http://docs.gimp.org/de/gimp-tool-curves.html )</p>
<p><em><strong>7.8 Posterisieren</strong></em><br />
Die Farbanzahl wird in einem gewichteten Maß verringert. Es bleibt eine Ähnlichkeit zum Original</p>
<p><strong>8 Ebenen</strong></p>
<p>Ebenen sind mit einem Stapel Folien vergleichbar. Man blickt von oben drauf und sieht ein Bild vor sich. Ein Bild kann unendlich viele Ebenen besitzen. Du kannst die jeweils aktive Ebene mit Werkzeugen und Filtern bearbeiten. Das nennt man aktive Zeichenfläche (andere aktive Zeichenflächen sind Kanäle, Ebenenmasken und Auswahlmasken).</p>
<p>Es empfiehlt sich, den Ebenendialog immer in Blickweite zu haben. Andernfalls kann man leicht durcheinander kommen. Das Auge im Ebenendialog zeigt an, ob die Ebene sichtbar ist. Mit dem Drücken der <em><strong>Shift</strong></em>-Taste kann man anschließend alle anderen Ebenen (un)sichtbar schalten.</p>
<p>Man kann Ebenen mit dem Kettensymbol gruppieren und somit auf mehreren Ebenen gleichzeitig eine Auswahl verschieben. Die Ebenengröße ist nicht immer so groß wie das Bild. Du kannst Ebenen vergrößern, damit du sie an der gewünschten Stelle auch bearbeiten kannst. Du kannst immer nur an einer Stelle arbeiten, wenn dort auch noch die aktive Ebene vorhanden ist. Die aktive Ebene ist durch eine gelb-schwarze Markierung hervorgehoben.</p>
<p>Es gibt 21 Ebenenmodi ( http://docs.gimp.org/de/glossary.html#glossary-modes ). Diese regeln  auf welche Weise die aktive mit der unteren Ebene verknüpft wird. Folglich sind zum Anwenden von Ebenenmodi mehrere Ebenen nötig.</p>
<p>Im Bild unter Ebene-&gt;Maske-&gt; Ebenenmaske kann man eine Ebenenmaske hinzufügen. Diese wird dann im Ebenendialog neben der eigentlichen Vorschau angezeigt. Die Maske kann dann bearbeitet werden. Das Wechseln zwischen Ebene und Maske kann über einen Klick in der Vorschau erreicht werden. Das jeweils aktive Element hat einen weißen Rand in der kleinen Vorschau im Ebenendialog.</p>
<p><strong>9 Text</strong></p>
<p>Gimp erzeugt für jedes Textfeld eine eigene Ebene. Textebenen müssen im Vergleich  zu herkömmlichen Ebenen ganz andere Infos enthalten. Man kann den Text intuitiv formatieren.<br />
Die Option <em><strong>Hinting</strong></em> sollte man aktivieren, da Gimp dann versucht den Text schöner und nicht ausgefranst, erscheinen zu lassen. Kantenglättung lässt den Text weicher erscheinen und man kann mit Einzügen, verschiedenen Zeilenabständen und Schriftarten arbeiten. Du kannst aus dem Text dann später auch einen Pfad erstellen und diesen Pfad dann weiter bearbeiten.</p>
<p><strong>10 Filter</strong></p>
<p>Besonders interessant finde ich die Verbesserungsfilter. Die Funktionsweise der Filter, also was da mathematisch abläuft, interessiert mich nicht wirklich und somit verwende ich hier &#8216;Trial and Error&#8217;.<br />
&#8216;Entflackern&#8217; korrigiert unscharfe Kanten und horizontale Streifen.<br />
&#8216;Flecken entfernen&#8217; hilft gegen schlecht eingescannte Vorlagen (Moire-Effekt), Staub und Kratzer.<br />
&#8216;Streifen entfernen&#8217; eliminiert vertikale Streifen (ggf. durch Scannen entstanden).<br />
&#8216;NL&#8217; stellt den schiefen Turm von Pisa senkrecht, wenn ich das richtig verstanden habe.<br />
&#8216;Schärfen&#8217; &#8211; selbsterklärend</p>
<p>Das war es schon, ich hoffe es hilft dem ein oder anderen eines seiner Bilder etwas nachzubessern.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jochen-bauer.net/2011/04/22/grobuberblick-zur-gimp-bedienung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Technische Hintergründe zur digitalen Bildbearbeitung</title>
		<link>http://blog.jochen-bauer.net/2011/04/22/technische-hintergrunde-zur-digitalen-bildbearbeitung/</link>
		<comments>http://blog.jochen-bauer.net/2011/04/22/technische-hintergrunde-zur-digitalen-bildbearbeitung/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 13:16:28 +0000</pubDate>
		<dc:creator>Jochen Bauer</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[deutsch]]></category>
		<category><![CDATA[gimp]]></category>

		<guid isPermaLink="false">http://blog.jochen-bauer.net/?p=35</guid>
		<description><![CDATA[Ich archiviere hier mal meine Unterlagen zu Bildbearbeitung im Rahmen eines Praktikums an der Hochschule. Wir haben meist im Handbuch nachgeschlagen und im gimpforum habe ich einige Fragen gestellt. Der Großteil meiner Recherche war in der Wikipedia. Zu Gimp, einem &#8230; <a href="http://blog.jochen-bauer.net/2011/04/22/technische-hintergrunde-zur-digitalen-bildbearbeitung/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.jochen-bauer.net/wp-content/uploads/2011/04/artikelserie-bildbearbeitung.jpg"><img class="aligncenter size-full wp-image-36" title="artikelserie-bildbearbeitung" src="http://blog.jochen-bauer.net/wp-content/uploads/2011/04/artikelserie-bildbearbeitung.jpg" alt="" width="117" height="127" /></a></p>
<p><strong>Ich archiviere hier mal meine Unterlagen zu Bildbearbeitung im Rahmen eines Praktikums an der Hochschule. Wir haben meist im Handbuch nachgeschlagen und im gimpforum habe ich einige Fragen gestellt. Der Großteil meiner Recherche war in der Wikipedia. Zu Gimp, einem bekannten Bildbearbeitungsprogramm gibt es auch ein <a href="http://de.wikibooks.org/wiki/GIMP">Wikibook</a>, welches leider noch fast leer ist.</strong><br />
<span id="more-35"></span></p>
<p>Ich bin in der Bildbearbeitung ein Laie, daher freue ich mich auf Verbesserungsvorschläge. Als Programm nutze ich <a href="http://de.wikipedia.org/wiki/Gimp">GIMP</a>, allerdings sinde die Artikel dieser Serie programmunabhängig. Die gebräuchlichsten <a href="http://de.wikipedia.org/wiki/Grafikformat">Grafikformate</a> sind u.a.:<strong></strong><br />
<strong>bmp</strong>:<br />
Kaum Verwendung im Internet, da die schwache Komprimierung zu größeren Dateien als die Verwendung des GIF- oder des modernen PNG-Formats führt. Die meisten Programme können BMP anzeigen.Das Windowsformat ist qualitativ nicht so gut.<br />
<strong>gif</strong>:<br />
Im Web ist es weit verbreitet. Es unterstützt Transparenz und Animationen. Gif ist patentiert und wird somit nicht von allen unterstützt. Die Qualitiät wird schlechter als das Original, da das Bild komprimiert wird.<br />
<strong>jpg</strong>:<br />
Jpgs sind im Web für fotoähnliche Bilder weit verbreitet. Das Format besitzt keinen <a href="http://de.wikipedia.org/wiki/Alphakanal">Alphakanal</a> und somit keine Transparenz. Ungeeignet für Text und harte Farbübergänge. Es gibt verschiedene Untertypen, von denen nur wenige genutzt werden.<br />
<strong>psd</strong>:<br />
Psd ist das von Adobe Photoshop verwendete Bildformat. Es kann eigentlich alles (Ebenen, Transparenz, Alphakanal, CMYK). Die Bilder sind sehr groß, aber ohne Qualitätsverlust.<br />
<strong>tif</strong>:<br />
Sehr vielseitig, keine Komprimierung und somit wird die Qualität beibehalten.<br />
Wegen der Unterstützung des CMYK-Farbraums wird es in Druckereien in der Druckvorstufe verwendet. Hochauflösende Bilder werden deshalb von einigen Firmen und Organisationen zum Herunterlanden (für die Presse) im Internet als TIFF angeboten.<br />
<strong>png</strong>:<br />
Im Web sind png-Bilder weit verbreitet, aber in unterschiedlichem Maße von Anwendungen unterstützt. Es handelt sich um eine leistungsfähige Alternative zu GIF und png-Bilder sind das allgemein empfohlene Format für Komprimierung. für Excel-Grafiken ist dieses Format zu empfehlen, da es nichts neu einfärbt und vieles genauso lässt, wie das Original es vorsieht.<br />
<strong>xcf</strong>:<br />
Das von &#8220;The GIMP&#8221; verwendete Dateiformat.<br />
Es ist in der Lage, Ebenen, deren Verknüpfungen ein Gesamtbild ergeben und verschiedene Objekte, wie etwa Textstellen zu speichern. Ideal zum späteren Nachbearbeiten, da mit GIMP erstellte Bilder normalerweise in Ebenen und Objekte getrennt vorliegen. Gimp ist OpenSource und kostenlos &#8211; was will man mehr?</p>
<h3>Farbraum und -modelle</h3>
<blockquote><p>&#8220;Die Farben eines Farbraumes werden durch ein Farbraumsystem quantifiziert. Ein Farbraumsystem ist ein Koordinatensystem, in dem die einzelnen Farben durch Basiskoordinaten auf verschiedenen Achsen charakterisiert werden. Bedingt durch den Aufbau des menschlichen Auges sind es, bei für menschliche Betrachter gedachten Farbräumen, in den allermeisten Fällen drei Achsen. Es sind etwa 30-40 Farbraumsysteme in Gebrauch.<br />
Häufig werden ein Farbraumsystem und der entsprechende Farbraum, auf dem das System basiert, nicht unterschieden, sondern zusammengefasst als Farbmodell bezeichnet. Es gibt zum einen technisch-physikalische Modelle, bei denen Farben aus anderen Farben gemischt werden (z.B. RGB, CMYK), zum anderen wahrnehmungsorientierte (perzeptuelle) Modelle, die Farben durch die Merkmale Helligkeit, Sättigung und Farbton beschreiben (z.B. HSV, HLS).&#8221;</p></blockquote>
<p><strong>RGB-Farbmodell</strong><br />
Rot Grün Blau (englisch Red Green Blue) ist ein additives Farbmodell, bei dem sich die Grundfarben zu Weiß addieren (Lichtmischung). Eine Farbe wird durch drei Werte beschrieben: den Rot-, den Grün- und den Blauanteil. Jeder Farbanteil kann zwischen 0% und 100% (0-255)variieren.</p>
<p>Eine Farbe im RGB-Modell kann hexadezimal definiert werden.(Format #RRGGBB)<br />
Schwarz #000000 0 0 0<br />
Weiß #FFFFFF 255 255 255<br />
Rot #FF0000 255 0 0</p>
<p><strong> CMYK-Farbmodell:</strong><br />
Anders als das RGB-Modell ist das <a href="http://de.wikipedia.org/wiki/Bild:CMYK_farbwuerfel.jpg">CMYK</a>-Modell vierfarbig (Cyan, Magenta, Yellow, Key(Schwarz)). Es handelt sich um eine subtraktive Farbmischung. Man braucht die vierte Farbe (Key), um tiefschwarz darstellen zu können.</p>
<p>Bei allen Farbmodellen ist es noch nicht möglich, alle mit dem menschlichen Auge <a href="http://de.wikipedia.org/wiki/Bild:CIE_Lab_RGB_CMYK.jpg">erfassbaren Farben</a> zu konstruieren.</p>
<h3>Bits und Bytes</h3>
<p>1 Bit entspricht der Information, welche von zwei möglichen Begebenheiten zutrifft (an/aus; 0/1). Mit n Bits lassen sich 2n verschiedene Zustände darstellen. Mit beispielsweise zwei Bits können 2² = 4 verschiedene Zustände repräsentiert werden, nämlich 00, 01, 10 und 11. Mit vier Bits können 16 verschiedene Zustände dargestellt werden, mit acht Bits 256, und so weiter. Jedes zusätzliche Bit verdoppelt die Anzahl der möglichen darstellbaren Zustände.</p>
<p>8 Bit sind 1 Byte. Eine Farbskala einer Farbe besitzt im RGB-Modell 256 (0 bis 255) verschiedene Zustände. Wir müssen aber sowohl für Rot, für Grün, und für Blau je einen Zustand festlegen. Insgesamt können wir mit dem Modell also 16.777.216 unterschiedliche Farben darstellen( 256x256x256). Ein Farbbild im RGB-Modell hat also eine Tiefe von 3 Byte ( 24 Bit) und ein Graustufenbild eine Tiefe von 1 Byte (8 Bit).<br />
Ein Farbbild, welches 16,8 Millionen Farben zur Verfügung, wird als &#8216;True Color&#8217; bezeichnet.</p>
<h3>Bildgröße</h3>
<p>1 Inch= 1 Zoll = 2,54 cm<br />
Die Größee eines Pixelbildes ergibt sich aus der Anzahl der Pixel des Bildes (in Breite und Höhe) und der dazugehörigen Auflösung (in Pixeln je Zoll [dots per inch=dpi]) des Ausgabegerätes (Monitor, Drucker).</p>
<p>Beispiel: Ein Bild hat eine Breite von 600 Pixeln. Bei einer Auflösung von 300 dpi ist das Bild demnach 600/300=2 Zoll breit. Bei einer Auflösung von 100 dpi wäre das Bild 600/100=6 Zoll breit &#8211;&gt; das Bild wird also bei einer sehr hohen Auflösung sehr klein am Ausgabegerät angezeigt.</p>
<p>Für Drucksachen sollte das Bild eine Auflösung von etwa 240 bis 300 dpi bei Graustufen- und Farbbildern aufweisen. Fürs Internet bestimmte Bilder, können mit einer Auflösung von 72 dpi abgespeichert werden &#8211; das entspricht der Auflösung des Ausgabemediums, nämlich der des Computermonitors. Die Bildgröße in Byte (kB, MB) lässt sich folgendermaßen berechnen: Bildbreite in Pixel, mal Bildhöhe in Pixel, mal Farbtiefe in Byte/Pixel.</p>
<p>Beispiel 1: Ein Graustufenbild (Farbtiefe 8 Bit, das entspricht 1 Byte) hat eine Breite von 600 Pixeln und eine Höhe von 200 Pixeln. Die Dateigröße wäre dann 600 x 200 x 1 Byte=120.000 Byte= 120 kB.</p>
<p>Beispiel 2: Ein Farbbild mit 24 Bit Farbtiefe (entspricht 3 Byte) im Format 10 x 15 Zoll hat bei einer Auflösung von 300 dpi folgende Dateigröße:<br />
Berechnung 1: Bildbreite<br />
10 Zoll mal 300 dpi = 3000 Pixel Bildbreite<br />
Berechnung 2: Bildhöhe<br />
15 Zoll mal 300 dpi = 4500 Pixel Bildhöhe<br />
Berechnung 3: Bildgröße:<br />
3000 x 4500 x 3 Byte= 40.500.000 Byte = 40,5 MB</p>
<p>ACHTUNG:<br />
bei Berechnungen nicht vergessen, dass 1 kByte 1024 und nicht 1000 Byte sind!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jochen-bauer.net/2011/04/22/technische-hintergrunde-zur-digitalen-bildbearbeitung/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>blitzblank 2 WordPress Theme</title>
		<link>http://blog.jochen-bauer.net/2011/04/17/blitzblank-2-wordpress-theme/</link>
		<comments>http://blog.jochen-bauer.net/2011/04/17/blitzblank-2-wordpress-theme/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 15:45:45 +0000</pubDate>
		<dc:creator>Jochen Bauer</dc:creator>
				<category><![CDATA[computer]]></category>

		<guid isPermaLink="false">http://blog.jochen-bauer.net/?p=15</guid>
		<description><![CDATA[You can read this post in German as well – visit page two .&#124; Um diesen Beitrag in deutsch zu lesen, bitte nach unten scrollen und die Seite 2 besuchen . blitzblank is the name of a wordpress theme. blitzblank &#8230; <a href="http://blog.jochen-bauer.net/2011/04/17/blitzblank-2-wordpress-theme/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em><strong>You can read this post in German as well – visit <a title="blitzblank wordpress theme german version" href="http://blog.jochen-bauer.net/2011/04/17/blitzblank-2-wordpress-theme/2/"> page two</a> .| Um diesen Beitrag in deutsch zu lesen, bitte nach unten scrollen und die <a title="blitzblank wordpress theme version 2 deutsche version" href="http://blog.jochen-bauer.net/2011/04/17/blitzblank-2-wordpress-theme/2/">Seite 2 besuchen</a> .</strong></em></p>
<p><em><strong><a href="http://blog.jochen-bauer.net/wp-content/uploads/2011/04/sc_blitzblank111.png"><img class="aligncenter size-full wp-image-17" title="sc_blitzblank111" src="http://blog.jochen-bauer.net/wp-content/uploads/2011/04/sc_blitzblank111.png" alt="" width="400" height="214" /></a></strong></em><strong><strong>blitzblank</strong> is the name of a <strong>wordpress</strong> <strong>theme</strong>. <strong>blitzblank</strong> based on &#8220;YAML&#8221;. YAML is an acronym for &#8220;Yet Another Multicolumn  Layout&#8221;, an XHTML-CSS-Framework. Due to this foundation your blog will  have a modern layout and your blog will support webstandards. </strong></p>
<p>By changing a few lines of code you can create countless other  layouts, for example changing the whole navigation, switching from a  fixed width to full flexible float layouts or you switch from three  columsn to two, one or four columns – just a few lines of code must be  changed. Fortunately there are several tutorials in the  online-documentation of the YAML-Website. Moreover you will find lots of  comments in the css-files of <strong>blitzblank</strong>.  If there is a YAML-upgrade, you’ll just overwrite the &#8220;yaml&#8221; folder and  all will work without problems. Your individual files are in the &#8220;css&#8221;  folder and this won’t be touched. Summing up, a <strong>theme</strong> based on YAML is browserfriendly today and will be in future as well.  To work on your layout you should edit the basemod.css und content.css,  that’s all.</p>
<p><em><strong>Why <strong>blitzblank</strong>?</strong> </em></p>
<p>In addition to this already mentioned variety and quality of YAML,  with the framework it is possible to create websites from &#8220;top-down&#8221;  instead of &#8220;bottom-up&#8221;. As <strong>blitzblank</strong> is already a <strong>WordPress</strong> <strong>theme</strong>, you can create your <strong>WordPress</strong> themes with this top-down-mehthod as well. The amount of time for  css-bugfixing will reduce to a minimum if not to zero. YAML-Layouts are  also available for other Content-Management-Systems and Webshops. An  YAML-expierenced developer won’t need much time to work himself into the  code. The former versions of <strong>blitzblank</strong> (1.0, 1.1, 1.2) were used on lots of blogs. Anyway, in my opinion version 2 is much much better <img src="../wp-includes/images/smilies/icon_smile.gif" alt=":-)" /> .</p>
<p><em><strong>License</strong> </em></p>
<p><strong>blitzblank</strong> merges YAML and <strong>WordPress</strong>, so you will have to pay attention to both licenses.  <strong>WordPress</strong> is no  problem anyway, but YAML calls for a link  on your blog/website  but offers  other license modells, too, if a link is not possible or  appropriate on your project. I ask for a link to this page, the <strong>theme</strong> page too. <strong>WordPress</strong> is also happy to get a link.</p>
<p>I placed the demanded links in the footer by default. I placed  another link in it, the link to my personal website. You can delete this  link of course if you like.</p>
<p>If there are problems with licensing, feel free to contact me – I will try to help.</p>
<p><em><strong>Properties of <strong>blitzblank</strong><br />
</strong> </em></p>
<ul>
<li>3 column <strong>WordPress</strong>-<strong>Theme</strong>, the content column is in the middle of the screen but it is on the top in the source code.</li>
<li><strong>Theme</strong> is 960px wide. Within the website container relative units are used so you can increase the size of  fonts, etc..</li>
<li>Login-area is on the top in the right corner.</li>
<li>Pages are listed as horizontal navigation elements.</li>
<li>Text in the header-section is hidden but it is in the sourcecode.</li>
<li>Print-CSS-Stylesheet for all pages and posts by default.</li>
<li>Widgetized sidebars, although the <strong>theme</strong> could be used without widgets as well.</li>
<li>Valid XHTML 1.0 transitional and CSS 2.1</li>
</ul>
<p><em><strong>Installation of <strong>blitzblank</strong></strong> </em></p>
<ul>
<li>Download the <strong>theme</strong> file</li>
<li>Unzip the file and put the file onto your webspace in your <strong>theme</strong> folder <strong>wordpress</strong>/wp-content/themes/</li>
<li>Activate the <strong>theme</strong> in the backend</li>
<li>Open the file header.php in the directory bb2en and customize it, put your blogname und authorname in it.</li>
<li>Cut the favicon.ico file out of your bb2en directory and place it in your <strong>wordpress</strong>-root-directory (optional).</li>
<li>Make a new  header  pic  and  place it in  bb2en/css/screen/images  and save it as  &#8220;head.png&#8221; (optional).</li>
<li>In  bb2en/css/screen  there are  the already mentioned files   &#8220;basemod.css&#8221;  and  &#8220;content.css&#8221; –  here is  the place for  customizing  the layout of your <strong>theme</strong>.</li>
</ul>
<p><em><strong>Changes to former versions (<strong>blitzblank</strong> 1.0, 1.1, 1.2)<br />
</strong> </em></p>
<ul>
<li>The width of the layout is set to 960 px. According to this decision  it was possible to put the main content area on the top of the source  code.</li>
<li>The <strong>theme</strong> is not internationalized any more, so you have to decide to download the English or the German <strong>Theme</strong> Files. The lack of internationalising a <strong>theme</strong> was one reason that the release of <strong>blitzblank</strong> 2 took so long.</li>
<li>Almost every file of <strong>blitzblank</strong> was rewritten. The comment area is redesigned. New templates were  added. For example a 404.php, this file will be requested if a page  cannot be found and there is an archive.php, this  file will be  requested  if  the user clicks on an archive-page. The necessary queries  were in the header.php so these queries were made at each file requests  as a part of the <strong>WordPress</strong>-Loop. Now the loop is in many files and is customized for each template.</li>
<li>There are two templates for creating pages. By default there is the  &#8220;page.php&#8221;, this file doesn’t show the comment-template. I met this  decision, because now you can avoid an ugly message &#8220;No comments&#8221; and  &#8220;Comments are closed&#8221; on all pages. If you want to allow comments, you  can use the template &#8220;page_with_comments&#8221; (page_comments.php in your <strong>theme</strong> directory) and all will work.</li>
<li>There is another template called &#8220;archives.php&#8221;. Write a page with  it and there will be displayed a monthly archive, a category archive and  a tag-cloud.</li>
<li>The sidebar files where prepared for usage without using <strong>WordPress</strong>-Widgets.</li>
<li>There are lots of comments in the files.</li>
<li>The <strong>theme</strong> takes care of images and text. By default text is picking on images –  that doesn’t look well. There are two classes &#8220;imagealignleft&#8221; and  &#8220;imagealignright&#8221; to handle this. After including the image you add a  class to it. Switch from &#8220;Visual&#8221; to &#8220;HTML&#8221; editing mode and you will  see something like &lt;img src=&#8221;… . Now you write your preferred class  definiton before the &#8220;src&#8221;- attribut. It looks like this &#8220;&lt;img  class=&#8221;imagealignright&#8221; src=&#8221;… for an image  which should be aligned  right and &lt;img src=&#8221;… for left aligned images.</li>
</ul>
<p>Have fun with this <strong>theme</strong> and thanks in advance for your feedback!</p>
<p><em><strong>Download</strong> </em></p>
<ul>
<li><strong>blitzblank</strong> 2 – English version –  last reviewed –  06-04-2008  –  <a title="blitzblank 2 en " href="http://blog.jochen-bauer.net/wp-content/uploads/2011/04/bb2en.zip">bb2en</a></li>
</ul>
<p><em><strong>Links with additional information</strong> </em></p>
<ul>
<li><a title="WordPress-Testumgebung Joba mit blitzblank Theme" href="http://dev.jochen-bauer.net/wordpress/"><strong>blitzblank</strong>-Demo</a> (German version of <strong>blitzblank</strong>)</li>
<li>YAML-<a title="YAML online docu english" href="http://www.yaml.de/en/documentation.html">Online-Documentation</a></li>
<li>YAML-<a title="YAML licenses" href="http://www.yaml.de/en/license/license-conditions.html">Licenses</a></li>
<li>Tutorial to make a new header – the <a title="Photoshop Tutorial Shiny floor effect" href="http://photoshopcandy.com/?p=20" target="_blank">shiny floor effect</a> .&#8221;</li>
</ul>
<p><!-- nextpage ---></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jochen-bauer.net/2011/04/17/blitzblank-2-wordpress-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

