Новости Joomla

Компонент 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

👩‍💻 WT LLMs для Joomla: llms.txt, llms.json для AI-агентов.

👩‍💻 WT LLMs для Joomla: llms.txt, llms.json для AI-агентов.

Это Joomla-компонент для публикации AI-ready карты сайта и автоматической генерации файлов llms.txt, llms-full.txt и llms.json по концепции llmstxt.org.  Также о концепции llms.txt говорит Google в своей справке Lighthouse. Решение помогает LLM-моделям, AI-агентам, GEO/AI SEO-процессам и внутренним автоматизациям получать структурированные данные о сайте без ручной сборки JSON и Markdown.

С помощью WT LLMs можно:
- создать структурированное описание сайта для AI-агентов;
- управлять профилем сайта, картой интентов и каноническими страницами для этих интентов из админки Joomla;
- генерировать llms.txt и llms.json;
- использовать REST API для автоматического заполнения данных;
- отдавать публичную schema-инструкцию для AI-агентов;

В комплект компонента входит плагин markdown-версии страниц Joomla. Системный плагин Joomla, который добавляет альтернативное Markdown-представление страниц сайта. Он позволяет отдавать содержимое страницы в более чистом текстовом формате, удобном для AI-агентов, LLM, поисковых систем и технических интеграций.
Плагин добавляет в ссылки на AI-файлы.

Пакет подходит для сайтов на Joomla 5+, которым важно сделать контент понятнее для LLM, AI-поиска, ассистентов и будущих систем машинного чтения.

Видео:
- ВК Видео
- RuTube
- YouTube

Ссылки:
Страница расширения
GitHub

@joomlafeed

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

Всем привет,

пожалуйста помогите кто может.
Очень нужно переделать мамбот, который без проблем работал под старой Joomla, чтобы работал в "Native Mode" на новой 1.5.
Мамбот был частично ориентирован на JoomPie. Т.е. я его переделал так, что он работал с флэшем "Line & Area chart" от Amcharts.

Плагин функционирует (под Joomla 1) таким образом:
В статьях контента можно вводить следующее:
Код
{kursline}
{klmode}inline{/klmode}
{kldata}1949;2.54;20.21|1950;2.51;19.73|1951;2.53;18.43|1952;2.53;18.08{/kldata}
{klwidth}500{/klwidth}
{klheight}400{/klheight}
{kllabel}Current Index{/kllabel}
{/kursline}
или вот это:
Код
{kursline}
{klmode}datex{/klmode}
{klattitude}amline_oi_settings.xml{/klattitude}
{kldatei}oiz_2charts.txt{/kldatei}
{klwidth}630{/klwidth}
{klheight}440{/klheight}
{kllabel}Index Notes{/kllabel}
{/kursline}


Эти данные через PHP-файл плагина коммуницируют с флэшем и получаются вот > такие симпатичные графики.
PHP-скрипт плaгина выглядит следующим образом:

..................................................................................

<?php
// no direct access
defined('_JEXEC') or die("Direct Access Is Not Allowed");

global 
$mainframe;
$mainframe->registerEvent'onPrepareContent''kursline' );

function 
klParam$name$tags ) {
    
$paramregex '/{kl'.$name.'}(.*){\/kl'.$name.'}/s';
    
$paramresult preg_match($paramregex$tags[1],$result);
    return 
$result;
}

function 
kursline$published, &$row  ) {
    global 
$database;
    if (!
$published) {
        
$row->text preg_replace'/{kursline}(.*){\/kursline}/s',''$row->text );
        return 
true;
    }

    
$version "1.1";
    
$regex '/{kursline}(.*){\/kursline}/s';
   
   
// Get Parameters from Content
   
    
$result preg_match$regex$row->text$tags );
      
    
$debug klParam("debug"$tags);
    
$mode klParam("mode"$tags);
    
$chart klParam("chart"$tags);
    
$data klParam("data"$tags);
    
$datei klParam("datei"$tags);
    
$attitude klParam("attitude"$tags);
    
$sql klParam("sql"$tags);
    
$width klParam("width"$tags);
    
$height klParam("height"$tags);
    
$colors klParam("colors"$tags);
    
$basecolor klParam("basecolor"$tags);
    
$bgcolor klParam("bgcolor"$tags);
    
$digitsafterdecimal klParam("digitsafterdecimal"$tags);
    
    
    
// Get Parameters from Backend
   
    
$query "SELECT id FROM #__mambots WHERE element = 'kursline' AND folder = 'content'";
    
$database->setQuery$query );
    
$id $database->loadResult();
    
$mambot = new mosMambot$database );
    
$mambot->load$id );
    
$mambotParams =& new mosParameters$mambot->params );
   
   
// Use Content-Parameters or Backend-Defaults
   
    
if($debug[1]==""$debug[1] = $mambotParams->get'debug''0' );
    if(
$chart[1]==""$chart[1] = $mambotParams->get'chart''default' );
    if(
$width[1]==""$width[1] = $mambotParams->get'width''500' );
    if(
$height[1]==""$height[1] = $mambotParams->get'height''500' );
    if(
$bgcolor[1]==""$bgcolor[1] = $mambotParams->get'bgcolor''#ffffff' );
    if(
$digitsafterdecimal[1]==""$digitsafterdecimal[1] = $mambotParams->get'digitsafterdecimal''2' );
    
    
// ...............................
    
    
if($debug[1] == 1) {
    echo 
"<pre>";
        
$row->text print_r($mode);    
        
$row->text print_r($chart);
        
$row->text print_r($sql);
        
$row->text print_r($width);
        
$row->text print_r($height); 
        
$row->text print_r($label);
        
$row->text print_r($basecolor);
        
$row->text print_r($data);
        
$row->text print_r($bgcolor);
    echo 
"</pre>";
    }


   global 
