Разработка на сайтове на Ruby on Rails
От самото начало на световната мрежа всеки сайт съдържа полезно съдържание. За 90% от уебсайтовете в Интернет съдържанието е най-важното нещо. Добрият уебсайт трябва да има добро съдържание. Преди петнадесет години беше прост текст, без маркиране и красиви снимки. Днес това са сложни страници с динамични елементи (плъзгачи). Чудесен пример са статиите lookatme. Как се осъществи преходът от обикновен текст към елегантни страници?
Текстов формат или начало
- Разбираемост за човек в "сурова" форма
- Лесно редактиране
Простият формат на текстово съдържание бързо се сблъска с ограниченията си и хората излязоха с нов формат - HTML (Hyper Text Markup Language). Това направи възможно подчертаването на някои части от текста като специални (заглавия), добавянето на изображения и значително увеличаване на възможностите за редактиране на съдържание в сравнение с обикновен текстов формат. Снимките направиха съдържанието по-интересно и визуално. Въпреки това, за да се използват новите функции, беше необходимо да се прибегне до по-сложно редактиране на съдържанието. HTML е дървовидна структура, маркирането изисква отварящи и затварящи тагове. Ако объркате реда, дървото (структурата) на съдържанието ще бъде нарушено. Редактирането на html в браузър беше неудобно и бяха необходими основни умения за маркиране на текст. Беше неудобно и неразбираемо за неподготвен човек да гледа текста, маркиран за компютри.
- Богати функции в сравнение с обикновен текст
- човешка неразбираемост
- Висок процент грешки поради незатворени тагове
WYSIWYG или присъства
- Грешки в оформлението
- Няма поддръжка за динамични елементи
Какво следва?
Логичното решение би било да се преместите вмодулно структуриране на съдържанието. Можем да започнем с основни типове съдържание:
- Текст с маркиране
- Изображение
- Плъзгач
- Видео
Ще бъде ли удобно, ако страницата се състои от линейна последователност от основни типове съдържание? Как да вмъкна текст и изображение в 2 колони? Или в 3. Линейната структура не е подходяща.
Целият изходен код и документация са публично достъпни в github: redde/redditor
Най-интересното се случва в контейнерния клон. Малко по-късно ще напишем подробни инструкции за интегриране в проекти на трети страни.