You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by zr...@apache.org on 2019/09/04 21:02:10 UTC

[camel] 16/16: CAMEL-13932: More cleanup

This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit fa2ca039fb4f5ec708ad2743db306a456eed887f
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Wed Sep 4 14:14:45 2019 +0200

    CAMEL-13932: More cleanup
    
    Cleans up headers, properly escapes non-attributes in `{...}` and links.
---
 camel-core/readme.adoc                             |  82 +------------
 camel-core/src/main/docs/bean-component.adoc       |   2 +-
 camel-core/src/main/docs/binding-component.adoc    |   2 +-
 camel-core/src/main/docs/browse-component.adoc     |   2 +-
 camel-core/src/main/docs/class-component.adoc      |   2 +-
 camel-core/src/main/docs/controlbus-component.adoc |   2 +-
 camel-core/src/main/docs/dataformat-component.adoc |   2 +-
 camel-core/src/main/docs/dataset-component.adoc    |   2 +-
 camel-core/src/main/docs/direct-component.adoc     |   2 +-
 camel-core/src/main/docs/direct-vm-component.adoc  |   2 +-
 camel-core/src/main/docs/file-component.adoc       |   2 +-
 camel-core/src/main/docs/language-component.adoc   |   2 +-
 camel-core/src/main/docs/log-component.adoc        |   2 +-
 camel-core/src/main/docs/mock-component.adoc       |   2 +-
 camel-core/src/main/docs/properties-component.adoc |   2 +-
 camel-core/src/main/docs/ref-component.adoc        |   2 +-
 camel-core/src/main/docs/rest-api-component.adoc   |   2 +-
 camel-core/src/main/docs/rest-component.adoc       |   2 +-
 camel-core/src/main/docs/saga-component.adoc       |   2 +-
 camel-core/src/main/docs/scheduler-component.adoc  |   2 +-
 camel-core/src/main/docs/seda-component.adoc       |   2 +-
 camel-core/src/main/docs/stub-component.adoc       |   2 +-
 camel-core/src/main/docs/test-component.adoc       |   2 +-
 camel-core/src/main/docs/timer-component.adoc      |   2 +-
 camel-core/src/main/docs/validator-component.adoc  |   2 +-
 camel-core/src/main/docs/vm-component.adoc         |   2 +-
 camel-core/src/main/docs/xslt-component.adoc       |   2 +-
 .../src/main/docs/ahc-ws-component.adoc            |   9 +-
 .../camel-ahc/src/main/docs/ahc-component.adoc     |  18 ++-
 .../camel-apns/src/main/docs/apns-component.adoc   |   4 +-
 .../src/main/docs/as2-component.adoc               |  10 +-
 .../camel-asn1/src/main/docs/asn1-dataformat.adoc  |   4 +-
 .../src/main/docs/asterisk-component.adoc          |   2 +-
 .../camel-atmos/src/main/docs/atmos-component.adoc |   1 -
 .../main/docs/atmosphere-websocket-component.adoc  |   9 +-
 .../camel-atom/src/main/docs/atom-component.adoc   |   4 +-
 .../src/main/docs/atomix-map-component.adoc        |   2 +-
 .../src/main/docs/atomix-messaging-component.adoc  |   2 +-
 .../src/main/docs/atomix-multimap-component.adoc   |   2 +-
 .../src/main/docs/atomix-queue-component.adoc      |   2 +-
 .../src/main/docs/atomix-set-component.adoc        |   2 +-
 .../src/main/docs/atomix-value-component.adoc      |   2 +-
 .../camel-avro/src/main/docs/avro-component.adoc   |   2 +-
 .../camel-aws/src/main/docs/aws-cw-component.adoc  |   8 +-
 .../camel-aws/src/main/docs/aws-ddb-component.adoc |   7 +-
 .../src/main/docs/aws-ddbstream-component.adoc     |   8 +-
 .../camel-aws/src/main/docs/aws-ec2-component.adoc |   5 +-
 .../camel-aws/src/main/docs/aws-iam-component.adoc |   5 +-
 .../src/main/docs/aws-kinesis-component.adoc       |   8 +-
 .../main/docs/aws-kinesis-firehose-component.adoc  |   8 +-
 .../camel-aws/src/main/docs/aws-kms-component.adoc |   5 +-
 .../src/main/docs/aws-lambda-component.adoc        |   5 +-
 .../camel-aws/src/main/docs/aws-mq-component.adoc  |   5 +-
 .../camel-aws/src/main/docs/aws-s3-component.adoc  |  10 +-
 .../camel-aws/src/main/docs/aws-sdb-component.adoc |   5 +-
 .../camel-aws/src/main/docs/aws-ses-component.adoc |   5 +-
 .../camel-aws/src/main/docs/aws-sns-component.adoc |   8 +-
 .../camel-aws/src/main/docs/aws-sqs-component.adoc |   8 +-
 .../camel-aws/src/main/docs/aws-swf-component.adoc |   8 +-
 components/camel-aws/src/main/docs/aws.adoc        |   2 +-
 .../camel/component/aws/s3/S3Configuration.java    |   3 +-
 .../src/main/docs/azure-blob-component.adoc        |   8 +-
 .../src/main/docs/azure-queue-component.adoc       |   8 +-
 components/camel-azure/src/main/docs/azure.adoc    |   8 +-
 .../camel-bam/src/main/docs/bam-example.adoc       |  10 +-
 components/camel-bam/src/main/docs/bam.adoc        |  18 ++-
 .../src/main/docs/base64-dataformat.adoc           |   8 +-
 .../src/main/docs/bean-validator-component.adoc    |   8 +-
 .../src/main/docs/beanio-dataformat.adoc           |   6 +-
 .../src/main/docs/beanstalk-component.adoc         |   4 +-
 .../src/main/docs/bindy-dataformat.adoc            |  61 +++++-----
 .../src/main/docs/box-component.adoc               |  34 +++---
 .../src/main/docs/braintree-component.adoc         |   9 +-
 .../camel-cache/src/main/docs/cache-component.adoc |  37 +++---
 .../src/main/docs/cql-component.adoc               |  20 ++--
 components/camel-cdi/src/main/docs/cdi.adoc        |   4 +-
 .../src/main/docs/chronicle-engine-component.adoc  |   5 +-
 .../camel-chunk/src/main/docs/chunk-component.adoc |   3 +-
 .../camel-cmis/src/main/docs/cmis-component.adoc   |   5 +-
 .../src/main/docs/cometd-component.adoc            |   8 +-
 .../src/main/docs/context-component.adoc           |   4 +-
 .../camel-corda/src/main/docs/corda-component.adoc |   6 +-
 .../src/main/docs/crypto-component.adoc            |   2 +-
 .../src/main/docs/crypto-dataformat.adoc           |   5 +-
 .../camel-crypto/src/main/docs/pgp-dataformat.adoc |   9 +-
 .../src/main/docs/cxf-transport.adoc               |  41 +++----
 .../camel-cxf/src/main/docs/cxf-component.adoc     |  91 ++++++---------
 .../camel-cxf/src/main/docs/cxfrs-component.adoc   |  14 ++-
 .../src/main/docs/disruptor-component.adoc         |   8 +-
 .../camel-dns/src/main/docs/dns-component.adoc     |  30 ++---
 .../camel-drill/src/main/docs/drill-component.adoc |   4 +-
 .../src/main/docs/dropbox-component.adoc           |  62 +++++-----
 .../camel-eclipse/src/main/docs/eclipse.adoc       |   2 +-
 .../camel-ejb/src/main/docs/ejb-component.adoc     |  14 +--
 .../main/docs/elasticsearch-rest-component.adoc    |   2 +-
 .../src/main/docs/elasticsearch-component.adoc     |   3 +-
 .../src/main/docs/elasticsearch5-component.adoc    |   3 +-
 .../camel-elsql/src/main/docs/elsql-component.adoc |   5 +-
 .../src/main/docs/eventadmin-component.adoc        |   2 +-
 .../camel-exec/src/main/docs/exec-component.adoc   |   7 +-
 .../src/main/docs/facebook-component.adoc          |   2 +-
 .../src/main/docs/fhir-component.adoc              |   4 +-
 .../src/main/docs/fhirJson-dataformat.adoc         |  10 +-
 .../src/main/docs/fhirXml-dataformat.adoc          |   9 +-
 .../src/main/docs/flatpack-component.adoc          |  17 +--
 .../src/main/docs/flatpack-dataformat.adoc         |   5 +-
 .../camel-flink/src/main/docs/flink-component.adoc |   6 +-
 .../camel-fop/src/main/docs/fop-component.adoc     |   3 +-
 .../src/main/docs/freemarker-component.adoc        |   3 +-
 .../camel-ftp/src/main/docs/ftp-component.adoc     |  69 ++++++-----
 .../camel-ftp/src/main/docs/ftps-component.adoc    |   2 +-
 .../camel-ftp/src/main/docs/sftp-component.adoc    |   2 +-
 .../src/main/docs/ganglia-component.adoc           |  16 +--
 .../src/main/docs/geocoder-component.adoc          |   3 +-
 .../camel-git/src/main/docs/git-component.adoc     |   3 +-
 .../src/main/docs/google-bigquery-component.adoc   |  18 +--
 .../main/docs/google-bigquery-sql-component.adoc   |  20 ++--
 .../src/main/docs/google-pubsub-component.adoc     |  18 +--
 .../camel-grape/src/main/docs/grape-component.adoc |   2 +-
 .../camel-groovy-dsl/src/main/docs/groovy-dsl.adoc |  28 ++---
 .../src/main/docs/groovy-language.adoc             |   8 +-
 .../camel-grpc/src/main/docs/grpc-component.adoc   |   5 +-
 components/camel-guice/src/main/docs/guice.adoc    |  25 +---
 components/camel-hawtdb/src/main/docs/hawtdb.adoc  |   8 +-
 .../camel-hazelcast/src/main/docs/hazelcast.adoc   |  24 ++--
 .../camel-hbase/src/main/docs/hbase-component.adoc |  20 ++--
 .../camel-hdfs/src/main/docs/hdfs-component.adoc   |  13 ++-
 .../camel-hdfs2/src/main/docs/hdfs2-component.adoc |   8 +-
 .../src/main/docs/hipchat-component.adoc           |   4 +-
 .../camel-hl7/src/main/docs/hl7-dataformat.adoc    |  40 ++++---
 .../camel-hl7/src/main/docs/terser-language.adoc   |   3 -
 .../camel-http/src/main/docs/http-component.adoc   |  41 ++++---
 .../camel-http4/src/main/docs/http4-component.adoc |  49 +++++---
 .../camel-hystrix/src/main/docs/hystrix.adoc       |   4 +-
 .../src/main/docs/ibatis-component.adoc            |  16 +--
 .../camel-ical/src/main/docs/ical-dataformat.adoc  |   3 +-
 .../src/main/docs/iec60870-client-component.adoc   |   6 +-
 .../src/main/docs/iec60870-server-component.adoc   |   6 +-
 components/camel-ignite/src/main/docs/ignite.adoc  |  23 ++--
 .../src/main/docs/infinispan-component.adoc        |   3 +-
 .../src/main/docs/influxdb-component.adoc          |   3 +-
 .../camel-iota/src/main/docs/iota-component.adoc   |  11 +-
 .../camel-irc/src/main/docs/irc-component.adoc     |   2 +-
 .../src/main/docs/ironmq-component.adoc            |   2 +-
 .../src/main/docs/json-jackson-dataformat.adoc     |   8 +-
 .../src/main/docs/jacksonxml-dataformat.adoc       |   5 +-
 components/camel-jasypt/src/main/docs/jasypt.adoc  |   6 +-
 .../src/main/docs/javaspace-component.adoc         |  15 ++-
 .../camel-jaxb/src/main/docs/jaxb-dataformat.adoc  |  30 +++--
 .../camel-jbpm/src/main/docs/jbpm-component.adoc   |   5 +-
 .../src/main/docs/jcache-component.adoc            |   2 +-
 .../src/main/docs/jclouds-component.adoc           |  62 +++++-----
 .../camel-jcr/src/main/docs/jcr-component.adoc     |   3 +-
 .../camel-jdbc/src/main/docs/jdbc-component.adoc   |   8 +-
 .../src/main/docs/jetty-component.adoc             |  35 +++---
 .../src/main/docs/jgroups-raft-component.adoc      |   4 +-
 .../src/main/docs/jgroups-component.adoc           |   2 +-
 .../camel-jibx/src/main/docs/jibx-dataformat.adoc  |   2 +-
 .../camel-jing/src/main/docs/jing-component.adoc   |   7 +-
 .../camel-jira/src/main/docs/jira-component.adoc   |   2 +-
 .../camel-jms/src/main/docs/jms-component.adoc     |  28 +++--
 .../camel-jmx/src/main/docs/jmx-component.adoc     |  17 ++-
 .../src/main/docs/json-johnzon-dataformat.adoc     |   2 +-
 .../camel-jolt/src/main/docs/jolt-component.adoc   |   3 +-
 .../camel-josql/src/main/docs/sql-language.adoc    |  17 +--
 .../camel-jpa/src/main/docs/jpa-component.adoc     |  11 +-
 .../camel-jsch/src/main/docs/scp-component.adoc    |   5 +-
 .../src/main/docs/json-validator-component.adoc    |   6 +-
 .../src/main/docs/jsonpath-language.adoc           |  28 ++---
 .../camel-jt400/src/main/docs/jt400-component.adoc |   8 +-
 .../camel-juel/src/main/docs/el-language.adoc      |  10 +-
 .../src/main/docs/jxpath-language.adoc             |   9 +-
 .../camel-kafka/src/main/docs/kafka-component.adoc |  60 ++++++----
 .../src/main/docs/kestrel-component.adoc           |   3 +-
 .../camel-krati/src/main/docs/krati-component.adoc |  10 +-
 .../src/main/docs/kubernetes-component.adoc        |  30 ++---
 .../docs/kubernetes-config-maps-component.adoc     |   4 +-
 .../docs/kubernetes-deployments-component.adoc     |   4 +-
 .../src/main/docs/kubernetes-hpa-component.adoc    |   4 +-
 .../src/main/docs/kubernetes-job-component.adoc    |   4 +-
 .../main/docs/kubernetes-namespaces-component.adoc |   4 +-
 .../src/main/docs/kubernetes-nodes-component.adoc  |   4 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   4 +-
 .../kubernetes-persistent-volumes-component.adoc   |   4 +-
 .../src/main/docs/kubernetes-pods-component.adoc   |   4 +-
 ...bernetes-replication-controllers-component.adoc |   4 +-
 .../docs/kubernetes-resources-quota-component.adoc |   4 +-
 .../main/docs/kubernetes-secrets-component.adoc    |   4 +-
 .../kubernetes-service-accounts-component.adoc     |   4 +-
 .../main/docs/kubernetes-services-component.adoc   |   4 +-
 .../camel-kubernetes/src/main/docs/kubernetes.adoc |  26 ++---
 .../docs/openshift-build-configs-component.adoc    |   4 +-
 .../src/main/docs/openshift-builds-component.adoc  |   2 +-
 components/camel-kura/src/main/docs/kura.adoc      |  50 +++-----
 .../camel-ldap/src/main/docs/ldap-component.adoc   |   6 +-
 .../camel-ldif/src/main/docs/ldif-component.adoc   |  12 +-
 .../camel-leveldb/src/main/docs/leveldb.adoc       |  34 ++----
 .../src/main/docs/linkedin-component.adoc          |   2 +-
 components/camel-lra/src/main/docs/lra.adoc        |   4 +-
 .../src/main/docs/lucene-component.adoc            |   2 +-
 .../src/main/docs/lumberjack-component.adoc        |   2 +-
 .../camel-lzf/src/main/docs/lzf-dataformat.adoc    |   2 +-
 .../camel-mail/src/main/docs/mail-component.adoc   |  11 +-
 .../src/main/docs/mime-multipart-dataformat.adoc   |   3 +-
 .../src/main/docs/master-component.adoc            |   1 -
 .../src/main/docs/metrics-component.adoc           |  12 +-
 .../src/main/docs/micrometer-component.adoc        |  21 ++--
 .../src/main/docs/milo-client-component.adoc       |  15 ++-
 .../src/main/docs/milo-server-component.adoc       |  11 +-
 .../camel-mina/src/main/docs/mina-component.adoc   |  11 +-
 .../camel-mina2/src/main/docs/mina2-component.adoc |  12 +-
 .../camel-mllp/src/main/docs/mllp-component.adoc   |  14 +--
 .../src/main/docs/mongodb-gridfs-component.adoc    |   2 +-
 .../src/main/docs/mongodb-component.adoc           | 107 +++++++----------
 .../src/main/docs/mongodb3-component.adoc          |  48 +++-----
 .../camel-mqtt/src/main/docs/mqtt-component.adoc   |   3 +-
 .../camel-msv/src/main/docs/msv-component.adoc     |   5 +-
 .../src/main/docs/mustache-component.adoc          |   3 +-
 .../camel-mvel/src/main/docs/mvel-component.adoc   |   3 +-
 .../camel-mvel/src/main/docs/mvel-language.adoc    |   5 +-
 .../src/main/docs/mybatis-bean-component.adoc      |  11 +-
 .../src/main/docs/mybatis-component.adoc           |   8 +-
 .../src/main/docs/nagios-component.adoc            |   5 +-
 .../camel-nats/src/main/docs/nats-component.adoc   |   2 +-
 .../src/main/docs/netty-http-component.adoc        |  34 +++---
 .../camel-netty/src/main/docs/netty-component.adoc |  17 +--
 .../src/main/docs/netty4-http-component.adoc       |  17 +--
 .../src/main/docs/netty4-component.adoc            |  28 ++---
 .../camel-nsq/src/main/docs/nsq-component.adoc     |   3 -
 .../camel-ognl/src/main/docs/ognl-language.adoc    |   5 +-
 .../src/main/docs/olingo2-component.adoc           |   4 +-
 .../src/main/docs/olingo4-component.adoc           |   4 +-
 .../src/main/docs/openshift-component.adoc         |   3 +-
 .../src/main/docs/openstack-cinder-component.adoc  |   5 +-
 .../src/main/docs/openstack-glance-component.adoc  |   5 +-
 .../main/docs/openstack-keystone-component.adoc    |   5 +-
 .../src/main/docs/openstack-neutron-component.adoc |   6 +-
 .../src/main/docs/openstack-nova-component.adoc    |   5 +-
 .../src/main/docs/openstack-swift-component.adoc   |   5 +-
 .../camel-openstack/src/main/docs/openstack.adoc   |  18 ++-
 .../src/main/docs/opentracing.adoc                 |   2 +-
 .../src/main/docs/optaplanner-component.adoc       |   6 +-
 .../camel-paho/src/main/docs/paho-component.adoc   |   2 +-
 .../src/main/docs/paxlogging-component.adoc        |   2 +-
 .../camel-pdf/src/main/docs/pdf-component.adoc     |   3 +-
 .../src/main/docs/pgevent-component.adoc           |   5 +-
 .../camel-printer/src/main/docs/lpr-component.adoc |  35 ++++--
 .../src/main/docs/protobuf-dataformat.adoc         |  12 +-
 .../src/main/docs/pubnub-component.adoc            |   4 +-
 .../src/main/docs/pulsar-component.adoc            |   2 +-
 .../src/main/docs/quartz-component.adoc            |  11 +-
 .../src/main/docs/quartz2-component.adoc           |  36 +++---
 .../src/main/docs/quickfix-component.adoc          |   5 +-
 .../src/main/docs/rabbitmq-component.adoc          |  14 +--
 .../src/main/docs/reactive-streams-component.adoc  |   4 +-
 .../src/main/docs/rest-swagger-component.adoc      |  16 +--
 .../src/main/docs/restlet-component.adoc           |  29 ++---
 components/camel-ribbon/src/main/docs/ribbon.adoc  |   3 +-
 .../camel-rmi/src/main/docs/rmi-component.adoc     |   4 -
 .../src/main/docs/routebox-component.adoc          |   6 +-
 .../camel-rss/src/main/docs/rss-component.adoc     |   3 +-
 .../camel-rss/src/main/docs/rss-dataformat.adoc    |   2 +-
 components/camel-ruby/src/main/docs/ruby.adoc      |  38 +++---
 components/camel-rx/src/main/docs/rx.adoc          |  14 +--
 .../camel-rxjava2/src/main/docs/rxjava2.adoc       |   4 +-
 .../src/main/docs/salesforce-component.adoc        |  49 ++++----
 .../src/main/docs/sap-netweaver-component.adoc     |   3 +-
 .../src/main/docs/xquery-component.adoc            |   5 +-
 .../camel-saxon/src/main/docs/xquery-language.adoc |   5 +-
 .../camel-scala/src/main/docs/scala-eip.adoc       |  94 +++++++--------
 .../src/main/docs/scala-getting-started.adoc       |  11 +-
 .../src/main/docs/scala-supported-languages.adoc   |   6 +-
 components/camel-scala/src/main/docs/scala.adoc    |  13 +--
 .../src/main/docs/schematron-component.adoc        |   2 +-
 components/camel-scr/src/main/docs/scr.adoc        |   2 +-
 .../src/main/docs/javaScript-language.adoc         |  20 ++--
 .../camel-script/src/main/docs/php-language.adoc   |  17 +--
 .../src/main/docs/python-language.adoc             |  17 +--
 .../camel-script/src/main/docs/ruby-language.adoc  |  17 +--
 components/camel-script/src/main/docs/script.adoc  |  16 +--
 .../src/main/docs/service-component.adoc           |   1 -
 .../src/main/docs/servicenow-component.adoc        |  60 +++++-----
 .../src/main/docs/servlet-component.adoc           |  31 +++--
 .../src/main/docs/servletlistener.adoc             |  63 ++++------
 components/camel-shiro/src/main/docs/shiro.adoc    |  31 ++---
 .../camel-sip/src/main/docs/sip-component.adoc     |   8 +-
 .../src/main/docs/sjms-batch-component.adoc        |   6 +-
 .../camel-sjms/src/main/docs/sjms-component.adoc   |   5 +-
 .../camel-sjms2/src/main/docs/sjms2-component.adoc |   5 +-
 .../camel-slack/src/main/docs/slack-component.adoc |   3 +-
 .../camel-smpp/src/main/docs/smpp-component.adoc   |  15 ++-
 .../src/main/docs/yaml-snakeyaml-dataformat.adoc   |   2 +-
 .../camel-snmp/src/main/docs/snmp-component.adoc   |   9 +-
 .../src/main/docs/soapjaxb-dataformat.adoc         |   6 +-
 .../camel-solr/src/main/docs/solr-component.adoc   |   5 +-
 .../src/main/docs/spark-rest-component.adoc        |  14 +--
 .../camel-spark/src/main/docs/spark-component.adoc |   3 +-
 .../src/main/docs/splunk-component.adoc            |   6 +-
 .../src/main/docs/spring-batch-component.adoc      |   2 +-
 .../src/main/docs/spring-boot.adoc                 |   2 +-
 .../src/main/docs/spring-cloud-consul.adoc         |   4 +-
 .../src/main/docs/spring-cloud-netflix.adoc        |  18 +--
 .../src/main/docs/spring-cloud-zookeeper.adoc      |   4 +-
 .../src/main/docs/spring-cloud.adoc                |  19 +--
 .../main/docs/spring-integration-component.adoc    |   3 +-
 .../src/main/docs/spring-javaconfig.adoc           |  11 +-
 .../src/main/docs/spring-ldap-component.adoc       |   5 +-
 .../src/main/docs/spring-redis-component.adoc      |   8 +-
 .../src/main/docs/spring-security.adoc             |  19 ++-
 .../src/main/docs/spring-ws-component.adoc         |   6 +-
 .../camel-spring/src/main/docs/spel-language.adoc  |   3 +-
 components/camel-spring/src/main/docs/spring.adoc  |   6 +-
 .../camel-sql/src/main/docs/sql-component.adoc     |  69 ++++++-----
 .../src/main/docs/sql-stored-component.adoc        |  17 ++-
 .../camel-ssh/src/main/docs/ssh-component.adoc     |   3 +-
 .../camel-stax/src/main/docs/stax-component.adoc   |   6 +-
 .../camel-stomp/src/main/docs/stomp-component.adoc |   3 +-
 .../src/main/docs/stream-component.adoc            |  14 ++-
 .../src/main/docs/string-template-component.adoc   |   3 +-
 .../src/main/docs/swagger-java.adoc                |  16 +--
 .../camel-swagger/src/main/docs/swagger.adoc       |  26 ++---
 .../src/main/docs/syslog-dataformat.adoc           |  19 ++-
 .../src/main/docs/tidyMarkup-dataformat.adoc       |   2 +-
 .../src/main/docs/tarfile-dataformat.adoc          |   2 +-
 .../src/main/docs/telegram-component.adoc          |  18 +--
 .../src/main/docs/test-blueprint.adoc              |   5 +-
 .../camel-test-cdi/src/main/docs/test-cdi.adoc     |   3 +-
 .../camel-test-karaf/src/main/docs/test-karaf.adoc |   2 +-
 .../src/main/docs/test-spring.adoc                 |   8 +-
 components/camel-test/src/main/docs/test.adoc      |  49 +++-----
 .../src/main/docs/testcontainers-spring.adoc       |   5 +-
 .../src/main/docs/testcontainers.adoc              |   4 +-
 components/camel-testng/src/main/docs/testng.adoc  |   2 +-
 .../src/main/docs/thrift-component.adoc            |   3 +-
 .../src/main/docs/thrift-dataformat.adoc           |   5 +-
 .../camel-tika/src/main/docs/tika-component.adoc   |   2 +-
 .../src/main/docs/twilio-component.adoc            |   2 +-
 .../src/main/docs/twitter-component.adoc           |  13 +--
 .../main/docs/twitter-directmessage-component.adoc |   2 +-
 .../src/main/docs/twitter-search-component.adoc    |   2 +-
 .../src/main/docs/twitter-streaming-component.adoc |   2 +-
 .../src/main/docs/twitter-timeline-component.adoc  |   2 +-
 .../camel-twitter/src/main/docs/twitter.adoc       |  25 ++--
 .../src/main/docs/univocity-csv-dataformat.adoc    |   2 +-
 .../src/main/docs/univocity-fixed-dataformat.adoc  |   2 +-
 .../src/main/docs/univocity-tsv-dataformat.adoc    |   2 +-
 .../camel-urlrewrite/src/main/docs/urlrewrite.adoc |  53 +++------
 .../src/main/docs/velocity-component.adoc          |   9 +-
 .../camel-vertx/src/main/docs/vertx-component.adoc |   3 +-
 .../src/main/docs/weather-component.adoc           |   2 +-
 .../camel-web3j/src/main/docs/web3j-component.adoc |   4 +-
 .../src/main/docs/websocket-jsr356-component.adoc  |   5 -
 .../src/main/docs/websocket-component.adoc         |   8 +-
 .../src/main/docs/wordpress-component.adoc         |  10 +-
 .../src/main/docs/xchange-component.adoc           |   2 +-
 .../src/main/docs/xmlBeans-dataformat.adoc         |   2 +-
 .../src/main/docs/xmlrpc-component.adoc            |   3 -
 .../src/main/docs/xmlrpc-dataformat.adoc           |   2 +-
 .../src/main/docs/secureXML-dataformat.adoc        |   3 +-
 .../src/main/docs/xmlsecurity-component.adoc       |   2 +-
 .../camel-xmpp/src/main/docs/xmpp-component.adoc   |   6 +-
 .../src/main/docs/xstream-dataformat.adoc          |   2 +-
 .../src/main/docs/yammer-component.adoc            |  16 +--
 .../src/main/docs/zendesk-component.adoc           |   2 +-
 .../src/main/docs/zipfile-dataformat.adoc          |  12 +-
 components/camel-zipkin/src/main/docs/zipkin.adoc  |   5 +-
 .../src/main/docs/zookeeper-master-component.adoc  |   3 +-
 .../src/main/docs/zookeeper-component.adoc         |   6 +-
 components/readme.adoc                             | 121 ++++++++++++++-----
 .../quickfixj/QuickfixjSpringTest-context.xml      | 129 +++++++++++++++++++++
 docs/components/modules/ROOT/nav.adoc              |   2 +-
 .../modules/ROOT/pages/ahc-component.adoc          |  18 ++-
 .../modules/ROOT/pages/ahc-ws-component.adoc       |   9 +-
 .../modules/ROOT/pages/apns-component.adoc         |   4 +-
 .../modules/ROOT/pages/as2-component.adoc          |  10 +-
 .../modules/ROOT/pages/asn1-dataformat.adoc        |   4 +-
 .../modules/ROOT/pages/asterisk-component.adoc     |   2 +-
 .../modules/ROOT/pages/atmos-component.adoc        |   1 -
 .../ROOT/pages/atmosphere-websocket-component.adoc |   9 +-
 .../modules/ROOT/pages/atom-component.adoc         |   4 +-
 .../modules/ROOT/pages/atomix-map-component.adoc   |   2 +-
 .../ROOT/pages/atomix-messaging-component.adoc     |   2 +-
 .../ROOT/pages/atomix-multimap-component.adoc      |   2 +-
 .../modules/ROOT/pages/atomix-queue-component.adoc |   2 +-
 .../modules/ROOT/pages/atomix-set-component.adoc   |   2 +-
 .../modules/ROOT/pages/atomix-value-component.adoc |   2 +-
 .../modules/ROOT/pages/avro-component.adoc         |   2 +-
 .../modules/ROOT/pages/aws-cw-component.adoc       |   8 +-
 .../modules/ROOT/pages/aws-ddb-component.adoc      |   7 +-
 .../ROOT/pages/aws-ddbstream-component.adoc        |   8 +-
 .../modules/ROOT/pages/aws-ec2-component.adoc      |   5 +-
 .../modules/ROOT/pages/aws-iam-component.adoc      |   5 +-
 .../modules/ROOT/pages/aws-kinesis-component.adoc  |   8 +-
 .../ROOT/pages/aws-kinesis-firehose-component.adoc |   8 +-
 .../modules/ROOT/pages/aws-kms-component.adoc      |   5 +-
 .../modules/ROOT/pages/aws-lambda-component.adoc   |   5 +-
 .../modules/ROOT/pages/aws-mq-component.adoc       |   5 +-
 .../modules/ROOT/pages/aws-s3-component.adoc       |  10 +-
 .../modules/ROOT/pages/aws-sdb-component.adoc      |   5 +-
 .../modules/ROOT/pages/aws-ses-component.adoc      |   5 +-
 .../modules/ROOT/pages/aws-sns-component.adoc      |   8 +-
 .../modules/ROOT/pages/aws-sqs-component.adoc      |   8 +-
 .../modules/ROOT/pages/aws-swf-component.adoc      |   8 +-
 docs/components/modules/ROOT/pages/aws.adoc        |   3 +-
 .../modules/ROOT/pages/azure-blob-component.adoc   |   8 +-
 .../modules/ROOT/pages/azure-queue-component.adoc  |   8 +-
 docs/components/modules/ROOT/pages/azure.adoc      |   9 +-
 .../components/modules/ROOT/pages/bam-example.adoc |  10 +-
 docs/components/modules/ROOT/pages/bam.adoc        |  19 ++-
 .../modules/ROOT/pages/base64-dataformat.adoc      |   8 +-
 .../ROOT/pages/bean-validator-component.adoc       |   8 +-
 .../modules/ROOT/pages/beanio-dataformat.adoc      |   6 +-
 .../modules/ROOT/pages/beanstalk-component.adoc    |   4 +-
 .../modules/ROOT/pages/bindy-dataformat.adoc       |  61 +++++-----
 .../modules/ROOT/pages/box-component.adoc          |  34 +++---
 .../modules/ROOT/pages/braintree-component.adoc    |   9 +-
 .../modules/ROOT/pages/cache-component.adoc        |  37 +++---
 docs/components/modules/ROOT/pages/cdi.adoc        |   4 +-
 .../ROOT/pages/chronicle-engine-component.adoc     |   5 +-
 .../modules/ROOT/pages/chunk-component.adoc        |   3 +-
 .../modules/ROOT/pages/cmis-component.adoc         |   5 +-
 .../modules/ROOT/pages/cometd-component.adoc       |   8 +-
 .../modules/ROOT/pages/context-component.adoc      |   4 +-
 .../modules/ROOT/pages/corda-component.adoc        |   6 +-
 .../modules/ROOT/pages/cql-component.adoc          |  20 ++--
 .../modules/ROOT/pages/crypto-component.adoc       |   2 +-
 .../modules/ROOT/pages/crypto-dataformat.adoc      |   5 +-
 .../modules/ROOT/pages/cxf-component.adoc          |  91 ++++++---------
 .../modules/ROOT/pages/cxf-transport.adoc          |  42 +++----
 .../modules/ROOT/pages/cxfrs-component.adoc        |  14 ++-
 .../modules/ROOT/pages/disruptor-component.adoc    |   8 +-
 .../modules/ROOT/pages/dns-component.adoc          |  30 ++---
 .../modules/ROOT/pages/drill-component.adoc        |   4 +-
 .../modules/ROOT/pages/dropbox-component.adoc      |  62 +++++-----
 docs/components/modules/ROOT/pages/eclipse.adoc    |   2 +-
 .../modules/ROOT/pages/ejb-component.adoc          |  14 +--
 .../components/modules/ROOT/pages/el-language.adoc |  10 +-
 .../ROOT/pages/elasticsearch-component.adoc        |   3 +-
 .../ROOT/pages/elasticsearch-rest-component.adoc   |   2 +-
 .../ROOT/pages/elasticsearch5-component.adoc       |   3 +-
 .../modules/ROOT/pages/elsql-component.adoc        |   5 +-
 .../modules/ROOT/pages/eventadmin-component.adoc   |   2 +-
 .../modules/ROOT/pages/exec-component.adoc         |   7 +-
 .../modules/ROOT/pages/facebook-component.adoc     |   2 +-
 .../modules/ROOT/pages/fhir-component.adoc         |   4 +-
 .../modules/ROOT/pages/fhirJson-dataformat.adoc    |  10 +-
 .../modules/ROOT/pages/fhirXml-dataformat.adoc     |   9 +-
 .../modules/ROOT/pages/flatpack-component.adoc     |  17 +--
 .../modules/ROOT/pages/flatpack-dataformat.adoc    |   5 +-
 .../modules/ROOT/pages/flink-component.adoc        |   6 +-
 .../modules/ROOT/pages/fop-component.adoc          |   3 +-
 .../modules/ROOT/pages/freemarker-component.adoc   |   3 +-
 .../modules/ROOT/pages/ftp-component.adoc          |  69 ++++++-----
 .../modules/ROOT/pages/ftps-component.adoc         |   2 +-
 .../modules/ROOT/pages/ganglia-component.adoc      |  16 +--
 .../modules/ROOT/pages/geocoder-component.adoc     |   3 +-
 .../modules/ROOT/pages/git-component.adoc          |   3 +-
 .../ROOT/pages/google-bigquery-component.adoc      |  18 +--
 .../ROOT/pages/google-bigquery-sql-component.adoc  |  20 ++--
 .../ROOT/pages/google-pubsub-component.adoc        |  18 +--
 .../modules/ROOT/pages/grape-component.adoc        |   2 +-
 docs/components/modules/ROOT/pages/groovy-dsl.adoc |  29 +++--
 .../modules/ROOT/pages/groovy-language.adoc        |   8 +-
 .../modules/ROOT/pages/grpc-component.adoc         |   5 +-
 docs/components/modules/ROOT/pages/guice.adoc      |  26 +----
 docs/components/modules/ROOT/pages/hawtdb.adoc     |   9 +-
 docs/components/modules/ROOT/pages/hazelcast.adoc  |  24 ++--
 .../modules/ROOT/pages/hbase-component.adoc        |  20 ++--
 .../modules/ROOT/pages/hdfs-component.adoc         |  13 ++-
 .../modules/ROOT/pages/hdfs2-component.adoc        |   8 +-
 .../modules/ROOT/pages/hipchat-component.adoc      |   4 +-
 .../modules/ROOT/pages/hl7-dataformat.adoc         |  40 ++++---
 .../modules/ROOT/pages/http-component.adoc         |  41 ++++---
 .../modules/ROOT/pages/http4-component.adoc        |  49 +++++---
 docs/components/modules/ROOT/pages/hystrix.adoc    |   5 +-
 .../modules/ROOT/pages/ibatis-component.adoc       |  16 +--
 .../modules/ROOT/pages/ical-dataformat.adoc        |   3 +-
 .../ROOT/pages/iec60870-client-component.adoc      |   6 +-
 .../ROOT/pages/iec60870-server-component.adoc      |   6 +-
 docs/components/modules/ROOT/pages/ignite.adoc     |  24 ++--
 .../modules/ROOT/pages/infinispan-component.adoc   |   3 +-
 .../modules/ROOT/pages/influxdb-component.adoc     |   3 +-
 .../modules/ROOT/pages/iota-component.adoc         |  11 +-
 .../modules/ROOT/pages/irc-component.adoc          |   2 +-
 .../modules/ROOT/pages/ironmq-component.adoc       |   2 +-
 .../modules/ROOT/pages/jacksonxml-dataformat.adoc  |   5 +-
 docs/components/modules/ROOT/pages/jasypt.adoc     |   6 +-
 .../modules/ROOT/pages/javaScript-language.adoc    |  20 ++--
 .../modules/ROOT/pages/javaspace-component.adoc    |  15 ++-
 .../modules/ROOT/pages/jaxb-dataformat.adoc        |  30 +++--
 .../modules/ROOT/pages/jbpm-component.adoc         |   5 +-
 .../modules/ROOT/pages/jcache-component.adoc       |   2 +-
 .../modules/ROOT/pages/jclouds-component.adoc      |  62 +++++-----
 .../modules/ROOT/pages/jcr-component.adoc          |   3 +-
 .../modules/ROOT/pages/jdbc-component.adoc         |   8 +-
 .../modules/ROOT/pages/jetty-component.adoc        |  35 +++---
 .../modules/ROOT/pages/jgroups-component.adoc      |   2 +-
 .../modules/ROOT/pages/jgroups-raft-component.adoc |   4 +-
 .../modules/ROOT/pages/jibx-dataformat.adoc        |   2 +-
 .../modules/ROOT/pages/jing-component.adoc         |   7 +-
 .../modules/ROOT/pages/jira-component.adoc         |   2 +-
 .../modules/ROOT/pages/jms-component.adoc          |  28 +++--
 .../modules/ROOT/pages/jmx-component.adoc          |  17 ++-
 .../modules/ROOT/pages/jolt-component.adoc         |   3 +-
 .../modules/ROOT/pages/jpa-component.adoc          |  11 +-
 .../ROOT/pages/json-jackson-dataformat.adoc        |   8 +-
 .../ROOT/pages/json-johnzon-dataformat.adoc        |   2 +-
 .../ROOT/pages/json-validator-component.adoc       |   6 +-
 .../modules/ROOT/pages/jsonpath-language.adoc      |  28 ++---
 .../modules/ROOT/pages/jt400-component.adoc        |   8 +-
 .../modules/ROOT/pages/jxpath-language.adoc        |   9 +-
 .../modules/ROOT/pages/kafka-component.adoc        |  60 ++++++----
 .../modules/ROOT/pages/kestrel-component.adoc      |   3 +-
 .../modules/ROOT/pages/krati-component.adoc        |  10 +-
 .../modules/ROOT/pages/kubernetes-component.adoc   |  30 ++---
 .../pages/kubernetes-config-maps-component.adoc    |   4 +-
 .../pages/kubernetes-deployments-component.adoc    |   4 +-
 .../ROOT/pages/kubernetes-hpa-component.adoc       |   4 +-
 .../ROOT/pages/kubernetes-job-component.adoc       |   4 +-
 .../pages/kubernetes-namespaces-component.adoc     |   4 +-
 .../ROOT/pages/kubernetes-nodes-component.adoc     |   4 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   4 +-
 .../kubernetes-persistent-volumes-component.adoc   |   4 +-
 .../ROOT/pages/kubernetes-pods-component.adoc      |   4 +-
 ...bernetes-replication-controllers-component.adoc |   4 +-
 .../kubernetes-resources-quota-component.adoc      |   4 +-
 .../ROOT/pages/kubernetes-secrets-component.adoc   |   4 +-
 .../kubernetes-service-accounts-component.adoc     |   4 +-
 .../ROOT/pages/kubernetes-services-component.adoc  |   4 +-
 docs/components/modules/ROOT/pages/kubernetes.adoc |  26 ++---
 docs/components/modules/ROOT/pages/kura.adoc       |  51 +++-----
 .../modules/ROOT/pages/ldap-component.adoc         |   6 +-
 .../modules/ROOT/pages/ldif-component.adoc         |  12 +-
 docs/components/modules/ROOT/pages/leveldb.adoc    |  35 ++----
 .../modules/ROOT/pages/linkedin-component.adoc     |   2 +-
 .../modules/ROOT/pages/lpr-component.adoc          |  35 ++++--
 docs/components/modules/ROOT/pages/lra.adoc        |   5 +-
 .../modules/ROOT/pages/lucene-component.adoc       |   2 +-
 .../modules/ROOT/pages/lumberjack-component.adoc   |   2 +-
 .../modules/ROOT/pages/lzf-dataformat.adoc         |   2 +-
 .../modules/ROOT/pages/mail-component.adoc         |  11 +-
 .../modules/ROOT/pages/master-component.adoc       |   1 -
 .../modules/ROOT/pages/metrics-component.adoc      |  12 +-
 .../modules/ROOT/pages/micrometer-component.adoc   |  21 ++--
 .../modules/ROOT/pages/milo-client-component.adoc  |  15 ++-
 .../modules/ROOT/pages/milo-server-component.adoc  |  11 +-
 .../ROOT/pages/mime-multipart-dataformat.adoc      |   3 +-
 .../modules/ROOT/pages/mina-component.adoc         |  11 +-
 .../modules/ROOT/pages/mina2-component.adoc        |  12 +-
 .../modules/ROOT/pages/mllp-component.adoc         |  14 +--
 .../modules/ROOT/pages/mongodb-component.adoc      | 107 +++++++----------
 .../ROOT/pages/mongodb-gridfs-component.adoc       |   2 +-
 .../modules/ROOT/pages/mongodb3-component.adoc     |  48 +++-----
 .../modules/ROOT/pages/mqtt-component.adoc         |   3 +-
 .../modules/ROOT/pages/msv-component.adoc          |   5 +-
 .../modules/ROOT/pages/mustache-component.adoc     |   3 +-
 .../modules/ROOT/pages/mvel-component.adoc         |   3 +-
 .../modules/ROOT/pages/mvel-language.adoc          |   5 +-
 .../modules/ROOT/pages/mybatis-bean-component.adoc |  11 +-
 .../modules/ROOT/pages/mybatis-component.adoc      |   8 +-
 .../modules/ROOT/pages/nagios-component.adoc       |   5 +-
 .../modules/ROOT/pages/nats-component.adoc         |   2 +-
 .../modules/ROOT/pages/netty-component.adoc        |  17 +--
 .../modules/ROOT/pages/netty-http-component.adoc   |  34 +++---
 .../modules/ROOT/pages/netty4-component.adoc       |  28 ++---
 .../modules/ROOT/pages/netty4-http-component.adoc  |  17 +--
 .../modules/ROOT/pages/nsq-component.adoc          |   3 -
 .../modules/ROOT/pages/ognl-language.adoc          |   5 +-
 .../modules/ROOT/pages/olingo2-component.adoc      |   4 +-
 .../modules/ROOT/pages/olingo4-component.adoc      |   4 +-
 .../pages/openshift-build-configs-component.adoc   |   4 +-
 .../ROOT/pages/openshift-builds-component.adoc     |   2 +-
 .../modules/ROOT/pages/openshift-component.adoc    |   3 +-
 .../ROOT/pages/openstack-cinder-component.adoc     |   5 +-
 .../ROOT/pages/openstack-glance-component.adoc     |   5 +-
 .../ROOT/pages/openstack-keystone-component.adoc   |   5 +-
 .../ROOT/pages/openstack-neutron-component.adoc    |   6 +-
 .../ROOT/pages/openstack-nova-component.adoc       |   5 +-
 .../ROOT/pages/openstack-swift-component.adoc      |   5 +-
 docs/components/modules/ROOT/pages/openstack.adoc  |  19 ++-
 .../components/modules/ROOT/pages/opentracing.adoc |   2 +-
 .../modules/ROOT/pages/optaplanner-component.adoc  |   6 +-
 .../modules/ROOT/pages/paho-component.adoc         |   2 +-
 .../modules/ROOT/pages/paxlogging-component.adoc   |   2 +-
 .../modules/ROOT/pages/pdf-component.adoc          |   3 +-
 .../modules/ROOT/pages/pgevent-component.adoc      |   5 +-
 .../modules/ROOT/pages/pgp-dataformat.adoc         |   9 +-
 .../modules/ROOT/pages/php-language.adoc           |  17 +--
 .../modules/ROOT/pages/protobuf-dataformat.adoc    |  12 +-
 .../modules/ROOT/pages/pubnub-component.adoc       |   4 +-
 .../modules/ROOT/pages/pulsar-component.adoc       |   2 +-
 .../modules/ROOT/pages/python-language.adoc        |  17 +--
 .../modules/ROOT/pages/quartz-component.adoc       |  11 +-
 .../modules/ROOT/pages/quartz2-component.adoc      |  36 +++---
 .../modules/ROOT/pages/quickfix-component.adoc     |   5 +-
 .../modules/ROOT/pages/rabbitmq-component.adoc     |  14 +--
 .../ROOT/pages/reactive-streams-component.adoc     |   4 +-
 .../modules/ROOT/pages/rest-swagger-component.adoc |  16 +--
 .../modules/ROOT/pages/restlet-component.adoc      |  29 ++---
 docs/components/modules/ROOT/pages/ribbon.adoc     |   3 +-
 .../modules/ROOT/pages/rmi-component.adoc          |   4 -
 .../modules/ROOT/pages/routebox-component.adoc     |   6 +-
 .../modules/ROOT/pages/rss-component.adoc          |   3 +-
 .../modules/ROOT/pages/rss-dataformat.adoc         |   2 +-
 .../modules/ROOT/pages/ruby-language.adoc          |  17 +--
 docs/components/modules/ROOT/pages/ruby.adoc       |  39 +++----
 docs/components/modules/ROOT/pages/rx.adoc         |  15 +--
 docs/components/modules/ROOT/pages/rxjava2.adoc    |   5 +-
 .../modules/ROOT/pages/salesforce-component.adoc   |  49 ++++----
 .../ROOT/pages/sap-netweaver-component.adoc        |   3 +-
 docs/components/modules/ROOT/pages/scala-eip.adoc  |  95 +++++++--------
 .../modules/ROOT/pages/scala-getting-started.adoc  |  12 +-
 .../ROOT/pages/scala-supported-languages.adoc      |   7 +-
 docs/components/modules/ROOT/pages/scala.adoc      |  14 +--
 .../modules/ROOT/pages/schematron-component.adoc   |   2 +-
 .../modules/ROOT/pages/scp-component.adoc          |   5 +-
 docs/components/modules/ROOT/pages/scr.adoc        |   2 +-
 docs/components/modules/ROOT/pages/script.adoc     |  17 +--
 .../modules/ROOT/pages/secureXML-dataformat.adoc   |   3 +-
 .../modules/ROOT/pages/service-component.adoc      |   1 -
 .../modules/ROOT/pages/servicenow-component.adoc   |  60 +++++-----
 .../modules/ROOT/pages/servlet-component.adoc      |  31 +++--
 .../modules/ROOT/pages/servletlistener.adoc        |  64 ++++------
 .../modules/ROOT/pages/sftp-component.adoc         |   2 +-
 docs/components/modules/ROOT/pages/shiro.adoc      |  32 ++---
 .../modules/ROOT/pages/sip-component.adoc          |   8 +-
 .../modules/ROOT/pages/sjms-batch-component.adoc   |   6 +-
 .../modules/ROOT/pages/sjms-component.adoc         |   5 +-
 .../modules/ROOT/pages/sjms2-component.adoc        |   5 +-
 .../modules/ROOT/pages/slack-component.adoc        |   3 +-
 .../modules/ROOT/pages/smpp-component.adoc         |  15 ++-
 .../modules/ROOT/pages/snmp-component.adoc         |   9 +-
 .../modules/ROOT/pages/soapjaxb-dataformat.adoc    |   6 +-
 .../modules/ROOT/pages/solr-component.adoc         |   5 +-
 .../modules/ROOT/pages/spark-component.adoc        |   3 +-
 .../modules/ROOT/pages/spark-rest-component.adoc   |  14 +--
 .../modules/ROOT/pages/spel-language.adoc          |   3 +-
 .../modules/ROOT/pages/splunk-component.adoc       |   6 +-
 .../modules/ROOT/pages/spring-batch-component.adoc |   2 +-
 .../components/modules/ROOT/pages/spring-boot.adoc |   2 +-
 .../modules/ROOT/pages/spring-cloud-consul.adoc    |   5 +-
 .../modules/ROOT/pages/spring-cloud-netflix.adoc   |  19 +--
 .../modules/ROOT/pages/spring-cloud-zookeeper.adoc |   5 +-
 .../modules/ROOT/pages/spring-cloud.adoc           |  20 +---
 .../ROOT/pages/spring-integration-component.adoc   |   3 +-
 .../modules/ROOT/pages/spring-javaconfig.adoc      |  12 +-
 .../modules/ROOT/pages/spring-ldap-component.adoc  |   5 +-
 .../modules/ROOT/pages/spring-redis-component.adoc |   8 +-
 .../modules/ROOT/pages/spring-security.adoc        |  20 ++--
 .../modules/ROOT/pages/spring-ws-component.adoc    |   6 +-
 docs/components/modules/ROOT/pages/spring.adoc     |   6 +-
 .../modules/ROOT/pages/sql-component.adoc          |  69 ++++++-----
 .../modules/ROOT/pages/sql-language.adoc           |  17 +--
 .../modules/ROOT/pages/sql-stored-component.adoc   |  17 ++-
 .../modules/ROOT/pages/ssh-component.adoc          |   3 +-
 .../modules/ROOT/pages/stax-component.adoc         |   6 +-
 .../modules/ROOT/pages/stomp-component.adoc        |   3 +-
 .../modules/ROOT/pages/stream-component.adoc       |  14 ++-
 .../ROOT/pages/string-template-component.adoc      |   3 +-
 .../modules/ROOT/pages/swagger-java.adoc           |  17 +--
 docs/components/modules/ROOT/pages/swagger.adoc    |  27 ++---
 .../modules/ROOT/pages/syslog-dataformat.adoc      |  19 ++-
 .../modules/ROOT/pages/tarfile-dataformat.adoc     |   2 +-
 .../modules/ROOT/pages/telegram-component.adoc     |  18 +--
 .../modules/ROOT/pages/terser-language.adoc        |   3 -
 .../modules/ROOT/pages/test-blueprint.adoc         |   5 +-
 docs/components/modules/ROOT/pages/test-cdi.adoc   |   3 +-
 docs/components/modules/ROOT/pages/test-karaf.adoc |   2 +-
 .../components/modules/ROOT/pages/test-spring.adoc |   8 +-
 docs/components/modules/ROOT/pages/test.adoc       |  50 +++-----
 .../modules/ROOT/pages/testcontainers-spring.adoc  |   6 +-
 .../modules/ROOT/pages/testcontainers.adoc         |   4 +-
 docs/components/modules/ROOT/pages/testng.adoc     |   2 +-
 .../modules/ROOT/pages/thrift-component.adoc       |   3 +-
 .../modules/ROOT/pages/thrift-dataformat.adoc      |   5 +-
 .../modules/ROOT/pages/tidyMarkup-dataformat.adoc  |   2 +-
 .../modules/ROOT/pages/tika-component.adoc         |   2 +-
 .../modules/ROOT/pages/twilio-component.adoc       |   2 +-
 .../modules/ROOT/pages/twitter-component.adoc      |  13 +--
 .../pages/twitter-directmessage-component.adoc     |   2 +-
 .../ROOT/pages/twitter-search-component.adoc       |   2 +-
 .../ROOT/pages/twitter-streaming-component.adoc    |   2 +-
 .../ROOT/pages/twitter-timeline-component.adoc     |   2 +-
 docs/components/modules/ROOT/pages/twitter.adoc    |  25 ++--
 .../ROOT/pages/univocity-csv-dataformat.adoc       |   2 +-
 .../ROOT/pages/univocity-fixed-dataformat.adoc     |   2 +-
 .../ROOT/pages/univocity-tsv-dataformat.adoc       |   2 +-
 docs/components/modules/ROOT/pages/urlrewrite.adoc |  54 +++------
 .../modules/ROOT/pages/velocity-component.adoc     |   9 +-
 .../modules/ROOT/pages/vertx-component.adoc        |   3 +-
 .../modules/ROOT/pages/weather-component.adoc      |   2 +-
 .../modules/ROOT/pages/web3j-component.adoc        |   4 +-
 .../modules/ROOT/pages/websocket-component.adoc    |   8 +-
 .../ROOT/pages/websocket-jsr356-component.adoc     |   5 -
 .../modules/ROOT/pages/wordpress-component.adoc    |  10 +-
 .../modules/ROOT/pages/xchange-component.adoc      |   2 +-
 .../modules/ROOT/pages/xmlBeans-dataformat.adoc    |   2 +-
 .../modules/ROOT/pages/xmlrpc-component.adoc       |   3 -
 .../modules/ROOT/pages/xmlrpc-dataformat.adoc      |   2 +-
 .../modules/ROOT/pages/xmlsecurity-component.adoc  |   2 +-
 .../modules/ROOT/pages/xmpp-component.adoc         |   6 +-
 .../modules/ROOT/pages/xquery-component.adoc       |   5 +-
 .../modules/ROOT/pages/xquery-language.adoc        |   5 +-
 .../modules/ROOT/pages/xstream-dataformat.adoc     |   2 +-
 .../ROOT/pages/yaml-snakeyaml-dataformat.adoc      |   2 +-
 .../modules/ROOT/pages/yammer-component.adoc       |  16 +--
 .../modules/ROOT/pages/zendesk-component.adoc      |   2 +-
 .../modules/ROOT/pages/zipfile-dataformat.adoc     |  12 +-
 docs/components/modules/ROOT/pages/zipkin.adoc     |   5 +-
 .../modules/ROOT/pages/zookeeper-component.adoc    |   6 +-
 .../ROOT/pages/zookeeper-master-component.adoc     |   3 +-
 .../s3/springboot/S3ComponentConfiguration.java    |   3 +-
 .../camel-spring-boot-dependencies/pom.xml         |  56 ++++-----
 713 files changed, 3962 insertions(+), 4268 deletions(-)

diff --git a/camel-core/readme.adoc b/camel-core/readme.adoc
index 1be8cc8..671bdd7 100644
--- a/camel-core/readme.adoc
+++ b/camel-core/readme.adoc
@@ -6,90 +6,18 @@ Components
 
 
 // components: START
-Number of Components: 26 in 1 JAR artifacts (1 deprecated)
+Number of Components: 2 in 1 JAR artifacts (1 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
 | Component | Available From | Description
 
-| link:src/main/docs/bean-component.adoc[Bean] (camel-core) +
-`bean:beanName` | 1.0 | The bean component is for invoking Java beans from Camel.
-
 | link:src/main/docs/binding-component.adoc[Binding] (camel-core) +
 `binding:bindingName:delegateUri` | 2.11 | *deprecated* The binding component is used for as a of wrapping an Endpoint in a contract with a data format.
 
-| link:src/main/docs/browse-component.adoc[Browse] (camel-core) +
-`browse:name` | 1.3 | The browse component is used for viewing the messages received on endpoints that supports BrowsableEndpoint.
-
-| link:src/main/docs/class-component.adoc[Class] (camel-core) +
-`class:beanName` | 2.4 | The Class Component is for invoking Java Classes (Java beans) from Camel.
-
-| link:src/main/docs/controlbus-component.adoc[Control Bus] (camel-core) +
-`controlbus:command:language` | 2.11 | The controlbus component provides easy management of Camel applications based on the Control Bus EIP pattern.
-
-| link:src/main/docs/dataformat-component.adoc[Data Format] (camel-core) +
-`dataformat:name:operation` | 2.12 | The dataformat component is used for working with Data Formats as if it was a regular Component supporting Endpoints and URIs.
-
-| link:src/main/docs/dataset-component.adoc[Dataset] (camel-core) +
-`dataset:name` | 1.3 | The dataset component provides a mechanism to easily perform load & soak testing of your system.
-
-| link:src/main/docs/direct-component.adoc[Direct] (camel-core) +
-`direct:name` | 1.0 | The direct component provides direct, synchronous call to another endpoint from the same CamelContext.
-
-| link:src/main/docs/direct-vm-component.adoc[Direct VM] (camel-core) +
-`direct-vm:name` | 2.10 | The direct-vm component provides direct, synchronous call to another endpoint from any CamelContext in the same JVM.
-
-| link:src/main/docs/file-component.adoc[File] (camel-core) +
-`file:directoryName` | 1.0 | The file component is used for reading or writing files.
-
-| link:src/main/docs/language-component.adoc[Language] (camel-core) +
-`language:languageName:resourceUri` | 2.5 | The language component allows you to send a message to an endpoint which executes a script by any of the supported Languages in Camel.
-
-| link:src/main/docs/log-component.adoc[Log] (camel-core) +
-`log:loggerName` | 1.1 | The log component logs message exchanges to the underlying logging mechanism.
-
-| link:src/main/docs/mock-component.adoc[Mock] (camel-core) +
-`mock:name` | 1.0 | The mock component is used for testing routes and mediation rules using mocks.
-
-| link:src/main/docs/properties-component.adoc[Properties] (camel-core) +
-`properties:key` | 2.3 | The properties component is used for using property placeholders in endpoint uris.
-
-| link:src/main/docs/ref-component.adoc[Ref] (camel-core) +
-`ref:name` | 1.2 | The ref component is used for lookup of existing endpoints bound in the Registry.
-
-| link:src/main/docs/rest-component.adoc[REST] (camel-core) +
-`rest:method:path:uriTemplate` | 2.14 | The rest component is used for either hosting REST services (consumer) or calling external REST services (producer).
-
-| link:src/main/docs/rest-api-component.adoc[REST API] (camel-core) +
-`rest-api:path/contextIdPattern` | 2.16 | The rest-api component is used for providing Swagger API of the REST services which has been defined using the rest-dsl in Camel.
-
-| link:src/main/docs/saga-component.adoc[Saga] (camel-core) +
-`saga:action` | 2.21 | The saga component provides access to advanced options for managing the flow in the Saga EIP.
-
-| link:src/main/docs/scheduler-component.adoc[Scheduler] (camel-core) +
-`scheduler:name` | 2.15 | The scheduler component is used for generating message exchanges when a scheduler fires.
-
-| link:src/main/docs/seda-component.adoc[SEDA] (camel-core) +
-`seda:name` | 1.1 | The seda component provides asynchronous call to another endpoint from any CamelContext in the same JVM.
-
-| link:src/main/docs/stub-component.adoc[Stub] (camel-core) +
-`stub:name` | 2.10 | The stub component provides a simple way to stub out any physical endpoints while in development or testing.
-
 | link:src/main/docs/test-component.adoc[Test] (camel-core) +
 `test:name` | 1.3 | The test component extends the mock component by on startup to pull messages from another endpoint to set the expected message bodies.
 
-| link:src/main/docs/timer-component.adoc[Timer] (camel-core) +
-`timer:timerName` | 1.0 | The timer component is used for generating message exchanges when a timer fires.
-
-| link:src/main/docs/validator-component.adoc[Validator] (camel-core) +
-`validator:resourceUri` | 1.1 | Validates the payload of a message using XML Schema and JAXP Validation.
-
-| link:src/main/docs/vm-component.adoc[VM] (camel-core) +
-`vm:name` | 1.1 | The vm component provides asynchronous call to another endpoint from the same CamelContext.
-
-| link:src/main/docs/xslt-component.adoc[XSLT] (camel-core) +
-`xslt:resourceUri` | 1.3 | Transforms the message using a XSLT template.
-
 |===
 // components: END
 
@@ -106,7 +34,7 @@ Data Formats
 
 
 // dataformats: START
-Number of Data Formats: 4 in 39 JAR artifacts (6 deprecated)
+Number of Data Formats: 4 in 44 JAR artifacts (6 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -136,14 +64,12 @@ Expression Languages
 
 
 // languages: START
-Number of Languages: 10 in 1 JAR artifacts (0 deprecated)
+Number of Languages: 8 in 1 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
 | Language | Available From | Description
 
-| link:src/main/docs/bean-language.adoc[Bean method] (camel-core) | 1.3 | To use a Java bean (aka method call) in Camel expressions or predicates.
-
 | link:src/main/docs/constant-language.adoc[Constant] (camel-core) | 1.5 | To use a constant value in Camel expressions or predicates.
 
 | link:src/main/docs/exchangeProperty-language.adoc[ExchangeProperty] (camel-core) | 2.0 | To use a Camel Exchange property in expressions or predicates.
@@ -159,8 +85,6 @@ Number of Languages: 10 in 1 JAR artifacts (0 deprecated)
 | link:src/main/docs/tokenize-language.adoc[Tokenize] (camel-core) | 2.0 | To use Camel message body or header with a tokenizer in Camel expressions or predicates.
 
 | link:src/main/docs/xtokenize-language.adoc[XML Tokenize] (camel-core) | 2.14 | To use Camel message body or header with a XML tokenizer in Camel expressions or predicates.
-
-| link:src/main/docs/xpath-language.adoc[XPath] (camel-core) | 1.1 | To use XPath (XML) in Camel expressions or predicates.
 |===
 // languages: END
 
diff --git a/camel-core/src/main/docs/bean-component.adoc b/camel-core/src/main/docs/bean-component.adoc
index fc5ee8f..f6e16c1 100644
--- a/camel-core/src/main/docs/bean-component.adoc
+++ b/camel-core/src/main/docs/bean-component.adoc
@@ -167,4 +167,4 @@ mechanisms in Camel.
 
 * <<class-component,Class>> component
 * Bean Binding
-* Bean Integration
\ No newline at end of file
+* Bean Integration
diff --git a/camel-core/src/main/docs/binding-component.adoc b/camel-core/src/main/docs/binding-component.adoc
index 8491fb9..bc3d1ef 100644
--- a/camel-core/src/main/docs/binding-component.adoc
+++ b/camel-core/src/main/docs/binding-component.adoc
@@ -128,4 +128,4 @@ BindingComponent to wrap the endpoints in the binding of your choice.
 
 So bindings are a composition tool really; only use them when they make
 sense - the extra complexity may not be worth it unless you have lots of
-routes or endpoints.
\ No newline at end of file
+routes or endpoints.
diff --git a/camel-core/src/main/docs/browse-component.adoc b/camel-core/src/main/docs/browse-component.adoc
index d54de75..1bd286c 100644
--- a/camel-core/src/main/docs/browse-component.adoc
+++ b/camel-core/src/main/docs/browse-component.adoc
@@ -93,4 +93,4 @@ public void inspectRecievedOrders() {
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
\ No newline at end of file
+* Getting Started
diff --git a/camel-core/src/main/docs/class-component.adoc b/camel-core/src/main/docs/class-component.adoc
index f2a1618..16f09c3 100644
--- a/camel-core/src/main/docs/class-component.adoc
+++ b/camel-core/src/main/docs/class-component.adoc
@@ -139,4 +139,4 @@ component works in much the same way.
 
 * <<bean-component,Bean>>
 * Bean Binding
-* Bean Integration
\ No newline at end of file
+* Bean Integration
diff --git a/camel-core/src/main/docs/controlbus-component.adoc b/camel-core/src/main/docs/controlbus-component.adoc
index 3ced150..fe9e43e 100644
--- a/camel-core/src/main/docs/controlbus-component.adoc
+++ b/camel-core/src/main/docs/controlbus-component.adoc
@@ -188,4 +188,4 @@ We use `async=true` to stop Camel asynchronously as otherwise we
 would be trying to stop Camel while it was in-flight processing the
 message we sent to the control bus component.
 
-TIP: You can also use other languages such as <<groovy-language,Groovy>>, etc.
\ No newline at end of file
+TIP: You can also use other languages such as <<groovy-language,Groovy>>, etc.
diff --git a/camel-core/src/main/docs/dataformat-component.adoc b/camel-core/src/main/docs/dataformat-component.adoc
index d40b981..5ed8323 100644
--- a/camel-core/src/main/docs/dataformat-component.adoc
+++ b/camel-core/src/main/docs/dataformat-component.adoc
@@ -82,4 +82,4 @@ And in XML DSL you do:
     <to uri="mqseries:Another.Queue"/>
   </route>
 </camelContext>
-----
\ No newline at end of file
+----
diff --git a/camel-core/src/main/docs/dataset-component.adoc b/camel-core/src/main/docs/dataset-component.adoc
index 01609ba..e1e5176 100644
--- a/camel-core/src/main/docs/dataset-component.adoc
+++ b/camel-core/src/main/docs/dataset-component.adoc
@@ -222,4 +222,4 @@ the bodies from a file.
 
 |`delimiter` |`String` |\z |Specifies the delimiter pattern used by a `java.util.Scanner` to split
 the file into multiple payloads.
-|===
\ No newline at end of file
+|===
diff --git a/camel-core/src/main/docs/direct-component.adoc b/camel-core/src/main/docs/direct-component.adoc
index fb68437..7cb68cb 100644
--- a/camel-core/src/main/docs/direct-component.adoc
+++ b/camel-core/src/main/docs/direct-component.adoc
@@ -121,4 +121,4 @@ be used together.
 === See Also
 
 * <<seda-component,SEDA>>
-* <<vm-component,VM>>
\ No newline at end of file
+* <<vm-component,VM>>
diff --git a/camel-core/src/main/docs/direct-vm-component.adoc b/camel-core/src/main/docs/direct-vm-component.adoc
index f47e956..f7f26e7 100644
--- a/camel-core/src/main/docs/direct-vm-component.adoc
+++ b/camel-core/src/main/docs/direct-vm-component.adoc
@@ -139,4 +139,4 @@ And the sample using spring DSL:
 
 * <<direct-component,Direct>>
 * <<seda-component,SEDA>>
-* <<vm-component,VM>>
\ No newline at end of file
+* <<vm-component,VM>>
diff --git a/camel-core/src/main/docs/file-component.adoc b/camel-core/src/main/docs/file-component.adoc
index f49087b..3283a60 100644
--- a/camel-core/src/main/docs/file-component.adoc
+++ b/camel-core/src/main/docs/file-component.adoc
@@ -1132,4 +1132,4 @@ problems.
 
 * <<file-language,File Language>>
 * FTP
-* Polling Consumer
\ No newline at end of file
+* Polling Consumer
diff --git a/camel-core/src/main/docs/language-component.adoc b/camel-core/src/main/docs/language-component.adoc
index 8ff9fd9..241b13d 100644
--- a/camel-core/src/main/docs/language-component.adoc
+++ b/camel-core/src/main/docs/language-component.adoc
@@ -131,4 +131,4 @@ updated script is used:
 
 From *Camel 2.11* onwards you can refer to the resource similar to the
 other <<language-component,Language>>s in Camel by prefixing with
-`"resource:"` as shown below:
\ No newline at end of file
+`"resource:"` as shown below:
diff --git a/camel-core/src/main/docs/log-component.adoc b/camel-core/src/main/docs/log-component.adoc
index eaedc11..f209209 100644
--- a/camel-core/src/main/docs/log-component.adoc
+++ b/camel-core/src/main/docs/log-component.adoc
@@ -327,4 +327,4 @@ reference it using `logger` URI parameter.
 === See Also
 
 * LogEIP for using `log` directly in the DSL for human
-logs.
\ No newline at end of file
+logs.
diff --git a/camel-core/src/main/docs/mock-component.adoc b/camel-core/src/main/docs/mock-component.adoc
index e816fbc..857595f 100644
--- a/camel-core/src/main/docs/mock-component.adoc
+++ b/camel-core/src/main/docs/mock-component.adoc
@@ -484,4 +484,4 @@ In the example above we use `seconds` as the time unit, but Camel offers
 === See Also
 
 * Spring Testing
-* Testing
\ No newline at end of file
+* Testing
diff --git a/camel-core/src/main/docs/properties-component.adoc b/camel-core/src/main/docs/properties-component.adoc
index 3a8c629..d19767a 100644
--- a/camel-core/src/main/docs/properties-component.adoc
+++ b/camel-core/src/main/docs/properties-component.adoc
@@ -1003,4 +1003,4 @@ pc.addFunction(new MyBeerFunction());
 
 * <<properties-component,Properties>> component
 * Jasypt for using encrypted values (eg passwords) in
-the properties
\ No newline at end of file
+the properties
diff --git a/camel-core/src/main/docs/ref-component.adoc b/camel-core/src/main/docs/ref-component.adoc
index eb739af..93a0f91 100644
--- a/camel-core/src/main/docs/ref-component.adoc
+++ b/camel-core/src/main/docs/ref-component.adoc
@@ -100,4 +100,4 @@ You could, of course, have used the `ref` attribute instead:
 <to ref="endpoint2"/>
 ----
 
-Which is the more common way to write it.
\ No newline at end of file
+Which is the more common way to write it.
diff --git a/camel-core/src/main/docs/rest-api-component.adoc b/camel-core/src/main/docs/rest-api-component.adoc
index 1f790d7..ba7ab06 100644
--- a/camel-core/src/main/docs/rest-api-component.adoc
+++ b/camel-core/src/main/docs/rest-api-component.adoc
@@ -53,4 +53,4 @@ with the following path and query parameters:
 === See Also
 
 * Rest DSL
-* Swagger Java
\ No newline at end of file
+* Swagger Java
diff --git a/camel-core/src/main/docs/rest-component.adoc b/camel-core/src/main/docs/rest-component.adoc
index 14cb433..0452149 100644
--- a/camel-core/src/main/docs/rest-component.adoc
+++ b/camel-core/src/main/docs/rest-component.adoc
@@ -248,4 +248,4 @@ containers.
 === See Also
 
 * Rest DSL
-* <<servlet-component,SERVLET>>
\ No newline at end of file
+* <<servlet-component,SERVLET>>
diff --git a/camel-core/src/main/docs/saga-component.adoc b/camel-core/src/main/docs/saga-component.adoc
index f0ba7b2..07c5f4e 100644
--- a/camel-core/src/main/docs/saga-component.adoc
+++ b/camel-core/src/main/docs/saga-component.adoc
@@ -51,4 +51,4 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 |===
-// endpoint options: END
\ No newline at end of file
+// endpoint options: END
diff --git a/camel-core/src/main/docs/scheduler-component.adoc b/camel-core/src/main/docs/scheduler-component.adoc
index d88873b..cba1bbc 100644
--- a/camel-core/src/main/docs/scheduler-component.adoc
+++ b/camel-core/src/main/docs/scheduler-component.adoc
@@ -162,4 +162,4 @@ exchange.
 === See Also
 
 * <<timer-component,Timer>>
-* <<quartz-component,Quartz>>
\ No newline at end of file
+* <<quartz-component,Quartz>>
diff --git a/camel-core/src/main/docs/seda-component.adoc b/camel-core/src/main/docs/seda-component.adoc
index 0bd9cc6..05c7010 100644
--- a/camel-core/src/main/docs/seda-component.adoc
+++ b/camel-core/src/main/docs/seda-component.adoc
@@ -250,4 +250,4 @@ int size = seda.getExchanges().size();
 * <<vm-component,VM>>
 * <<disruptor-component,Disruptor>>
 * <<direct-component,Direct>>
-* Async
\ No newline at end of file
+* Async
diff --git a/camel-core/src/main/docs/stub-component.adoc b/camel-core/src/main/docs/stub-component.adoc
index 35efc93..3354f74 100644
--- a/camel-core/src/main/docs/stub-component.adoc
+++ b/camel-core/src/main/docs/stub-component.adoc
@@ -100,4 +100,4 @@ Here are a few samples of stubbing endpoint uris
 ----
 stub:smtp://somehost.foo.com?user=whatnot&something=else
 stub:http://somehost.bar.com/something
-----
\ No newline at end of file
+----
diff --git a/camel-core/src/main/docs/test-component.adoc b/camel-core/src/main/docs/test-component.adoc
index a6baf0c..6d2bebd 100644
--- a/camel-core/src/main/docs/test-component.adoc
+++ b/camel-core/src/main/docs/test-component.adoc
@@ -120,4 +120,4 @@ To see how you can set other expectations on the test endpoint, see the
 
 === See Also
 
-* Spring Testing
\ No newline at end of file
+* Spring Testing
diff --git a/camel-core/src/main/docs/timer-component.adoc b/camel-core/src/main/docs/timer-component.adoc
index 68b020f..92f13d4 100644
--- a/camel-core/src/main/docs/timer-component.adoc
+++ b/camel-core/src/main/docs/timer-component.adoc
@@ -168,4 +168,4 @@ starting the route. To do that you use the repeatCount option as shown:
 === See Also
 
 * <<scheduler-component,Scheduler>>
-* <<quartz-component,Quartz>>
\ No newline at end of file
+* <<quartz-component,Quartz>>
diff --git a/camel-core/src/main/docs/validator-component.adoc b/camel-core/src/main/docs/validator-component.adoc
index ebde1e1..cccf047 100644
--- a/camel-core/src/main/docs/validator-component.adoc
+++ b/camel-core/src/main/docs/validator-component.adoc
@@ -121,4 +121,4 @@ Since *Camel 2.17*, you can force that the cached schema in the
 validator endpoint is cleared and reread with the next process call with
 the JMX operation `clearCachedSchema. `You can also use this method to
 programmatically clear the cache. This method is available on the
-`ValidatorEndpoint `class`.`
\ No newline at end of file
+`ValidatorEndpoint `class`.`
diff --git a/camel-core/src/main/docs/vm-component.adoc b/camel-core/src/main/docs/vm-component.adoc
index c0e2909..40ad802 100644
--- a/camel-core/src/main/docs/vm-component.adoc
+++ b/camel-core/src/main/docs/vm-component.adoc
@@ -145,4 +145,4 @@ from("vm:order.email").bean(MyOrderEmailSender.class);
 
 === See Also
 
-* <<seda-component,Seda>>
\ No newline at end of file
+* <<seda-component,Seda>>
diff --git a/camel-core/src/main/docs/xslt-component.adoc b/camel-core/src/main/docs/xslt-component.adoc
index 1c133b5..30198ee 100644
--- a/camel-core/src/main/docs/xslt-component.adoc
+++ b/camel-core/src/main/docs/xslt-component.adoc
@@ -365,4 +365,4 @@ Hope this post saves newbie Camel riders some time.
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
\ No newline at end of file
+* Getting Started
diff --git a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
index 948565b..674ec75 100644
--- a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
+++ b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
@@ -7,8 +7,9 @@
 The *ahc-ws* component provides Websocket
 based endpoints for a client communicating with
 external servers over Websocket (as a client opening a websocket
-connection to an external server). +
-The component uses the <<ahc-component,AHC>> component that in turn uses
+connection to an external server).
+
+The component uses the xref:ahc-component.adoc[AHC] component that in turn uses
 the https://github.com/AsyncHttpClient/async-http-client[Async Http
 Client] library.
 
@@ -73,7 +74,7 @@ ahc-ws:httpUri
 
 with the following path and query parameters:
 
-== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -83,7 +84,7 @@ with the following path and query parameters:
 |===
 
 
-== Query Parameters (18 parameters):
+=== Query Parameters (18 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
diff --git a/components/camel-ahc/src/main/docs/ahc-component.adoc b/components/camel-ahc/src/main/docs/ahc-component.adoc
index 0064876..3b72c66 100644
--- a/components/camel-ahc/src/main/docs/ahc-component.adoc
+++ b/components/camel-ahc/src/main/docs/ahc-component.adoc
@@ -235,11 +235,16 @@ response
 == Calling using GET or POST
 
 The following algorithm is used to determine if either `GET` or `POST`
-HTTP method should be used: +
- 1. Use method provided in header. +
- 2. `GET` if query string is provided in header. +
- 3. `GET` if endpoint is configured with a query string. +
- 4. `POST` if there is data to send (body is not null). +
+HTTP method should be used:
+
+ 1. Use method provided in header.
+
+ 2. `GET` if query string is provided in header.
+
+ 3. `GET` if endpoint is configured with a query string.
+
+ 4. `POST` if there is data to send (body is not null).
+
  5. `GET` otherwise.
 
 == Configuring URI to call
@@ -381,7 +386,8 @@ Exchange exchange = template.send("ahc:http://www.google.com/search", new Proces
 == Configuring AsyncHttpClient
 
 The `AsyncHttpClient` client uses a `AsyncHttpClientConfig` to configure
-the client. See the documentation at +
+the client. See the documentation at
+
  http://github.com/sonatype/async-http-client[Async Http Client] for
 more details.
 
diff --git a/components/camel-apns/src/main/docs/apns-component.adoc b/components/camel-apns/src/main/docs/apns-component.adoc
index 243e313..5027036 100644
--- a/components/camel-apns/src/main/docs/apns-component.adoc
+++ b/components/camel-apns/src/main/docs/apns-component.adoc
@@ -6,7 +6,8 @@
 
 The *apns* component is used for sending notifications to iOS devices.
 The apns components use https://github.com/notnoop/java-apns[javapns]
-library. +
+library.
+
  The component supports sending notifications to Apple Push Notification
 Servers (APNS) and consuming feedback from the servers.
 
@@ -334,4 +335,3 @@ from("apns:consumer?initialDelay=10&delay=3600&timeUnit=SECONDS")
     .to("log:com.apache.camel.component.apns?showAll=true&multiline=true")
     .to("mock:result");
 --------------------------------------------------------------------------
-
diff --git a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
index e8a3c1a..7619ed3 100644
--- a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
+++ b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
@@ -22,7 +22,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source]
 ----
@@ -35,7 +35,7 @@ apiName can be one of:
 * server
 
 
-=== AS2 Options
+== AS2 Options
 
 
 // component options: START
@@ -166,7 +166,7 @@ The component supports 29 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Client Endpoints:
+== Client Endpoints:
 
 Client endpoints use the endpoint prefix *`client`* followed by the name of a method
 and associated options described next. The endpoint URI MUST contain the prefix *`client`*.
@@ -236,7 +236,7 @@ URI Options for _client_
 |===
 
 
-=== Server Endpoints:
+== Server Endpoints:
 
 Server endpoints use the endpoint prefix *`server`* followed by the name of a method
 and associated options described next. The endpoint URI MUST contain the prefix *`server`*.
@@ -283,4 +283,4 @@ URI Options for _server_
 |Name |Type
 
 |requestUriPattern |String
-|===
\ No newline at end of file
+|===
diff --git a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
index 7d8f675..3f0db0e 100644
--- a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
+++ b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
@@ -74,7 +74,7 @@ from("direct:unmarshal").unmarshal(asn1).split(body(Iterator.class)).streaming()
 
 In the last example we unmarshal BER file payload to plain old Java Objects using Split EIP. The reason for applying Split EIP is already mentioned in the previous example. Please note and keep in mind that reason. In such example we also need to set the fully qualified name of the class or <YourObject>.class reference through data format.
 The important thing to note here is that your object should have been generated by jasn1 compiler which is a nice tool to generate java object representations of your ASN.1 structure. For the reference usage of jasn1 compiler see [JASN.1 Project Page](https://www.openmuc.org/asn1/) and please also see how the compiler is invoked with the help of maven's exec plugin.
-For example, in this data format's unit tests an example ASN.1 structure(TestSMSBerCdr.asn1) is added in `src/test/resources/asn1_structure`. jasn1 compiler is invoked and java object's representations are generated in `${basedir}/target/generated/src/test/java`
+For example, in this data format's unit tests an example ASN.1 structure(TestSMSBerCdr.asn1) is added in `src/test/resources/asn1_structure`. jasn1 compiler is invoked and java object's representations are generated in `$\{basedir\}/target/generated/src/test/java`
 The nice thing about this example, you will get POJO instance at the mock endpoint or at whatever your endpoint is.    
 
 [source,java]
@@ -103,4 +103,4 @@ the download page for the latest versions).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
\ No newline at end of file
+----------------------------------------------------------
diff --git a/components/camel-asterisk/src/main/docs/asterisk-component.adoc b/components/camel-asterisk/src/main/docs/asterisk-component.adoc
index a6c82f2..d66424f 100644
--- a/components/camel-asterisk/src/main/docs/asterisk-component.adoc
+++ b/components/camel-asterisk/src/main/docs/asterisk-component.adoc
@@ -103,4 +103,4 @@ Supported actions are:
 
 * QUEUE_STATUS, Queue Status
 * SIP_PEERS, List SIP Peers
-* EXTENSION_STATE, Check Extension Status
\ No newline at end of file
+* EXTENSION_STATE, Check Extension Status
diff --git a/components/camel-atmos/src/main/docs/atmos-component.adoc b/components/camel-atmos/src/main/docs/atmos-component.adoc
index 0b74584..f0f7d04 100644
--- a/components/camel-atmos/src/main/docs/atmos-component.adoc
+++ b/components/camel-atmos/src/main/docs/atmos-component.adoc
@@ -178,4 +178,3 @@ exhange
 -------------------------------
 DOWNLOADED_FILE, DOWNLOADED_FILES, UPLOADED_FILE, UPLOADED_FILES, FOUND_FILES, DELETED_PATH, MOVED_PATH;
 -------------------------------
-
diff --git a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
index e8eb325..a8a6a2f 100644
--- a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
+++ b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
@@ -7,14 +7,14 @@
 The *atmosphere-websocket:* component provides Websocket
 based endpoints for a servlet communicating with
 external clients over Websocket (as a servlet accepting websocket
-connections from external clients). +
-The component uses the <<servlet-component,SERVLET>> component and uses
+connections from external clients).
+
+The component uses the xref:servlet-component.adoc[Servlet component] component and uses
 the https://github.com/Atmosphere/atmosphere[Atmosphere] library to
 support the Websocket transport in various Servlet containers (e..g.,
 Jetty, Tomcat, ...).
 
-Unlike the
-https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=39621544[Websocket]
+Unlike the xref:websocket-component.adoc[Websocket]
 component that starts the embedded Jetty server, this component uses the
 servlet provider of the container.
 
@@ -219,4 +219,3 @@ And the equivalent Spring sample:
 ------------------------------------------------------------
 
  
-
diff --git a/components/camel-atom/src/main/docs/atom-component.adoc b/components/camel-atom/src/main/docs/atom-component.adoc
index add1ded..6c456a1 100644
--- a/components/camel-atom/src/main/docs/atom-component.adoc
+++ b/components/camel-atom/src/main/docs/atom-component.adoc
@@ -6,7 +6,8 @@
 
 The *atom:* component is used for polling Atom feeds.
 
-Camel will poll the feed every 60 seconds by default. +
+Camel will poll the feed every 60 seconds by default.
+
  *Note:* The component currently only supports polling (consuming)
 feeds.
 
@@ -170,4 +171,3 @@ from("atom://http://macstrac.blogspot.com/feeds/posts/default").to("seda:feeds")
 In this sample we want to filter only good blogs we like to a SEDA
 queue. The sample also shows how to setup Camel standalone, not running
 in any Container or using Spring.
-
diff --git a/components/camel-atomix/src/main/docs/atomix-map-component.adoc b/components/camel-atomix/src/main/docs/atomix-map-component.adoc
index 36298e0..333c1a8 100644
--- a/components/camel-atomix/src/main/docs/atomix-map-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-map-component.adoc
@@ -225,4 +225,4 @@ FluentProducerTemplate.on(context)
     .withBody(val)
     .to("direct:start")
     .send();
-----
\ No newline at end of file
+----
diff --git a/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc b/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
index 072de61..edb4b76 100644
--- a/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
@@ -121,4 +121,4 @@ The component supports 10 options, which are listed below.
 | *camel.component.atomix-messaging.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-messaging.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc b/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
index d058e1e..ba913da 100644
--- a/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
@@ -119,4 +119,4 @@ The component supports 9 options, which are listed below.
 | *camel.component.atomix-multimap.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-multimap.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-atomix/src/main/docs/atomix-queue-component.adoc b/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
index 56cda04..28614a7 100644
--- a/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
@@ -115,4 +115,4 @@ The component supports 7 options, which are listed below.
 | *camel.component.atomix-queue.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-queue.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-atomix/src/main/docs/atomix-set-component.adoc b/components/camel-atomix/src/main/docs/atomix-set-component.adoc
index db63d9d..127384e 100644
--- a/components/camel-atomix/src/main/docs/atomix-set-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-set-component.adoc
@@ -117,4 +117,4 @@ The component supports 8 options, which are listed below.
 | *camel.component.atomix-set.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-set.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-atomix/src/main/docs/atomix-value-component.adoc b/components/camel-atomix/src/main/docs/atomix-value-component.adoc
index 95fc702..ed53ca8 100644
--- a/components/camel-atomix/src/main/docs/atomix-value-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-value-component.adoc
@@ -117,4 +117,4 @@ The component supports 8 options, which are listed below.
 | *camel.component.atomix-value.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-value.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-avro/src/main/docs/avro-component.adoc b/components/camel-avro/src/main/docs/avro-component.adoc
index bd311af..468b5cb 100644
--- a/components/camel-avro/src/main/docs/avro-component.adoc
+++ b/components/camel-avro/src/main/docs/avro-component.adoc
@@ -345,4 +345,4 @@ task:
 In the example above, get takes only one parameter, so `singleParameter`
 is used and `getProcessor` will receive Value class directly in body,
 while `putProcessor` will receive an array of size 2 with String key and
-Value value filled as array contents.
\ No newline at end of file
+Value value filled as array contents.
diff --git a/components/camel-aws/src/main/docs/aws-cw-component.adoc b/components/camel-aws/src/main/docs/aws-cw-component.adoc
index 422ade8..37d1804 100644
--- a/components/camel-aws/src/main/docs/aws-cw-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-cw-component.adoc
@@ -22,7 +22,8 @@ http://aws.amazon.com/cloudwatch/[Amazon CloudWatch].
 aws-cw://namespace[?options]
 ----------------------------
 
-The metrics will be created if they don't already exists. +
+The metrics will be created if they don't already exists.
+
  You can append query options to the URI in the following format,
 `?options=value&option2=value&...`
 
@@ -206,6 +207,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.10 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.10 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ddb-component.adoc b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
index d77b095..5c62544 100644
--- a/components/camel-aws/src/main/docs/aws-ddb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
@@ -246,13 +246,13 @@ processed with the current response.
 |=======================================================================
 |Header |Type |Description
 
-|`CamelAwsDdbProvisionedThroughput` |{{ProvisionedThroughputDescription}} |The value of the ProvisionedThroughput property for this table
+|`CamelAwsDdbProvisionedThroughput` |{\{ProvisionedThroughputDescription\}} |The value of the ProvisionedThroughput property for this table
 
 |`CamelAwsDdbCreationDate` |`Date` |Creation DateTime of this table.
 
 |`CamelAwsDdbTableItemCount` |`Long` |Item count for this table.
 
-|`CamelAwsDdbKeySchema` |{{KeySchema}} |The KeySchema that identifies the primary key for this table.
+|`CamelAwsDdbKeySchema` |{\{KeySchema\}} |The KeySchema that identifies the primary key for this table.
 *From Camel 2.16.0 the type of this header is List<KeySchemaElement> and
 not KeySchema*
 
@@ -377,6 +377,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
+where `$\{camel-version\}` must be replaced by the actual version of Camel
 (2.10 or higher).
-
diff --git a/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc b/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
index 425c47f..150d1f4 100644
--- a/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
@@ -20,7 +20,8 @@ at http://aws.amazon.com/dynamodb/[AWS DynamoDB]
 aws-ddbstream://table-name[?options]
 ------------------------------------
 
-The stream needs to be created prior to it being used. +
+The stream needs to be created prior to it being used.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -232,6 +233,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.7 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.7 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ec2-component.adoc b/components/camel-aws/src/main/docs/aws-ec2-component.adoc
index 6097524..73a28d1 100644
--- a/components/camel-aws/src/main/docs/aws-ec2-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ec2-component.adoc
@@ -172,6 +172,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.16 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.16 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-iam-component.adoc b/components/camel-aws/src/main/docs/aws-iam-component.adoc
index 4fbcee0..69b61cb 100644
--- a/components/camel-aws/src/main/docs/aws-iam-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-iam-component.adoc
@@ -172,6 +172,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.16 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.16 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kinesis-component.adoc b/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
index efc0659..5bd7d89 100644
--- a/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
@@ -20,7 +20,8 @@ at http://aws.amazon.com/kinesis/[AWS Kinesis]
 aws-kinesis://stream-name[?options]
 -----------------------------------
 
-The stream needs to be created prior to it being used. +
+The stream needs to be created prior to it being used.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -261,6 +262,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.17 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.17 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc b/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
index f7ce451..84eee4f 100644
--- a/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
@@ -19,7 +19,8 @@ at https://aws.amazon.com/kinesis/firehose/[AWS Kinesis Firehose]
 aws-kinesis-firehose://delivery-stream-name[?options]
 -----------------------------------
 
-The stream needs to be created prior to it being used. +
+The stream needs to be created prior to it being used.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -197,6 +198,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.19 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.19 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kms-component.adoc b/components/camel-aws/src/main/docs/aws-kms-component.adoc
index 4b6d16b..6548c91 100644
--- a/components/camel-aws/src/main/docs/aws-kms-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kms-component.adoc
@@ -170,6 +170,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.16 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.16 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-lambda-component.adoc b/components/camel-aws/src/main/docs/aws-lambda-component.adoc
index 1f5730e..b2516fb 100644
--- a/components/camel-aws/src/main/docs/aws-lambda-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-lambda-component.adoc
@@ -227,6 +227,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.16 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.16 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-mq-component.adoc b/components/camel-aws/src/main/docs/aws-mq-component.adoc
index 8698b34..c5d54ce 100644
--- a/components/camel-aws/src/main/docs/aws-mq-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-mq-component.adoc
@@ -171,6 +171,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.16 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.16 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-s3-component.adoc b/components/camel-aws/src/main/docs/aws-s3-component.adoc
index 9b22943..96224cb 100644
--- a/components/camel-aws/src/main/docs/aws-s3-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-s3-component.adoc
@@ -20,7 +20,8 @@ http://aws.amazon.com/s3[Amazon S3].
 aws-s3://bucketNameOrArn[?options]
 ------------------------------
 
-The bucket will be created if it don't already exists. +
+The bucket will be created if it don't already exists.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -87,7 +88,7 @@ with the following path and query parameters:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *amazonS3Client* (common) | Reference to a com.amazonaws.services.sqs.AmazonS3 in the link:registry.htmlRegistry. |  | AmazonS3
+| *amazonS3Client* (common) | Reference to a com.amazonaws.services.sqs.AmazonS3 in the registry. |  | AmazonS3
 | *pathStyleAccess* (common) | Whether or not the S3 client should use path style access | false | boolean
 | *policy* (common) | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. |  | String
 | *proxyHost* (common) | To define a proxy host when instantiating the SQS client |  | String
@@ -165,7 +166,7 @@ The component supports 34 options, which are listed below.
 | *camel.component.aws-s3.access-key* | Amazon AWS Access Key |  | String
 | *camel.component.aws-s3.configuration.accelerate-mode-enabled* | Define if Accelerate Mode enabled is true or false | false | Boolean
 | *camel.component.aws-s3.configuration.access-key* | Amazon AWS Access Key |  | String
-| *camel.component.aws-s3.configuration.amazon-s3-client* | Reference to a com.amazonaws.services.sqs.AmazonS3 in the link:registry.htmlRegistry. |  | AmazonS3
+| *camel.component.aws-s3.configuration.amazon-s3-client* | Reference to a com.amazonaws.services.sqs.AmazonS3 in the registry. |  | AmazonS3
 | *camel.component.aws-s3.configuration.autoclose-body* | If this option is true and includeBody is true, then the S3Object.close() method will be called on exchange completion. This option is strongly related to includeBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | Boolean
 | *camel.component.aws-s3.configuration.aws-k-m-s-key-id* | Define the id of KMS key to use in case KMS is enabled |  | String
 | *camel.component.aws-s3.configuration.bucket-name* | Name of the bucket. The bucket will be created if it doesn't already exists. |  | String
@@ -409,6 +410,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
+where `$\{camel-version\}` must be replaced by the actual version of Camel
 (2.8 or higher).
-
diff --git a/components/camel-aws/src/main/docs/aws-sdb-component.adoc b/components/camel-aws/src/main/docs/aws-sdb-component.adoc
index 1b8aa22..3a18fae 100644
--- a/components/camel-aws/src/main/docs/aws-sdb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sdb-component.adoc
@@ -244,6 +244,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.8.4 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.8.4 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ses-component.adoc b/components/camel-aws/src/main/docs/aws-ses-component.adoc
index 32af14f..f10bd76 100644
--- a/components/camel-aws/src/main/docs/aws-ses-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ses-component.adoc
@@ -207,6 +207,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.8.4 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.8.4 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-sns-component.adoc b/components/camel-aws/src/main/docs/aws-sns-component.adoc
index dd01a2c..598cb8e 100644
--- a/components/camel-aws/src/main/docs/aws-sns-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sns-component.adoc
@@ -22,7 +22,8 @@ http://aws.amazon.com/sns[Amazon SNS].
 aws-sns://topicNameOrArn[?options]
 -----------------------------
 
-The topic will be created if they don't already exists. +
+The topic will be created if they don't already exists.
+
  You can append query options to the URI in the following format,
 `?options=value&option2=value&...`
 
@@ -202,6 +203,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.8 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.8 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-sqs-component.adoc b/components/camel-aws/src/main/docs/aws-sqs-component.adoc
index dfbb2e0..c10fbff 100644
--- a/components/camel-aws/src/main/docs/aws-sqs-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sqs-component.adoc
@@ -20,7 +20,8 @@ http://aws.amazon.com/sqs[Amazon SQS].
 aws-sqs://queueNameOrArn[?options]
 ------------------------------
 
-The queue will be created if they don't already exists. +
+The queue will be created if they don't already exists.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -314,7 +315,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
+where `$\{camel-version\}` must be replaced by the actual version of Camel
 (2.6 or higher).
 
 == JMS-style Selectors
@@ -339,5 +340,4 @@ from("aws-sqs://MyQueue?amazonSQSClient=#client&defaultVisibilityTimeout=5000&de
 In the above code, if an exchange doesn't have an appropriate header, it
 will not make it through the filter AND also not be deleted from the SQS
 queue. After 5000 miliseconds, the message will become visible to other
-consumers.
-
+consumers.
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-swf-component.adoc b/components/camel-aws/src/main/docs/aws-swf-component.adoc
index 911a91e..b0a6666 100644
--- a/components/camel-aws/src/main/docs/aws-swf-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-swf-component.adoc
@@ -181,7 +181,8 @@ workflow, or terminate and cancel it.
 |=======================================================================
 |Header |Type |Description
 
-|`CamelSWFOperation` |`String` |The operation to perform on the workflow. Supported operations are:  +
+|`CamelSWFOperation` |`String` |The operation to perform on the workflow. Supported operations are: 
+
  SIGNAL, CANCEL, TERMINATE, GET_STATE, START, DESCRIBE, GET_HISTORY.
 
 |`CamelSWFWorkflowId` |`String` |A workflow ID to use.
@@ -297,6 +298,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.13 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.13 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws.adoc b/components/camel-aws/src/main/docs/aws.adoc
index aef3a44..3add004 100644
--- a/components/camel-aws/src/main/docs/aws.adoc
+++ b/components/camel-aws/src/main/docs/aws.adoc
@@ -1,4 +1,4 @@
-=== Camel Components for Amazon Web Services
+= Camel Components for Amazon Web Services
 
 The Camel Components for http://aws.amazon.com[Amazon Web Services]
 provide connectivity to AWS services from Camel.
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
index 74a9379..87dbc14 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
@@ -138,8 +138,7 @@ public class S3Configuration implements Cloneable {
     }
 
     /**
-     * Reference to a `com.amazonaws.services.sqs.AmazonS3` in the
-     * link:registry.html[Registry].
+     * Reference to a `com.amazonaws.services.sqs.AmazonS3` in the registry.
      */
     public void setAmazonS3Client(AmazonS3 amazonS3Client) {
         this.amazonS3Client = amazonS3Client;
diff --git a/components/camel-azure/src/main/docs/azure-blob-component.adoc b/components/camel-azure/src/main/docs/azure-blob-component.adoc
index 279ded5..4ad3565 100644
--- a/components/camel-azure/src/main/docs/azure-blob-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-blob-component.adoc
@@ -19,7 +19,8 @@ https://docs.microsoft.com/azure/[Azure Documentation Portal].
 azure-blob://accountName/containerName[/blobName][?options]
 ------------------------------
 
-In most cases a blobName is required and the blob will be created if it does not already exist. +
+In most cases a blobName is required and the blob will be created if it does not already exist.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -253,6 +254,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.19.0 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.19.0 or higher).
\ No newline at end of file
diff --git a/components/camel-azure/src/main/docs/azure-queue-component.adoc b/components/camel-azure/src/main/docs/azure-queue-component.adoc
index b0b87a7..900a467 100644
--- a/components/camel-azure/src/main/docs/azure-queue-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-queue-component.adoc
@@ -19,7 +19,8 @@ https://azure.microsoft.com/en-us/free/[Azure Portal].
 azure-queue://accountName/queueName[?options]
 ------------------------------
 
-The queue will be created if it does not already exist. +
+The queue will be created if it does not already exist.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -206,6 +207,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.19.0 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.19.0 or higher).
\ No newline at end of file
diff --git a/components/camel-azure/src/main/docs/azure.adoc b/components/camel-azure/src/main/docs/azure.adoc
index 0961eb7..91e5398 100644
--- a/components/camel-azure/src/main/docs/azure.adoc
+++ b/components/camel-azure/src/main/docs/azure.adoc
@@ -1,5 +1,5 @@
 [[Azure-CamelComponentsforWindowsAzureServices]]
-== Camel Components for Windows Azure Services
+= Camel Components for Windows Azure Services
 
 The Camel Components for https://azure.microsoft.com/[Windows Azure Services]
 provide connectivity to Azure services from Camel.
@@ -9,6 +9,6 @@ provide connectivity to Azure services from Camel.
 |=======================================================================
 |Azure Service |Camel Component |Camel Version | Component Description
 
-|https://azure.microsoft.com/services/storage/blobs[Storage Blob Service] |<<azure-blob-component,Azure-Blob>> |2.9.0 |Supports storing and retrieving of blobs
-|https://azure.microsoft.com/services/storage/queues[Storage Queue Service] |<<azure-queue-component,Azure-Queue>> |2.9.0 |Supports storing and retrieving of messages in the queues
-|=======================================================================
+|https://azure.microsoft.com/services/storage/blobs[Storage Blob Service] |xref:azure-blob-component.adoc[Azure-Blob] |2.9.0 |Supports storing and retrieving of blobs
+|https://azure.microsoft.com/services/storage/queues[Storage Queue Service] |xref:azure-queue-component.adoc[Azure-Queue] |2.9.0 |Supports storing and retrieving of messages in the queues
+|=======================================================================
\ No newline at end of file
diff --git a/components/camel-bam/src/main/docs/bam-example.adoc b/components/camel-bam/src/main/docs/bam-example.adoc
index 638b785..e49e237 100644
--- a/components/camel-bam/src/main/docs/bam-example.adoc
+++ b/components/camel-bam/src/main/docs/bam-example.adoc
@@ -53,21 +53,21 @@ the Camel Components
 correlate together the purchase order and invoice messages which can be
 any Expression via any of the
 Languages Supported. In this case we are
-using <<xpath-language,XPath>>.
+using XPath.
 
 Then the final line of code defines the temporal rules to use; namely
 that it is considered to be an error if an invoice is not received
 within 2 seconds of a purchase order being received. When a failure
-occurs in this example we just send it to the <<log-component,Log>>
+occurs in this example we just send it to the log component
 component to log out an error level message to commons-logging / log4j.
 You could change this to use some of the other
 Components such as ActiveMQ,
-<<jms-component,JMS>>, <<jms-component,IRC>>, <<jms-component,Mail>>,
-<<xmpp-component,XMPP>> etc.
+xref:jms-component.adoc[JMS], xref:irc-component.adoc[IRC], xref:mail-component.adoc[Mail],
+xref:xmpp-component.adoc[XMPP] etc.
 
 == Running the example
 
-To run the example we use the link:camel-maven-plugin.html[Camel Maven
+To run the example we use the xref:manual::camel-maven-plugin.adoc[Camel Maven
 Plugin]. For example from the source or binary distribution the
 following should work
 
diff --git a/components/camel-bam/src/main/docs/bam.adoc b/components/camel-bam/src/main/docs/bam.adoc
index 12ed277..de95c72 100644
--- a/components/camel-bam/src/main/docs/bam.adoc
+++ b/components/camel-bam/src/main/docs/bam.adoc
@@ -1,5 +1,5 @@
 [[BAM-BusinessActivityMonitoring]]
-== Business Activity Monitoring
+= Business Activity Monitoring
 
 The *Camel BAM* module provides a Business Activity Monitoring (BAM)
 framework for testing business processes across multiple message
@@ -11,10 +11,9 @@ want to test that, for a given Purchase Order, you receive a matching
 Invoice from system B within a specific time period.
 
 [[BAM-HowCamelBAMWorks]]
-How Camel BAM Works
-^^^^^^^^^^^^^^^^^^^
+== How Camel BAM Works
 
-Camel BAM uses a link:correlation-identifier.html[Correlation
+Camel BAM uses a xref:manual::correlation-identifier.adoc[Correlation
 Identifier] on an input message to determine the _Process Instance_ to
 which it belongs. The process instance is an entity bean which can
 maintain state for each _Activity_ (where an activity typically maps to
@@ -26,8 +25,7 @@ activity - such as to set time expectations or perform real time
 reconciliation of values across activities.
 
 [[BAM-SimpleExample]]
-Simple Example
-^^^^^^^^^^^^^^
+== Simple Example
 
 The following example shows how to perform some time based rules on a
 simple business process of 2 activities - A and B - which correspond
@@ -64,16 +62,14 @@ ProcessBuilder is a RouteBuilder and can be
 added to any CamelContext.
 
 [[BAM-CompleteExample]]
-Complete Example
-^^^^^^^^^^^^^^^^
+== Complete Example
 
-For a complete example please see the link:examples/bam-example.html[BAM
+For a complete example please see the xref:bam-example.adoc[BAM
 Example], which is part of the standard Camel
 Examples
 
 [[BAM-UseCases]]
-Use Cases
-^^^^^^^^^
+== Use Cases
 
 In the world of finance, a common requirement is tracking trades. Often
 a trader will submit a Front Office Trade which then flows through the
diff --git a/components/camel-base64/src/main/docs/base64-dataformat.adoc b/components/camel-base64/src/main/docs/base64-dataformat.adoc
index 62a7e01..fdaf572 100644
--- a/components/camel-base64/src/main/docs/base64-dataformat.adoc
+++ b/components/camel-base64/src/main/docs/base64-dataformat.adoc
@@ -6,7 +6,7 @@
 
 The Base64 data format is used for base64 encoding and decoding.
 
-=== Options
+== Options
 
 // dataformat options: START
 The Base64 dataformat supports 4 options, which are listed below.
@@ -83,7 +83,7 @@ Most of the time, you won't need to declare the data format if you use
 the default options. In that case, you can declare the data format
 inline as shown below.
 
-=== Marshal
+== Marshal
 
 In this example we marshal the file content to base64 object.
 
@@ -105,7 +105,7 @@ In Spring DSL:
  <to uri="jms://myqueue"/> 
 ----
 
-=== Unmarshal
+== Unmarshal
 
 In this example we unmarshal the payload from the JMS queue to a byte[]
 object, before its processed by the newOrder processor.
@@ -128,7 +128,7 @@ In Spring DSL:
  <to uri="bean:newOrder"/> 
 ----
 
-=== Dependencies
+== Dependencies
 
 To use Base64 in your Camel routes you need to add a dependency on
 *camel-base64* which implements this data format.
diff --git a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
index f4d228a..b1f3b07 100644
--- a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
+++ b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
@@ -38,7 +38,8 @@ or
 bean-validator://label[?options]
 --------------------------------
 
-Where *label* is an arbitrary text value describing the endpoint. +
+Where *label* is an arbitrary text value describing the endpoint.
+
  You can append query options to the URI in the following format,
 ?option=value&option=value&...
 
@@ -302,7 +303,4 @@ Note that the body should include an instance of a class to validate.
         </route>
     </camelContext>
 </beans>
-----------------------------------------------------------------------------------------------------
-
-
-
+----------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
index 05d284b..3cf60a9 100644
--- a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
+++ b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
@@ -80,13 +80,15 @@ file is here].
 === Using Java DSL
 
 To use the `BeanIODataFormat` you need to configure the data format with
-the mapping file, as well the name of the stream. +
+the mapping file, as well the name of the stream.
+
  In Java DSL this can be done as shown below. The streamName is
 "employeeFile".
 
 Then we have two routes. The first route is for transforming CSV data
 into a List<Employee> Java objects. Which we then
-split, so the mock endpoint +
+split, so the mock endpoint
+
  receives a message for each row.
 
 The 2nd route is for the reverse operation, to transform a
diff --git a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
index 29dbce2..6ae062a 100644
--- a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
+++ b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
@@ -24,7 +24,7 @@ Maven users need to add the following dependency to their `pom.xml`
 </dependency>
 ------------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 == URI format
 
@@ -253,4 +253,4 @@ manually.
 So the second route periodically requests Beanstalk to _kick_ 10 jobs
 out of buried and/or delayed state to the normal queue.
 
- 
+ 
\ No newline at end of file
diff --git a/components/camel-bindy/src/main/docs/bindy-dataformat.adoc b/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
index 2bc4e84..1586fc4 100644
--- a/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
+++ b/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
@@ -3,11 +3,10 @@
 
 *Available as of Camel version 2.0*
 
-*Available as of Camel version 2.0*
-
 
 The goal of this component is to allow the parsing/binding of
-non-structured data (or to be more precise non-XML data) +
+non-structured data (or to be more precise non-XML data)
+
  to/from Java Beans that have binding mappings defined with annotations.
 Using Bindy, you can bind data from sources such as :
 
@@ -56,7 +55,7 @@ From *Camel 2.16* onwards this is no longer the case, as you can safely
 have multiple models in the same package, as you configure bindy using
 class names instead of package names now.
 
-=== Options
+== Options
 
 // dataformat options: START
 The Bindy dataformat supports 5 options, which are listed below.
@@ -120,7 +119,7 @@ ND
 
 
 
-=== Annotations
+== Annotations
 
 The annotations created allow to map different concept of your model to
 the POJO like :
@@ -138,7 +137,7 @@ financial messages),
 
 This section will describe them :
 
-=== 1. CsvRecord
+== 1. CsvRecord
 
 The CsvRecord annotation is used to identified the root class of the
 model. It represents a record = a line of a CSV file and can be linked
@@ -246,11 +245,14 @@ public Class Order {
 *Applies for Camel 2.8.2 or older*
 
 When the field to be parsed of the CSV record contains ',' or ';' which
-is also used as separator, we whould find another strategy +
+is also used as separator, we whould find another strategy
+
  to tell camel bindy how to handle this case. To define the field
-containing the data with a comma, you will use simple or double quotes +
+containing the data with a comma, you will use simple or double quotes
+
  as delimiter (e.g : '10', 'Street 10, NY', 'USA' or "10", "Street 10,
-NY", "USA"). +
+NY", "USA").
+
  Remark : In this case, the first and last character of the line which
 are a simple or double quotes will removed by bindy
 
@@ -333,7 +335,8 @@ As a result, Bindy during the unmarshaling process will generate CSV
 like this :
 
 order id, client id, first name, last name, isin code, instrument name,
-quantity, currency, date +
+quantity, currency, date
+
 
 ----
 10, J, Pauline, M, XD12345678, Fortis Dynamic 15/15, 2500, USD,08-01-2009
@@ -391,7 +394,7 @@ public Class Order {
 Remark : pos is used to parse the file, stream while positions is used
 to generate the CSV
 
-=== 2. Link
+== 2. Link
 
 The link annotation will allow to link objects together.
 
@@ -443,7 +446,7 @@ public class Client {
 }
 ----
 
-=== 3. DataField
+== 3. DataField
 
 The DataField annotation defines the property of the field. Each
 datafield is identified by its position in the record, a type (string,
@@ -737,13 +740,14 @@ public class Order {
 
 This attribute is only applicable to optional fields.
 
-=== 4. FixedLengthRecord
+== 4. FixedLengthRecord
 
 The FixedLengthRecord annotation is used to identified the root class of
 the model. It represents a record = a line of a file/message containing
 data fixed length formatted and can be linked to several children model
 classes. This format is a bit particular beause data of a field can be
-aligned to the right or to the left. +
+aligned to the right or to the left.
+
  When the size of the data does not fill completely the length of the
 field, we can then add 'padd' characters.
 
@@ -1181,7 +1185,7 @@ public static class Order {
 }
 ----
 
-=== 5. Message
+== 5. Message
 
 The Message annotation is used to identified the class of your model who
 will contain key value pairs fields. This kind of format is used mainly
@@ -1262,7 +1266,7 @@ message looks like (src\test\data\fix\fix.txt) and the Order, Trailer,
 Header classes
 (src\test\java\org\apache\camel\dataformat\bindy\model\fix\simple\Order.java)
 
-=== 6. KeyValuePairField
+== 6. KeyValuePairField
 
 The KeyValuePairField annotation defines the property of a key value
 pair field. Each KeyValuePairField is identified by a tag (= key) and
@@ -1358,7 +1362,7 @@ public class Order {
 }
 ----
 
-=== 7. Section
+== 7. Section
 
 In FIX message of fixed length records, it is common to have different
 sections in the representation of the information : header, body and
@@ -1440,7 +1444,7 @@ public class Trailer {
     }
 ----
 
-=== 8. OneToMany
+== 8. OneToMany
 
 The purpose of the annotation @OneToMany is to allow to work with a
 `List<?>` field defined a POJO class or from a record containing
@@ -1574,7 +1578,7 @@ public class Security {
 }
 ----
 
-=== 9. BindyConverter
+== 9. BindyConverter
 
 The purpose of the annotation @BindyConverter is define a converter
 to be used on field level. The provided class must implement the
@@ -1602,7 +1606,7 @@ public static class CustomConverter implements Format<String> {
 }
 ----
 
-=== 10. FormatFactories
+== 10. FormatFactories
 
 The purpose of the annotation @FormatFactories is to define a set of converters
 at record-level. The provided classes must implement the FormatFactoryInterface interface.
@@ -1653,7 +1657,7 @@ public static class OrderNumberFormatFactory extends AbstractFormatFactory {
 }
 ----
 
-=== Supported Datatypes
+== Supported Datatypes
 
 The DefaultFormatFactory makes formatting of the following datatype available by
 returning an instance of the interface FormatFactoryInterface based on the provided
@@ -1679,7 +1683,7 @@ FormattingOptions:
 The DefaultFormatFactory can be overridden by providing an instance of
 FactoryRegistry in the registry in use (e.g. spring or JNDI).
 
-=== Using the Java DSL
+== Using the Java DSL
 
 The next step consists in instantiating the DataFormat _bindy_ class
 associated with this record type and providing Java package name(s) as
@@ -1700,7 +1704,7 @@ DataFormat bindy = new BindyCsvDataFormat("com.acme.model");
 DataFormat bindy = new BindyCsvDataFormat(com.acme.model.MyModel.class);
 ----
 
-==== Setting locale
+=== Setting locale
 
 Bindy supports configuring the locale on the dataformat, such as 
 
@@ -1739,7 +1743,7 @@ BindyCsvDataFormat bindy = new BindyCsvDataFormat(com.acme.model.MyModel.class);
 bindy.setLocale(Locale.getDefault().getISO3Country());
 ----
 
-==== Unmarshaling
+=== Unmarshaling
 
 [source,java]
 ----
@@ -1760,7 +1764,8 @@ from("file://inbox")
 ----
 
 The Camel route will pick-up files in the inbox directory, unmarshall
-CSV records into a collection of model objects and send the collection +
+CSV records into a collection of model objects and send the collection
+
  to the route referenced by 'handleOrders'.
 
 The collection returned is a *List of Map* objects. Each Map within the
@@ -1823,7 +1828,7 @@ from("file://inbox?charset=Cp922")
   .to("direct:handleOrders");
 ----
 
-==== Marshaling
+=== Marshaling
 
 To generate CSV records from a collection of model objects, you create
 the following route :
@@ -1835,7 +1840,7 @@ from("direct:handleOrders")
    .to("file://outbox")
 ----
 
-=== Using Spring XML
+== Using Spring XML
 
 This is really easy to use Spring as your favorite DSL language to
 declare the routes to be used for camel-bindy. The following example
@@ -1890,7 +1895,7 @@ is for using Camel 2.16 onwards.
 NOTE: Please verify that your model classes implements serializable otherwise
 the queue manager will raise an error
 
-=== Dependencies
+== Dependencies
 
 To use Bindy in your camel routes you need to add the a dependency on
 *camel-bindy* which implements this data format.
diff --git a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
index 22e022f..416a4d4 100644
--- a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
+++ b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
@@ -30,23 +30,23 @@ for this component:
 </dependency>
 ----
 
-=== Connection Authentication Types
+== Connection Authentication Types
 
 The Box component supports three different types of authenticated connections.
 
-==== Standard Authentication
+=== Standard Authentication
 
 *Standard Authentication* uses the *OAuth 2.0 three-legged authentication process* to authenticate its connections with Box.com. This type of authentication enables Box *managed users* and *external users* to access, edit, and save their Box content through the Box component.
 
-==== App Enterprise Authentication
+=== App Enterprise Authentication
 
 *App Enterprise Authentication* uses the *OAuth 2.0 with JSON Web Tokens (JWT)* to authenticate its connections as a *Service Account* for a *Box Application*. This type of authentication enables a service account to access, edit, and save the Box content of its *Box Application* through the Box component.
 
-==== App User Authentication
+=== App User Authentication
 
 *App User Authentication* uses the *OAuth 2.0 with JSON Web Tokens (JWT)* to authenticate its connections as an *App User* for a *Box Application*. This type of authentication enables app users to access, edit, and save their Box content in its *Box Application* through the Box component.
 
-=== Box Options
+== Box Options
 
 // component options: START
 The Box component supports 2 options, which are listed below.
@@ -152,7 +152,7 @@ The component supports 17 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-=== URI format
+== URI format
 
 [source]
 ----
@@ -173,7 +173,7 @@ apiName can be one of:
 * users
 
 
-=== Producer Endpoints:
+== Producer Endpoints:
 
 Producer endpoints can use endpoint prefixes followed by endpoint names
 and associated options described next. A shorthand alias can be used for
@@ -201,7 +201,7 @@ RuntimeCamelException with a
 *com.box.sdk.BoxAPIException* derived exception
 cause.
 
-==== Endpoint Prefix _collaborations_
+=== Endpoint Prefix _collaborations_
 
 For more information on Box collaborations see
 https://developer.box.com/reference#collaboration-object[https://developer.box.com/reference#collaboration-object]. The
@@ -252,7 +252,7 @@ URI Options for _collaborations_
 |info |com.box.sdk.BoxCollaboration.Info
 |===
 
-==== Endpoint Prefix _comments_
+=== Endpoint Prefix _comments_
 
 For more information on Box comments see
 https://developer.box.com/reference#comment-object[https://developer.box.com/reference#comment-object]. The
@@ -296,7 +296,7 @@ URI Options for _collaborations_
 
 |===
 
-==== Endpoint Prefix _events-logs_
+=== Endpoint Prefix _events-logs_
 
 For more information on Box event logs see
 https://developer.box.com/reference#events[https://developer.box.com/reference#events].
@@ -329,7 +329,7 @@ URI Options for _event-logs_
 |types |com.box.sdk.BoxEvent.Types[]
 |===
 
-==== Endpoint Prefix _files_
+=== Endpoint Prefix _files_
 
 For more information on Box files see
 https://developer.box.com/reference#file-object[https://developer.box.com/reference#file-object].
@@ -449,7 +449,7 @@ URI Options for _files_
 |typeName |String
 |===
 
-==== Endpoint Prefix _folders_
+=== Endpoint Prefix _folders_
 
 For more information on Box folders see
 https://developer.box.com/reference#folder-object[https://developer.box.com/reference#folder-object].
@@ -736,7 +736,7 @@ URI Options for _users_
 |userUpdateLoginRequest |com.box.boxjavalibv2.requests.requestobjects.BoxUserUpdateLoginRequestObject
 |===
 
-=== Consumer Endpoints:
+== Consumer Endpoints:
 
 For more information on Box events see
 https://developer.box.com/reference#events[https://developer.box.com/reference#events].
@@ -764,18 +764,18 @@ URI Options for _events_
 |startingPosition |Long
 |===
 
-=== Message header
+== Message header
 
 Any of the options can be provided in a message header for producer
 endpoints with *CamelBox.* prefix.
 
-=== Message body
+== Message body
 
 All result message bodies utilize objects provided by the Box Java SDK.
 Producer endpoints can specify the option name for incoming message body
 in the *inBody* endpoint parameter.
 
-=== Samples
+== Samples
 
 The following route uploads new files to the user's root folder:
 
@@ -806,4 +806,4 @@ from("direct:foo")
     .setHeader("CamelBox.output", header("output"))
     .to("box://files/download")
     .to("file://...");
-----
\ No newline at end of file
+----
diff --git a/components/camel-braintree/src/main/docs/braintree-component.adoc b/components/camel-braintree/src/main/docs/braintree-component.adoc
index 2ce3d48..bc7a365 100644
--- a/components/camel-braintree/src/main/docs/braintree-component.adoc
+++ b/components/camel-braintree/src/main/docs/braintree-component.adoc
@@ -397,9 +397,11 @@ braintree://discount/endpoint
 |all |  |  |List<com.braintreegateway.Discount>
 |====================================================
 
- +
 
- +
+
+
+
+
 
 === Endpoint prefix _dispute_
 
@@ -880,5 +882,4 @@ body in the *inBody* endpoint parameter.
     </camelContext>
 
 </blueprint>
---------------------------------------------------------------------------------------------------------------------------------------------
-
+--------------------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-cache/src/main/docs/cache-component.adoc b/components/camel-cache/src/main/docs/cache-component.adoc
index 91c9e12..60e3bff 100644
--- a/components/camel-cache/src/main/docs/cache-component.adoc
+++ b/components/camel-cache/src/main/docs/cache-component.adoc
@@ -171,7 +171,8 @@ The component supports 17 options, which are listed below.
 * ADD
 * UPDATE
 * DELETE
-* DELETEALL +
+* DELETEALL
+
  `GET` and `CHECK` requires *Camel 2.3* onwards.
 
 |`CACHE_KEY` |The cache key used to store the Message in the cache. The cache key is
@@ -259,15 +260,24 @@ lookups and selectively replace payload content at the
 
 [source,java]
 -------------------------------------------------
-from("cache://MyApplicationCache" +
-          "?maxElementsInMemory=1000" +
-          "&memoryStoreEvictionPolicy=" +
-              "MemoryStoreEvictionPolicy.LFU" +
-          "&overflowToDisk=true" +
-          "&eternal=true" +
-          "&timeToLiveSeconds=300" +
-          "&timeToIdleSeconds=true" +
-          "&diskPersistent=true" +
+from("cache://MyApplicationCache"
+
+          "?maxElementsInMemory=1000"
+
+          "&memoryStoreEvictionPolicy="
+
+              "MemoryStoreEvictionPolicy.LFU"
+
+          "&overflowToDisk=true"
+
+          "&eternal=true"
+
+          "&timeToLiveSeconds=300"
+
+          "&timeToIdleSeconds=true"
+
+          "&diskPersistent=true"
+
           "&diskExpiryThreadIntervalSeconds=300")
 -------------------------------------------------
 
@@ -484,10 +494,3 @@ phase.
 *Note*: It might be useful to read the http://ehcache.org/documentation[EHCache
 manual] to get a better understanding of the Camel Cache replication
 mechanism.
-
-=== Example: JMS cache replication
-
-JMS replication is the most powerful and secured replication method.
-Used together with Camel Cache replication makes it also rather
-simple. An example is available on link:cachereplicationjmsexample.html[a
-separate page].
\ No newline at end of file
diff --git a/components/camel-cassandraql/src/main/docs/cql-component.adoc b/components/camel-cassandraql/src/main/docs/cql-component.adoc
index 98d9bdf..db8d295 100644
--- a/components/camel-cassandraql/src/main/docs/cql-component.adoc
+++ b/components/camel-cassandraql/src/main/docs/cql-component.adoc
@@ -32,7 +32,7 @@ Maven users will need to add the following dependency to their
 </dependency>
 ------------------------------------------------------------
 
-=== URI format
+== URI format
 
 The endpoint can initiate the Cassandra connection or use an existing
 one.
@@ -52,7 +52,7 @@ To fine tune the Cassandra connection (SSL options, pooling options,
 load balancing policy, retry policy, reconnection policy...), create
 your own Cluster instance and give it to the Camel endpoint.
 
-=== Cassandra Options
+== Cassandra Options
 
 
 // component options: START
@@ -148,9 +148,9 @@ The component supports 2 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-=== Messages
+== Messages
 
-==== Incoming Message
+=== Incoming Message
 
 The Camel Cassandra endpoint expects a bunch of simple objects (`Object`
 or `Object[]` or `Collection<Object>`) which will be bound to the CQL
@@ -162,7 +162,7 @@ Headers:
 * `CamelCqlQuery` (optional, `String` or `RegularStatement`): CQL query
 either as a plain String or built using the `QueryBuilder`.
 
-==== Outgoing Message
+=== Outgoing Message
 
 The Camel Cassandra endpoint produces one or many a Cassandra Row
 objects depending on the `resultSetConversionStrategy`:
@@ -175,7 +175,7 @@ objects depending on the `resultSetConversionStrategy`:
 * Anything else, if `resultSetConversionStrategy` is a custom
 implementation of the `ResultSetConversionStrategy`
 
-=== Repositories
+== Repositories
 
 Cassandra can be used to store message keys or messages for the
 idempotent and aggregation EIP.
@@ -186,7 +186,7 @@ anti-patterns queues and queue like datasets]. It's advised to use
 LeveledCompaction and a small GC grace setting for these tables to allow
 tombstoned rows to be removed quickly.
 
-=== Idempotent repository
+== Idempotent repository
 
 The `NamedCassandraIdempotentRepository` stores messages keys in a
 Cassandra table like this:
@@ -228,7 +228,7 @@ Alternatively, the `CassandraIdempotentRepository` does not have a
 `LOCAL_QUORUM`…
 |=======================================================================
 
-=== Aggregation repository
+== Aggregation repository
 
 The `NamedCassandraAggregationRepository` stores exchanges by
 correlation key in a Cassandra table like this:
@@ -273,7 +273,7 @@ Alternatively, the `CassandraAggregationRepository` does not have a
 `LOCAL_QUORUM`…
 |=======================================================================
 
-=== Examples
+== Examples
 
 To insert something on a table you can use the following code:
 
@@ -291,4 +291,4 @@ At this point you should be able to insert data by using a list as body
 Arrays.asList("davsclaus", "Claus", "Ibsen")
 ---------------------------------------------------------
 
-The same approach can be used for updating or querying the table.
\ No newline at end of file
+The same approach can be used for updating or querying the table.
diff --git a/components/camel-cdi/src/main/docs/cdi.adoc b/components/camel-cdi/src/main/docs/cdi.adoc
index 2c14402..0cbd306 100644
--- a/components/camel-cdi/src/main/docs/cdi.adoc
+++ b/components/camel-cdi/src/main/docs/cdi.adoc
@@ -844,6 +844,4 @@ a Camel CDI Maven project, e.g.:
 [source,text]
 ----
 mvn archetype:generate -DarchetypeGroupId=org.apache.camel.archetypes -DarchetypeArtifactId=camel-archetype-cdi
-----
-
-
+----
\ No newline at end of file
diff --git a/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc b/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
index 1155057..1cd49b4 100644
--- a/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
+++ b/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
@@ -4,9 +4,6 @@
 *Available as of Camel version 2.18*
 
 
-*Available as of Camel version 2.18*
-
-
 The camel chronicle-engine component let you leverage the power of OpenHFT's Chronicle-Engine
 
 == URI Format
@@ -92,4 +89,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.chronicle-engine.enabled* | Enable chronicle-engine component | true | Boolean
 | *camel.component.chronicle-engine.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-chunk/src/main/docs/chunk-component.adoc b/components/camel-chunk/src/main/docs/chunk-component.adoc
index e8ca840..72af9f2 100644
--- a/components/camel-chunk/src/main/docs/chunk-component.adoc
+++ b/components/camel-chunk/src/main/docs/chunk-component.adoc
@@ -212,5 +212,4 @@ Thanks for the order of {$headers.item}.
 
 Regards Camel Riders Bookstore
 {$body}
-----------------------------------------------
-
+----------------------------------------------
\ No newline at end of file
diff --git a/components/camel-cmis/src/main/docs/cmis-component.adoc b/components/camel-cmis/src/main/docs/cmis-component.adoc
index fd29c97..c5d9ff5 100644
--- a/components/camel-cmis/src/main/docs/cmis-component.adoc
+++ b/components/camel-cmis/src/main/docs/cmis-component.adoc
@@ -164,6 +164,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.11 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.11 or higher).
\ No newline at end of file
diff --git a/components/camel-cometd/src/main/docs/cometd-component.adoc b/components/camel-cometd/src/main/docs/cometd-component.adoc
index a15622f..1100776 100644
--- a/components/camel-cometd/src/main/docs/cometd-component.adoc
+++ b/components/camel-cometd/src/main/docs/cometd-component.adoc
@@ -7,7 +7,8 @@
 The Cometd component is a transport for working with the
 http://www.mortbay.org/jetty[jetty] implementation of the
 http://docs.codehaus.org/display/JETTY/Cometd+%28aka+Bayeux%29[cometd/bayeux
-protocol]. +
+protocol].
+
  Using this component in combination with the dojo toolkit library it's
 possible to push Camel messages directly into the browser using an AJAX
 based mechanism.
@@ -162,7 +163,8 @@ You can append query options to the URI in the following format,
 Here is some examples on How to pass the parameters
 
 For file (for webapp resources located in the Web Application directory
---> cometd://localhost:8080?resourceBase=file./webapp +
+--> cometd://localhost:8080?resourceBase=file./webapp
+
  For classpath (when by example the web resources are packaged inside
 the webapp folder -->
 cometd://localhost:8080?resourceBase=classpath:webapp
@@ -237,4 +239,4 @@ Spring DSL based configuration of endpoint
   </bean>
 ...
   <to uri="cometds://127.0.0.1:443/service/test?baseResource=file:./target/test-classes/webapp&timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2"/>...
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-context/src/main/docs/context-component.adoc b/components/camel-context/src/main/docs/context-component.adoc
index 4f98e0d..d9054d2 100644
--- a/components/camel-context/src/main/docs/context-component.adoc
+++ b/components/camel-context/src/main/docs/context-component.adoc
@@ -9,7 +9,7 @@ CamelContext with a number of routes which is then treated as a black
 box, allowing you to refer to the local endpoints within the component
 from other CamelContexts.
 
-It is similar to the <<routebox-component,Routebox>> component in idea,
+It is similar to the xref:routebox-component.adoc[Routebox] component in idea,
 though the Context component tries to be really simple for end users;
 just a simple convention over configuration approach to refer to local
 endpoints inside the CamelContext Component.
@@ -205,4 +205,4 @@ hide the middleware as shown above.
 
 However when there is only one input, output or error/dead letter
 endpoint in a component we recommend using the common posix shell names
-*in*, *out* and *err*
\ No newline at end of file
+*in*, *out* and *err*
diff --git a/components/camel-corda/src/main/docs/corda-component.adoc b/components/camel-corda/src/main/docs/corda-component.adoc
index bb31e2b..52ce12c 100644
--- a/components/camel-corda/src/main/docs/corda-component.adoc
+++ b/components/camel-corda/src/main/docs/corda-component.adoc
@@ -20,14 +20,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-=== URI Format
+== URI Format
 
 [source,text]
 ----
 corda://<host:port>[?options]
 ----
 
-=== Corda Options
+== Corda Options
 
 
 // component options: START
@@ -149,4 +149,4 @@ Read the node information:
 --------------------------------------------------------
 from("direct:start")
     .to("corda://localhost:10006?username=user1&password=test?operation=NODE_INFO");
---------------------------------------------------------
\ No newline at end of file
+--------------------------------------------------------
diff --git a/components/camel-crypto/src/main/docs/crypto-component.adoc b/components/camel-crypto/src/main/docs/crypto-component.adoc
index 35a8fed..24e39a3 100644
--- a/components/camel-crypto/src/main/docs/crypto-component.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-component.adoc
@@ -290,4 +290,4 @@ Exchange signed = getMandatoryEndpoint("direct:alias-sign").createExchange();
 signed.getIn().copyFrom(unsigned.getOut());
 signed.getIn().setHeader(KEYSTORE_ALIAS, "bob");
 template.send("direct:alias-verify", signed);
--------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
index 2f9f1b2..df77a6a 100644
--- a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
@@ -322,7 +322,7 @@ or with spring.
 
 == Dependencies
 
-To use the <<crypto-component,Crypto>> dataformat in your camel routes you
+To use the xref:crypto-component.adoc[Crypto] dataformat in your camel routes you
 need to add the following dependency to your pom.
 
 [source,xml]
@@ -333,5 +333,4 @@ need to add the following dependency to your pom.
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
-
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
index a10bd61..81f5d32 100644
--- a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
@@ -264,7 +264,8 @@ from("direct:start")
 
 == Support of Sub-Keys and Key Flags in PGP Data Format Marshaler
 
-Since *Camel 2.12.3. +
+Since *Camel 2.12.3.
+
 *An https://tools.ietf.org/html/rfc4880#section-12.1[OpenPGP V4 key] can
 have a primary key and sub-keys. The usage of the keys is indicated by
 the so called https://tools.ietf.org/html/rfc4880#section-5.2.3.21[Key
@@ -279,7 +280,8 @@ primary key and its sub-keys have the same User IDs.
 
 == Support of Custom Key Accessors
 
-Since *Camel 2.13.0. +
+Since *Camel 2.13.0.
+
 *You can implement custom key accessors for encryption/signing. The
 above PGPDataFormat class selects in a certain predefined way the keys
 which should be used for signing/encryption or verifying/decryption. If
@@ -314,5 +316,4 @@ need to add the following dependency to your pom.
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
-
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-cxf-transport/src/main/docs/cxf-transport.adoc b/components/camel-cxf-transport/src/main/docs/cxf-transport.adoc
index 629b3e8..2747563 100644
--- a/components/camel-cxf-transport/src/main/docs/cxf-transport.adoc
+++ b/components/camel-cxf-transport/src/main/docs/cxf-transport.adoc
@@ -1,5 +1,5 @@
 [[CamelTransportforCXF-WhatstheCamelTransportforCXF]]
-== What's the Camel Transport for CXF
+= What's the Camel Transport for CXF
 
 In CXF you offer or consume a webservice by defining its address. The
 first part of the address specifies the protocol to use. For example
@@ -11,22 +11,20 @@ address="camel://direct:MyEndpointName" to bind the CXF service address
 to a camel direct endpoint.
 
 Technically speaking Camel transport for CXF is a component which
-implements the
-http://cwiki.apache.org/CXF20DOC/cxf-architecture.html#CXFArchitecture-Transports[CXF
-transport API] with the Camel core library. This allows you to easily
+implements the CXF transport API with the Camel core library.
+
+This allows you to easily
 use Camel's routing engine and integration patterns support together
 with your CXF services.
 
 [[CamelTransportforCXF-IntegrateCamelintoCXFtransportlayer]]
-Integrate Camel into CXF transport layer
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+== Integrate Camel into CXF transport layer
 
 To include the Camel Tranport into your CXF bus you use the
 CamelTransportFactory. You can do this in Java as well as in Spring.
 
 [[CamelTransportforCXF-SettinguptheCamelTransportinSpring]]
-Setting up the Camel Transport in Spring
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+=== Setting up the Camel Transport in Spring
 
 You can use the following snippet in your applicationcontext if you want
 to configure anything special. If you only want to activate the camel
@@ -57,8 +55,7 @@ jar and load a CamelTransportFactory for you.
 --------------------------------------------------------------------------------------------------------
 
 [[CamelTransportforCXF-IntegratingtheCamelTransportinaprogrammaticway]]
-Integrating the Camel Transport in a programmatic way
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Integrating the Camel Transport in a programmatic way
 
 Camel transport provides a setContext method that you could use to set
 the Camel context into the transport factory. If you want this factory
@@ -93,12 +90,10 @@ BusFactory.setDefaultBus(bus);
 ------------------------------------------------------------------------------------------------------------------
 
 [[CamelTransportforCXF-ConfigurethedestinationandconduitwithSpring]]
-Configure the destination and conduit with Spring
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+== Configure the destination and conduit with Spring
 
 [[CamelTransportforCXF-Namespace]]
-Namespace
-^^^^^^^^^
+=== Namespace
 
 The elements used to configure an Camel transport endpoint are defined
 in the namespace `http://cxf.apache.org/transports/camel`. It is
@@ -122,8 +117,7 @@ the `xsi:schemaLocation` attribute.
 ---------------------------------------------------------------------
 
 [[CamelTransportforCXF-Thedestinationelement]]
-The `destination` element
-^^^^^^^^^^^^^^^^^^^^^^^^^
+=== The `destination` element
 
 You configure an Camel transport server endpoint using the
 `camel:destination` element and its children. The `camel:destination`
@@ -172,8 +166,7 @@ You can specify the camel context in the camel destination
 The camel context id which you want inject into the camel destination
 
 [[CamelTransportforCXF-Theconduitelement]]
-The `conduit` element
-^^^^^^^^^^^^^^^^^^^^^
+=== The `conduit` element
 
 You configure a Camel transport client using the `camel:conduit` element
 and its children. The `camel:conduit` element takes a single attribute,
@@ -228,8 +221,7 @@ You can specify the camel context in the camel conduit
 The camel context id which you want inject into the camel conduit
 
 [[CamelTransportforCXF-ConfigurethedestinationandconduitwithBlueprint]]
-Configure the destination and conduit with Blueprint
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+== Configure the destination and conduit with Blueprint
 
 From *Camel 2.11.x*, Camel Transport supports to be configured with
 Blueprint.
@@ -262,16 +254,9 @@ context in the camel destination.
 ------------------------------------------------------------------------
 
 [[CamelTransportforCXF-ExampleUsingCamelasaloadbalancerforCXF]]
-Example Using Camel as a load balancer for CXF
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+== Example Using Camel as a load balancer for CXF
 
 This example shows how to use the camel load balancing feature in CXF.
 You need to load the configuration file in CXF and publish the endpoints
 on the address "camel://direct:EndpointA" and "camel://direct:EndpointB"
 
-[[CamelTransportforCXF-CompleteHowtoandExampleforattachingCameltoCXF]]
-Complete Howto and Example for attaching Camel to CXF
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-link:better-jms-transport-for-cxf-webservice-using-apache-camel.html[Better
-JMS Transport for CXF Webservice using Apache Camel] 
diff --git a/components/camel-cxf/src/main/docs/cxf-component.adoc b/components/camel-cxf/src/main/docs/cxf-component.adoc
index 8b0b8cb..0bea494 100644
--- a/components/camel-cxf/src/main/docs/cxf-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxf-component.adoc
@@ -4,8 +4,8 @@
 *Available as of Camel version 1.0*
 
 
-NOTE: When using Apache CXF as a consumer, the link:cxf-bean-component.html[CXF Bean
-Component] allows you to factor out how message payloads are received
+NOTE: When using Apache CXF as a consumer, the `cxfbean` component
+allows you to factor out how message payloads are received
 from their processing as a RESTful or SOAP web service. This has the
 potential of using a multitude of transports to consume web services.
 The bean component's configuration is also simpler and provides the
@@ -18,50 +18,29 @@ The *cxf:* component provides integration with
 http://cxf.apache.org[Apache CXF] for connecting to http://cxf.apache.org/docs/jax-ws.html[JAX-WS] services
 hosted in CXF.
 
-* link:#CXF-CXFComponent[CXF Component]
-** link:#CXF-URIformat[URI format]
-** link:#CXF-Options[Options]
-*** link:#CXF-Descriptionsofthedataformats[Descriptions of the
-dataformats]
-**** link:#CXF-HowtoenableCXFLoggingOutInterceptorinMESSAGEmode[How to
-enable CXF's LoggingOutInterceptor in MESSAGE mode]
-*** link:#CXF-DescriptionofrelayHeadersoption[Description of
-relayHeaders option]
-**** link:#CXF-AvailableonlyinPOJOmode[Available only in POJO mode]
-**** link:#CXF-ChangessinceRelease2.0[Changes since Release 2.0]
-** link:#CXF-ConfiguretheCXFendpointswithSpring[Configure the CXF
-endpoints with Spring]
-** link:#CXF-ConfiguringtheCXFEndpointswithApacheAriesBlueprint.[Configuring
-the CXF Endpoints with Apache Aries Blueprint.]
-** link:#CXF-Howtomakethecamel-cxfcomponentuselog4jinsteadofjava.util.logging[How
-to make the camel-cxf component use log4j instead of java.util.logging]
-** link:#CXF-Howtoletcamel-cxfresponsemessagewithxmlstartdocument[How to
-let camel-cxf response message with xml start document]
-** link:#CXF-HowtooverridetheCXFproduceraddressfrommessageheader[How to
-override the CXF producer address from message header]
-** link:#CXF-Howtoconsumeamessagefromacamel-cxfendpointinPOJOdataformat[How
-to consume a message from a camel-cxf endpoint in POJO data format]
-** link:#CXF-Howtopreparethemessageforthecamel-cxfendpointinPOJOdataformat[How
-to prepare the message for the camel-cxf endpoint in POJO data format]
-** link:#CXF-Howtodealwiththemessageforacamel-cxfendpointinPAYLOADdataformat[How
-to deal with the message for a camel-cxf endpoint in PAYLOAD data
-format]
-** link:#CXF-HowtogetandsetSOAPheadersinPOJOmode[How to get and set SOAP
-headers in POJO mode]
-** link:#CXF-HowtogetandsetSOAPheadersinPAYLOADmode[How to get and set
-SOAP headers in PAYLOAD mode]
-** link:#CXF-SOAPheadersarenotavailableinMESSAGEmode[SOAP headers are
-not available in MESSAGE mode]
-** link:#CXF-HowtothrowaSOAPFaultfromCamel[How to throw a SOAP Fault
-from Camel]
-** link:#CXF-Howtopropagateacamel-cxfendpointrequestandresponsecontext[How
-to propagate a camel-cxf endpoint's request and response context]
-** link:#CXF-AttachmentSupport[Attachment Support]
-** link:#CXF-StreamingSupportinPAYLOADmode[Streaming Support in PAYLOAD
-mode]
-** link:#CXF-UsingthegenericCXFDispatchmode[Using the generic CXF
-Dispatch mode]
-** link:#CXF-SeeAlso[See Also]
+* <<URI format>>
+* <<Options>>
+** <<Descriptions of the dataformats>>
+*** <<cxf-loggingout-interceptor-in-message-mode,How to enable CXF's LoggingOutInterceptor in MESSAGE mode>>
+** <<Description of relayHeaders option>>
+*** <<Available only in POJO mode>>
+*** Changes since Release 2.0
+* <<Configure the CXF endpoints with Spring>>
+* <<Configuring the CXF Endpoints with Apache Aries Blueprint>>
+* <<How to make the camel-cxf component use log4j instead of java.util.logging>>
+* <<How to let camel-cxf response message with xml start document>>
+* <<How to override the CXF producer address from message header>>
+* <<How to consume a message from a camel-cxf endpoint in POJO data format>>
+* <<How to prepare the message for the camel-cxf endpoint in POJO data format>>
+* <<How to deal with the message for a camel-cxf endpoint in PAYLOAD data format>>
+* <<How to get and set SOAP headers in POJO mode>>
+* <<How to get and set SOAP headers in PAYLOAD mode>>
+* <<SOAP headers are not available in MESSAGE mode>>
+* <<How to throw a SOAP Fault from Camel>>
+* <<propagate-request-response-context,How to propagate a camel-cxf endpoint's request and response context>>
+* <<Attachment Support>>
+* <<Streaming Support in PAYLOAD mode>>
+* <<Using the generic CXF Dispatch mode>>
 
 Maven users must add the following dependency to their `pom.xml`
 for this component:
@@ -262,8 +241,8 @@ exchange property, `CamelCXFDataFormat`. The exchange key constant is
 defined in
 `org.apache.camel.component.cxf.CxfConstants.DATA_FORMAT_PROPERTY`.
 
-[[CXF-HowtoenableCXFLoggingOutInterceptorinMESSAGEmode]]
-How to enable CXF's LoggingOutInterceptor in MESSAGE mode
+[#cxf-loggingout-interceptor-in-message-mode]
+=== How to enable CXF's LoggingOutInterceptor in MESSAGE mode
 
 CXF's `LoggingOutInterceptor` outputs outbound message that goes on the
 wire to logging system (Java Util Logging). Since the
@@ -308,8 +287,7 @@ on-the-wire headers, such as SOAP headers, be relayed along the route to
 be consumed say by another JAXWS endpoint, then `relayHeaders` should be
 set to `true`, which is the default value.
 
-[[CXF-AvailableonlyinPOJOmode]]
-Available only in POJO mode
+=== Available only in POJO mode
 
 The `relayHeaders=true` express an intent to relay the headers. The
 actual decision on whether a given header is relayed is delegated to a
@@ -354,8 +332,7 @@ headers here:
 
 https://github.com/apache/camel/blob/master/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java[https://github.com/apache/camel/blob/master/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java]
 
-[[CXF-ChangessinceRelease2.0]]
-Changes since Camel Release  2.0
+=== Changes since Camel Release  2.0
 
 * `POJO` and `PAYLOAD` modes are supported. In `POJO` mode, only
 out-of-band message headers are available for filtering as the in-band
@@ -470,7 +447,7 @@ which operation you are calling.
 Be sure to include the JAX-WS `schemaLocation` attribute specified on
 the root beans element. This allows CXF to validate the file and is
 required. Also note the namespace declarations at the end of the
-`<cxf:cxfEndpoint/>` tag. These declarations are required because the combined `{namespace}localName` syntax is presently not supported for this tag's
+`<cxf:cxfEndpoint/>` tag. These declarations are required because the combined `\{namespace}localName` syntax is presently not supported for this tag's
 attribute values.
 
 The `cxf:cxfEndpoint` element supports many additional attributes:
@@ -782,9 +759,11 @@ skipped.
 == How to throw a SOAP Fault from Camel
 
 If you are using a `camel-cxf` endpoint to consume the SOAP request, you
-may need to throw the SOAP Fault from the camel context. +
+may need to throw the SOAP Fault from the camel context.
+
  Basically, you can use the `throwFault` DSL to do that; it works for
-`POJO`, `PAYLOAD` and `MESSAGE` data format. +
+`POJO`, `PAYLOAD` and `MESSAGE` data format.
+
  You can define the soap fault like this
 
 Then throw it as you like
@@ -796,6 +775,7 @@ code in the message header.
 Same for using POJO data format. You can set the SOAPFault on the out
 body and also indicate it's a fault by calling Message.setFault(true):
 
+[#propagate-request-response-context]
 == How to propagate a camel-cxf endpoint's request and response context
 
 https://github.com/apache/cxf/blob/master/core/src/main/java/org/apache/cxf/endpoint/Client.java[CXF
@@ -925,4 +905,3 @@ a specific SOAPAction value, it is supplied in the Camel header using
 the key SOAPAction (case-insensitive).
 
  
-
diff --git a/components/camel-cxf/src/main/docs/cxfrs-component.adoc b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
index e82a112..22a959b 100644
--- a/components/camel-cxf/src/main/docs/cxfrs-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
@@ -8,8 +8,8 @@ The *cxfrs:* component provides integration with
 http://cxf.apache.org[Apache CXF] for connecting to JAX-RS 1.1 and 2.0
 services hosted in CXF.
 
-When using CXF as a consumer, the link:cxf-bean-component.html[CXF Bean
-Component] allows you to factor out how message payloads are received
+When using CXF as a consumer, the `cxfbean` component
+allows you to factor out how message payloads are received
 from their processing as a RESTful or SOAP web service. This has the
 potential of using a multitude of transports to consume web services.
 The bean component's configuration is also simpler and provides the
@@ -175,7 +175,8 @@ documentation] for more information.
 In
 https://github.com/apache/camel/blob/master/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd[camel-cxf
 schema file], there are two elements for the REST endpoint definition.
-*cxf:rsServer* for REST consumer, *cxf:rsClient* for REST producer. +
+*cxf:rsServer* for REST consumer, *cxf:rsClient* for REST producer.
+
  You can find a Camel REST service route configuration example here.
 
 == How to override the CXF producer address from message header
@@ -243,7 +244,8 @@ parameter in the consumer endpoint to value `SimpleConsumer`:
 Below is a list of method signatures along with the expected result from
 the Simple binding.
 
-*`public Response doAction(BusinessObject request);`* +
+*`public Response doAction(BusinessObject request);`*
+
  Request payload is placed in IN message body, replacing the original
 MessageContentsList.
 
@@ -327,7 +329,7 @@ export the resources classes as a REST service. And we leverage the
 http://cxf.apache.org/docs/invokers.html[CXF Invoker
 API] to turn a REST request into a normal Java object method
 invocation.
- Unlike the <<restlet-component,Camel Restlet>> component, you don't need
+ Unlike the xref:restlet-component.adoc[Restlet] component, you don't need
 to specify the URI template within your endpoint, CXF takes care of the
 REST request URI to resource class method mapping according to the
 JSR-311 specification. All you need to do in Camel is delegate this
@@ -505,4 +507,4 @@ Map<String, String> queryMap = new LinkedHashMap<>();
 queryMap.put("q1", "new");
 queryMap.put("q2", "world");
 inMessage.setHeader(CxfConstants.CAMEL_CXF_RS_QUERY_MAP, queryMap);
-----
\ No newline at end of file
+----
diff --git a/components/camel-disruptor/src/main/docs/disruptor-component.adoc b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
index 439c3fe..dbcc4ae 100644
--- a/components/camel-disruptor/src/main/docs/disruptor-component.adoc
+++ b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
@@ -79,8 +79,10 @@ or
 
 Where **someName** can be any string that uniquely identifies the
 endpoint within the current CamelContext (or
-across contexts in case of +
- **disruptor-vm:**). +
+across contexts in case of
+
+ **disruptor-vm:**).
+
  You can append query options to the URI in the following format:
 
 [source,java]
@@ -363,4 +365,4 @@ using JMX in this fashion:
 --------------------------------------------------------------------
 DisruptorEndpoint disruptor = context.getEndpoint("disruptor:xxxx");
 int size = disruptor.getBufferSize();
---------------------------------------------------------------------
+--------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-dns/src/main/docs/dns-component.adoc b/components/camel-dns/src/main/docs/dns-component.adoc
index 5bcbcef..8ef7fe0 100644
--- a/components/camel-dns/src/main/docs/dns-component.adoc
+++ b/components/camel-dns/src/main/docs/dns-component.adoc
@@ -6,7 +6,8 @@
 
 This is an additional component for Camel to run DNS queries, using
 DNSJava. The component is a thin layer on top of
-http://www.xbill.org/dnsjava/[DNSJava]. +
+http://www.xbill.org/dnsjava/[DNSJava].
+
  The component offers the following operations:
 
 * ip, to resolve a domain by its ip
@@ -14,7 +15,8 @@ http://www.xbill.org/dnsjava/[DNSJava]. +
 * dig, to run DNS queries
 
 INFO:*Requires SUN JVM*
-The DNSJava library requires running on the SUN JVM. +
+The DNSJava library requires running on the SUN JVM.
+
  If you use Apache ServiceMix or Apache Karaf, you'll need to adjust the
 `etc/jre.properties` file, to add `sun.net.spi.nameservice` to the list
 of Java platform packages exported. The server will need restarting
@@ -33,7 +35,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 The URI scheme for a DNS component is as follows
 
@@ -44,7 +46,7 @@ dns://operation[?options]
 
 This component only supports producers.
 
-=== Options
+== Options
 
 
 // component options: START
@@ -111,7 +113,7 @@ The component supports 2 options, which are listed below.
 
 
 
-=== Headers
+== Headers
 [width="100%",cols="10%,10%,10%,70%",options="header",]
 |===
 
@@ -133,9 +135,9 @@ Optional.
 one specified by the OS will be used. Optional.
 |===
 
-=== Examples
+== Examples
 
-==== IP lookup
+=== IP lookup
 
 [source,xml]
 ----
@@ -146,11 +148,12 @@ one specified by the OS will be used. Optional.
 ----
 
 This looks up a domain's IP. For example, www.example.com resolves to
-192.0.32.10. +
+192.0.32.10.
+
  The IP address to lookup must be provided in the header with key
 `"dns.domain"`.
 
-==== DNS lookup
+=== DNS lookup
 
 [source,xml]
 ----
@@ -160,11 +163,12 @@ This looks up a domain's IP. For example, www.example.com resolves to
         </route>
 ----
 
-This returns a set of DNS records associated with a domain. +
+This returns a set of DNS records associated with a domain.
+
  The name to lookup must be provided in the header with key
 `"dns.name"`.
 
-==== DNS Dig
+=== DNS Dig
 
 Dig is a Unix command-line utility to run DNS queries.
 
@@ -179,7 +183,7 @@ Dig is a Unix command-line utility to run DNS queries.
 The query must be provided in the header with key `"dns.query"`.
 
 
-=== Dns Activation Policy
+== Dns Activation Policy
 
 DnsActivationPolicy can be used to dynamically start and stop routes based on dns state.
 
@@ -198,4 +202,4 @@ i.e. You may have an instance in NYC and an instance in SFO. You would configure
 
 	<route id="routeId" autoStartup="false" routePolicyRef="dnsActivationPolicy">
 	</route>
-----
\ No newline at end of file
+----
diff --git a/components/camel-drill/src/main/docs/drill-component.adoc b/components/camel-drill/src/main/docs/drill-component.adoc
index 513ebba..ec3056c 100644
--- a/components/camel-drill/src/main/docs/drill-component.adoc
+++ b/components/camel-drill/src/main/docs/drill-component.adoc
@@ -101,6 +101,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.drill.enabled* | Enable drill component | true | Boolean
 | *camel.component.drill.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
-
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-dropbox/src/main/docs/dropbox-component.adoc b/components/camel-dropbox/src/main/docs/dropbox-component.adoc
index 9c829f3..84b7b07 100644
--- a/components/camel-dropbox/src/main/docs/dropbox-component.adoc
+++ b/components/camel-dropbox/src/main/docs/dropbox-component.adoc
@@ -28,7 +28,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source]
 ----
@@ -38,7 +38,7 @@ dropbox://[operation]?[options]
 Where *operation* is the specific action (typically is a CRUD action) to
 perform on Dropbox remote folder.
 
-=== Operations
+== Operations
 
 [width="100%",cols="40%,60%",options="header",]
 |===
@@ -58,10 +58,11 @@ perform on Dropbox remote folder.
 *Operations* require additional options to work, some are mandatory for
 the specific operation.
 
-=== Options
+== Options
 
 In order to work with Dropbox API you need to obtain an *accessToken*
-and a *clientIdentifier.* +
+and a *clientIdentifier.*
+
 You can refer to the
 https://www.dropbox.com/developers/core/start/java[Dropbox
 documentation] that explains how to get them.  
@@ -138,7 +139,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Del operation
+== Del operation
 
 Delete files on Dropbox.
 
@@ -153,7 +154,7 @@ Below are listed the options for this operation:
 |`remotePath` |`true` |Folder or file to delete on Dropbox
 |===
 
-==== Samples
+=== Samples
 
 [source,java]
 ----
@@ -166,7 +167,7 @@ from("direct:start")
   .to("mock:result");
 ----
 
-==== Result Message Headers
+=== Result Message Headers
 
 The following headers are set on message result:
 
@@ -177,7 +178,7 @@ The following headers are set on message result:
 |`DELETED_PATH` |name of the path deleted on dropbox
 |===
 
-==== Result Message Body
+=== Result Message Body
 
 The following objects are set on message body result:
 
@@ -188,7 +189,7 @@ The following objects are set on message body result:
 |`String` |name of the path deleted on dropbox
 |===
 
-=== Get (download) operation
+== Get (download) operation
 
 Download files from Dropbox.
 
@@ -203,7 +204,7 @@ Below are listed the options for this operation:
 |`remotePath` |`true` |Folder or file to download from Dropbox
 |===
 
-==== Samples
+=== Samples
 
 [source,java]
 ----
@@ -219,7 +220,7 @@ from("dropbox://get?accessToken=XXX&clientIdentifier=XXX&remotePath=/root/folder
   .to("file:///home/kermit/");
 ----
 
-==== Result Message Headers
+=== Result Message Headers
 
 The following headers are set on message result:
 
@@ -232,7 +233,7 @@ The following headers are set on message result:
 |`DOWNLOADED_FILES` |in case of multiple files download, path of the remote files downloaded
 |===
 
-==== Result Message Body
+=== Result Message Body
 
 The following objects are set on message body result:
 
@@ -247,7 +248,7 @@ remote file downloaded and as value the stream representing the file
 downloaded
 |===
 
-=== Move operation
+== Move operation
 
 Move files on Dropbox between one folder to another.
 
@@ -264,7 +265,7 @@ Below are listed the options for this operation:
 |`newRemotePath` |`true` |Destination file or folder
 |===
 
-==== Samples
+=== Samples
 
 [source,java]
 ----
@@ -273,7 +274,7 @@ from("direct:start")
   .to("mock:result");
 ----
 
-==== Result Message Headers
+=== Result Message Headers
 
 The following headers are set on message result:
 
@@ -284,7 +285,7 @@ The following headers are set on message result:
 |`MOVED_PATH` |name of the path moved on dropbox
 |===
 
-==== Result Message Body
+=== Result Message Body
 
 The following objects are set on message body result:
 
@@ -295,7 +296,7 @@ The following objects are set on message body result:
 |`String` |name of the path moved on dropbox
 |===
 
-=== Put (upload) operation
+== Put (upload) operation
 
 Upload files on Dropbox.
 
@@ -320,13 +321,16 @@ file with content from the Camel message body (message body is converted into a
 will upload the file on a remote path equal to the local path. With Windows or without an absolute 
 localPath you may run into an exception like the following:
 
-Caused by: java.lang.IllegalArgumentException: 'path': bad path: must start with "/": "C:/My/File" +
-OR +
-Caused by: java.lang.IllegalArgumentException: 'path': bad path: must start with "/": "MyFile" +
+Caused by: java.lang.IllegalArgumentException: 'path': bad path: must start with "/": "C:/My/File"
+
+OR
+
+Caused by: java.lang.IllegalArgumentException: 'path': bad path: must start with "/": "MyFile"
+
 	
 |===
 
-==== Samples
+=== Samples
 
 [source,java]
 ----
@@ -351,7 +355,7 @@ The name of the file can be provided in the header `DropboxConstants.HEADER_PUT_
 or `Exchange.FILE_NAME` in that order of precedence. If no header has been provided then the message id (uuid) is
 used as the file name.
 
-==== Result Message Headers
+=== Result Message Headers
 
 The following headers are set on message result:
 
@@ -364,7 +368,7 @@ The following headers are set on message result:
 |`UPLOADED_FILES` |in case of multiple files upload, string with the remote paths uploaded
 |===
 
-==== Result Message Body
+=== Result Message Body
 
 The following objects are set on message body result:
 
@@ -379,7 +383,7 @@ remote file uploaded and as value the result of the upload operation, OK
 or KO
 |===
 
-=== Search operation
+== Search operation
 
 Search inside a remote Dropbox folder including its sub directories.
 
@@ -399,7 +403,7 @@ will be matched. The query is required to be provided in either the endpoint con
 or as a header `CamelDropboxQuery` on the Camel message.
 |===
 
-==== Samples
+=== Samples
 
 [source,java]
 ----
@@ -412,7 +416,7 @@ from("direct:start")
   .to("mock:result");
 ----
 
-==== Result Message Headers
+=== Result Message Headers
 
 The following headers are set on message result:
 
@@ -423,7 +427,7 @@ The following headers are set on message result:
 |`FOUNDED_FILES` |list of file path founded
 |===
 
-==== Result Message Body
+=== Result Message Body
 
 The following objects are set on message body result:
 
@@ -434,7 +438,3 @@ The following objects are set on message body result:
 |`List<DbxEntry>` |list of file path founded. For more information on this object refer to
 Dropbox documentation,
 |===
-
-
-
- 
\ No newline at end of file
diff --git a/components/camel-eclipse/src/main/docs/eclipse.adoc b/components/camel-eclipse/src/main/docs/eclipse.adoc
index 2a0c149..4829975 100644
--- a/components/camel-eclipse/src/main/docs/eclipse.adoc
+++ b/components/camel-eclipse/src/main/docs/eclipse.adoc
@@ -55,4 +55,4 @@ for this component:
     <version>x.x.x</version>
     <!-- use the same version as your Camel core version -->
 </dependency>
-------------------------------------------------------------
+------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-ejb/src/main/docs/ejb-component.adoc b/components/camel-ejb/src/main/docs/ejb-component.adoc
index e453d3e..324dc20 100644
--- a/components/camel-ejb/src/main/docs/ejb-component.adoc
+++ b/components/camel-ejb/src/main/docs/ejb-component.adoc
@@ -4,9 +4,6 @@
 *Available as of Camel version 2.4*
 
 
-*Available as of Camel version 2.4*
-
-
 The *ejb:* component binds EJBs to Camel message exchanges.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -139,7 +136,7 @@ public class GreaterImpl implements GreaterLocal {
 
 In this example we want to invoke the `hello` method on the EJB. Since
 this example is based on an unit test using Apache OpenEJB we have to
-set a `JndiContext` on the <<ejb-component,EJB>> component with the OpenEJB
+set a `JndiContext` on the xref:ejb-component.adoc[EJB] component with the OpenEJB
 settings.
 
 [source,java]
@@ -177,10 +174,10 @@ from("direct:start")
 *In a real application server*
 
 In a real application server you most likely do not have to setup a
-`JndiContext` on the <<ejb-component,EJB>> component as it will create a
+`JndiContext` on the xref:ejb-component.adoc[EJB] component as it will create a
 default `JndiContext` on the same JVM as the application server, which
 usually allows it to access the JNDI registry and lookup the
-<<ejb-component,EJB>>s. However if you need to access a application server on a remote JVM or
+xref:ejb-component.adoc[EJB]s. However if you need to access a application server on a remote JVM or
 the likes, you have to prepare the properties beforehand.
 
 === Using Spring XML
@@ -188,7 +185,7 @@ the likes, you have to prepare the properties beforehand.
 And this is the same example using Spring XML instead:
 
 Again since this is based on an unit test we need to setup the
-<<ejb-component,EJB>> component:
+xref:ejb-component.adoc[EJB] component:
 
 [source,XML]
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -203,7 +200,7 @@ Again since this is based on an unit test we need to setup the
 </p:properties>
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-Before we are ready to use <<ejb-component,EJB>> in the Camel routes:
+Before we are ready to use xref:ejb-component.adoc[EJB] in the Camel routes:
 
 [source,XML]
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -215,4 +212,3 @@ Before we are ready to use <<ejb-component,EJB>> in the Camel routes:
     </route>
 </camelContext>
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
-
diff --git a/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc b/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
index 01d85f9..d34ff9d 100644
--- a/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
+++ b/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
@@ -345,4 +345,4 @@ req.indices("twitter");
 req.types("tweets");
 MultiSearchRequest request = new MultiSearchRequest().add(req1).add(req);
 Item[] response = template.requestBody("direct:search", request, Item[].class);
-----
+----
\ No newline at end of file
diff --git a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
index 3eb9049..3bc9996 100644
--- a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
+++ b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
@@ -200,5 +200,4 @@ String indexId = template.requestBody("direct:index", map, String.class);
 http://elasticsearch.org[ElasticSearch Main Site]
 
 http://www.elasticsearch.org/guide/reference/java-api/[ElasticSearch
-Java API]
-
+Java API]
\ No newline at end of file
diff --git a/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc b/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
index 42a897b..66964d6 100644
--- a/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
+++ b/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
@@ -200,5 +200,4 @@ String indexId = template.requestBody("direct:index", map, String.class);
 
 http://www.elastic.co[Elastic Main Site]
 
-https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-api.html[ElasticSearch Java API]
-
+https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-api.html[ElasticSearch Java API]
\ No newline at end of file
diff --git a/components/camel-elsql/src/main/docs/elsql-component.adoc b/components/camel-elsql/src/main/docs/elsql-component.adoc
index d47e4ad..040c8d9 100644
--- a/components/camel-elsql/src/main/docs/elsql-component.adoc
+++ b/components/camel-elsql/src/main/docs/elsql-component.adoc
@@ -214,7 +214,8 @@ projects table. Notice the SQL query has 2 named parameters, :#lic and
 
 Camel will then lookup for these parameters from the message body or
 message headers. Notice in the example above we set two headers with
-constant value +
+constant value
+
  for the named parameters:
 
 [source,java]
@@ -298,4 +299,4 @@ public static class MyIdGenerator {
 
 Notice that there is no existing `Exchange` with message body and headers, so
 the simple expression you can use in the consumer are most useable for calling
-bean methods as in this example.
+bean methods as in this example.
\ No newline at end of file
diff --git a/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc b/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
index 42abb53..fea3818 100644
--- a/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
+++ b/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
@@ -20,7 +20,7 @@ Maven users need to add the following dependency to their `pom.xml`
 </dependency>
 -------------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
+where `$\{camel-version\}` must be replaced by the actual version of Camel
 (2.6.0 or higher).
 
 == URI format
diff --git a/components/camel-exec/src/main/docs/exec-component.adoc b/components/camel-exec/src/main/docs/exec-component.adoc
index 09d893a..d5bd4b6 100644
--- a/components/camel-exec/src/main/docs/exec-component.adoc
+++ b/components/camel-exec/src/main/docs/exec-component.adoc
@@ -19,7 +19,7 @@ Maven users need to add the following dependency to their `pom.xml`
 </dependency>
 -------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
+where `$\{camel-version\}` must be replaced by the actual version of Camel
 (2.3.0 or higher).
 
 == URI format
@@ -174,7 +174,7 @@ If an out file is specified (in the endpoint via `outFile` or the
 message headers via `ExecBinding.EXEC_COMMAND_OUT_FILE`), converters
 will return the content of the out file. If no out file is used, then
 this component will convert the stdout of the process to the target
-type. For more details, please refer to the <<exec-component,usage examples>> below.
+type. For more details, please refer to the xref:exec-component.adoc[usage examples] below.
 
 == Usage examples
 
@@ -261,5 +261,4 @@ such a command - `echo` - in Windows.
 [source,java]
 ----------------------------------------------------------
 from("direct:exec").to("exec:cmd?args=/C echo echoString")
-----------------------------------------------------------
-
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-facebook/src/main/docs/facebook-component.adoc b/components/camel-facebook/src/main/docs/facebook-component.adoc
index 5ca2169..7314aa8 100644
--- a/components/camel-facebook/src/main/docs/facebook-component.adoc
+++ b/components/camel-facebook/src/main/docs/facebook-component.adoc
@@ -365,4 +365,4 @@ CamelFacebook.query header.
     from("direct:foo")
         .setHeader("CamelFacebook.query", header("bar"))
         .to("facebook://posts");
---------------------------------------------------------
+--------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
index 0f11c27..2744989 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
@@ -21,7 +21,7 @@ for this component:
 </dependency>
 ----
 
-=== URI Format
+== URI Format
 
 The FHIR Component uses the following URI format:
 
@@ -162,4 +162,4 @@ The component supports 23 options, which are listed below.
 | *camel.component.fhir.enabled* | Whether to enable auto configuration of the fhir component. This is enabled by default. |  | Boolean
 | *camel.component.fhir.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
index 2a696cd..1dc2b07 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
@@ -1,17 +1,13 @@
 [[fhirJson-dataformat]]
 = FHIR JSon DataFormat
-*Available as of Camel version 2.21*
-*Available as of Camel version 2.21*
-
-
-
 
+*Available as of Camel version 2.21*
 
 The FHIR-JSON Data Format leverages
 link:https://github.com/jamesagnew/hapi-fhir/blob/master/hapi-fhir-base/src/main/java/ca/uhn/fhir/parser/JsonParser.java[HAPI-FHIR's]
 JSON parser to parse to/from JSON format to/from a HAPI-FHIR's `IBaseResource`.
 
-=== FHIR JSON Format Options
+== FHIR JSON Format Options
 
 // dataformat options: START
 The FHIR JSon dataformat supports 14 options, which are listed below.
@@ -76,4 +72,4 @@ The component supports 15 options, which are listed below.
 | *camel.dataformat.fhirjson.summary-mode* | If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be included. | false | Boolean
 | *camel.dataformat.fhirjson.suppress-narratives* | If set to true (default is false), narratives will not be included in the encoded values. | false | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
index 6fabaa1..2f4e985 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
@@ -1,16 +1,13 @@
 [[fhirXml-dataformat]]
 = FHIR XML DataFormat
-*Available as of Camel version 2.21*
-*Available as of Camel version 2.21*
-
-
 
+*Available as of Camel version 2.21*
 
 The FHIR-XML Data Format leverages
 link:https://github.com/jamesagnew/hapi-fhir/blob/master/hapi-fhir-base/src/main/java/ca/uhn/fhir/parser/XmlParser.java[HAPI-FHIR's]
 XML parser to parse to/from XML format to/from a HAPI-FHIR's `IBaseResource`.
 
-=== FHIR XML Format Options
+== FHIR XML Format Options
 
 // dataformat options: START
 The FHIR XML dataformat supports 14 options, which are listed below.
@@ -75,4 +72,4 @@ The component supports 15 options, which are listed below.
 | *camel.dataformat.fhirxml.summary-mode* | If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be included. | false | Boolean
 | *camel.dataformat.fhirxml.suppress-narratives* | If set to true (default is false), narratives will not be included in the encoded values. | false | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-flatpack/src/main/docs/flatpack-component.adoc b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
index 6636c72..51758ee 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-component.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
@@ -5,7 +5,8 @@
 
 
 The Flatpack component supports fixed width and delimited file parsing
-via the http://flatpack.sourceforge.net[FlatPack library]. +
+via the http://flatpack.sourceforge.net[FlatPack library].
+
  *Notice:* This component only supports consuming from flatpack files to
 Object model. You can not (yet) write from Object model to flatpack
 format.
@@ -163,10 +164,12 @@ number of rows.
 
 The component delivers the data in the IN message as a
 `org.apache.camel.component.flatpack.DataSetList` object that has
-converters for `java.util.Map` or `java.util.List`. +
+converters for `java.util.Map` or `java.util.List`.
+
  Usually you want the `Map` if you process one row at a time
 (`splitRows=true`). Use `List` for the entire content
-(`splitRows=false`), where each element in the list is a `Map`. +
+(`splitRows=false`), where each element in the list is a `Map`.
+
  Each `Map` contains the key for the column name and its corresponding
 value.
 
@@ -244,7 +247,7 @@ easy Bean Integration
 
 == Flatpack DataFormat
 
-The <<flatpack-component,Flatpack>> component ships with the Flatpack data
+The xref:flatpack-component.adoc[Flatpack] component ships with the Flatpack data
 format that can be used to format between fixed width or delimited text
 messages to a `List` of rows as `Map`.
 
@@ -252,7 +255,8 @@ messages to a `List` of rows as `Map`.
 converted to `String`)
 * unmarshal = from `java.io.InputStream` (such as a `File` or `String`)
 to a `java.util.List` as an
-`org.apache.camel.component.flatpack.DataSetList` instance. +
+`org.apache.camel.component.flatpack.DataSetList` instance.
+
  The result of the operation will contain all the data. If you need to
 process each row one by one you can split the exchange, using
 Splitter.
@@ -340,5 +344,4 @@ the download page for the latest versions).
   <artifactId>camel-flatpack</artifactId>
   <version>x.x.x</version>
 </dependency>
------------------------------------------
-
+-----------------------------------------
\ No newline at end of file
diff --git a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
index 0f42ab5..b4619a3 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.1*
 
 
-The <<flatpack-component,Flatpack>> component ships with the Flatpack data
+The xref:flatpack-component.adoc[Flatpack] component ships with the Flatpack data
 format that can be used to format between fixed width or delimited text
 messages to a `List` of rows as `Map`.
 
@@ -12,7 +12,8 @@ messages to a `List` of rows as `Map`.
 converted to `String`)
 * unmarshal = from `java.io.InputStream` (such as a `File` or `String`)
 to a `java.util.List` as an
-`org.apache.camel.component.flatpack.DataSetList` instance. +
+`org.apache.camel.component.flatpack.DataSetList` instance.
+
  The result of the operation will contain all the data. If you need to
 process each row one by one you can split the exchange, using
 Splitter.
diff --git a/components/camel-flink/src/main/docs/flink-component.adoc b/components/camel-flink/src/main/docs/flink-component.adoc
index 8c04638..4e18a93 100644
--- a/components/camel-flink/src/main/docs/flink-component.adoc
+++ b/components/camel-flink/src/main/docs/flink-component.adoc
@@ -6,7 +6,8 @@
 
 This documentation page covers the https://flink.apache.org[Apache Flink]
 component for the Apache Camel. The *camel-flink* component provides a
-bridge between Camel connectors and Flink tasks. +
+bridge between Camel connectors and Flink tasks.
+
 This Camel Flink connector provides a way to route message from various
 transports, dynamically choosing a flink task to execute, use incoming
 message as input data for the task and finally deliver the results back to
@@ -184,5 +185,4 @@ try {
     } finally {
         camelContext.stop();
     }
------------------------------------
-
+-----------------------------------
\ No newline at end of file
diff --git a/components/camel-fop/src/main/docs/fop-component.adoc b/components/camel-fop/src/main/docs/fop-component.adoc
index 15767b9..d52df1c 100644
--- a/components/camel-fop/src/main/docs/fop-component.adoc
+++ b/components/camel-fop/src/main/docs/fop-component.adoc
@@ -191,5 +191,4 @@ from("file:source/data/xml")
     .to("file:target/data");
 ---------------------------------
 
-For more information, see these resources...
-
+For more information, see these resources...
\ No newline at end of file
diff --git a/components/camel-freemarker/src/main/docs/freemarker-component.adoc b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
index e99bda5..9c9656f 100644
--- a/components/camel-freemarker/src/main/docs/freemarker-component.adoc
+++ b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
@@ -30,7 +30,7 @@ freemarker:templateName[?options]
 
 Where *templateName* is the classpath-local URI of the template to
 invoke; or the complete URL of the remote template (eg:
-file://folder/myfile.ftl[file://folder/myfile.ftl]).
+`\file://folder/myfile.ftl`).
 
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
@@ -266,4 +266,3 @@ ${body}
 ----------------------------------------------
 
 And the java code:
-
diff --git a/components/camel-ftp/src/main/docs/ftp-component.adoc b/components/camel-ftp/src/main/docs/ftp-component.adoc
index 68310a6..64a0cbd 100644
--- a/components/camel-ftp/src/main/docs/ftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftp-component.adoc
@@ -28,7 +28,7 @@ for this component:
 ----
 
 
-=== URI format
+== URI format
 
 [source,java]
 ----
@@ -53,7 +53,8 @@ performed to create the directory configured for endpoint. The default
 value for `autoCreate` is `true`.
 
 If no *username* is provided, then `anonymous` login is attempted using
-no password. +
+no password.
+
  If no *port* number is provided, Camel will provide default values
 according to the protocol (ftp = 21, sftp = 22, ftps = 2222).
 
@@ -64,12 +65,13 @@ This component uses two different libraries for the actual FTP work. FTP
 and FTPS uses http://commons.apache.org/net/[Apache Commons Net] while
 SFTP uses http://www.jcraft.com/jsch/[JCraft JSCH].
 
-The FTPS component is only available in Camel 2.2 or newer. +
+The FTPS component is only available in Camel 2.2 or newer.
+
  FTPS (also known as FTP Secure) is an extension to FTP that adds
 support for the Transport Layer Security (TLS) and the Secure Sockets
 Layer (SSL) cryptographic protocols.
 
-=== URI Options
+== URI Options
 
 The options below are exclusive for the FTP component.
 
@@ -250,7 +252,7 @@ The component supports 2 options, which are listed below.
 
 
 
-=== FTPS component default trust store
+== FTPS component default trust store
 
 When using the `ftpClient.` properties related to SSL with the FTPS
 component, the trust store accept all certificates. If you only want
@@ -313,31 +315,35 @@ from("ftp://foo@myserver?password=secret&ftpClientConfig=#myConfig").to("bean:fo
 //=== More URI options
 
 
-=== Examples
+== Examples
 
-`ftp://someone@someftpserver.com/public/upload/images/holiday2008?password=secret&binary=true` +
+----
+ftp://someone@someftpserver.com/public/upload/images/holiday2008?password=secret&binary=true
 
-`ftp://someoneelse@someotherftpserver.co.uk:12049/reports/2008/password=secret&binary=false` +
- `ftp://publicftpserver.com/download`
+ftp://someoneelse@someotherftpserver.co.uk:12049/reports/2008/password=secret&binary=false
+
+ftp://publicftpserver.com/download
+----
 
-=== Concurrency
+== Concurrency
 
 FTP Consumer does not support concurrency
 
 The FTP consumer (with the same endpoint) does not support concurrency
-(the backing FTP client is not thread safe). +
+(the backing FTP client is not thread safe).
+
  You can use multiple FTP consumers to poll from different endpoints. It
 is only a single endpoint that does not support concurrent consumers.
 
 The FTP producer does *not* have this issue, it supports concurrency.
 
-=== More information
+== More information
 
 This component is an extension of the File component.
 So there are more samples and details on the File
 component page.
 
-=== Default when consuming files
+== Default when consuming files
 
 The FTP consumer will by default leave the consumed
 files untouched on the remote FTP server. You have to configure it
@@ -350,13 +356,14 @@ default move files to a `.camel` sub directory. The reason Camel does
 *not* do this by default for the FTP consumer is that it may lack
 permissions by default to be able to move or delete files.
 
-==== limitations
+=== limitations
 
 The option *readLock* can be used to force Camel *not* to consume files
 that is currently in the progress of being written. However, this option
 is turned off by default, as it requires that the user has write access.
 See the options table at File2 for more details about
-read locks. +
+read locks.
+
  There are other solutions to avoid consuming files that are currently
 being written over FTP; for instance, you can write to a temporary
 destination and move the file after it has been written.
@@ -366,7 +373,7 @@ restricted to the FTP_ROOT folder. That prevents you from moving files
 outside the FTP area. If you want to move files to another area you can
 use soft links and move files into a soft linked folder.
 
-=== Message Headers
+== Message Headers
 
 The following message headers can be used to affect the behavior of the
 component
@@ -405,7 +412,7 @@ In addition the FTP/FTPS consumer and producer will enrich the Camel
 |`CamelFtpReplyString` | *Camel 2.11.1:* The FTP client reply string
 |=======================================================================
 
-=== About timeouts
+== About timeouts
 
 The two set of libraries (see top) has different API for setting
 timeout. You can use the `connectTimeout` option for both of them to set
@@ -416,7 +423,7 @@ a timeout in millis to establish a network connection. An individual
 for FTP/FTSP as the data timeout, which corresponds to the
 `ftpClient.dataTimeout` value. All timeout values are in millis.
 
-=== Using Local Work Directory
+== Using Local Work Directory
 
 Camel supports consuming from remote FTP servers and downloading the
 files directly into a local work directory. This avoids reading the
@@ -445,7 +452,7 @@ The `java.io.File` handle is then used as the Exchange body. The file producer l
 As Camel knows it's a local work file, it can optimize and use a rename instead of a file copy, as the work file is meant to be deleted anyway.
 ====
 
-=== Stepwise changing directories
+== Stepwise changing directories
 
 Camel FTP can operate in two modes in terms of
 traversing directories when consuming files (eg downloading) or
@@ -487,7 +494,7 @@ FTP server we need to traverse and download files:
 And that we have a file in each of sub-a (a.txt) and sub-b (b.txt)
 folder.
 
-==== Using stepwise=true (default mode)
+== Using stepwise=true (default mode)
 
 [source,java]
 ----
@@ -577,7 +584,7 @@ disconnected.
 As you can see when stepwise is enabled, it will traverse the directory
 structure using CD xxx.
 
-==== Using stepwise=false
+== Using stepwise=false
 
 [source,java]
 ----
@@ -624,7 +631,7 @@ disconnected.
 As you can see when not using stepwise, there are no CD operation
 invoked at all.
 
-=== Samples
+== Samples
 
 In the sample below we set up Camel to download all the reports from the
 FTP server once every hour (60 min) as BINARY content and store it as
@@ -640,7 +647,7 @@ And the route using Spring DSL:
   </route>
 ----
 
-==== Consuming a remote FTPS server (implicit SSL) and client authentication
+=== Consuming a remote FTPS server (implicit SSL) and client authentication
 
 [source,java]
 ----
@@ -650,7 +657,7 @@ from("ftps://admin@localhost:2222/public/camel?password=admin&securityProtocol=S
   .to("bean:foo");
 ----
 
-==== Consuming a remote FTPS server (explicit TLS) and a custom trust store configuration
+=== Consuming a remote FTPS server (explicit TLS) and a custom trust store configuration
 
 [source,java]
 ----
@@ -683,11 +690,12 @@ spring XML file:
   </route>
 ----
 
-=== Filtering using ANT path matcher
+== Filtering using ANT path matcher
 
 The ANT path matcher is a filter that is shipped out-of-the-box in the
 *camel-spring* jar. So you need to depend on *camel-spring* if you are
-using Maven. +
+using Maven.
+
  The reason is that we leverage Spring's
 http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/util/AntPathMatcher.html[AntPathMatcher]
 to do the actual matching.
@@ -700,7 +708,7 @@ The file paths are matched with the following rules:
 
 The sample below demonstrates how to use it:
 
-=== Using a proxy with SFTP
+== Using a proxy with SFTP
 
 To use an HTTP proxy to connect to your remote host, you can configure
 your route in the following way:
@@ -723,7 +731,7 @@ You can also assign a user name and password to the proxy, if necessary.
 Please consult the documentation for `com.jcraft.jsch.Proxy` to discover
 all options.
 
-=== Setting preferred SFTP authentication method
+== Setting preferred SFTP authentication method
 
 If you want to explicitly specify the list of authentication methods
 that should be used by `sftp` component, use `preferredAuthentications`
@@ -738,7 +746,7 @@ from("sftp://localhost:9999/root?username=admin&password=admin&preferredAuthenti
   to("bean:processFile");
 ----
 
-=== Consuming a single file using a fixed name
+== Consuming a single file using a fixed name
 
 When you want to download a single file and knows the file name, you can
 use `fileName=myFileName.txt` to tell Camel the name of the file to
@@ -773,8 +781,7 @@ single file (if it exists) and grab the file content as a String type:
 String data = template.retrieveBodyNoWait("ftp://admin@localhost:21/nolist/?password=admin&stepwise=false&useList=false&ignoreFileNotFoundOrPermissionError=true&fileName=report.txt&delete=true", String.class);
 ----
 
-=== Debug logging
+== Debug logging
 
 This component has log level *TRACE* that can be helpful if you have
 problems.
-
diff --git a/components/camel-ftp/src/main/docs/ftps-component.adoc b/components/camel-ftp/src/main/docs/ftps-component.adoc
index 76c43be..445dcde 100644
--- a/components/camel-ftp/src/main/docs/ftps-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftps-component.adoc
@@ -20,7 +20,7 @@ for this component:
 </dependency>
 -----------------------------------------------------------------------
 
-For more information you can look at <<ftp-component,FTP component>>
+For more information you can look at xref:ftp-component.adoc[FTP component]
 
 == URI Options
 
diff --git a/components/camel-ftp/src/main/docs/sftp-component.adoc b/components/camel-ftp/src/main/docs/sftp-component.adoc
index 8573a9c..e5fc776 100644
--- a/components/camel-ftp/src/main/docs/sftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/sftp-component.adoc
@@ -20,7 +20,7 @@ for this component:
 </dependency>
 -----------------------------------------------------------------------
 
-For more information you can look at <<ftp-component,FTP component>>
+For more information you can look at xref:ftp-component.adoc[FTP component]
 
 == URI Options
 
diff --git a/components/camel-ganglia/src/main/docs/ganglia-component.adoc b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
index bce107a..409fac0 100644
--- a/components/camel-ganglia/src/main/docs/ganglia-component.adoc
+++ b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
@@ -35,7 +35,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source,java]
 ----
@@ -45,7 +45,7 @@ ganglia:address:port[?options]
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-=== Ganglia component and endpoint URI options
+== Ganglia component and endpoint URI options
 
 
 
@@ -155,19 +155,19 @@ The component supports 16 options, which are listed below.
 
 
 
-=== Message body
+== Message body
 
 Any value (such as a string or numeric type) in the body is sent to the
 Ganglia system.
 
-=== Return value / response
+== Return value / response
 
 Ganglia sends metrics using unidirectional UDP or multicast.  There is
 no response or change to the message body.
 
-=== Examples
+== Examples
 
-==== Sending a String metric
+=== Sending a String metric
 
 The message body will be converted to a String and sent as a metric
 value.  Unlike numeric metrics, String values can't be charted but
@@ -185,7 +185,7 @@ from("direct:ganglia.tx")
     .to("ganglia:239.2.11.71:8649?mode=MULTICAST&prefix=test");
 ----
 
-==== Sending a numeric metric
+=== Sending a numeric metric
 
 [source,java]
 ----
@@ -197,4 +197,4 @@ from("direct:value.for.ganglia")
 
 from("direct:ganglia.tx")
     .to("ganglia:239.2.11.71:8649?mode=MULTICAST&prefix=test");
-----
\ No newline at end of file
+----
diff --git a/components/camel-geocoder/src/main/docs/geocoder-component.adoc b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
index d1d9d0f..fd1e313 100644
--- a/components/camel-geocoder/src/main/docs/geocoder-component.adoc
+++ b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
@@ -115,7 +115,8 @@ The component supports 2 options, which are listed below.
 == Exchange data format
 
 Camel will deliver the body as a
-`com.google.code.geocoder.model.GeocodeResponse` type. +
+`com.google.code.geocoder.model.GeocodeResponse` type.
+
  And if the address is `"current"` then the response is a String type
 with a JSON representation of the current location.
 
diff --git a/components/camel-git/src/main/docs/git-component.adoc b/components/camel-git/src/main/docs/git-component.adoc
index bcb9962..1d189f3 100644
--- a/components/camel-git/src/main/docs/git-component.adoc
+++ b/components/camel-git/src/main/docs/git-component.adoc
@@ -25,7 +25,8 @@ git://localRepositoryPath[?options]
 
 == URI Options
 
-The producer allows to do operations on a specific repository. +
+The producer allows to do operations on a specific repository.
+
 The consumer allows consuming commits, tags and branches on a specific
 repository.
 
diff --git a/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc b/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
index deb5c66..773d898 100644
--- a/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
+++ b/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
@@ -28,7 +28,7 @@ for this component:
 
 [[GoogleBigQuery-AuthenticationConfiguration]]
 
-=== Authentication Configuration
+== Authentication Configuration
 
 Google BigQuery component authentication is targeted for use with the GCP Service Accounts.
 For more information please refer to https://cloud.google.com/docs/authentication[Google Cloud Platform Auth Guide]
@@ -47,7 +47,7 @@ https://developers.google.com/identity/protocols/application-default-credentials
 
 Service Account Email and Service Account Key can be found in the GCP JSON credentials file as client_email and private_key respectively.
 
-=== URI Format
+== URI Format
 
 [source,text]
 --------------------------------------------------------
@@ -55,7 +55,7 @@ Service Account Email and Service Account Key can be found in the GCP JSON crede
 --------------------------------------------------------
 
 
-=== Options
+== Options
 
 // component options: START
 The Google BigQuery component supports 4 options, which are listed below.
@@ -135,7 +135,7 @@ The component supports 4 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Message Headers
+== Message Headers
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -147,7 +147,7 @@ The component supports 4 options, which are listed below.
 |=======================================================================
 
 
-=== Producer Endpoints
+== Producer Endpoints
 
 Producer endpoints can accept and deliver to BigQuery individual and grouped
 exchanges alike. Grouped exchanges have `Exchange.GROUPED_EXCHANGE` property set.
@@ -159,7 +159,7 @@ correct suffix or partition decorator.
 Google BigQuery endpoint expects the payload to be either a map or list of maps. A payload containing a map
 will insert a single row and a payload containing a list of map's will insert a row for each entry in the list.
 
-=== Template tables
+== Template tables
 
 Reference: https://cloud.google.com/bigquery/streaming-data-into-bigquery#template-tables
 
@@ -175,7 +175,7 @@ from("direct:start")
 ------------------------------------------------------
 Note it is recommended to use partitioning for this use case.
 
-=== Partitioning
+== Partitioning
 
 Reference: https://cloud.google.com/bigquery/docs/creating-partitioned-tables
 
@@ -183,11 +183,11 @@ Partitioning is specified when creating a table and if set data will be automati
 separate tables. When inserting data a specific partition can be specified by setting the
 `GoogleBigQueryConstants.PARTITION_DECORATOR` header on the exchange.
 
-=== Ensuring data consistency
+== Ensuring data consistency
 
 Reference: https://cloud.google.com/bigquery/streaming-data-into-bigquery#dataconsistency
 
 A insert id can be set on the exchange with the header `GoogleBigQueryConstants.INSERT_ID` or by specifying
 query parameter `useAsInsertId`. As an insert id need to be specified per row inserted the exchange header can't
 be used when the payload is a list - if the payload is a list the `GoogleBigQueryConstants.INSERT_ID` will
-be ignored. In that case use the query parameter `useAsInsertId`.
\ No newline at end of file
+be ignored. In that case use the query parameter `useAsInsertId`.
diff --git a/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc b/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
index 956af8c..e396ace 100644
--- a/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
+++ b/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
@@ -1,11 +1,7 @@
 [[google-bigquery-sql-component]]
 = Google BigQuery Standard SQL Component
-*Available as of Camel version 2.23*
-*Available as of Camel version 2.23*
-
-
-
 
+*Available as of Camel version 2.23*
 
 The Google Bigquery SQL component provides access
 to https://cloud.google.com/bigquery/[Cloud BigQuery Infrastructure] via
@@ -30,7 +26,7 @@ for this component:
 
 [[GoogleBigQuery-AuthenticationConfiguration]]
 
-=== Authentication Configuration
+== Authentication Configuration
 
 Google BigQuery component authentication is targeted for use with the GCP Service Accounts.
 For more information please refer to https://cloud.google.com/docs/authentication[Google Cloud Platform Auth Guide]
@@ -49,7 +45,7 @@ https://developers.google.com/identity/protocols/application-default-credentials
 
 Service Account Email and Service Account Key can be found in the GCP JSON credentials file as client_email and private_key respectively.
 
-=== URI Format
+== URI Format
 
 [source,text]
 --------------------------------------------------------
@@ -64,7 +60,7 @@ Examples:
 --------------------------------------------------------
 where
 
- * parameters in form \${name} are extracted from message headers and formed the translated query
+ * parameters in form $\{name} are extracted from message headers and formed the translated query
  * parameters in form @name are extracted from body or message headers and sent to Google Bigquery
 
 You can externalize your SQL queries to files in the classpath or file system as shown:
@@ -75,7 +71,7 @@ You can externalize your SQL queries to files in the classpath or file system as
 
 
 
-=== Options
+== Options
 
 // component options: START
 The Google BigQuery Standard SQL component supports 3 options, which are listed below.
@@ -151,7 +147,7 @@ The component supports 3 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Ouput Message Headers
+== Ouput Message Headers
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -160,6 +156,6 @@ The component supports 3 options, which are listed below.
 |=======================================================================
 
 
-=== Producer Endpoints
+== Producer Endpoints
 
-Google BigQuery SQL endpoint expects the payload to be either empty or a map of query parameters.
\ No newline at end of file
+Google BigQuery SQL endpoint expects the payload to be either empty or a map of query parameters.
diff --git a/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc b/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
index 4c9e6f5..d4f50ac 100644
--- a/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
+++ b/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
@@ -23,7 +23,7 @@ for this component:
 
 ------------------------------------------------------
 
-=== URI Format
+== URI Format
 
 The Google Pubsub Component uses the following URI format:
 
@@ -33,7 +33,7 @@ google-pubsub://project-id:destinationName?[options]
 
 Destination Name can be either a topic or a subscription name.
 
-=== Options
+== Options
 
 // component options: START
 The Google Pubsub component supports 2 options, which are listed below.
@@ -114,7 +114,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Producer Endpoints
+== Producer Endpoints
 
 Producer endpoints can accept and deliver to PubSub individual and grouped
 exchanges alike. Grouped exchanges have `Exchange.GROUPED_EXCHANGE` property set.
@@ -129,7 +129,7 @@ A Map set as message header `GooglePubsubConstants.ATTRIBUTES` will be sent as P
 Once exchange has been delivered to PubSub the PubSub Message ID will be assigned to
 the header `GooglePubsubConstants.MESSAGE_ID`.
 
-=== Consumer Endpoints
+== Consumer Endpoints
 Google PubSub will redeliver the message if it has not been acknowledged within the time period set
 as a configuration option on the subscription.
 
@@ -142,7 +142,7 @@ To ack/nack the message the component uses Acknowledgement ID stored as header `
 If the header is removed or tampered with, the ack will fail and the message will be redelivered
 again after the ack deadline.
 
-=== Message Headers
+== Message Headers
 Headers set by the consumer endpoints:
 
 * GooglePubsubConstants.MESSAGE_ID
@@ -150,12 +150,12 @@ Headers set by the consumer endpoints:
 * GooglePubsubConstants.PUBLISH_TIME
 * GooglePubsubConstants.ACK_ID
 
-=== Message Body
+== Message Body
 
 The consumer endpoint returns the content of the message as byte[] - exactly as the underlying system sends it.
 It is up for the route to convert/unmarshall the contents.
 
-=== Authentication Configuration
+== Authentication Configuration
 
 Google Pubsub component authentication is targeted for use with the GCP Service Accounts.
 For more information please refer to https://cloud.google.com/docs/authentication[Google Cloud Platform Auth Guide]
@@ -174,7 +174,7 @@ https://developers.google.com/identity/protocols/application-default-credentials
 
 Service Account Email and Service Account Key can be found in the GCP JSON credentials file as client_email and private_key respectively.
 
-=== Rollback and Redelivery
+== Rollback and Redelivery
 
 The rollback for Google PubSub relies on the idea of the Acknowledgement Deadline - the time period where Google PubSub expects to receive the acknowledgement.
 If the acknowledgement has not been received, the message is redelivered.
@@ -187,4 +187,4 @@ So, rollback is effectively a deadline extension API call with zero value - i.e.
 be redelivered to the next consumer.
 
 It is possible to delay the message redelivery by setting the acknowledgement deadline explicitly for the rollback by
-setting the message header `GooglePubsubConstants.ACK_DEADLINE` to the value in seconds.
\ No newline at end of file
+setting the message header `GooglePubsubConstants.ACK_DEADLINE` to the value in seconds.
diff --git a/components/camel-grape/src/main/docs/grape-component.adoc b/components/camel-grape/src/main/docs/grape-component.adoc
index 2c21f94..866d70f 100644
--- a/components/camel-grape/src/main/docs/grape-component.adoc
+++ b/components/camel-grape/src/main/docs/grape-component.adoc
@@ -241,4 +241,4 @@ command:
       from("netty-http:http://0.0.0.0:80/patches").
         setHeader(GrapeConstats.GRAPE_COMMAND, constant(CamelGrapeCommand.clearPatches)).
         setBody().constant("Installed patches have been deleted."); 
------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc b/components/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
index 0ee2b1c..1403558 100644
--- a/components/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
+++ b/components/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
@@ -1,21 +1,21 @@
 [[GroovyDSL-AbouttheGroovyDSL]]
-== About the Groovy DSL (deprecated)
+= About the Groovy DSL (deprecated)
 
 The Groovy DSL implementation is built on top of the existing Java-based
 DSL, but it additionally allows to use Groovy language
 features in your routes, particularly
 http://www.groovy-lang.org/closures.html[Closures] acting as
 Processor, Expression,
-Predicate, or link:aggregator.html[Aggregation
-Strategy]. +
+Predicate, or xref:manual::aggregate-eip.adoc[Aggregation
+Strategy].
+
  With the Groovy DSL you write your RouteBuilder classes entirely in
 Groovy, while the scripting component
 allows to embed small scripts into Java routes. The Groovy DSL requires
 Groovy 2.0 or newer and is available as of *Camel 2.11*.
 
 [[GroovyDSL-Introduction]]
-Introduction
-^^^^^^^^^^^^
+== Introduction
 
 Because Groovy is syntactically very similar to Java, you can write your
 Groovy routes just like Java routes. The same Java DSL classes are being
@@ -66,8 +66,7 @@ The corresponding route in Java would look something like this:
 -----------------------------------------------------------------------------------------
 
 [[GroovyDSL-DevelopingwiththeGroovyDSL]]
-Developing with the Groovy DSL
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Developing with the Groovy DSL
 
 To be able to use the Groovy DSL in your camel routes you need to add
 the a dependency on *camel-groovy* which implements the Groovy DSL.
@@ -131,8 +130,7 @@ when `mvn eclipse:eclipse` is executed:
 ----------------------------------------------------------------------------------------
 
 [[GroovyDSL-UsingClosuresinyourroutes]]
-Using Closures in your routes
-+++++++++++++++++++++++++++++
+=== Using Closures in your routes
 
 Groovy closures can be used to write concise implementations of Camel
 processors, expressions, predicates, and aggregation strategies. It is
@@ -250,8 +248,7 @@ Similarly, `expression(Closure)` returns a Camel expression,
 returns an AggregationStrategy.
 
 [[GroovyDSL-UsingGroovyXMLprocessing]]
-Using Groovy XML processing
-+++++++++++++++++++++++++++
+=== Using Groovy XML processing
 
 Groovy provides special http://groovy-lang.org/processing-xml.html[XML
 processing support] through its `XmlParser`, `XmlNodePrinter` and
@@ -298,8 +295,7 @@ Currently, marshalling is only supported for `groovy.util.Node` objects.
 ------------------------------------------------------
 
 [[GroovyDSL-UsingGroovyGStrings]]
-Using Groovy GStrings
-+++++++++++++++++++++
+=== Using Groovy GStrings
 
 Groovy
 http://docs.groovy-lang.org/latest/html/documentation/index.html#all-strings[GStrings]
@@ -316,8 +312,7 @@ TypeConverter to automatically turn them into
 the required type.
 
 [[GroovyDSL-CustomDSLextensions]]
-Custom DSL extensions
-+++++++++++++++++++++
+=== Custom DSL extensions
 
 You can easily define your custom extensions - be it as a Java DSL
 extension for your Groovy routes or for any other class unrelated to
@@ -325,7 +320,8 @@ Camel. All you have to do is to write your extension methods and provide
 a extension module descriptor - the details are described in the
 http://www.groovy-lang.org/metaprogramming.html#_extension_modules[Groovy
 documentation]. And as long as you don't require other extension
-methods, you can even use plain Java code to achieve this! +
+methods, you can even use plain Java code to achieve this!
+
  As an example, let's write two DSL extensions to make commonly used DSL
 methods more concise:
 
diff --git a/components/camel-groovy/src/main/docs/groovy-language.adoc b/components/camel-groovy/src/main/docs/groovy-language.adoc
index 28e6cf0..2ca5942 100644
--- a/components/camel-groovy/src/main/docs/groovy-language.adoc
+++ b/components/camel-groovy/src/main/docs/groovy-language.adoc
@@ -147,7 +147,8 @@ languages with explicit DSL support.
 *Available as of Camel 2.8*
 
 You can provide additional arguments to the `ScriptingEngine` using a
-header on the Camel message with the key `CamelScriptArguments`. +
+header on the Camel message with the key `CamelScriptArguments`.
+
  See this example:
 
 == Using properties function
@@ -177,7 +178,8 @@ You can use the properties function and the same example is simpler:
 *Available as of Camel 2.11*
 
 You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
+such as `"classpath:"`, `"file:"`, or `"http:"`.
+
  This is done using the following syntax: `"resource:scheme:location"`,
 eg to refer to a file on the classpath you can do:
 
@@ -220,4 +222,4 @@ the download page for the latest versions).
   <artifactId>camel-groovy</artifactId>
   <version>x.x.x</version>
 </dependency>
----------------------------------------
+---------------------------------------
\ No newline at end of file
diff --git a/components/camel-grpc/src/main/docs/grpc-component.adoc b/components/camel-grpc/src/main/docs/grpc-component.adoc
index 3c7cba7..09ebefc 100644
--- a/components/camel-grpc/src/main/docs/grpc-component.adoc
+++ b/components/camel-grpc/src/main/docs/grpc-component.adoc
@@ -127,7 +127,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-== Transport security and authentication support (available from *Camel 2.20*)
+== Transport security and authentication support
 
 The following https://grpc.io/docs/guides/auth.html[authentication] mechanisms are built-in to gRPC and available in this component:
 
@@ -297,5 +297,4 @@ Insert gRPC and protobuf Java code generator plugin **<plugins>** tag of the pro
 
 http://www.grpc.io/[gRPC project site]
 
-https://www.xolstice.org/protobuf-maven-plugin[Maven Protocol Buffers Plugin]
-
+https://www.xolstice.org/protobuf-maven-plugin[Maven Protocol Buffers Plugin]
\ No newline at end of file
diff --git a/components/camel-guice/src/main/docs/guice.adoc b/components/camel-guice/src/main/docs/guice.adoc
index 7d7e94c..caadb5c 100644
--- a/components/camel-guice/src/main/docs/guice.adoc
+++ b/components/camel-guice/src/main/docs/guice.adoc
@@ -1,5 +1,5 @@
 [[Guice-CamelGuice]]
-== Camel Guice
+= Camel Guice
 
 We have support for http://code.google.com/p/google-guice/[Google Guice]
 as a dependency injection framework.
@@ -18,8 +18,7 @@ for this component:
 ------------------------------------------------------------
 
 [[Guice-DependencyInjectingCamelwithGuice]]
-Dependency Injecting Camel with Guice
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Dependency Injecting Camel with Guice
 
 The http://camel.apache.org/maven/current/camel-guice/apidocs/org/apache/camel/guice/GuiceCamelContext.html[GuiceCamelContext]
 is designed to work nicely inside Guice. You then need to bind it using
@@ -63,8 +62,7 @@ You can then use Guice in the usual way to inject the route instances or
 any other dependent objects.
 
 [[Guice-BootstrappingwithJNDI]]
-Bootstrapping with JNDI
-^^^^^^^^^^^^^^^^^^^^^^^
+== Bootstrapping with JNDI
 
 A common pattern used in J2EE is to bootstrap your application or root
 objects by looking them up in JNDI. This has long been the approach when
@@ -83,8 +81,7 @@ or -jndiProperties with the properties file location to let Guice Main
 to load right jndi properties file.
 
 [[Guice-ConfiguringComponent,EndpointorRouteBuilderinstances]]
-Configuring Component, Endpoint or RouteBuilder instances
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Configuring Component, Endpoint or RouteBuilder instances
 
 You can use Guice to dependency inject whatever objects
 you need to create, be it an Endpoint,
@@ -121,8 +118,7 @@ environment specific (the jndi.properties file) which you can then
 change based on development, testing, production etc.
 
 [[Guice-CreatingmultipleRouteBuilderinstancespertype]]
-Creating multiple RouteBuilder instances per type
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Creating multiple RouteBuilder instances per type
 
 It is sometimes useful to create multiple instances of a particular
 RouteBuilder with different configurations.
@@ -147,14 +143,3 @@ public class MyModule extends CamelModuleWithMatchingRoutes {
     }
 }
 ----------------------------------------------------------------------------------------------------------
-
-[[Guice-SeeAlso]]
-See Also
-^^^^^^^^
-
-* there are a number of Examples you can look at to
-see Guice and Camel being used such as link:guice-jms-example.html[Guice
-JMS Example]
-* Guice Maven Plugin for running your
-Guice based routes via Maven
-
diff --git a/components/camel-hawtdb/src/main/docs/hawtdb.adoc b/components/camel-hawtdb/src/main/docs/hawtdb.adoc
index 0cbc253..3492d40 100644
--- a/components/camel-hawtdb/src/main/docs/hawtdb.adoc
+++ b/components/camel-hawtdb/src/main/docs/hawtdb.adoc
@@ -1,5 +1,5 @@
 [[HawtDB-HawtDB]]
-== HawtDB (deprecated)
+= HawtDB (deprecated)
 
 *Available as of Camel 2.3*
 
@@ -37,7 +37,7 @@ for this component:
 
 
 [[HawtDB-UsingHawtDBAggregationRepository]]
-=== Using HawtDBAggregationRepository
+== Using HawtDBAggregationRepository
 
 `HawtDBAggregationRepository` is an `AggregationRepository` which on the
 fly persists the aggregated messages. This ensures that you will not
@@ -102,7 +102,7 @@ The `repositoryName` option must be provided. Then either the
 `persistentFileName` or the `hawtDBFile` must be provided.
 
 [[HawtDB-Whatispreservedwhenpersisting]]
-==== What is preserved when persisting
+=== What is preserved when persisting
 
 `HawtDBAggregationRepository` will only preserve any `Serializable`
 compatible data types. If a data type is not such a type its dropped and
@@ -110,7 +110,7 @@ a `WARN` is logged. And it only persists the `Message` body and the
 `Message` headers. The `Exchange` properties are *not* persisted.
 
 [[HawtDB-Recovery]]
-==== Recovery
+=== Recovery
 
 The `HawtDBAggregationRepository` will by default recover any failed
 Exchange. It does this by having a background tasks
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast.adoc b/components/camel-hazelcast/src/main/docs/hazelcast.adoc
index 2bc5c60..a76b81e 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast.adoc
@@ -31,17 +31,17 @@ for this component:
 
 == Hazelcast components
 See followings for each component usage:
-* <<hazelcast-map-component,map>>
-* <<hazelcast-multimap-component,multimap>>
-* <<hazelcast-queue-component,queue>>
-* <<hazelcast-topic-component,topic>>
-* <<hazelcast-list-component,list>>
-* <<hazelcast-seda-component,seda>>
-* <<hazelcast-set-component,set>>
-* <<hazelcast-atomicvalue-component,atomic number>>
-* <<hazelcast-instance-component,cluster support (instance)>>
-* <<hazelcast-replicatedmap-component,replicatedmap>> 
-* <<hazelcast-ringbuffer-component,ringbuffer>> 
+* xref:hazelcast-map-component.adoc[map]
+* xref:hazelcast-multimap-component.adoc[multimap]
+* xref:hazelcast-queue-component.adoc[queue]
+* xref:hazelcast-topic-component.adoc[topic]
+* xref:hazelcast-list-component.adoc[list]
+* xref:hazelcast-seda-component.adoc[seda]
+* xref:hazelcast-set-component.adoc[set]
+* xref:hazelcast-atomicvalue-component.adoc[atomic number]
+* xref:hazelcast-instance-component.adoc[cluster support (instance)]
+* xref:hazelcast-replicatedmap-component.adoc[replicatedmap] 
+* xref:hazelcast-ringbuffer-component.adoc[ringbuffer] 
 
 
 
@@ -162,4 +162,4 @@ to reference the service in the hazelcast endpoint.
         <to uri="seda:out" />
     </route>
 </camelContext>
---------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-hbase/src/main/docs/hbase-component.adoc b/components/camel-hbase/src/main/docs/hbase-component.adoc
index 946be72..8e86f0f 100644
--- a/components/camel-hbase/src/main/docs/hbase-component.adoc
+++ b/components/camel-hbase/src/main/docs/hbase-component.adoc
@@ -49,7 +49,8 @@ a Number, a serialized Java object or just binary data.
 To overcome these challenges, camel-hbase makes use of the message
 headers to specify the mapping of the message to HBase columns. It also
 provides the ability to use some camel-hbase provided classes that model
-HBase data and can be easily convert to and from xml/json etc. +
+HBase data and can be easily convert to and from xml/json etc.
+
  Finally it provides the ability to the user to implement and use his
 own mapping strategy.
 
@@ -321,11 +322,13 @@ to objects you can use either uri options or headers.
 In this case its probable that you also also need to specify a list of
 filters for limiting the results. You can specify a list of filters as
 part of the uri and camel will return only the rows that satisfy *ALL*
-the filters.  +
+the filters. 
+
  To have a filter that will be aware of the information that is part of
 the message, camel defines the ModelAwareFilter. This will allow your
 filter to take into consideration the model that is defined by the
-message and the mapping strategy. +
+message and the mapping strategy.
+
  When using a ModelAwareFilter camel-hbase will apply the selected
 mapping strategy to the in message, will create an object that models
 the mapping and will pass that object to the Filter.
@@ -430,7 +433,8 @@ from("direct:in")
 == HBase Mapping
 
 It was mentioned above that you the default mapping strategies are
-*header* and *body* mapping. +
+*header* and *body* mapping.
+
  Below you can find some detailed examples of how each mapping strategy
 works.
 
@@ -524,12 +528,8 @@ data.addRows().add(row);
 
 The object above can be used for example in a put operation and will
 result in creating or updating the row with id myRowId and add the value
-myvalue to the column myfamily:myqualifier. +
+myvalue to the column myfamily:myqualifier.
+
  The body mapping strategy might not seem very appealing at first. The
 advantage it has over the header mapping strategy is that the HBaseData
 object can be easily converted to or from xml/json.
-
-== See also
-
-* Polling Consumer
-* http://hbase.apache.org[Apache HBase]
\ No newline at end of file
diff --git a/components/camel-hdfs/src/main/docs/hdfs-component.adoc b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
index 4746c41..729771c 100644
--- a/components/camel-hdfs/src/main/docs/hdfs-component.adoc
+++ b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
@@ -29,7 +29,8 @@ hdfs://hostname[:port][/path][?options]
 ---------------------------------------
 
 You can append query options to the URI in the following format,
-`?option=value&option=value&...` +
+`?option=value&option=value&...`
+
  The path is treated in the following way:
 
 1.  as a consumer, if it's a file, it just reads the file, otherwise if
@@ -202,9 +203,11 @@ this problem in this way:
 * If the split strategy option has been defined, the hdfs path will be
 used as a directory and files will be created using the configured
 UuidGenerator
-* Every time a splitting condition is met, a new file is created. +
+* Every time a splitting condition is met, a new file is created.
+
  The splitStrategy option is defined as a string with the following
-syntax: +
+syntax:
+
  splitStrategy=<ST>:<value>,<ST>:<value>,*
 
 where <ST> can be:
@@ -255,7 +258,7 @@ split strategy.
 
 *Available as of Camel 2.10.4*
 
-When using the <<hdfs-component,HDFS>> producer *without* a split strategy,
+When using the xref:hdfs-component.adoc[HDFS] producer *without* a split strategy,
 then the file output stream is by default closed after the write.
 However you may want to keep the stream open, and only explicitly close
 the stream later. For that you can use the header
@@ -275,4 +278,4 @@ classloader will be the bundle class loader of the bundle that contains
 the routes. So, the default configuration files need to be visible from
 the bundle class loader. A typical way to deal with it is to keep a copy
 of core-default.xml in your bundle root. That file can be found in the
-hadoop-common.jar.
\ No newline at end of file
+hadoop-common.jar.
diff --git a/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
index cf710ef..dfea073 100644
--- a/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
+++ b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
@@ -29,7 +29,8 @@ hdfs2://hostname[:port][/path][?options]
 ----------------------------------------
 
 You can append query options to the URI in the following format,
-`?option=value&option=value&...` +
+`?option=value&option=value&...`
+
  The path is treated in the following way:
 
 1.  as a consumer, if it's a file, it just reads the file, otherwise if
@@ -198,7 +199,8 @@ this problem in this way:
 * If the split strategy option has been defined, the hdfs path will be
 used as a directory and files will be created using the configured
 UuidGenerator
-* Every time a splitting condition is met, a new file is created. +
+* Every time a splitting condition is met, a new file is created.
+
  The splitStrategy option is defined as a string with the following
 syntax: splitStrategy=<ST>:<value>,<ST>:<value>,*
 
@@ -246,7 +248,7 @@ split strategy.
 
 == Controlling to close file stream
 
-When using the <<hdfs2-component,HDFS2>> producer *without* a split
+When using the xref:hdfs2-component.adoc[HDFS2] producer *without* a split
 strategy, then the file output stream is by default closed after the
 write. However you may want to keep the stream open, and only explicitly
 close the stream later. For that you can use the header
diff --git a/components/camel-hipchat/src/main/docs/hipchat-component.adoc b/components/camel-hipchat/src/main/docs/hipchat-component.adoc
index 220d9d4..08d2ae9 100644
--- a/components/camel-hipchat/src/main/docs/hipchat-component.adoc
+++ b/components/camel-hipchat/src/main/docs/hipchat-component.adoc
@@ -247,5 +247,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ------------------------------------------
 
-where `${camel-version}` must be replaced by the actual version of Camel
-(2.15.0 or higher)
\ No newline at end of file
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.15.0 or higher)
diff --git a/components/camel-hl7/src/main/docs/hl7-dataformat.adoc b/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
index cac8734..d88e746 100644
--- a/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
+++ b/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
@@ -10,12 +10,12 @@ v2 messages] using the http://hl7api.sourceforge.net[HAPI library].
 
 This component supports the following:
 
-* HL7 MLLP codec for <<mina2-component,Mina>>
-* HL7 MLLP codec for <<netty4-component,Netty4>> from *Camel 2.15* onwards
+* HL7 MLLP codec for xref:mina2-component.adoc[Mina 2]
+* HL7 MLLP codec for xref:netty4-component.adoc[Netty4] from *Camel 2.15* onwards
 * Type Converter from/to HAPI and String
 * HL7 DataFormat using the HAPI library
 * Even more ease-of-use as it's integrated well with the
-<<mina2-component,camel-mina2>> component.
+xref:mina2-component.adoc[Mina 2] component.
 
 Maven users will need to add the following dependency to their `pom.xml`
 for this component:
@@ -30,14 +30,14 @@ for this component:
 </dependency>
 ----
 
-=== HL7 MLLP protocol
+== HL7 MLLP protocol
 
 HL7 is often used with the HL7 MLLP protocol, which is a text based TCP
 socket based protocol. This component ships with a Mina and Netty4 Codec
 that conforms to the MLLP protocol so you can easily expose an HL7
 listener accepting HL7 requests over the TCP transport layer. To expose
-a HL7 listener service, the <<mina2-component,camel-mina2>> or
-<<netty4-component,camel-netty4>> component is used with the
+a HL7 listener service, the xref:mina2-component.adoc[Mina 2] or
+xref:netty4-component.adoc[Netty4] component is used with the
 `HL7MLLPCodec` (mina2) or `HL7MLLPNettyDecoder/HL7MLLPNettyEncoder`
 (Netty4).
 
@@ -68,7 +68,7 @@ the HL7 message content.
 segment terminators. The HAPI library requires the use of `\r`.
 |===
 
-==== Exposing an HL7 listener using Mina
+=== Exposing an HL7 listener using Mina
 
 In the Spring XML file, we configure a mina2 endpoint to listen for HL7
 requests using TCP on port `8888`:
@@ -129,7 +129,7 @@ public class PatientLookupService {
     }
 ----
 
-==== Exposing an HL7 listener using Netty (available from Camel 2.15 onwards)
+=== Exposing an HL7 listener using Netty (available from Camel 2.15 onwards)
 
 In the Spring XML file, we configure a netty4 endpoint to listen for HL7
 requests using TCP on port `8888`:
@@ -160,7 +160,7 @@ from("hl7NettyListener")
   .bean("patientLookupService");
 ----
 
-=== HL7 Model using java.lang.String or byte[]
+== HL7 Model using java.lang.String or byte[]
 
 The HL7 MLLP codec uses plain String as its data format. Camel uses its
 Type Converter to convert to/from strings to
@@ -172,7 +172,7 @@ plain `byte[]` as its data format by setting the `produceString`
 property to false. The Type Converter is also capable of converting
 the `byte[]` to/from HAPI HL7 model objects.
 
-=== HL7v2 Model using HAPI
+== HL7v2 Model using HAPI
 
 The HL7v2 model uses Java objects from the HAPI library. Using this
 library, you can encode and decode from the EDI format (ER7) that is
@@ -208,9 +208,9 @@ QRY_A19 msg = exchange.getIn().getBody(QRY_A19.class);
 String patientId = msg.getQRD().getWhoSubjectFilter(0).getIDNumber().getValue();
 ----
 
-=== HL7 DataFormat
+== HL7 DataFormat
 
-The <<hl7-dataformat,HL7>> component ships with a HL7 data format that can
+The xref:hl7-dataformat.adoc[HL7] component ships with a HL7 data format that can
 be used to marshal or unmarshal HL7 model objects.
 
 // dataformat options: START
@@ -275,7 +275,8 @@ marshal or unmarshal operation in the route builder:
 ----
 
 In the sample above, the HL7 is marshalled from a HAPI Message object to
-a byte stream and put on a JMS queue. +
+a byte stream and put on a JMS queue.
+
  The next example is the opposite:
 
 [source,java]
@@ -290,23 +291,24 @@ a byte stream and put on a JMS queue. +
 Here we unmarshal the byte stream into a HAPI Message object that is
 passed to our patient lookup service.
 
-==== Serializable messages
+=== Serializable messages
 
 As of HAPI 2.0 (used by *Camel 2.11*), the HL7v2 model classes are fully
 serializable. So you can put HL7v2 messages directly into a JMS queue
 (i.e. without calling `marshal()` and read them again directly from the
 queue (i.e. without calling `unmarshal()`.
 
-==== Segment separators
+=== Segment separators
 
 As of *Camel 2.11*, `unmarshal` does not automatically fix segment
-separators anymore by converting `\n` to `\r`. If you  +
+separators anymore by converting `\n` to `\r`. If you 
+
  need this conversion,
 `org.apache.camel.component.hl7.HL7#convertLFToCR` provides a handy
 `Expression` for this purpose.
 
 
-==== Charset
+=== Charset
 
 As of *Camel 2.14.1*, both `marshal and unmarshal` evaluate the charset
 provided in the field `MSH-18`. If this field is empty, by default the
@@ -332,7 +334,7 @@ object:
     .to("patientLookupService");
 ----
 
-=== Message Headers
+== Message Headers
 
 The unmarshal operation adds these fields from the MSH segment as
 headers on the Camel message:
@@ -397,7 +399,7 @@ custom ValidationContext etc. This gives you full control over the HL7
 parsing and rendering process.
 |===
 
-=== Dependencies
+== Dependencies
 
 To use HL7 in your Camel routes you'll need to add a dependency on
 *camel-hl7* listed above, which implements this data format.
diff --git a/components/camel-hl7/src/main/docs/terser-language.adoc b/components/camel-hl7/src/main/docs/terser-language.adoc
index 7f92e21..0123918 100644
--- a/components/camel-hl7/src/main/docs/terser-language.adoc
+++ b/components/camel-hl7/src/main/docs/terser-language.adoc
@@ -1,11 +1,8 @@
 [[terser-language]]
 = HL7 Terser Language
 == Terser language
-*Available as of Camel version 2.11.0*
 *Available as of Camel version 2.11*
 
-
-
 http://hl7api.sourceforge.net[HAPI] provides a
 http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/util/Terser.html[Terser]
 class that provides access to fields using a commonly used terse
diff --git a/components/camel-http/src/main/docs/http-component.adoc b/components/camel-http/src/main/docs/http-component.adoc
index 48f4d60..7787a80 100644
--- a/components/camel-http/src/main/docs/http-component.adoc
+++ b/components/camel-http/src/main/docs/http-component.adoc
@@ -3,8 +3,6 @@
 
 *Available as of Camel version 1.0*
 
-*Available as of Camel version 1.0*
-
 
 The HTTP component provides HTTP based endpoints
 for calling external HTTP resources (as a client to call external
@@ -260,7 +258,8 @@ and will throw a `HttpOperationFailedException` with the information.
 *throwExceptionOnFailure*
 The option, `throwExceptionOnFailure`, can be set to `false` to prevent
 the `HttpOperationFailedException` from being thrown for failed response
-codes. This allows you to get any response from the remote server. +
+codes. This allows you to get any response from the remote server.
+
 There is a sample below demonstrating this.
 
 == Exceptions
@@ -275,18 +274,25 @@ response
 
 == Which HTTP method will be used
 
-The following algorithm is used to determine what HTTP method should be used: +
- 1. Use method provided as endpoint configuration (`httpMethod`). +
- 2. Use method provided in header (`Exchange.HTTP_METHOD`). +
- 3. `GET` if query string is provided in header. +
- 4. `GET` if endpoint is configured with a query string. +
- 5. `POST` if there is data to send (body is not `null`). +
+The following algorithm is used to determine what HTTP method should be used:
+
+ 1. Use method provided as endpoint configuration (`httpMethod`).
+
+ 2. Use method provided in header (`Exchange.HTTP_METHOD`).
+
+ 3. `GET` if query string is provided in header.
+
+ 4. `GET` if endpoint is configured with a query string.
+
+ 5. `POST` if there is data to send (body is not `null`).
+
  6. `GET` otherwise.
 
 == How to get access to HttpServletRequest and HttpServletResponse
 
 You can get access to these two using the Camel type converter system
-using +
+using
+
  *NOTE* You can get the request and response not just from the processor
 after the camel-jetty or camel-cxf endpoint.
 
@@ -331,7 +337,8 @@ from("direct:start")
 -----------------------------------------------------------
 
 In the sample above Camel will call the http://newhost despite the
-endpoint is configured with http://oldhost. +
+endpoint is configured with http://oldhost.
+
 If the http endpoint is working in bridge mode, it will ignore the
 message header of `Exchange.HTTP_URI`.
 
@@ -414,7 +421,8 @@ There is also support for proxy authentication via the
 === Using proxy settings outside of URI
 
 To avoid System properties conflicts, you can set proxy configuration
-only from the CamelContext or URI. +
+only from the CamelContext or URI.
+
  Java DSL :
 
 [source,java]
@@ -436,7 +444,8 @@ Spring XML
 ----------------------------------------------------------------
 
 Camel will first set the settings from Java System or CamelContext
-Properties and then the endpoint proxy options if provided. +
+Properties and then the endpoint proxy options if provided.
+
  So you can override the system properties with the endpoint options.
 
 There is also a `http.proxyScheme` property you
@@ -511,7 +520,8 @@ int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
 == Disabling Cookies
 
 To disable cookies you can set the HTTP Client to ignore cookies by
-adding this URI option: +
+adding this URI option:
+
  `httpClient.cookieSpec=ignoreCookies`
 
 == Advanced Usage
@@ -580,7 +590,8 @@ Please refer to
 http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d4e537[SSL/TLS
 customization] for details or have a look into the
 `org.apache.camel.component.http.HttpsServerTestSupport` unit test base
-class. +
+class.
+
  You can also implement a custom
 `org.apache.camel.component.http.HttpClientConfigurer` to do some
 configuration on the http client if you need full control of it.
diff --git a/components/camel-http4/src/main/docs/http4-component.adoc b/components/camel-http4/src/main/docs/http4-component.adoc
index bb06c76..292ec11 100644
--- a/components/camel-http4/src/main/docs/http4-component.adoc
+++ b/components/camel-http4/src/main/docs/http4-component.adoc
@@ -45,7 +45,7 @@ You can append query options to the URI in the following format,
 You can only produce to endpoints generated by the HTTP4 component.
 Therefore it should never be used as input into your Camel Routes. To
 bind/expose an HTTP endpoint via a HTTP server as input to a Camel
-route, use the <<jetty-component,Jetty Component>> instead.
+route, use the xref:jetty-component.adoc[Jetty] instead.
 
 == Http4 Component Options
 
@@ -296,7 +296,8 @@ and will throw a `HttpOperationFailedException` with the information.
 *throwExceptionOnFailure*
 The option, `throwExceptionOnFailure`, can be set to `false` to prevent
 the `HttpOperationFailedException` from being thrown for failed response
-codes. This allows you to get any response from the remote server. +
+codes. This allows you to get any response from the remote server.
+
 There is a sample below demonstrating this.
 
 == HttpOperationFailedException
@@ -311,18 +312,25 @@ response
 
 == Which HTTP method will be used
 
-The following algorithm is used to determine what HTTP method should be used: +
- 1. Use method provided as endpoint configuration (`httpMethod`). +
- 2. Use method provided in header (`Exchange.HTTP_METHOD`). +
- 3. `GET` if query string is provided in header. +
- 4. `GET` if endpoint is configured with a query string. +
- 5. `POST` if there is data to send (body is not `null`). +
+The following algorithm is used to determine what HTTP method should be used:
+
+ 1. Use method provided as endpoint configuration (`httpMethod`).
+
+ 2. Use method provided in header (`Exchange.HTTP_METHOD`).
+
+ 3. `GET` if query string is provided in header.
+
+ 4. `GET` if endpoint is configured with a query string.
+
+ 5. `POST` if there is data to send (body is not `null`).
+
  6. `GET` otherwise.
 
 == How to get access to HttpServletRequest and HttpServletResponse
 
 You can get access to these two using the Camel type converter system
-using +
+using
+
  *NOTE* You can get the request and response not just from the processor
 after the camel-jetty or camel-cxf endpoint.
 
@@ -367,7 +375,8 @@ from("direct:start")
 -----------------------------------------------------------
 
 In the sample above Camel will call the http://newhost despite the
-endpoint is configured with http4://oldhost. +
+endpoint is configured with http4://oldhost.
+
 If the http4 endpoint is working in bridge mode, it will ignore the
 message header of `Exchange.HTTP_URI`.
 
@@ -458,7 +467,8 @@ There is also support for proxy authentication via the
 === Using proxy settings outside of URI
 
 To avoid System properties conflicts, you can set proxy configuration
-only from the CamelContext or URI. +
+only from the CamelContext or URI.
+
  Java DSL :
 
 [source,java]
@@ -480,7 +490,8 @@ Spring XML
 ----------------------------------------------------------------
 
 Camel will first set the settings from Java System or CamelContext
-Properties and then the endpoint proxy options if provided. +
+Properties and then the endpoint proxy options if provided.
+
  So you can override the system properties with the endpoint options.
 
 Notice in *Camel 2.8* there is also a `http.proxyScheme` property you
@@ -555,7 +566,8 @@ int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
 == Disabling Cookies
 
 To disable cookies you can set the HTTP Client to ignore cookies by
-adding this URI option: +
+adding this URI option:
+
  `httpClient.cookiePolicy=ignoreCookies`
 
 == Advanced Usage
@@ -570,7 +582,7 @@ behavior.
 Using the JSSE Configuration Utility
 
 As of Camel 2.8, the HTTP4 component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
 Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
 endpoint and component levels.  The following examples demonstrate how
@@ -624,7 +636,8 @@ Please refer to
 http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d4e537[SSL/TLS
 customization] for details or have a look into the
 `org.apache.camel.component.http4.HttpsServerTestSupport` unit test base
-class. +
+class.
+
  You can also implement a custom
 `org.apache.camel.component.http4.HttpClientConfigurer` to do some
 configuration on the http client if you need full control of it.
@@ -716,10 +729,10 @@ public class HttpContextFactory {
 [[HTTP4-UsingdifferentSSLContextParameters]]
 Using different SSLContextParameters
 
-The <<http4-component,HTTP4>> component only support one instance of
+The xref:http4-component.adoc[HTTP4] component only support one instance of
 `org.apache.camel.util.jsse.SSLContextParameters` per component. If you
 need to use 2 or more different instances, then you need to setup
-multiple <<http4-component,HTTP4>> components as shown below. Where we have
+multiple xref:http4-component.adoc[HTTP4] components as shown below. Where we have
 2 components, each using their own instance of `sslContextParameters`
 property.
 
@@ -734,4 +747,4 @@ property.
    <property name="sslContextParameters" ref="sslContextParams2"/>
    <property name="x509HostnameVerifier" ref="hostnameVerifier"/>
 </bean>
-----------------------------------------------------------------------------
\ No newline at end of file
+----------------------------------------------------------------------------
diff --git a/components/camel-hystrix/src/main/docs/hystrix.adoc b/components/camel-hystrix/src/main/docs/hystrix.adoc
index 4edd73e..1c4945d 100644
--- a/components/camel-hystrix/src/main/docs/hystrix.adoc
+++ b/components/camel-hystrix/src/main/docs/hystrix.adoc
@@ -1,4 +1,4 @@
-== Hystrix Component
+= Hystrix Component
 
 *Available as of Camel version 2.18*
 
@@ -46,4 +46,4 @@ The component supports 3 options, which are listed below.
 | *camel.component.hystrix.mapping.path* | Endpoint for hystrix metrics servlet. | /hystrix.stream | String
 | *camel.component.hystrix.mapping.servlet-name* | Name of the Hystrix metrics servlet. | HystrixEventStreamServlet | String
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-ibatis/src/main/docs/ibatis-component.adoc b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
index 81d9fb2..9f785a7 100644
--- a/components/camel-ibatis/src/main/docs/ibatis-component.adoc
+++ b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
@@ -11,8 +11,9 @@ http://ibatis.apache.org/[Apache iBATIS].
 *Prefer MyBatis*
 
 The Apache iBatis project is no longer active. The project is moved
-outside Apache and is now know as the MyBatis project. +
-Therefore we encourage users to use <<mybatis-component,MyBatis>> instead.
+outside Apache and is now know as the MyBatis project.
+
+Therefore we encourage users to use xref:mybatis-component.adoc[MyBatis] instead.
 This camel-ibatis component will be removed in Camel 3.0.
 
 iBatis do not support Spring 4.x. So you can only use Spring 3.x or
@@ -46,9 +47,11 @@ You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
 This component will by default load the iBatis SqlMapConfig file from
-the root of the classpath and expected named as `SqlMapConfig.xml`. +
+the root of the classpath and expected named as `SqlMapConfig.xml`.
+
  It uses Spring resource loading so you can define it using `classpath`,
-`file` or `http` as prefix to load resources with those schemes. +
+`file` or `http` as prefix to load resources with those schemes.
+
  In Camel 2.2 you can configure this on the iBatisComponent with the
 `setSqlMapConfig(String)` method.
 
@@ -216,10 +219,10 @@ body to iBatis:
 
 Since this component does not support scheduled polling, you need to use
 another mechanism for triggering the scheduled polls, such as the
-<<timer-component,Timer>> or <<timer-component,Quartz>> components.
+`timer` or xref:quartz-component.adoc[Quartz] components.
 
 In the sample below we poll the database, every 30 seconds using the
-<<timer-component,Timer>> component and send the data to the JMS queue:
+`timer` component and send the data to the JMS queue:
 
 [source,java]
 ---------------------------------------------------------------------------------------------------------------------------------------
@@ -249,4 +252,3 @@ data is processed. This allows us to change the status of the row in the
 database to processed, so we avoid consuming it twice or more.
 
 And the statements in the sqlmap file:
-
diff --git a/components/camel-ical/src/main/docs/ical-dataformat.adoc b/components/camel-ical/src/main/docs/ical-dataformat.adoc
index b52104d..053fdae 100644
--- a/components/camel-ical/src/main/docs/ical-dataformat.adoc
+++ b/components/camel-ical/src/main/docs/ical-dataformat.adoc
@@ -97,5 +97,4 @@ for this component:
     <version>x.x.x</version>
     <!-- use the same version as your Camel core version -->
 </dependency>
-------------------------------------------------------------
-
+------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-iec60870/src/main/docs/iec60870-client-component.adoc b/components/camel-iec60870/src/main/docs/iec60870-client-component.adoc
index 491f8a9..f53f0c8 100644
--- a/components/camel-iec60870/src/main/docs/iec60870-client-component.adoc
+++ b/components/camel-iec60870/src/main/docs/iec60870-client-component.adoc
@@ -37,7 +37,7 @@ The IEC 60870 Client component supports 2 options, which are listed below.
 
 
 
-=== URI format
+== URI format
 
 The URI syntax of the endpoint is: 
 
@@ -50,7 +50,7 @@ The information object address is encoded in the path in the syntax shows above.
 note that always the full, 5 octet address format is being used. Unused octets have to be filled
 with zero.
 
-=== URI options
+== URI options
 
 
 // endpoint options: START
@@ -147,4 +147,4 @@ The final connection options will be evaluated in the following order:
 * Otherwise the +defaultConnectionOptions+ instance is copied and customized in the following steps
 * Apply +protocolOptions+ if present
 * Apply +dataModuleOptions+ if present
-* Apply all explicit connection parameters (e.g. +timeZone+)
\ No newline at end of file
+* Apply all explicit connection parameters (e.g. +timeZone+)
diff --git a/components/camel-iec60870/src/main/docs/iec60870-server-component.adoc b/components/camel-iec60870/src/main/docs/iec60870-server-component.adoc
index 0490a7b..4fe68cb 100644
--- a/components/camel-iec60870/src/main/docs/iec60870-server-component.adoc
+++ b/components/camel-iec60870/src/main/docs/iec60870-server-component.adoc
@@ -38,7 +38,7 @@ The IEC 60870 Server component supports 2 options, which are listed below.
 
 
 
-=== URI format
+== URI format
 
 The URI syntax of the endpoint is: 
 
@@ -51,7 +51,7 @@ The information object address is encoded in the path in the syntax shows above.
 note that always the full, 5 octet address format is being used. Unused octets have to be filled
 with zero.
 
-=== URI options
+== URI options
 
 
 
@@ -134,4 +134,4 @@ The component supports 7 options, which are listed below.
 | *camel.component.iec60870-server.enabled* | Whether to enable auto configuration of the iec60870-server component. This is enabled by default. |  | Boolean
 | *camel.component.iec60870-server.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-ignite/src/main/docs/ignite.adoc b/components/camel-ignite/src/main/docs/ignite.adoc
index 0bbc5dd..c0f9cf4 100644
--- a/components/camel-ignite/src/main/docs/ignite.adoc
+++ b/components/camel-ignite/src/main/docs/ignite.adoc
@@ -1,4 +1,4 @@
-== Ignite endpoints Component
+= Ignite endpoints Component
 
 *Available as of Camel version 2.17*
 
@@ -8,13 +8,13 @@ image:apache-ignite.png[]
 
 This component offers seven endpoints to cover much of Ignite's functionality:
 
-* <<ignite-cache-component,Ignite Cache>>.
-* <<ignite-compute-component,Ignite Compute>>.
-* <<ignite-messaging-component,Ignite Messaging>>.
-* <<ignite-events-component,Ignite Events>>.
-* <<ignite-set-component,Ignite Sets>>.
-* <<ignite-queue-component,Ignite Queues>>.
-* <<ignite-idgen-component,Ignite ID Generator>>.
+* xref:ignite-cache-component.adoc[Ignite Cache].
+* xref:ignite-compute-component.adoc[Ignite Compute].
+* xref:ignite-messaging-component.adoc[Ignite Messaging].
+* xref:ignite-events-component.adoc[Ignite Events].
+* xref:ignite-set-component.adoc[Ignite Sets].
+* xref:ignite-queue-component.adoc[Ignite Queues].
+* xref:ignite-idgen-component.adoc[Ignite ID Generator].
 
 To use this component, add the following dependency to your pom.xml:
 
@@ -34,7 +34,7 @@ If running in an OSGi container, please don't miss the <<Ignite-OsgiSupport,OSGi
 
 
 
-=== Initializing the Ignite component
+== Initializing the Ignite component
 
 Each instance of the Ignite component is associated with an underlying org.apache.ignite.Ignite instance. You can interact with two Ignite clusters by initializing two instances of the Ignite component and binding them to different IgniteConfigurations. There are 3 ways to initialize the Ignite component:
 
@@ -79,7 +79,7 @@ Additionally, if using Camel programmatically, there are several convenience sta
 
 You may use those methods to quickly create an IgniteComponent with your chosen configuration technique.
 
-=== General options
+== General options
 
 All endpoints share the following options:
 [width="100%",cols="1,1,1,4,1,1",options="header"]
@@ -93,7 +93,7 @@ Some Ignite operations can deal with multiple elements at once, if passed a Coll
 |=======================================================================
 
 [[Ignite-OsgiSupport]]
-=== OSGi Support
+== OSGi Support
 
 TIP: Apache Ignite supports OSGi from version 1.5.0.final onwards.
 
@@ -103,4 +103,3 @@ When installing on Apache Karaf:
 2. You must have exported from the JRE (system bundle) some low-level, non-standard packages that Ignite requires.
 
 Please refer to the OSGi section in the Ignite documentation for more information.
-
diff --git a/components/camel-infinispan/src/main/docs/infinispan-component.adoc b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
index 4066778..72a0c44 100644
--- a/components/camel-infinispan/src/main/docs/infinispan-component.adoc
+++ b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
@@ -268,5 +268,4 @@ XML file as well:
 </camelContext>
 ----
 
-== Using the Infinispan based route policy
-
+== Using the Infinispan based route policy
\ No newline at end of file
diff --git a/components/camel-influxdb/src/main/docs/influxdb-component.adoc b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
index edb8aac..fe56c1a 100644
--- a/components/camel-influxdb/src/main/docs/influxdb-component.adoc
+++ b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
@@ -142,5 +142,4 @@ from("direct:start")
         .to("influxdb://connectionBean?databaseName=myTimeSeriesDB");
 ------------------------------------------------------------------------------------
 
-For more information, see these resources...
-
+For more information, see these resources...
\ No newline at end of file
diff --git a/components/camel-iota/src/main/docs/iota-component.adoc b/components/camel-iota/src/main/docs/iota-component.adoc
index 90abe76..cf63540 100644
--- a/components/camel-iota/src/main/docs/iota-component.adoc
+++ b/components/camel-iota/src/main/docs/iota-component.adoc
@@ -19,14 +19,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-=== URI format
+== URI format
 
 [source,java]
 ---------------------------------------------------------------------------------------------------------------
 iota:name?url=nodeurl[&moreOptions...]
 ---------------------------------------------------------------------------------------------------------------
 
-=== Options
+== Options
 
 // component options: START
 The IOTA component has no options.
@@ -98,7 +98,7 @@ The component supports 2 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-=== Sample route
+== Sample route
 
 The following route defined in Spring XML send a message to tangle
 
@@ -171,8 +171,3 @@ The following route defined in Spring XML retrieve transfers data
   <to uri="direct:result" />
 </route>
 ---------------------------------------------------------------------------------------------------------------------------
-
-=== See also
-
-* https://www.iota.org/[IOTA website]
-* https://github.com/iotaledger/iota.lib.java[IOTA java lib]
\ No newline at end of file
diff --git a/components/camel-irc/src/main/docs/irc-component.adoc b/components/camel-irc/src/main/docs/irc-component.adoc
index c66c9dc..c7745a1 100644
--- a/components/camel-irc/src/main/docs/irc-component.adoc
+++ b/components/camel-irc/src/main/docs/irc-component.adoc
@@ -243,4 +243,4 @@ from("ircs:nick@myserver:1234/#mychannelname?namesOnJoin=true&onReply=true")
 		.when(header("irc.messageType").isEqualToIgnoreCase("REPLY"))
 			.filter(header("irc.num").isEqualTo("353"))
 			.to("mock:result").stop();
------------------------------------------------------------------------------
+-----------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-ironmq/src/main/docs/ironmq-component.adoc b/components/camel-ironmq/src/main/docs/ironmq-component.adoc
index d20900d..0e0a5d7 100644
--- a/components/camel-ironmq/src/main/docs/ironmq-component.adoc
+++ b/components/camel-ironmq/src/main/docs/ironmq-component.adoc
@@ -185,4 +185,4 @@ Dequeue from activemq jms and enqueue the messages on IronMQ.
 --------------------------------------------------
 from("activemq:foo")
   .to("ironmq:testqueue?projectId=myIronMQProjectid&token=myIronMQToken");
---------------------------------------------------
+--------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc b/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
index 9bcf4527..81f3e5d 100644
--- a/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
+++ b/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
@@ -14,7 +14,7 @@ from("activemq:My.Queue").
   to("mqseries:Another.Queue");
 -------------------------------
 
-=== Jackson Options
+== Jackson Options
 
 
 
@@ -93,7 +93,7 @@ The component supports 20 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-=== Using custom ObjectMapper
+== Using custom ObjectMapper
 
 You can configure `JacksonDataFormat` to use a custom `ObjectMapper` in case you need more control of the mapping configuration.
 
@@ -102,7 +102,7 @@ For example if you use Spring Boot, then Spring Boot can provide a default `Obje
 And this would allow Camel to detect that there is one bean of `ObjectMapper` class type in the Spring Boot bean registry
 and then use it. When this happens you should set a `INFO` logging from Camel.
 
-=== Dependencies
+== Dependencies
 
 To use Jackson in your camel routes you need to add the dependency
 on *camel-jackson* which implements this data format.
@@ -119,4 +119,4 @@ the download page for the latest versions).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc b/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
index 6295745..7c55575 100644
--- a/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
+++ b/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
@@ -214,7 +214,8 @@ Or from XML DSL you configure this as
 == Unmarshalling from XML to POJO with dynamic class name
 
 If you use jackson to unmarshal XML to POJO, then you can now specify a
-header in the message that indicate which class name to unmarshal to. +
+header in the message that indicate which class name to unmarshal to.
+
 The header has key `CamelJacksonUnmarshalType` if that header is present
 in the message, then Jackson will use that as FQN for the POJO class to
 unmarshal the XML payload as.
@@ -400,4 +401,4 @@ the download page for the latest versions).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jasypt/src/main/docs/jasypt.adoc b/components/camel-jasypt/src/main/docs/jasypt.adoc
index 4c63f2a..b7b0787 100644
--- a/components/camel-jasypt/src/main/docs/jasypt.adoc
+++ b/components/camel-jasypt/src/main/docs/jasypt.adoc
@@ -75,7 +75,8 @@ Encrypted text: qaEEacuW7BUti8LcMgyjKw==
 
 This means the encrypted representation `qaEEacuW7BUti8LcMgyjKw==` can
 be decrypted back to `tiger` if you know the master password which was
-`secret`. +
+`secret`.
+
  If you run the tool again then the encrypted value will return a
 different result. But decrypting the value will always return the
 correct original value.
@@ -284,5 +285,4 @@ to Jasypt.
     </camelContext>
 
 </blueprint>
-----------------------------------------------------------------------------------------------------------------
-
+----------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-javaspace/src/main/docs/javaspace-component.adoc b/components/camel-javaspace/src/main/docs/javaspace-component.adoc
index 750ba70..d56ce05 100644
--- a/components/camel-javaspace/src/main/docs/javaspace-component.adoc
+++ b/components/camel-javaspace/src/main/docs/javaspace-component.adoc
@@ -7,19 +7,23 @@
 The *javaspace* component is a transport for working with any JavaSpace
 compliant implementation and this component has been tested with both
 the http://www.dancres.org/blitz/[Blitz implementation] and the
-http://www.gigaspaces.com/[GigaSpace implementation]. +
+http://www.gigaspaces.com/[GigaSpace implementation].
+
  This component can be used for sending and receiving any object
 inheriting from the Jini `net.jini.core.entry.Entry` class. It is also
 possible to pass the bean ID of a template that can be used for
-reading/taking the entries from the space. +
+reading/taking the entries from the space.
+
  This component can be used for sending/receiving any serializable
 object acting as a sort of generic transport. The JavaSpace component
 contains a special optimization for dealing with the `BeanExchange`. It
 can be used to invoke a POJO remotely, using a JavaSpace as a
-transport. +
+transport.
+
  This latter feature can provide a simple implementation of the
 master/worker pattern, where a POJO provides the business logic for the
-worker. +
+worker.
+
  Look at the test cases for examples of various use cases for this
 component.
 
@@ -170,5 +174,4 @@ from("javaspace:jini://localhost?concurrentConsumers=10&spaceName=mySpace")
 In the code there are two test cases showing how to use a POJO to
 realize the master/worker pattern. The idea is to use the POJO to
 provide the business logic and rely on Camel for sending/receiving
-requests/replies with the proper correlation.
-
+requests/replies with the proper correlation.
\ No newline at end of file
diff --git a/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
index 69bed0b..94b32b4 100644
--- a/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
+++ b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
@@ -128,12 +128,14 @@ implementation and might change if you use different vendor than RI.
 
 == Partial marshalling/unmarshalling
 
-*This feature is new to Camel 2.2.0.* +
+*This feature is new to Camel 2.2.0.*
+
  JAXB 2 supports marshalling and unmarshalling XML tree fragments. By
 default JAXB looks for `@XmlRootElement` annotation on given class to
 operate on whole XML tree. This is useful but not always - sometimes
 generated code does not have @XmlRootElement annotation, sometimes you
-need unmarshall only part of tree. +
+need unmarshall only part of tree.
+
  In that case you can use partial unmarshalling. To enable this
 behaviours you need set property `partClass`. Camel will pass this class
 to JAXB's unmarshaler. If `JaxbConstants.JAXB_PART_CLASS` is set as
@@ -157,7 +159,8 @@ note that you need to specify its value {[namespaceUri]}[localPart]
 
 == Fragment
 
-*This feature is new to Camel 2.8.0.* +
+*This feature is new to Camel 2.8.0.*
+
  JaxbDataFormat has new property fragment which can set the the
 `Marshaller.JAXB_FRAGMENT` encoding property on the JAXB Marshaller. If
 you don't want the JAXB Marshaller to generate the XML declaration, you
@@ -166,7 +169,8 @@ false.
 
 == Ignoring the NonXML Character
 
-*This feature is new to Camel 2.2.0.* +
+*This feature is new to Camel 2.2.0.*
+
  JaxbDataFromat supports to ignore the
 http://www.w3.org/TR/2004/REC-xml-20040204/#NT-Char[NonXML Character],
 you just need to set the filterNonXmlChars property to be true,
@@ -188,7 +192,8 @@ the Exchange property
 This feature has been tested with Woodstox 3.2.9 and Sun JDK 1.6 StAX
 implementation.
 
-*New for Camel 2.12.1* +
+*New for Camel 2.12.1*
+
  JaxbDataFormat now allows you to customize the XMLStreamWriter used to
 marshal the stream to XML. Using this configuration, you can add your
 own stream writer to completely remove, escape, or replace non-xml
@@ -217,7 +222,8 @@ http://java.sun.com/javase/6/docs/api/javax/xml/bind/JAXBElement.html[JAXBElemen
 to hold the reference of the schema and element instance value,
 jaxbDataformat will ignore the JAXBElement by default and you will get
 the element instance value instead of the JAXBElement object form the
-unmarshaled message body.  +
+unmarshaled message body. 
+
  If you want to get the JAXBElement object form the unmarshaled message
 body, you need to set the JaxbDataFormat object's ignoreJAXBElement
 property to be false.
@@ -225,7 +231,8 @@ property to be false.
 == Setting encoding
 
 You can set the *encoding* option to use when marshalling. Its the
-`Marshaller.JAXB_ENCODING` encoding property on the JAXB Marshaller. +
+`Marshaller.JAXB_ENCODING` encoding property on the JAXB Marshaller.
+
  You can setup which encoding to use when you declare the JAXB data
 format. You can also provide the encoding in the
 Exchange property `Exchange.CHARSET_NAME`. This
@@ -237,7 +244,7 @@ In this Spring DSL we have defined to use `iso-8859-1` as the encoding:
 
 *Available as of Camel 2.11*
 
-When marshalling using <<jaxb-dataformat,JAXB>> or <<jaxb-dataformat,SOAP>> then
+When marshalling using xref:jaxb-dataformat.adoc[JAXB] or xref:soapjaxb-dataformat.adoc[SOAP] then
 the JAXB implementation will automatic assign namespace prefixes, such
 as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to refer
 to a map which contains the desired mapping.
@@ -259,7 +266,7 @@ namespace "http://www.mycompany.com/foo/2" is not using any prefix.
   </util:map>
 -----------------------------------------------------------------------
 
-To use this in <<jaxb-dataformat,JAXB>> or <<jaxb-dataformat,SOAP>> you refer to
+To use this in xref:jaxb-dataformat.adoc[JAXB] or xref:soapjaxb-dataformat.adoc[SOAP] you refer to
 this map, using the `namespacePrefixRef` attribute as shown below. Then
 Camel will lookup in the Registry a `java.util.Map`
 with the id "myMap", which was what we defined above.
@@ -308,7 +315,8 @@ You can do the same using the XML DSL:
 
 Camel will create and pool the underling `SchemaFactory` instances on
 the fly, because the `SchemaFactory` shipped with the JDK is not thread
-safe. +
+safe.
+
  However, if you have a `SchemaFactory` implementation which is thread
 safe, you can configure the JAXB data format to use this one:
 
@@ -372,4 +380,4 @@ the download page for the latest versions).
   <artifactId>camel-jaxb</artifactId>
   <version>x.x.x</version>
 </dependency>
--------------------------------------
+-------------------------------------
\ No newline at end of file
diff --git a/components/camel-jbpm/src/main/docs/jbpm-component.adoc b/components/camel-jbpm/src/main/docs/jbpm-component.adoc
index 4abcfd5..2d6e2a1 100644
--- a/components/camel-jbpm/src/main/docs/jbpm-component.adoc
+++ b/components/camel-jbpm/src/main/docs/jbpm-component.adoc
@@ -36,7 +36,7 @@ jBPM Consumer allows to attach routes to
 jbpm::events:type:[classifier][?options]
 ---------------------------------------------
 
-==== Path Parameters (3 parameters):
+=== Path Parameters (3 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -300,5 +300,4 @@ from("direct:start")
         .setHeader((JBPMConstants.PARAMETERS, params))
         .to("jbpm:http://localhost:8080/kie-server/services/rest/server?userName=wbadmin&password=wbadmin
         &deploymentId=evaluation");
-----------------------------------------------------------------------------------------------
-
+----------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jcache/src/main/docs/jcache-component.adoc b/components/camel-jcache/src/main/docs/jcache-component.adoc
index 28a4370..e977a7d 100644
--- a/components/camel-jcache/src/main/docs/jcache-component.adoc
+++ b/components/camel-jcache/src/main/docs/jcache-component.adoc
@@ -118,4 +118,4 @@ The JCache component supports 5 options, which are listed below.
 | *configurationUri* (common) | An implementation specific URI for the CacheManager |  | String
 | *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 |===
-// component options: END
+// component options: END
\ No newline at end of file
diff --git a/components/camel-jclouds/src/main/docs/jclouds-component.adoc b/components/camel-jclouds/src/main/docs/jclouds-component.adoc
index 4d057a8..0cf401b 100644
--- a/components/camel-jclouds/src/main/docs/jclouds-component.adoc
+++ b/components/camel-jclouds/src/main/docs/jclouds-component.adoc
@@ -6,13 +6,15 @@
 
 This component allows interaction with cloud provider key-value engines
 (blobstores) and compute services. The component uses
-http://code.google.com/p/jclouds[jclouds] which is +
+http://code.google.com/p/jclouds[jclouds] which is
+
  a library that provides abstractions for blobstores and compute
 services.
 
 *ComputeService* simplifies the task of managing machines in the cloud.
 For example, you can use ComputeService to start 5 machines and install
-your software on them. +
+your software on them.
+
  *BlobStore* simplifies dealing with key-value providers such as Amazon
 S3. For example, BlobStore can give you a simple Map view of a
 container.
@@ -203,9 +205,12 @@ using the jclouds component.
 [source,java]
 ------------------------------------
 from("direct:start")
-    .to("jclouds:blobstore:aws-s3" +
-        "?operation=PUT" +
-        "&container=mycontainer" +
+    .to("jclouds:blobstore:aws-s3"
+
+        "?operation=PUT"
+
+        "&container=mycontainer"
+
         "&blobName=myblob");
 ------------------------------------
 
@@ -230,9 +235,12 @@ the jclouds component.
 [source,java]
 ------------------------------------
 from("direct:start")
-    .to("jclouds:blobstore:aws-s3" +
-        "?operation=GET" +
-        "&container=mycontainer" +
+    .to("jclouds:blobstore:aws-s3"
+
+        "?operation=GET"
+
+        "&container=mycontainer"
+
         "&blobName=myblob");
 ------------------------------------
 
@@ -257,7 +265,8 @@ as body.
 
 [source,java]
 -------------------------------------
-    from("jclouds:blobstore:aws-s3" +
+    from("jclouds:blobstore:aws-s3"
+
         "?container=mycontainer")
         .to("direct:next");
 -------------------------------------
@@ -288,7 +297,8 @@ producer in java dsl and spring/blueprint xml.
 
 [source,java]
 --------------------------------------------
-    from("jclouds:compute:aws-ec2" +
+    from("jclouds:compute:aws-ec2"
+
         "&operation=CamelJCloudsListImages")
         .to("direct:next");
 --------------------------------------------
@@ -309,10 +319,14 @@ its body. You can also do the same using xml.
 [source,java]
 ---------------------------------------------
     from("direct:start").
-    to("jclouds:compute:aws-ec2" +
-        "?operation=CamelJcloudsCreateNode" +
-        "&imageId=AMI_XXXXX" +
-        "&locationId=XXXXX" +
+    to("jclouds:compute:aws-ec2"
+
+        "?operation=CamelJcloudsCreateNode"
+
+        "&imageId=AMI_XXXXX"
+
+        "&locationId=XXXXX"
+
         "&group=myGroup");
 ---------------------------------------------
 
@@ -334,9 +348,12 @@ spring xml.
 [source,java]
 --------------------------------------------
     from("direct:start").
-    to("jclouds:compute:aws-ec2" +
-        "?operation=CamelJcloudsRunScript" +
-        "?nodeId=10" +
+    to("jclouds:compute:aws-ec2"
+
+        "?operation=CamelJcloudsRunScript"
+
+        "?nodeId=10"
+
         "&user=ubuntu");
 --------------------------------------------
 
@@ -361,14 +378,3 @@ Here is the same using spring xml.
     <to uri="jclouds:compute:aws-ec2?operation=CamelJcloudsListNodes&?nodeId=10&user=ubuntu"/>
 </route>
 ----------------------------------------------------------------------------------------------
-
-=== See also
-
-If you want to find out more about jclouds here is list of interesting
-resources 
-
-http://jclouds.incubator.apache.org/documentation/userguide/blobstore-guide/[Jclouds
-Blobstore wiki] 
-
-http://jclouds.incubator.apache.org/documentation/userguide/compute/[Jclouds
-Compute wiki]
\ No newline at end of file
diff --git a/components/camel-jcr/src/main/docs/jcr-component.adoc b/components/camel-jcr/src/main/docs/jcr-component.adoc
index 2d848b7..faa8cdb 100644
--- a/components/camel-jcr/src/main/docs/jcr-component.adoc
+++ b/components/camel-jcr/src/main/docs/jcr-component.adoc
@@ -155,5 +155,4 @@ all the children.
     <from uri="jcr://user:pass@repository/import-application/inbox?eventTypes=3&deep=true" />
     <to uri="direct:execute-import-application" />
 </route>
----------------------------------------------------------------------------------------------
-
+---------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jdbc/src/main/docs/jdbc-component.adoc b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
index e3f5ce1..46e7cff 100644
--- a/components/camel-jdbc/src/main/docs/jdbc-component.adoc
+++ b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
@@ -169,7 +169,8 @@ type.
 
 If you insert data using SQL INSERT, then the RDBMS may support auto
 generated keys. You can instruct the xref:jdbc-component.adoc[JDBC] producer to
-return the generated keys in headers. +
+return the generated keys in headers.
+
  To do that set the header `CamelRetrieveGeneratedKeys=true`. Then the
 generated keys will be provided as headers with the keys listed in the
 table above.
@@ -186,7 +187,8 @@ Using generated keys does not work with together with named parameters.
 
 In the given route below, we want to get all the projects from the
 projects table. Notice the SQL query has 2 named parameters, :?lic and
-:?min. +
+:?min.
+
  Camel will then lookup these parameters from the message headers.
 Notice in the example above we set two headers with constant value
  for the named parameters:
@@ -266,4 +268,4 @@ from("timer://MoveNewCustomersEveryHour?period=3600000")
         .process(new MyCustomerProcessor()) //filter/transform results as needed
         .setBody(simple("insert into processed_customer values('${body[ID]}','${body[NAME]}')"))
         .to("jdbc:testdb");
-----
+----
\ No newline at end of file
diff --git a/components/camel-jetty9/src/main/docs/jetty-component.adoc b/components/camel-jetty9/src/main/docs/jetty-component.adoc
index c34437e..bb3c4f4 100644
--- a/components/camel-jetty9/src/main/docs/jetty-component.adoc
+++ b/components/camel-jetty9/src/main/docs/jetty-component.adoc
@@ -8,7 +8,8 @@ WARNING: The producer is deprecated - do not use. We only recommend using jetty
 
 The *jetty* component provides HTTP-based endpoints
 for consuming and producing HTTP requests. That is, the Jetty component
-behaves as a simple Web server. +
+behaves as a simple Web server.
+
  Jetty can also be used as a http client which mean you can also use it
 with Camel as a producer.
 
@@ -17,7 +18,8 @@ with Camel as a producer.
 The `assert` call appears in this example, because the code is part of
 an unit test.Jetty is stream based, which means the input it receives is
 submitted to Camel as a stream. That means you will only be able to read
-the content of the stream *once*. +
+the content of the stream *once*.
+
 If you find a situation where the message body appears to be empty or
 you need to access the Exchange.HTTP_RESPONSE_CODE data multiple times
 (e.g.: doing multicasting, or redelivery error handling), you should use
@@ -37,7 +39,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source,text]
 ----
@@ -47,7 +49,7 @@ jetty:http://hostname[:port][/resourceUri][?options]
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-=== Options
+== Options
 
 
 
@@ -251,7 +253,7 @@ The component supports 34 options, which are listed below.
 
 === Message Headers
 
-Camel uses the same message headers as the <<http-component,HTTP>>
+Camel uses the same message headers as the xref:http-component.adoc[HTTP]
 component. 
 From Camel 2.2, it also uses (Exchange.HTTP_CHUNKED,CamelHttpChunked)
 header to turn on or turn off the chuched encoding on the camel-jetty
@@ -269,7 +271,7 @@ message header not only from Get Method, but also other HTTP method.
 
 The Jetty component supports both consumer and producer endpoints.
 Another option for producing to other HTTP endpoints, is to use the
-<<http-component,HTTP Component>>
+xref:http-component.adoc[HTTP]
 
 === Producer Example
 
@@ -313,16 +315,17 @@ If you need to expose a Jetty endpoint on all network interfaces, the
 `0.0.0.0` address should be used.
 
 To listen across an entire URI prefix, see
-link:how-do-i-let-jetty-match-wildcards.html[How do I let Jetty match
+xref:latest@manual::faq/how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match
 wildcards].
 
 If you actually want to expose routes by HTTP and already have a
 Servlet, you should instead refer to the
-https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=46339[Servlet
+xref:servlet-component.adoc[Servlet
 Transport].
 
 Our business logic is implemented in the `MyBookService` class, which
-accesses the HTTP request contents and then returns a response. +
+accesses the HTTP request contents and then returns a response.
+
  *Note:* The `assert` call appears in this example, because the code is
 part of an unit test.
 
@@ -335,8 +338,8 @@ Jetty component will copy the HTTP request parameter, `one` to the
 exchange's `in.header`. We can then use the `simple` language to route
 exchanges that contain this header to a specific endpoint and all others
 to another. If we used a language more powerful than
-<<simple-language,Simple>> (such as <<el-language,EL>> or
-<<ognl-language,OGNL>>) we could also test for the parameter value and do
+xref:latest@manual::simple-language.adoc[Simple] (such as xref:el-language.adoc[EL] or
+xref:ognl-language.adoc[OGNL]) we could also test for the parameter value and do
 routing based on the header value as well.
 
 === Session Support
@@ -378,7 +381,7 @@ public void process(Exchange exchange) throws Exception {
 Using the JSSE Configuration Utility
 
 As of Camel 2.8, the Jetty component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
 Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
 endpoint and component levels.  The following examples demonstrate how
@@ -638,7 +641,8 @@ The default behavior of HTTP status codes is defined by the
 handles how a response is written and also sets the HTTP status code.
 
 If the exchange was processed successfully, the 200 HTTP status code is
-returned. +
+returned.
+
  If the exchange failed with an exception, the 500 HTTP status code is
 returned, and the stacktrace is returned in the body. If you want to
 specify which HTTP status code to return, set the code in the
@@ -746,8 +750,9 @@ comma-separated list of bean IDs.
 === How to return a custom HTTP 500 reply message
 
 You may want to return a custom reply message when something goes wrong,
-instead of the default reply message Camel <<jetty-component,Jetty>>
-replies with. +
+instead of the default reply message Camel xref:jetty-component.adoc[Jetty]
+replies with.
+
  You could use a custom `HttpBinding` to be in control of the message
 mapping, but often it may be easier to use Camel's
 Exception Clause to construct the custom
diff --git a/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc b/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
index 9a42e17..48404f7 100644
--- a/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
+++ b/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
@@ -193,7 +193,7 @@ from("jgroups-raft:clusterName?enableRoleChangeEvents=true").to(mock:mockEndpoin
 The snippet below demonstrates how to keep the singleton consumer route
 in the cluster of Camel Contexts. As soon as the master node dies, one
 of the slaves will be elected as a new master and started. In this
-particular example we want to keep singleton <<jetty-component,jetty>>
+particular example we want to keep singleton xref:jetty-component.adoc[Jetty]
 instance listening for the requests on
 address` http://localhost:8080/orders`.
 
@@ -207,4 +207,4 @@ service.setJgroupsClusterName("clusterName");
 context.addService(service);
 
 from("master:mycluster:jetty:http://localhost:8080/orders").to("jms:orders"); 
------------------------------------------------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jgroups/src/main/docs/jgroups-component.adoc b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
index bd493c6..6fb72aa 100644
--- a/components/camel-jgroups/src/main/docs/jgroups-component.adoc
+++ b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
@@ -293,4 +293,4 @@ service.setId("uniqueNodeId");
 context.addService(service);
 
 from("master:mycluster:jetty:http://localhost:8080/orders").to("jms:orders"); 
------------------------------------------------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jibx/src/main/docs/jibx-dataformat.adoc b/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
index 6c65051..b63184b 100644
--- a/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
+++ b/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
@@ -121,4 +121,4 @@ the download page for the latest versions).
   <artifactId>camel-jibx</artifactId>
   <version>2.6.0</version>
 </dependency>
--------------------------------------
+-------------------------------------
\ No newline at end of file
diff --git a/components/camel-jing/src/main/docs/jing-component.adoc b/components/camel-jing/src/main/docs/jing-component.adoc
index 57fc037..7cc2bda 100644
--- a/components/camel-jing/src/main/docs/jing-component.adoc
+++ b/components/camel-jing/src/main/docs/jing-component.adoc
@@ -25,10 +25,10 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-Note that the <<msv-component,MSV>> component can also support RelaxNG XML
+Note that the xref:msv-component.adoc[MSV] component can also support RelaxNG XML
 syntax.
 
-== URI format Camel 2.16
+== URI format
 
 [source,java]
 ------------------------------
@@ -116,5 +116,4 @@ shows how to configure a route from the endpoint *direct:start* which
 then goes to one of two endpoints, either *mock:valid* or *mock:invalid*
 based on whether or not the XML matches the given
 http://relaxng.org/compact-tutorial-20030326.html[RelaxNG Compact
-Syntax] schema (which is supplied on the classpath).
-
+Syntax] schema (which is supplied on the classpath).
\ No newline at end of file
diff --git a/components/camel-jira/src/main/docs/jira-component.adoc b/components/camel-jira/src/main/docs/jira-component.adoc
index 0ffde7f..195c036 100644
--- a/components/camel-jira/src/main/docs/jira-component.adoc
+++ b/components/camel-jira/src/main/docs/jira-component.adoc
@@ -148,4 +148,4 @@ delay, etc.  Example:
 [source,text]
 ----------------------------------------------------------------------------------------------------------------------------------------------
 jira://[endpoint]?[required options]&jql=RAW(project=[project key] AND status in (Open, \"Coding In Progress\") AND \"Number of comments\">0)"
-----------------------------------------------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jms/src/main/docs/jms-component.adoc b/components/camel-jms/src/main/docs/jms-component.adoc
index 59bce36..6c3264f 100644
--- a/components/camel-jms/src/main/docs/jms-component.adoc
+++ b/components/camel-jms/src/main/docs/jms-component.adoc
@@ -1,10 +1,8 @@
 [[jms-component]]
 = JMS Component
 ifdef::env-github[]
-*Available as of Camel version 1.0.0*
 *Available as of Camel version 1.0*
 
-
 :caution-caption: :boom:
 :important-caption: :exclamation:
 :note-caption: :information_source:
@@ -88,7 +86,8 @@ jms:queue:FOO.BAR
 -----------------
 
 To connect to a topic, you _must_ include the `topic:` prefix. For
-example, to +
+example, to
+
  connect to the topic, `Stocks.Prices`, use:
 
 -----------------------
@@ -857,9 +856,11 @@ For the `exchange.in.header` the following rules apply for the header
 * `exchange.in.headers` keys must be literals and all be valid Java
 identifiers (do not use dots in the key name).
 * Camel replaces dots & hyphens and the reverse when when consuming JMS
-messages: +
+messages:
+
  `.` is replaced by `_DOT_` and the reverse replacement when Camel
-consumes the message. +
+consumes the message.
+
  `-` is replaced by `_HYPHEN_` and the reverse replacement when Camel
 consumes the message.
 * See also the option `jmsKeyFormatStrategy`, which allows use of your
@@ -991,7 +992,8 @@ So pay attention to the message exchange pattern set on your exchanges.
 
 If you send a message to a JMS destination in the middle of your route
 you can specify the exchange pattern to use, see more at
-Request Reply. +
+Request Reply.
+
  This is useful if you want to send an `InOnly` message to a JMS topic:
 
 [source,java]
@@ -1203,9 +1205,11 @@ queue, but you can use the `replyTo` option on the endpoint to specify a
 fixed reply queue (see more below about fixed reply queue).
 
 Camel will automatic setup a consumer which listen on the reply queue,
-so you should *not* do anything. +
+so you should *not* do anything.
+
  This consumer is a Spring `DefaultMessageListenerContainer` which
-listen for replies. However it's fixed to 1 concurrent consumer. +
+listen for replies. However it's fixed to 1 concurrent consumer.
+
  That means replies will be processed in sequence as there are only 1
 thread to process the replies. You can configure the listener to use
 concurrent threads using the `concurrentConsumers` and
@@ -1254,7 +1258,8 @@ from(xxx)
 ----------------------------------------------------------------
 
 Notice this will cause the Camel to send pull requests to the message
-broker more frequent, and thus require more network traffic. +
+broker more frequent, and thus require more network traffic.
+
  It is generally recommended to use temporary queues if possible.
 
 === Request-reply over JMS and using an exclusive fixed reply queue
@@ -1271,7 +1276,8 @@ in theory the reply messages could take up till about 1 sec to be
 detected. On the other hand if the fixed reply queue is exclusive to the
 Camel reply consumer, then we can avoid using the JMS selectors, and
 thus be more performant. In fact as fast as using temporary queues. There is
-the `ReplyToType` option which you can configure to `Exclusive` +
+the `ReplyToType` option which you can configure to `Exclusive`
+
  to tell Camel that the reply queue is exclusive as shown in the example
 below:
 
@@ -1537,4 +1543,4 @@ wmq.setDestinationResolver(new DestinationResolver() {
         return wmqSession.createQueue("queue:///" + destinationName + "?targetClient=1");
     }
 });
-----------------------------------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jmx/src/main/docs/jmx-component.adoc b/components/camel-jmx/src/main/docs/jmx-component.adoc
index adacc1d..3943ed8 100644
--- a/components/camel-jmx/src/main/docs/jmx-component.adoc
+++ b/components/camel-jmx/src/main/docs/jmx-component.adoc
@@ -1,10 +1,8 @@
 [[jmx-component]]
 = JMX Component
 ifdef::env-github[]
-*Available as of Camel version 2.6.0*
 *Available as of Camel version 2.6*
 
-
 :caution-caption: :boom:
 :important-caption: :exclamation:
 :note-caption: :information_source:
@@ -12,17 +10,17 @@ ifdef::env-github[]
 :warning-caption: :warning:
 endif::[]
 
-=== Camel JMX
+== Camel JMX
 
 Apache Camel has extensive support for JMX to allow you to monitor and
 control the Camel managed objects with a JMX client.
 
-Camel also provides a <<jmx-component,JMX>> component that allows you to
+Camel also provides a xref:jmx-component.adoc[JMX] component that allows you to
 subscribe to MBean notifications. This page is about how to manage and
 monitor Camel using JMX.
 
 
-=== Options
+== Options
 
 // component options: START
 The JMX component has no options.
@@ -445,7 +443,8 @@ in Camel 1.5)
 </camel:camelContext>
 ----
 
-. Alter your JBoss instance to use the Platform `MBeanServer`. +
+. Alter your JBoss instance to use the Platform `MBeanServer`.
+
 Add the following property to your `JAVA_OPTS` by editing `run.sh` or
 `run.conf` `-Djboss.platform.mbeanserver`. See
 http://wiki.jboss.org/wiki/JBossMBeansInJConsole
@@ -707,7 +706,8 @@ image:jconsole_trace_notifications.png[image]
 
 ==== Registering your own Managed Endpoints
 
-*Available as of Camel 2.0* +
+*Available as of Camel 2.0*
+
 You can decorate your own endpoints with Spring managed annotations
 `@ManagedResource` to allow to register them in the Camel `MBeanServer`
 and thus access your custom MBeans using JMX.
@@ -1087,5 +1087,4 @@ declared that the `EndpointUri` JMX attribute is masked:
 ----
 @ManagedAttribute(description = "Endpoint URI", mask = true)
 String getEndpointUri();
-----
-
+----
\ No newline at end of file
diff --git a/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc b/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
index 63fdc71..7393272 100644
--- a/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
+++ b/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
@@ -111,4 +111,4 @@ the download page for the latest versions).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jolt/src/main/docs/jolt-component.adoc b/components/camel-jolt/src/main/docs/jolt-component.adoc
index e5b43b7..4882ca3 100644
--- a/components/camel-jolt/src/main/docs/jolt-component.adoc
+++ b/components/camel-jolt/src/main/docs/jolt-component.adoc
@@ -32,7 +32,7 @@ jolt:specName[?options]
 
 Where *specName* is the classpath-local URI of the specification to
 invoke; or the complete URL of the remote specification
-(eg: file://folder/myfile.vm[file://folder/myfile.json]).
+(eg: `\file://folder/myfile.vm`).
 
 You can append query options to the URI in the following
 format, `?option=value&option=value&...`
@@ -154,4 +154,3 @@ from("direct:in").
 ---------------------------------------------------------------------
 
  
-
diff --git a/components/camel-josql/src/main/docs/sql-language.adoc b/components/camel-josql/src/main/docs/sql-language.adoc
index 91b9c72..b11dcc1 100644
--- a/components/camel-josql/src/main/docs/sql-language.adoc
+++ b/components/camel-josql/src/main/docs/sql-language.adoc
@@ -7,13 +7,13 @@
 The SQL support is added by http://josql.sourceforge.net/[JoSQL] and is
 primarily used for performing SQL queries on in-memory objects. If you
 prefer to perform actual database queries then check out the
-<<jpa-component,JPA>> component.
+xref:jpa-component.adoc[JPA] component.
 
 *Looking for the SQL component*
 
-Camel has both a <<sql-component,SQL>> language and a
-<<sql-component,SQL Component>>. This page is about the SQL
-language. Click on <<sql-component,SQL Component>> if you are
+Camel has both a xref:sql-component.adoc[SQL] language and a
+xref:sql-component.adoc[SQL Component]. This page is about the SQL
+language. Click on xref:sql-component.adoc[SQL Component] if you are
 looking for the component instead.
 
 To use SQL in your camel routes you need to add the a dependency on
@@ -35,9 +35,9 @@ the download page for the latest versions).
 
 Camel supports http://en.wikipedia.org/wiki/SQL[SQL] to allow an
 Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
+used in the DSL or xref:latest@manual::xml-configuration.adoc[Xml
 Configuration]. For example you could use SQL to create an
-Predicate in a link:message-filter.html[Message
+Predicate in a xref:latest@manual::filter-eip.adoc[Message
 Filter] or as an Expression for a
 Recipient List.
 
@@ -104,11 +104,12 @@ The component supports 2 options, which are listed below.
 *Available as of Camel 2.11*
 
 You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
+such as `"classpath:"`, `"file:"`, or `"http:"`.
+
  This is done using the following syntax: `"resource:scheme:location"`,
 eg to refer to a file on the classpath you can do:
 
 [source,java]
 ----------------------------------------------------------
 .setHeader("myHeader").sql("resource:classpath:mysql.sql")
-----------------------------------------------------------
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jpa/src/main/docs/jpa-component.adoc b/components/camel-jpa/src/main/docs/jpa-component.adoc
index e06c10d..407e49b 100644
--- a/components/camel-jpa/src/main/docs/jpa-component.adoc
+++ b/components/camel-jpa/src/main/docs/jpa-component.adoc
@@ -82,7 +82,7 @@ jpa:entityClassName[?options]
 -----------------------------
 
 For sending to the endpoint, the _entityClassName_ is optional. If
-specified, it helps the link:http://camel.apache.org/type-converter.html[Type Converter] to
+specified, it helps the xref:latest@manual::type-converter.adoc[Type Converter] to
 ensure the body is of the correct type.
 
 For consuming, the _entityClassName_ is mandatory.
@@ -398,12 +398,12 @@ the message body.
 
 == Example
 
-See link:http://camel.apache.org/tracer-example.html[Tracer Example] for an example using
-<<jpa-component,JPA>> to store traced messages into a database.
+See https://github.com/apache/camel/tree/camel-2.x/examples/camel-example-tracer[Tracer Example] for an example using
+xref:jpa-component.adoc[JPA] to store traced messages into a database.
 
 == Using the JPA-Based Idempotent Repository
 
-The Idempotent Consumer from the http://camel.apache.org/enterprise-integration-patterns.html[EIP patterns] is used to filter out duplicate messages. A JPA-based idempotent repository is provided.
+The Idempotent Consumer from the xref:latest@manual::enterprise-integration-patterns.adoc[EIP patterns] is used to filter out duplicate messages. A JPA-based idempotent repository is provided.
 
 To use the JPA based idempotent repository.
 
@@ -472,6 +472,3 @@ argument to the JVM:
  
 -javaagent:<path_to_your_local_m2_cache>/org/apache/openjpa/openjpa/2.2.1/openjpa-2.2.1.jar
 -------------------------------------------------------------------------------------------
-
-
-
diff --git a/components/camel-jsch/src/main/docs/scp-component.adoc b/components/camel-jsch/src/main/docs/scp-component.adoc
index 4c10452..1ed9b0d 100644
--- a/components/camel-jsch/src/main/docs/scp-component.adoc
+++ b/components/camel-jsch/src/main/docs/scp-component.adoc
@@ -7,7 +7,7 @@
 The *camel-jsch* component supports the
 http://en.wikipedia.org/wiki/Secure_copy[SCP protocol] using the Client
 API of the http://www.jcraft.com/jsch/[Jsch] project. Jsch is already
-used in camel by the <<ftp-component,FTP>> component for the *sftp:*
+used in camel by the xref:ftp-component.adoc[FTP component] component for the *sftp:*
 protocol.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -151,5 +151,4 @@ The component supports 3 options, which are listed below.
 
 Currently camel-jsch only supports a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Producer.html[Producer]
-(i.e. copy files to another host). 
-
+(i.e. copy files to another host). 
\ No newline at end of file
diff --git a/components/camel-json-validator/src/main/docs/json-validator-component.adoc b/components/camel-json-validator/src/main/docs/json-validator-component.adoc
index 55f1ad3..5c43bad 100644
--- a/components/camel-json-validator/src/main/docs/json-validator-component.adoc
+++ b/components/camel-json-validator/src/main/docs/json-validator-component.adoc
@@ -22,7 +22,7 @@ for this component:
 ----
 
 
-=== URI format
+== URI format
 
 [source]
 ----
@@ -34,7 +34,7 @@ Where *resourceUri* is some URL to a local resource on the classpath or a
 full URL to a remote resource or resource on the file system which contains 
 the JSON Schema to validate against.
  
-=== URI Options
+== URI Options
 
 // component options: START
 The JSON Schema Validator component has no options.
@@ -106,7 +106,7 @@ The component supports 2 options, which are listed below.
 
 
 
-=== Example
+== Example
 
 Assumed we have the following JSON Schema
 
diff --git a/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc b/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
index cca70f4..dd3f8b7 100644
--- a/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
+++ b/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
@@ -20,7 +20,7 @@ from("queue:books.new")
       .to("jms:queue:book.expensive")
 -----------------------------------------------------
 
-=== JSonPath Options
+== JSonPath Options
 
 
 // language options: START
@@ -76,10 +76,10 @@ The component supports 7 options, which are listed below.
 
 
 
-=== Using XML configuration
+== Using XML configuration
 
 If you prefer to configure your routes in your Spring
-XML file then you can use <<jsonpath-language,JSonPath>> expressions as
+XML file then you can use xref:jsonpath-language.adoc[JSonPath] expressions as
 follows
 
 [source,xml]
@@ -104,12 +104,12 @@ follows
 </camelContext>
 ----
 
-=== Syntax
+== Syntax
 
 See the https://code.google.com/p/json-path/[JSonPath] project page for
 further examples.
 
-=== Easy Syntax
+== Easy Syntax
 
 *Available as of Camel 2.19*
 
@@ -147,7 +147,7 @@ You can use Camel simple language in the right operator, eg
 store.book.price < ${header.limit}
 ----
 
-=== Supported message body types
+== Supported message body types
 
 Camel JSonPath supports message body using the following types:
 
@@ -168,7 +168,7 @@ If a message body is of unsupported type then an exception is thrown by default,
 can configure JSonPath to suppress exceptions (see below)
 
 
-=== Suppress exceptions
+== Suppress exceptions
 
 *Available as of Camel 2.16*
 
@@ -209,11 +209,11 @@ And in XML DSL:
 
 This option is also available on the `@JsonPath` annotation.
 
-=== Inline Simple exceptions
+== Inline Simple exceptions
 
 *Available as of Camel 2.18*
 
-Its now possible to inlined Simple language expressions in the JSonPath expression using the simple syntax \${xxx}.
+Its now possible to inlined Simple language expressions in the JSonPath expression using the simple syntax $\{xxx\}.
 An example is shown below:
 
 [source,java]
@@ -264,7 +264,7 @@ And in XML DSL:
 <jsonpath allowSimple="false">$.store.book[?(@.price < 10)]</jsonpath>
 ----
 
-=== JSonPath injection
+== JSonPath injection
 
 You can use Bean Integration to invoke a
 method on a bean and use various languages such as JSonPath to extract a
@@ -283,7 +283,7 @@ public class Foo {
 }
 ----
 
-=== Encoding Detection
+== Encoding Detection
 
 *Since Camel version 2.16*, the encoding of the JSON document is
 detected automatically, if the document is encoded in unicode  (UTF-8,
@@ -293,7 +293,7 @@ you enter the document in String format to the JSONPath component or you
 can specify the encoding in the header "*CamelJsonPathJsonEncoding*"
 (JsonpathConstants.HEADER_JSON_ENCODING).
 
-=== Split JSon data into sub rows as JSon
+== Split JSon data into sub rows as JSon
 
 You can use jsonpath to split a JSon document, such as:
 
@@ -319,7 +319,7 @@ Then each book is logged as a String JSon value. For earlier versions of Camel y
 would need to use camel-jackson dataformat and marshal the message body to make it
 convert the message body from `Map` to a `String` type.
 
-=== Using header as input
+== Using header as input
 *Available as of Camel 2.20*
 
 By default jsonpath uses the message body as the input source. However you can also use a header as input
@@ -352,7 +352,7 @@ The same example in XML DSL would be:
 </route>
 ----
 
-=== Dependencies
+== Dependencies
 
 To use JSonPath in your camel routes you need to add the a dependency on
 *camel-jsonpath* which implements the JSonPath language.
diff --git a/components/camel-jt400/src/main/docs/jt400-component.adoc b/components/camel-jt400/src/main/docs/jt400-component.adoc
index 3516c3d..872a8ec 100644
--- a/components/camel-jt400/src/main/docs/jt400-component.adoc
+++ b/components/camel-jt400/src/main/docs/jt400-component.adoc
@@ -177,7 +177,8 @@ beginning of the invocation). This endpoint does not implement a provider endpoi
 
 In the snippet below, the data for an exchange sent to the
 `direct:george` endpoint will be put in the data queue `PENNYLANE` in
-library `BEATLES` on a system named `LIVERPOOL`.  +
+library `BEATLES` on a system named `LIVERPOOL`. 
+
  Another user connects to the same data queue to receive the information
 from the data queue and forward it to the `mock:ringo` endpoint.
 
@@ -192,7 +193,7 @@ public class Jt400RouteBuilder extends RouteBuilder {
 }
 -------------------------------------------------------------------------------------------------------
 
-=== Remote program call example (*Camel 2.7*)
+=== Remote program call example
 
 In the snippet below, the data Exchange sent to the direct:work endpoint
 will contain three string that will be used as the arguments for the
@@ -224,5 +225,4 @@ from("jms:queue:input")
 -------------------------------------------------------------------------------------------------------
 from("jt400://username:password@system/lib.lib/MSGOUTDQ.DTAQ?keyed=true&searchKey=MYKEY&searchType=GE")
 .to("jms:queue:output");
--------------------------------------------------------------------------------------------------------
-
+-------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-juel/src/main/docs/el-language.adoc b/components/camel-juel/src/main/docs/el-language.adoc
index 4e893c2..b628681 100644
--- a/components/camel-juel/src/main/docs/el-language.adoc
+++ b/components/camel-juel/src/main/docs/el-language.adoc
@@ -1,20 +1,18 @@
 [[el-language]]
 = EL Language (deprecated)
-[[EL-EL]]
-*Available as of Camel version 1.1.0*
-*Available as of Camel version 1.1*
 
+*Available as of Camel version 1.1*
 
-EL
+== EL
 ~~
 
 Camel supports the unified JSP and JSF Expression Language via the
 http://juel.sourceforge.net/[JUEL] to allow an
 Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
+used in the DSL or xref:latest@manual::xml-configuration.adoc[Xml
 Configuration].
 
-For example you could use EL inside a link:message-filter.html[Message
+For example you could use EL inside a xref:latest@manual::filter-eip.adoc[Message
 Filter] in XML
 
 [source,xml]
diff --git a/components/camel-jxpath/src/main/docs/jxpath-language.adoc b/components/camel-jxpath/src/main/docs/jxpath-language.adoc
index 2916b8a..390805d 100644
--- a/components/camel-jxpath/src/main/docs/jxpath-language.adoc
+++ b/components/camel-jxpath/src/main/docs/jxpath-language.adoc
@@ -5,11 +5,11 @@
 
 
 Camel supports http://commons.apache.org/jxpath/[JXPath] to allow
-<<xpath-language,XPath>> expressions to be used on beans in an
+XPath expressions to be used on beans in an
 Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
+used in the DSL or xref:latest@manual::xml-configuration.adoc[Xml
 Configuration]. For example you could use JXPath to create an
-Predicate in a link:message-filter.html[Message
+Predicate in a xref:latest@manual::filter-eip.adoc[Message
 Filter] or as an Expression for a
 Recipient List.
 
@@ -153,7 +153,8 @@ public class Foo {
 *Available as of Camel 2.11*
 
 You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
+such as `"classpath:"`, `"file:"`, or `"http:"`.
+
  This is done using the following syntax: `"resource:scheme:location"`,
 eg to refer to a file on the classpath you can do:
 
diff --git a/components/camel-kafka/src/main/docs/kafka-component.adoc b/components/camel-kafka/src/main/docs/kafka-component.adoc
index d2b52e7..0d4452b 100644
--- a/components/camel-kafka/src/main/docs/kafka-component.adoc
+++ b/components/camel-kafka/src/main/docs/kafka-component.adoc
@@ -21,7 +21,7 @@ for this component.
 ------------------------------------------------------------
 
 
-=== URI format
+== URI format
 
 [source,java]
 ---------------------------
@@ -30,7 +30,7 @@ kafka:topic[?options]
 ---------------------------
 
 
-=== Options
+== Options
 
 
 // component options: START
@@ -303,9 +303,9 @@ For more information about Producer/Consumer configuration:
 http://kafka.apache.org/documentation.html#newconsumerconfigs[http://kafka.apache.org/documentation.html#newconsumerconfigs]
 http://kafka.apache.org/documentation.html#producerconfigs[http://kafka.apache.org/documentation.html#producerconfigs]
 
-=== Message headers
+== Message headers
 
-==== Consumer headers
+=== Consumer headers
 
 The following headers are available when consuming messages from Kafka.
 [width="100%",cols="2m,2m,1m,5",options="header"]
@@ -320,7 +320,7 @@ The following headers are available when consuming messages from Kafka.
 | KafkaConstants.MANUAL_COMMIT             | "CamelKafkaManualCommit"          | KafkaManualCommit | Can be used for forcing manual offset commit when using Kafka consumer. |
 |===
 
-==== Producer headers
+=== Producer headers
 
 Before sending a message to Kafka you can configure the following headers.
 [width="100%",cols="2m,2m,1m,5",options="header"]
@@ -339,9 +339,9 @@ After the message is sent to Kafka, the following headers are available
 |===
 
 
-=== Samples
+== Samples
 
-==== Consuming messages from Kafka
+=== Consuming messages from Kafka
 
 Here is the minimal route you need in order to read messages from Kafka.
 
@@ -386,11 +386,14 @@ DefaultCamelContext camelContext = new DefaultCamelContext(registry);
 camelContext.addRoutes(new RouteBuilder() {
     @Override
     public void configure() throws Exception {
-        from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}" +
+        from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}"
+
                      // Setup the topic and broker address
-                     "&groupId=A" +
+                     "&groupId=A"
+
                      // The consumer processor group ID
-                     "&autoOffsetReset=earliest" +
+                     "&autoOffsetReset=earliest"
+
                      // Ask to start from the beginning if we have unknown offset
                      "&offsetRepository=#offsetRepo")
                      // Keep the offsets in the previously configured repository
@@ -400,7 +403,7 @@ camelContext.addRoutes(new RouteBuilder() {
 ----
  
 
-==== Producing messages to Kafka
+=== Producing messages to Kafka
 
 Here is the minimal route you need in order to write messages to Kafka.
 
@@ -412,7 +415,7 @@ from("direct:start")
     .to("kafka:test?brokers=localhost:9092");
 ----
 
-=== SSL configuration
+== SSL configuration
 
 You have 2 different ways to configure the SSL communication on the Kafka` component.
 
@@ -420,11 +423,16 @@ The first way is through the many SSL endpoint parameters
 
 [source,java]
 ----
-from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}" +
-             "&groupId=A" +
-             "&sslKeystoreLocation=/path/to/keystore.jks" +
-             "&sslKeystorePassword=changeit" +
-             "&sslKeyPassword=changeit" +
+from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}"
+
+             "&groupId=A"
+
+             "&sslKeystoreLocation=/path/to/keystore.jks"
+
+             "&sslKeystorePassword=changeit"
+
+             "&sslKeyPassword=changeit"
+
              "&securityProtocol=SSL")
         .to("mock:result");
 ----
@@ -452,11 +460,14 @@ DefaultCamelContext camelContext = new DefaultCamelContext(registry);
 camelContext.addRoutes(new RouteBuilder() {
     @Override
     public void configure() throws Exception {
-        from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}" +
+        from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}"
+
                      // Setup the topic and broker address
-                     "&groupId=A" +
+                     "&groupId=A"
+
                      // The consumer processor group ID
-                     "&sslContextParameters=#ssl" +
+                     "&sslContextParameters=#ssl"
+
                      // The security protocol
                      "&securityProtocol=SSL)
                      // Reference the SSL configuration
@@ -465,7 +476,7 @@ camelContext.addRoutes(new RouteBuilder() {
 });
 ----
 
-=== Using the Kafka idempotent repository
+== Using the Kafka idempotent repository
 *Available from Camel 2.19*
 
 The `camel-kafka` library provides a Kafka topic-based idempotent repository. This repository stores broadcasts all changes to idempotent state (add/remove) in a Kafka topic, and populates a local in-memory cache for each repository's process instance through event sourcing.
@@ -485,7 +496,8 @@ A `KafkaIdempotentRepository` has the following properties:
 | producerConfig | Sets the properties that will be used by the Kafka producer that broadcasts changes. Overrides `bootstrapServers`, so must define the Kafka `bootstrap.servers` property itself
 | consumerConfig | Sets the properties that will be used by the Kafka consumer that populates the cache from the topic. Overrides `bootstrapServers`, so must define the Kafka `bootstrap.servers` property itself
 | maxCacheSize | How many of the most recently used keys should be stored in memory (default 1000).
-| pollDurationMs | The poll duration of the Kafka consumer. The local caches are updated immediately. This value will affect how far behind other peers that update their caches from the topic are relative to the idempotent consumer instance that sent the cache action message. The default value of this is 100 ms. +
+| pollDurationMs | The poll duration of the Kafka consumer. The local caches are updated immediately. This value will affect how far behind other peers that update their caches from the topic are relative to the idempotent consumer instance that sent the cache action message. The default value of this is 100 ms.
+
 If setting this value explicitly, be aware that there is a tradeoff between the remote cache liveness and the volume of network traffic between this repository's consumer and the Kafka brokers. The cache warmup process also depends on there being one poll that fetches nothing - this indicates that the stream has been consumed up to the current point. If the poll duration is excessively long for the rate at which messages are sent on the topic, there exists a possibility that the cache ca [...]
 |===
 
@@ -539,7 +551,7 @@ In XML:
 </bean>
 ----
 
-=== Using manual commit with Kafka consumer
+== Using manual commit with Kafka consumer
 *Available as of Camel 2.21*
 
 By default the Kafka consumer will use auto commit, where the offset will be committed automatically in the background using a given interval.
@@ -571,7 +583,7 @@ This will force a synchronous commit which will block until the commit is acknow
 If you want to use a custom implementation of `KafkaManualCommit` then you can configure a custom `KafkaManualCommitFactory`
 on the `KafkaComponent` that creates instances of your custom implementation.
 
-=== Kafka Headers propagation
+== Kafka Headers propagation
 *Available as of Camel 2.22*
 
 When consuming messages from Kafka, headers will be propagated to camel exchange headers automatically.
diff --git a/components/camel-kestrel/src/main/docs/kestrel-component.adoc b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
index 787ff17..27133df 100644
--- a/components/camel-kestrel/src/main/docs/kestrel-component.adoc
+++ b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
@@ -303,5 +303,4 @@ Something to note is that Maven's Surefire test plugin *enables*
 assertions. If you're using this component in a Maven test environment,
 you may need to set `enableAssertions` to `false`. Please refer to the
 http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html[surefire:test
-reference] for details.
-
+reference] for details.
\ No newline at end of file
diff --git a/components/camel-krati/src/main/docs/krati-component.adoc b/components/camel-krati/src/main/docs/krati-component.adoc
index 097060d..6c1bb00 100644
--- a/components/camel-krati/src/main/docs/krati-component.adoc
+++ b/components/camel-krati/src/main/docs/krati-component.adoc
@@ -176,7 +176,8 @@ from("direct:put").to("krati:target/test/producertest");
 --------------------------------------------------------
 
 In the above example you can override any of the URI parameters with
-headers on the message. +
+headers on the message.
+
  Here is how the above example would look like using xml to define our
 route.
 
@@ -200,7 +201,8 @@ from("direct:get")
 --------------------------------------------------------------------------------------------
 
 In the above example you can override any of the URI parameters with
-headers on the message. +
+headers on the message.
+
  Here is how the above example would look like using xml to define our
 route.
 
@@ -242,7 +244,3 @@ repository which can be used for filtering out duplicate messages.
 -----------------------------------------------------------------------------------------------------------------------------
 from("direct://in").idempotentConsumer(header("messageId"), new KratiIdempotentRepositroy("/tmp/idempotent").to("log://out");
 -----------------------------------------------------------------------------------------------------------------------------
-
-=== See also
-
-http://sna-projects.com/krati/[Krati Website]
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
index e18938c..b1a6fcb 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
@@ -9,20 +9,20 @@
 The composite kubernetes component has been deprecated. Use individual
 component splitted as following.
 
-* <<kubernetes-component,Kubernetes Components>>
-  ** <<openshift-build-configs-component,Kubernetes Build Config>>
+* Kubernetes Components
+  ** xref:openshift-build-configs-component.adoc[Kubernetes Build Config]
   ** Kubernetes Build
-  ** <<kubernetes-config-maps-component,Kubernetes ConfigMap>>
-  ** <<kubernetes-namespaces-component,Kubernetes Namespace>>
-  ** <<kubernetes-nodes-component,Kubernetes Node>>
-  ** <<kubernetes-persistent-volumes-component,Kubernetes Persistent Volume>>
-  ** <<kubernetes-persistent-volumes-claims-component,Kubernetes Persistent Volume Claim>>
-  ** <<kubernetes-pods-component,Kubernetes Pod>>
-  ** <<kubernetes-replication-controllers-component,Kubernetes Replication Controller>>
-  ** <<kubernetes-resources-quota-component,Kubernetes Resource Quota>>
-  ** <<kubernetes-secrets-component,Kubernetes Secrets>>
-  ** <<kubernetes-service-accounts-component,Kubernetes Service Account>>
-  ** <<kubernetes-services-component,Kubernetes Service>>
+  ** xref:kubernetes-config-maps-component.adoc[Kubernetes ConfigMap]
+  ** xref:kubernetes-namespaces-component.adoc[Kubernetes Namespace]
+  ** xref:kubernetes-nodes-component.adoc[Kubernetes Node]
+  ** xref:kubernetes-persistent-volumes-component.adoc[Kubernetes Persistent Volume]
+  ** xref:kubernetes-persistent-volumes-claims-component.adoc[Kubernetes Persistent Volume Claim]
+  ** xref:kubernetes-pods-component.adoc[Kubernetes Pod]
+  ** xref:kubernetes-replication-controllers-component.adoc[Kubernetes Replication Controller]
+  ** xref:kubernetes-resources-quota-component.adoc[Kubernetes Resource Quota]
+  ** xref:kubernetes-secrets-component.adoc[Kubernetes Secrets]
+  ** xref:kubernetes-service-accounts-component.adoc[Kubernetes Service Account]
+  ** xref:kubernetes-services-component.adoc[Kubernetes Service]
 ====================================================================================
 
 The *Kubernetes* component is a component for integrating your
@@ -41,7 +41,7 @@ their `pom.xml` for this component:
 </dependency>
 ------------------------------------------------------------
 
-=== URI format
+== URI format
 
 [source,java]
 ------------------------------
@@ -51,7 +51,7 @@ kubernetes:masterUrl[?options]
 You can append query options to the URI in the following
 format, `?option=value&option=value&...`
 
-=== Options
+== Options
 
 
 // component options: START
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
index 5203c94..a665668 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes ConfigMap* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes ConfigMap* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes ConfigMap operations.
 
 
@@ -90,4 +90,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-config-maps.enabled* | Whether to enable auto configuration of the kubernetes-config-maps component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-config-maps.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
index 1632606..d8b91f0 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.20*
 
 
-The *Kubernetes Deployments* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Deployments* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes secret operations.
 
 
@@ -99,4 +99,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-deployments.enabled* | Whether to enable auto configuration of the kubernetes-deployments component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-deployments.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
index 8447424..331986b 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.23*
 
 
-The *Kubernetes HPA* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes HPA* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes hpa operations and a consumer to consume kubernetes
 hpa events.
  
@@ -100,4 +100,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-hpa.enabled* | Whether to enable auto configuration of the kubernetes-hpa component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-hpa.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
index 2c0b847..7ca8d5c 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.23*
 
 
-The *Kubernetes Job* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Job* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes job operations.
  
 
@@ -99,4 +99,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-job.enabled* | Whether to enable auto configuration of the kubernetes-job component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-job.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
index e44fa99..7ea063d 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Namespaces* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Namespaces* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes namespace operations and a consumer to consume
 kubernetes namespace events.
 
@@ -100,4 +100,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-namespaces.enabled* | Whether to enable auto configuration of the kubernetes-namespaces component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-namespaces.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
index d7d51c0..6433d59 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Nodes* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Nodes* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes node operations and a consumer to consume kubernetes
 node events.
  
@@ -100,4 +100,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-nodes.enabled* | Whether to enable auto configuration of the kubernetes-nodes component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-nodes.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
index 439339b..6bf57a8 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Persistent Volume Claim* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Persistent Volume Claim* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes persistent volume claim operations.
  
 
@@ -91,4 +91,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-persistent-volumes-claims.enabled* | Whether to enable auto configuration of the kubernetes-persistent-volumes-claims component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-persistent-volumes-claims.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
index ab35250..cb17c94 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Persistent Volume* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Persistent Volume* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes persistent volume operations.
 
 
@@ -91,4 +91,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-persistent-volumes.enabled* | Whether to enable auto configuration of the kubernetes-persistent-volumes component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-persistent-volumes.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
index 7abba2f..ae57ef2 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Pods* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Pods* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes pod operations.
 
 
@@ -99,4 +99,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-pods.enabled* | Whether to enable auto configuration of the kubernetes-pods component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-pods.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
index c099ac7..1f784fa 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Replication Controller* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Replication Controller* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes replication controller operations and a consumer to
 consume kubernetes replication controller events.
 
@@ -100,4 +100,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-replication-controllers.enabled* | Whether to enable auto configuration of the kubernetes-replication-controllers component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-replication-controllers.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
index 932c131..db21ce6 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Resources Quota* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Resources Quota* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes resource quota operations.
 
 
@@ -91,4 +91,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-resources-quota.enabled* | Whether to enable auto configuration of the kubernetes-resources-quota component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-resources-quota.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
index 768fa2c..9f9f32d 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Secrets* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Secrets* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes secret operations.
 
 
@@ -91,4 +91,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-secrets.enabled* | Whether to enable auto configuration of the kubernetes-secrets component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-secrets.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
index 59402c5..1997320 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Service Account* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Service Account* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes Service Account operations.
 
 
@@ -89,4 +89,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-service-accounts.enabled* | Whether to enable auto configuration of the kubernetes-service-accounts component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-service-accounts.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
index 399924e..ecaa61a 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Services* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Services* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes service operations and a consumer to consume kubernetes
 service events.
 
@@ -100,4 +100,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-services.enabled* | Whether to enable auto configuration of the kubernetes-services component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-services.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes.adoc b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
index 4679bd5..434f39d 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
@@ -6,21 +6,21 @@ The *Kubernetes* components integrate your application with Kubernetes standalo
 
 The camel-kubernetes consists of 13 components:
 
-* <<kubernetes-config-maps-component,Kubernetes ConfigMap>>
-* <<kubernetes-namespaces-component,Kubernetes Namespace>>
-* <<kubernetes-nodes-component,Kubernetes Node>>
-* <<kubernetes-persistent-volumes-component,Kubernetes Persistent Volume>>
-* <<kubernetes-persistent-volumes-claims-component,Kubernetes Persistent Volume Claim>>
-* <<kubernetes-pods-component,Kubernetes Pod>>
-* <<kubernetes-replication-controllers-component,Kubernetes Replication Controller>>
-* <<kubernetes-resources-quota-component,Kubernetes Resource Quota>>
-* <<kubernetes-secrets-component,Kubernetes Secrets>>
-* <<kubernetes-service-accounts-component,Kubernetes Service Account>>
-* <<kubernetes-services-component,Kubernetes Service>>
+* xref:kubernetes-config-maps-component.adoc[Kubernetes ConfigMap]
+* xref:kubernetes-namespaces-component.adoc[Kubernetes Namespace]
+* xref:kubernetes-nodes-component.adoc[Kubernetes Node]
+* xref:kubernetes-persistent-volumes-component.adoc[Kubernetes Persistent Volume]
+* xref:kubernetes-persistent-volumes-claims-component.adoc[Kubernetes Persistent Volume Claim]
+* xref:kubernetes-pods-component.adoc[Kubernetes Pod]
+* xref:kubernetes-replication-controllers-component.adoc[Kubernetes Replication Controller]
+* xref:kubernetes-resources-quota-component.adoc[Kubernetes Resource Quota]
+* xref:kubernetes-secrets-component.adoc[Kubernetes Secrets]
+* xref:kubernetes-service-accounts-component.adoc[Kubernetes Service Account]
+* xref:kubernetes-services-component.adoc[Kubernetes Service]
 
 In OpenShift, also:
 
-* <<openshift-build-configs-component,Kubernetes Build Config>>
+* xref:openshift-build-configs-component.adoc[Kubernetes Build Config]
 * Kubernetes Build
 
 
@@ -146,4 +146,4 @@ from("direct:createPod")
     .toF("kubernetes-pods://%s?oauthToken=%s&operation=deletePod", host, authToken);
 -------------------------------------------------------------
 
-By using the KubernetesConstants.KUBERNETES_POD_NAME header you can specify your Pod name and pass it to this operation.
+By using the KubernetesConstants.KUBERNETES_POD_NAME header you can specify your Pod name and pass it to this operation.
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc b/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
index e2b1935..e007064 100644
--- a/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *OpenShift Build Config* component is one of link:kubernetes.html[Kubernetes Components] which
+The *OpenShift Build Config* component is one of xref:kubernetes.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes build config operations. 
 
 
@@ -63,4 +63,4 @@ with the following path and query parameters:
 | *trustCerts* (security) | Define if the certs we used are trusted anyway or not |  | Boolean
 | *username* (security) | Username to connect to Kubernetes |  | String
 |===
-// endpoint options: END
\ No newline at end of file
+// endpoint options: END
diff --git a/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc b/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
index ea5ad54..7acb798 100644
--- a/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Builds* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Builds* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes build operations.
 
 
diff --git a/components/camel-kura/src/main/docs/kura.adoc b/components/camel-kura/src/main/docs/kura.adoc
index b9c6e68..1f10446 100644
--- a/components/camel-kura/src/main/docs/kura.adoc
+++ b/components/camel-kura/src/main/docs/kura.adoc
@@ -1,5 +1,5 @@
 [[Kura-EclipseKuracomponent]]
-== Eclipse Kura component
+= Eclipse Kura component
 
 *Available as of Camel 2.15*
 
@@ -13,8 +13,7 @@ services and finally forward the current temperature value to your data
 center service using Camel EIP and components.
 
 [[Kura-KuraRouteractivator]]
-KuraRouter activator
-^^^^^^^^^^^^^^^^^^^^
+== KuraRouter activator
 
 Bundles deployed to the Eclipse Kura are usually
 http://eclipse.github.io/kura/doc/hello-example.html#create-java-class[developed
@@ -47,8 +46,7 @@ every class extending `KuraRouter`, there will be a dedicated
 per OSGi bundle.
 
 [[Kura-DeployingKuraRouter]]
-Deploying KuraRouter
-^^^^^^^^^^^^^^^^^^^^
+== Deploying KuraRouter
 
 Bundle containing your Kura router class should import the following
 packages in the OSGi manifest:
@@ -96,15 +94,13 @@ start <your-bundle-id>
 ----------------------------------------------------------------------------------
 
 [[Kura-KuraRouterutilities]]
-KuraRouter utilities 
-^^^^^^^^^^^^^^^^^^^^^
+== KuraRouter utilities 
 
- Kura router base class provides many useful utilities. This section
+Kura router base class provides many useful utilities. This section
 explores each of them.
 
 [[Kura-SLF4Jlogger]]
-SLF4J logger
-++++++++++++
+=== SLF4J logger
 
 Kura uses SLF4J facade for logging purposes. Protected member `log`
 returns SLF4J logger instance associated with the given Kura router.
@@ -123,8 +119,7 @@ public class MyKuraRouter extends KuraRouter {
 ----------------------------------------------
 
 [[Kura-BundleContext]]
-BundleContext
-+++++++++++++
+=== BundleContext
 
 Protected member `bundleContext` returns bundle context associated with
 the given Kura router.
@@ -144,8 +139,7 @@ public class MyKuraRouter extends KuraRouter {
 ---------------------------------------------------------------------------------------------------------------
 
 [[Kura-CamelContext]]
-CamelContext
-++++++++++++
+=== CamelContext
 
 Protected member `camelContext` is the `CamelContext` associated with
 the given Kura router.
@@ -164,8 +158,7 @@ public class MyKuraRouter extends KuraRouter {
 ----------------------------------------------
 
 [[Kura-ProducerTemplate]]
-ProducerTemplate
-++++++++++++++++
+=== ProducerTemplate
 
 Protected member `producerTemplate` is the `ProducerTemplate` instance
 associated with the given Camel context.
@@ -184,8 +177,7 @@ public class MyKuraRouter extends KuraRouter {
 -----------------------------------------------------------
 
 [[Kura-ConsumerTemplate]]
-ConsumerTemplate
-++++++++++++++++
+=== ConsumerTemplate
 
 Protected member `consumerTemplate` is the `ConsumerTemplate` instance
 associated with the given Camel context.
@@ -204,8 +196,7 @@ public class MyKuraRouter extends KuraRouter {
 --------------------------------------------------------------------------------------------------
 
 [[Kura-OSGiserviceresolver]]
-OSGi service resolver
-+++++++++++++++++++++
+=== OSGi service resolver
 
 OSGi service resolver (`service(Class<T> serviceType)`) can be used to
 easily retrieve service by type from the OSGi bundle context.
@@ -242,8 +233,7 @@ public class MyKuraRouter extends KuraRouter {
 ---------------------------------------------------------------
 
 [[Kura-KuraRouteractivatorcallbacks]]
-KuraRouter activator callbacks
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== KuraRouter activator callbacks
 
 Kura router comes with the lifecycle callbacks that can be used to
 customize the way the Camel router works. For example to configure the
@@ -266,8 +256,7 @@ public class MyKuraRouter extends KuraRouter {
 --------------------------------------------------------------------------
 
 [[Kura-LoadingXMLroutesfromConfigurationAdmin]]
-Loading XML routes from ConfigurationAdmin
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Loading XML routes from ConfigurationAdmin
 
 Sometimes it is desired to read the XML definition of the routes from
 the server configuration. This a common scenario for IoT gateways where
@@ -294,8 +283,7 @@ Camel XML route file, for example:
  
 
 [[Kura-DeployingKurarouterasadeclarativeOSGiservice]]
-Deploying Kura router as a declarative OSGi service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Deploying Kura router as a declarative OSGi service
 
 If you would like to deploy your Kura router as a declarative OSGi
 service, you can use `activate` and `deactivate` methods provided by
@@ -307,13 +295,3 @@ service, you can use `activate` and `deactivate` methods provided by
   <implementation class="org.eclipse.kura.example.camel.MyKuraRouter"/>
 </scr:component>
 ----------------------------------------------------------------------------------------------------------------------------------------------
-
-[[Kura-SeeAlso]]
-See Also
-^^^^^^^^
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
diff --git a/components/camel-ldap/src/main/docs/ldap-component.adoc b/components/camel-ldap/src/main/docs/ldap-component.adoc
index c2d2fd1..5b54dfe 100644
--- a/components/camel-ldap/src/main/docs/ldap-component.adoc
+++ b/components/camel-ldap/src/main/docs/ldap-component.adoc
@@ -5,7 +5,8 @@
 
 
 The *ldap* component allows you to perform searches in LDAP servers
-using filters as the message payload. +
+using filters as the message payload.
+
  This component uses standard JNDI (`javax.naming` package) to access
 the server.
 
@@ -367,5 +368,4 @@ public class CustomSocketFactory extends SSLSocketFactory {
 }
 -----------------------------------------------------------------------------------------------------
 
- 
-
+ 
\ No newline at end of file
diff --git a/components/camel-ldif/src/main/docs/ldif-component.adoc b/components/camel-ldif/src/main/docs/ldif-component.adoc
index 0b3ca43..d4be542 100644
--- a/components/camel-ldif/src/main/docs/ldif-component.adoc
+++ b/components/camel-ldif/src/main/docs/ldif-component.adoc
@@ -29,7 +29,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source]
 ----
@@ -48,7 +48,7 @@ of setting up a custom SocketFactory instance.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-=== Options
+== Options
 
 // component options: START
 The LDIF component has no options.
@@ -111,7 +111,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Body types:
+== Body types:
 
 The body can be a URL to an LDIF file or an inline LDIF file. To signify the difference
 in body types, an inline LDIF must start with:
@@ -123,12 +123,12 @@ version: 1
 
 If not, the component will try to parse the body as a URL.
 
-=== Result
+== Result
 
 The result is returned in the Out body as a `ArrayList<java.lang.String>` object.
 This contains either "success" or an Exception message for each LDIF entry.
 
-=== LdapConnection
+== LdapConnection
 
 The URI, `ldif:ldapConnectionName`, references a bean with the ID,
 `ldapConnectionName`. The ldapConnection can be configured using a
@@ -175,7 +175,7 @@ or in a OSGi blueprint.xml:
 ----
 
 
-=== Samples
+== Samples
 
 Following on from the Spring configuration above, the code sample below
 sends an LDAP request to filter search a group for a member. The Common
diff --git a/components/camel-leveldb/src/main/docs/leveldb.adoc b/components/camel-leveldb/src/main/docs/leveldb.adoc
index 84c6abb..82e9ce7 100644
--- a/components/camel-leveldb/src/main/docs/leveldb.adoc
+++ b/components/camel-leveldb/src/main/docs/leveldb.adoc
@@ -1,5 +1,5 @@
 [[LevelDB-LevelDB]]
-== LevelDB
+= LevelDB
 
 *Available as of Camel 2.10*
 
@@ -13,8 +13,7 @@ Current features it provides:
 * LevelDBAggregationRepository
 
 [[LevelDB-UsingLevelDBAggregationRepository]]
-Using LevelDBAggregationRepository
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Using LevelDBAggregationRepository
 
 `LevelDBAggregationRepository` is an `AggregationRepository` which on
 the fly persists the aggregated messages. This ensures that you will not
@@ -70,8 +69,7 @@ The `repositoryName` option must be provided. Then either the
 `persistentFileName` or the `levelDBFile` must be provided.
 
 [[LevelDB-Whatispreservedwhenpersisting]]
-What is preserved when persisting
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== What is preserved when persisting
 
 `LevelDBAggregationRepository` will only preserve any `Serializable`
 compatible message body data types. Message headers must be primitive /
@@ -80,8 +78,7 @@ and a `WARN` is logged. And it only persists the `Message` body and the
 `Message` headers. The `Exchange` properties are *not* persisted.
 
 [[LevelDB-Recovery]]
-Recovery
-^^^^^^^^
+== Recovery
 
 The `LevelDBAggregationRepository` will by default recover any failed
 Exchange. It does this by having a background tasks
@@ -123,21 +120,18 @@ https://svn.apache.org/repos/asf/camel/trunk/components/camel-leveldb/src/test/j
 test].
 
 [[LevelDB-UsingLevelDBAggregationRepositoryinJavaDSL]]
-Using LevelDBAggregationRepository in Java DSL
-++++++++++++++++++++++++++++++++++++++++++++++
+=== Using LevelDBAggregationRepository in Java DSL
 
 In this example we want to persist aggregated messages in the
 `target/data/leveldb.dat` file.
 
 [[LevelDB-UsingLevelDBAggregationRepositoryinSpringXML]]
-Using LevelDBAggregationRepository in Spring XML
-++++++++++++++++++++++++++++++++++++++++++++++++
+=== Using LevelDBAggregationRepository in Spring XML
 
 The same example but using Spring XML instead:
 
 [[LevelDB-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
+== Dependencies
 
 To use LevelDB in your camel routes you need to add
 the a dependency on *camel-leveldb*.
@@ -154,17 +148,3 @@ the download page for the latest versions).
   <version>2.10.0</version>
 </dependency>
 ----------------------------------------
-
-[[LevelDB-SeeAlso]]
-See Also
-^^^^^^^^
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* Aggregator
-* HawtDB
-* Components
-
diff --git a/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc b/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
index 33ce09c..b459c2f 100644
--- a/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
+++ b/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
@@ -727,4 +727,4 @@ The following route uses a producer with dynamic header options. The
         .setHeader("CamelLinkedIn.person_id", header("personId"))
         .to("linkedin://people/connectionsById")
         .to("bean://bar");
------------------------------------------------------------------
+-----------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-lra/src/main/docs/lra.adoc b/components/camel-lra/src/main/docs/lra.adoc
index f8b7128..ce3a004 100644
--- a/components/camel-lra/src/main/docs/lra.adoc
+++ b/components/camel-lra/src/main/docs/lra.adoc
@@ -1,4 +1,4 @@
-== LRA Component
+= LRA Component
 
 *Available as of Camel version 2.21.0*
 
@@ -46,4 +46,4 @@ The component supports 5 options, which are listed below.
 | *camel.service.lra.local-participant-context-path* | The context path of the local participant callback services |  | String
 | *camel.service.lra.local-participant-url* | The local URL where the coordinator should send callbacks to (e.g. \http://my-host-name:8080) |  | String
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-lucene/src/main/docs/lucene-component.adoc b/components/camel-lucene/src/main/docs/lucene-component.adoc
index 7d6f72a..fc4805f 100644
--- a/components/camel-lucene/src/main/docs/lucene-component.adoc
+++ b/components/camel-lucene/src/main/docs/lucene-component.adoc
@@ -276,4 +276,4 @@ RouteBuilder builder = new RouteBuilder() {
        }).to("mock:searchResult");
    }
 };
--------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc b/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
index d1b6308..1480bbf 100644
--- a/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
+++ b/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
@@ -143,4 +143,4 @@ RouteBuilder builder = new RouteBuilder() {
            to("stream:out");                        // Write it into the output stream
     }
 };
-------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-lzf/src/main/docs/lzf-dataformat.adoc b/components/camel-lzf/src/main/docs/lzf-dataformat.adoc
index ea5b71a..92c4fc7 100644
--- a/components/camel-lzf/src/main/docs/lzf-dataformat.adoc
+++ b/components/camel-lzf/src/main/docs/lzf-dataformat.adoc
@@ -95,4 +95,4 @@ substituting the version number for the latest & greatest release.
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-mail/src/main/docs/mail-component.adoc b/components/camel-mail/src/main/docs/mail-component.adoc
index 47d4234..2145c71 100644
--- a/components/camel-mail/src/main/docs/mail-component.adoc
+++ b/components/camel-mail/src/main/docs/mail-component.adoc
@@ -468,7 +468,8 @@ map.put("Subject", "Camel is cool");
 == JavaMail API (ex SUN JavaMail)
 
 https://java.net/projects/javamail/pages/Home[JavaMail API] is used
-under the hood for consuming and producing mails. +
+under the hood for consuming and producing mails.
+
  We encourage end-users to consult these references when using either
 POP3 or IMAP protocol. Note particularly that POP3 has a much more
 limited set of features than IMAP.
@@ -541,7 +542,8 @@ from("imaps://imap.gmail.com?username=YOUR_USERNAME@gmail.com&password=YOUR_PASS
 
 The preceding route polls the Google mail inbox for new mails once every
 minute and logs the received messages to the `newmail` logger
-category. +
+category.
+
  Running the sample with `DEBUG` logging enabled, we can monitor the
 progress in the logs:
 
@@ -664,7 +666,8 @@ you can do as follows:
 
 Notice we use the `"searchTerm.subjectOrBody"` as parameter key to
 indicate that we want to search on mail subject or body, to contain the
-word "Camel". +
+word "Camel".
+
  The class `org.apache.camel.component.mail.SimpleSearchTerm` has a
 number of options you can configure:
 
@@ -730,4 +733,4 @@ builder.unseen().body(Op.not, "Spam").subject(Op.not, "Spam")
   // .. and we could continue building the terms
 
 SearchTerm term = builder.build();
---------------------------------------------------------------
+--------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc b/components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc
index d0695e7..49fc0bc 100644
--- a/components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc
+++ b/components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc
@@ -25,7 +25,8 @@ part, if the parameter is set to false it will leave the message alone.
 
 MIME headers of the mulitpart as "MIME-Version" and "Content-Type" are
 set as camel headers to the message. If the parameter "headersInline" is
-set to true it will also create a MIME multipart message in any case.  +
+set to true it will also create a MIME multipart message in any case. 
+
 Furthermore the MIME headers of the multipart are written as part of the
 message body, not as camel headers.
 
diff --git a/components/camel-master/src/main/docs/master-component.adoc b/components/camel-master/src/main/docs/master-component.adoc
index ce4816c..564233d 100644
--- a/components/camel-master/src/main/docs/master-component.adoc
+++ b/components/camel-master/src/main/docs/master-component.adoc
@@ -189,4 +189,3 @@ Camel provide the following ClusterService implementations:
 - camel-file
 - camel-kubernetes
 - camel-zookeeper
-
diff --git a/components/camel-metrics/src/main/docs/metrics-component.adoc b/components/camel-metrics/src/main/docs/metrics-component.adoc
index bdf775b..6009e50 100644
--- a/components/camel-metrics/src/main/docs/metrics-component.adoc
+++ b/components/camel-metrics/src/main/docs/metrics-component.adoc
@@ -1,10 +1,8 @@
 [[metrics-component]]
 = Metrics Component
 ifdef::env-github[]
-*Available as of Camel version 2.14.0*
 *Available as of Camel version 2.14*
 
-
 :caution-caption: :boom:
 :important-caption: :exclamation:
 :note-caption: :information_source:
@@ -530,7 +528,8 @@ following options:
 |=======================================================================
 |Name |Default |Description
 |useJmx |false |Whether to report fine grained statistics to JMX by
-using the `com.codahale.metrics.JmxReporter`. +
+using the `com.codahale.metrics.JmxReporter`.
+
 Notice that if JMX is enabled on CamelContext
 then a `MetricsRegistryService` mbean is enlisted under the services
 type in the JMX tree. That mbean has a single operation to output the
@@ -606,7 +605,8 @@ The following options is supported on the factory:
 |=======================================================================
 |Name |Default |Description
 |useJmx |false |Whether to report fine grained statistics to JMX by
-using the `com.codahale.metrics.JmxReporter`. +
+using the `com.codahale.metrics.JmxReporter`.
+
 Notice that if JMX is enabled on CamelContext
 then a `MetricsRegistryService` mbean is enlisted under the services
 type in the JMX tree. That mbean has a single operation to output the
@@ -657,6 +657,4 @@ with `name=MetricsMessageHistoryService`.
 
 This factory allows you to gather performance information about Camel Thread Pools by injecting a InstrumentedThreadPoolFactory
 which collects information from inside of Camel.
-See more details at Advanced configuration of CamelContext using Spring
-
-
+See more details at Advanced configuration of CamelContext using Spring
\ No newline at end of file
diff --git a/components/camel-micrometer/src/main/docs/micrometer-component.adoc b/components/camel-micrometer/src/main/docs/micrometer-component.adoc
index 26f5115..466dada 100644
--- a/components/camel-micrometer/src/main/docs/micrometer-component.adoc
+++ b/components/camel-micrometer/src/main/docs/micrometer-component.adoc
@@ -1,10 +1,8 @@
 [[micrometer-component]]
 = Micrometer Component
 ifdef::env-github[]
-*Available as of Camel version 2.22.0*
 *Available as of Camel version 2.22*
 
-
 :caution-caption: :boom:
 :important-caption: :exclamation:
 :note-caption: :information_source:
@@ -16,8 +14,8 @@ endif::[]
 
 The **micrometer:** component allows to collect various metrics directly
 from Camel routes. Supported metric types
-are link:#MicrometerComponent-counter[counter], link:#MicrometerComponent-distributionSummary[summary],
-and link:#MicrometerComponent-timer[timer]. http://micrometer.io/[Micrometer] provides
+are <<MicrometerComponent-counter,counter>>, <<MicrometerComponent-summary,summary>>,
+and <<MicrometerComponent-timer,timer>>. http://micrometer.io/[Micrometer] provides
 simple way to measure the behaviour of an application. Configurable
 reporting backends (via Micrometer registries) enable different integration options for
 collecting and visualizing statistics.
@@ -192,9 +190,9 @@ class MyBean extends RouteBuilder {
 == Usage of producers
 
 Each meter has type and name. Supported types are
-link:#MicrometerComponent-counter[counter],
-link:#MicrometerComponent-summary[distribution summary] and
-link:#MetricsComponent-timer[timer]. If no type is provided then a counter is used by default.
+<MicrometerComponent-counter,counter>>,
+<<MicrometerComponent-summary,distribution summary>> and
+<<MicrometerComponent-timer,timer>>. If no type is provided then a counter is used by default.
 
 The meter name is a string that is evaluated as `Simple` expression. In addition to using the `CamelMetricsName`
 header (see below), this allows to select the meter depending on exchange data.
@@ -305,7 +303,8 @@ from("direct:in")
 
 ----
 
-== [[MicrometerComponent-summary]]Distribution Summary
+[#MicrometerComponent-summary]
+== Distribution Summary
 
 [source]
 ----
@@ -372,8 +371,8 @@ from("direct:in")
 
 ----
 
-
-== [[MicrometerComponent-timer]]Timer
+[#MicrometerComponent-timer]
+== Timer
 
 [source]
 ----
@@ -594,4 +593,4 @@ an MBean name.
 == Example
 
 `camel-example-micrometer` provides an example how to set up Micrometer monitoring with
-Camel using Java configuration and a Prometheus backend.
+Camel using Java configuration and a Prometheus backend.
\ No newline at end of file
diff --git a/components/camel-milo/src/main/docs/milo-client-component.adoc b/components/camel-milo/src/main/docs/milo-client-component.adoc
index 2a9e759..d6d1e07 100644
--- a/components/camel-milo/src/main/docs/milo-client-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-client-component.adoc
@@ -41,7 +41,7 @@ The OPC UA Client component supports 6 options, which are listed below.
 
 
 
-=== URI format
+== URI format
 
 The URI syntax of the endpoint is: 
 
@@ -58,7 +58,7 @@ milo-client:tcp://[user:password@]host:port?node=RAW(nsu=urn:foo:bar;s=item-1)
 
 If no user credentials are provided the client will switch to anonymous mode.
 
-=== URI options
+== URI options
 
 All configuration options in the group +client+ are applicable to the shared client instance. Endpoints
 will share client instances for each endpoint URI. So the first time a request for that endpoint URI is
@@ -187,13 +187,13 @@ The component supports 24 options, which are listed below.
 
 
 
-==== Discovery
+=== Discovery
 
 If the server uses a dedicated discovery endpoint (e.g. `/discovery`), which may support different (less secure) security policies,
 then you can make use of this via the parameter `discoveryEndpointSuffix`, which will be appended to the `endpointUri`. Or by using
 an explicit `discoveryEndpointUri`.
 
-==== Overriding the host name
+=== Overriding the host name
 
 The client uses the host information from the endpoint information, queried from the server. However in some situations this endpoint URI
 might be different, and wrong from the point of view of the connecting client (e.g. an internal hostname).
@@ -201,7 +201,7 @@ might be different, and wrong from the point of view of the connecting client (e
 In this case it is possible to set the parameter `overrideHost` to `true`, which will take the discovered endpoint information,
 but override the host information with the value of the original URI.
 
-==== Node ID
+=== Node ID
 
 
 In order to define a target node a namespace and node id is required. In previous versions this was possible by
@@ -232,7 +232,7 @@ However Camel allows to wrap the actual value inside `RAW(…)`, which makes esc
 milo-client:tcp://user:password@localhost:12345?node=RAW(nsu=http://foo.bar;s=foo/bar)
 ------------------------
 
-==== Method ID
+=== Method ID
 
 It is possible to perform methods calls on OPC UA nodes. If the parameter `method` is set to the Node ID of a method call (the node ID must be set to the parent object in this case),
 then a method call will be performed instead of a write operation.
@@ -244,7 +244,7 @@ Input parameters are taken from the body:
 * If the body is a `Variant`, then it will be wrapped in a `Variant[]` array
 * Otherwise the body will be converted into a `Variant` and wrapped in an array of `Variant[]`
 
-==== Security policies
+=== Security policies
 
 When setting the allowing security policies is it possible to use the well known OPC UA URIs (e.g. `http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15`)
 or to use the Milo enum literals (e.g. `None`). Specifying an unknown security policy URI or enum is an error.
@@ -252,4 +252,3 @@ or to use the Milo enum literals (e.g. `None`). Specifying an unknown security p
 The known security policy URIs and enum literals are can be seen here: https://github.com/eclipse/milo/blob/master/opc-ua-stack/stack-core/src/main/java/org/eclipse/milo/opcua/stack/core/security/SecurityPolicy.java[SecurityPolicy.java] 
 
 **Note:** In any case security policies are considered case sensitive.
-
diff --git a/components/camel-milo/src/main/docs/milo-server-component.adoc b/components/camel-milo/src/main/docs/milo-server-component.adoc
index f59d4ca..6cac784 100644
--- a/components/camel-milo/src/main/docs/milo-server-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-server-component.adoc
@@ -65,14 +65,14 @@ The OPC UA Server component supports 20 options, which are listed below.
 
 
 
-=== URI format
+== URI format
 
 [source,java]
 ------------------------
 milo-server:itemId[?options]
 ------------------------
 
-=== URI options
+== URI options
 
 
 
@@ -153,10 +153,3 @@ The component supports 21 options, which are listed below.
 | *camel.component.milo-server.username-security-policy-uri* | Set the UserTokenPolicy used when |  | SecurityPolicy
 |===
 // spring-boot-auto-configure options: END
-
-
-
-
-
-
-
diff --git a/components/camel-mina/src/main/docs/mina-component.adoc b/components/camel-mina/src/main/docs/mina-component.adoc
index 35cc832..780c874 100644
--- a/components/camel-mina/src/main/docs/mina-component.adoc
+++ b/components/camel-mina/src/main/docs/mina-component.adoc
@@ -4,10 +4,11 @@
 *Available as of Camel version 1.0*
 
 
+
 *Deprecated*
 
 WARNING: This component is deprecated as the Apache Mina 1.x project is EOL.
-Instead use <<mina2-component,MINA2>> or <<mina2-component,Netty>> instead.
+Instead use xref:mina2-component.adoc[Mina 2] or xref:mina2-component.adoc[Mina 2] instead.
 
 The *mina:* component is a transport for working with
 http://mina.apache.org/[Apache MINA]
@@ -52,7 +53,8 @@ A Mina producer has a default timeout value of 30 seconds, while it
 waits for a response from the remote server.
 
 In normal use, `camel-mina` only supports marshalling the body
-content—message headers and exchange properties are not sent. +
+content—message headers and exchange properties are not sent.
+
  However, the option, *transferExchange*, does allow you to transfer the
 exchange itself over the wire. See options below.
 
@@ -146,7 +148,7 @@ documentation] how to write your own codec. To use your custom codec
 with `camel-mina`, you should register your codec in the
 Registry; for example, by creating a bean in the
 Spring XML file. Then use the `codec` option to specify the bean ID of
-your codec. See <<hl7-dataformat,HL7>> that has a custom codec.
+your codec. See xref:hl7-dataformat.adoc[HL7] that has a custom codec.
 
 == Sample with sync=false
 
@@ -171,7 +173,7 @@ fact, something we have dynamically set in our processor code logic.
 
 == Sample with Spring DSL
 
-Spring DSL can, of course, also be used for <<mina-component,MINA>>. In the
+Spring DSL can, of course, also be used for xref:mina-component.adoc[Mina]. In the
 sample below we expose a TCP server on port 5555:
 
 [source,xml]
@@ -332,4 +334,3 @@ Then, you can configure your endpoint using Spring DSL:
     </constructor-arg>
 </bean>
 ----------------------------------------------------------------------------------
-
diff --git a/components/camel-mina2/src/main/docs/mina2-component.adoc b/components/camel-mina2/src/main/docs/mina2-component.adoc
index 29ee287..b83a9b8 100644
--- a/components/camel-mina2/src/main/docs/mina2-component.adoc
+++ b/components/camel-mina2/src/main/docs/mina2-component.adoc
@@ -7,7 +7,7 @@
 The *mina2:* component is a transport for working with
 http://mina.apache.org/[Apache MINA 2.x]
 
-TIP: Favor using <<netty-component,Netty>> as Netty is a much more active
+TIP: Favor using xref:netty-component.adoc[Netty] as Netty is a much more active
 maintained and popular project than Apache Mina currently is
 
 INFO: Be careful with sync=false on consumer endpoints. Since camel-mina2 all
@@ -51,7 +51,8 @@ A Mina producer has a default timeout value of 30 seconds, while it
 waits for a response from the remote server.
 
 In normal use, `camel-mina` only supports marshalling the body
-content—message headers and exchange properties are not sent. +
+content—message headers and exchange properties are not sent.
+
  However, the option, *transferExchange*, does allow you to transfer the
 exchange itself over the wire. See options below.
 
@@ -206,7 +207,7 @@ See the Mina how to write your own codec. To use your custom codec with
 `camel-mina`, you should register your codec in the
 Registry; for example, by creating a bean in the
 Spring XML file. Then use the `codec` option to specify the bean ID of
-your codec. See <<hl7-dataformat,HL7>> that has a custom codec.
+your codec. See xref:hl7-dataformat.adoc[HL7] that has a custom codec.
 
 == Sample with sync=false
 
@@ -262,7 +263,7 @@ assertEquals("Bye World", response);
 
 == Sample with Spring DSL
 
-Spring DSL can, of course, also be used for <<mina2-component,MINA>>. In the
+Spring DSL can, of course, also be used for xref:mina2-component.adoc[Mina 2]. In the
 sample below we expose a TCP server on port 5555:
 
 [source,xml]
@@ -320,5 +321,4 @@ Filters permit you to use some Mina Filters, such as `SslFilter`. You
 can also implement some customized filters. Please note that `codec` and
 `logger` are also implemented as Mina filters of type, `IoFilter`. Any
 filters you may define are appended to the end of the filter chain; that
-is, after `codec` and `logger`.
-
+is, after `codec` and `logger`.
\ No newline at end of file
diff --git a/components/camel-mllp/src/main/docs/mllp-component.adoc b/components/camel-mllp/src/main/docs/mllp-component.adoc
index d681731..3ddd12a 100644
--- a/components/camel-mllp/src/main/docs/mllp-component.adoc
+++ b/components/camel-mllp/src/main/docs/mllp-component.adoc
@@ -37,7 +37,7 @@ for this component:
 </dependency>
 ---------------------------------------------------------
 
-=== MLLP Options
+== MLLP Options
 
 
 
@@ -183,7 +183,7 @@ The component supports 31 options, which are listed below.
 
 
 
-=== MLLP Consumer
+== MLLP Consumer
 
 The MLLP Consumer supports receiving MLLP-framed messages and sending
 HL7 Acknowledgements.  The MLLP Consumer can automatically generate the
@@ -193,7 +193,7 @@ the CamelMllpAcknowledgement exchange property.  Additionally, the type
 of acknowledgement that will be generated can be controlled by setting
 the CamelMllpAcknowledgementType exchange property.
 
-=== *Message Headers*
+== *Message Headers*
 
 The MLLP Consumer adds these headers on the Camel message:
 
@@ -220,7 +220,7 @@ The MLLP Consumer adds these headers on the Camel message:
 All headers are String types. If a header value is missing, its value
 is null.
 
-=== *Exchange Properties*
+== *Exchange Properties*
 
 The type of acknowledgment the MLLP Consumer generates and state of the TCP Socket can be controlled
 by these properties on the Camel exchange:
@@ -243,7 +243,7 @@ by these properties on the Camel exchange:
 // REVISIT - Empty section is bad for AsciiDoc build
 //=== Consumer Configuration
 
-=== MLLP Producer
+== MLLP Producer
 
 The MLLP Producer supports sending MLLP-framed messages and receiving
 HL7 Acknowledgements.  The MLLP Producer interrogates the HL7
@@ -251,7 +251,7 @@ Acknowledgments and raises exceptions if a negative acknowledgement is
 received.  The received acknowledgement is interrogated and an exception
 is raised in the event of a negative acknowledgement.
 
-=== *Message Headers*
+== *Message Headers*
 
 The MLLP Producer adds these headers on the Camel message:
 
@@ -265,7 +265,7 @@ The MLLP Producer adds these headers on the Camel message:
 |CamelMllpAcknowledgementType | The HL7 acknowledgement type (AA, AE, AR, etc)
 |===================================
 
-=== *Exchange Properties*
+== *Exchange Properties*
 
 The state of the TCP Socket can be controlled by these properties on the Camel exchange:
 
diff --git a/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc b/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
index d0d2840..147f9eb 100644
--- a/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
+++ b/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
@@ -128,7 +128,7 @@ MongoDB instance.
 == Sample route
 
 The following route defined in Spring XML executes the operation
-<<mongodb-gridfs-component,*findOne*>> on a collection.
+<<*findOne*>> on a collection.
 
 *Get a file from GridFS*
 
diff --git a/components/camel-mongodb/src/main/docs/mongodb-component.adoc b/components/camel-mongodb/src/main/docs/mongodb-component.adoc
index d7236dd..b506bfe 100644
--- a/components/camel-mongodb/src/main/docs/mongodb-component.adoc
+++ b/components/camel-mongodb/src/main/docs/mongodb-component.adoc
@@ -4,9 +4,6 @@
 *Available as of Camel version 2.10*
 
 
-*Available as of Camel version 2.10*
-
-
 According to Wikipedia: "NoSQL is a movement promoting a loosely defined
 class of non-relational data stores that break with a long history of
 relational databases and ACID guarantees." NoSQL solutions have grown in
@@ -45,14 +42,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-=== URI format
+== URI format
 
 [source,java]
 ---------------------------------------------------------------------------------------------------------------
 mongodb:connectionBean?database=databaseName&collection=collectionName&operation=operationName[&moreOptions...]
 ---------------------------------------------------------------------------------------------------------------
 
-=== MongoDB options
+== MongoDB options
 
 
 // component options: START
@@ -148,7 +145,7 @@ The component supports 2 options, which are listed below.
 
 
 
-=== Configuration of database in Spring XML
+== Configuration of database in Spring XML
 
 The following Spring XML creates a bean defining the connection to a
 MongoDB instance.
@@ -166,10 +163,10 @@ MongoDB instance.
 </beans>
 ----------------------------------------------------------------------------------------------------------------------------------
 
-=== Sample route
+== Sample route
 
 The following route defined in Spring XML executes the operation
-<<mongodb-component,*dbStats*>> on a collection.
+<<*dbStats*>> on a collection.
 
 *Get DB stats for specified collection*
 
@@ -183,11 +180,11 @@ The following route defined in Spring XML executes the operation
 </route>
 ---------------------------------------------------------------------------------------------------------------------------
 
-=== MongoDB operations - producer endpoints
+== MongoDB operations - producer endpoints
 
-==== Query operations
+=== Query operations
 
-===== findById
+==== findById
 
 This operation retrieves only one element from the collection whose _id
 field matches the content of the IN message body. The incoming object
@@ -203,17 +200,13 @@ from("direct:findById")
     .to("mock:resultFindById");
 ------------------------------------------------------------------------------
 
-
-TIP: *Supports optional parameters*. This operation supports specifying a fields filter. See
-<<mongodb-component,Specifying optional parameters>>.
-
-===== findOneByQuery
+==== findOneByQuery
 
 Use this operation to retrieve just one element from the collection that
 matches a MongoDB query. *The query object is extracted from the IN
 message body*, i.e. it should be of type `DBObject` or convertible to
 `DBObject`. It can be a JSON String or a Hashmap. See
-<<mongodb-component,#Type conversions>> for more info.
+<<Type conversions>> for more info.
 
 Example with no query (returns any object of the collection):
 
@@ -234,16 +227,13 @@ from("direct:findOneByQuery")
     .to("mock:resultFindOneByQuery");
 ------------------------------------------------------------------------------------
 
-TIP: *Supports optional parameters*. This operation supports specifying a fields filter and/or a sort clause. See
-<<mongodb-component,Specifying optional parameters>>.
-
-===== findAll
+==== findAll
 
 The `findAll` operation returns all documents matching a query, or none
 at all, in which case all documents contained in the collection are
 returned. *The query object is extracted from the IN message body*, i.e.
 it should be of type `DBObject` or convertible to `DBObject`. It can be
-a JSON String or a Hashmap. See <<mongodb-component,#Type conversions>> for
+a JSON String or a Hashmap. See <<Type conversions>> for
 more info.
 
 Example with no query (returns all object in the collection):
@@ -321,13 +311,11 @@ consideration. |int/Integer
 consideration. |int/Integer
 |=======================================================================
 
-TIP: *Supports optional parameters*. This operation supports specifying a fields filter and/or a sort clause. See
-<<mongodb-component,Specifying optional parameters>>.
-
-===== count
+==== count
 
 Returns the total number of objects in a collection, returning a Long as
-the OUT message body. +
+the OUT message body.
+
 The following example will count the number of records in the
 "dynamicCollectionName" collection. Notice how dynamicity is enabled,
 and as a result, the operation will not run against the
@@ -353,7 +341,7 @@ DBObject query = ...
 Long count = template.requestBodyAndHeader("direct:count", query, MongoDbConstants.COLLECTION, "dynamicCollectionName");
 ------------------------------------------------------------------------------------------------------------------------
 
-===== Specifying a fields filter (projection)
+==== Specifying a fields filter (projection)
 
 Query operations will, by default, return the matching objects in their
 entirety (with all their fields). If your documents are large and you
@@ -374,7 +362,7 @@ DBObject fieldFilter = BasicDBObjectBuilder.start().add("_id", 0).add("boringFie
 Object result = template.requestBodyAndHeader("direct:findAll", (Object) null, MongoDbConstants.FIELDS_FILTER, fieldFilter);
 ----------------------------------------------------------------------------------------------------------------------------
 
-===== Specifying a sort clause
+==== Specifying a sort clause
 
 There is a often a requirement to fetch the min/max record from a 
 collection based on sorting by a particular field. In Mongo the 
@@ -407,13 +395,14 @@ to a single field, based on the `documentTimestamp` field:
 ----------------------------------------------------------------------------------------------------------------------------
 
 
-==== Create/update operations
+=== Create/update operations
 
-===== insert
+==== insert
 
 Inserts an new object into the MongoDB collection, taken from the IN
 message body. Type conversion is attempted to turn it into `DBObject` or
-a `List`. +
+a `List`.
+
  Two modes are supported: single insert and multiple insert. For
 multiple insert, the endpoint will expect a List, Array or Collections
 of objects of any type, as long as they are - or can be converted to -
@@ -456,7 +445,7 @@ constant). The value stored is `org.bson.types.ObjectId` for single
 insert or `java.util.List<org.bson.types.ObjectId>` if multiple records
 have been inserted.
 
-===== save
+==== save
 
 The save operation is equivalent to an _upsert_ (UPdate, inSERT)
 operation, where the record will be updated, and if it doesn't exist, it
@@ -486,7 +475,7 @@ from("direct:insert")
     .to("mongodb:myDb?database=flights&collection=tickets&operation=save");
 ---------------------------------------------------------------------------
 
-===== update
+==== update
 
 Update one or multiple records on the collection. Requires a
 List<DBObject> as the IN message body containing exactly 2 elements:
@@ -530,13 +519,14 @@ DBObject updateObj = new BasicDBObject("$set", new BasicDBObject("scientist", "D
 Object result = template.requestBodyAndHeader("direct:update", new Object[] {filterField, updateObj}, MongoDbConstants.MULTIUPDATE, true);
 ------------------------------------------------------------------------------------------------------------------------------------------
 
-==== Delete operations
+=== Delete operations
 
-===== remove
+==== remove
 
 Remove matching records from the collection. The IN message body will
 act as the removal filter query, and is expected to be of type
-`DBObject` or a type convertible to it. +
+`DBObject` or a type convertible to it.
+
  The following example will remove all objects whose field
 'conditionField' equals true, in the science database, notableScientists
 collection:
@@ -554,9 +544,9 @@ containing the number of records deleted (copied from
 `WriteResult.getN()`).
 
 
-==== Bulk Write Operations
+=== Bulk Write Operations
 
-===== bulkWrite
+==== bulkWrite
 
 *Available as of Camel 2.21*
 
@@ -590,9 +580,9 @@ Unordered operations are executed in parallel and this behavior is not guarantee
 |=======================================================================
 
 
-==== Other operations
+=== Other operations
 
-===== aggregate
+==== aggregate
 
 *Available as of Camel 2.14*
 
@@ -641,10 +631,11 @@ from("direct:aggregate")
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
 
-===== getDbStats
+==== getDbStats
 
 Equivalent of running the `db.stats()` command in the MongoDB shell,
-which displays useful statistic figures about the database. +
+which displays useful statistic figures about the database.
+
  For example:
 
 [source,java]
@@ -678,10 +669,11 @@ assertTrue("Result is not of type DBObject", result instanceof DBObject);
 The operation will return a data structure similar to the one displayed
 in the shell, in the form of a `DBObject` in the OUT message body.
 
-===== getColStats
+==== getColStats
 
 Equivalent of running the `db.collection.stats()` command in the MongoDB
-shell, which displays useful statistic figures about the collection. +
+shell, which displays useful statistic figures about the collection.
+
  For example:
 
 [source,java]
@@ -718,7 +710,7 @@ assertTrue("Result is not of type DBObject", result instanceof DBObject);
 The operation will return a data structure similar to the one displayed
 in the shell, in the form of a `DBObject` in the OUT message body.
 
-===== command
+==== command
 
 *Available as of Camel 2.15*
 
@@ -734,11 +726,12 @@ DBObject commandBody = new BasicDBObject("hostInfo", "1");
 Object result = template.requestBody("direct:command", commandBody);
 --------------------------------------------------------------------------------
 
-==== Dynamic operations
+=== Dynamic operations
 
 An Exchange can override the endpoint's fixed operation by setting the
 `CamelMongoDbOperation` header, defined by the
-`MongoDbConstants.OPERATION_HEADER` constant. +
+`MongoDbConstants.OPERATION_HEADER` constant.
+
  The values supported are determined by the MongoDbOperation enumeration
 and match the accepted values for the `operation` parameter on the
 endpoint URI.
@@ -774,7 +767,7 @@ new objects are inserted, MongoDB will push them as DBObjects in natural
 order to your tailable cursor consumer, who will transform them to an
 Exchange and will trigger your route logic.
 
-=== How the tailable cursor consumer works
+== How the tailable cursor consumer works
 
 To turn a cursor into a tailable cursor, a few special flags are to be
 signalled to MongoDB when first generating the cursor. Once created, the
@@ -825,7 +818,7 @@ The above route will consume from the "flights.cancellations" capped
 collection, using "departureTime" as the increasing field, with a
 default regeneration cursor delay of 1000ms.
 
-=== Persistent tail tracking
+== Persistent tail tracking
 
 Standard tail tracking is volatile and the last value is only kept in
 memory. However, in practice you will need to restart your Camel
@@ -845,7 +838,7 @@ persisting at regular intervals too in the future (flush every 5
 seconds) for added robustness if the demand is there. To request this
 feature, please open a ticket in the Camel JIRA.
 
-=== Enabling persistent tail tracking
+== Enabling persistent tail tracking
 
 To enable this function, set at least the following options on the
 endpoint URI:
@@ -1005,7 +998,7 @@ public class MongoDbTracker {
 -----------------------------------------------------------------------------------------------------------------------------------
 
 
-=== Type conversions
+== Type conversions
 
 The `MongoDbBasicConverters` type converter included with the
 camel-mongodb component provides the following conversions:
@@ -1028,13 +1021,3 @@ object to a `Map`, which is in turn used to initialise a new
 
 This type converter is auto-discovered, so you don't need to configure
 anything manually.
-
-=== See also
-
-* http://www.mongodb.org/[MongoDB website]
-* http://en.wikipedia.org/wiki/NoSQL[NoSQL Wikipedia article]
-* http://api.mongodb.org/java/current/[MongoDB Java driver API docs -
-current version]
-*
-https://github.com/apache/camel/tree/master/components/camel-mongodb/src/test[Unit
-tests] for more examples of usage
diff --git a/components/camel-mongodb3/src/main/docs/mongodb3-component.adoc b/components/camel-mongodb3/src/main/docs/mongodb3-component.adoc
index bc66ab6..c60c085 100644
--- a/components/camel-mongodb3/src/main/docs/mongodb3-component.adoc
+++ b/components/camel-mongodb3/src/main/docs/mongodb3-component.adoc
@@ -44,14 +44,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-=== URI format
+== URI format
 
 [source,java]
 ---------------------------------------------------------------------------------------------------------------
 mongodb3:connectionBean?database=databaseName&collection=collectionName&operation=operationName[&moreOptions...]
 ---------------------------------------------------------------------------------------------------------------
 
-=== MongoDB options
+== MongoDB options
 
 
 // component options: START
@@ -177,7 +177,7 @@ xsi:schemaLocation="http://www.springframework.org/schema/context
 === Sample route
 
 The following route defined in Spring XML executes the operation
-<<mongodb3-component,*dbStats*>> on a collection.
+<<*dbStats*>> on a collection.
 
 *Get DB stats for specified collection*
 
@@ -211,17 +211,13 @@ from("direct:findById")
     .to("mock:resultFindById");
 ------------------------------------------------------------------------------
 
-
-TIP: *Supports optional parameters*. This operation supports specifying a fields filter. See
-<<mongodb3-component,Specifying optional parameters>>.
-
 ===== findOneByQuery
 
 Use this operation to retrieve just one element (the first) from the collection that
 matches a MongoDB query. *The query object is extracted `CamelMongoDbCriteria` header*.
 if the CamelMongoDbCriteria header is null the query object is extracted 
 message body, i.e. it should be of type `Bson` or convertible to
-`Bson`. It can be a JSON String or a Hashmap. See <<mongodb3-component,#Type conversions>> for more info.
+`Bson`. It can be a JSON String or a Hashmap. See <<Type conversions>> for more info.
 you can use the Filters class from MongoDB Driver.
 
 Example with no query (returns any object of the collection):
@@ -243,9 +239,6 @@ from("direct:findOneByQuery")
     .to("mock:resultFindOneByQuery");
 ------------------------------------------------------------------------------------
 
-TIP: *Supports optional parameters*. This operation supports specifying a fields projection and/or a sort clause. See
-<<mongodb3-component,Specifying optional parameters>>.
-
 ===== findAll
 
 The `findAll` operation returns all documents matching a query, or none
@@ -254,7 +247,7 @@ returned.  *The query object is extracted `CamelMongoDbCriteria` header*.
 if the CamelMongoDbCriteria header is null the query object is extracted 
 message body, i.e. it should be of type `Bson` or convertible to
 `Bson`. It can be
-a JSON String or a Hashmap. See <<mongodb3-component,#Type conversions>> for
+a JSON String or a Hashmap. See <<Type conversions>> for
 more info.
 
 Example with no query (returns all object in the collection):
@@ -326,13 +319,11 @@ consideration. |int/Integer
 consideration. |int/Integer
 |=======================================================================
 
-TIP: *Supports optional parameters*. This operation supports specifying a fields projection and/or a sort clause. See
-<<mongodb3-component,Specifying optional parameters>>.
-
 ===== count
 
 Returns the total number of objects in a collection, returning a Long as
-the OUT message body. +
+the OUT message body.
+
 The following example will count the number of records in the
 "dynamicCollectionName" collection. Notice how dynamicity is enabled,
 and as a result, the operation will not run against the
@@ -431,7 +422,8 @@ to a single field, based on the `documentTimestamp` field:
 
 Inserts an new object into the MongoDB collection, taken from the IN
 message body. Type conversion is attempted to turn it into `Document` or
-a `List`. +
+a `List`.
+
  Two modes are supported: single insert and multiple insert. For
 multiple insert, the endpoint will expect a List, Array or Collections
 of objects of any type, as long as they are - or can be converted to -
@@ -587,7 +579,8 @@ Object result = template.requestBodyAndHeader("direct:update", updateObj, MongoD
 
 Remove matching records from the collection. The IN message body will
 act as the removal filter query, and is expected to be of type
-`DBObject` or a type convertible to it. +
+`DBObject` or a type convertible to it.
+
  The following example will remove all objects whose field
 'conditionField' equals true, in the science database, notableScientists
 collection:
@@ -697,7 +690,8 @@ Calling `.streaming()` is thus required to load data into memory by batches.
 ===== getDbStats
 
 Equivalent of running the `db.stats()` command in the MongoDB shell,
-which displays useful statistic figures about the database. +
+which displays useful statistic figures about the database.
+
  For example:
 
 [source,java]
@@ -734,7 +728,8 @@ in the shell, in the form of a `Document` in the OUT message body.
 ===== getColStats
 
 Equivalent of running the `db.collection.stats()` command in the MongoDB
-shell, which displays useful statistic figures about the collection. +
+shell, which displays useful statistic figures about the collection.
+
  For example:
 
 [source,java]
@@ -789,7 +784,8 @@ Object result = template.requestBody("direct:command", commandBody);
 
 An Exchange can override the endpoint's fixed operation by setting the
 `CamelMongoDbOperation` header, defined by the
-`MongoDbConstants.OPERATION_HEADER` constant. +
+`MongoDbConstants.OPERATION_HEADER` constant.
+
  The values supported are determined by the MongoDbOperation enumeration
 and match the accepted values for the `operation` parameter on the
 endpoint URI.
@@ -962,13 +958,3 @@ object to a `Map`, which is in turn used to initialise a new
 
 This type converter is auto-discovered, so you don't need to configure
 anything manually.
-
-=== See also
-
-* http://www.mongodb.org/[MongoDB website]
-* http://en.wikipedia.org/wiki/NoSQL[NoSQL Wikipedia article]
-* http://api.mongodb.org/java/current/[MongoDB Java driver API docs -
-current version]
-*
-http://svn.apache.org/viewvc/camel/trunk/components/camel-mongodb/src/test/[Unit
-tests] for more examples of usage
diff --git a/components/camel-mqtt/src/main/docs/mqtt-component.adoc b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
index cca35d1..a0f284e 100644
--- a/components/camel-mqtt/src/main/docs/mqtt-component.adoc
+++ b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
@@ -196,5 +196,4 @@ http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Consum
 * http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html#createPollingConsumer()[createPollingConsumer()]
 implements the Polling Consumer pattern for
 consuming message exchanges from the endpoint via a
-http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html[PollingConsumer]
-
+http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html[PollingConsumer]
\ No newline at end of file
diff --git a/components/camel-msv/src/main/docs/msv-component.adoc b/components/camel-msv/src/main/docs/msv-component.adoc
index 2e9ae82..eb0006a 100644
--- a/components/camel-msv/src/main/docs/msv-component.adoc
+++ b/components/camel-msv/src/main/docs/msv-component.adoc
@@ -22,7 +22,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-Note that the <<jing-component,Jing>> component also supports
+Note that the xref:jing-component.adoc[Jing] component also supports
 http://relaxng.org/compact-tutorial-20030326.html[RelaxNG Compact
 Syntax]
 
@@ -150,5 +150,4 @@ shows how to configure a route from endpoint *direct:start* which then
 goes to one of two endpoints, either *mock:valid* or *mock:invalid*
 based on whether or not the XML matches the given
 http://relaxng.org/[RelaxNG XML Schema] (which is supplied on the
-classpath).
-
+classpath).
\ No newline at end of file
diff --git a/components/camel-mustache/src/main/docs/mustache-component.adoc b/components/camel-mustache/src/main/docs/mustache-component.adoc
index 85f7add..03b22de 100644
--- a/components/camel-mustache/src/main/docs/mustache-component.adoc
+++ b/components/camel-mustache/src/main/docs/mustache-component.adoc
@@ -30,7 +30,7 @@ mustache:templateName[?options]
 
 Where *templateName* is the classpath-local URI of the template to
 invoke; or the complete URL of the remote template (eg:
-file://folder/myfile.mustache[file://folder/myfile.mustache]).
+`\file://folder/myfile.mustache`).
 
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
@@ -209,4 +209,3 @@ Thanks for the order of {{headers.item}}.
 Regards Camel Riders Bookstore
 {{body}}
 -------------------------------------------------
-
diff --git a/components/camel-mvel/src/main/docs/mvel-component.adoc b/components/camel-mvel/src/main/docs/mvel-component.adoc
index 63ca4e3..c7e21b4 100644
--- a/components/camel-mvel/src/main/docs/mvel-component.adoc
+++ b/components/camel-mvel/src/main/docs/mvel-component.adoc
@@ -30,7 +30,7 @@ mvel:templateName[?options]
 
 Where *templateName* is the classpath-local URI of the template to
 invoke; or the complete URL of the remote template (eg:
-file://folder/myfile.mvel[file://folder/myfile.mvel]).
+`\file://folder/myfile.mvel`).
 
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
@@ -204,4 +204,3 @@ from("direct:in").
   setHeader("CamelMvelTemplate").constant("@{\"The result is \" + request.body * 3}\" }").
   to("velocity:dummy");
 ------------------------------------------------------------------------------------------
-
diff --git a/components/camel-mvel/src/main/docs/mvel-language.adoc b/components/camel-mvel/src/main/docs/mvel-language.adoc
index 63509191..210f48a 100644
--- a/components/camel-mvel/src/main/docs/mvel-language.adoc
+++ b/components/camel-mvel/src/main/docs/mvel-language.adoc
@@ -123,7 +123,8 @@ And the sample using Java DSL:
 *Available as of Camel 2.11*
 
 You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
+such as `"classpath:"`, `"file:"`, or `"http:"`.
+
  This is done using the following syntax: `"resource:scheme:location"`,
 eg to refer to a file on the classpath you can do:
 
@@ -148,4 +149,4 @@ the download page for the latest versions).
   <artifactId>camel-mvel</artifactId>
   <version>x.x.x</version>
 </dependency>
--------------------------------------
+-------------------------------------
\ No newline at end of file
diff --git a/components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc b/components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc
index e669f7a..f3afc7e 100644
--- a/components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc
+++ b/components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc
@@ -25,11 +25,12 @@ for this component:
 
 This component will by default load the MyBatis SqlMapConfig file from
 the root of the classpath with the expected name of
-`SqlMapConfig.xml`. +
+`SqlMapConfig.xml`.
+
  If the file is located in another location, you will need to configure
 the `configurationUri` option on the `MyBatisComponent` component.
 
-=== Options
+== Options
 
 // component options: START
 The MyBatis Bean component supports 3 options, which are listed below.
@@ -111,7 +112,7 @@ The component supports 4 options, which are listed below.
 
 
 
-=== Message Headers
+== Message Headers
 
 Camel will populate the result message, either IN or OUT with a header
 with the statement used:
@@ -125,7 +126,7 @@ instance an `INSERT` could return the auto-generated key, or number of
 rows etc.
 |===
 
-=== Message Body
+== Message Body
 
 The response from MyBatis will only be set as the body if it's a
 `SELECT` statement. That means, for example, for `INSERT` statements
@@ -133,7 +134,7 @@ Camel will not replace the body. This allows you to continue routing and
 keep the original body. The response from MyBatis is always stored in
 the header with the key `CamelMyBatisResult`.
 
-=== Samples
+== Samples
 
 For example if you wish to consume beans from a JMS queue and insert
 them into a database you could do the following:
diff --git a/components/camel-mybatis/src/main/docs/mybatis-component.adoc b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
index f26082b..de64e40 100644
--- a/components/camel-mybatis/src/main/docs/mybatis-component.adoc
+++ b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
@@ -36,7 +36,8 @@ You can append query options to the URI in the following format,
 
 This component will by default load the MyBatis SqlMapConfig file from
 the root of the classpath with the expected name of
-`SqlMapConfig.xml`. +
+`SqlMapConfig.xml`.
+
  If the file is located in another location, you will need to configure
 the `configurationUri` option on the `MyBatisComponent` component.
 
@@ -298,7 +299,8 @@ from("direct:start")
 === Notice on InsertList, UpdateList and DeleteList StatementTypes
 
 Parameter of any type (List, Map, etc.) can be passed to mybatis and an
-end user is responsible for handling it as required +
+end user is responsible for handling it as required
+
  with the help of http://www.mybatis.org/mybatis-3/dynamic-sql.html[mybatis
 dynamic queries] capabilities.
 
@@ -435,4 +437,4 @@ usual:
         <to uri="mybatis:myModel.insert?statementType=Insert"/>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/components/camel-nagios/src/main/docs/nagios-component.adoc b/components/camel-nagios/src/main/docs/nagios-component.adoc
index a9a5fb0..8435f28 100644
--- a/components/camel-nagios/src/main/docs/nagios-component.adoc
+++ b/components/camel-nagios/src/main/docs/nagios-component.adoc
@@ -29,7 +29,8 @@ nagios://host[:port][?Options]
 
 Camel provides two abilities with the xref:nagios-component.adoc[Nagios]
 component. You can send passive check messages by sending a message to
-its endpoint. +
+its endpoint.
+
  Camel also provides a EventNotifer which allows
 you to send notifications to Nagios.
 
@@ -180,4 +181,4 @@ Nagios. For example we can enable this from Java as follows:
 In Spring XML its just a matter of defining a Spring bean with the type
 `EventNotifier` and Camel will pick it up as documented here:
 xref:latest@manual::advanced-configuration-of-camelcontext-using-spring.adoc[Advanced
-configuration of CamelContext using Spring].
+configuration of CamelContext using Spring].
\ No newline at end of file
diff --git a/components/camel-nats/src/main/docs/nats-component.adoc b/components/camel-nats/src/main/docs/nats-component.adoc
index 1c47919..8bd2d25 100644
--- a/components/camel-nats/src/main/docs/nats-component.adoc
+++ b/components/camel-nats/src/main/docs/nats-component.adoc
@@ -168,4 +168,4 @@ from("direct:send").to("nats://token@localhost:4222?topic=test");
 [source,java]
 ----------------------------------------------------------------------------------------
 from("nats://localhost:4222?topic=test&maxMessages=5&queueName=test").to("mock:result");
-----------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-netty-http/src/main/docs/netty-http-component.adoc b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
index a3b6169..910019a 100644
--- a/components/camel-netty-http/src/main/docs/netty-http-component.adoc
+++ b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
@@ -4,13 +4,14 @@
 *Available as of Camel version 2.12*
 
 
-The *netty-http* component is an extension to <<netty-component,Netty>>
-component to facilitiate HTTP transport with <<netty-component,Netty>>.
+
+The *netty-http* component is an extension to xref:netty-component.adoc[Netty]
+component to facilitiate HTTP transport with xref:netty-component.adoc[Netty].
 
 This camel component supports both producer and consumer endpoints.
 
 WARNING: This component is deprecated. You should use
-<<netty4-http-component,Netty4 HTTP>>.
+xref:netty4-http-component.adoc[Netty HTTP].
 
 INFO: *Stream*.
 Netty is stream based, which means the input it receives is submitted to
@@ -67,10 +68,11 @@ at the endpoint URI definition level (like `to` or `from` DSL elements).
 == HTTP Options
 
 INFO: *A lot more options*. *Important:* This component inherits all the options from
-<<netty-component,Netty>>. So make sure to look at the
-<<netty-component,Netty>> documentation as well. +
- Notice that some options from <<netty-component,Netty>> is not applicable
-when using this <<netty-http-component,Netty HTTP>> component, such as
+xref:netty-component.adoc[Netty]. So make sure to look at the
+xref:netty-component.adoc[Netty] documentation as well.
+
+ Notice that some options from xref:netty-component.adoc[Netty] is not applicable
+when using this xref:netty-http-component.adoc[Netty HTTP] component, such as
 options related to UDP transport.
 
 
@@ -302,7 +304,7 @@ success, and 500 for failure.
 |=======================================================================
 
 The following headers is provided as meta-data when a route starts from
-an <<netty-http-component,Netty HTTP>> endpoint:
+an xref:netty-http-component.adoc[Netty HTTP] endpoint:
 
 The description in the table takes offset in a route having:
 `from("netty-http:http:0.0.0.0:8080/myapp")...`
@@ -352,7 +354,7 @@ org.jboss.netty.handler.codec.http.HttpRequest request = exchange.getIn(NettyHtt
 
 == Examples
 
-In the route below we use <<netty-http-component,Netty HTTP>> as a HTTP
+In the route below we use xref:netty-http-component.adoc[Netty HTTP] as a HTTP
 server, which returns back a hardcoded "Bye World" message.
 
 [source,java]
@@ -374,7 +376,7 @@ And we get back "Bye World" as the output.
 
 == How do I let Netty match wildcards
 
-By default <<netty-http-component,Netty HTTP>> will only match on exact
+By default xref:netty-http-component.adoc[Netty HTTP] will only match on exact
 uri's. But you can instruct Netty to match prefixes. For example
 
 [source,java]
@@ -382,8 +384,9 @@ uri's. But you can instruct Netty to match prefixes. For example
 from("netty-http:http://0.0.0.0:8123/foo").to("mock:foo");
 ----------------------------------------------------------
 
-In the route above <<netty-http-component,Netty HTTP>> will only match if
-the uri is an exact match, so it will match if you enter +
+In the route above xref:netty-http-component.adoc[Netty HTTP] will only match if
+the uri is an exact match, so it will match if you enter
+
  `http://0.0.0.0:8123/foo` but not match if you do
 `http://0.0.0.0:8123/foo/bar`.
 
@@ -406,7 +409,7 @@ from("netty-http:http://0.0.0.0:8123?matchOnUriPrefix=true").to("mock:foo");
 == Using multiple routes with same port
 
 In the same CamelContext you can have multiple
-routes from <<netty-http-component,Netty HTTP>> that shares the same port
+routes from xref:netty-http-component.adoc[Netty HTTP] that shares the same port
 (eg a `org.jboss.netty.bootstrap.ServerBootstrap` instance). Doing this
 requires a number of bootstrap options to be identical in the routes, as
 the routes will share the same
@@ -462,7 +465,7 @@ By configuring the common server bootstrap option in an single instance
 of a
 `org.apache.camel.component.netty.NettyServerBootstrapConfiguration`
 type, we can use the `bootstrapConfiguration` option on the
-<<netty-http-component,Netty HTTP>> consumers to refer and reuse the same
+xref:netty-http-component.adoc[Netty HTTP] consumers to refer and reuse the same
 options across all consumers.
 
 [source,xml]
@@ -501,7 +504,7 @@ for more details and example how to do that.
 
 == Using HTTP Basic Authentication
 
-The <<netty-http-component,Netty HTTP>> consumer supports HTTP basic
+The xref:netty-http-component.adoc[Netty HTTP] consumer supports HTTP basic
 authentication by specifying the security realm name to use, as shown
 below
 
@@ -573,4 +576,3 @@ below:
    ...
 </route>
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
diff --git a/components/camel-netty/src/main/docs/netty-component.adoc b/components/camel-netty/src/main/docs/netty-component.adoc
index 75111aa..ecc41a0 100644
--- a/components/camel-netty/src/main/docs/netty-component.adoc
+++ b/components/camel-netty/src/main/docs/netty-component.adoc
@@ -3,14 +3,14 @@
 
 *Available as of Camel version 2.3*
 
-*Available as of Camel version 2.3*
-
 
 The Netty component in Camel is a socket communication component,
-based on the http://netty.io/[Netty] project version 4. +
+based on the http://netty.io/[Netty] project version 4.
+
  Netty is a NIO client server framework which enables quick and easy
 development of networkServerInitializerFactory applications such as
-protocol servers and clients. +
+protocol servers and clients.
+
  Netty greatly simplifies and streamlines network programming such as
 TCP and UDP socket server.
 
@@ -601,14 +601,17 @@ or via XML.
 == Closing Channel When Complete
 
 When acting as a server you sometimes want to close the channel when,
-for example, a client conversion is finished. +
+for example, a client conversion is finished.
+
  You can do this by simply setting the endpoint option
 `disconnect=true`.
 
-However you can also instruct Camel on a per message basis as follows. +
+However you can also instruct Camel on a per message basis as follows.
+
  To instruct Camel to close the channel, you should add a header with
 the key `CamelNettyCloseChannelWhenComplete` set to a boolean `true`
-value. +
+value.
+
  For instance, the example below will close the channel after it has
 written the bye message back to the client:
 
diff --git a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
index 5d643a4..89c5939 100644
--- a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
+++ b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
@@ -4,8 +4,8 @@
 *Available as of Camel version 2.14*
 
 
-The *netty4-http* component is an extension to <<netty4-component,Netty4>>
-component to facilitiate HTTP transport with <<netty4-component,Netty4>>.
+The *netty4-http* component is an extension to xref:netty4-component.adoc[Netty4]
+component to facilitiate HTTP transport with xref:netty4-component.adoc[Netty4].
 
 This camel component supports both producer and consumer endpoints.
 
@@ -66,9 +66,10 @@ at the endpoint URI definition level (like `to` or `from` DSL elements).
 
 
 INFO: *A lot more options*. *Important:* This component inherits all the options from
-<<netty4-component,Netty4>>. So make sure to look at
-the <<netty4-component,Netty4>> documentation as well. +
- Notice that some options from <<netty4-component,Netty4>> is not
+xref:netty4-component.adoc[Netty4]. So make sure to look at
+the xref:netty4-component.adoc[Netty4] documentation as well.
+
+ Notice that some options from xref:netty4-component.adoc[Netty4] is not
 applicable when using this Netty4 HTTP component, such as options
 related to UDP transport.
 
@@ -392,7 +393,8 @@ from("netty4-http:http://0.0.0.0:8123/foo").to("mock:foo");
 -----------------------------------------------------------
 
 In the route above Netty4 HTTP will only match if the uri is an exact
-match, so it will match if you enter +
+match, so it will match if you enter
+
  `http://0.0.0.0:8123/foo` but not match if you do
 `http://0.0.0.0:8123/foo/bar`.
 
@@ -579,5 +581,4 @@ below:
    <from uri="netty4-http:http://0.0.0.0:{{port}}/foo?matchOnUriPrefix=true&amp;securityConfiguration.realm=karaf&amp;securityConfiguration.securityConstraint=#constraint"/>
    ...
 </route>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-netty4/src/main/docs/netty4-component.adoc b/components/camel-netty4/src/main/docs/netty4-component.adoc
index 387e97c..81a07c8 100644
--- a/components/camel-netty4/src/main/docs/netty4-component.adoc
+++ b/components/camel-netty4/src/main/docs/netty4-component.adoc
@@ -5,10 +5,12 @@
 
 
 The *netty4* component in Camel is a socket communication component,
-based on the http://netty.io/[Netty] project version 4. +
+based on the http://netty.io/[Netty] project version 4.
+
  Netty is a NIO client server framework which enables quick and easy
 development of networkServerInitializerFactory applications such as
-protocol servers and clients. +
+protocol servers and clients.
+
  Netty greatly simplifies and streamlines network programming such as
 TCP and UDP socket server.
 
@@ -32,7 +34,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 The URI scheme for a netty component is as follows
 
@@ -48,7 +50,7 @@ UDP.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-=== Options
+== Options
 
 // component options: START
 The Netty4 component supports 6 options, which are listed below.
@@ -403,7 +405,7 @@ RouteBuilder builder = new RouteBuilder() {
 Using the JSSE Configuration Utility
 
 As of Camel 2.9, the Netty component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
 Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
 endpoint and component levels.  The following examples demonstrate how
@@ -484,7 +486,7 @@ Getting access to SSLSession and the client certificate
 
 You can get access to the `javax.net.ssl.SSLSession` if you eg need to
 get details about the client certificate. When `ssl=true` then the
-<<netty4-component,Netty4>> component will store the `SSLSession` as a
+xref:netty4-component.adoc[Netty4] component will store the `SSLSession` as a
 header on the Camel Message as shown below:
 
 [source,java]
@@ -615,14 +617,17 @@ or via XML.
 === Closing Channel When Complete
 
 When acting as a server you sometimes want to close the channel when,
-for example, a client conversion is finished. +
+for example, a client conversion is finished.
+
  You can do this by simply setting the endpoint option
 `disconnect=true`.
 
-However you can also instruct Camel on a per message basis as follows. +
+However you can also instruct Camel on a per message basis as follows.
+
  To instruct Camel to close the channel, you should add a header with
 the key `CamelNettyCloseChannelWhenComplete` set to a boolean `true`
-value. +
+value.
+
  For instance, the example below will close the channel after it has
 written the bye message back to the client:
 
@@ -744,9 +749,7 @@ for Netty consumers, and a
 Netty producers.
 
 Then in the Camel routes we can refer to this worker pools by
-configuring the `workerPool` option in the
-https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=URI&linkCreation=true&fromPageId=45877614[URI]
-as shown below:
+configuring the `workerPool` option as shown below:
 
 [source,xml]
 ----
@@ -793,4 +796,3 @@ This provides support for timeout and other complexities you otherwise would nee
 
 You can find an example with the Apache Camel source code in the examples directory
 under the `camel-example-netty-custom-correlation` directory.
-
diff --git a/components/camel-nsq/src/main/docs/nsq-component.adoc b/components/camel-nsq/src/main/docs/nsq-component.adoc
index 195a859..f5e3fcf 100644
--- a/components/camel-nsq/src/main/docs/nsq-component.adoc
+++ b/components/camel-nsq/src/main/docs/nsq-component.adoc
@@ -4,9 +4,6 @@
 *Available as of Camel version 2.23*
 
 
-*Available as of Camel version 2.23*
-
-
 
 http://nsq.io/[NSQ] is a realtime distributed messaging platform.
 
diff --git a/components/camel-ognl/src/main/docs/ognl-language.adoc b/components/camel-ognl/src/main/docs/ognl-language.adoc
index 7d15cc3..9f08b27 100644
--- a/components/camel-ognl/src/main/docs/ognl-language.adoc
+++ b/components/camel-ognl/src/main/docs/ognl-language.adoc
@@ -125,7 +125,8 @@ And the sample using Java DSL:
 *Available as of Camel 2.11*
 
 You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
+such as `"classpath:"`, `"file:"`, or `"http:"`.
+
  This is done using the following syntax: `"resource:scheme:location"`,
 eg to refer to a file on the classpath you can do:
 
@@ -153,4 +154,4 @@ the download page for the latest versions).
 -------------------------------------
 
 Otherwise, you'll also need
-http://repo2.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.ognl/2.7.3_4/org.apache.servicemix.bundles.ognl-2.7.3_4.jar[OGNL]
+http://repo2.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.ognl/2.7.3_4/org.apache.servicemix.bundles.ognl-2.7.3_4.jar[OGNL]
\ No newline at end of file
diff --git a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
index 12e2ec1..4bf1bdd 100644
--- a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
+++ b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
@@ -206,7 +206,7 @@ org.apache.olingo.odata2.api.commons.HttpStatusCodes for other OData resources
 |update |data, resourcePath, endpointHttpHeaders |PUT |org.apache.olingo.odata2.api.commons.HttpStatusCodes
 |=======================================================================
 
-== Endpoint HTTP Headers (Since 2.20)
+== Endpoint HTTP Headers
 The component level configuration property **httpHeaders** supplies static HTTP header information. 
 However, some systems requires dynamic header information to be passed to and received from the endpoint.
 A sample use case would be systems that require dynamic security tokens.  The **endpointHttpHeaders** 
@@ -331,4 +331,4 @@ consumer endpoint will produce an *ODataFeed* value the first time, and
 ---------------------------------------------------------------------------------------------------------
 from("olingo2://read/Manufacturers?queryParams=#paramsBean&consumer.timeUnit=SECONDS&consumer.delay=30")
     .to("bean:blah");
----------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc b/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
index 2c1e148..a41b41d 100644
--- a/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
+++ b/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
@@ -192,7 +192,7 @@ org.apache.olingo.commons.api.http.HttpStatusCode for other OData resources
 |update |data, resourcePath, endpointHttpHeaders |PUT |org.apache.olingo.commons.api.http.HttpStatusCode
 |=======================================================================
 
-== Endpoint HTTP Headers (since *Camel 2.20*)
+== Endpoint HTTP Headers
 The component level configuration property **httpHeaders** supplies static HTTP header information. 
 However, some systems requires dynamic header information to be passed to and received from the endpoint.
 A sample use case would be systems that require dynamic security tokens.  The **endpointHttpHeaders** 
@@ -293,4 +293,4 @@ The following route creates People entity using the
 ------------------------------------------------------------
 from("direct:...")
     .to("olingo4://create/People");
-------------------------------------------------------------
+------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-openshift/src/main/docs/openshift-component.adoc b/components/camel-openshift/src/main/docs/openshift-component.adoc
index 166262f..993c5dd 100644
--- a/components/camel-openshift/src/main/docs/openshift-component.adoc
+++ b/components/camel-openshift/src/main/docs/openshift-component.adoc
@@ -197,5 +197,4 @@ following headers is included.
 |CamelOpenShiftEventOldState |Yes |The old state, when the event type is changed.
 
 |CamelOpenShiftEventNewState |No |The new state, for any of the event types
-|=======================================================================
-
+|=======================================================================
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc b/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
index 55ff835..6c50429 100644
--- a/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
@@ -21,7 +21,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 
 == URI Format
@@ -195,5 +195,4 @@ If you need more precise volume settings you can create new object of the type *
 
 |=========================================================================
 
-If you need more precise server settings you can create new object of the type *org.openstack4j.model.storage.block.VolumeSnapshot* and send in the message body.
-
+If you need more precise server settings you can create new object of the type *org.openstack4j.model.storage.block.VolumeSnapshot* and send in the message body.
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-glance-component.adoc b/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
index 014ec98..4eebb05 100644
--- a/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
@@ -21,7 +21,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 
 == URI Format
@@ -155,5 +155,4 @@ The component supports 2 options, which are listed below.
 |`checksum` |`String` | Checksum.
 
 |`properties` | `Map` | Image properties.
-|=========================================================================
-
+|=========================================================================
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc b/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
index 8707d16..2ae2850 100644
--- a/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
@@ -23,7 +23,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 
 == URI Format
@@ -301,5 +301,4 @@ If you need more precise region settings you can create new object of the type *
 |`email` | `String`| User's email.
 |=========================================================================
 
-If you need more precise user settings you can create new object of the type *org.openstack4j.model.identity.v3.User* and send in the message body.
-
+If you need more precise user settings you can create new object of the type *org.openstack4j.model.identity.v3.User* and send in the message body.
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc b/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
index 4324910..438ecc9 100644
--- a/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
@@ -21,7 +21,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 
 == URI Format
@@ -273,6 +273,4 @@ If you need more precise subnet settings you can create new object of the type *
 |`interfaceType` | `org.openstack4j.model.network.AttachInterfaceType` | Interface type.
 
 |`tenantId` | `String` | Tenant ID.
-|=========================================================================
-
-
+|=========================================================================
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-nova-component.adoc b/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
index be73725..46e1101 100644
--- a/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
@@ -21,7 +21,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 
 == URI Format
@@ -224,5 +224,4 @@ If you need more precise server settings you can create new object of the type *
 
 |`name` |`String` |The keypair name.
 
-|=========================================================================
-
+|=========================================================================
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-swift-component.adoc b/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
index 0a869b5..3826baa 100644
--- a/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
@@ -21,7 +21,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 
 == URI Format
@@ -201,5 +201,4 @@ or *org.openstack4j.model.storage.object.options.ContainerListOptions* for listi
 
 |`objectName` |`String` |The object name.
 
-|=========================================================================
-
+|=========================================================================
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack.adoc b/components/camel-openstack/src/main/docs/openstack.adoc
index 52cf2ff..a2b0623 100644
--- a/components/camel-openstack/src/main/docs/openstack.adoc
+++ b/components/camel-openstack/src/main/docs/openstack.adoc
@@ -1,5 +1,5 @@
 [[Openstack-OpenstackComponent]]
-== Openstack Component
+= Openstack Component
 
 *Available as of Camel 2.19*
 
@@ -21,12 +21,10 @@ for this component:
 [width="100%", options="header"]
 |=======================================================================
 | OpenStack service | Camel Component| Description
-| https://wiki.openstack.org/wiki/Cinder[OpenStack Cinder] | <<openstack-cinder-component,openstack-cinder>> | Component to maintain OpenStack cinder.
-| https://wiki.openstack.org/wiki/Glance[OpenStack Glance] | <<openstack-glance-component,openstack-glance>> | Component to maintain OpenStack glance.
-| https://wiki.openstack.org/wiki/Keystone[OpenStack Keystone] | <<openstack-keystone-component,openstack-keystone>> | Component to maintain OpenStack keystone.
-| https://wiki.openstack.org/wiki/Neutron[OpenStack Neutron] | <<openstack-neutron-component,openstack-neutron>> | Component to maintain OpenStack neutron.
-| https://wiki.openstack.org/wiki/Nova[OpenStack Nova] | <<openstack-nova-component,openstack-nova>> | Component to maintain OpenStack nova.
-| https://wiki.openstack.org/wiki/Swift[OpenStack Swift] | <<openstack-swift-component,openstack-swift>> | Component to maintain OpenStack swift.
-|=======================================================================
-
-
+| https://wiki.openstack.org/wiki/Cinder[OpenStack Cinder] | xref:openstack-cinder-component.adoc[openstack-cinder] | Component to maintain OpenStack cinder.
+| https://wiki.openstack.org/wiki/Glance[OpenStack Glance] | xref:openstack-glance-component.adoc[openstack-glance] | Component to maintain OpenStack glance.
+| https://wiki.openstack.org/wiki/Keystone[OpenStack Keystone] | xref:openstack-keystone-component.adoc[openstack-keystone] | Component to maintain OpenStack keystone.
+| https://wiki.openstack.org/wiki/Neutron[OpenStack Neutron] | xref:openstack-neutron-component.adoc[openstack-neutron] | Component to maintain OpenStack neutron.
+| https://wiki.openstack.org/wiki/Nova[OpenStack Nova] | xref:openstack-nova-component.adoc[openstack-nova] | Component to maintain OpenStack nova.
+| https://wiki.openstack.org/wiki/Swift[OpenStack Swift] | xref:openstack-swift-component.adoc[openstack-swift] | Component to maintain OpenStack swift.
+|=======================================================================
\ No newline at end of file
diff --git a/components/camel-opentracing/src/main/docs/opentracing.adoc b/components/camel-opentracing/src/main/docs/opentracing.adoc
index 42cd2c3..8251b09 100644
--- a/components/camel-opentracing/src/main/docs/opentracing.adoc
+++ b/components/camel-opentracing/src/main/docs/opentracing.adoc
@@ -122,4 +122,4 @@ How this agent is used will be specific to how you execute your application. _Se
 == Example
 
 You can find an example demonstrating the three ways to configure OpenTracing here:
-https://github.com/apache/camel/tree/master/examples/camel-example-opentracing[camel-example-opentracing]
+https://github.com/apache/camel/tree/master/examples/camel-example-opentracing[camel-example-opentracing]
\ No newline at end of file
diff --git a/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc b/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
index 39d0b37..5008aad 100644
--- a/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
+++ b/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
@@ -5,7 +5,8 @@
 
 
 The *optaplanner:* component solves the planning problem contained in a
-message with http://www.optaplanner.org/[OptaPlanner]. +
+message with http://www.optaplanner.org/[OptaPlanner].
+
  For example: feed it an unsolved Vehicle Routing problem and it solves
 it.
 
@@ -172,5 +173,4 @@ Expose OptaPlanner as a REST service:
 -------------------------------------------------------
 from("cxfrs:bean:rsServer?bindingStyle=SimpleConsumer")
   .to("optaplanner:/org/foo/barSolverConfig.xml");
--------------------------------------------------------
-
+-------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-paho/src/main/docs/paho-component.adoc b/components/camel-paho/src/main/docs/paho-component.adoc
index eac9991..b122280 100644
--- a/components/camel-paho/src/main/docs/paho-component.adoc
+++ b/components/camel-paho/src/main/docs/paho-component.adoc
@@ -221,4 +221,4 @@ And here we override the default topic and set to a dynamic topic
 from("direct:test")
     .setHeader(PahoConstants.CAMEL_PAHO_OVERRIDE_TOPIC, simple("${header.customerId}"))
     .to("paho:some/target/queue");
-----
+----
\ No newline at end of file
diff --git a/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc b/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
index ecbd7b0..d7a6c83 100644
--- a/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
+++ b/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
@@ -21,7 +21,7 @@ Maven users need to add the following dependency to their `pom.xml`
 </dependency>
 -------------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
+where `$\{camel-version\}` must be replaced by the actual version of Camel
 (2.6.0 or higher).
 
 == URI format
diff --git a/components/camel-pdf/src/main/docs/pdf-component.adoc b/components/camel-pdf/src/main/docs/pdf-component.adoc
index e204813..70d6af2 100644
--- a/components/camel-pdf/src/main/docs/pdf-component.adoc
+++ b/components/camel-pdf/src/main/docs/pdf-component.adoc
@@ -124,5 +124,4 @@ If specified then PDF document will be encrypted with it.
 |`decryption-material` |Expected type
 ishttps://pdfbox.apache.org/docs/1.8.10/javadocs/org/apache/pdfbox/pdmodel/encryption/DecryptionMaterial.html[DecryptionMaterial].
 *Mandatory* header if PDF document is encrypted.
-|=======================================================================
-
+|=======================================================================
\ No newline at end of file
diff --git a/components/camel-pgevent/src/main/docs/pgevent-component.adoc b/components/camel-pgevent/src/main/docs/pgevent-component.adoc
index 94b0daf..273cf9b 100644
--- a/components/camel-pgevent/src/main/docs/pgevent-component.adoc
+++ b/components/camel-pgevent/src/main/docs/pgevent-component.adoc
@@ -107,7 +107,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.pgevent.enabled* | Enable pgevent component | true | Boolean
 | *camel.component.pgevent.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
-
-
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-printer/src/main/docs/lpr-component.adoc b/components/camel-printer/src/main/docs/lpr-component.adoc
index 222eacf..0a4017e 100644
--- a/components/camel-printer/src/main/docs/lpr-component.adoc
+++ b/components/camel-printer/src/main/docs/lpr-component.adoc
@@ -138,10 +138,14 @@ route.
 RouteBuilder builder = new RouteBuilder() {
     public void configure() {
        from(file://inputdir/?delete=true)
-       .to("lpr://localhost/default?copies=2" +
-           "&flavor=DocFlavor.INPUT_STREAM&" +
-           "&mimeType=AUTOSENSE" +
-           "&mediaSize=NA_LETTER" +
+       .to("lpr://localhost/default?copies=2"
+
+           "&flavor=DocFlavor.INPUT_STREAM&"
+
+           "&mimeType=AUTOSENSE"
+
+           "&mediaSize=NA_LETTER"
+
            "&sides=one-sided")
     }};
 -----------------------------------------------
@@ -153,9 +157,12 @@ RouteBuilder builder = new RouteBuilder() {
 RouteBuilder builder = new RouteBuilder() {
     public void configure() {
        from(file://inputdir/?delete=true)
-       .to("lpr://remotehost/sales/salesprinter" +
-           "?copies=2&sides=one-sided" +
-           "&mimeType=GIF&mediaSize=ISO_A4" +
+       .to("lpr://remotehost/sales/salesprinter"
+
+           "?copies=2&sides=one-sided"
+
+           "&mimeType=GIF&mediaSize=ISO_A4"
+
            "&flavor=DocFlavor.INPUT_STREAM")
    }};
 --------------------------------------------------
@@ -167,10 +174,14 @@ RouteBuilder builder = new RouteBuilder() {
 RouteBuilder builder = new RouteBuilder() {
     public void configure() {
        from(file://inputdir/?delete=true)
-       .to("lpr://remotehost/sales/salesprinter" +
-           "?copies=2&sides=one-sided" +
-           "&mimeType=JPEG" +
-           "&mediaSize=JAPANESE_POSTCARD" +
+       .to("lpr://remotehost/sales/salesprinter"
+
+           "?copies=2&sides=one-sided"
+
+           "&mimeType=JPEG"
+
+           "&mediaSize=JAPANESE_POSTCARD"
+
            "&flavor=DocFlavor.INPUT_STREAM")
     }};
---------------------------------------------------
+--------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
index 6210f92..7bf4216 100644
--- a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
+++ b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
@@ -1,10 +1,8 @@
 [[protobuf-dataformat]]
 = Protobuf DataFormat
 [[Protobuf-Protobuf-ProtocolBuffers]]
-*Available as of Camel version 2.2.0*
 *Available as of Camel version 2.2*
 
-
 Protobuf - Protocol Buffers
 ---------------------------
 
@@ -18,8 +16,10 @@ Protocol Buffer is language-neutral and
 platform-neutral, so messages produced by your Camel routes may be
 consumed by other language implementations.
 
-https://developers.google.com/protocol-buffers/docs/reference/java/[API Site] +
-https://github.com/google/protobuf[Protobuf Implementation] +
+https://developers.google.com/protocol-buffers/docs/reference/java/[API Site]
+
+https://github.com/google/protobuf[Protobuf Implementation]
+
 
 https://developers.google.com/protocol-buffers/docs/javatutorial[Protobuf Java Tutorial]
 
@@ -69,7 +69,7 @@ The component supports 4 options, which are listed below.
 // spring-boot-auto-configure options: END
 ND
 
-== Content type format (starting from *Camel 2.19*)
+== Content type format
 
 It's possible to parse JSON message to convert it to the protobuf format and unparse it back using native util converter.
 To use this option, set contentTypeFormat value to 'json' or call protobuf with second parameter.
@@ -242,4 +242,4 @@ To use Protobuf in your camel routes you need to add the a dependency on
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
------------------------------------------
+-----------------------------------------
\ No newline at end of file
diff --git a/components/camel-pubnub/src/main/docs/pubnub-component.adoc b/components/camel-pubnub/src/main/docs/pubnub-component.adoc
index 7c9064f..1052ef9 100644
--- a/components/camel-pubnub/src/main/docs/pubnub-component.adoc
+++ b/components/camel-pubnub/src/main/docs/pubnub-component.adoc
@@ -223,6 +223,4 @@ There is a couple of examples in test directory that shows some of the PubNub fe
 They require a PubNub account, from where you can obtain a publish- and subscribe key.
  
 The example PubNubSensorExample already contains a subscribe key provided by PubNub, so this is ready to run without a account. 
-The example illustrates the PubNub component subscribing to a infinite stream of sensor data.
-
-
+The example illustrates the PubNub component subscribing to a infinite stream of sensor data.
\ No newline at end of file
diff --git a/components/camel-pulsar/src/main/docs/pulsar-component.adoc b/components/camel-pulsar/src/main/docs/pulsar-component.adoc
index bedd9fd..67e1e37 100644
--- a/components/camel-pulsar/src/main/docs/pulsar-component.adoc
+++ b/components/camel-pulsar/src/main/docs/pulsar-component.adoc
@@ -120,4 +120,4 @@ The component supports 3 options, which are listed below.
 | *camel.component.pulsar.pulsar-client* | The pulsar client. The option is a org.apache.pulsar.client.api.PulsarClient type. |  | String
 | *camel.component.pulsar.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-quartz/src/main/docs/quartz-component.adoc b/components/camel-quartz/src/main/docs/quartz-component.adoc
index 22fa783..0615dbb 100644
--- a/components/camel-quartz/src/main/docs/quartz-component.adoc
+++ b/components/camel-quartz/src/main/docs/quartz-component.adoc
@@ -3,11 +3,10 @@
 
 *Available as of Camel version 1.0*
 
-*Available as of Camel version 1.0*
-
 
 The Quartz component provides a scheduled delivery of messages using
-the http://www.quartz-scheduler.org/[Quartz Scheduler 2.x].  +
+the http://www.quartz-scheduler.org/[Quartz Scheduler 2.x]. 
+
  Each endpoint represents a different timer (in Quartz terms, a Trigger
 and JobDetail).
 
@@ -205,7 +204,8 @@ To do this you can configure this in Spring XML as follows
 
 == Enabling Quartz scheduler in JMX
 
-You need to configure the quartz scheduler properties to enable JMX. +
+You need to configure the quartz scheduler properties to enable JMX.
+
  That is typically setting the option
 `"org.quartz.scheduler.jmx.export"` to a `true` value in the
 configuration file.
@@ -239,7 +239,8 @@ unique job name/group for endpoints.
 == Message Headers
 
 Camel adds the getters from the Quartz Execution Context as header
-values. The following headers are added: +
+values. The following headers are added:
+
  `calendar`, `fireTime`, `jobDetail`, `jobInstance`, `jobRuntTime`,
 `mergedJobDataMap`, `nextFireTime`, `previousFireTime`, `refireCount`,
 `result`, `scheduledFireTime`, `scheduler`, `trigger`, `triggerName`,
diff --git a/components/camel-quartz2/src/main/docs/quartz2-component.adoc b/components/camel-quartz2/src/main/docs/quartz2-component.adoc
index 05d9621..267b2ed 100644
--- a/components/camel-quartz2/src/main/docs/quartz2-component.adoc
+++ b/components/camel-quartz2/src/main/docs/quartz2-component.adoc
@@ -5,7 +5,8 @@
 
 
 The *quartz2:* component provides a scheduled delivery of messages using
-the http://www.quartz-scheduler.org/[Quartz Scheduler 2.x].  +
+the http://www.quartz-scheduler.org/[Quartz Scheduler 2.x]. 
+
  Each endpoint represents a different timer (in Quartz terms, a Trigger
 and JobDetail).
 
@@ -23,10 +24,11 @@ for this component:
 ------------------------------------------------------------
 
 *NOTE:* Quartz 2.x API is not compatible with Quartz 1.x. If you need to
-remain on old Quartz 1.x, please +
- use the old <<quartz-component,Quartz>> component instead.
+remain on old Quartz 1.x, please
+
+ use the old xref:quartz-component.adoc[Quartz] component instead.
 
-=== URI format
+== URI format
 
 ----
 quartz2://timerName?options
@@ -43,7 +45,7 @@ name.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-=== Options
+== Options
 
 
 
@@ -177,7 +179,7 @@ INFO: *Running in OSGi and having multiple bundles with quartz
 routes*
 If you run in OSGi such as Apache ServiceMix, or Apache Karaf, and have
 multiple bundles with Camel routes that start from
-<<quartz2-component,Quartz2>> endpoints, then make sure if you assign an `id` 
+xref:quartz2-component.adoc[Quartz2] endpoints, then make sure if you assign an `id` 
 to the <camelContext> that this id is unique, as this is
 required by the `QuartzScheduler` in the OSGi container. If you do not
 set any `id` on <camelContext> then a unique id is auto assigned, and there is no problem.
@@ -189,7 +191,7 @@ By default Quartz will look for a `quartz.properties` file in the
 deployments this means just drop the quartz.properties in
 `WEB-INF/classes/org/quartz`.
 
-However the Camel <<quartz2-component,Quartz2>> component also allows you
+However the Camel xref:quartz2-component.adoc[Quartz2] component also allows you
 to configure properties:
 
 [width="100%",cols="10%,10%,10%,70%",options="header",]
@@ -212,7 +214,8 @@ To do this you can configure this in Spring XML as follows
 
 === Enabling Quartz scheduler in JMX
 
-You need to configure the quartz scheduler properties to enable JMX. +
+You need to configure the quartz scheduler properties to enable JMX.
+
  That is typically setting the option
 `"org.quartz.scheduler.jmx.export"` to a `true` value in the
 configuration file.
@@ -222,7 +225,7 @@ unless explicit disabled.
 
 === Starting the Quartz scheduler
 
-The <<quartz2-component,Quartz2>> component offers an option to let the
+The xref:quartz2-component.adoc[Quartz2] component offers an option to let the
 Quartz scheduler be started delayed, or not auto started at all.
 
 This is an example:
@@ -237,7 +240,7 @@ This is an example:
 === Clustering
 
 If you use Quartz in clustered mode, e.g. the `JobStore` is clustered.
-Then the <<quartz2-component,Quartz2>> component will *not* pause/remove
+Then the xref:quartz2-component.adoc[Quartz2] component will *not* pause/remove
 triggers when a node is being stopped/shutdown. This allows the trigger
 to keep running on the other nodes in the cluster.
 
@@ -247,7 +250,8 @@ unique job name/group for endpoints.
 === Message Headers
 
 Camel adds the getters from the Quartz Execution Context as header
-values. The following headers are added: +
+values. The following headers are added:
+
  `calendar`, `fireTime`, `jobDetail`, `jobInstance`, `jobRuntTime`,
 `mergedJobDataMap`, `nextFireTime`, `previousFireTime`, `refireCount`,
 `result`, `scheduledFireTime`, `scheduler`, `trigger`, `triggerName`,
@@ -302,9 +306,9 @@ The timeZone value is the values accepted by `java.util.TimeZone`.
 
 === Using QuartzScheduledPollConsumerScheduler
 
-The <<quartz2-component,Quartz2>> component provides a
+The xref:quartz2-component.adoc[Quartz2] component provides a
 Polling Consumer scheduler which allows to
-use cron based scheduling for link:polling-consumer.html[Polling
+use cron based scheduling for xref:latest@manual::polling-consumer.adoc[Polling
 Consumer] such as the File and FTP
 consumers.
 
@@ -318,8 +322,8 @@ second, then a Camel route can be define simply as:
 ----
 
 Notice we define the `scheduler=quartz2` to instruct Camel to use the
-<<quartz2-component,Quartz2>> based scheduler. Then we use `scheduler.xxx`
-options to configure the scheduler. The <<quartz2-component,Quartz2>>
+xref:quartz2-component.adoc[Quartz2] based scheduler. Then we use `scheduler.xxx`
+options to configure the scheduler. The xref:quartz2-component.adoc[Quartz2]
 scheduler requires the cron option to be set.
 
 The following options is supported:
@@ -329,7 +333,7 @@ The following options is supported:
 |Parameter |Default |Type |Description
 
 |`quartzScheduler` |`null` |`org.quartz.Scheduler` |To use a custom Quartz scheduler. If none configure then the shared
-scheduler from the <<quartz2-component,Quartz2>> component is used.
+scheduler from the xref:quartz2-component.adoc[Quartz2] component is used.
 
 |`cron` |`null` |`String` |*Mandatory*: To define the cron expression for triggering the polls.
 
diff --git a/components/camel-quickfix/src/main/docs/quickfix-component.adoc b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
index 376e304..20c6408 100644
--- a/components/camel-quickfix/src/main/docs/quickfix-component.adoc
+++ b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
@@ -464,7 +464,7 @@ settings for both sessions.
 
 [source,xml]
 ----
-include::../../test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml[tags=e1]
+include::{examplesdir}/components/camel-quickfix/src/test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml[tags=e1]
 ----
 
 == Exception handling
@@ -589,7 +589,7 @@ initially as a collection of key value pairs data. You can use this
 object or you can use the method 'toString' to retrieve the original FIX
 message.
 
-*Note:* Alternatively, you can use <<bindy-dataformat,camel bindy dataformat>> to transform the FIX message into your own java POJO
+*Note:* Alternatively, you can use xref:bindy-dataformat.adoc[camel bindy dataformat] to transform the FIX message into your own java POJO
 
 When a message must be send to QuickFix, then you must create a
 QuickFix.Message instance.
@@ -625,4 +625,3 @@ Direction : from FIX gateway
   <to uri="uri="activemq:queue:fix"/>"
 </route>
 ----
-
diff --git a/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc b/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
index bff2663..83ce977 100644
--- a/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
+++ b/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
@@ -22,7 +22,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 The old syntax is *deprecated*:
 [source,text]
@@ -45,7 +45,7 @@ RabbitMQ client default (5672). The exchange name determines which
 exchange produced messages will sent to. In the case of consumers, the
 exchange name determines which exchange the queue will bind to.
 
-=== Options
+== Options
 
 // component options: START
 The RabbitMQ component supports 50 options, which are listed below.
@@ -281,7 +281,7 @@ See
 http://www.rabbitmq.com/releases/rabbitmq-java-client/current-javadoc/com/rabbitmq/client/ConnectionFactory.html[http://www.rabbitmq.com/releases/rabbitmq-java-client/current-javadoc/com/rabbitmq/client/ConnectionFactory.html]
 and the AMQP specification for more information on connection options.
 
-=== Using connection factory
+== Using connection factory
 
 To connect to RabbitMQ you can setup a `ConnectionFactory` (same as with JMS) with the login details such as:
 
@@ -317,7 +317,7 @@ From Camel 2.21 onwards the `ConnectionFactory` is auto-detected by default, so
 ----
 
 
-=== Message Headers
+== Message Headers
 
 The following headers are set on exchanges when consuming messages.
 
@@ -388,14 +388,14 @@ producer will also set the headers for downstream processors once the
 exchange has taken place. Any headers set prior to production that the
 producer sets will be overriden.
 
-=== Message Body
+== Message Body
 
 The component will use the camel exchange in body as the rabbit mq
 message body. The camel exchange in object must be convertible to a byte
 array. Otherwise the producer will throw an exception of unsupported
 body type.
 
-=== Samples
+== Samples
 
 To receive messages from a queue that is bound to an exchange A with the
 routing key B,
@@ -439,7 +439,7 @@ public Map<String, Object> bindArgsBuilder() {
 }
 ----
 
-==== Issue when routing between exchanges (in Camel 2.20.x or older)
+=== Issue when routing between exchanges (in Camel 2.20.x or older)
 
 If you for example want to route messages from one Rabbit exchange to another as shown
 in the example below with foo -> bar:
diff --git a/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc b/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
index 1fe0b87..f0b9eaf 100644
--- a/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
+++ b/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
@@ -441,6 +441,4 @@ To use the starter, add the following to your spring boot pom.xml file:
     <artifactId>camel-reactive-streams-starter</artifactId>
     <version>${camel.version}</version> <!-- use the same version as your Camel core version -->
 </dependency>
-------------------------------------------------------
-
-
+------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc b/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
index 4797b6b..005695b 100644
--- a/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
+++ b/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
@@ -9,12 +9,12 @@ http://swagger.io/[Swagger] (Open API) specification document and
 delegates to a component implementing the _RestProducerFactory_
 interface. Currently known working components are:
 
-* <<http-component,http>>
-* <<http4-component,http4>>
-* <<netty4-http-component,netty4-http>>
-* <<restlet-component,restlet>>
-* <<jetty-component,jetty>>
-* <<undertow-component,undertow>>
+* xref:http-component.adoc[HTTP]
+* xref:http4-component.adoc[HTTP4]
+* xref:netty4-http-component.adoc[Netty HTTP]
+* xref:restlet-component.adoc[Restlet]
+* xref:jetty-component.adoc[Jetty]
+* xref:undertow-component.adoc[undertow]
 
 Maven users will need to add the following dependency to their
 `pom.xml` for this component:
@@ -80,7 +80,7 @@ to message headers you can specify REST operation's parameters as
 endpoint parameters, these will be constant for all subsequent
 invocations so it makes sense to use this feature only for parameters
 that are indeed constant for all invocations -- for example API version
-in path such as `/api/{version}/users/{id}`. 
+in path such as `/api/\{version\}/users/\{id\}`. 
 
 == Options
 
@@ -185,7 +185,7 @@ http://petstore.swagger.io/[_PetStore_] provided REST API simply
 reference the specification URI and desired operation id from the
 Swagger specification or download the specification and store it as
 `swagger.json` (in the root) of CLASSPATH that way it will be 
-automaticaly used. Let's use the <<undertow-component,Undertow>>
+automaticaly used. Let's use the xref:undertow-component.adoc[Undertow]
 component to perform all the requests and Camels excelent support for 
 Spring Boot.
 
diff --git a/components/camel-restlet/src/main/docs/restlet-component.adoc b/components/camel-restlet/src/main/docs/restlet-component.adoc
index 32fd898..b6304dc 100644
--- a/components/camel-restlet/src/main/docs/restlet-component.adoc
+++ b/components/camel-restlet/src/main/docs/restlet-component.adoc
@@ -21,7 +21,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-=== URI format
+== URI format
 
 [source,text]
 ----
@@ -57,7 +57,7 @@ synchronous=true as option on the endpoint uris, Or set it on the
 RestletComponent as a global option so all endpoints inherit this
 option.
 
-=== Options
+== Options
 
 
 
@@ -198,7 +198,7 @@ The component supports 24 options, which are listed below.
 
 
 
-=== Message Headers
+== Message Headers
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |===
@@ -248,15 +248,15 @@ create responses using the API from Restlet. See examples below.
 the List of CacheDirective of Restlet from the camel message header.
 |===
 
-=== Message Body
+== Message Body
 
 Camel will store the restlet response from the external server on the
 OUT body. All headers from the IN message will be copied to the OUT
 message, so that headers are preserved during routing.
 
-=== Samples
+== Samples
... 18118 lines suppressed ...