$mosConfig_live_site;
   
   
$repl  "\n".'<!-- KURSLINE v'.$version.' START -->'."\n";
    
$repl .= '<script type="text/javascript" src="';
    
$repl .= $mosConfig_live_site;
    
$repl .= '/mambots/content/kursline/amline/swfobject.js"></script>'."\n";
    
$repl .= '<div id="flashcontent_line"><strong>You need to upgrade your Flash Player</strong></div>';
    
$repl .= '<script type="text/javascript">'."\n";
    
$repl .= '    // <![CDATA['."\n";        
    
$repl .= '    var so = new SWFObject("';
    
$repl .= $mosConfig_live_site;
    
$repl .= '/mambots/content/kursline/amline/amline.swf", "amline", "'.$width[1].'", "'.$height[1].'", "8", "'.$bgcolor[1].'");'."\n";
    
$repl .= '    so.addVariable("path", "';
    
$repl .= $mosConfig_live_site;
    
$repl .= '/mambots/content/kursline/amline/");'."\n";
    
    if(
$mode[1] == "file") {
        
$repl .= '    so.addVariable("settings_file", "';
        
$repl .= $mosConfig_live_site;
        
$repl .= '/mambots/content/kursline/charts/default/amline_settings.xml");'."\n";
        
$repl .= '    so.addVariable("data_file", "';
        
$repl .= $mosConfig_live_site;
        
$repl .= '/mambots/content/kursline/charts/default/amline_data.txt");'."\n";
    }
    
    if(
$mode[1] == "datex") {
        
$repl .= '    so.addVariable("settings_file", "';
        
$repl .= $mosConfig_live_site;
        
$repl .= '/images/stories/charts/settings/'.$attitude[1].'");'."\n";
        
$repl .= '    so.addVariable("data_file", "';
        
$repl .= $mosConfig_live_site;
        
$repl .= '/images/stories/charts/'.$datei[1].'");'."\n";
    }
        
    if(
$mode[1] == "inline") {
        if( !empty(
$data) ) {
            
$repl .= '    so.addVariable("settings_file", "';
            
$repl .= $mosConfig_live_site;
            if(empty(
$chart)) {
                
$chart "default";
            }
            else {
                
$chart $chart[1];
            }
            
$data[1] = str_replace("|","\\n",$data[1]);
            
$repl .= '/mambots/content/kursline/charts/'.$chart.'/amline_settings.xml");'."\n";
            
$repl .= '    so.addVariable("chart_data", escape("'.$data[1].'"))'."\n";
        }
    }
    
    if(
$mode[1] == "sql") {
        
$sql $sql[1];
        
$database->setQuery$sql );
        
$sqldata $database->loadRowList();
        foreach(
$sqldata as $data) {
            if(!empty(
$data[1])) {
                
$sqlitems .= $data[0].";".$data[1].";".'\n';
            }
        }
        
$repl .= '    so.addVariable("settings_file", "';
        
$repl .= $mosConfig_live_site;
        if(empty(
$chart)) {
            
$chart "default";
        }
        else {
            
$chart $chart[1];
        }
        
$repl .= '/mambots/content/kursline/charts/'.$chart.'/amline_settings.xml");'."\n";
        
$repl .= '    so.addVariable("chart_data", escape("'.$sqlitems.'"))'."\n";
    }
    
    
$repl .= '    so.addVariable("additional_chart_settings", "';
    
$repl .= '<settings>';
    
    
    
    
// Global
    
$repl .= '<data_type>csv</data_type><font>Arial</font><text_size>'.$textsize[1].'</text_size>';
    if( !empty(
$digitsafterdecimal) ) {
        
$repl .= '<digits_after_decimal>'.$digitsafterdecimal[1].'</digits_after_decimal>';
    }
    
    
    
// ...............................
    
    
    
$repl .= '<export_as_image><file>../../mambots/content/kursline/amline/export.php</file><color>#69adc1</color><alpha>50</alpha></export_as_image>';
    
$repl .= '</settings>");'."\n";
    
    
$repl .= '    so.write("flashcontent_line");'."\n";
    
$repl .= '    // ]]>'."\n";
    
$repl .= '</script>'."\n";
    
$repl .= '<!-- KURSLINE v'.$version.' END -->'."\n"
   
   
$regex '/{kursline}(.*){\/kursline}/s';
   
$row->text preg_replace($regex$repl$row->text);
   return 
true;
}

.....................................................................................

Буду невероятно признателен за любую помощь.
Огромное спасибо заранее!
Андрей
« Последнее редактирование: 13.03.2009, 13:49:59 от letinant »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Надо переделать готовый компонент Генератор Купонов J2.5 на J1.5

Автор mkoff

Ответов: 3
Просмотров: 2542
Последний ответ 18.12.2014, 10:22:04
от assa1988
Шаблонизация компонентов в Joomla1.5. Первый взгляд.

Автор userxp

Ответов: 29
Просмотров: 25582
Последний ответ 30.01.2011, 23:56:42
от shprota