Владимир Зарыпов (krre31) wrote,
Владимир Зарыпов
krre31

Categories:

Океан. Ссылки на ресурсы

Продолжаем мучить наш сайт.

Я обленился уже до того, что перестал вообще писать статьи о новых манделах, а сразу отправляю их в Океан. Всё равно ничего нового сказать о них я не могу. Всё повторяется по одному и тому же бесконечному кругу. Нашлась новая мандела - о, ужас, никогда такого не было, и вот опять! - демонстрация остатков - всем спасибо, все свободны... Кажется, где-то я это уже видел. А, ну, да! В каждой из сотен описанных мной мандел :))

Пожалуй, если стоит о чём-то писать, то о каких-то новых открытиях в области исследования мандел, но и здесь открывать уже особо нечего. Все типичные проявления мандельных аномалий изучены  и остались трагически непонятыми. Количество гипотез уже больше, чем людей на Земле. Движуха есть, толку никакого. Что остаётся простому крестьянину делать? Правильно, программировать сайт. Хоть в этом есть какие-то сдвиги.

Итак, что у нас произошло за последние две недели?

Первую неделю я посвятил тому, что причесал, наконец, хотя бы немного, оформление страниц. Дорабатывать ещё много, но текущая версия уже не такая страшная, как раньше. Демонстировать ничего не  буду, потому что все уже и так увидели, что изменилось.

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

Занялся я ими сейчас из-за того, что понадобился способ ввода ссылок для автоматической конвертации их в HTML-теги. До сих пор все ссылки, которые мы оставляли в своих сообщениях, были некликабельными в виде простого текста. На прошлой неделе я добавил возможность использовать в сообщениях HTML-теги, но в них мало кто разбирается, да мне и самому лень набивать их вручную. Поэтому фича осталась невостребованной. Однако теперь, при помощи модальных диалогов, мы можем просто добавить ссылку, а она потом сама сконвертируется в HTML-код кликабельной ссылки, изображения или видео. Сейчас покажу.

Во всех редакторах у нас теперь появился тулбар с тремя иконками - ссылка, изображение и видео YouTube.


Нажимаем первую, чтобы сделать кликабельную ссылку. Вылазит мой велосипедый диалог с предложением ввести ссылку и описание, если будет угодно. Посмотрим, что будет, если мы введём ссылку без описания.


После нажатия ОК тег со ссылкой появляется в редакторе.


Запостив сообщение, мы увидим нашу кликабельную ссылку.


Повторим все наши действия, но добавим во второе поле описание. Я вписал туда слово Хабр. Получается снова кликабельная ссылка, но вместо URL показано наше название.


Дальше я уже не буду так подробно всё показывать, а только начало и конец.

Как добавить изображение. Нажимаем вторую иконку, и в диалоге вводим ссылку на изображение и по желанию размер по ширине, если изображение огромно, а мы хотим его уменьшить. Если ширину не ввести, то размер возьмётся оригинальный, но уменьшится до размеров экрана, если не сможет в него поместиться. Я поставлю ширину 400.


Мы получили уменьшенного котэ. Более того, изображение тоже является кликабельным и по клику на него отправит нас на оригинальное изображение, если нужно рассмотреть его в деталях.


И последнее. Добавим ссылку на видео с YouTube. Здесь нам не надо скрипеть мозгами и вводить какие-то дополнительные данные, а достаточно будет только ссылки.


Результат.


Это кто такой? ВВП, что ли? Как неудачно я выбрал ссылку. Скоро за мной приедут :))

Во всём этом прекрасном и удобном способе оформления ссылок есть один большой минус. Если нам понадобится что-то отредактировать, то придётся копаться в HTML-коде. Обратного преобразования в удобный диалог у меня нет. В таком случае просто удалите код и введите его через диалог заново, но с исправлениями.


Второй большой минус - чисто технический. Из-за того, что мы можем вставлять в наши сообщения любой валидный HTML-код, это предоставляет злоумышленникам проводить на наш сайт XSS-атаки. Вряд ли они заинтересуются нашим сайтом, но уязвимость остаётся. Обычно рекомендуют взамен использовать что-то наподобие BBCode, и я обдумывал этот вариант, но он показался мне сложным в реализации. Я обдумаю его ещё раз позже, а пока, выбирая между полным феншуем и позорным непрофессионализмом, я выбрал позор :))

Благодаря этой новой киллер-фиче нам больше нет нужды добавлять к манделам ссылки, изображения и видео старым способом через списки. Я этот способ потом вообще уберу, но сперва надо будет написать программу, которая прочешет базу данных и преобразует ссылки во всех манделах из списков в теги. Пока что старый способ остаётся только на случай, если вы захотите отредактировать какую-то свою старую манделу.


Tags: океан
Subscribe

Posts from This Journal “океан” Tag

  • Океан. Камбэк

    Переделал сайт, теперь для анонимов он будет в режиме чтения. Регистрация у нас по сути и так анонимная, так что не сильно большая потеря.…

  • Океан. Блэкаут

    Выключил сервер. Устал читать ругань и ненависть, которая льётся на сайте бесконечным потоком. Уже давно не обсуждают манделы и редко добавляют…

  • Океан. Манделы пользователя

    Облегчим задачу спецслужбам. Предположим, спецслужбы захотели проверить все манделы конкретного пользователя. Сделать это теперь как нельзя просто.…

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments