Berry Framework

Фреймворк, в который собраны функции использованные в различных проектах. В том числе: ORM, шаблонизатор и ряд других полезных в хозяйстве вещей.

Скачать
trunk-версия (650 КБ)
Наверх

Attrs

Набор атрибутов разной полезности.

Атрибуты

if

Атрибут получает какое-то условие и в случае неудачи прячет тег и его содержимое.

Пример

<div if="Вася != Петя and ${some_var} > 10">Вася таки не Петя и переменная ${some_var} не больше 10.</div>

check:re

Работает на пару с валидатором.

Пример

<form method="post">
    <!-- Хочу число от 1 до 255 -->
    <input type="text" name="test" check:re="int(1, 255)" />

    <input type="submit" value="Отправить" />
</form>

check:need

Текст ошибки для check:re.

Пример

<form method="post">
    <input type="text" name="test" check:re="int(1, 255)" check:need="Хочу число от 1 до 255." />
    <input type="submit" value="Отправить" />
</form>

С несколькими правилами

<form method="post">
    <input type="text" name="test"
        check:re="int(1, 255) phone"
        check:need="{'int': 'Хочу число от 1 до 255.', 'phone': 'Не-не, это не телефон.'}"
    />
    <input type="submit" value="Отправить" />
</form>

period:start

Дата "открытия" тега и его содержимого.

Пример

<div period:start="01:15">Уже четверть второго ночи! Шёл бы спать.</div>

period:stop

Дата "закрытия" тега и его содержимого.

Пример

<div period:start="01:15" period:stop="07:00">На дворе ночь и на улиице темно и страшно. Пора идти гулять.</div>

oddeven

Выбирает CSS-стиля в зависимости от количества вызовов. Эм, вычисляется кратность. Если указать два стиля (через пробел), то будет вычисляться кратность двум. Если три-четыря-пять-и т.д., то кратность трём-четырём-пяти и т.д.

Пример

<-- Добавит к атрибуту class a -->
<div oddeven="a b c d">Первый вызов.</div>

<-- Добавит к атрибуту class b -->
<div oddeven="a b c d">второй вызов.</div>

<-- Добавит к атрибуту class c -->
<div oddeven="a b c d">Третий вызов.</div>

<-- Добавит к атрибуту class d -->
<div oddeven="a b c d">Четвёртый вызов.</div>

<-- Добавит к атрибуту class a -->
<div oddeven="a b c d">Пятый вызов.</div>

<-- Добавит к атрибуту class b -->
<div oddeven="a b c d">Шестой вызов.</div>

<-- Добавит к атрибуту class c -->
<div oddeven="a b c d">Седьмой вызов.</div>

<-- Добавит к атрибуту class d -->
<div oddeven="a b c d">Восьмой вызов.</div>

<-- Добавит к атрибуту class a -->
<div oddeven="a b c d">Девятый вызов.</div>

every

Показывает тег только в случае энного вызова.

Пример

<div every="3">Не видно.</div>
<div every="3">Не видно.</div>
<div every="3">Видно!</div>
<div every="3">Не видно.</div>
<div every="3">Не видно.</div>
<div every="3">Видно!</div>

mailto

Шифрует почту.

Пример

<-- <a href="&#109;&#97;&#105; [...] &#117;">&#108;&#101;&#120; [...] #117;</a> -->
<a mailto="lexa@goodgirl.ru" />

<-- <a href="&#109;&#97;&#105; [...] &#117;">Почта</a> -->
<a mailto="lexa@goodgirl.ru">Почта</a>