При работе с системой помощи HelpNDoc, разработчики могут сталкиваться с необходимостью обновления информации в полях различных разделов. Одно из таких полей – это Description, которое используется поисковыми системами при индексации HTML-помощи. Со временем информация в этих полях может устаревать, и возникает потребность в массовом обновлении.
Проблема
Предположим, что вы добавляли темы в свою помощь на протяжении многих лет, и теперь некоторые из этих описаний нуждаются в обновлении. Например, вам необходимо заменить все упоминания фразы "Midweek Editor" на "Meeting Editor". В HelpNDoc нет встроенной возможности для массового обновления свойства Description.
Решение
Для решения этой задачи можно использовать API HelpNDoc, который позволяет создавать и выполнять скрипты с помощью встроенного Script Editor. Вам понадобится объект HndTopics, который содержит полезные методы, такие как GetTopicDescription и SetTopicDescription, для работы с описаниями тем.
Пример кода
Вот пример кода на Object Pascal, который демонстрирует, как можно обновить описания тем, заменив одну фразу на другую:
var
// Текущий идентификатор темы
aTopicId, aTopicDesc, aTopicDescNew: string;
begin
try
// Получаем первую тему
aTopicId := HndTopics.GetTopicFirst();
// Проходим по всем темам
while aTopicId <> '' do
begin
// Содержит ли описание темы искомую фразу?
aTopicDesc := HndTopics.GetTopicDescription(aTopicId);
if (Pos('Midweek Editor', aTopicDesc) <> 0) then
begin
// Заменяем фразу и устанавливаем новое описание
aTopicDescNew := StringReplace(aTopicDesc, 'Midweek Editor', 'Meeting Editor', [rfReplaceAll]);
HndTopics.SetTopicDescription(aTopicId, aTopicDescNew);
// Выводим старое и новое описание
Print('Old: ' + aTopicDesc);
Print('New: ' + aTopicDescNew);
end;
// Получаем следующую тему
aTopicId := HndTopics.GetTopicNext(aTopicId);
end;
finally
end;
end.
Этот скрипт проходит по всем темам, находит те, в описании которых присутствует фраза "Midweek Editor", и заменяет её на "Meeting Editor".
Важные моменты
Убедитесь, что вы понимаете, как работает API HelpNDoc, прежде чем запускать скрипт.
Всегда делайте резервную копию вашего проекта перед выполнением массовых операций.
Проверьте результаты после выполнения скрипта, чтобы убедиться, что все изменения были внесены корректно.
Используя эти советы, вы сможете эффективно обновлять тексты в поле Description HelpNDoc, экономя время и усилия.
Пример использования API HelpNDoc для массового обновления описаний тем, замены устаревших фраз на актуальные.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS