Jak postupně pronikám do tajů HTML5, narazil jsem na zajímavost kolem <menu> tagu. Dříve (XHTML) jsem tento tag používal kvůli vyšší sémantice při kódování layoutu pro navigaci/menu na stránce. Přišlo mi to vhodnější než nějaké <ul id="nav"> nebo <div id="nav">.
Jak však píše HTML5 Doctor dostal tag menu s příchodem HTML5 nový význam a je vhodnější použít konstrukci <nav><ul></ul></nav>.
Tomáš Pavelka
úterý, 24. ledna 2012
pondělí, 23. ledna 2012
Vlastní konfigurace v RoR aplikaci
Obvykle při vývoji aplikace časem dojdete k tomu, že potřebujete nastavit nějaké hodnoty, které použijete kdekoliv v aplikaci, např. storage pro upload souborů (local pro development a třeba Amazon S3 pro production) nebo cokoliv jiného co vás napadne.
Samozřejmě existuje spousta gemů (třeba Settingslogic), jak už bývá v Rails zvykem, kde si vytvoříte strukturu vaší konfigurace třeba v Yaml souboru apod. Mně se zalíbil jednoduchý způsob, který publikoval Mike Perham na blogu Carbon Five v článku Configuration for Rails, the Right Way.
Využívá stávající Rails konfigurační soubory config/application.rb a config/environments/*.rb a přidává vlastní kofiguraci k již fungující Rails.
Nastavení config.files_storage = :file pak můžete v aplikaci použít přes AppName::Application.config.files_storage.
Samozřejmě existuje spousta gemů (třeba Settingslogic), jak už bývá v Rails zvykem, kde si vytvoříte strukturu vaší konfigurace třeba v Yaml souboru apod. Mně se zalíbil jednoduchý způsob, který publikoval Mike Perham na blogu Carbon Five v článku Configuration for Rails, the Right Way.
Využívá stávající Rails konfigurační soubory config/application.rb a config/environments/*.rb a přidává vlastní kofiguraci k již fungující Rails.
Nastavení config.files_storage = :file pak můžete v aplikaci použít přes AppName::Application.config.files_storage.
neděle, 22. ledna 2012
Formuláře v Ruby on Rails snadno a rychle
I když práce s formuláři je už tak celkem rychlá a pohodlná, doporučuji použít gem simple_form, který má několik dalších výhod, které oceníte:
Tip na závěr
Pokud stejně jako já, budete chtít změnit pořadí generovaných prvků pro každý formulářový řádek, tak aby třeba validační hláška byla hned za inputem. V konfiguračním souboru config/simple_form.rb nastavte:
- generuje HTML5 markup
- HTML atribut type u inputu je automaticky nastavan podle datového typu atributu objektu (email, text, file, password)
- validační hlášky jsou zobrazovány inline u konkrétních políček s chybou
- je možné jej komplexně konfigurovat
- podpora I18n
Ukázka použití
<%= simple_form_for @user do |f| %> <%= f.input :username, hint: "Nápovědný text k formulářovému políčku" %> <%= f.input :password %> <%= f.button :submit %> <% end %>
Tip na závěr
Pokud stejně jako já, budete chtít změnit pořadí generovaných prvků pro každý formulářový řádek, tak aby třeba validační hláška byla hned za inputem. V konfiguračním souboru config/simple_form.rb nastavte:
config.components = [ :placeholder, :label_input, :error, :hint ]
středa, 30. listopadu 2011
Syntax highlighter v Bloggeru
Pokud chcete mít na vašem blogu stejně pěkně obarvený zdrojový kód jako mám já, stačí postupovat podle návodu na http://www.cyberack.com/2007/07/adding-syntax-highlighter-to-blogger.html, je to snadné a zvýší to čitelnost článků.
úterý, 29. listopadu 2011
Klikatelné odkazy v plain textu
Metoda auto_link slouží k převedení odkazů a e-mailových adres z plaintextu na klikatelné odkazy. Velmi užitečné např. pro výpis komentářů nebo jiných vstupních dat od uživatelů, když nechcete povolit WYSIWYG editor.
Options a příklady použití najdete na APIdock - http://apidock.com/rails/ActionView/Helpers/TextHelper/auto_link
Options a příklady použití najdete na APIdock - http://apidock.com/rails/ActionView/Helpers/TextHelper/auto_link
neděle, 27. listopadu 2011
Plaveme ve floatech
Napozicovat nejaký DIV přes float: left; obvykle není problém. Ta težší část je obvykle v "clearování floatování", např. přes clear: left; nebo jiné pokročilejší řešení. Často se setkávám s použítím následujícího (nebo podobného) řešení
.clearfix {
display:block;
}
.clearfix:after {
content: "\0020";
display: block;
height: 0;
clear: both;
visibility: hidden;
overflow: hidden;
}
Třídu clearfix obvykle nastavíme obalovému prvku, takže obalový prvek bude mít stejnou výšku jako prvek vnitřní floatovaný a to je to co obvykle potřebujeme.
Článek na CSSNewbie se touto problematikou zaobírá a nakonec uvádí velmi pěkné a jednoduché řešení, bez použití nějakého clearfixu. Stačí i obalový prvek, který obaluje floatovaný prvek, "zafloatovat" a již i výška obalu odpovídá výšce vnitřního floatovaného prvku.
Samozřejmě, že pro mnoho z vás zkušených kodéŕů je to jistě samozřejmost. Ale věřím, že se najde někdo komu se to bude hodit.
pátek, 18. listopadu 2011
Zkusím. Padne to nebo ne?
Nedávno jsem narazil na pěknou věcičku, která řeší následný nepěkný kód:
Samozřejmě, že v API najdete případně více informací. Velmi elegantní že?
@person ? @person.name : nilŘešením je dle http://web.elctech.com/2009/11/12/if-in-doubt-try-try-again/ případně API tato konstrukce:
@person.try(:name)
Samozřejmě, že v API najdete případně více informací. Velmi elegantní že?
Přihlásit se k odběru:
Příspěvky (Atom)
