Сегодня после долгих и упорных трудов реализовал практически все функции мультипостера. Среди нереализованного остались две функции: назначение кейвордов и дескрипшнов для каждой из статей. В принципе, это достаточно серьезные куски, но, с другой стороны, есть куча плагинов для SEO, которые смогут сделать это не хуже. Поэтому я не буду спешить с реализацией этих функций, тем более, что их не получится сделать слишком быстро.
Continue reading »
Сегодня мне пришла в голову интересная мысль: а что, если сделать плагин для синонимизации целых сайтов? Это будет выглядеть так:
- Запускаем WordSyn
- Открываем автоматический режим
- В качестве источника выбираем плагин для скачивания сайта и настраиваем его
- В качестве приемника выбираем плагин для сохранения файлов без потери форматирования
- Нажимаем кнопку Старт, и на выходе получаем папку со всеми файлами сайта-донора
Принцип работы связки плагинов таков:
Continue reading »
Начал расширять плагин, который используется в автоматическом режиме для чтения файлов с диска. Было решено добавить возможность указывать расширения, которы стоит использовать во время импорта текста. В настоящий момент будут читаться файлы txt, htm, html и rtf. Выбор типов файлов производится во время настройки плагина непосредственно перед запуском задачи пакетной обработки файлов.
Итак, сегодня, наконец-то, я закончил работу над пакетным режимом. Как и ожидалось, работа пакетного режима основана на взаимодействии с плагинами. В настоящий момент их два: последовательное чтение всех текстовых файлов из указанного каталога, и запись в другой каталог, с созданием идентичной структуры подкаталогов. Имена файлов используются те же, что и у оригинальных файлов. При этом пользователь может сам выбирать, в какой кодировке сохранять результат. В настоящий момент я даю на выбор две кодировки: UTF-8 и Windows-1251.
Continue reading »
Сегодня я начал работу над автоматическим режимом для синонимайзера. Работа автоматического режима будет основана на плагинах. Автомат разделен на три, в общем, независимые части.
Первая часть: провайдер чтения данных. Им может быть любой плагин, который берет данные из любого источника. Источники данных могут быть разными: файлы на диске, база данных, RSS, страницы сайта. В качестве провайдера для множественных данных могут служить любые плагины, реализующие интерфейс ICollectionReaderPlugin, который имеет все необходимые методы для навигации по коллекции элементов источника.
Continue reading »
В этом посте я расскажу о том, как собственно создавать плагин для программы WordSyn.
Рассмотрим построение плагина для публикации текстов на сайт под управлением WordPress 2.6, который имеет замечательную функцию “PostIt”. Если вкратце, то с помощью этой функции вы можете опубликовать на своем блоге любой текст, который выделите в браузере. Затем достаточно нажать заветную кнопку, и выделенный текст уже в форме для публикации на вашем блоге. Очень удобно!
Continue reading »
В этом посте я расскажу вам о том, как можно научить программу отыскивать плагины и распознавать их.
Для начала добавим в нашу программу небольшую функцию, которая будет искать плагины. Она выглядит следующим образом:
public static string PluginsDirectory =
"plugins";
public static Dictionary<string, IPlugin> ListPlugins
()
{
Dictionary<string, IPlugin> plugins =
new Dictionary
();
// папка с плагинами
string folder =
System.
AppDomain.
CurrentDomain.
BaseDirectory
+ PluginsDirectory;
if (Directory.
Exists(folder
))
{
// dll-файлы в этой папке
string[] files = Directory.
GetFiles(folder,
"*.dll");
foreach (string file
in files
)
{
try
{
Assembly assembly = Assembly.
LoadFile(file
);
foreach (Type type
in assembly.
GetTypes())
{
Type iface = type.
GetInterface("Interfaces.IPlugin");
if (iface !=
null)
{
IPlugin plugin =
(IPlugin
)Activator.
CreateInstance(type
);
plugins.
Add(plugin.
Name, plugin
);
}
}
}
catch
{
}
}
}
return plugins;
}
Continue reading »
Перед тем, как начинать работу над плагинами, необходимо научить программу их использовать. Для этого нужно выполнить несколько простых действий.
- Добавить в программу поддержку интерфейсов
- Научить программу работать с плагинами
Рассмотрим эти два пункта поближе.
Continue reading »
Итак, с назначением плагинов мы разобрались. Теперь надо сделать список тех вещей, которые можно будет делать с помощью плагинов. В целом, плагины можно разделить на две большие группы: плагины для ввода и плагины для вывода. Что именно можно будет делать с их помощью, описано ниже.
Continue reading »
Последние комментарии