Less Preprocesor Návod
Řetězcové funkce
escape
Tato funkce provádí URL kódování na speciálních znacích předaného řetězce a vrací zakódovaný řetězec.
Parametry
- řetězec, který chceme zakódovat
Pokud tuto funkci zavoláme například takto: escape('a=1'), vrátí se nám tento řetězec: "a%3D1".
e
Tato funkce nechává obsah přijatého řetězce tak jak je ale odstraní z něj uvozovky, takže můžeme jeho obsah použít například pro nastavení hodnoty nějaké vlastnosti.
Parametry
- řetězec z kterého chceme odstranit uvozovky
@barva: "green";
div {
// funkce e odstraní z řetězce uvozovky, takže
// jej můžeme použít pro nastavení vlastnosti
color: e(@barva);
}
div {
color: green;
}
%
Tato funkce nám umožňuje do řetězce vkládat různé hodnoty. Jako první argument přijímá řetězec, který obsahuje rezervovaná místa pro hodnoty, které předáváme v ostatních argumentech. Ostatní argumenty jsou tedy hodnoty, které do řetězce chceme vložit. Rezervovaná místa v řetězci můžeme označit pomocí znaku % následovaného jedním z těchto znaků: s, S, d, D, a, A. Velká písmena používáme pokud chceme speciální znaky převést do utf-8 escape kódů. Pokud potřebujeme do řetězce vložit znak % musíme ho escapnout dalším procentem: %%.
Rezervovaná místa
- d, D, a, A - mohou být nahrazeny jakýmkoliv argumentem (barva, číslo, výraz, ...). Pokud je použijeme v kombinaci s řetězcem, tak se použije celý řetězec, včetně uvozovek. Uvozovky jsou do řetězce vloženy tak jak jsou (nejsou escapnuty).
- s, S - mohou být nahrazeny jakýmkoliv výrazem. Pokud je použijeme s řetězcem, tak se řetězec použije bez uvozovek.
Parametry
- řetězec s rezervovanými místy
- dalšími parametry jsou hodnoty, které chceme umístit na rezervovaná místa v řetězci
// proměnné @barva se nastaví řetězec s hodnotou "lightgreen"
@barva: %("%sgreen", "light");
div {
color: e(@barva);
}
div {
color: lightgreen;
}
replace
Tato funkce mění část řetězce jiným řetězcem.
Parametry
- řetězec ve kterém se bude hledat a měnit text
- řetězec nebo regex výraz, který se hledá v řetězci předaném v prvním parametru
- řetězec který nahradí nalezený text
- volitelné regex flagy
// proměnné @barva se nastaví hodnota lightgreen
// (dark se nahradí za light)
@barva: replace("darkgreen", "dark", "light");
div {
color: e(@barva);
}
div {
color: lightgreen;
}