Новости Joomla

Process Forge — фреймворк для создания AI-процессов.

Process Forge — фреймворк для создания AI-процессов.

На новогодних каникулах 2026 в одном из чатов Joomla-сообщества коллега по цеху поделился промптом для ИИ-агента и результатом этого промпта. За неделю до этого он впервые попробовал Gemini CLI. Я до этого ИИ пользовался только в веб версиях и в целом меня это устраивало. Увидев простыню текста, запрос в CLI и простыню ответа первое, что меня охватило: "Я НЕ ХОЧУ вот это всё изучать! Опять что-то новое, надоело...".

Потом были стадии проб и ошибок, попыток использовать готовые пакеты community skills с гитхаба с ролевым внушением "ты супер-пупер мега-бэкенд-Joomla разработчик с 40-летним опытом, сделай мне красиво". Где-то в середине этого полугодия я стал формализовать свои процессы (а это не только разработка, но и SEO, аналитика, бизнес-аналитика, проработка и выстраивание процессов и т.д., но в итоге это, как правило, или связано с или ведёт к сайту на Joomla). Формализация привела к моему пониманию некоторых базисов, которые общие для всех процессов. Об этом чуть ниже.

Теперь я хочу представить на суд уважаемой публике свои наработки по фреймворку для создания формализованных процессов работы для ИИ-агентов - Process Forge.

- Читать статью на Хабре
- Process Forge (GitHub)

@joomlafeed

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Ещё один генератор ИИ-файлов llms.txt и llms-full.txt.

Основные особенности/возможности компонента:

  • Генерация по стандарту: Автоматическое создание файла-визитки llms.txt и расширенной версии llms-full.txt с аннотированным списком материалов.
  • Интеллектуальная работа с контентом: Компонент использует мета-описания (Meta Description) из статей и пунктов меню, превращая SEO-настройки сайта в качественный контекст для нейросетей.
  • Просмотреть результат генерации файлов можно сразу в рабочей области компонента. После внесения корректив (через Настройки компонента. При отладке лучше открыть три вкладки в браузере: Настройка — Геренация/Превью — Список Материалов/Категории/Меню.) — проводим перегенерацию, смотрим результат до полной «победы».
  • Автоматизация и безопасность: Синхронизация с sitemap.xml, группировка по категориям и автоматическое создание резервных копий (.bak) при каждой генерации.
  • Гибкое управление: Возможность исключения определенных категорий и/или статей и/или пунктов меню, а также простая настройка через стандартную админпанель Joomla.
  • Подробное руководство/справка: Пошаговая инструкция для пользователя в Настройках компонента для редакторов с базовым знанием администрирования Joomla.

👉 Важно учесть.
1️⃣ Компонент Генератор LLMs.txt изначально составляет базовый список ссылок на основе sitemap.xml и сверяется с ним на предмет: запрета индексации url в robots.txt, тегов noinex/nofollow. Это экономит время на проверку «закрыть от индексации», поскольку компонент генерации Sitemap.xml уже реализовал эту задачу. Посему, формирование ссылок для ИИ имеет комплексный подход, составление грамотного/валидного/релевантного sitemap.xml никто не отменял.

2️⃣ Тексты-описания ссылок формируются из Meta Description com_content (только компонент Материалы) и выбранных пользователем Меню сайта. Важно, чтобы Meta Description были уникальными и релевантными, соответствовали базовому seo. Составленные «на отшибись» Description для ИИ — «не катит» (впрочем, для поисковых систем они тоже «не канали»).

Разработчик - участник нашего сообщества Александр Кузнецов (@newvksan).

Страница расширения

@joomlafeed

#joomla #ии #ai

0 Пользователей и 1 Гость просматривают эту тему.
  • 177 Ответов
  • 21856 Просмотров
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
может под Joomla 1.7 ещё допилите?
А то ушел я с 1.5... Думаю не только я ;)
Я с мобильного, в основном...
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
на локалке с мутулзом глюки всё же бывают. на серваке тоже будут, надо полагать.
при первом нажатии неправильно считается высота спойлера и виден тольок самый край первой картинки.
*

staticlight

  • Завсегдатай
  • 1086
  • 65 / 0
  • Staticlight
на локалке с мутулзом глюки всё же бывают. на серваке тоже будут, надо полагать.
при первом нажатии неправильно считается высота спойлера и виден только самый край первой картинки.

Подтверждаю, есть такое.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
собственно, про это я изначально писал - для квери скрипт сторонний используется, а мутулзовый вариант - короткий, и использует стандартную библиотеку, т.е "чёрный ящик", в котором нет проверки изменения содержимого блока.
вариант 1 - переписать библиотеку отдельным скриптом. но это нужен мутулз-программер.
вариант 2 -  приделать костыль.
а именно -активировать функцию спойлера только по факту загрузок всех картинок внутри него, вывесив в заголовке спойлера бегунок загрузки, чтобы юзер видел, что не просто всё умерло, а идёт загрузка.
это можно сделать.
Аркадий, вот вариант "на подумать" - вроде пашет, но без вывода бегунка :

