Генератор xml проектов для хрумера

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

Скрипту на вход подаются массивы ссылок с ключевиками в формате url||key, а на выходе получаем содержимое файла xml - проекта. Структура xml-файла задается шаблоном xrumer.tpl, который может быть откорректирован по необходимости.

Пример файла шаблона


Алгоритм генерации следующий:


  • Считывается шаблон проекта.

  • Вычисляются значения макросов для вставки в нужные места проекта.

  • Делается замена макросов их значениями.

  • Почти готовый проект выводится на форму или в файл.

  • Проект открывается хрумером, нажимается кнопка "автозаполнение полей" , "синонимизировать" (по желанию) и сохраняется.

Значения полей (макросов) генерируются следующим образом:

  • Тема проекта ([subject]) формируется в виде вариаций анкоров- ключевиков, учавствующих в проекте.
    $subject = get_ankor_var_str($indexs,$limit);

  • Домашняя страница ([home_page]) - в виде вариаций урлов
    $home_page = get_url_var_str($indexs);

  • Подпись ([signature]) - в виде вариаций урлов с анкорами
    $signature = get_url_ankor_vars(array_merge($indexs,$maps));

  • Объявление ([post_text]) формируется из текста, чередующего со ссылками, текстом является ключевик, т.е.:
    key [url=$url]key[/url] key
    Для вариации текста сообщения используется встроенный синонимайзер хрумера.

    $post_text = get_xrumer_text($post_links,$limit);

  • Имя проекта ([project_name]) - можно генерить, можно задать вручную. У меня оно генерится в зависимости от типа и числа ссылок, учавствующих в проекте и подается на вход генератору проекта.

  • Остальные поля либо не заполняются либо заполняются самим хрумером кнопкой автозаполнения.

Исходники генератора


Скрипт в действии


Видео ролик , демонстрирующий интеграцию скрипта с доргеном.


Видео ролик , демонстрирующий работу отдельного скрипта.

Page: [1] [2] [3] [4] [5] [6] [7] [8]
Page created in 0.04672 seconds Powered by LastoBlog