Возможно вы искали: 'Too Human'

May 14 2025 14:54:00
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96088941
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18354
• Обзор The Walking ... 18797
• Обзор DMC: Devil M... 19876
• Обзор на игру Valk... 15874
• Обзор на игру Stars! 17761
• Обзор на Far Cry 3 17946
• Обзор на Resident ... 16023
• Обзор на Chivalry:... 17505
• Обзор на игру Kerb... 17980
• Обзор игры 007: Fr... 16617
Превью о играх
• Превью к игре Comp... 17957
• Превью о игре Mage... 14462
• Превью Incredible ... 14718
• Превью Firefall 13474
• Превью Dead Space 3 16332
• Превью о игре SimC... 14729
• Превью к игре Fuse 15440
• Превью Red Orche... 15541
• Превью Gothic 3 16342
• Превью Black & W... 17353
Главная » Статьи » Обзоры на игры » Обзор CMS Skeletonz (cms web python)

Обзор CMS Skeletonz (cms web python)

Ключевые слова: cms, web, python, (найти похожие документы)

From: Сергей Супрунов
Date: Mon, 21 Jan 2009 17:02:14 +0000 (UTC)
Subject: Обзор CMS Skeletonz

Материал предоставлен редакцией журнала Системный администратор.
Опубликовано в журнале "Системный администратор" N 11 2008

Системы управления содержимым (content management system, CMS) с каждым
днём приобретают всё большую популярность. Оно и понятно -
интернет-сайты из категории "творчества" постепенно переходят в
"бизнес", и поэтому значительное место начинают занимать не только
вопросы эффективности их разработки, но и последующего сопровождения.

На рынке уже присутствует довольно большое число CMS с богатым набором
возможностей. Среди открытых решений сразу же вспоминаются Joomla!
(http://www.joomla.org) и Drupal (http://drupal.org), из
коммерческих в нашей стране, пожалуй, наиболее известны продукты
"1С-Битрикс" (http://www.1c-bitrix.ru).

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

Однако иногда такие возможности оказываются избыточными, и для задачи
создания простейшего сайта (пара новостей в неделю, контактная
информация, несколько статей-инструкций) хочется найти что-нибудь
"поскромнее". Одну из таких CMS - Skeletonz - мы и рассмотрим.


Первое знакомство

Skeletonz - это одна из несложных и не особо известных систем
управления содержимым сайтов (CMS), написанная на языке Python и
использующая для хранения информации СУБД MySQL. Первоначально
основанная на веб-фреймворке CherryPy (http://www.cherrypy.org) и
ORM-библиотеке SQLObject (http://www.sqlobject.org), в настоящее
время Skeletonz развивается с акцентом на простоту и быстродействие.

В основе последней версии Skeletonz (которая всё никак не выйдет в
релиз, оставаясь в beta-статусе) лежит набор модулей, разработанных
Амиром Салихефендиком (Amir Salihefendic, http://amix.dk). Так,
веб-фреймворк был заменён модулями AmiWeb, функцию взаимодействия с
базой данных взял на себя AmiDB (основанный на SQLAlchemy,
http://www.sqlalchemy.org). Неизменной осталась, пожалуй, лишь
система разработки шаблонов Cheetah (http://www.cheetahtemplate.org).

Поставляется Skeletonz с собственным веб-сервером, что весьма удобно
для разработки, но привносит ряд особенностей в процесс развёртывания
для "промышленной эксплуатации" (о них мы поговорим ниже).

Официальный сайт проекта - http://orangoo.com/skeletonz


Инсталляция

Устанавливать будем на FreeBSD (хотя подойдёт любая система, где
работает Python). В коллекции портов Skeletonz не представлена, так что
исходные коды - единственный путь обзавестись этой CMS. Впрочем, ничего
сложного здесь нет.

Для начала нужно установить язык программирования Python и СУБД MySQL
(или убедиться, что эти пакеты уже присутствуют в системе). Жёстких
требований к версиям с точки зрения совместимости нет - интерпретатор
Python должен быть не ниже версии 2.4, MySQL - 4.1 и выше (версии 5.х
тоже будут работать нормально). Установка из портов отлично решит
задачу. Также понадобится python-модуль MySQLdb
(http://sourceforge.net/projects/mysql-python), установить его
можно также из коллекции портов: /usr/ports/databases/py-MySQLdb.

Дополнительно можно установить графическую библиотеку PIL (Python Image
Library, http://www.pythonware.com/products/pil) - без неё
Skeletonz работать будет, но не подключится плагин "ImgTitle",
позволяющий "на лету" генерировать графические изображения из
заданного текста:

$ fetch http://effbot.org/downloads/Imaging-1.1.6.tar.gz
Imaging-1.1.6.tar.gz 100% of 425 kB 102 kBps

$ tar xf Imaging-1.1.6.tar.gz
$ cd Imaging-1.1.6
$ sudo python setup.py install


Для полного счастья понадобятся также TTF-шрифты (можно поискать
что-нибудь в коллекции портов, например, поставив
x11-fonts/freefont-ttf, или просто "натаскать" шрифты в систему
вручную из "открытых источников"). Путь к каталогу со шрифтами, а
также шрифт по умолчанию нужно будет затем указать в настройках
плагина.

Теперь дело, собственно, за Skeletonz. Поскольку данная CMS написана на
языке Python, установка заметно упрощается (а заодно снижается и число
возможных проблем), поскольку этапы компиляции и инсталляции будут
отсутствовать: скачиваем архив с исходным кодом, распаковываем в
рабочий каталог, выполняем правку конфигурационного файла
general_config.py, и можно запускать:

$ fetch http://orangoo.com/skeletonz/uploads/skeletonz_beta.zip
skeletonz_beta.zip 100% of 753 kB 96 kBps

$ tar xzf skeletonz_beta.zip
$ cd skeletonz_beta
$ vi general_config.py


Конфигурационный файл хорошо прокомментирован и содержит лишь
необходимый минимум опций. Многие из параметров вам нужно будет
изменить (или проверить, что значения, выставленные по умолчанию,
соответствуют вашим желаниям):

* PORT - задаёт номер порта, на котором будет работать собственный
веб-сервер Skeletonz (по умолчанию используется значение 14002; номер
порта меньше 1024 потребует прав суперпользователя, поэтому не
рекомендуется; как обеспечить доступ через стандартный 80-й порт, мы
поговорим отдельно).


* TITLE_PREFIX - префикс заголовка, который будет присутствовать на
каждой странице сайта (т.е. тег каждой страницы будет<br /> формироваться как TITLE_PREFIX + имя страницы). Здесь есть одна<br /> особенность, связанная с поддержкой национальных кодировок, о которой<br /> будет сказано чуть позже.<br /> <br /> <br /> * BASE_URL - базовый адрес сайта (на каждую страницу сайта будет<br /> добавлен тег <base ...> с данным значением, что наверняка создаст<br /> проблемы, если сайт должен быть доступен на разных интерфейсах, имеющих<br /> разные DNS-имена).<br /> <br /> <br /> * CHECK_LOGIN, ADMIN_USERNAME, ADMIN_PASSWORD - параметры доступа к<br /> административным функциям CMS. Понятно, что права доступа к<br /> конфигурационному файлу, поскольку он содержит пароль в открытом виде,<br /> должны быть максимально жёсткими (но достаточными для того, чтобы его<br /> могла "прочитать" сама Skeletonz).<br /> <br /> <br /> * START_PAGE - имя страницы, которая будет открываться при<br /> первоначальном входе на сайт.<br /> <br /> <br /> * TABLE_PREFIX, DB_USER, DB_PASSWORD, DB_HOST, DB_DATABASE - параметры<br /> доступа к СУБД. Возможность указывать префикс имён таблиц позволяет<br /> задействовать для Skeletonz одну из существующих баз данных MySQL.<br /> Однако, если такая возможность имеется, лучше всё-таки создать<br /> отдельную БД специально для нужд CMS. Возможности работать с другой<br /> СУБД нет (не считая правки исходников), хотя ходят слухи о грядущей<br /> поддержке SQLite.<br /> <br /> <br /> Нужно обратить внимание на следующую особенность - файл<br /> general_config.py является обычным сценарием<br /> <br /> Python, поэтому он должен соответствовать синтаксису этого языка. Не<br /> забывайте заключать в кавычки текстовые строки, ставить знаки равенства<br /> между именем параметра и значением, соблюдайте правильный регистр имён<br /> параметров и внимательно следите за отступами (точнее, за их<br /> отсутствием - все строки должны начинаться строго с первой позиции).<br /> Кроме того, интерпретатор Python по умолчанию ожидает увидеть в своём<br /> коде исключительно ASCII-символы, так что если хочется задать какую-то<br /> строку на русском языке (пожалуй, кроме параметра TITLE_PREFIX такая<br /> необходимость нигде возникнуть не должна), нужно первой строкой<br /> конфигурационного файла добавить следующую:<br /> <br /> # -*-coding: utf8 -*-<br /> <br /> <br /> Причём именно UFT-8, независимо от вашей системной локали, - эта<br /> кодировка используется по умолчанию во всех подсистемах CMS, и способа<br /> её изменить без глубокого погружения в исходный код я не нашёл.<br /> Очевидно, что и значение параметра в конфигурационном файле придётся<br /> задавать в этой кодировке. Если ваш редактор не поддерживает UTF-8,<br /> можно воспользоваться утилитой iconv для последующего преобразования в<br /> Юникод:<br /> <br /> $ iconv -f koi8-r -t utf-8 general_config.koi.py > general_config.py<br /> <br /> <br /> Ну вот, собственно, и все приготовления. Можно запускать сервер.<br /> <br /> <br /> Первый запуск<br /> </b><br /> Как я уже упоминал, Skeletonz поставляется со встроенным веб-сервером.<br /> Запуск этого сервера осуществляется следующей командой из каталога,<br /> куда распакована Skeletonz:<br /> <br /> $ python launch_server.py<br /> <br /> <br /> При таком запуске сервер останется активным, и вы сможете в терминале<br /> отслеживать все его сообщения. Запускать сервер в фоновом режиме<br /> придётся, например, следующим образом:<br /> <br /> $ nohup python launch_server.py &>skeletonz.log &<br /> <br /> <br /> Ожидать запросы веб-сервер будет на указанном в конфигурации порту на<br /> всех сетевых интерфейсах. Способа запустить его на конкретном<br /> интерфейсе я не нашёл, так что если на всех интерфейсах он вам не<br /> нужен, придётся использовать пакетный фильтр для запрета доступа на<br /> соответствующие порты. Впрочем, в любом случае для "промышленной"<br /> эксплуатации лучше использовать доступ через проски-сервер, о чём мы<br /> поговорим в разделе, посвящённом вопросам развёртывания сайта на<br /> Skeletonz.<br /> <br /> <br /> Если сообщение о том, что модуль sre устарел, которое будет появляться<br /> при каждом старте сервера, будет вас сильно раздражать, можно<br /> подправить файл amilib/simplejson/scanner.py, изменив в шестой строке<br /> имя модуля sre на re.<br /> <br /> Ну всё, теперь можете подключаться на соответствующий порт и приступать<br /> к знакомству с этой CMS.<br /> <br /> <br /> Обзор административных функций<br /> </b><br /> На стартовой странице вас встретит приятный глазу логотип, уведомление,<br /> что this page has no content, и две ссылки - на официальный сайт<br /> Skeletonz и административный вход. Последней и воспользуемся, введя<br /> логин и пароль, заданные в конфигурационном файле.<br /> <br /> Здесь, щёлкнув по кнопке Admin, вы сможете выполнять следующие<br /> действия:<br /> <br /> * Создавать/удалять пользователей и группы (User manager и Group<br /> manager соответственно). Пользователь может принадлежать к одному из<br /> двух типов: user (по умолчанию бесправный) и admin (по умолчанию<br /> обладающий всей полнотой власти).<br /> <br /> <br /> * Раздавать созданным пользователям и группам права на редактирование<br /> отдельных страниц сайта (Site manager).<br /> <br /> <br /> * Смотреть, кто какие файлы загружал (Upload manager), и при желании<br /> удалять загруженное. Однако выполнить новую загрузку отсюда нельзя.<br /> <br /> <br /> * Создавать резервные копии сайта (Backup manager). Для этого от вас<br /> потребуется лишь указать имя "снапшота", и после создания вы<br /> сможете скачать себе архивную копию и сохранить в надёжном месте.<br /> <br /> <br /> * Просмотреть информацию о системных настройках (Site manager). Здесь<br /> же размещена полезная кнопка - Terminate server, которая позволяет<br /> "культурно" остановить сервер, а не "грохать" его командой kill<br /> (правда, при запуске через nohup она не работает, так что в этом случае<br /> придётся-таки использовать kill).<br /> <br /> <br /> * Просмотреть синтаксис использования различных плагинов, а некоторые<br /> из них и понастраивать (Plugin manager).<br /> <br /> <br /> * Наконец, выбрать одну из тем для сайта (Template manager). К<br /> всеобщему сожалению, только выбрать - создавать и устанавливать<br /> придётся вручную.<br /> <br /> <br /> Профессионалу "развернуться", конечно, негде, зато новичок точно не<br /> заблудится.<br /> <br /> <br /> Наполнение сайта<br /> </b><br /> Здесь в принципе всё просто - в режиме администратора (или под именем<br /> пользователя, которому делегированы права на редактирование данной<br /> страницы) заходим на сайт и пользуемся доступными здесь "органами<br /> управления".<br /> <br /> "Типовая" иерархия Skeletonz предусматривает наличие двух уровней<br /> навигации: главное меню и (опционально) локальное меню страницы (Page<br /> tabs). Каждая ссылка меню ведёт на определённую страницу. Содержимое<br /> страницы создаётся вручную, используя несложный синтаксис: скажем,<br /> "%(b)text%" означает выделение текста text полужирным шрифтом,<br /> "h1." с последующим текстом - заголовок первого уровня, и т. п. Чтобы<br /> посмотреть все возможности, щёлкните кнопку Syntax help. При<br /> необходимости никто не запрещает прибегать к HTML-синтаксису (например,<br /> именно так придётся делать таблицы). Некоторые сложные элементы<br /> (скажем, те же меню) вставляются как "плагины" (выглядят такие<br /> вставки следующим образом - [pagetabs=news]). Если что-то забыли, можно<br /> щёлкнуть на значке Add plugin syntax и выбрать нужный плагин из списка<br /> (там же будет подсказка по параметрам).<br /> <br /> Немного странно работает вставка изображений. Вам нужно будет в режиме<br /> редактирования контента добавить вызов плагина: [image=img2], где img2<br /> - некоторое условное наименование рисунка. Теперь, сохранив страницу,<br /> вы получите на месте изображения иконку-ссылку, позволяющую загрузить<br /> файл. После загрузки изображение займёт своё законное место, а<br /> управлять файлом можно будет через панель управления, раздел Upload<br /> manager.<br /> <br /> Среди остальных плагинов: блоги, лента новостей (правда,<br /> RSS-возможности оказываются практически неработоспособны из-за жёсткой<br /> привязки к iso-8859-1; править это придётся в исходниках -<br /> amilib/PyRSS2Gen.py, dynamic_dirs/rss/news_section_news.xml и ряде<br /> других файлов), некая пародия на wiki, подсветка текста и прочая<br /> "мелочёвка". Нельзя сказать, что все они близки к совершенству, но<br /> обеспечить основную функциональность могут. Подгонка дизайна обычно<br /> сводится к правке соответствующих классов в CSS-файле шаблона. Для<br /> добавления нового плагина (если такой посчастливится найти) каталог с<br /> его кодом нужно будет просто скопировать в site_plugins (вручную;<br /> интерфейс для добавления плагинов не предусмотрен).<br /> <br /> Есть и один довольно неприятный момент - Skeletonz выставляет адресом<br /> страницы её наименование, то есть если создать страницу "Вопросы и<br /> ответы", то URL будет выглядеть как "http://mysite.ru/Вопросы и<br /> ответы". Вроде бы даже хорошо, но в некоторых браузерах в строке<br /> адреса будет красоваться "http://mysite.ru/%D0%92%D0%BE%D0%<br /> BF%D1%80%D0%BE%D1%81%D1%8B_%D0%B8_%D0% BE%D1%82%D0%B2%<br /> D0%B5%D1%82%D1%8B/".Так что хоть победа Юникода и неизбежна, но борьба<br /> будет долгой и кровопролитной. Пока же в качестве обходного маневра<br /> "прокатывает" следующий приём (правда, нет никаких гарантий, что<br /> данная "фича" сохранится в будущих версиях): всем вновь создаваемым<br /> страницам задавайте имена в латинице и без пробелов (так, как вам<br /> хотелось бы видеть их URL). А позже можно будет изменить наименование<br /> страницы - в заголовках и меню оно изменится, а URL останется прежним.<br /> Дело в том, что он сохраняется в другой SQL-таблице, которая не<br /> перезаписывается при изменениях страницы - что бы вы ни делали со<br /> страницей, её адрес останется таким, какой она получила при создании.<br /> Сама по себе "фича" очень неприятная, поскольку, если возникнет<br /> необходимость изменить URL страницы, придётся создавать новую, а старую<br /> удалять. Ну или лезть руками в базу MySQL. Так что будьте внимательны и<br /> продумывайте структуру сайта заранее.<br /> <br /> <br /> Контроль версий<br /> </b><br /> Несмотря на свою простоту, Skeletonz предоставляет и некоторые функции<br /> контроля версий - изменения каждой страницы отслеживаются, и вы имеете<br /> возможность просмотреть внесённые изменения и при необходимости<br /> "откатиться" на любую версию.<br /> <br /> Для использования этих возможностей щёлкните, находясь в режиме<br /> администрирования страницы, кнопку "Page log". А дальше вопросов<br /> возникать не должно.<br /> <br /> Темы<br /> </b><br /> В дистрибутиве Skeletonz присутствуют три темы - Default (на её базе<br /> создан официальный сайт CMS - http://orangoo.com/skeletonz),<br /> сверхупрощённая Dummy и оригинальная, но слишком неэкономно<br /> использующая рабочее пространство Dragon. Если вас в них что-то не<br /> устраивает или же хочется чего-то совсем иного, выход один - создание<br /> своей темы (возможно, на основе одной из существующих).<br /> <br /> Рассматривать здесь данный процесс не будем. Скажу лишь, что<br /> "верстать" тему придётся вручную. Помимо знаний HTML и CSS, вам<br /> понадобится умение использовать шаблоны Cheetah, а также нужно будет<br /> иметь представление о "стандартных объектах", предоставляемых<br /> системой Skeletonz. Если интересно, на официальном сайте есть пример<br /> разработки собственной темы. Добавление темы сводится к копированию<br /> соответствующего каталога в templates.<br /> <br /> <br /> Развёртывание сайта<br /> </b><br /> Встроенный веб-сервер Skeletonz удобен для разработки сайта, но не<br /> слишком хорош для "промышленной эксплуатации". Одна из причин -<br /> необходимость в правах root для запуска на 80-м порту.<br /> <br /> Разработчики Skeletonz предлагают два варианта решения этой задачи -<br /> связка с Apache (потребуются модули mod_rewrite и mod_proxy) и при<br /> помощи прокси-сервера Delegate. Смысл обоих сводится к тому, чтобы 80-й<br /> порт прослушивался "сторонним" сервером, работающим в режиме прокси и<br /> пересылающим запросы серверу Skeletonz. Подробности можно найти на<br /> сайте проекта, здесь для примера остановимся на связке с Delegate.<br /> <br /> Для начала в general_config.py рекомендуется включить кэширование<br /> (USE_CACHING и BUILD_CACHE_ON_START), а также установить переменную<br /> MODE в значение deployment. Также придётся изменить параметр BASE_URL,<br /> чтобы он указывал на адрес сайта с точки зрения клиента.<br /> <br /> Теперь следует решить проблему автоматического запуска самой Skeletonz.<br /> В составе дистрибутива нет и намёка на стартовый сценарий (учитывая,<br /> что сервер даже не предусматривает работу в режиме демона, это<br /> неудивительно), его придётся писать самому, используя для запуска всё<br /> тот же "некрасивый" приём с nohup, а для останова - утилиту kill.<br /> <br /> Ну и теперь запускаем Delegate (подробно этот сервер рассматривался в<br /> журнале за октябрь 2008 года):<br /> <br /> # delegated -P80 MOUNT="/* http://localhost:14002/*<br /> PERMIT="http:localhost:*"<br /> <br /> <br /> Очевидно, что все эти сложности практически ставят "крест" на<br /> использовании данной CMS в условиях виртуального хостинга, поэтому<br /> область её применения сужается до подконтрольных вам серверов (веб-сайт<br /> компании, внутрисетевой сайт, страничка "кампусной" сети и т. п.).<br /> <br /> <br /> Резюме<br /> </b><br /> Итак, из плюсов: простота и понятность, неплохое быстродействие, низкое<br /> ресурсопотребление. Для себя я отмечаю ещё язык Python, хотя это уже<br /> довольно субъективно. Недостатки: "сырость" проекта, невысокие темпы<br /> разработки, отсутствие нормального механизма развёртывания, проблемы с<br /> "не-Юникодом", не слишком богатый выбор плагинов.<br /> <br /> Как видите, Skeletonz ещё очень далека от совершенства. Если вы<br /> планируете (не обязательно прямо сейчас) развивать свой сайт в<br /> направлении интерактивности, если вам в будущем может понадобиться<br /> большая гибкость дизайна, если хочется вместо ручной вёрстки шаблонов<br /> просто подключать готовые компоненты - изучайте Joomla! или что-то не<br /> менее мощное. Если же ваши амбиции в ближайшие годы не выходят за рамки<br /> небольшого информационного сайта на сервере компании и не пугает вывод<br /> "обратной трассировки" интерпретатора Python при ошибках плагинов, то<br /> Skeletonz вполне способна взять на себя большую часть рутины, оставив<br /> вам лишь задачу наполнения сайта. А там - кто знает? - может, и<br /> появится пара-тройка по-настоящему шикарных тем и мощных дополнений.</td></tr></table><table width='100%' cellpadding='0' cellspacing='0'><tr><td class='news-footer' align='center'>1264 Прочтений •  [<b>Обзор CMS Skeletonz (cms web python)</b>] [<b>08.05.2012</b>] [Комментариев: <b>0</b>] </td></tr><tr><td class='news-footer' align='center'>Добавил: <a title='Vova' href='http://8gamers.net/profile/view/1/'><img style='vertical-align:middle;border:none' src='http://8gamers.net/images/flags/ua.gif' alt='Ukraine' title='Ukraine'> <font color='#CC0000'>Vova</font></a></td></tr><tr><td class='news-footer' align='center'><form name='addfavorite' method='post' action='http://8gamers.net/register/'><input type='submit' name='favorite_add' value='В избранное' class='button'></form> </td></tr></table><table cellspacing='0' cellpadding='0'><b>Ссылки</b><br> <form> <tr><td>HTML: </td><td><input id='url_link' class='button_old' type='text' size='60' value='<a href=http://8gamers.net/article/view/146982/ target=_blank>Обзор CMS Skeletonz (cms web python)</a>'</td></tr><tr><td align='right'>[BB Url]: </td><td><input id='bbc_link' class='button_old' type='text' size='60' value='[url=http://8gamers.net/article/view/146982/]Обзор CMS Skeletonz (cms web python)[/url]'> </form></td></tr> </table><table width='100%' cellpadding='0' cellspacing='1' border='0' class='tbl' style='padding: 1em 0em 0.8em 0em;'> <tr> <td colspan='5' class='main-caption' style='text-align:left'>Похожие статьи</td> </tr> <tr> <td class='tbl2' align='center'>Название</td> <td class='tbl2' align='center'>Добавил</td> <td class='tbl2' align='center'>Добавлено</td> </tr> <tr> <td width='55%' class='tbl1'>• <a href='http://8gamers.net/article/view/146982/' title='Обзор CMS Skeletonz (cms web python)'>Обзор CMS Skeletonz (cms web python)</a></td> <td width='17%' class='tbl1' align='center'><a title='Vova' href='http://8gamers.net/profile/view/1/'><img style='vertical-align:middle;border:none' src='http://8gamers.net/images/flags/ua.gif' alt='Ukraine' title='Ukraine'> <font color='#CC0000'>Vova</font></a></td> <td width='27%' class='tbl1' align='center'>08.05.2012</td> </tr> </table> <div id="ari_frame"><dl class="starrat_b"> <dt></dt><dd><ol><li class="starrat_f" style="width:0px"> </li><li> </li><li> </li><li> </li><li> </li><li> </li><li> </li><li> </li><li> </li><li> </li></ol></dd><dt></dt></dl></div></td> <td class='centerpanel3'></td> </tr> </table> <table style='width: 100%; border-collapse: collapse;'> <tr> <td class='downpanel1'></td> <td class='downpanel2'></td> <td class='downpanel3'></td> </tr> </table><table class='tablebreak2'></table><table style='width: 100%; border-collapse: collapse;'> <tr> <td class='uppanel1'></td> <td class='uppanel2'> </td> <td class='uppanel3'></td> </tr> </table> <table style='width: 100%; border-collapse: collapse;'> <tr> <td class='centerpanel1'></td> <td class='centerpanel2'><div id="myc_frame"><a id="comments" name="comments"></a><center>Ни одного комментария? Будешь первым :).</center> </div><center>Пожалуйста, авторизуйтесь для добавления комментария.</center> </td> <td class='centerpanel3'></td> </tr> </table> <table style='width: 100%; border-collapse: collapse;'> <tr> <td class='downpanel1'></td> <td class='downpanel2'></td> <td class='downpanel3'></td> </tr> </table><table class='tablebreak2'></table><br><center>Проект входит в сеть сайтов «<a href='http://8gamers.net/'>8Gamers Network</a>»<br><br></div><b>Все права сохранены. 8Gamers.NET © 2011 - 2025</b> <br/><br></center><td valign='top' style='width:180px;'><table style='border-collapse: collapse;' width='180' height='60' class='tablebreak'> <tr><td class='rgpup'>Статьи</td> </tr><tr> <td class='rgpcenter'> <table align='center' class='panelcontet'> <tr> <td style='width: 160px; letter-spacing: 0px; word-spacing: 0px;'><table width='100%' cellpadding='0' cellspacing='1' class='tbl-border'> <td colspan='8' class='tbl1 small'> <a href='http://8gamers.net/article/view/212911/'><center><img src='http://static.8gamers.net/articles/2013-04/logo-pressure-review_thumb.jpg' alt='Рецензия на Pressure' title='Рецензия на Pressure' border='0' width='120' height='120' vspace='2' style='border: 1px solid #610001;margin:3px;'></a></center><a href='http://8gamers.net/article/view/212911/'>Рецензия на Pressure</a><hr>Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ... </td> </tr> <td colspan='8' class='tbl1 small'> <a href='http://8gamers.net/article/view/212913/'><center><img src='http://static.8gamers.net/articles/2013-04/logo-lost-chronicles-of-zerzura-review_thumb.jpg' alt='Рецензия на Lost Chronicles of Zerzura' title='Рецензия на Lost Chronicles of Zerzura' border='0' width='120' height='120' vspace='2' style='border: 1px solid #610001;margin:3px;'></a></center><a href='http://8gamers.net/article/view/212913/'>Рецензия на Lost Chron...</a><hr>Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo... </td> </tr> <td colspan='8' class='tbl1 small'> <a href='http://8gamers.net/article/view/212914/'><center><img src='http://static.8gamers.net/articles/2013-04/logo-the-bridge-review_thumb.jpg' alt='Рецензия на The Bridge' title='Рецензия на The Bridge' border='0' width='120' height='120' vspace='2' style='border: 1px solid #610001;margin:3px;'></a></center><a href='http://8gamers.net/article/view/212914/'>Рецензия на The Bridge</a><hr>«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей... </td> </tr> <td colspan='8' class='tbl1 small'> <a href='http://8gamers.net/article/view/212915/'><center><img src='http://static.8gamers.net/articles/2013-04/logo-simcity-2013-review_thumb.jpg' alt='Рецензия на SimCity' title='Рецензия на SimCity' border='0' width='120' height='120' vspace='2' style='border: 1px solid #610001;margin:3px;'></a></center><a href='http://8gamers.net/article/view/212915/'>Рецензия на SimCity</a><hr>Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош... </td> </tr> <td colspan='8' class='tbl1 small'> <a href='http://8gamers.net/article/view/212916/'><center><img src='http://static.8gamers.net/articles/2013-04/logo-strategy-and-tactics-world-war-ii-review_thumb.jpg' alt='Рецензия на Strategy & Tactics: World War 2' title='Рецензия на Strategy & Tactics: World War 2' border='0' width='120' height='120' vspace='2' style='border: 1px solid #610001;margin:3px;'></a></center><a href='http://8gamers.net/article/view/212916/'>Рецензия на Strategy &...</a><hr>Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри... </td> </tr> <td colspan='8' class='tbl1 small'> <a href='http://8gamers.net/article/view/212917/'><center><img src='http://static.8gamers.net/articles/2013-04/logo_3_thumb.png' alt='Рецензия на игру Scribblenauts Unlimited' title='Рецензия на игру Scribblenauts Unlimited' border='0' width='120' height='120' vspace='2' style='border: 1px solid #610001;margin:3px;'></a></center><a href='http://8gamers.net/article/view/212917/'>Рецензия на игру Scrib...</a><hr>По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр... </td> </tr> <td colspan='8' class='tbl1 small'> <a href='http://8gamers.net/article/view/212918/'><center><img src='http://static.8gamers.net/articles/2013-04/logo_4_thumb.png' alt='Рецензия на игру Walking Dead: Survival Instinct, The' title='Рецензия на игру Walking Dead: Survival Instinct, The' border='0' width='120' height='120' vspace='2' style='border: 1px solid #610001;margin:3px;'></a></center><a href='http://8gamers.net/article/view/212918/'>Рецензия на игру Walki...</a><hr>Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —... </td> </tr> </table></td></tr> </table> </td></tr><tr> <td class='rgpdown'></td></tr> </table></td></td></tr> </table> </td></tr></table> <div align='left'> <table class='menu3' style='border-top: 1px solid #ACACAC;background: url(http://8gamers.net/images/themes/ver2/cs_go.jpg) repeat-x top center' width='100%' height='30'> <tr><td> <div style='padding-left:5px;font-size: 7pt;'> <center><a href='http://8gamers.net/feedback/'>Обратная связь</a> | <a href='http://8gamers.net/page/view/2/'>RSS</a> | <a href='http://8gamers.net/page/view/3/'>Донейт</a> | <a href='http://8gamers.net/statistics/'>Статистика</a> | <a href='http://8gamers.net/team/'>Команда</a> | <a href='http://8gamers.net/support/'>Техническая поддержка</a></center> </div> </td></tr> </table> <table style='font-size:11;line-height: 1em;background:#ECE5D6; padding-top:0px; border-bottom:1px solid #ACACAC; border-top:1px solid #ACACAC;' width='100%' height='100%' cellpadding='0' cellspacing='10'></table> </td> <td align='left' width='5%' style='border-left: 0px solid #ACACAC;'></td> </td></tr></table></div></div><br></div> <script type='text/javascript'>//<![CDATA[ function ari_post(rate){ jQuery('#ari_frame').fadeTo('fast',0.05); jQuery.post('ratings.php?ari_type=A&ari_itemid=146982',{rating:rate},function(data){ jQuery('#ari_frame').html(data); jQuery('#ari_frame').fadeTo(400,1); }); } //]]></script> </body> </html>