diff --git a/docs/antora.yml b/docs/antora.yml
index 1f9d188..5fd0674 100644
--- a/docs/antora.yml
+++ b/docs/antora.yml
@@ -20,3 +20,8 @@
 version: 3.13.x
 nav:
 - modules/ROOT/nav.adoc
+
+asciidoc:
+  attributes:
+    requires: "'util=camel-website-util,karaf=xref:js/karaf.js'"
+
diff --git a/docs/modules/ROOT/examples/js/karaf.js b/docs/modules/ROOT/examples/js/karaf.js
new file mode 100644
index 0000000..91d3be4
--- /dev/null
+++ b/docs/modules/ROOT/examples/js/karaf.js
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+const KARAF_GROUPID = 'org.apache.camel.karaf'
+
+module.exports = {
+  v: function (name, kind, $) {
+    return $[kind][name]
+  },
+
+  extensionRef: function (version, module, kind, $) {
+    const thing = $[kind]
+    const name = thing.name.startsWith('bindy') ? 'bindy' : thing.name
+    const pageName = kind === 'other' ? name : `${name}-${kind}`
+    if (thing.groupId === KARAF_GROUPID) {
+      return `xref:${pageName}.adoc[${thing.title}]`
+    }
+    return `xref:${version}@components:${module}:${pageName}.adoc[${thing.title}]`
+  },
+
+  deprecatedFilterComponent: function (items) {
+    return deprecatedFilter(items, 'component')
+  },
+
+  sortComponent: function (items) {
+    return sort(items, 'component')
+  },
+
+  deprecatedFilterDataformat: function (items) {
+    return deprecatedFilter(items, 'dataformat')
+  },
+
+  sortDataformat: function (items) {
+    return sort(items, 'dataformat')
+  },
+
+  deprecatedFilterLanguage: function (items) {
+    return deprecatedFilter(items, 'language')
+  },
+
+  sortLanguage: function (items) {
+    return sort(items, 'language')
+  },
+
+  deprecatedFilterMiscellaneous: function (items) {
+    return deprecatedFilter(items, 'other')
+  },
+
+  sortMiscellaneous: function (items) {
+    return sort(items, 'other')
+  },
+}
+
+function deprecatedFilter (items, kind) {
+  return items.filter((item) => item.$[kind].deprecated === true)
+}
+
+function sort (items, kind) {
+  return items.sort((f1, f2) => {
+      const t1 = f1.$[kind].title.toLowerCase()
+      const t2 = f2.$[kind].title.toLowerCase()
+      return t1 < t2 ? -1 : t1 > t2 ? 1 : 0
+    }
+  )
+}
diff --git a/docs/modules/ROOT/pages/components.adoc b/docs/modules/ROOT/pages/components.adoc
index 0b69888..3e1adc3 100644
--- a/docs/modules/ROOT/pages/components.adoc
+++ b/docs/modules/ROOT/pages/components.adoc
@@ -4,923 +4,40 @@
 
 == Camel Components
 
-// components: START
-Number of Camel components: 204 in 204 JAR artifacts (1 deprecated)
+:indexer-module: ROOT
+:indexer-rel-filter: json/components/*.json
+:indexer-kind: component
+:indexer-human-readable-kind: Component
+:indexer-human-readable-kind-plural: components
 
-[width="100%",cols="4,1,5",options="header"]
-|===
-| Component | Since | Description
-
-| xref:3.13.x@components::activemq-component.adoc[ActiveMQ] (camel-activemq) +
-`activemq:destinationType:destinationName` | 1.0 | Send messages to (or consume from) Apache ActiveMQ. This component extends the Camel JMS component.
-
-| xref:3.13.x@components::amqp-component.adoc[AMQP] (camel-amqp) +
-`amqp:destinationType:destinationName` | 1.2 | Messaging with AMQP protocol using Apache QPid Client.
-
-| xref:3.13.x@components::arangodb-component.adoc[ArangoDb] (camel-arangodb) +
-`arangodb:database` | 3.5 | Perform operations on ArangoDb when used as a Document Database, or as a Graph Database
-
-| xref:3.13.x@components::as2-component.adoc[AS2] (camel-as2) +
-`as2:apiName/methodName` | 2.22 | Transfer data securely and reliably using the AS2 protocol (RFC4130).
-
-| xref:3.13.x@components::asterisk-component.adoc[Asterisk] (camel-asterisk) +
-`asterisk:name` | 2.18 | Interact with Asterisk PBX Server.
-
-| xref:3.13.x@components::ahc-component.adoc[Async HTTP Client (AHC)] (camel-ahc) +
-`ahc:httpUri` | 2.8 | Call external HTTP services using Async Http Client.
-
-| xref:3.13.x@components::ahc-ws-component.adoc[Async HTTP Client (AHC) Websocket] (camel-ahc-ws) +
-`ahc-ws:httpUri` | 2.14 | Exchange data with external Websocket servers using Async Http Client.
-
-| xref:3.13.x@components::atom-component.adoc[Atom] (camel-atom) +
-`atom:feedUri` | 1.2 | Poll Atom RSS feeds.
-
-| xref:3.13.x@components::avro-component.adoc[Avro RPC] (camel-avro-rpc) +
-`avro:transport:host:port/messageName` | 2.10 | Produce or consume Apache Avro RPC services.
-
-| xref:3.13.x@components::aws2-athena-component.adoc[AWS Athena] (camel-aws2-athena) +
-`aws2-athena:label` | 3.4 | Access AWS Athena service using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-cw-component.adoc[AWS CloudWatch] (camel-aws2-cw) +
-`aws2-cw:namespace` | 3.1 | Sending metrics to AWS CloudWatch using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-ddb-component.adoc[AWS DynamoDB] (camel-aws2-ddb) +
-`aws2-ddb:tableName` | 3.1 | Store and retrieve data from AWS DynamoDB service using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-ec2-component.adoc[AWS Elastic Compute Cloud (EC2)] (camel-aws2-ec2) +
-`aws2-ec2:label` | 3.1 | Manage AWS EC2 instances using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-ecs-component.adoc[AWS Elastic Container Service (ECS)] (camel-aws2-ecs) +
-`aws2-ecs:label` | 3.1 | Manage AWS ECS cluster instances using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-eks-component.adoc[AWS Elastic Kubernetes Service (EKS)] (camel-aws2-eks) +
-`aws2-eks:label` | 3.1 | Manage AWS EKS cluster instances using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-eventbridge-component.adoc[AWS Eventbridge] (camel-aws2-eventbridge) +
-`aws2-eventbridge://eventbusNameOrArn` | 3.6 | Manage AWS Eventbridge cluster instances using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-iam-component.adoc[AWS Identity and Access Management (IAM)] (camel-aws2-iam) +
-`aws2-iam:label` | 3.1 | Manage AWS IAM instances using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-kms-component.adoc[AWS Key Management Service (KMS)] (camel-aws2-kms) +
-`aws2-kms:label` | 3.1 | Manage keys stored in AWS KMS instances using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-kinesis-component.adoc[AWS Kinesis] (camel-aws2-kinesis) +
-`aws2-kinesis:streamName` | 3.2 | Consume and produce records from and to AWS Kinesis Streams using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-lambda-component.adoc[AWS Lambda] (camel-aws2-lambda) +
-`aws2-lambda:function` | 3.2 | Manage and invoke AWS Lambda functions using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-msk-component.adoc[AWS Managed Streaming for Apache Kafka (MSK)] (camel-aws2-msk) +
-`aws2-msk:label` | 3.1 | Manage AWS MSK instances using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-mq-component.adoc[AWS MQ] (camel-aws2-mq) +
-`aws2-mq:label` | 3.1 | Manage AWS MQ instances using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-s3-component.adoc[AWS S3 Storage Service] (camel-aws2-s3) +
-`aws2-s3://bucketNameOrArn` | 3.2 | Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws-secrets-manager-component.adoc[AWS Secrets Manager] (camel-aws-secrets-manager) +
-`aws-secrets-manager:label` | 3.9 | Manage AWS Secrets Manager services using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-sts-component.adoc[AWS Security Token Service (STS)] (camel-aws2-sts) +
-`aws2-sts:label` | 3.5 | Manage AWS STS cluster instances using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-ses-component.adoc[AWS Simple Email Service (SES)] (camel-aws2-ses) +
-`aws2-ses:from` | 3.1 | Send e-mails through AWS SES service using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-sns-component.adoc[AWS Simple Notification System (SNS)] (camel-aws2-sns) +
-`aws2-sns:topicNameOrArn` | 3.1 | Send messages to an AWS Simple Notification Topic using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-sqs-component.adoc[AWS Simple Queue Service (SQS)] (camel-aws2-sqs) +
-`aws2-sqs:queueNameOrArn` | 3.1 | Send and receive messages to/from AWS SQS service using AWS SDK version 2.x.
-
-| xref:3.13.x@components::aws2-translate-component.adoc[AWS Translate] (camel-aws2-translate) +
-`aws2-translate:label` | 3.1 | Translate texts using AWS Translate and AWS SDK version 2.x.
-
-| xref:3.13.x@components::azure-eventhubs-component.adoc[Azure Event Hubs] (camel-azure-eventhubs) +
-`azure-eventhubs:namespace/eventHubName` | 3.5 | The azure-eventhubs component that integrates Azure Event Hubs using AMQP protocol. Azure EventHubs is a highly scalable publish-subscribe service that can ingest millions of events per second and stream them to multiple consumers.
-
-| xref:3.13.x@components::azure-storage-blob-component.adoc[Azure Storage Blob Service] (camel-azure-storage-blob) +
-`azure-storage-blob:accountName/containerName` | 3.3 | Store and retrieve blobs from Azure Storage Blob Service using SDK v12.
-
-| xref:3.13.x@components::azure-storage-datalake-component.adoc[Azure storage datalake service] (camel-azure-storage-datalake) +
-`azure-storage-datalake:accountName/fileSystemName` | 3.8 | Camel Azure Datalake Gen2 Component
-
-| xref:3.13.x@components::azure-storage-queue-component.adoc[Azure Storage Queue Service] (camel-azure-storage-queue) +
-`azure-storage-queue:accountName/queueName` | 3.3 | The azure-storage-queue component is used for storing and retrieving the messages to/from Azure Storage Queue using Azure SDK v12.
-
-| xref:3.13.x@components::bean-component.adoc[Bean] (camel-bean) +
-`bean:beanName` | 1.0 | Invoke methods of Java beans stored in Camel registry.
-
-| xref:3.13.x@components::bean-validator-component.adoc[Bean Validator] (camel-bean-validator) +
-`bean-validator:label` | 2.3 | Validate the message body using the Java Bean Validation API.
-
-| xref:3.13.x@components::beanstalk-component.adoc[Beanstalk] (camel-beanstalk) +
-`beanstalk:connectionSettings` | 2.15 | Retrieve and post-process Beanstalk jobs.
-
-| xref:3.13.x@components::box-component.adoc[Box] (camel-box) +
-`box:apiName/methodName` | 2.14 | Upload, download and manage files, folders, groups, collaborations, etc. on box.com.
-
-| xref:3.13.x@components::braintree-component.adoc[Braintree] (camel-braintree) +
-`braintree:apiName/methodName` | 2.17 | Process payments using Braintree Payments.
-
-| xref:3.13.x@components::browse-component.adoc[Browse] (camel-browse) +
-`browse:name` | 1.3 | Inspect the messages received on endpoints supporting BrowsableEndpoint.
-
-| xref:3.13.x@components::chatscript-component.adoc[ChatScript] (camel-chatscript) +
-`chatscript:host:port/botName` | 3.0 | Chat with a ChatScript Server.
-
-| xref:3.13.x@components::cm-sms-component.adoc[CM SMS Gateway] (camel-cm-sms) +
-`cm-sms:host` | 2.18 | Send SMS messages via CM SMS Gateway.
-
-| xref:3.13.x@components::cmis-component.adoc[CMIS] (camel-cmis) +
-`cmis:cmsUrl` | 2.11 | Read and write data from to/from a CMIS compliant content repositories.
-
-| xref:3.13.x@components::coap-component.adoc[CoAP] (camel-coap) +
-`coap:uri` | 2.16 | Send and receive messages to/from COAP capable devices.
-
-| xref:3.13.x@components::cometd-component.adoc[CometD] (camel-cometd) +
-`cometd:host:port/channelName` | 2.0 | Offers publish/subscribe, peer-to-peer (via a server), and RPC style messaging using the CometD/Bayeux protocol.
-
-| xref:3.13.x@components::consul-component.adoc[Consul] (camel-consul) +
-`consul:apiEndpoint` | 2.18 | Integrate with Consul service discovery and configuration store.
-
-| xref:3.13.x@components::controlbus-component.adoc[Control Bus] (camel-controlbus) +
-`controlbus:command:language` | 2.11 | Manage and monitor Camel routes.
-
-| xref:3.13.x@components::corda-component.adoc[Corda] (camel-corda) +
-`corda:node` | 2.23 | Perform operations against Corda blockchain platform using corda-rpc library.
-
-| xref:3.13.x@components::couchdb-component.adoc[CouchDB] (camel-couchdb) +
-`couchdb:protocol:hostname:port/database` | 2.11 | Consume changesets for inserts, updates and deletes in a CouchDB database, as well as get, save, update and delete documents from a CouchDB database.
-
-| xref:3.13.x@components::cron-component.adoc[Cron] (camel-cron) +
-`cron:name` | 3.1 | A generic interface for triggering events at times specified through the Unix cron syntax.
-
-| xref:3.13.x@components::crypto-component.adoc[Crypto (JCE)] (camel-crypto) +
-`crypto:cryptoOperation:name` | 2.3 | Sign and verify exchanges using the Signature Service of the Java Cryptographic Extension (JCE).
-
-| xref:3.13.x@components::cxf-component.adoc[CXF] (camel-cxf) +
-`cxf:beanId:address` | 1.0 | Expose SOAP WebServices using Apache CXF or connect to external WebServices using CXF WS client.
-
-| xref:3.13.x@components::dataformat-component.adoc[Data Format] (camel-dataformat) +
-`dataformat:name:operation` | 2.12 | Use a Camel Data Format as a regular Camel Component.
-
-| xref:3.13.x@components::dataset-component.adoc[Dataset] (camel-dataset) +
-`dataset:name` | 1.3 | Provide data for load and soak testing of your Camel application.
-
-| xref:3.13.x@components::djl-component.adoc[Deep Java Library] (camel-djl) +
-`djl:application` | 3.3 | Infer Deep Learning models from message exchanges data using Deep Java Library (DJL).
-
-| xref:3.13.x@components::digitalocean-component.adoc[DigitalOcean] (camel-digitalocean) +
-`digitalocean:operation` | 2.19 | Manage Droplets and resources within the DigitalOcean cloud.
-
-| xref:3.13.x@components::direct-component.adoc[Direct] (camel-direct) +
-`direct:name` | 1.0 | Call another endpoint from the same Camel Context synchronously.
-
-| xref:3.13.x@components::disruptor-component.adoc[Disruptor] (camel-disruptor) +
-`disruptor:name` | 2.12 | Provides asynchronous SEDA behavior using LMAX Disruptor.
-
-| xref:3.13.x@components::dns-component.adoc[DNS] (camel-dns) +
-`dns:dnsType` | 2.7 | Perform DNS queries using DNSJava.
-
-| xref:3.13.x@components::docker-component.adoc[Docker] (camel-docker) +
-`docker:operation` | 2.15 | Manage Docker containers.
-
-| xref:3.13.x@components::dozer-component.adoc[Dozer] (camel-dozer) +
-`dozer:name` | 2.15 | Map between Java beans using the Dozer mapping library.
-
-| xref:3.13.x@components::drill-component.adoc[Drill] (camel-drill) +
-`drill:host` | 2.19 | Perform queries against an Apache Drill cluster.
-
-| xref:3.13.x@components::dropbox-component.adoc[Dropbox] (camel-dropbox) +
-`dropbox:operation` | 2.14 | Upload, download and manage files, folders, groups, collaborations, etc on Dropbox.
-
-| xref:3.13.x@components::ehcache-component.adoc[Ehcache] (camel-ehcache) +
-`ehcache:cacheName` | 2.18 | Perform caching operations using Ehcache.
-
-| xref:3.13.x@components::elasticsearch-rest-component.adoc[Elasticsearch Rest] (camel-elasticsearch-rest) +
-`elasticsearch-rest:clusterName` | 2.21 | Send requests to ElasticSearch via REST API
-
-| xref:3.13.x@components::elsql-component.adoc[ElSQL] (camel-elsql) +
-`elsql:elsqlName:resourceUri` | 2.16 | Use ElSql to define SQL queries. Extends the SQL Component.
-
-| xref:3.13.x@components::exec-component.adoc[Exec] (camel-exec) +
-`exec:executable` | 2.3 | Execute commands on the underlying operating system.
-
-| xref:3.13.x@components::facebook-component.adoc[Facebook] (camel-facebook) +
-`facebook:methodName` | 2.14 | Send requests to Facebook APIs supported by Facebook4J.
-
-| xref:3.13.x@components::file-component.adoc[File] (camel-file) +
-`file:directoryName` | 1.0 | Read and write files.
-
-| xref:3.13.x@components::file-watch-component.adoc[File Watch] (camel-file-watch) +
-`file-watch:path` | 3.0 | Get notified about file events in a directory using java.nio.file.WatchService.
-
-| xref:3.13.x@components::flatpack-component.adoc[Flatpack] (camel-flatpack) +
-`flatpack:type:resourceUri` | 1.4 | Parse fixed width and delimited files using the FlatPack library.
-
-| xref:3.13.x@components::fop-component.adoc[FOP] (camel-fop) +
-`fop:outputType` | 2.10 | Render messages into PDF and other output formats supported by Apache FOP.
-
-| xref:3.13.x@components::freemarker-component.adoc[Freemarker] (camel-freemarker) +
-`freemarker:resourceUri` | 2.10 | Transform messages using FreeMarker templates.
-
-| xref:3.13.x@components::ftp-component.adoc[FTP] (camel-ftp) +
-`ftp:host:port/directoryName` | 1.1 | Upload and download files to/from FTP servers.
-
-| xref:3.13.x@components::ganglia-component.adoc[Ganglia] (camel-ganglia) +
-`ganglia:host:port` | 2.15 | Send metrics to Ganglia monitoring system.
-
-| xref:3.13.x@components::git-component.adoc[Git] (camel-git) +
-`git:localPath` | 2.16 | Perform operations on git repositories.
-
-| xref:3.13.x@components::github-component.adoc[GitHub] (camel-github) +
-`github:type/branchName` | 2.15 | Interact with the GitHub API.
-
-| xref:3.13.x@components::google-bigquery-component.adoc[Google BigQuery] (camel-google-bigquery) +
-`google-bigquery:projectId:datasetId:tableId` | 2.20 | Google BigQuery data warehouse for analytics.
-
-| xref:3.13.x@components::google-calendar-component.adoc[Google Calendar] (camel-google-calendar) +
-`google-calendar:apiName/methodName` | 2.15 | Perform various operations on a Google Calendar.
-
-| xref:3.13.x@components::google-drive-component.adoc[Google Drive] (camel-google-drive) +
-`google-drive:apiName/methodName` | 2.14 | Manage files in Google Drive.
-
-| xref:3.13.x@components::google-mail-component.adoc[Google Mail] (camel-google-mail) +
-`google-mail:apiName/methodName` | 2.15 | Manage messages in Google Mail.
-
-| xref:3.13.x@components::google-sheets-component.adoc[Google Sheets] (camel-google-sheets) +
-`google-sheets:apiName/methodName` | 2.23 | Manage spreadsheets in Google Sheets.
-
-| xref:3.13.x@components::grape-component.adoc[Grape] (camel-grape) +
-`grape:defaultCoordinates` | 2.16 | Fetch, load and manage additional jars dynamically after Camel Context was started.
-
-| xref:3.13.x@components::graphql-component.adoc[GraphQL] (camel-graphql) +
-`graphql:httpUri` | 3.0 | Send GraphQL queries and mutations to external systems.
-
-| xref:3.13.x@components::guava-eventbus-component.adoc[Guava EventBus] (camel-guava-eventbus) +
-`guava-eventbus:eventBusRef` | 2.10 | Send and receive messages to/from Guava EventBus.
-
-| xref:3.13.x@components::http-component.adoc[HTTP] (camel-http) +
-`http://httpUri` | 2.3 | Send requests to external HTTP servers using Apache HTTP Client 4.x.
-
-| xref:3.13.x@components::influxdb-component.adoc[InfluxDB] (camel-influxdb) +
-`influxdb:connectionBean` | 2.18 | Interact with InfluxDB, a time series database.
-
-| xref:3.13.x@components::iota-component.adoc[IOTA] (camel-iota) +
-`iota:name` | 2.23 | Manage financial transactions using IOTA distributed ledger.
-
-| xref:3.13.x@components::irc-component.adoc[IRC] (camel-irc) +
-`irc:hostname:port` | 1.1 | Send and receive messages to/from and IRC chat.
-
-| xref:3.13.x@components::ironmq-component.adoc[IronMQ] (camel-ironmq) +
-`ironmq:queueName` | 2.17 | Send and receive messages to/from IronMQ an elastic and durable hosted message queue as a service.
-
-| xref:3.13.x@components::websocket-jsr356-component.adoc[Javax Websocket] (camel-websocket-jsr356) +
-`websocket-jsr356:uri` | 2.23 | Expose websocket endpoints using JSR356.
-
-| xref:3.13.x@components::jcache-component.adoc[JCache] (camel-jcache) +
-`jcache:cacheName` | 2.17 | Perform caching operations against JSR107/JCache.
-
-| xref:3.13.x@components::jcr-component.adoc[JCR] (camel-jcr) +
-`jcr:host/base` | 1.3 | Read and write nodes to/from a JCR compliant content repository.
-
-| xref:3.13.x@components::jdbc-component.adoc[JDBC] (camel-jdbc) +
-`jdbc:dataSourceName` | 1.2 | Access databases through SQL and JDBC.
-
-| xref:3.13.x@components::jetty-component.adoc[Jetty] (camel-jetty) +
-`jetty:httpUri` | 1.2 | Expose HTTP endpoints using Jetty 9.
-
-| xref:3.13.x@components::websocket-component.adoc[Jetty Websocket] (camel-websocket) +
-`websocket:host:port/resourceUri` | 2.10 | Expose websocket endpoints using Jetty.
-
-| xref:3.13.x@components::jing-component.adoc[Jing] (camel-jing) +
-`jing:resourceUri` | 1.1 | Validate XML against a RelaxNG schema (XML Syntax or Compact Syntax) using Jing library.
-
-| xref:3.13.x@components::jms-component.adoc[JMS] (camel-jms) +
-`jms:destinationType:destinationName` | 1.0 | Sent and receive messages to/from a JMS Queue or Topic.
-
-| xref:3.13.x@components::jmx-component.adoc[JMX] (camel-jmx) +
-`jmx:serverURL` | 2.6 | Receive JMX notifications.
-
-| xref:3.13.x@components::jolt-component.adoc[JOLT] (camel-jolt) +
-`jolt:resourceUri` | 2.16 | JSON to JSON transformation using JOLT.
-
-| xref:3.13.x@components::jooq-component.adoc[JOOQ] (camel-jooq) +
-`jooq:entityType` | 3.0 | Store and retrieve Java objects from an SQL database using JOOQ.
-
-| xref:3.13.x@components::jpa-component.adoc[JPA] (camel-jpa) +
-`jpa:entityType` | 1.0 | Store and retrieve Java objects from databases using Java Persistence API (JPA).
-
-| xref:3.13.x@components::jslt-component.adoc[JSLT] (camel-jslt) +
-`jslt:resourceUri` | 3.1 | Query or transform JSON payloads using an JSLT.
-
-| xref:3.13.x@components::json-validator-component.adoc[JSON Schema Validator] (camel-json-validator) +
-`json-validator:resourceUri` | 2.20 | Validate JSON payloads using NetworkNT JSON Schema.
-
-| xref:3.13.x@components::jsonata-component.adoc[JSONata] (camel-jsonata) +
-`jsonata:resourceUri` | 3.5 | Transforms JSON payload using JSONata transformation.
-
-| xref:3.13.x@components::jt400-component.adoc[JT400] (camel-jt400) +
-`jt400:userID:password/systemName/objectPath.type` | 1.5 | Exchanges messages with an IBM i system using data queues, message queues, or program call. IBM i is the replacement for AS/400 and iSeries servers.
-
-| xref:3.13.x@components::kafka-component.adoc[Kafka] (camel-kafka) +
-`kafka:topic` | 2.13 | Sent and receive messages to/from an Apache Kafka broker.
-
-| xref:3.13.x@components::kamelet-component.adoc[Kamelet] (camel-kamelet) +
-`kamelet:templateId/routeId` | 3.8 | To call Kamelets
-
-| xref:3.13.x@components::kamelet-reify-component.adoc[Kamelet Reify] (camel-kamelet-reify) +
-`kamelet-reify:delegateUri` | 3.6 | *deprecated* To call Kamelets (indirectly)
-
-| xref:3.13.x@components::kudu-component.adoc[Kudu] (camel-kudu) +
-`kudu:host:port/tableName` | 3.0 | Interact with Apache Kudu, a free and open source column-oriented data store of the Apache Hadoop ecosystem.
-
-| xref:3.13.x@components::language-component.adoc[Language] (camel-language) +
-`language:languageName:resourceUri` | 2.5 | Execute scripts in any of the languages supported by Camel.
-
-| xref:3.13.x@components::ldap-component.adoc[LDAP] (camel-ldap) +
-`ldap:dirContextName` | 1.5 | Perform searches on LDAP servers.
-
-| xref:3.13.x@components::ldif-component.adoc[LDIF] (camel-ldif) +
-`ldif:ldapConnectionName` | 2.20 | Perform updates on an LDAP server from an LDIF body content.
-
-| xref:3.13.x@components::log-component.adoc[Log] (camel-log) +
-`log:loggerName` | 1.1 | Log messages to the underlying logging mechanism.
-
-| xref:3.13.x@components::lucene-component.adoc[Lucene] (camel-lucene) +
-`lucene:host:operation` | 2.2 | Perform inserts or queries against Apache Lucene databases.
-
-| xref:3.13.x@components::lumberjack-component.adoc[Lumberjack] (camel-lumberjack) +
-`lumberjack:host:port` | 2.18 | Receive logs messages using the Lumberjack protocol.
-
-| xref:3.13.x@components::master-component.adoc[Master] (camel-master) +
-`master:namespace:delegateUri` | 2.20 | Have only a single consumer in a cluster consuming from a given endpoint; with automatic failover if the JVM dies.
-
-| xref:3.13.x@components::metrics-component.adoc[Metrics] (camel-metrics) +
-`metrics:metricsType:metricsName` | 2.14 | Collect various metrics directly from Camel routes using the DropWizard metrics library.
-
-| xref:3.13.x@components::micrometer-component.adoc[Micrometer] (camel-micrometer) +
-`micrometer:metricsType:metricsName` | 2.22 | Collect various metrics directly from Camel routes using the Micrometer library.
-
-| xref:3.13.x@components::mina-component.adoc[Mina] (camel-mina) +
-`mina:protocol:host:port` | 2.10 | Socket level networking using TCP or UDP with Apache Mina 2.x.
-
-| xref:3.13.x@components::minio-component.adoc[Minio] (camel-minio) +
-`minio:bucketName` | 3.5 | Store and retrieve objects from Minio Storage Service using Minio SDK.
-
-| xref:3.13.x@components::mllp-component.adoc[MLLP] (camel-mllp) +
-`mllp:hostname:port` | 2.17 | Communicate with external systems using the MLLP protocol.
-
-| xref:3.13.x@components::mock-component.adoc[Mock] (camel-mock) +
-`mock:name` | 1.0 | Test routes and mediation rules using mocks.
-
-| xref:3.13.x@components::mongodb-component.adoc[MongoDB] (camel-mongodb) +
-`mongodb:connectionBean` | 2.19 | Perform operations on MongoDB documents and collections.
-
-| xref:3.13.x@components::mongodb-gridfs-component.adoc[MongoDB GridFS] (camel-mongodb-gridfs) +
-`mongodb-gridfs:connectionBean` | 2.18 | Interact with MongoDB GridFS.
-
-| xref:3.13.x@components::msv-component.adoc[MSV] (camel-msv) +
-`msv:resourceUri` | 1.1 | Validate XML payloads using Multi-Schema Validator (MSV).
-
-| xref:3.13.x@components::mustache-component.adoc[Mustache] (camel-mustache) +
-`mustache:resourceUri` | 2.12 | Transform messages using a Mustache template.
-
-| xref:3.13.x@components::mvel-component.adoc[MVEL] (camel-mvel) +
-`mvel:resourceUri` | 2.12 | Transform messages using an MVEL template.
-
-| xref:3.13.x@components::mybatis-component.adoc[MyBatis] (camel-mybatis) +
-`mybatis:statement` | 2.7 | Performs a query, poll, insert, update or delete in a relational database using MyBatis.
-
-| xref:3.13.x@components::nagios-component.adoc[Nagios] (camel-nagios) +
-`nagios:host:port` | 2.3 | Send passive checks to Nagios using JSendNSCA.
-
-| xref:3.13.x@components::netty-component.adoc[Netty] (camel-netty) +
-`netty:protocol://host:port` | 2.14 | Socket level networking using TCP or UDP with Netty 4.x.
-
-| xref:3.13.x@components::netty-http-component.adoc[Netty HTTP] (camel-netty-http) +
-`netty-http:protocol://host:port/path` | 2.14 | Netty HTTP server and client using the Netty 4.x.
-
-| xref:3.13.x@components::nitrite-component.adoc[Nitrite] (camel-nitrite) +
-`nitrite:database` | 3.0 | Access Nitrite databases.
-
-| xref:3.13.x@components::nsq-component.adoc[NSQ] (camel-nsq) +
-`nsq:topic` | 2.23 | Send and receive messages from NSQ realtime distributed messaging platform.
-
-| xref:3.13.x@components::olingo2-component.adoc[Olingo2] (camel-olingo2) +
-`olingo2:apiName/methodName` | 2.14 | Communicate with OData 2.0 services using Apache Olingo.
-
-| xref:3.13.x@components::olingo4-component.adoc[Olingo4] (camel-olingo4) +
-`olingo4:apiName/methodName` | 2.19 | Communicate with OData 4.0 services using Apache Olingo OData API.
-
-| xref:eventadmin-component.adoc[OSGi EventAdmin] (camel-eventadmin) +
-`eventadmin:topic` | 2.6 | The eventadmin component can be used in an OSGi environment to receive OSGi EventAdmin events and process them.
-
-| xref:paxlogging-component.adoc[OSGi PAX Logging] (camel-paxlogging) +
-`paxlogging:appender` | 2.6 | The paxlogging component can be used in an OSGi environment to receive PaxLogging events and process them.
-
-| xref:3.13.x@components::paho-component.adoc[Paho] (camel-paho) +
-`paho:topic` | 2.16 | Communicate with MQTT message brokers using Eclipse Paho MQTT Client.
-
-| xref:3.13.x@components::pdf-component.adoc[PDF] (camel-pdf) +
-`pdf:operation` | 2.16 | Create, modify or extract content from PDF documents.
-
-| xref:3.13.x@components::pgevent-component.adoc[PostgresSQL Event] (camel-pgevent) +
-`pgevent:host:port/database/channel` | 2.15 | Send and receive PostgreSQL events via LISTEN and NOTIFY commands.
-
-| xref:3.13.x@components::pg-replication-slot-component.adoc[PostgresSQL Replication Slot] (camel-pg-replication-slot) +
-`pg-replication-slot:host:port/database/slot:outputPlugin` | 3.0 | Poll for PostgreSQL Write-Ahead Log (WAL) records using Streaming Replication Slots.
-
-| xref:3.13.x@components::pubnub-component.adoc[PubNub] (camel-pubnub) +
-`pubnub:channel` | 2.19 | Send and receive messages to/from PubNub data stream network for connected devices.
-
-| xref:3.13.x@components::quartz-component.adoc[Quartz] (camel-quartz) +
-`quartz:groupName/triggerName` | 2.12 | Schedule sending of messages using the Quartz 2.x scheduler.
-
-| xref:3.13.x@components::quickfix-component.adoc[QuickFix] (camel-quickfix) +
-`quickfix:configurationName` | 2.1 | Open a Financial Interchange (FIX) session using an embedded QuickFix/J engine.
-
-| xref:3.13.x@components::rabbitmq-component.adoc[RabbitMQ] (camel-rabbitmq) +
-`rabbitmq:exchangeName` | 2.12 | Send and receive messages from RabbitMQ instances.
-
-| xref:3.13.x@components::reactive-streams-component.adoc[Reactive Streams] (camel-reactive-streams) +
-`reactive-streams:stream` | 2.19 | Exchange messages with reactive stream processing libraries compatible with the reactive streams standard.
-
-| xref:3.13.x@components::ref-component.adoc[Ref] (camel-ref) +
-`ref:name` | 1.2 | Route messages to an endpoint looked up dynamically by name in the Camel Registry.
-
-| xref:3.13.x@components::rest-component.adoc[REST] (camel-rest) +
-`rest:method:path:uriTemplate` | 2.14 | Expose REST services or call external REST services.
-
-| xref:3.13.x@components::rest-openapi-component.adoc[REST OpenApi] (camel-rest-openapi) +
-`rest-openapi:specificationUri#operationId` | 3.1 | Configure REST producers based on an OpenAPI specification document delegating to a component implementing the RestProducerFactory interface.
-
-| xref:3.13.x@components::rest-swagger-component.adoc[REST Swagger] (camel-rest-swagger) +
-`rest-swagger:specificationUri#operationId` | 2.19 | Configure REST producers based on a Swagger (OpenAPI) specification document delegating to a component implementing the RestProducerFactory interface.
-
-| xref:3.13.x@components::robotframework-component.adoc[Robot Framework] (camel-robotframework) +
-`robotframework:resourceUri` | 3.0 | Pass camel exchanges to acceptence test written in Robot DSL.
-
-| xref:3.13.x@components::rss-component.adoc[RSS] (camel-rss) +
-`rss:feedUri` | 2.0 | Poll RSS feeds.
-
-| xref:3.13.x@components::saga-component.adoc[Saga] (camel-saga) +
-`saga:action` | 2.21 | Execute custom actions within a route using the Saga EIP.
-
-| xref:3.13.x@components::salesforce-component.adoc[Salesforce] (camel-salesforce) +
-`salesforce:operationName:topicName` | 2.12 | Communicate with Salesforce using Java DTOs.
-
-| xref:3.13.x@components::sap-netweaver-component.adoc[SAP NetWeaver] (camel-sap-netweaver) +
-`sap-netweaver:url` | 2.12 | Send requests to SAP NetWeaver Gateway using HTTP.
-
-| xref:3.13.x@components::scheduler-component.adoc[Scheduler] (camel-scheduler) +
-`scheduler:name` | 2.15 | Generate messages in specified intervals using java.util.concurrent.ScheduledExecutorService.
-
-| xref:3.13.x@components::schematron-component.adoc[Schematron] (camel-schematron) +
-`schematron:path` | 2.15 | Validate XML payload using the Schematron Library.
-
-| xref:3.13.x@components::seda-component.adoc[SEDA] (camel-seda) +
-`seda:name` | 1.1 | Asynchronously call another endpoint from any Camel Context in the same JVM.
-
-| xref:3.13.x@components::service-component.adoc[Service] (camel-service) +
-`service:delegateUri` | 2.22 | Register a Camel endpoint to a Service Registry (such as Consul, Etcd) and delegate to it.
-
-| xref:3.13.x@components::servicenow-component.adoc[ServiceNow] (camel-servicenow) +
-`servicenow:instanceName` | 2.18 | Interact with ServiceNow via its REST API.
-
-| xref:3.13.x@components::servlet-component.adoc[Servlet] (camel-servlet) +
-`servlet:contextPath` | 2.0 | Serve HTTP requests by a Servlet.
-
-| xref:3.13.x@components::sjms-component.adoc[Simple JMS] (camel-sjms) +
-`sjms:destinationType:destinationName` | 2.11 | Send and receive messages to/from a JMS Queue or Topic using plain JMS 1.x API.
-
-| xref:3.13.x@components::sjms2-component.adoc[Simple JMS2] (camel-sjms2) +
-`sjms2:destinationType:destinationName` | 2.19 | Send and receive messages to/from a JMS Queue or Topic using plain JMS 2.x API.
-
-| xref:3.13.x@components::sip-component.adoc[SIP] (camel-sip) +
-`sip:uri` | 2.5 | Send and receive messages using the SIP protocol (used in telecommunications).
-
-| xref:3.13.x@components::slack-component.adoc[Slack] (camel-slack) +
-`slack:channel` | 2.16 | Send and receive messages to/from Slack.
-
-| xref:3.13.x@components::smpp-component.adoc[SMPP] (camel-smpp) +
-`smpp:host:port` | 2.2 | Send and receive SMS messages using a SMSC (Short Message Service Center).
-
-| xref:3.13.x@components::snmp-component.adoc[SNMP] (camel-snmp) +
-`snmp:host:port` | 2.1 | Receive traps and poll SNMP (Simple Network Management Protocol) capable devices.
-
-| xref:3.13.x@components::solr-component.adoc[Solr] (camel-solr) +
-`solr:url` | 2.9 | Perform operations against Apache Lucene Solr.
-
-| xref:3.13.x@components::soroush-component.adoc[Soroush] (camel-soroush) +
-`soroush:action` | 3.0 | Send and receive messages as a Soroush chat bot.
-
-| xref:3.13.x@components::splunk-component.adoc[Splunk] (camel-splunk) +
-`splunk:name` | 2.13 | Publish or search for events in Splunk.
-
-| xref:3.13.x@components::spring-batch-component.adoc[Spring Batch] (camel-spring-batch) +
-`spring-batch:jobName` | 2.10 | Send messages to Spring Batch for further processing.
-
-| xref:3.13.x@components::spring-jdbc-component.adoc[Spring JDBC] (camel-spring-jdbc) +
-`spring-jdbc:dataSourceName` | 3.10 | Access databases through SQL and JDBC with Spring Transaction support.
-
-| xref:3.13.x@components::spring-ldap-component.adoc[Spring LDAP] (camel-spring-ldap) +
-`spring-ldap:templateName` | 2.11 | Perform searches in LDAP servers using filters as the message payload.
-
-| xref:3.13.x@components::spring-ws-component.adoc[Spring WebService] (camel-spring-ws) +
-`spring-ws:type:lookupKey:webServiceEndpointUri` | 2.6 | Access external web services as a client or expose your own web services.
-
-| xref:3.13.x@components::sql-component.adoc[SQL] (camel-sql) +
-`sql:query` | 1.4 | Perform SQL queries using Spring JDBC.
-
-| xref:3.13.x@components::ssh-component.adoc[SSH] (camel-ssh) +
-`ssh:host:port` | 2.10 | Execute commands on remote hosts using SSH.
-
-| xref:3.13.x@components::stax-component.adoc[StAX] (camel-stax) +
-`stax:contentHandlerClass` | 2.9 | Process XML payloads by a SAX ContentHandler.
-
-| xref:3.13.x@components::stomp-component.adoc[Stomp] (camel-stomp) +
-`stomp:destination` | 2.12 | Send and rececive messages to/from STOMP (Simple Text Oriented Messaging Protocol) compliant message brokers.
-
-| xref:3.13.x@components::stream-component.adoc[Stream] (camel-stream) +
-`stream:kind` | 1.3 | Read from system-in and write to system-out and system-err streams.
-
-| xref:3.13.x@components::string-template-component.adoc[String Template] (camel-stringtemplate) +
-`string-template:resourceUri` | 1.2 | Transform messages using StringTemplate engine.
-
-| xref:3.13.x@components::stub-component.adoc[Stub] (camel-stub) +
-`stub:name` | 2.10 | Stub out any physical endpoints while in development or testing.
-
-| xref:3.13.x@components::telegram-component.adoc[Telegram] (camel-telegram) +
-`telegram:type` | 2.18 | Send and receive messages acting as a Telegram Bot Telegram Bot API.
-
-| xref:3.13.x@components::thrift-component.adoc[Thrift] (camel-thrift) +
-`thrift:host:port/service` | 2.20 | Call and expose remote procedures (RPC) with Apache Thrift data format and serialization mechanism.
-
-| xref:3.13.x@components::tika-component.adoc[Tika] (camel-tika) +
-`tika:operation` | 2.19 | Parse documents and extract metadata and text using Apache Tika.
-
-| xref:3.13.x@components::timer-component.adoc[Timer] (camel-timer) +
-`timer:timerName` | 1.0 | Generate messages in specified intervals using java.util.Timer.
-
-| xref:3.13.x@components::twilio-component.adoc[Twilio] (camel-twilio) +
-`twilio:apiName/methodName` | 2.20 | Interact with Twilio REST APIs using Twilio Java SDK.
-
-| xref:3.13.x@components::validator-component.adoc[Validator] (camel-validator) +
-`validator:resourceUri` | 1.1 | Validate the payload using XML Schema and JAXP Validation.
-
-| xref:3.13.x@components::velocity-component.adoc[Velocity] (camel-velocity) +
-`velocity:resourceUri` | 1.2 | Transform messages using a Velocity template.
-
-| xref:3.13.x@components::vertx-component.adoc[Vert.x] (camel-vertx) +
-`vertx:address` | 2.12 | Send and receive messages to/from Vert.x Event Bus.
-
-| xref:3.13.x@components::vm-component.adoc[VM] (camel-vm) +
-`vm:name` | 1.1 | Call another endpoint in the same CamelContext asynchronously.
-
-| xref:3.13.x@components::weather-component.adoc[Weather] (camel-weather) +
-`weather:name` | 2.12 | Poll the weather information from Open Weather Map.
-
-| xref:3.13.x@components::web3j-component.adoc[Web3j Ethereum Blockchain] (camel-web3j) +
-`web3j:nodeAddress` | 2.22 | Interact with Ethereum nodes using web3j client API.
-
-| xref:3.13.x@components::webhook-component.adoc[Webhook] (camel-webhook) +
-`webhook:endpointUri` | 3.0 | Expose webhook endpoints to receive push notifications for other Camel components.
-
-| xref:3.13.x@components::wordpress-component.adoc[Wordpress] (camel-wordpress) +
-`wordpress:operation` | 2.21 | Manage posts and users using Wordpress API.
-
-| xref:3.13.x@components::workday-component.adoc[Workday] (camel-workday) +
-`workday:entity:path` | 3.1 | Detect and parse documents using Workday.
-
-| xref:3.13.x@components::xchange-component.adoc[XChange] (camel-xchange) +
-`xchange:name` | 2.21 | Access market data and trade on Bitcoin and Altcoin exchanges.
-
-| xref:3.13.x@components::xj-component.adoc[XJ] (camel-xj) +
-`xj:resourceUri` | 3.0 | Transform JSON and XML message using a XSLT.
-
-| xref:3.13.x@components::xmpp-component.adoc[XMPP] (camel-xmpp) +
-`xmpp:host:port/participant` | 1.0 | Send and receive messages to/from an XMPP chat server.
-
-| xref:3.13.x@components::xslt-component.adoc[XSLT] (camel-xslt) +
-`xslt:resourceUri` | 1.3 | Transforms XML payload using an XSLT template.
-
-| xref:3.13.x@components::xslt-saxon-component.adoc[XSLT Saxon] (camel-xslt-saxon) +
-`xslt-saxon:resourceUri` | 3.0 | Transform XML payloads using an XSLT template using Saxon.
-
-| xref:3.13.x@components::yammer-component.adoc[Yammer] (camel-yammer) +
-`yammer:function` | 2.12 | Interact with the Yammer enterprise social network.
-
-| xref:3.13.x@components::zendesk-component.adoc[Zendesk] (camel-zendesk) +
-`zendesk:methodName` | 2.19 | Manage Zendesk tickets, users, organizations, etc.
-
-| xref:3.13.x@components::zookeeper-component.adoc[ZooKeeper] (camel-zookeeper) +
-`zookeeper:serverUrls/path` | 2.9 | Manage ZooKeeper clusters.
-
-| xref:3.13.x@components::zookeeper-master-component.adoc[ZooKeeper Master] (camel-zookeeper-master) +
-`zookeeper-master:groupName:consumerEndpointUri` | 2.19 | Have only a single consumer in a cluster consuming from a given endpoint; with automatic failover if the JVM dies.
-
-|===
-// components: END
+include::partial$summary-table.adoc[]
 
 == Camel Data Formats
 
-// dataformats: START
-Number of Camel data formats: 48 in 40 JAR artifacts (0 deprecated)
+:indexer-module: dataformats
+:indexer-rel-filter: json/dataformats/*.json
+:indexer-kind: dataformat
+:indexer-human-readable-kind: Data Format
+:indexer-human-readable-kind-plural: dataformats
 
-[width="100%",cols="4,1,5",options="header"]
-|===
-| Data Format | Since | Description
-
-| xref:3.13.x@components:dataformats:any23-dataformat.adoc[Any23] +
-(camel-any23) | 3.0 | Extract RDF data from HTML documents.
-
-| xref:3.13.x@components:dataformats:asn1-dataformat.adoc[ASN.1 File] +
-(camel-asn1) | 2.20 | Encode and decode data structures using Abstract Syntax Notation One (ASN.1).
-
-| xref:3.13.x@components:dataformats:avro-dataformat.adoc[Avro] +
-(camel-avro) | 2.14 | Serialize and deserialize messages using Apache Avro binary data format.
-
-| xref:3.13.x@components:dataformats:avro-jackson-dataformat.adoc[Avro Jackson] +
-(camel-jackson-avro) | 3.10 | Marshal POJOs to Avro and back using Jackson.
-
-| xref:3.13.x@components:dataformats:barcode-dataformat.adoc[Barcode] +
-(camel-barcode) | 2.14 | Transform strings to various 1D/2D barcode bitmap formats and back.
-
-| xref:3.13.x@components:dataformats:base64-dataformat.adoc[Base64] +
-(camel-base64) | 2.11 | Encode and decode data using Base64.
-
-| xref:3.13.x@components:dataformats:beanio-dataformat.adoc[BeanIO] +
-(camel-beanio) | 2.10 | Marshal and unmarshal Java beans to and from flat files (such as CSV, delimited, or fixed length formats).
-
-| xref:3.13.x@components:dataformats:bindy-dataformat.adoc[Bindy CSV] +
-(camel-bindy) | 2.0 | Marshal and unmarshal between POJOs and Comma separated values (CSV) format using Camel Bindy
-
-| xref:3.13.x@components:dataformats:bindy-dataformat.adoc[Bindy Fixed Length] +
-(camel-bindy) | 2.0 | Marshal and unmarshal between POJOs and fixed field length format using Camel Bindy
-
-| xref:3.13.x@components:dataformats:bindy-dataformat.adoc[Bindy Key Value Pair] +
-(camel-bindy) | 2.0 | Marshal and unmarshal between POJOs and key-value pair (KVP) format using Camel Bindy
-
-| xref:3.13.x@components:dataformats:cbor-dataformat.adoc[CBOR] +
-(camel-cbor) | 3.0 | Unmarshal a CBOR payload to POJO and back.
-
-| xref:3.13.x@components:dataformats:crypto-dataformat.adoc[Crypto (Java Cryptographic Extension)] +
-(camel-crypto) | 2.3 | Encrypt and decrypt messages using Java Cryptography Extension (JCE).
-
-| xref:3.13.x@components:dataformats:csv-dataformat.adoc[CSV] +
-(camel-csv) | 1.3 | Handle CSV (Comma Separated Values) payloads.
-
-| xref:3.13.x@components:dataformats:fhirJson-dataformat.adoc[FHIR JSon] +
-(camel-fhir) | 2.21 | Marshall and unmarshall FHIR objects to/from JSON.
-
-| xref:3.13.x@components:dataformats:fhirXml-dataformat.adoc[FHIR XML] +
-(camel-fhir) | 2.21 | Marshall and unmarshall FHIR objects to/from XML.
-
-| xref:3.13.x@components:dataformats:flatpack-dataformat.adoc[Flatpack] +
-(camel-flatpack) | 2.1 | Marshal and unmarshal Java lists and maps to/from flat files (such as CSV, delimited, or fixed length formats) using Flatpack library.
-
-| xref:3.13.x@components:dataformats:grok-dataformat.adoc[Grok] +
-(camel-grok) | 3.0 | Unmarshal unstructured data to objects using Logstash based Grok patterns.
-
-| xref:3.13.x@components:dataformats:gzipdeflater-dataformat.adoc[GZip Deflater] +
-(camel-zip-deflater) | 2.0 | Compress and decompress messages using java.util.zip.GZIPStream.
-
-| xref:3.13.x@components:dataformats:hl7-dataformat.adoc[HL7] +
-(camel-hl7) | 2.0 | Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec.
-
-| xref:3.13.x@components:dataformats:ical-dataformat.adoc[iCal] +
-(camel-ical) | 2.12 | Marshal and unmarshal iCal (.ics) documents to/from model objects provided by the iCal4j library.
-
-| xref:3.13.x@components:dataformats:jacksonxml-dataformat.adoc[JacksonXML] +
-(camel-jacksonxml) | 2.16 | Unmarshal a XML payloads to POJOs and back using XMLMapper extension of Jackson.
-
-| xref:3.13.x@components:dataformats:jaxb-dataformat.adoc[JAXB] +
-(camel-jaxb) | 1.0 | Unmarshal XML payloads to POJOs and back using JAXB2 XML marshalling standard.
-
-| xref:3.13.x@components:dataformats:json-fastjson-dataformat.adoc[JSON Fastjson] +
-(camel-fastjson) | 2.20 | Marshal POJOs to JSON and back using Fastjson
-
-| xref:3.13.x@components:dataformats:json-gson-dataformat.adoc[JSON Gson] +
-(camel-gson) | 2.10 | Marshal POJOs to JSON and back using Gson
-
-| xref:3.13.x@components:dataformats:json-jackson-dataformat.adoc[JSON Jackson] +
-(camel-jackson) | 2.0 | Marshal POJOs to JSON and back using Jackson
-
-| xref:3.13.x@components:dataformats:json-johnzon-dataformat.adoc[JSON Johnzon] +
-(camel-johnzon) | 2.18 | Marshal POJOs to JSON and back using Johnzon
-
-| xref:3.13.x@components:dataformats:json-jsonb-dataformat.adoc[JSON JSON-B] +
-(camel-jsonb) | 3.7 | Marshal POJOs to JSON and back using JSON-B.
-
-| xref:3.13.x@components:dataformats:json-xstream-dataformat.adoc[JSON XStream] +
-(camel-xstream) | 2.0 | Marshal POJOs to JSON and back using XStream
-
-| xref:3.13.x@components:dataformats:jsonApi-dataformat.adoc[JSonApi] +
-(camel-jsonapi) | 3.0 | Marshal and unmarshal JSON:API resources using JSONAPI-Converter library.
-
-| xref:3.13.x@components:dataformats:lzf-dataformat.adoc[LZF Deflate Compression] +
-(camel-lzf) | 2.17 | Compress and decompress streams using LZF deflate algorithm.
-
-| xref:3.13.x@components:dataformats:mime-multipart-dataformat.adoc[MIME Multipart] +
-(camel-mail) | 2.17 | Marshal Camel messages with attachments into MIME-Multipart messages and back.
-
-| xref:3.13.x@components:dataformats:pgp-dataformat.adoc[PGP] +
-(camel-crypto) | 2.9 | Encrypt and decrypt messages using Java Cryptographic Extension (JCE) and PGP.
-
-| xref:3.13.x@components:dataformats:protobuf-dataformat.adoc[Protobuf] +
-(camel-protobuf) | 2.2 | Serialize and deserialize Java objects using Google's Protocol buffers.
-
-| xref:3.13.x@components:dataformats:protobuf-jackson-dataformat.adoc[Protobuf Jackson] +
-(camel-jackson-protobuf) | 3.10 | Marshal POJOs to Protobuf and back using Jackson.
-
-| xref:3.13.x@components:dataformats:rss-dataformat.adoc[RSS] +
-(camel-rss) | 2.1 | Transform from ROME SyndFeed Java Objects to XML and vice-versa.
-
-| xref:3.13.x@components:dataformats:soapjaxb-dataformat.adoc[SOAP] +
-(camel-soap) | 2.3 | Marshal Java objects to SOAP messages and back.
-
-| xref:3.13.x@components:dataformats:syslog-dataformat.adoc[Syslog] +
-(camel-syslog) | 2.6 | Marshall SyslogMessages to RFC3164 and RFC5424 messages and back.
-
-| xref:3.13.x@components:dataformats:tarfile-dataformat.adoc[Tar File] +
-(camel-tarfile) | 2.16 | Archive files into tarballs or extract files from tarballs.
-
-| xref:3.13.x@components:dataformats:thrift-dataformat.adoc[Thrift] +
-(camel-thrift) | 2.20 | Serialize and deserialize messages using Apache Thrift binary data format.
-
-| xref:3.13.x@components:dataformats:tidyMarkup-dataformat.adoc[TidyMarkup] +
-(camel-tagsoup) | 2.0 | Parse (potentially invalid) HTML into valid HTML or DOM.
-
-| xref:3.13.x@components:dataformats:univocity-csv-dataformat.adoc[uniVocity CSV] +
-(camel-univocity-parsers) | 2.15 | Marshal and unmarshal Java objects from and to CSV (Comma Separated Values) using UniVocity Parsers.
-
-| xref:3.13.x@components:dataformats:univocity-fixed-dataformat.adoc[uniVocity Fixed Length] +
-(camel-univocity-parsers) | 2.15 | Marshal and unmarshal Java objects from and to fixed length records using UniVocity Parsers.
-
-| xref:3.13.x@components:dataformats:univocity-tsv-dataformat.adoc[uniVocity TSV] +
-(camel-univocity-parsers) | 2.15 | Marshal and unmarshal Java objects from and to TSV (Tab-Separated Values) records using UniVocity Parsers.
-
-| xref:3.13.x@components:dataformats:secureXML-dataformat.adoc[XML Security] +
-(camel-xmlsecurity) | 2.0 | Encrypt and decrypt XML payloads using Apache Santuario.
-
-| xref:3.13.x@components:dataformats:xstream-dataformat.adoc[XStream] +
-(camel-xstream) | 1.3 | Marshal and unmarshal POJOs to/from XML using XStream library.
-
-| xref:3.13.x@components:dataformats:yaml-snakeyaml-dataformat.adoc[YAML SnakeYAML] +
-(camel-snakeyaml) | 2.17 | Marshal and unmarshal Java objects to and from YAML using SnakeYAML
-
-| xref:3.13.x@components:dataformats:zipdeflater-dataformat.adoc[Zip Deflate Compression] +
-(camel-zip-deflater) | 2.12 | Compress and decompress streams using java.util.zip.Deflater and java.util.zip.Inflater.
-
-| xref:3.13.x@components:dataformats:zipfile-dataformat.adoc[Zip File] +
-(camel-zipfile) | 2.11 | Compression and decompress streams using java.util.zip.ZipStream.
-|===
-// dataformats: END
+include::partial$summary-table.adoc[]
 
 == Camel Languages
 
-// languages: START
-Number of Camel languages: 20 in 13 JAR artifacts (0 deprecated)
+:indexer-module: languages
+:indexer-rel-filter: json/languages/*.json
+:indexer-kind: language
+:indexer-human-readable-kind: Language
+:indexer-human-readable-kind-plural: languages
 
-[width="100%",cols="4,1,5",options="header"]
-|===
-| Language | Since | Description
-
-| xref:3.13.x@components:languages:bean-language.adoc[Bean Method] +
-(camel-bean) | 1.3 | Calls a Java bean method.
-
-| xref:3.13.x@components:languages:constant-language.adoc[Constant] +
-(camel-core-languages) | 1.5 | A fixed value set only once during the route startup.
-
-| xref:3.13.x@components:languages:csimple-language.adoc[CSimple] +
-(camel-core-languages) | 3.7 | Evaluate a compiled simple expression.
-
-| xref:3.13.x@components:languages:datasonnet-language.adoc[DataSonnet] +
-(camel-datasonnet) | 3.7 | To use DataSonnet scripts for message transformations.
-
-| xref:3.13.x@components:languages:exchangeProperty-language.adoc[ExchangeProperty] +
-(camel-core-languages) | 2.0 | Gets a property from the Exchange.
-
-| xref:3.13.x@components:languages:file-language.adoc[File] +
-(camel-core-languages) | 1.1 | File related capabilities for the Simple language
-
-| xref:3.13.x@components:languages:groovy-language.adoc[Groovy] +
-(camel-groovy) | 1.3 | Evaluates a Groovy script.
-
-| xref:3.13.x@components:languages:header-language.adoc[Header] +
-(camel-core-languages) | 1.5 | Gets a header from the Exchange.
-
-| xref:3.13.x@components:languages:hl7terser-language.adoc[HL7 Terser] +
-(camel-hl7) | 2.11 | Get the value of a HL7 message field specified by terse location specification syntax.
-
-| xref:3.13.x@components:languages:joor-language.adoc[jOOR] +
-(camel-joor) | 3.7 | Evaluates a jOOR (Java compiled once at runtime) expression.
-
-| xref:3.13.x@components:languages:jsonpath-language.adoc[JSONPath] +
-(camel-jsonpath) | 2.13 | Evaluates a JSONPath expression against a JSON message body.
-
-| xref:3.13.x@components:languages:mvel-language.adoc[MVEL] +
-(camel-mvel) | 2.0 | Evaluates a MVEL template.
-
-| xref:3.13.x@components:languages:ognl-language.adoc[OGNL] +
-(camel-ognl) | 1.1 | Evaluates an OGNL expression (Apache Commons OGNL).
-
-| xref:3.13.x@components:languages:ref-language.adoc[Ref] +
-(camel-core-languages) | 2.8 | Uses an existing expression from the registry.
-
-| xref:3.13.x@components:languages:simple-language.adoc[Simple] +
-(camel-core-languages) | 1.1 | Evaluates a Camel simple expression.
-
-| xref:3.13.x@components:languages:spel-language.adoc[SpEL] +
-(camel-spring) | 2.7 | Evaluates a Spring expression (SpEL).
-
-| xref:3.13.x@components:languages:tokenize-language.adoc[Tokenize] +
-(camel-core-languages) | 2.0 | Tokenize text payloads using delimiter patterns.
-
-| xref:3.13.x@components:languages:xtokenize-language.adoc[XML Tokenize] +
-(camel-xml-jaxp) | 2.14 | Tokenize XML payloads.
-
-| xref:3.13.x@components:languages:xpath-language.adoc[XPath] +
-(camel-xpath) | 1.1 | Evaluates an XPath expression against an XML payload.
-
-| xref:3.13.x@components:languages:xquery-language.adoc[XQuery] +
-(camel-saxon) | 1.0 | Evaluates an XQuery expressions against an XML payload.
-|===
-// languages: END
-
+include::partial$summary-table.adoc[]
 
 == Miscellaneous Extensions
 
-// others: START
-Number of miscellaneous extensions: 20 in 20 JAR artifacts (4 deprecated)
+:indexer-module: others
+:indexer-rel-filter: json/others/*.json
+:indexer-kind: other
+:indexer-human-readable-kind: Miscellaneous
+:indexer-human-readable-kind-plural: miscellaneous extensions
 
-[width="100%",cols="4,1,5",options="header"]
-|===
-| Extension | Since | Description
-
-| xref:3.13.x@components:others:aws-xray.adoc[AWS XRay] +
-(camel-aws-xray) | 2.21 | Distributed tracing using AWS XRay
-
-| xref:blueprint.adoc[Blueprint] +
-(camel-blueprint) | 2.4 | Using Camel with OSGi Blueprint
-
-| xref:3.13.x@components:others:caffeine-lrucache.adoc[Caffeine Lrucache] +
-(camel-caffeine-lrucache) | 3.0 | *deprecated* Camel Caffeine LRUCache support
-
-| xref:3.13.x@components:others:headersmap.adoc[Headersmap] +
-(camel-headersmap) | 2.20 | Fast case-insensitive headers map implementation
-
-| xref:3.13.x@components:others:hystrix.adoc[Hystrix] +
-(camel-hystrix) | 2.18 | *deprecated* Circuit Breaker EIP using Netflix Hystrix
-
-| xref:3.13.x@components:others:jasypt.adoc[Jasypt] +
-(camel-jasypt) | 2.5 | Security using Jasypt
-
-| xref:kura.adoc[Kura] +
-(camel-kura) | 2.15 | Using Camel with Eclipse Kura (OSGi)
-
-| xref:3.13.x@components:others:leveldb.adoc[LevelDB] +
-(camel-leveldb) | 2.10 | Using LevelDB as persistent EIP store
-
-| xref:3.13.x@components:others:leveldb-legacy.adoc[LevelDB-legacy] +
-(camel-leveldb-legacy) | 2.10 | Using LevelDB as persistent EIP store
-
-| xref:3.13.x@components:others:lra.adoc[LRA] +
-(camel-lra) | 2.21 | Camel saga binding for Long-Running-Action framework
-
-| xref:3.13.x@components:others:openapi-java.adoc[Openapi Java] +
-(camel-openapi-java) | 3.1 | Rest-dsl support for using openapi doc
-
-| xref:3.13.x@components:others:opentelemetry.adoc[OpenTelemetry] +
-(camel-opentelemetry) | 3.5 | Distributed tracing using OpenTelemetry
-
-| xref:3.13.x@components:others:opentracing.adoc[OpenTracing] +
-(camel-opentracing) | 2.19 | Distributed tracing using OpenTracing
-
-| xref:osgi-activator.adoc[Osgi Activator] +
-(camel-osgi-activator) | 3.1 | *deprecated* Camel OSGi Activator for running Camel routes from other bundles
-
-| xref:3.13.x@components:others:reactor.adoc[Reactor] +
-(camel-reactor) | 2.20 | Reactor based back-end for Camel's reactive streams component
-
-| xref:3.13.x@components:others:shiro.adoc[Shiro] +
-(camel-shiro) | 2.5 | Security using Shiro
-
-| xref:3.13.x@components:others:swagger-java.adoc[Swagger Java] +
-(camel-swagger-java) | 2.16 | Rest-dsl support for using swagger api-doc
-
-| xref:3.13.x@components:others:test-spring.adoc[Test Spring] +
-(camel-test-spring) | 2.10 | *deprecated* Camel unit testing with Spring
-
-| xref:3.13.x@components:others:tracing.adoc[Tracing] +
-(camel-tracing) | 3.5 | Distributed tracing common interfaces
-
-| xref:3.13.x@components:others:zipkin.adoc[Zipkin] +
-(camel-zipkin) | 2.18 | Distributed message tracing using Zipkin
-|===
-// others: END
-
+include::partial$summary-table.adoc[]
diff --git a/docs/modules/ROOT/partials/summary-table.adoc b/docs/modules/ROOT/partials/summary-table.adoc
new file mode 100644
index 0000000..22b49e1
--- /dev/null
+++ b/docs/modules/ROOT/partials/summary-table.adoc
@@ -0,0 +1,7 @@
+There are indexCount:[relative="{indexer-rel-filter}",family="example"] {indexer-human-readable-kind-plural} in indexUniqueCount:[relative="{indexer-rel-filter}",family="example",format="$.{indexer-kind}.artifactId",contentAs=json] features (indexCount:[relative="{indexer-rel-filter}",family="example",transform=karaf.deprecatedFilter{indexer-human-readable-kind},contentAs=json,requires={requires}] deprecated)
+
+[width="100%",cols="3,3,1,5",options="header"]
+|===
+| {indexer-human-readable-kind} | Feature | Since | Description
+|===
+indexTable::[relative="{indexer-rel-filter}",family="example",cellformats="karaf.extensionRef('{page-component-version}','{indexer-module}','{indexer-kind}',$)|karaf.v('artifactId','{indexer-kind}', $)|karaf.v('firstVersion','{indexer-kind}', $)|util.description($.{indexer-kind})",contentAs=json,transform=karaf.sort{indexer-human-readable-kind},requires={requires}]
