Профессиональный рандомизатор текста и генератор объявлений от Айрата Халитова / Professional text randomizer and ad generator. Author: Airat Halitov
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
includes/Natty
languages
.gitignore
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
ad-generator.php
composer.json
readme.txt

README.md

Ad Generator

Профессиональный рандомизатор текста и генератор объявлений от Айрата Халитова / Professional text randomizer and ad generator. Author: Airat Halitov

Description

Профессиональный рандомизатор текста и генератор объявлений от Айрата Халитова / Professional text randomizer and ad generator. Author: Airat Halitov

Installation

  1. Visit 'Plugins > Add New'
  2. Click 'Upload Plugin'
  3. Upload the file 'ad-generator.zip'
  4. Activate Ad Generator from your Plugins page.
  5. Add [ad_generator] shortcode to WordPress Page.

Configuration

  1. Create new WordPress Page, add [ad_generator] shortcode and save
  2. Go to page and use ad generator
  3. Enjoy

Screenshots

In Russian:

ad-generator rus

In English:

ad-generator eng

Gif Animation of Process:

ad-generator animation


Документация

Что такое рандомизатор текста?

Это - программа для промышленного создания псевдоуникального контента. Используется, например, при регистрации сайта во множестве каталогов. Чтобы в каждом каталоге сайт описывался уникальным с точки зрения поисковиков текстом. В отличие от аналогичных инструментов (синонимайзеры, доргены) позволяет максимально сохранить читабельность результирующих текстов.

Как работает рандомизатор?

Берем некий исходный текст. Например:

Бытует мнение, что и копирайтинг (написание текстов) и рерайтинг (переработка готовых текстов) с успехом можно доверить текстовому рандомизатору – специальной программе.

Обрабатываем его специальным образом:

  1. Если "текст 1" можно заменить на "текст 2" или на "текст 3", то вместо "текст 1" вставляем инструкцию {текст 1|текст 2|текст 3}.
  2. Если "текст" можно опустить, то вместо "текст" вставляем инструкцию {|текст}.
  3. Если можно перемешать последовательность "текст 1 текст 2 текст 3", то вместо нее вставляем инструкцию [текст 1|текст 2|текст 3].
  4. Если можно перемешать последовательность "текст 1, текст 2, текст 3", то вместо нее вставляем инструкцию [+,+текст 1|текст 2|текст 3].
  5. Если можно перемешать абзацы "абзац1 абзац2 абзац3", то можно просто писать абзац1|абзац2|абзац3.
  6. Если нужно вставить в текст какой-то спецсимвол {, }, |, [, ], + или \, то его следует экранировать: \{, \}, \|, \[, \], \+ или \\.
  7. Если нужно вставить случайное число - шаблон %rand% возвращает случайное число от 0 до 9

Инструкции могут иметь неограниченную вложенность.

Вариант обработки на скорую руку:

{ {Бытует|Существует|Есть|Имеется} мнение|{Некоторые|Многие} думают}, что и
[+и+
 {копирайтинг (написание текстов)
 |написание текстов (копирайтинг)
 |написание текстов
 |копирайтинг
 }
|{рерайтинг (переработку готовых текстов)
 |переработку готовых текстов (рерайтинг)
 |переработку готовых текстов
 |рерайтинг
 }
] [{|с успехом}|можно] доверить
[+–+{текстовому рандомизатору|рандомизатору {|текста|текстов}}
|{специальной|особой} {программе|проге}
].

Скармливаем этот код рандомизатору и получаем кучу вариантов, таких как:

Некоторые думают, что и написание текстов и рерайтинг (переработку готовых текстов) с успехом можно доверить особой программе – рандомизатору.

или

Есть мнение, что и переработку готовых текстов и написание текстов можно доверить текстовому рандомизатору – особой проге.

Для приведенного в примере кода существует 24576 различных вариантов результирующих текстов.

Итак, повторим:

  • {текст 1|текст 2|текст 3} - перебор
  • [текст 1|текст 2|текст 3] - перестановки
  • [+разделитель+текст 1|текст 2|текст 3] - перестановки с разделителем
  • { } | [ ] + \ - экранизация спецсимволов в виде \{, \}, \|, \[, \], \+ или \\
  • %rand% возвращает случайное число от 0 до 9
  • Поддерживается вложенность дирректив

Примеры шаблонов

Пример шаблона объявления для ниши «Ремонт квартир»

Попробуйте вставить его в рандомизатор и посмотрите, что получится на выходе. Это объявления можно публиковать на авито.

Заголовок объявления:

Ремонт {квартир|офисов|коттеджей} под ключ. Гарантия, {бригада|качество}

