jQuery Tools: Tabs и Dateinput

Сегодня я расскажу о том, как подружить jQuery Tools Tabs и Dateinput. Для тех, кто вообще не знает, что такое jQuery Tools, советую посетить их сайт.  Если в двух словах, то это достаточно мощная, но в то же время «лёгкая» альтернатива jQuery UI.  С возможностями, документацией и примерами можно ознакомиться на сайте разработчиков, я повторяться не буду.

Начну я с того, что локализировал Dateinput. На сайте приводится пример, как это делается, поэтому я просто сделал всё то же самое, только для русского языка, пользуйтесь:

$.tools.dateinput.localize(«ru»,  {
months:      ‘Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь’,
shortMonths: ‘Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек’,
days:        ‘воскресенье,понедельник,вторник,среда,четверг,пятница,суббота’,
shortDays:   ‘Вс,Пн,Вт,Ср,Чт,Пт,Сб’
});

Как видите, ничего сложного. Как вы сами понимаете, это нужно писать в Вашем файле js.

Процесс создания вкладок и, собственно, полей ввода дат достаточно неплохо и доступно описан на самом сайте создателей, поэтому начну сразу с трудностей.  Незадача заключается в том, что при размещении Dateinput-ов на нескольких вкладках, отображаться календарик будет нормально и правильно только на той вкладке, где он впервые вызывается, на всех остальных вкладках Вы его не увидите. Прикольно, да? (-: А происходит это потому, что тело календарика  создаётся в теле той вкладки, где он первый раз раз инициализируется.  Это легко увидеть при помощи Firebug, стоит только поискать  <div id="calroot">.

Мой способ не претендует на какое-то супер-пупер решение и, возможно, он достаточно корявенький, но зато работает (-:

Первое, что я сделал, — это вынес тело календарика (звучит-то как! (-: ) за пределы вкладок:

$(‘#calroot’).insertAfter(‘.contenttab:last’);

Думаю,  знакомым с jQuery, ничего непонятного в этой команде не будет: просто добавляем тело календаря после последнее вкладки. Теперь календарики будут видны на всех вкладках, но на некоторых в совсем в загадочных местах (-: А ведь нам хочется, чтобы в строго определённым месте, рядышком с требуемым полем ввода. Вот тут и заключается некоторая корявость… Каждый календарь придётся объявлять отдельно… если календариков немного, то это не проблема. Хотя мне вот сложно представить, для чего на странице, пусть даже и во вкладках, может понадобится 10 календариков…

Так вот, ближе к делу.  Определяем каждый календарик следующим способом:

$(«#date»).dateinput({
  format: ‘dd.mm.yyyy’,
  firstDay: 1,
  lang:   «ru»,
  onShow: function() {
        position = $(«#date»).offset();
        $(‘#calroot’).css(‘top’, position.top+20).css(‘left’, position.left — 30);
  }
});

Ничего сложного тут нет, основная мысль заключается в том, чтобы принудительно задать координаты для отображения календаря, исходя из координат родительского поля ввода.  Это и делается в функции onShow. Надеюсь, кому-то это окажется полезным и он не потратит много времени, на ступив на мои грабли (-:

Сентябрь 2nd, 2010 by none | Один комментарий

Rails: На старт! Или первое приложение.

В прошлой своей статье я рассказал, как установить Ruby on Rails на Ubuntu 10.04. Сегодня попробуем создать и запустить наше первое приложение. Пусть это будет и простое тестовое приложение, но всё равно наше, родное (-:

1. Для начала одределимся, где будем создавать наши мегаприложения. Я для себя решил, что пусть они все хранятся у меня в домашней директории. Для этого проделаем следующую процедуру:

$ cd

$ mkdir RoR

$ cd RoR

Попытаемся создать приложение:

$ rails demo

А вот тут у нас ничего не выйдет (-: нам выдадут сообщение об ошибке. Дело в том, что в Rails 3.0.0 произошли некоторые изменения и нам необходимо выполнить следующее:

$ rails new demo

На экран будет выведено много всякой информации, но наше приложение будет создано! Точнее будет сказать, каркас нашего приложения, на основе которого можно будет сделать практически любое web-приложение.

Ну что ж, посмотрим, что у нас получилось:

$ cd demo

$ ls -al

итого 84
drwxr-xr-x 13 none none 4096 2010-09-01 00:58 .
drwxr-xr-x  3 none none 4096 2010-09-01 00:56 ..
drwxr-xr-x  7 none none 4096 2010-09-01 00:56 app
drwxr-xr-x  5 none none 4096 2010-09-01 00:56 config
-rw-r—r—  1 none none  154 2010-09-01 00:56 config.ru
drwxr-xr-x  2 none none 4096 2010-09-01 00:59 db
drwxr-xr-x  2 none none 4096 2010-09-01 00:56 doc
-rw-r—r—  1 none none  665 2010-09-01 00:56 Gemfile
-rw-r—r—  1 none none 1632 2010-09-01 00:58 Gemfile.lock
-rw-r—r—  1 none none   40 2010-09-01 00:56 .gitignore
drwxr-xr-x  3 none none 4096 2010-09-01 00:56 lib
drwxr-xr-x  2 none none 4096 2010-09-01 00:56 log
drwxr-xr-x  5 none none 4096 2010-09-01 00:56 public
-rw-r—r—  1 none none  264 2010-09-01 00:56 Rakefile
-rw-r—r—  1 none none 9130 2010-09-01 00:56 README
drwxr-xr-x  2 none none 4096 2010-09-01 00:56 script
drwxr-xr-x  7 none none 4096 2010-09-01 00:56 test
drwxr-xr-x  6 none none 4096 2010-09-01 00:56 tmp
drwxr-xr-x  3 none none 4096 2010-09-01 00:56 vendor

Не стоит пугаться, не со всем из выше приведённого нам придётся иметь дело (-:

Но всё-таки интересно, что же такого тут мы наваяли?! (-: Для этого в поставке Rails идёт свой web-сервер, при помощи которого на локальной машине можно производить все необходимые разрабоки и отладки. Обращаю ваше внимание, что раньше для того, чтоб запустить сервер, необходимо было набрать следующее:

$ ruby script/server

Теперь же произошли некоторые изменения и сервер запускается следующей командой:

$ ruby script/rails server

Нам буде выведена некоторая служебная информация:

=> Booting WEBrick
=> Rails 3.0.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-09-01 19:09:09] INFO  WEBrick 1.3.1
[2010-09-01 19:09:09] INFO  ruby 1.8.7 (2010-01-10) [i486-linux]
[2010-09-01 19:09:19] INFO  WEBrick::HTTPServer#start: pid=3893 port=3000

Как видно, сервер стартовал без ошибок, поэтому в своём браузере смело набираем адрес http://localhost:3000/ и громко радуемся увиденному (-: «Рельсы» не только установлены, но и работают (-:

Чтобы остановить сервер, нажимаем в шеле Ctrl+C. Вот и всё! На сегодня будет достаточно (-:

UDP: Судя по всему, я всё же какую-то строчку пропустил, спасибо читателям-комментаторам! (-: Судя по их подсказкам, а они её подсмотрели у севера «рельс», перед запуском оного необходимо проделать следующую процедуру:
$ sudo bandle install

Have fun! (-:

Сентябрь 1st, 2010 by none | 9 комментариев

Ruby on Rails

Ну что вам сказать?! Решил я тут немного поизучать «рельсы» (-: Для тех, кто не в курсе, то это фреймворк, основанный на Ruby. Поговаривают, что на «рельсах» быстро и легко создавать сайты, как простенькие, так и достаточно крутые. Вот я на собственном опыте решил это проверить, лишний опыт лишним не бывает (-:

Так как это первая статья, то, что вполне логично, я начну с установки «рельс». Дома у меня основаня рабочая система Ubuntu, кстати, я её разукрасил под MacOS, давольно прикольно (-: Поэтому процесс установки будет касаться только этой системы.

Итак, приступим, смертнички! (-:

1. Для начала обновимся:

$ sudo aptitude update
$ sudo aptitude install build-essential

2. Теперь можно приступить к установке Ruby и разных других вкусностей:

$ sudo aptitude install ruby rubygems ruby1.8-dev libsqlite3-dev

Тут мы попутно ещё установили sqlite — эдакая БД, для удобства. Потом ещё мускуль установим.

3. Думаете можем приступить уже к сборке Rails? А не тут-то было! Ничего у вас не выйдет! Ну по крайней мере у меня не вышло (-: Кому интересно: Ubuntu 10.04.

$ sudo gem install rails

выдаст следующую ошибку:

i18n requires rubygems version >= 1.3.6

Как говорится, приплыли… Но нас этим не испугаешь! Гугл ведь знает всё (-: Необходимо проделатть следующую процедуру:
$ sudo cd /usr/local/src
$ sudo wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz
$ sudo tar xzvf rubygems-1.3.7.tgz
$ sudo cd rubygems-1.3.7
$ sudo ruby setup.rb

Вуаля! Теперь можем вернуться к установке «рельс»:

$ sudo gem install rails

Вот теперь всё должно пройти без сучка и задоринки. (-:

4. Давайте для красоты поставим ещё и MySQL:

$ sudo apt-get install ruby-dev libmysql-ruby libmysqlclient-dev
$ sudo gem install mysql

Вот и всё! Ничего сложного. Не верите? Ну тогда проверьте:

5.  $ rails -v
Rails 3.0.0

В принципе, это всё, что я хотел написать для первой статьи про «рельсы».  Единственное, что стоит добавить, так это  напомнить вам, что стоит иногда обновляться. А делается это следующм образом:

6.  $ sudo gem update rails —include-dependencies

А удалить старые библиотеки можно следующим способом:

7. $ sudo gem cleanup

На первый раз достаточно. В последующем я продолжу цикл статей по изучению «рельс».

Август 31st, 2010 by none | 4 комментария

FreeBSD 8.1-RELEASE

Выпуск! Да-да: выпуск релиза 8й ветки! Всем качать и устанавливать! Смотреть на официальном сайте FreeBSD.org. Хотя можно сразу iso.

Июль 20th, 2010 by none | Комментариев нет

FreeBSD Tips: как узнать размер директории?

Иногда бывает, что в консоле надо узнать размер какой-то из директори:  будь то папка логов, а может быть чья-то личная папка из пользователей. Для этого есть замечательная программка — du. Но если просто её запускать, то она начнёт выводить информацию о всех вложенных папках. Так что для того, чтобы выяснить размер папки со всеми вложениями, следует запустить следующее:

#du -hsx /usr/ports/.

Апрель 20th, 2010 by none | Комментариев нет