Код
/* Spoiler by http://irridium.spb.ru/articles/show/116 */

window.addEvent('domready', function() {

    var spoilers = $$('.spoiler');
    spoilers.getElement('.sp-head').addClass('folded');

    spoilers.each(function(element) {
        var fx_sp_opac = new Fx.Styles(element.getElement('.sp-body'), {
            duration: 400,
            transition: Fx.Transitions.Expo.easeInOut
            });
        var fx_sp_slide = new Fx.Slide(element.getElement('.sp-body'), {
            duration: 400,
            onStart: function() {
                fx_sp_opac.start({
                    'opacity': [0.5, 1]
                    });
            }
        });
 
    fx_sp_slide.hide();
        element.getElement('.sp-head-click').addEvent('click', function(){
            element.getElement('.sp-head').toggleClass('unfolded');
            //для подгрузки картинок после открытия спойлера
var p_count=0; // счётчик картинок внутри спойлера
var is_first=0; // индикатор "открывался ли спойлер с изображениям"
            var images = element.getElements('.spoilerimage');       
            $each(images, function(item) {
                var $href = item.getProperty("data_src");
                if($href != 'undefined' && $href != null){
is_first=1; //служебный атрибут не был удалён, значит - первое открытие спойлера!
                    item.setProperty("src", $href);                                           
                    item.removeProperty("data_src");


item.addEvent("load", function(){ //функция проверки загрузки всех изображений
p_count++;
if (p_count==images.length) {
alert(p_count);
fx_sp_slide.toggle();
}

});


                }
            });

         if(is_first==0) fx_sp_slide.toggle();//если спойлер уже открывался, то обрабатываем нажатие. в противном случае ждём пока сработает "load"
is_first=0;

        });
    });
});



*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
чуть допилил мутулзовый вариант:
при нажатии на спойлер вместо стрелочки появляется индикатор загрузки, и, как только все картинки внутри спойлера загрузятся, он плавно раздвигается.
заодно поменял иконку загрузки для квери, а то там синие цвета - не айс ).
зы
проверил на серваке - вроде робит. правда, странный глюк был - вместо якорной ссылки у меня редиректилось на главную. поэтому дописал немножко код, чтобы якорь крепился к текущему урлу, так - надёжнее )

теперь настройка скорости анимации действует и на мутулз.
внимание! строковое значение скорости (fast / slow) теперь НЕ поддерживается. ставим число от 100 до 800. в XML внёс поправку в описание и немного перекидал местами пункты, чтобы была общая часть настроек и "чисто квери".


демка тут (не стал делать ссылкой, чтобы не индексировалось :) )
_http://effrit.com/index.php?option=com_content&view=article&id=6#spoiler_0
во втором спойлере внешние картинки, которые почему-то ищутся на моём сайте (проверьте, пожалуйста, как внешние картинки у вас обрабатываются). т.к. картинки получились заведомо битые, загрузка "зависает", но при этом по второму нажатию слайдер всё равно откроется.

[вложение удалено Администратором]
*

skai

  • Завсегдатай
  • 1198
  • 153 / 1
  • skaiseo
- скорость анимации не меняется..  остальное тестирую.
- «свернуть предыдущие» при открытии новых не работает
- «Один должен быть открыт» тоже не срабатывает  ...хм.. вообщем у меня что-то на настройки нифига не реагирует.

« Последнее редактирование: 30.07.2011, 13:20:18 от skai »
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
- скорость анимации не меняется..  остальное тестирую.
- «свернуть предыдущие» при открытии новых не работает
- «Один должен быть открыт» тоже не срабатывает  ...хм.. вообщем у меня что-то на настройки нифига не реагирует.
Мутулзовый вариант в самом деле не подлежит настройке. Настраивается только jquery.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
effrit, подожди немножко, я настройками занимаюсь, скоро выложу со всем, что можно настраитвать.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Проверь свой редактор, я вставлял через Tiny ссылку-урл картинки на другом сайте, все в порядке. Проблема должно быть в редакторе.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Начал внедрять настройки в мутулзовскую часть, столкнулся с проблемой - не могу заставить свернуть все слайды сразу (нужно для нормальной работы слайдера в режиме открыл один слайд - предыдущий закрылся). Голову сломал уже, так-что работа застопорилась посередине, половину настроек сделал. Думаю о замене мутулзовского скрипта.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
я так понимаю, что для этого режима не обязательно закрывать все. достаточно закрыть предыдущий, вызвав для него toggle();
т.е. алгоритм такой:

по нажатию проверить был ли "предыдущий нажатый".
if (был)
     {
      (сравнить его с текущим)
          if (предыдущий<>текущий) toggle('предыдущий');
     }
else {запомнить 'предыдущий'}

.... тут код обработки нажатия на заголовок


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



*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Проблема в том, что получить предыдущий открытый не получится (нет такого метода в этом классе), как вариант в таком случае запускать аккордеон вместо спойлера, но геморно это, хотя решаемо. Для публикации на JED стыдно выкладывать полурабочий (в смысле мутулзов) вариант. Надо еще немного поднапрячься.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Arkadiy, а почему не получится?
достаточно просто реализовать.
для начала, привязываем каждому спойлеру свой идешник:

    spoilers.each(function(element, id_num) {
    $(element).set('id', id_num);

создаём переменную для хранения предыдущего ид-шника.
дальше - дело техники. алгоритм выше написан :)
а для проверки, раскрыт или нет предыдущий спойлер используем функцию

element.getElement('.sp-head').hasClass('unfolded');


должно сработать )
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
А если несколько открытых? настройки предполагают множество открытых спойлеров при первой загрузке
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
ну дык, имея идешники можно управлять как хошь поведением.
там функция при инициализации вызывается - она первоначально и свёртывает слайды

fx_sp_slide.hide();

заменяешь на перебор из массива по принципу

if (id_num==1) fx_sp_slide.hide();

и усё )
но для "картиночных" этот метод не подойдёт, т.к. не будет события по которому подгрузятся аяксовые картинки
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
вот, реализовал сворачивание предыдущего
думается, что, по добавлении обработки "развёрнуты при старте", функционала хватит за глаза 99 процентам страждущих ).


[вложение удалено Администратором]
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
у меня не пошло Joomla 1.5.15.
Код
String contains an invalid character"  code: "5
http://virt11/media/system/js/mootools.js
Line 38
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
дык ты бы ещё на 1.0 поставил )).
на старом мутулзе не робит. требуется мутулз_апгрейд включёный.
не совсем кашерно, конечно, но я и новый то не знаю, не то что под старый что-то допиливать )
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Arkadiy, кстати, можно и для функции "оставить развёрнутыми" оставить работоспособный AJAX.
просто надо будет номера спойлеров отслеживать ещё на стадии php-обработки и не делать выбранным блокам замену src на data-src.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Это я уже сделал, на твоем спойлере запустил на 1.5.22, всеравно не работает, заменил get('id') на getProperty('id'), set('id') на setProperty('id'), вроде заработало, но при открытии спойлера он начинает качаться, то открывается, то закрывается, у тебя тоакого не наблюдается? пробовал в фф и хроме, результат один.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Пробовал скрипт из 1.3.5, работает нормально, из 1.3.6 после правки get('id') на getProperty('id') и т.п. заводится, но начинает хлопать туда-сюда, видимо где-то косяк лежит.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
не логично. тогда бы и у меня не работало. ) смотри пример с хостинга - пашет же нормально )
поди конфликтует с чем-нить. на локалке на чистую залей попробуй
*

staticlight

  • Завсегдатай
  • 1086
  • 65 / 0
  • Staticlight
да вроде робит.  на хостинге обновил, сам смотри - у волшебника Сулеймана... :)
http://effrit.com/index.php?option=com_content&view=article&id=6


Если на самую нижнюю ссылку "скрытый текст" нажать, то появляется анимированная gif-картинка загрузки и все, спойлер на раскрывается. Нажимаешь 2 раз - скрытый текст появляется, гифка не исчезает (FF5).
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
staticlight, я выше про это писал. это не косяк плагина. там битые пути к картинкам, поэтому загрузка "повисает" ).
оставил как пример того, как выглядит ошибка подгрузки картинок )
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как добавить enclosure в картинки в RSS потока?

Автор eldar2005

Ответов: 28
Просмотров: 10026
Последний ответ 27.05.2017, 11:37:44
от eldar2005
Как показывать баннер (модуль) только для мобильных устройств?

Автор Escander

Ответов: 9
Просмотров: 4793
Последний ответ 27.10.2016, 12:26:56
от Escander
JCH_Optimize Plugin - оптимизирует загрузку страницы. Работает.

Автор Beer

Ответов: 16
Просмотров: 10759
Последний ответ 03.10.2016, 22:33:02
от SeBun
Модуль лезет на все страницы, а должен быть только на главной.

Автор landgraf

Ответов: 23
Просмотров: 13714
Последний ответ 13.05.2016, 13:22:37
от akteon25
Только на главной странице не отображаются Keywords и Description

Автор dobriibobr

Ответов: 3
Просмотров: 2357
Последний ответ 18.06.2014, 01:48:55
от dobriibobr