Archiv

Archive for Dezember 2012

Eine kleine Winterreise

30. Dezember 2012 Kommentare aus

Als Jahresabschluss gönnte ich mir eine kleine Reise. Da ich bereits im Sommer in den USA war musste ein anderes Ziel gefunden werden. Ich wollte schon lange einmal nach Paris oder Amsterdam und nun schien die Gelegenheit zu kommen.

Beim planen zeigte sich das ich beide Städte besuchen konnte. Da ich vor allem mit dem Zug reisen wollte bot sich mir die Gelegenheit unterwegs noch Brüssel und Rotterdam zu besuchen. Preislich sind die Fahrten im TGV und dem Thalys recht günstig, vor allem wenn man sie mit den Preisen in der Schweiz vergleicht.

 

Paris

Vom Regen und der Kälte in der Schweiz kam ich nach rund 6 Stunden in ein angenehm warmes (ca. 15°) und sonniges Paris. Auf dem Weg vom Bahnhof zum Hotel konnte ich bereit ein wenig die Stadt erkunden. Mein Hotel war nur ein Häuserblock vom Louvre entfernt und das Zimmer war erstaunlich gross – hatte dafür aber keinerlei Aussicht.

Man könnte wohl ohne Probleme eine ganze Woche im Louvre verbringen und hätte immer noch nicht alles gesehen. Die unzähligen Bilder, Skulpturen, Möbel, Mosaike und Modelle füllen einen Raum nach dem anderen. Und auch die Räume selber sind voller Verzierungen und haben teils gewaltige Fresken. Wer nicht ab und zu auch einmal an die Decke schaut verpasst so einiges.

Der Arc de Triomphe wirkt in der Realität viel grösser als man das von den Bildern her erwartet. Vom Turm herab hat man einen tolle Aussicht, die allerdings durch das hochsteigen der Treppen verdient sein will. Mich überraschten die 2 grossen Räume im inneren des Bogens. Diese beinhalten eine kleine Ausstellung und einen Souvenirshop.

Mit La Grande Arche hat Paris noch einen 2. Bogen. Dieser befindet sich auf der Achse Louvre – Arc de Triomphe und ist mittlerweile leider von allen Touristenattraktionen „befreit“. Die Schalter sind zwar noch da, aber so mit Müll überfüllt das man sich fragt was denn da passiert ist. Abgesehen von einigen Fotomotiven lohnt sich hier ein Besuch nicht mehr.

Die Kathedrale Notre-Dame de Paris hat mich sehr beeindruckt. Die riesigen Glasfenster lassen sehr viel Licht in den Innenraum und die Strebebögen halten alles schön zusammen. Ich fand es spannend zu sehen wie unterschiedlich Notre-Dame von der Basilika Sacré-Cœur in Montmartre ist. In den 700 Jahren hat sich nicht nur der Geschmack sondern auch die Bauweise komplett verändert.

Auf den Eiffelturm ging ich erst am letzten Tag meiner Reise. Ich las überall von den elend langen Wartezeiten und wollte erst all die anderen Sehenswürdigkeiten besuchen, bevor ich dort den Tag mit warten verbringen würde. Im Dezember sind die Wartezeiten aber gar nicht so schlimm. Vom Anstehen an der Schlange für die Tickets bis auf die oberste Plattform dauerte es 45 Minuten. Die Aussicht ist Top und der Besuch lohnt sich.

Wer nur die Aussicht geniessen will aber keine Zeit fürs warten hat sollte auf die Aussichtsplattform des Tour Montparnasse. Von der Dachterrasse aus sieht man Paris und den Eiffelturm. Die Öffnungen in den Glasscheiben ermöglichen einem Fotos ohne störende Reflektionen. Will man in der Nacht auf den Turm sollte man aber eine Taschenlampe mitnehmen. Die Terrasse ist ganz ohne Beleuchtung, was zwar toll fürs fotografieren aber doch recht mühsam zum laufen ist.

Winter_2012_01_Paris_01 Winter_2012_01_Paris_06
Winter_2012_03_Montparnasse_02 Winter_2012_02_Eiffelturm_23
Winter_2012_06_Louvre_01 Winter_2012_06_Louvre_22 Winter_2012_04_ArcDeTriomphe_01 Winter_2012_05_LaDefense_01

 

Brüssel

Vor einigen Jahren war ich bereits einmal in Brüssel. Von dem her wusste ich was ich mir nochmals anschauen wollte und mir genügte eine Übernachtung. Die Sehenswürdigkeiten halten sich in Grenzen, aber der Mix aus Französisch und Holländisch ist doch sehr speziell.

Wenn man in Brüssel ist sollte man unbedingt 2 belgische Spezialitäten probieren: Bier und Schokolade. Nicht unbedingt zusammen, aber bei beiden ist die Auswahl und Vielfalt schier endlos.

Winter_2012_11_Bruessel_01 Winter_2012_11_Bruessel_03

 

Rotterdam

Ab Rotterdam wurde das Wetter leider immer schlechter. Nebel und Regen lösten sich ab und so richtig schön war es nur für rund eine Stunde. Architektonisch hat man sich in Rotterdam alle Mühe gegeben. Ich habe selten so viele verschiedene und aussergewöhnliche Bauten gesehen wie hier.

Für einen Überblick über Rotterdam ist die Railz Miniworld gleich neben dem Bahnhof ein Besuch wert. Diese Modelleisenbahnanlage zeigt ein Abbild der Stadt und ist erstaunlich gross. Den Erbauern geht es aber nicht nur um eine Abbildung der Realität, sondern auch um ihren eigenen Spieltrieb auszuleben. So läuft dann auch einmal ein Transformer durch die Stadt, sind Batman und Robin bei einem Picknick oder fliegt Superman über die Erasmusbrücke. All die kleinen Ungereimtheiten zu finden macht fast mehr Spass als den Zügen zuzuschauen.

Winter_2012_12_Rotterdam_04 Winter_2012_12_Rotterdam_07 Winter_2012_12_Rotterdam_23 Winter_2012_12_Rotterdam_30
Winter_2012_12_Rotterdam_33 Winter_2012_12_Rotterdam_32
Winter_2012_12_Rotterdam_20 Winter_2012_12_Rotterdam_12

 

Amsterdam

Die letzte Etappe meiner Reise führte mich nach Amsterdam. Beim Wetter gab es keine grosse Verbesserung gegenüber Rotterdam. Leider wird das Rijksmuseum noch umgebaut. Die kleine Ausstellung füllt aber immer noch 12 Räume und zeigt neben der Nachtwache noch zahlreiche Skulpturen und Silberarbeiten.

Der gerade anschliessende Museumplein bietet von van Gogh über Diamanten bis hin zu moderner Kunst für jeden Geschmack ein eigenes Museum. Gerade wenn das Wetter nicht mitspielt ist eine solche Dichte an Museen ein willkommener Zeitvertreib.

Nicht weit davon Entfern ist die alte Produktionsstätte von Heineken, die nun eine Ausstellung beherbergt. Die Heineken Experience erinnerte mich an die Tour bei Anheuser-Busch in St. Louis. Allerdings ist hier alles ein wenig kleiner, bietet dafür aber einen grösseren Informationsgehalt. Beim Bier-Tasting wird ausführlich erklärt wie man das perfekte Bier zapft und wie man es trinken soll. Jedem Besucher sollte aber klar sein das Heineken sich hier selber promotet.

Winter_2012_13_Amsterdam_01 Winter_2012_13_Amsterdam_03 Winter_2012_13_Amsterdam_07 Winter_2012_13_Amsterdam_14

 

Hilfreiche Apps fürs iPhone

Die offline-Funktion der Kartenanwendung von Nokia hat mir in Paris sehr geholfen. Die Bedienung ist einfach und wenn man noch Netz hat kann man den gewünschten Kartenausschnitt auf dem iPhone abspeichern. Richtig glücklich machte mich die Anwendung aber nicht. So lange man offline keine Adressen suchen kann und der Zoomlevel vom Kartenausschnitt abhängt ist der Alltagsnutzen sehr beschränkt.

Googles neue Map-Anwendung speichert die Daten ohne explizite Aufforderung durch den Benutzer. Was dann offline genau geht und was nicht wird einem so nicht wirklich klar. Auch hier gibt es noch Verbesserungspotential.

Sehr gut fand ich die App Paris Metro. Die zeigt einem nicht nur die Karte mit den Stationen, sondern auch die Möglichkeiten um von A nach B zu kommen. Zusammen mit der erwarteten Fahrzeit ist dies eine sehr grosse Hilfe.

Die App von Booking.com sind sehr hilfreich wenn man die Hotels über deren Seite gebucht hat. Die Informationen über die Reservierung lassen sich so in Passbook importieren und man kann direkt auf dem Sperrbildschirm die Informationen ablegen. Zum Anzeigen genügt es das Icon von links nach rechts zu ziehen und man hat alle Infos wie den Pin zur Hand.

 

Züge, Hotels und Flug

Ich konnte alle Buchungen online erledigen. Für die Züge (TGV & Thalys) konnte ich auf TGV-Europe.ch alles buchen. Da die Züge je nach Zeit ganz andere Preise haben kommt es sehr darauf an wann man fahren will. Es hilft wenn man auf einen Blick sieht das der Zug eine Stunde früher (oder später) 50€ günstiger ist – eine übersichtliche Webseite ist da wirklich Gold wert.

Für die Hotels nutzte ich Booking.com. In den USA hatte ich damit sehr gute Erfahrungen gemacht und auch in Europa findet man hier gute Hotels. Die Hotels die ich gebucht hatte entsprachen alle dem was ich nach dem lesen der Kommentare erwarten konnte. Ich würde auch überall wieder hin gehen, mit der Ausnahme vom Sandton Pillows in Brüssel. Wer meint man müsse Gebühren doppelt belasten braucht mich wohl nicht mehr als Gast…

Den Flug buchte ich direkt bei SkyWork. Mit dem Bezahlen über PayPal spart man sich die Kreditkartengebühren und bekommt den Flug nochmals 10.– günstiger. Das iPad im Flugzeug ist ein recht angenehmer Zeitvertreib, hat der kleine Vogel doch kein eigenes Unterhaltungssystem.

Winter_2012_14_Belp_01

 

Trotz des in der 2. Hälfte schlechten Wetters war die Reise ein tolles Erlebnis. Rotterdam und Amsterdam will ich mir möglichst bald noch einmal bei schönem und wärmerem Wetter anschauen. Und auch Paris hat noch eine ganze Reihe von Sehenswürdigkeiten für die ich gerne noch einmal hinfahren werde.

Weitere Fotos gibt es wie immer auf Flickr.

Schlagworte:

Von 0 auf Cloud mit Rails und Heroku

19. Dezember 2012 Kommentare aus

Wäre es nicht toll wenn man mit einem Klick seine Anwendung aufs Produktionssystem deployen könnte? Und das direkt aus der Versionsverwaltung heraus? Und auch gleich noch in die Cloud?
Was vor einigen Jahren noch eine Utopie war ist heute machbar. Wenn es statt einem Klick auch ein kurzer Kommandozeilenbefehl sein darf ist es gar noch einfacher.

Wer sich ein klein wenig mit Cloud-Computing und Rails beschäftigt wird schon von Heroku gehört haben. Mit diesem Anbieter ist es besonders einfach seine Anwendung in die Cloud zu bekommen. Was aber an den Präsentationen nie wirklich auffällt sind die nötigen Vorarbeiten um mit

git push master heroku

seine Software erfolgreich zu deployen. Die Anleitung hier ist umfangreicher, da ich bei 0 anfange und zeige was man für Optionen hat.

Wer bereits über einen Account bei Heroku verfügt, für seine Anwendung Git verwendet und auch den Toolbelt von Heroku installiert hat kann die nächsten Abschnitte überspringen und bei “Nötige Anpassungen” einsteigen.

 

Voraussetzungen

Damit man die Dienstleistungen von Heroku nutzen kann benötigt man einen Account. Für tests ist dies kostenlos und man benötigt auch keine Kreditkarte. Das Anmeldeformular ist schnell ausgefüllt und man kann gleich anschliessend den zum eigenen Betriebssystem passenden Toolbelt installieren. Wie dies genau geht und was man sonst noch benötigt wird in der Quickstart-Anleitung leicht verständlich erklärt.

Damit etwas in die Cloud gestellt werden kann benötigen wir eine minimale Rails-Anwendung:

rails new todo
cd todo
rails g scaffold item title:string done:boolean

Je nach System gibt es beim Generieren der Objekte auf der letzten Zeile eine Fehlermeldung. Dies passiert wenn auf dem System keine JavaScript Laufzeitumgebung gefunden werden kann. Das von Rails mitgeliefert Gemfile enthält bereits einen auskommentieren Vorschlag:

# gem 'therubyracer', :platforms => :ruby

Um therubyracer zu verwenden genügt es das #-Zeichen zu entfernen, das Gemfile zu speichern und mit dem Befehl bundle die Erweiterung zu installieren. Ein nochmaliges Wiederholen der Generierung sollte nun ohne Probleme durchlaufen.

Um lokal die Anwendung zu testen muss nun die DB angelegt und vorbereitet werden:

rake db:create
rake db:migrate
rails s
=> Booting WEBrick
=> Rails 3.2.8 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-12-14 20:28:35] INFO  WEBrick 1.3.1
[2012-12-14 20:28:35] INFO  ruby 1.9.3 (2012-04-20) [x86_64-linux]
[2012-12-14 20:28:35] INFO  WEBrick::HTTPServer#start: pid=10074 port=3000

Auf welchem Port die Anwendung läuft sieht man bei der Ausgabe des letzten Befehls. Die URL http://0.0.0.0:3000/items (inkl. Port) kann man im Browser öffnen und die Anwendung testen.

Lokale Rails Anwendung

Dieser Test soll vor allem zeigen ob die Anwendung überhaupt läuft. Allfällige Probleme lassen sich lokal einfacher lösen als später in der Cloud.

Damit man mittels git push seine Anwendung zu Heroku hochladen kann benötigt man natürlich Git. Wie hier im Blog schon vorgestellt ist Github for Windows (oder Mac) mein bevorzugter Client. Ein neues Git-Repository kann man entweder über das GUI oder direkt in der Kommandozeile anlegen:

git init

Wichtig: Von nun an immer daran denken dass alle Änderungen auch in Git gespeichert werden müssen:

git add .
git commit -m "Start new git repository"

 

Nötige Anpassungen

Heroku setzt standardmässig auf die Datenbank PostgreSQL, während Rails für die Entwicklung SQLite nutzt. Will man auf allen Umgebungen auf PostgreSQL wechseln genügt es das Gem pg statt sqlite3 zu verwenden:

# gem 'sqlite3'
gem 'pg'

Oft möchte man aber nur auf dem Produktionssystem PostgreSQL nutzen. Damit beide Gems nebeneinander funktionieren und Heroku nicht meckert kann man das Gemfile so anpassen:

gem 'sqlite3', :group => :development
gem 'pg', :group => :production

Nun müssen nur noch die nötigen Pakete installiert und alle Änderungen in Git gespeichert werden:

bundle
git add . && git commit -m "use pg"

 

Heroku „aktivieren“

Als nächster Schritt muss die Anwendung bei Heroku registriert und die Datenbank aktiviert werden. All die Verknüpfungen und das Bereitstellen der Cloud-Umgebung werden durch diese beiden Befehle veranlasst:

heroku create
heroku addons:add heroku-postgresql

 

Ab in die Cloud

Nach all den Vorbereitungen kann man nun die Änderungen in die Cloud veröffentlichen:

git push heroku master

Nun bleibt nur noch ein letzter Schritt übrig. Wann immer man lokal die Datenbank migrieren musste ist dies auch in der Cloud nötig. Dazu führt man diesen Befehl aus:

heroku run rake --trace db:migrate

Wenn all dies ohne Fehler funktionierte kann man die durch Heroku zugewiesene URL der Anwendung aufrufen:

Rails App in der Cloud

Damit läuft die eigene Anwendung nun in der Cloud. Erweiterungen und Updates macht man lokal, checkt diese in Git ein und wiederholt die beiden Befehle in diesem Abschnitt.

 

Problembehandlung

Sollte doch einmal nicht alles so glatt laufen findet man die nötigen Hinweise zur Problembehandlung im Logfile. Dieses liegt ebenfalls auf Heroku und kann mit diesem Befehl geöffnet werden:

heroku logs

 

Fazit

Eine gewöhnliche Rails-Anwendung lässt sich mit wenigen Anpassungen für Heroku vorbereiten. Es braucht aber mehr als das hinzufügen des Remote-Repository damit die eigene Anwendung auch fehlerfrei in der Cloud läuft.

Hier kommt der Toolbelt von Heroku ins Spiel und kümmert sich um diese Lücken. Hat man einmal das eigene System eingerichtet ist der Mehraufwand um seine Anwendung zu veröffentlichen minimal. So richtig bewusst wird einem dies aber erst bei der 2. Anwendung, daher sollte man sich vor der einmaligen Konfiguration nicht abschrecken lassen.

Schlagworte:

Buch-Rezension zu “Build Awesome Command-Line Applications in Ruby”

12. Dezember 2012 Kommentare aus

Build Awesome Command-Line Applications in Ruby: Control Your Computer, Simplify Your Life” von David Copeland erschien im März 2012 bei The Pragmatic Programmers. Anwendungen für die Kommandozeile zu schreiben scheint in Zeiten von HTML 5 und Cloud Computing ein sinnloser Zeitvertreib zu sein. Dem ist aber nicht so.

Will man seine täglichen Arbeiten automatisieren und Abläufe vereinfachen sind Kommandozeilenprogramme mit einer ganz spezifischen Aufgabe von grossem Wert. Das einfache Interface und der Verzicht auf ein GUI ist da kein Nachteil, sondern ein Motivator um noch mehr zu automatisieren.

 

2 Tätigkeiten als Ausgangspunkt

Copeland steigt mit 2 alltäglichen Aufgaben ins Thema Kommandozeilenprogramme ein:

  1. Ein Backup-Tool für MySQL
  2. Eine ToDo-Verwaltung

Beide Aufgaben sind schon in unzähligen Büchern erklärt worden und so kann man sich eine grosse technische Einführung ersparen. Die Seiten werden stattdessen für ein genaues ausleuchten der unterschiedlichen Aspekte verwendet. Beim Backup-Tool liegt der Schwerpunkt in der Konfigurierbarkeit während es bei der ToDo Anwendung mehr um die Benutzerführung geht.

Im Verlauf des Buches werden die beiden Anwendungen ständig ausgebaut. Man erfährt dabei die Motivation hinter vielen Kommandozeilenprogrammen der UNIX-Plattformen, wieso diese so gut zusammenarbeiten und welche Erweiterungsmöglichkeiten sich für eigene Werkzeuge bieten.

 

Gute Werkzeuge erstellen

Was macht ein gutes Werkzeug aus? Und worauf soll man achten? Obwohl jeder Entwickler hier wohl unterschiedliche Schwerpunkte setzt ist die Auflistung von David Copeland mehr als nur ein guter Start. Seine Anforderungen an ein gutes Werkzeug sind:

  • löst ein klar definiertes Problem
  • ist einfach zu verwenden
  • unterstützen den Benutzer
  • arbeitet mit anderen Anwendungen zusammen
  • stehen Gelegenheitsnutzern nicht im Weg
  • ist einfach zu konfigurieren
  • lässt sich leicht verteilen
  • kann ohne grossen Aufwand erweitert werden

Zu all diesen Punkten wird gezeigt wie man diese meist mit geringem Mehraufwand erfüllen kann. Seine Tipps helfen einem dabei nicht jedes Mal von vorne beginnen zu müssen. Und oft sind es nur ganz kleine Dinge wie ein passender Kommentar in der Hilfe der einem später unzählige Stunden an Arbeit ersparen kann.

 

Selber bauen mit Methadone

Hat man erst einmal die Möglichkeiten kennen gelernt möchte man wohl selber anfangen so hilfreiche Anwendungen für die Kommandozeile zu schreiben. Damit man sich auf die interessanten Teile konzentrieren kann schrieb Copeland das Gem Methadone. Dies lässt sich wie alle anderen Gems einfach installieren und kann sogleich für eine neue Anwendung verwendet werden:

gem install methadone
methadone newgem

Mit dem zweiten Befehlt wird das Grundgerüst für die eigene Anwendungen erstellen. Neben allen Abhängigkeiten für die testgetriebene Entwicklung wird auch gleich die gewählte Lizenz hinterlegt und alles zum paketieren vorbereitet. Die detaillierte Anleitung mit allen Optionen findet sich auf der Projektseite von Methadone.

 

Fazit

David Copeland liefert mit seinem Buch praxisbezogene Tipps um alltägliche Aufgaben mit Ruby zu automatisieren. Abgesehen von ein wenig Ruby wird kaum Wissen vorausgesetzt und alles kompakt aber verständlich erklärt.

Beim realisieren eigener Kommandozeilenanwendungen ist das Buch ein gutes Nachschlagewerk und hat mir schon oft geholfen. Ich kann dieses Buch daher ohne Vorbehalte weiterempfehlen.

 

Zum Buch

Build Awesome Command-Line Applications in Ruby: Control Your Computer, Simplify Your Life” von David Copeland, 2012 The Pragmatic Programmers, ISBN 978-1-9343-5691-3, 224 Seiten, Englisch

Schlagworte: , ,

CSS leicht gemacht mit Bootstrap

5. Dezember 2012 3 Kommentare

Webseiten mittels CSS zu verschönern ist alles andere als einfach. Erste Erfolge stellen sich zwar schnell ein. Bis aber alles schön zusammenpasst und nicht nur in einem Browser gut aussieht gibt es viel Arbeit. Wäre es nicht praktisch wenn man diese Aufgabe abgeben könnte?

 

Bootstrap für schnelle Ergebnisse

Bootstrap (ehemals Twitter-Bootstrap) ist ein Framework für die Gestaltung von Webseiten. Neben CSS-Definitionen werden auch JavaScript-Plug-Ins mitgeliefert die einem sehr viel Arbeit abnehmen können.

So genügt es 2 Dateien zu referenzieren, der Standardvorlage zu folgen und die Webanwendung passt sich automatisch den unterschiedlichen Monitorgrössen an. Die Anforderung nach Responsive Design lässt sich so im Handumdrehen erfüllen.

Mittels Bootstrapper kann man aus so einer Seite


mit wenig Arbeit zu so einem Ergebnis kommen:

Um von Bootstrap voll zu profitieren sollte man möglichst früh auf dieses Framework setzen. Idealerweise bindet man Bootstrap gleich nach dem Erstellen des Projektes ein. Später kann man immer noch auf Bootstrap wechseln, der Migrationsaufwand ist dabei aber nicht zu unterschätzen.

Wem das bekannte Layout von Bootstrap nicht gefällt sollte einen Blick auf diese Beispiele werfen. Mittlerweile gibt es eine Vielzahl von Erweiterungen mit ganz unterschiedlichen Designs.

 

Bootstrap selbst einbinden

Nachdem man Bootstrap von der offiziellen Webseite heruntergeladen hat muss die Zip-Datei ins eigene Webprojekt entpackt werden. Hat man noch gar nichts gemacht kann man gleich mit der Vorlage starten. Wie dort gezeigt wird sind die Anpassungen für Bootstrap minimal und können mit geringem Aufwand auch bei bestehenden Seiten eingebaut werden.

Die Hauptarbeit beginnt beim Austauschen der eigenen CSS-Klassen durch die von Bootstrap. Hier bleibt der Aufwand gleich hoch wie wenn man selber von einem Design auf ein anders wechselt.

 

Unterstützung für ASP.Net

Für ASP.Net gibt es ein NuGet-Paket. Über die Paketmanager-Konsole lässt es sich mit diesem Befehl installieren:

Install-Package Twitter.Bootstrap

Nach der Installation sind die *.css und *.js Dateien an den richtigen Orten abgelegt und in der Solution aufgenommen. Man muss aber noch immer die Stylesheets selber referenzieren und die entsprechenden CSS-Klassen an die einzelnen Elemente zuweisen.

 

Zusammenspiel mit Rails

Bei Ruby on Rails ist Bootstrap sehr gut integriert. Wie bei jeder Erweiterung erfolgt als erstes ein Eintrag ins Gemfile:

gem 'twitter-bootstrap-rails'

Bootstrap wird mit diesen Befehlen installiert und aktiviert:

bundle
rails g bootstrap:install
rails g bootstrap:layout application fluid

Achtung: Beim 3. Befehl sollte man nur dann dem überschreiben der Datei /app/views/layouts/application.html.erb zustimmen wenn man noch die durch Rails generierte Version verwendet. Andernfalls wählt man statt application einen anderen Namen und führt die Änderungen selber zusammen.

Von nun an kann man für die einzelnen Ressourcen (als Beispiel für ein book-Modell) die generierten Views mit allen Bootstrap-Erweiterungen erzeugen lassen:

rails g bootstrap:themed books

 

Gestalten mit Bootstrap

Nachdem Bootstrap eingebunden ist will man damit die Webseite gestalten. Um einzelne Bereiche aneinander auszurichten nutzt Bootstrap ein Raster. Dieses Raster unterteilt die Webseite in 12 gleich grosse Spalten. Um ein div über eine ganze Zeile und eines zentriert über 6 Spalten zu verwenden nutzt man diesen Code:

<div class="row">
  <div class="span12">Geht über die ganze Seite</div>
</div>
<div class="row">
  <div class="span6 offset3">Überspringt 3 Spalten und füllt 6 aus</div>
</div>

Dieses Raster ermöglicht einem viele Kombinationsmöglichkeiten und löst das Problem, dass im Header und im Footer die Textboxen nicht an der gleichen Stelle beginnen.

Auch für Tabellen bietet Bootstrap einem viele Möglichkeiten. Um jede 2. Zeile einzufärben genügt diese Erweiterung des Table-Tags:

<table class="table table-striped">
...
</table>

Will man einzelne Zeilen mit einer speziellen Farbe versehen braucht es auch nur wieder ein class-Attribut:

<tr class="error">
  <td>1</td>
  <td>Fehler: Name fehlt!</td>
</tr>

Die einzelnen Farben sind aufeinander abgestimmt und so braucht man sich darüber nicht den Kopf zu zerbrechen. Weitere Beispiele dazu finden sich in der ausführlichen Dokumentation.

 

Fazit

Wer nicht gerne selber CSS-Definitionen schreibt sollte sich Bootstrap anschauen. So kommt man schnell zum gewünschten Ergebnis einer ansprechenden Webseite und muss sich nicht aus anderen Seiten seine CSS-Dateien zusammenkopieren.

 

Schlagworte: , ,
Follow

Erhalte jeden neuen Beitrag in deinen Posteingang.

Schließe dich 245 Followern an