Текст объявления:

Бригада {высококвалифицированных|опытных|ответственных} {ремонтников|работников|мастеров} {выполнит|произведет} {качественный|профессиональный} ремонт {Вашей квартиры|Вашего дома|Вашего жилища} по {разумной|приемлемой} {цене|стоимости}. {У нас|Мы|Ищите у нас|Почему мы|Обращайтесь к нам}:
— {Закупка стройматериалов по {оптовым|сниженным} {ценам|расценкам}|Выполнение {всех видов|любых} работ в {кратчайшие|минимальные} сроки}.
— {{Все|Наши} {рабочие|ремонтники} — граждане РФ|{Опыт|Стаж} {всех|наших} {рабочих|сотрудников|строителей} {5|6|7} лет}.
— Гарантия на {все виды работ|{любые|выполненные} работы} {1|2|3} года.
— {{Все|Любые} виды {ремонтно-отделочных|ремонтных|отделочных} работ {любой сложности|»от А до Я»|под ключ}.|Выезд {специалиста|замерщика} для консультации и замера — БЕСПЛАТНО!}
{===|* * *|***|# # #|~ ~ ~|- — -|___}
{->>|=>|>>|->} ТОЛЬКО до %DATE {действует|работает} СКИДКА на {ремонт|проведение ремонта} {квартир|помещений|Вашей квартиры} «под ключ» – {15|20|10}%!!!
{✆|☏|►} {ЗВОНИТЕ ПО ТЕЛЕФОНУ|ТЕЛЕФОН|ЗВОНИТЕ|Звоните прямо СЕЙЧАС|Звоните и заказывайте БЕСПЛАТНЫЙ замер}: %PHONE

Changelog

1.3.2

  • Добавлены айдишники к выбору количества результатов
  • Обновлен URL лицензии
  • Добавлены скриншоты в README.md
  • Обновлены файлы для репозитория GitHub (DOCUMENTATION, ISSUE_TEMPLATE, README)
  • Изменен регистр названия репозитория Ad-Generator -> ad-generator
  • Обновлены файлы переводов

1.3.1

  • Форматирование вывода результатов
  • Обновлены файлы переводов

1.3.0

  • Добавлена возможность выбора количество отображаемых результатов

1.2.3

  • %rand% возвращает случайное число от 0 до 9
  • Исправлена ошибка с лишними символами \
  • Форматирование и оптимизация кода

1.2.2

  • Теперь работает поддержка разных языков (пока русский и английский)

1.2.1

  • Добавил автоматические обновления через GitHub Updater
  • Поправил changelog.md
  • Прописал метаданные пакета
  • Поправил /languages/
  • Поправил шаблон генератора

1.2.0

  • Добавил поддержку языковых файлов
  • Добавил русские и английские переводы
  • Обновил "рыбу" для рандомизации
  • Уменьшил макс. число символов в форме до 4000

1.1.1

  • Добавлены айдишники ко всем полям и элементам
  • Настроена ширина поля. Оптимизация под мобильники
  • Визуальные настройки отображения элементов
  • Добавил поддержку composer (файл composer.json)
  • Расширил ISSUE_TEMPLATE.md
  • Оптимизация кода

1.1.0

  • Решена проблема с множественными пробелами
  • Добавлена ссылка на проект GitHub
  • Добавлена кнопка очистки результатов
  • Настроено визульное оформление результатов
  • Обработка частных случаев разного количества результатов
  • Очистка вывода от обилия слешей

1.0.2

  • Решил проблему с переносом строк
  • Добавил файлы для GitHub
  • Настроил правильный вывод результатов

1.0.1

  • Объединил всё в одну функцию. Убрал лишнее и поправил ошибки
  • Проверил на тестовом сайте - всё работает Дальше:
  • Нужно навести красоту
  • Сделать так, чтобы генерировалось с переносами строк

1.0.0

  • Initial Release

Contributing

Firstly, thanks for even thinking about contributing. You're awesome!

To make things easier we've created these guidelines:

Issues:

  • When opening an issue please keep it to one bug / enhancement / question etc. this to simplify the discussion.
  • Please test the master branch to confirm the issue still exists.
  • Be as descriptive as you can. Screen shots are always welcome.

Pull Requests

  • The general rule is to use 1 PR for 1 Issue. This helps the merge master quickly figure out how the new code affects the plugin.
  • All Pull Request must be made from int "master". You will be responsible for checking that your branch is up to date.
  • All pull requests must be related to an existing / new issue.
  • If you have the chops please include Unit Tests along with your Pull Request.

We appreciate all your efforts. Your contributions make Ad-Generator even better!