Stylus перестал развиваться?

Создалось ощущение, что мой любимый css-препроцессор Stylus перестал развиваться. Последние коммиты несколько месяцев назад сделаны. Мой любимый IDE phpStorm как не поддерживал Stylus, так и не собирается.
Учитывая использование в повседневной работе phpStorm’а, плотно пересел на LESS. �?, кажется, так на нём и останусь. В версии 1.4 обещаны несколько дополнений, которых не хватало в LESS по сравнению со Stylus, например, :extends(.rule) и data-uri.

Комментарии в JSON

Плохо не знать теории. Взялся за работу с JSON. Передаются на клиент данные в виде JSON, на клиенте шаблонизируем с помощью handlebars, всё красиво вроде. Тестовый объект с данными был написан в теле HTML страницы. Всё работало.
Перенёс код копипастом в отдельный файл .json, стучусь к нему аяксом, запрос проходит, но ничего не происходит. Смотрю в ответ, а там parsererror. Ничего не понимаю. Удаляю всё, создаю простенький тестовый json-файл.


{
    "test" : "value"
}

Всё работает.
А вся разница между тестовым и рабочим JSON’ом, что в в тестовом нет комментариев. В рабочем я закомментировал лишнее. Стоило убрать комментарии и всё заработало. Буду знать.

Как вручную переустановить пароль в админскую часть MODX 2.1+

В MODX 2.1+ пользователи по умолчанию создаются с паролем, хешированным по алгоритму PBKDF2. MySQL или SQL Serve обычно не умеют вычислять такой хеш. Поэтому, для ручного изменения пароля необходимо изменить хеширующий класс с hashing.modPBKDF2 на hashing.modMD5. После чего можно использовать привычную для MySQL функцию MD5() для пароля. Вот пример подобного запроса:


UPDATE modx_users SET hash_class = 'hashing.modMD5', password = MD5('tqwerty') WHERE username = 'admin';

�?сточник
P.S. Не буду утверждать, что мне всё понятно в вышеизложенном, но оно работает. Было бы странно, если бы было не так) А понадобилось мне искать такую возможность, потому как забыл админский пароль на MODX, развернутый локально. �? восстановление пароля по почте не работало.

Поиск по сайту на MODX

Чтобы организовать поиск на сайте, можно воспользоваться сниппетом SimpleSearch.
Код добавления обычный для сниппетов MODX, вот простой вариант:


[[!SimpleSearchForm? &landing=10 &tpl=search-form]]

Где параметр &landing указывает на страницу, где будут выведены результаты поиска, а &tpl — это имя чанка, в котором вы можете переопределить шаблон поисковой формы.
По умолчанию код чанка такой:


<form class="sisea-search-form" action="[[~[[+landing:default=`[[*id]]`]]]]" method="[[+method:default=`get`]]">
    <fieldset>
        <label for="[[+searchIndex]]">[[%sisea.search? &namespace=`sisea` &topic=`default`]]</label>
        <input type="text" name="[[+searchIndex]]" id="[[+searchIndex]]" value="[[+searchValue]]" />
        <input type="hidden" name="id" value="[[+landing:default=[[*id]]]]" />
        <input type="submit" value="[[%sisea.search? &namespace=`sisea` &topic=`default`]]" />
    </fieldset>
</form>

На странице для результатов достаточно разместить код

[[!SimpleSearch]]

Этого достаточно, чтобы всё заработало. А используя параметры сниппета SimpleSearch, можно настроить вывод результатов как вам заблагорассудится.

SSH доступ на SWEB.RU

У меня не очень большой опыт общения с хостерами, кроме трех лет работы на одного из них, а именно на sweb.ru.
Поэтому не могу сравнить с возможностями других указанное в заголовке. Но раньше, для того, чтобы получить ssh-доступ к своим ресурсам на свебе, приходилось писать запрос в поддержку.
Теперь же получение ssh-доступа возможно в один клик в панели управления хостингом. А вот к её созданию ваш покорный слуга имеет самое непосредственное отношение. Правда, в мою бытность верстальщиком свеба, такой возможности (включение ssh через панель управления) не было.
Что ж, честь и хвала sweb.ru!

Добавление Ant Bulider в Артану

В Aptana, в отличие от Eclipse, по умолчанию Ant не установлен. Но он же может быть нужен?
Для его установки необходимо выполнить несколько действий:

  1. �?дём в Help -> Install New Software
  2. Далее в выпадающем списке выбираем Eclipse Indigo Update Site — http://download.eclipse.org/releases/indigo (на момент написания этих строк. Это может быть и другая версия Eclipse)
  3. В появившемся списке раскрываем пункт Programming Languages и отмечаем для установки Eclipse Java Development Tools.
  4. Далее Next и Finish. После чего перезапускаем Aptana.

После окончания установки можно проверить наличие Ant: Window >> Show View >> Other.

А понадобился мне Ant Builder для автоматического объединения и минификации стилей и скриптов при работе с thrubet.com. Подобные манипуляции вместе с некоторыми мерами на сервере позволили повысить оценку сайта thrubet с помощью YSlow с 70 баллов до более 85! Ещё есть, что поправить, и уровень в 90 вполне достижим.

Поле формы с именем submit

Для именования полей в форме не стоит использовать имена (или ID), совпадающие с методами объекта формы. То есть reset и submit. Это важно, если вам необходимо отправлять форму с помощью javascript.
При попытке отправить форму методом submit() вы увидите в консоли:

Uncaught TypeError: Property 'submit' of object #<HTMLFormElement> is not a function

Коротко дело здесь в следующем. Когда вы «стучитесь» к методу формы submit() привычным способом (вариант для jQuery), как-то так:

<form id="testForm">
    <input name='submit'/>
    <input type='submit' id='testButton' value="test"/>
</form>

<script>
    var form = document.getElementById('testForm'),
        button = document.getElementById('testButton');
    form.onsubmit = function(){
        return false;
        //отключаем обычный сабмит, чтобы отправить форму
        //с помощью javascript
}
    button.onclick = function(){
    form.submit();
}
</script>


— вы получите ошибку на строчке form.submit(). Почему?

Когда вы пытаетесь отправить форму командой form.submit(), вы пытаетесь обратиться к методу формы по имени submit. Но на деле обращаетесь к элементу по имени submit. О чём вам и сообщает консоль, что HTMLFormElement submit не является функцией!
Столкнулся с этим буквально на днях, хотя такое поведение форм уже обсуждалось.

Простое резюме: не стоит использовать в форме поля с именем submit. Да и reset тоже, потому как получите аналогичную ошибку.

SSH доступ к EC2 на Амазоне

Для отслеживания задач по проекту решили использовать Редмайн. Самым простым и быстрым показался вариант с разворачиванием редмайна на амазоне. После развертывания пришлось доступ по SSH к созданному инстансу. Делал всё, как расписано в Амазоновой консоли.
В частности, там приведена следующая строка:
ssh -i sshkeyname.pem ubuntu@public_dns

Обратите внимание на имя пользователя ubuntu. Но у меня редмайн был развернут из маркета AWS Marketplace. А редмайн на рынке, что называется, Redmine powered by BitNami :)

Так вот. �?мя пользователя для SSH будет для подобных продуктов bitnami. В противном случае вам не удастся достучаться до своего развернутого на EC2 сервера с сообщением вроде «Host key verification failed» или «Server refused our key (server sent: publickey)».

Юзабельные трусы

Смешно, но даже трусы должны быть юзабельны.
Не в плане носки, тут всё понятно. А для удобства распознавания, где левая сторона, а где правая. Ведь обидно, надев трусы (и необязательно их) заметить, что они на левую сторону. По суеверию, кстати, это означает быть битым. Трусы должны чётко давать понять, где у них левая сторона, а где правая!
Есть у меня для занятий спортом «боксеры» от Пумы. Там всё просто: по резинке большими буквами название фирмы. Трудно перепутать.
�? есть продукция некого безымянного производителя. Сами трусы чёрные. Прошиты чёрными нитками. Есть декоративная узенькая полоса по резинке красного цвета. Бирка срезана, от неё остался еле заметный кусочек материала. �? швы заделаны очень хорошо и сразу понять, где лево, где право, трудно. �? нет никаких надписей. или других признаков, чтобы понять наизнанку ли этот предмет одежды или всё нормально.
�? вот сегодня я попался:) Пришлось потратить лишнее время на переодевание.
Производители, разработчики, дизайнеры! Не забывайте об удобстве пользования вашей продукцией. Ведь даже такой предмет, вроде бы далекий от понятия юзабилити, как трусы можно сделать дружелюбнее для пользователя.

Форма заказа хостинга на sweb.ru

Уже больше двух лет наверно прошло после запуска, а мне по-прежнему очень нравится как получилась форма заказа на свебе. Тем более приятно, что в её создании принимал непосредственное участие.
Всё просто, очевидно, быстро работает.
Да и не видел пока еще форм заказа проще.

P.S. Свеб обновился, и форма канула в лету.