pulsar-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mme...@apache.org
Subject [incubator-pulsar] branch asf-site updated: Updated site at revision 4694e6e
Date Thu, 23 Aug 2018 09:19:38 GMT
This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 89830a9  Updated site at revision 4694e6e
89830a9 is described below

commit 89830a93d0a6d433fe36ce3f21b62e0412d19c94
Author: jenkins <builds@apache.org>
AuthorDate: Thu Aug 23 09:19:27 2018 +0000

    Updated site at revision 4694e6e
---
 content/admin-rest-api.html                        |   2 +-
 content/admin-rest-api/index.html                  |   2 +-
 content/blog/2018/08/06/Apache-Pulsar-2-1-0.html   |   8 +-
 .../blog/2018/08/06/Apache-Pulsar-2-1-0/index.html |   8 +-
 content/blog/index.html                            |   6 +-
 content/contact.html                               |   2 +-
 content/contact/index.html                         |   2 +-
 content/css/main.css                               |   2 +-
 content/css/prism.css                              |  22 +-
 content/docs/adaptors-kafka.html                   |   2 +-
 content/docs/adaptors-kafka/index.html             |   2 +-
 content/docs/adaptors-spark.html                   |   2 +-
 content/docs/adaptors-spark/index.html             |   2 +-
 content/docs/adaptors-storm.html                   |   2 +-
 content/docs/adaptors-storm/index.html             |   2 +-
 content/docs/admin-api-brokers.html                |   2 +-
 content/docs/admin-api-brokers/index.html          |   2 +-
 content/docs/admin-api-clusters.html               |   2 +-
 content/docs/admin-api-clusters/index.html         |   2 +-
 content/docs/admin-api-namespaces.html             |   2 +-
 content/docs/admin-api-namespaces/index.html       |   2 +-
 content/docs/admin-api-non-persistent-topics.html  |   2 +-
 .../admin-api-non-persistent-topics/index.html     |   2 +-
 content/docs/admin-api-overview.html               |   2 +-
 content/docs/admin-api-overview/index.html         |   2 +-
 content/docs/admin-api-partitioned-topics.html     |   2 +-
 .../docs/admin-api-partitioned-topics/index.html   |   2 +-
 content/docs/admin-api-permissions.html            |   2 +-
 content/docs/admin-api-permissions/index.html      |   2 +-
 content/docs/admin-api-persistent-topics.html      |   2 +-
 .../docs/admin-api-persistent-topics/index.html    |   2 +-
 content/docs/admin-api-schemas.html                |   2 +-
 content/docs/admin-api-schemas/index.html          |   2 +-
 content/docs/admin-api-tenants.html                |   2 +-
 content/docs/admin-api-tenants/index.html          |   2 +-
 content/docs/administration-dashboard.html         |   2 +-
 content/docs/administration-dashboard/index.html   |   2 +-
 content/docs/administration-geo.html               |   2 +-
 content/docs/administration-geo/index.html         |   2 +-
 content/docs/administration-load-distribution.html |   2 +-
 .../administration-load-distribution/index.html    |   2 +-
 content/docs/administration-proxy.html             |   2 +-
 content/docs/administration-proxy/index.html       |   2 +-
 content/docs/administration-stats.html             |   2 +-
 content/docs/administration-stats/index.html       |   2 +-
 content/docs/administration-zk-bk.html             |   2 +-
 content/docs/administration-zk-bk/index.html       |   2 +-
 content/docs/client-libraries-cpp.html             |   2 +-
 content/docs/client-libraries-cpp/index.html       |   2 +-
 content/docs/client-libraries-go.html              |   2 +-
 content/docs/client-libraries-go/index.html        |   2 +-
 content/docs/client-libraries-java.html            |   2 +-
 content/docs/client-libraries-java/index.html      |   2 +-
 content/docs/client-libraries-python.html          |   2 +-
 content/docs/client-libraries-python/index.html    |   2 +-
 content/docs/client-libraries-websocket.html       |   2 +-
 content/docs/client-libraries-websocket/index.html |   2 +-
 content/docs/client-libraries.html                 |   2 +-
 content/docs/client-libraries/index.html           |   2 +-
 content/docs/concepts-architecture-overview.html   |   2 +-
 .../docs/concepts-architecture-overview/index.html |   2 +-
 content/docs/concepts-architecture.html            |   2 +-
 content/docs/concepts-architecture/index.html      |   2 +-
 content/docs/concepts-authentication.html          |   2 +-
 content/docs/concepts-authentication/index.html    |   2 +-
 content/docs/concepts-clients.html                 |   2 +-
 content/docs/concepts-clients/index.html           |   2 +-
 content/docs/concepts-messaging.html               |   2 +-
 content/docs/concepts-messaging/index.html         |   2 +-
 content/docs/concepts-multi-tenancy.html           |   2 +-
 content/docs/concepts-multi-tenancy/index.html     |   2 +-
 content/docs/concepts-overview.html                |   2 +-
 content/docs/concepts-overview/index.html          |   2 +-
 content/docs/concepts-replication.html             |   2 +-
 content/docs/concepts-replication/index.html       |   2 +-
 content/docs/concepts-schema-registry.html         |   2 +-
 content/docs/concepts-schema-registry/index.html   |   2 +-
 content/docs/concepts-tiered-storage.html          |   2 +-
 content/docs/concepts-tiered-storage/index.html    |   2 +-
 content/docs/concepts-topic-compaction.html        |   2 +-
 content/docs/concepts-topic-compaction/index.html  |   2 +-
 content/docs/cookbooks-compaction.html             |   2 +-
 content/docs/cookbooks-compaction/index.html       |   2 +-
 content/docs/cookbooks-deduplication.html          |   2 +-
 content/docs/cookbooks-deduplication/index.html    |   2 +-
 content/docs/cookbooks-encryption.html             |   2 +-
 content/docs/cookbooks-encryption/index.html       |   2 +-
 content/docs/cookbooks-message-queue.html          |   2 +-
 content/docs/cookbooks-message-queue/index.html    |   2 +-
 content/docs/cookbooks-non-persistent.html         |   2 +-
 content/docs/cookbooks-non-persistent/index.html   |   2 +-
 content/docs/cookbooks-partitioned.html            |   2 +-
 content/docs/cookbooks-partitioned/index.html      |   2 +-
 content/docs/cookbooks-retention-expiry.html       |   2 +-
 content/docs/cookbooks-retention-expiry/index.html |   2 +-
 content/docs/cookbooks-tiered-storage.html         |   2 +-
 content/docs/cookbooks-tiered-storage/index.html   |   2 +-
 content/docs/deploy-aws.html                       |   2 +-
 content/docs/deploy-aws/index.html                 |   2 +-
 content/docs/deploy-bare-metal-multi-cluster.html  |   2 +-
 .../deploy-bare-metal-multi-cluster/index.html     |   2 +-
 content/docs/deploy-bare-metal.html                |   2 +-
 content/docs/deploy-bare-metal/index.html          |   2 +-
 content/docs/deploy-dcos.html                      |   2 +-
 content/docs/deploy-dcos/index.html                |   2 +-
 content/docs/deploy-kubernetes.html                |   2 +-
 content/docs/deploy-kubernetes/index.html          |   2 +-
 content/docs/deploy-monitoring.html                |   2 +-
 content/docs/deploy-monitoring/index.html          |   2 +-
 content/docs/develop-binary-protocol.html          |   2 +-
 content/docs/develop-binary-protocol/index.html    |   2 +-
 content/docs/develop-cpp.html                      |   2 +-
 content/docs/develop-cpp/index.html                |   2 +-
 content/docs/develop-load-manager.html             |   2 +-
 content/docs/develop-load-manager/index.html       |   2 +-
 content/docs/develop-schema.html                   |   2 +-
 content/docs/develop-schema/index.html             |   2 +-
 content/docs/develop-tools.html                    |   2 +-
 content/docs/develop-tools/index.html              |   2 +-
 content/docs/en/adaptors-kafka.html                |  16 +-
 content/docs/en/adaptors-kafka/index.html          |  16 +-
 content/docs/en/adaptors-spark.html                |  12 +-
 content/docs/en/adaptors-spark/index.html          |  12 +-
 content/docs/en/adaptors-storm.html                |  12 +-
 content/docs/en/adaptors-storm/index.html          |  12 +-
 content/docs/en/admin-api-brokers.html             |  28 +--
 content/docs/en/admin-api-brokers/index.html       |  28 +--
 content/docs/en/admin-api-clusters.html            |  28 +--
 content/docs/en/admin-api-clusters/index.html      |  28 +--
 content/docs/en/admin-api-namespaces.html          |  68 +++---
 content/docs/en/admin-api-namespaces/index.html    |  68 +++---
 .../docs/en/admin-api-non-persistent-topics.html   |  30 +--
 .../en/admin-api-non-persistent-topics/index.html  |  30 +--
 content/docs/en/admin-api-overview.html            |  10 +-
 content/docs/en/admin-api-overview/index.html      |  10 +-
 content/docs/en/admin-api-partitioned-topics.html  |  40 ++--
 .../en/admin-api-partitioned-topics/index.html     |  40 ++--
 content/docs/en/admin-api-permissions.html         |  24 ++-
 content/docs/en/admin-api-permissions/index.html   |  24 ++-
 content/docs/en/admin-api-persistent-topics.html   |  76 +++----
 .../docs/en/admin-api-persistent-topics/index.html |  76 +++----
 content/docs/en/admin-api-schemas.html             |  16 +-
 content/docs/en/admin-api-schemas/index.html       |  16 +-
 content/docs/en/admin-api-tenants.html             |  16 +-
 content/docs/en/admin-api-tenants/index.html       |  16 +-
 content/docs/en/administration-dashboard.html      |  12 +-
 .../docs/en/administration-dashboard/index.html    |  12 +-
 content/docs/en/administration-geo.html            |  16 +-
 content/docs/en/administration-geo/index.html      |  16 +-
 .../docs/en/administration-load-distribution.html  |  24 ++-
 .../en/administration-load-distribution/index.html |  24 ++-
 content/docs/en/administration-proxy.html          |   8 +-
 content/docs/en/administration-proxy/index.html    |   8 +-
 content/docs/en/administration-stats.html          |   6 +-
 content/docs/en/administration-stats/index.html    |   6 +-
 content/docs/en/administration-zk-bk.html          |  34 +--
 content/docs/en/administration-zk-bk/index.html    |  34 +--
 content/docs/en/client-libraries-cpp.html          |  30 +--
 content/docs/en/client-libraries-cpp/index.html    |  30 +--
 content/docs/en/client-libraries-go.html           |  38 ++--
 content/docs/en/client-libraries-go/index.html     |  38 ++--
 content/docs/en/client-libraries-java.html         |  66 +++---
 content/docs/en/client-libraries-java/index.html   |  66 +++---
 content/docs/en/client-libraries-python.html       |  16 +-
 content/docs/en/client-libraries-python/index.html |  16 +-
 content/docs/en/client-libraries-websocket.html    |  48 +++--
 .../docs/en/client-libraries-websocket/index.html  |  48 +++--
 content/docs/en/client-libraries.html              |   6 +-
 content/docs/en/client-libraries/index.html        |   6 +-
 .../docs/en/concepts-architecture-overview.html    |  12 +-
 .../en/concepts-architecture-overview/index.html   |  12 +-
 content/docs/en/concepts-architecture.html         |   2 +-
 content/docs/en/concepts-architecture/index.html   |   2 +-
 content/docs/en/concepts-authentication.html       |   6 +-
 content/docs/en/concepts-authentication/index.html |   6 +-
 content/docs/en/concepts-clients.html              |  12 +-
 content/docs/en/concepts-clients/index.html        |  12 +-
 content/docs/en/concepts-messaging.html            |  16 +-
 content/docs/en/concepts-messaging/index.html      |  16 +-
 content/docs/en/concepts-multi-tenancy.html        |  10 +-
 content/docs/en/concepts-multi-tenancy/index.html  |  10 +-
 content/docs/en/concepts-overview.html             |   6 +-
 content/docs/en/concepts-overview/index.html       |   6 +-
 content/docs/en/concepts-replication.html          |   6 +-
 content/docs/en/concepts-replication/index.html    |   6 +-
 content/docs/en/concepts-schema-registry.html      |   8 +-
 .../docs/en/concepts-schema-registry/index.html    |   8 +-
 content/docs/en/concepts-tiered-storage.html       |   6 +-
 content/docs/en/concepts-tiered-storage/index.html |   6 +-
 content/docs/en/concepts-topic-compaction.html     |   6 +-
 .../docs/en/concepts-topic-compaction/index.html   |   6 +-
 content/docs/en/cookbooks-compaction.html          |  20 +-
 content/docs/en/cookbooks-compaction/index.html    |  20 +-
 content/docs/en/cookbooks-deduplication.html       |  16 +-
 content/docs/en/cookbooks-deduplication/index.html |  16 +-
 content/docs/en/cookbooks-encryption.html          |  14 +-
 content/docs/en/cookbooks-encryption/index.html    |  14 +-
 content/docs/en/cookbooks-message-queue.html       |  12 +-
 content/docs/en/cookbooks-message-queue/index.html |  12 +-
 content/docs/en/cookbooks-non-persistent.html      |  10 +-
 .../docs/en/cookbooks-non-persistent/index.html    |  10 +-
 content/docs/en/cookbooks-partitioned.html         |  14 +-
 content/docs/en/cookbooks-partitioned/index.html   |  14 +-
 content/docs/en/cookbooks-retention-expiry.html    |  40 ++--
 .../docs/en/cookbooks-retention-expiry/index.html  |  40 ++--
 content/docs/en/cookbooks-tiered-storage.html      |  24 ++-
 .../docs/en/cookbooks-tiered-storage/index.html    |  24 ++-
 content/docs/en/deploy-aws.html                    |  42 ++--
 content/docs/en/deploy-aws/index.html              |  42 ++--
 .../docs/en/deploy-bare-metal-multi-cluster.html   |  54 ++---
 .../en/deploy-bare-metal-multi-cluster/index.html  |  54 ++---
 content/docs/en/deploy-bare-metal.html             |  56 ++---
 content/docs/en/deploy-bare-metal/index.html       |  56 ++---
 content/docs/en/deploy-dcos.html                   |  20 +-
 content/docs/en/deploy-dcos/index.html             |  20 +-
 content/docs/en/deploy-kubernetes.html             |  64 +++---
 content/docs/en/deploy-kubernetes/index.html       |  64 +++---
 content/docs/en/deploy-monitoring.html             |  18 +-
 content/docs/en/deploy-monitoring/index.html       |  18 +-
 content/docs/en/develop-binary-protocol.html       |  36 ++--
 content/docs/en/develop-binary-protocol/index.html |  36 ++--
 content/docs/en/develop-cpp.html                   |  18 +-
 content/docs/en/develop-cpp/index.html             |  18 +-
 content/docs/en/develop-load-manager.html          |  14 +-
 content/docs/en/develop-load-manager/index.html    |  14 +-
 content/docs/en/develop-schema.html                |  10 +-
 content/docs/en/develop-schema/index.html          |  10 +-
 content/docs/en/develop-tools.html                 |   6 +-
 content/docs/en/develop-tools/index.html           |   6 +-
 content/docs/en/functions-api.html                 |  72 ++++---
 content/docs/en/functions-api/index.html           |  72 ++++---
 content/docs/en/functions-deploying.html           |  36 ++--
 content/docs/en/functions-deploying/index.html     |  36 ++--
 content/docs/en/functions-guarantees.html          |  10 +-
 content/docs/en/functions-guarantees/index.html    |  10 +-
 content/docs/en/functions-metrics.html             |  10 +-
 content/docs/en/functions-metrics/index.html       |  10 +-
 content/docs/en/functions-overview.html            |  52 ++---
 content/docs/en/functions-overview/index.html      |  52 ++---
 content/docs/en/functions-quickstart.html          |  46 ++--
 content/docs/en/functions-quickstart/index.html    |  46 ++--
 content/docs/en/functions-state.html               |  16 +-
 content/docs/en/functions-state/index.html         |  16 +-
 content/docs/en/io-aerospike.html                  |   2 +-
 content/docs/en/io-aerospike/index.html            |   2 +-
 content/docs/en/io-cassandra.html                  |   2 +-
 content/docs/en/io-cassandra/index.html            |   2 +-
 content/docs/en/io-connectors.html                 |   6 +-
 content/docs/en/io-connectors/index.html           |   6 +-
 content/docs/en/io-develop.html                    |  18 +-
 content/docs/en/io-develop/index.html              |  18 +-
 content/docs/en/io-kafka.html                      |   2 +-
 content/docs/en/io-kafka/index.html                |   2 +-
 content/docs/en/io-kinesis.html                    |   2 +-
 content/docs/en/io-kinesis/index.html              |   2 +-
 content/docs/en/io-managing.html                   |  28 +--
 content/docs/en/io-managing/index.html             |  28 +--
 content/docs/en/io-overview.html                   |   6 +-
 content/docs/en/io-overview/index.html             |   6 +-
 content/docs/en/io-quickstart.html                 |  66 +++---
 content/docs/en/io-quickstart/index.html           |  66 +++---
 content/docs/en/io-rabbitmq.html                   |   2 +-
 content/docs/en/io-rabbitmq/index.html             |   2 +-
 content/docs/en/io-twitter.html                    |   2 +-
 content/docs/en/io-twitter/index.html              |   2 +-
 content/docs/en/next/adaptors-kafka.html           |  16 +-
 content/docs/en/next/adaptors-kafka/index.html     |  16 +-
 content/docs/en/next/adaptors-spark.html           |  12 +-
 content/docs/en/next/adaptors-spark/index.html     |  12 +-
 content/docs/en/next/adaptors-storm.html           |  12 +-
 content/docs/en/next/adaptors-storm/index.html     |  12 +-
 content/docs/en/next/admin-api-brokers.html        |  28 +--
 content/docs/en/next/admin-api-brokers/index.html  |  28 +--
 content/docs/en/next/admin-api-clusters.html       |  28 +--
 content/docs/en/next/admin-api-clusters/index.html |  28 +--
 content/docs/en/next/admin-api-namespaces.html     |  68 +++---
 .../docs/en/next/admin-api-namespaces/index.html   |  68 +++---
 .../en/next/admin-api-non-persistent-topics.html   |  30 +--
 .../admin-api-non-persistent-topics/index.html     |  30 +--
 content/docs/en/next/admin-api-overview.html       |  10 +-
 content/docs/en/next/admin-api-overview/index.html |  10 +-
 .../docs/en/next/admin-api-partitioned-topics.html |  40 ++--
 .../next/admin-api-partitioned-topics/index.html   |  40 ++--
 content/docs/en/next/admin-api-permissions.html    |  24 ++-
 .../docs/en/next/admin-api-permissions/index.html  |  24 ++-
 .../docs/en/next/admin-api-persistent-topics.html  |  76 +++----
 .../en/next/admin-api-persistent-topics/index.html |  76 +++----
 content/docs/en/next/admin-api-schemas.html        |  16 +-
 content/docs/en/next/admin-api-schemas/index.html  |  16 +-
 content/docs/en/next/admin-api-tenants.html        |  16 +-
 content/docs/en/next/admin-api-tenants/index.html  |  16 +-
 content/docs/en/next/administration-dashboard.html |  12 +-
 .../en/next/administration-dashboard/index.html    |  12 +-
 content/docs/en/next/administration-geo.html       |  16 +-
 content/docs/en/next/administration-geo/index.html |  16 +-
 .../en/next/administration-load-distribution.html  |  24 ++-
 .../administration-load-distribution/index.html    |  24 ++-
 content/docs/en/next/administration-proxy.html     |   8 +-
 .../docs/en/next/administration-proxy/index.html   |   8 +-
 content/docs/en/next/administration-stats.html     |   6 +-
 .../docs/en/next/administration-stats/index.html   |   6 +-
 content/docs/en/next/administration-zk-bk.html     |  34 +--
 .../docs/en/next/administration-zk-bk/index.html   |  34 +--
 content/docs/en/next/client-libraries-cpp.html     |  30 +--
 .../docs/en/next/client-libraries-cpp/index.html   |  30 +--
 content/docs/en/next/client-libraries-go.html      |  38 ++--
 .../docs/en/next/client-libraries-go/index.html    |  38 ++--
 content/docs/en/next/client-libraries-java.html    |  66 +++---
 .../docs/en/next/client-libraries-java/index.html  |  66 +++---
 content/docs/en/next/client-libraries-python.html  |  16 +-
 .../en/next/client-libraries-python/index.html     |  16 +-
 .../docs/en/next/client-libraries-websocket.html   |  48 +++--
 .../en/next/client-libraries-websocket/index.html  |  48 +++--
 content/docs/en/next/client-libraries.html         |   6 +-
 content/docs/en/next/client-libraries/index.html   |   6 +-
 .../en/next/concepts-architecture-overview.html    |  12 +-
 .../next/concepts-architecture-overview/index.html |  12 +-
 content/docs/en/next/concepts-architecture.html    |   2 +-
 .../docs/en/next/concepts-architecture/index.html  |   2 +-
 content/docs/en/next/concepts-authentication.html  |   6 +-
 .../en/next/concepts-authentication/index.html     |   6 +-
 content/docs/en/next/concepts-clients.html         |  12 +-
 content/docs/en/next/concepts-clients/index.html   |  12 +-
 content/docs/en/next/concepts-messaging.html       |  16 +-
 content/docs/en/next/concepts-messaging/index.html |  16 +-
 content/docs/en/next/concepts-multi-tenancy.html   |  10 +-
 .../docs/en/next/concepts-multi-tenancy/index.html |  10 +-
 content/docs/en/next/concepts-overview.html        |   6 +-
 content/docs/en/next/concepts-overview/index.html  |   6 +-
 content/docs/en/next/concepts-replication.html     |   6 +-
 .../docs/en/next/concepts-replication/index.html   |   6 +-
 content/docs/en/next/concepts-schema-registry.html |   8 +-
 .../en/next/concepts-schema-registry/index.html    |   8 +-
 content/docs/en/next/concepts-tiered-storage.html  |   6 +-
 .../en/next/concepts-tiered-storage/index.html     |   6 +-
 .../docs/en/next/concepts-topic-compaction.html    |   6 +-
 .../en/next/concepts-topic-compaction/index.html   |   6 +-
 content/docs/en/next/cookbooks-compaction.html     |  20 +-
 .../docs/en/next/cookbooks-compaction/index.html   |  20 +-
 content/docs/en/next/cookbooks-deduplication.html  |  16 +-
 .../en/next/cookbooks-deduplication/index.html     |  16 +-
 content/docs/en/next/cookbooks-encryption.html     |  14 +-
 .../docs/en/next/cookbooks-encryption/index.html   |  14 +-
 content/docs/en/next/cookbooks-message-queue.html  |  12 +-
 .../en/next/cookbooks-message-queue/index.html     |  12 +-
 content/docs/en/next/cookbooks-non-persistent.html |  10 +-
 .../en/next/cookbooks-non-persistent/index.html    |  10 +-
 content/docs/en/next/cookbooks-partitioned.html    |  14 +-
 .../docs/en/next/cookbooks-partitioned/index.html  |  14 +-
 .../docs/en/next/cookbooks-retention-expiry.html   |  40 ++--
 .../en/next/cookbooks-retention-expiry/index.html  |  40 ++--
 content/docs/en/next/cookbooks-tiered-storage.html |  34 +--
 .../en/next/cookbooks-tiered-storage/index.html    |  34 +--
 content/docs/en/next/deploy-aws.html               |  42 ++--
 content/docs/en/next/deploy-aws/index.html         |  42 ++--
 .../en/next/deploy-bare-metal-multi-cluster.html   |  54 ++---
 .../deploy-bare-metal-multi-cluster/index.html     |  54 ++---
 content/docs/en/next/deploy-bare-metal.html        |  56 ++---
 content/docs/en/next/deploy-bare-metal/index.html  |  56 ++---
 content/docs/en/next/deploy-dcos.html              |  20 +-
 content/docs/en/next/deploy-dcos/index.html        |  20 +-
 content/docs/en/next/deploy-kubernetes.html        |  64 +++---
 content/docs/en/next/deploy-kubernetes/index.html  |  64 +++---
 content/docs/en/next/deploy-monitoring.html        |  18 +-
 content/docs/en/next/deploy-monitoring/index.html  |  18 +-
 content/docs/en/next/develop-binary-protocol.html  |  36 ++--
 .../en/next/develop-binary-protocol/index.html     |  36 ++--
 content/docs/en/next/develop-cpp.html              |  18 +-
 content/docs/en/next/develop-cpp/index.html        |  18 +-
 content/docs/en/next/develop-load-manager.html     |  14 +-
 .../docs/en/next/develop-load-manager/index.html   |  14 +-
 content/docs/en/next/develop-schema.html           |  10 +-
 content/docs/en/next/develop-schema/index.html     |  10 +-
 content/docs/en/next/develop-tools.html            |   6 +-
 content/docs/en/next/develop-tools/index.html      |   6 +-
 content/docs/en/next/functions-api.html            |  72 ++++---
 content/docs/en/next/functions-api/index.html      |  72 ++++---
 content/docs/en/next/functions-deploying.html      |  36 ++--
 .../docs/en/next/functions-deploying/index.html    |  36 ++--
 content/docs/en/next/functions-guarantees.html     |  10 +-
 .../docs/en/next/functions-guarantees/index.html   |  10 +-
 content/docs/en/next/functions-metrics.html        |  10 +-
 content/docs/en/next/functions-metrics/index.html  |  10 +-
 content/docs/en/next/functions-overview.html       |  52 ++---
 content/docs/en/next/functions-overview/index.html |  52 ++---
 content/docs/en/next/functions-quickstart.html     |  46 ++--
 .../docs/en/next/functions-quickstart/index.html   |  46 ++--
 content/docs/en/next/functions-state.html          |  16 +-
 content/docs/en/next/functions-state/index.html    |  16 +-
 content/docs/en/next/io-aerospike.html             |   2 +-
 content/docs/en/next/io-aerospike/index.html       |   2 +-
 content/docs/en/next/io-cassandra.html             |   2 +-
 content/docs/en/next/io-cassandra/index.html       |   2 +-
 content/docs/en/next/io-connectors.html            |   6 +-
 content/docs/en/next/io-connectors/index.html      |   6 +-
 content/docs/en/next/io-develop.html               |  18 +-
 content/docs/en/next/io-develop/index.html         |  18 +-
 content/docs/en/next/io-kafka.html                 |   2 +-
 content/docs/en/next/io-kafka/index.html           |   2 +-
 content/docs/en/next/io-kinesis.html               |   2 +-
 content/docs/en/next/io-kinesis/index.html         |   2 +-
 content/docs/en/next/io-managing.html              |  28 +--
 content/docs/en/next/io-managing/index.html        |  28 +--
 content/docs/en/next/io-overview.html              |   6 +-
 content/docs/en/next/io-overview/index.html        |   6 +-
 content/docs/en/next/io-quickstart.html            |  66 +++---
 content/docs/en/next/io-quickstart/index.html      |  66 +++---
 content/docs/en/next/io-rabbitmq.html              |   2 +-
 content/docs/en/next/io-rabbitmq/index.html        |   2 +-
 content/docs/en/next/io-twitter.html               |   2 +-
 content/docs/en/next/io-twitter/index.html         |   2 +-
 content/docs/en/next/pulsar-2.0.html               |  10 +-
 content/docs/en/next/pulsar-2.0/index.html         |  10 +-
 content/docs/en/next/pulsar-admin.html             | 232 +++++++++++----------
 content/docs/en/next/pulsar-admin/index.html       | 232 +++++++++++----------
 content/docs/en/next/reference-cli-tools.html      |  88 ++++----
 .../docs/en/next/reference-cli-tools/index.html    |  88 ++++----
 content/docs/en/next/reference-configuration.html  |   8 +-
 .../en/next/reference-configuration/index.html     |   8 +-
 content/docs/en/next/reference-terminology.html    |   6 +-
 .../docs/en/next/reference-terminology/index.html  |   6 +-
 content/docs/en/next/security-athenz.html          |  10 +-
 content/docs/en/next/security-athenz/index.html    |  10 +-
 content/docs/en/next/security-authorization.html   |  18 +-
 .../docs/en/next/security-authorization/index.html |  18 +-
 content/docs/en/next/security-encryption.html      |  14 +-
 .../docs/en/next/security-encryption/index.html    |  14 +-
 content/docs/en/next/security-extending.html       |  16 +-
 content/docs/en/next/security-extending/index.html |  16 +-
 content/docs/en/next/security-overview.html        |   6 +-
 content/docs/en/next/security-overview/index.html  |   6 +-
 .../docs/en/next/security-tls-authentication.html  |  26 ++-
 .../en/next/security-tls-authentication/index.html |  26 ++-
 content/docs/en/next/security-tls-transport.html   |  30 +--
 .../docs/en/next/security-tls-transport/index.html |  30 +--
 content/docs/en/next/standalone-docker.html        |  18 +-
 content/docs/en/next/standalone-docker/index.html  |  18 +-
 content/docs/en/next/standalone.html               |  26 ++-
 content/docs/en/next/standalone/index.html         |  26 ++-
 content/docs/en/pulsar-2.0.html                    |  10 +-
 content/docs/en/pulsar-2.0/index.html              |  10 +-
 content/docs/en/pulsar-admin.html                  | 232 +++++++++++----------
 content/docs/en/pulsar-admin/index.html            | 232 +++++++++++----------
 content/docs/en/reference-cli-tools.html           |  88 ++++----
 content/docs/en/reference-cli-tools/index.html     |  88 ++++----
 content/docs/en/reference-configuration.html       |   8 +-
 content/docs/en/reference-configuration/index.html |   8 +-
 content/docs/en/reference-terminology.html         |   6 +-
 content/docs/en/reference-terminology/index.html   |   6 +-
 content/docs/en/security-athenz.html               |  10 +-
 content/docs/en/security-athenz/index.html         |  10 +-
 content/docs/en/security-authorization.html        |  18 +-
 content/docs/en/security-authorization/index.html  |  18 +-
 content/docs/en/security-encryption.html           |  14 +-
 content/docs/en/security-encryption/index.html     |  14 +-
 content/docs/en/security-extending.html            |  16 +-
 content/docs/en/security-extending/index.html      |  16 +-
 content/docs/en/security-overview.html             |   6 +-
 content/docs/en/security-overview/index.html       |   6 +-
 content/docs/en/security-tls-authentication.html   |  26 ++-
 .../docs/en/security-tls-authentication/index.html |  26 ++-
 content/docs/en/security-tls-transport.html        |  30 +--
 content/docs/en/security-tls-transport/index.html  |  30 +--
 content/docs/en/standalone-docker.html             |  18 +-
 content/docs/en/standalone-docker/index.html       |  18 +-
 content/docs/en/standalone.html                    |  26 ++-
 content/docs/en/standalone/index.html              |  26 ++-
 content/docs/fr/adaptors-kafka.html                |  16 +-
 content/docs/fr/adaptors-kafka/index.html          |  16 +-
 content/docs/fr/adaptors-spark.html                |  12 +-
 content/docs/fr/adaptors-spark/index.html          |  12 +-
 content/docs/fr/adaptors-storm.html                |  12 +-
 content/docs/fr/adaptors-storm/index.html          |  12 +-
 content/docs/fr/admin-api-brokers.html             |  28 +--
 content/docs/fr/admin-api-brokers/index.html       |  28 +--
 content/docs/fr/admin-api-clusters.html            |  28 +--
 content/docs/fr/admin-api-clusters/index.html      |  28 +--
 content/docs/fr/admin-api-namespaces.html          |  68 +++---
 content/docs/fr/admin-api-namespaces/index.html    |  68 +++---
 .../docs/fr/admin-api-non-persistent-topics.html   |  30 +--
 .../fr/admin-api-non-persistent-topics/index.html  |  30 +--
 content/docs/fr/admin-api-overview.html            |  10 +-
 content/docs/fr/admin-api-overview/index.html      |  10 +-
 content/docs/fr/admin-api-partitioned-topics.html  |  40 ++--
 .../fr/admin-api-partitioned-topics/index.html     |  40 ++--
 content/docs/fr/admin-api-permissions.html         |  24 ++-
 content/docs/fr/admin-api-permissions/index.html   |  24 ++-
 content/docs/fr/admin-api-persistent-topics.html   |  76 +++----
 .../docs/fr/admin-api-persistent-topics/index.html |  76 +++----
 content/docs/fr/admin-api-schemas.html             |  16 +-
 content/docs/fr/admin-api-schemas/index.html       |  16 +-
 content/docs/fr/admin-api-tenants.html             |  16 +-
 content/docs/fr/admin-api-tenants/index.html       |  16 +-
 content/docs/fr/administration-dashboard.html      |  12 +-
 .../docs/fr/administration-dashboard/index.html    |  12 +-
 content/docs/fr/administration-geo.html            |  16 +-
 content/docs/fr/administration-geo/index.html      |  16 +-
 .../docs/fr/administration-load-distribution.html  |  24 ++-
 .../fr/administration-load-distribution/index.html |  24 ++-
 content/docs/fr/administration-proxy.html          |   8 +-
 content/docs/fr/administration-proxy/index.html    |   8 +-
 content/docs/fr/administration-stats.html          |   6 +-
 content/docs/fr/administration-stats/index.html    |   6 +-
 content/docs/fr/administration-zk-bk.html          |  34 +--
 content/docs/fr/administration-zk-bk/index.html    |  34 +--
 content/docs/fr/client-libraries-cpp.html          |  30 +--
 content/docs/fr/client-libraries-cpp/index.html    |  30 +--
 content/docs/fr/client-libraries-go.html           |  38 ++--
 content/docs/fr/client-libraries-go/index.html     |  38 ++--
 content/docs/fr/client-libraries-java.html         |  64 +++---
 content/docs/fr/client-libraries-java/index.html   |  64 +++---
 content/docs/fr/client-libraries-python.html       |  16 +-
 content/docs/fr/client-libraries-python/index.html |  16 +-
 content/docs/fr/client-libraries-websocket.html    |  48 +++--
 .../docs/fr/client-libraries-websocket/index.html  |  48 +++--
 content/docs/fr/client-libraries.html              |   6 +-
 content/docs/fr/client-libraries/index.html        |   6 +-
 .../docs/fr/concepts-architecture-overview.html    |  12 +-
 .../fr/concepts-architecture-overview/index.html   |  12 +-
 content/docs/fr/concepts-architecture.html         |   2 +-
 content/docs/fr/concepts-architecture/index.html   |   2 +-
 content/docs/fr/concepts-authentication.html       |   6 +-
 content/docs/fr/concepts-authentication/index.html |   6 +-
 content/docs/fr/concepts-clients.html              |  12 +-
 content/docs/fr/concepts-clients/index.html        |  12 +-
 content/docs/fr/concepts-messaging.html            |  16 +-
 content/docs/fr/concepts-messaging/index.html      |  16 +-
 content/docs/fr/concepts-multi-tenancy.html        |  10 +-
 content/docs/fr/concepts-multi-tenancy/index.html  |  10 +-
 content/docs/fr/concepts-overview.html             |   6 +-
 content/docs/fr/concepts-overview/index.html       |   6 +-
 content/docs/fr/concepts-replication.html          |   6 +-
 content/docs/fr/concepts-replication/index.html    |   6 +-
 content/docs/fr/concepts-schema-registry.html      |   8 +-
 .../docs/fr/concepts-schema-registry/index.html    |   8 +-
 content/docs/fr/concepts-tiered-storage.html       |   6 +-
 content/docs/fr/concepts-tiered-storage/index.html |   6 +-
 content/docs/fr/concepts-topic-compaction.html     |   6 +-
 .../docs/fr/concepts-topic-compaction/index.html   |   6 +-
 content/docs/fr/cookbooks-compaction.html          |  20 +-
 content/docs/fr/cookbooks-compaction/index.html    |  20 +-
 content/docs/fr/cookbooks-deduplication.html       |  16 +-
 content/docs/fr/cookbooks-deduplication/index.html |  16 +-
 content/docs/fr/cookbooks-encryption.html          |  14 +-
 content/docs/fr/cookbooks-encryption/index.html    |  14 +-
 content/docs/fr/cookbooks-message-queue.html       |  12 +-
 content/docs/fr/cookbooks-message-queue/index.html |  12 +-
 content/docs/fr/cookbooks-non-persistent.html      |  10 +-
 .../docs/fr/cookbooks-non-persistent/index.html    |  10 +-
 content/docs/fr/cookbooks-partitioned.html         |  14 +-
 content/docs/fr/cookbooks-partitioned/index.html   |  14 +-
 content/docs/fr/cookbooks-retention-expiry.html    |  40 ++--
 .../docs/fr/cookbooks-retention-expiry/index.html  |  40 ++--
 content/docs/fr/cookbooks-tiered-storage.html      |  24 ++-
 .../docs/fr/cookbooks-tiered-storage/index.html    |  24 ++-
 content/docs/fr/deploy-aws.html                    |  40 ++--
 content/docs/fr/deploy-aws/index.html              |  40 ++--
 .../docs/fr/deploy-bare-metal-multi-cluster.html   |  54 ++---
 .../fr/deploy-bare-metal-multi-cluster/index.html  |  54 ++---
 content/docs/fr/deploy-bare-metal.html             |  54 ++---
 content/docs/fr/deploy-bare-metal/index.html       |  54 ++---
 content/docs/fr/deploy-dcos.html                   |  20 +-
 content/docs/fr/deploy-dcos/index.html             |  20 +-
 content/docs/fr/deploy-kubernetes.html             |  56 ++---
 content/docs/fr/deploy-kubernetes/index.html       |  56 ++---
 content/docs/fr/deploy-monitoring.html             |  18 +-
 content/docs/fr/deploy-monitoring/index.html       |  18 +-
 content/docs/fr/develop-binary-protocol.html       |  36 ++--
 content/docs/fr/develop-binary-protocol/index.html |  36 ++--
 content/docs/fr/develop-cpp.html                   |  18 +-
 content/docs/fr/develop-cpp/index.html             |  18 +-
 content/docs/fr/develop-load-manager.html          |  14 +-
 content/docs/fr/develop-load-manager/index.html    |  14 +-
 content/docs/fr/develop-schema.html                |  10 +-
 content/docs/fr/develop-schema/index.html          |  10 +-
 content/docs/fr/develop-tools.html                 |   6 +-
 content/docs/fr/develop-tools/index.html           |   6 +-
 content/docs/fr/functions-api.html                 |  72 ++++---
 content/docs/fr/functions-api/index.html           |  72 ++++---
 content/docs/fr/functions-deploying.html           |  36 ++--
 content/docs/fr/functions-deploying/index.html     |  36 ++--
 content/docs/fr/functions-guarantees.html          |  10 +-
 content/docs/fr/functions-guarantees/index.html    |  10 +-
 content/docs/fr/functions-metrics.html             |  10 +-
 content/docs/fr/functions-metrics/index.html       |  10 +-
 content/docs/fr/functions-overview.html            |  52 ++---
 content/docs/fr/functions-overview/index.html      |  52 ++---
 content/docs/fr/functions-quickstart.html          |  42 ++--
 content/docs/fr/functions-quickstart/index.html    |  42 ++--
 content/docs/fr/functions-state.html               |  16 +-
 content/docs/fr/functions-state/index.html         |  16 +-
 content/docs/fr/io-aerospike.html                  |   2 +-
 content/docs/fr/io-aerospike/index.html            |   2 +-
 content/docs/fr/io-cassandra.html                  |   2 +-
 content/docs/fr/io-cassandra/index.html            |   2 +-
 content/docs/fr/io-connectors.html                 |   6 +-
 content/docs/fr/io-connectors/index.html           |   6 +-
 content/docs/fr/io-develop.html                    |  18 +-
 content/docs/fr/io-develop/index.html              |  18 +-
 content/docs/fr/io-kafka.html                      |   2 +-
 content/docs/fr/io-kafka/index.html                |   2 +-
 content/docs/fr/io-kinesis.html                    |   2 +-
 content/docs/fr/io-kinesis/index.html              |   2 +-
 content/docs/fr/io-managing.html                   |  28 +--
 content/docs/fr/io-managing/index.html             |  28 +--
 content/docs/fr/io-overview.html                   |   6 +-
 content/docs/fr/io-overview/index.html             |   6 +-
 content/docs/fr/io-quickstart.html                 |  66 +++---
 content/docs/fr/io-quickstart/index.html           |  66 +++---
 content/docs/fr/io-rabbitmq.html                   |   2 +-
 content/docs/fr/io-rabbitmq/index.html             |   2 +-
 content/docs/fr/io-twitter.html                    |   2 +-
 content/docs/fr/io-twitter/index.html              |   2 +-
 content/docs/fr/next/adaptors-kafka.html           |  16 +-
 content/docs/fr/next/adaptors-kafka/index.html     |  16 +-
 content/docs/fr/next/adaptors-spark.html           |  12 +-
 content/docs/fr/next/adaptors-spark/index.html     |  12 +-
 content/docs/fr/next/adaptors-storm.html           |  12 +-
 content/docs/fr/next/adaptors-storm/index.html     |  12 +-
 content/docs/fr/next/admin-api-brokers.html        |  28 +--
 content/docs/fr/next/admin-api-brokers/index.html  |  28 +--
 content/docs/fr/next/admin-api-clusters.html       |  28 +--
 content/docs/fr/next/admin-api-clusters/index.html |  28 +--
 content/docs/fr/next/admin-api-namespaces.html     |  68 +++---
 .../docs/fr/next/admin-api-namespaces/index.html   |  68 +++---
 .../fr/next/admin-api-non-persistent-topics.html   |  30 +--
 .../admin-api-non-persistent-topics/index.html     |  30 +--
 content/docs/fr/next/admin-api-overview.html       |  10 +-
 content/docs/fr/next/admin-api-overview/index.html |  10 +-
 .../docs/fr/next/admin-api-partitioned-topics.html |  40 ++--
 .../next/admin-api-partitioned-topics/index.html   |  40 ++--
 content/docs/fr/next/admin-api-permissions.html    |  24 ++-
 .../docs/fr/next/admin-api-permissions/index.html  |  24 ++-
 .../docs/fr/next/admin-api-persistent-topics.html  |  76 +++----
 .../fr/next/admin-api-persistent-topics/index.html |  76 +++----
 content/docs/fr/next/admin-api-schemas.html        |  16 +-
 content/docs/fr/next/admin-api-schemas/index.html  |  16 +-
 content/docs/fr/next/admin-api-tenants.html        |  16 +-
 content/docs/fr/next/admin-api-tenants/index.html  |  16 +-
 content/docs/fr/next/administration-dashboard.html |  12 +-
 .../fr/next/administration-dashboard/index.html    |  12 +-
 content/docs/fr/next/administration-geo.html       |  16 +-
 content/docs/fr/next/administration-geo/index.html |  16 +-
 .../fr/next/administration-load-distribution.html  |  24 ++-
 .../administration-load-distribution/index.html    |  24 ++-
 content/docs/fr/next/administration-proxy.html     |   8 +-
 .../docs/fr/next/administration-proxy/index.html   |   8 +-
 content/docs/fr/next/administration-stats.html     |   6 +-
 .../docs/fr/next/administration-stats/index.html   |   6 +-
 content/docs/fr/next/administration-zk-bk.html     |  34 +--
 .../docs/fr/next/administration-zk-bk/index.html   |  34 +--
 content/docs/fr/next/client-libraries-cpp.html     |  30 +--
 .../docs/fr/next/client-libraries-cpp/index.html   |  30 +--
 content/docs/fr/next/client-libraries-go.html      |  38 ++--
 .../docs/fr/next/client-libraries-go/index.html    |  38 ++--
 content/docs/fr/next/client-libraries-java.html    |  64 +++---
 .../docs/fr/next/client-libraries-java/index.html  |  64 +++---
 content/docs/fr/next/client-libraries-python.html  |  16 +-
 .../fr/next/client-libraries-python/index.html     |  16 +-
 .../docs/fr/next/client-libraries-websocket.html   |  48 +++--
 .../fr/next/client-libraries-websocket/index.html  |  48 +++--
 content/docs/fr/next/client-libraries.html         |   6 +-
 content/docs/fr/next/client-libraries/index.html   |   6 +-
 .../fr/next/concepts-architecture-overview.html    |  12 +-
 .../next/concepts-architecture-overview/index.html |  12 +-
 content/docs/fr/next/concepts-architecture.html    |   2 +-
 .../docs/fr/next/concepts-architecture/index.html  |   2 +-
 content/docs/fr/next/concepts-authentication.html  |   6 +-
 .../fr/next/concepts-authentication/index.html     |   6 +-
 content/docs/fr/next/concepts-clients.html         |  12 +-
 content/docs/fr/next/concepts-clients/index.html   |  12 +-
 content/docs/fr/next/concepts-messaging.html       |  16 +-
 content/docs/fr/next/concepts-messaging/index.html |  16 +-
 content/docs/fr/next/concepts-multi-tenancy.html   |  10 +-
 .../docs/fr/next/concepts-multi-tenancy/index.html |  10 +-
 content/docs/fr/next/concepts-overview.html        |   6 +-
 content/docs/fr/next/concepts-overview/index.html  |   6 +-
 content/docs/fr/next/concepts-replication.html     |   6 +-
 .../docs/fr/next/concepts-replication/index.html   |   6 +-
 content/docs/fr/next/concepts-schema-registry.html |   8 +-
 .../fr/next/concepts-schema-registry/index.html    |   8 +-
 content/docs/fr/next/concepts-tiered-storage.html  |   6 +-
 .../fr/next/concepts-tiered-storage/index.html     |   6 +-
 .../docs/fr/next/concepts-topic-compaction.html    |   6 +-
 .../fr/next/concepts-topic-compaction/index.html   |   6 +-
 content/docs/fr/next/cookbooks-compaction.html     |  20 +-
 .../docs/fr/next/cookbooks-compaction/index.html   |  20 +-
 content/docs/fr/next/cookbooks-deduplication.html  |  16 +-
 .../fr/next/cookbooks-deduplication/index.html     |  16 +-
 content/docs/fr/next/cookbooks-encryption.html     |  14 +-
 .../docs/fr/next/cookbooks-encryption/index.html   |  14 +-
 content/docs/fr/next/cookbooks-message-queue.html  |  12 +-
 .../fr/next/cookbooks-message-queue/index.html     |  12 +-
 content/docs/fr/next/cookbooks-non-persistent.html |  10 +-
 .../fr/next/cookbooks-non-persistent/index.html    |  10 +-
 content/docs/fr/next/cookbooks-partitioned.html    |  14 +-
 .../docs/fr/next/cookbooks-partitioned/index.html  |  14 +-
 .../docs/fr/next/cookbooks-retention-expiry.html   |  40 ++--
 .../fr/next/cookbooks-retention-expiry/index.html  |  40 ++--
 content/docs/fr/next/cookbooks-tiered-storage.html |  34 +--
 .../fr/next/cookbooks-tiered-storage/index.html    |  34 +--
 content/docs/fr/next/deploy-aws.html               |  40 ++--
 content/docs/fr/next/deploy-aws/index.html         |  40 ++--
 .../fr/next/deploy-bare-metal-multi-cluster.html   |  54 ++---
 .../deploy-bare-metal-multi-cluster/index.html     |  54 ++---
 content/docs/fr/next/deploy-bare-metal.html        |  54 ++---
 content/docs/fr/next/deploy-bare-metal/index.html  |  54 ++---
 content/docs/fr/next/deploy-dcos.html              |  20 +-
 content/docs/fr/next/deploy-dcos/index.html        |  20 +-
 content/docs/fr/next/deploy-kubernetes.html        |  56 ++---
 content/docs/fr/next/deploy-kubernetes/index.html  |  56 ++---
 content/docs/fr/next/deploy-monitoring.html        |  18 +-
 content/docs/fr/next/deploy-monitoring/index.html  |  18 +-
 content/docs/fr/next/develop-binary-protocol.html  |  36 ++--
 .../fr/next/develop-binary-protocol/index.html     |  36 ++--
 content/docs/fr/next/develop-cpp.html              |  18 +-
 content/docs/fr/next/develop-cpp/index.html        |  18 +-
 content/docs/fr/next/develop-load-manager.html     |  14 +-
 .../docs/fr/next/develop-load-manager/index.html   |  14 +-
 content/docs/fr/next/develop-schema.html           |  10 +-
 content/docs/fr/next/develop-schema/index.html     |  10 +-
 content/docs/fr/next/develop-tools.html            |   6 +-
 content/docs/fr/next/develop-tools/index.html      |   6 +-
 content/docs/fr/next/functions-api.html            |  72 ++++---
 content/docs/fr/next/functions-api/index.html      |  72 ++++---
 content/docs/fr/next/functions-deploying.html      |  36 ++--
 .../docs/fr/next/functions-deploying/index.html    |  36 ++--
 content/docs/fr/next/functions-guarantees.html     |  10 +-
 .../docs/fr/next/functions-guarantees/index.html   |  10 +-
 content/docs/fr/next/functions-metrics.html        |  10 +-
 content/docs/fr/next/functions-metrics/index.html  |  10 +-
 content/docs/fr/next/functions-overview.html       |  52 ++---
 content/docs/fr/next/functions-overview/index.html |  52 ++---
 content/docs/fr/next/functions-quickstart.html     |  42 ++--
 .../docs/fr/next/functions-quickstart/index.html   |  42 ++--
 content/docs/fr/next/functions-state.html          |  16 +-
 content/docs/fr/next/functions-state/index.html    |  16 +-
 content/docs/fr/next/io-aerospike.html             |   2 +-
 content/docs/fr/next/io-aerospike/index.html       |   2 +-
 content/docs/fr/next/io-cassandra.html             |   2 +-
 content/docs/fr/next/io-cassandra/index.html       |   2 +-
 content/docs/fr/next/io-connectors.html            |   6 +-
 content/docs/fr/next/io-connectors/index.html      |   6 +-
 content/docs/fr/next/io-develop.html               |  18 +-
 content/docs/fr/next/io-develop/index.html         |  18 +-
 content/docs/fr/next/io-kafka.html                 |   2 +-
 content/docs/fr/next/io-kafka/index.html           |   2 +-
 content/docs/fr/next/io-kinesis.html               |   2 +-
 content/docs/fr/next/io-kinesis/index.html         |   2 +-
 content/docs/fr/next/io-managing.html              |  28 +--
 content/docs/fr/next/io-managing/index.html        |  28 +--
 content/docs/fr/next/io-overview.html              |   6 +-
 content/docs/fr/next/io-overview/index.html        |   6 +-
 content/docs/fr/next/io-quickstart.html            |  66 +++---
 content/docs/fr/next/io-quickstart/index.html      |  66 +++---
 content/docs/fr/next/io-rabbitmq.html              |   2 +-
 content/docs/fr/next/io-rabbitmq/index.html        |   2 +-
 content/docs/fr/next/io-twitter.html               |   2 +-
 content/docs/fr/next/io-twitter/index.html         |   2 +-
 content/docs/fr/next/pulsar-2.0.html               |  10 +-
 content/docs/fr/next/pulsar-2.0/index.html         |  10 +-
 content/docs/fr/next/pulsar-admin.html             | 232 +++++++++++----------
 content/docs/fr/next/pulsar-admin/index.html       | 232 +++++++++++----------
 content/docs/fr/next/reference-cli-tools.html      |  86 ++++----
 .../docs/fr/next/reference-cli-tools/index.html    |  86 ++++----
 content/docs/fr/next/reference-configuration.html  |   8 +-
 .../fr/next/reference-configuration/index.html     |   8 +-
 content/docs/fr/next/reference-terminology.html    |   6 +-
 .../docs/fr/next/reference-terminology/index.html  |   6 +-
 content/docs/fr/next/security-athenz.html          |  10 +-
 content/docs/fr/next/security-athenz/index.html    |  10 +-
 content/docs/fr/next/security-authorization.html   |  18 +-
 .../docs/fr/next/security-authorization/index.html |  18 +-
 content/docs/fr/next/security-encryption.html      |  14 +-
 .../docs/fr/next/security-encryption/index.html    |  14 +-
 content/docs/fr/next/security-extending.html       |  14 +-
 content/docs/fr/next/security-extending/index.html |  14 +-
 content/docs/fr/next/security-overview.html        |   6 +-
 content/docs/fr/next/security-overview/index.html  |   6 +-
 .../docs/fr/next/security-tls-authentication.html  |  26 ++-
 .../fr/next/security-tls-authentication/index.html |  26 ++-
 content/docs/fr/next/security-tls-transport.html   |  30 +--
 .../docs/fr/next/security-tls-transport/index.html |  30 +--
 content/docs/fr/next/standalone-docker.html        |  18 +-
 content/docs/fr/next/standalone-docker/index.html  |  18 +-
 content/docs/fr/next/standalone.html               |  26 ++-
 content/docs/fr/next/standalone/index.html         |  26 ++-
 content/docs/fr/pulsar-2.0.html                    |  10 +-
 content/docs/fr/pulsar-2.0/index.html              |  10 +-
 content/docs/fr/pulsar-admin.html                  | 232 +++++++++++----------
 content/docs/fr/pulsar-admin/index.html            | 232 +++++++++++----------
 content/docs/fr/reference-cli-tools.html           |  86 ++++----
 content/docs/fr/reference-cli-tools/index.html     |  86 ++++----
 content/docs/fr/reference-configuration.html       |   8 +-
 content/docs/fr/reference-configuration/index.html |   8 +-
 content/docs/fr/reference-terminology.html         |   6 +-
 content/docs/fr/reference-terminology/index.html   |   6 +-
 content/docs/fr/security-athenz.html               |  10 +-
 content/docs/fr/security-athenz/index.html         |  10 +-
 content/docs/fr/security-authorization.html        |  18 +-
 content/docs/fr/security-authorization/index.html  |  18 +-
 content/docs/fr/security-encryption.html           |  14 +-
 content/docs/fr/security-encryption/index.html     |  14 +-
 content/docs/fr/security-extending.html            |  14 +-
 content/docs/fr/security-extending/index.html      |  14 +-
 content/docs/fr/security-overview.html             |   6 +-
 content/docs/fr/security-overview/index.html       |   6 +-
 content/docs/fr/security-tls-authentication.html   |  26 ++-
 .../docs/fr/security-tls-authentication/index.html |  26 ++-
 content/docs/fr/security-tls-transport.html        |  30 +--
 content/docs/fr/security-tls-transport/index.html  |  30 +--
 content/docs/fr/standalone-docker.html             |  18 +-
 content/docs/fr/standalone-docker/index.html       |  18 +-
 content/docs/fr/standalone.html                    |  26 ++-
 content/docs/fr/standalone/index.html              |  26 ++-
 content/docs/functions-api.html                    |   2 +-
 content/docs/functions-api/index.html              |   2 +-
 content/docs/functions-deploying.html              |   2 +-
 content/docs/functions-deploying/index.html        |   2 +-
 content/docs/functions-guarantees.html             |   2 +-
 content/docs/functions-guarantees/index.html       |   2 +-
 content/docs/functions-metrics.html                |   2 +-
 content/docs/functions-metrics/index.html          |   2 +-
 content/docs/functions-overview.html               |   2 +-
 content/docs/functions-overview/index.html         |   2 +-
 content/docs/functions-quickstart.html             |   2 +-
 content/docs/functions-quickstart/index.html       |   2 +-
 content/docs/functions-state.html                  |   2 +-
 content/docs/functions-state/index.html            |   2 +-
 content/docs/io-aerospike.html                     |   2 +-
 content/docs/io-aerospike/index.html               |   2 +-
 content/docs/io-cassandra.html                     |   2 +-
 content/docs/io-cassandra/index.html               |   2 +-
 content/docs/io-connectors.html                    |   2 +-
 content/docs/io-connectors/index.html              |   2 +-
 content/docs/io-develop.html                       |   2 +-
 content/docs/io-develop/index.html                 |   2 +-
 content/docs/io-kafka.html                         |   2 +-
 content/docs/io-kafka/index.html                   |   2 +-
 content/docs/io-kinesis.html                       |   2 +-
 content/docs/io-kinesis/index.html                 |   2 +-
 content/docs/io-managing.html                      |   2 +-
 content/docs/io-managing/index.html                |   2 +-
 content/docs/io-overview.html                      |   2 +-
 content/docs/io-overview/index.html                |   2 +-
 content/docs/io-quickstart.html                    |   2 +-
 content/docs/io-quickstart/index.html              |   2 +-
 content/docs/io-rabbitmq.html                      |   2 +-
 content/docs/io-rabbitmq/index.html                |   2 +-
 content/docs/io-twitter.html                       |   2 +-
 content/docs/io-twitter/index.html                 |   2 +-
 content/docs/ja/adaptors-kafka.html                |  16 +-
 content/docs/ja/adaptors-kafka/index.html          |  16 +-
 content/docs/ja/adaptors-spark.html                |  12 +-
 content/docs/ja/adaptors-spark/index.html          |  12 +-
 content/docs/ja/adaptors-storm.html                |  12 +-
 content/docs/ja/adaptors-storm/index.html          |  12 +-
 content/docs/ja/admin-api-brokers.html             |  28 +--
 content/docs/ja/admin-api-brokers/index.html       |  28 +--
 content/docs/ja/admin-api-clusters.html            |  28 +--
 content/docs/ja/admin-api-clusters/index.html      |  28 +--
 content/docs/ja/admin-api-namespaces.html          |  68 +++---
 content/docs/ja/admin-api-namespaces/index.html    |  68 +++---
 .../docs/ja/admin-api-non-persistent-topics.html   |  30 +--
 .../ja/admin-api-non-persistent-topics/index.html  |  30 +--
 content/docs/ja/admin-api-overview.html            |  10 +-
 content/docs/ja/admin-api-overview/index.html      |  10 +-
 content/docs/ja/admin-api-partitioned-topics.html  |  40 ++--
 .../ja/admin-api-partitioned-topics/index.html     |  40 ++--
 content/docs/ja/admin-api-permissions.html         |  24 ++-
 content/docs/ja/admin-api-permissions/index.html   |  24 ++-
 content/docs/ja/admin-api-persistent-topics.html   |  76 +++----
 .../docs/ja/admin-api-persistent-topics/index.html |  76 +++----
 content/docs/ja/admin-api-schemas.html             |  16 +-
 content/docs/ja/admin-api-schemas/index.html       |  16 +-
 content/docs/ja/admin-api-tenants.html             |  16 +-
 content/docs/ja/admin-api-tenants/index.html       |  16 +-
 content/docs/ja/administration-dashboard.html      |  12 +-
 .../docs/ja/administration-dashboard/index.html    |  12 +-
 content/docs/ja/administration-geo.html            |  16 +-
 content/docs/ja/administration-geo/index.html      |  16 +-
 .../docs/ja/administration-load-distribution.html  |  24 ++-
 .../ja/administration-load-distribution/index.html |  24 ++-
 content/docs/ja/administration-proxy.html          |   8 +-
 content/docs/ja/administration-proxy/index.html    |   8 +-
 content/docs/ja/administration-stats.html          |   6 +-
 content/docs/ja/administration-stats/index.html    |   6 +-
 content/docs/ja/administration-zk-bk.html          |  34 +--
 content/docs/ja/administration-zk-bk/index.html    |  34 +--
 content/docs/ja/client-libraries-cpp.html          |  30 +--
 content/docs/ja/client-libraries-cpp/index.html    |  30 +--
 content/docs/ja/client-libraries-go.html           |  38 ++--
 content/docs/ja/client-libraries-go/index.html     |  38 ++--
 content/docs/ja/client-libraries-java.html         |  64 +++---
 content/docs/ja/client-libraries-java/index.html   |  64 +++---
 content/docs/ja/client-libraries-python.html       |  16 +-
 content/docs/ja/client-libraries-python/index.html |  16 +-
 content/docs/ja/client-libraries-websocket.html    |  48 +++--
 .../docs/ja/client-libraries-websocket/index.html  |  48 +++--
 content/docs/ja/client-libraries.html              |   6 +-
 content/docs/ja/client-libraries/index.html        |   6 +-
 .../docs/ja/concepts-architecture-overview.html    |  12 +-
 .../ja/concepts-architecture-overview/index.html   |  12 +-
 content/docs/ja/concepts-architecture.html         |   2 +-
 content/docs/ja/concepts-architecture/index.html   |   2 +-
 content/docs/ja/concepts-authentication.html       |   6 +-
 content/docs/ja/concepts-authentication/index.html |   6 +-
 content/docs/ja/concepts-clients.html              |  12 +-
 content/docs/ja/concepts-clients/index.html        |  12 +-
 content/docs/ja/concepts-messaging.html            |  16 +-
 content/docs/ja/concepts-messaging/index.html      |  16 +-
 content/docs/ja/concepts-multi-tenancy.html        |  10 +-
 content/docs/ja/concepts-multi-tenancy/index.html  |  10 +-
 content/docs/ja/concepts-overview.html             |   6 +-
 content/docs/ja/concepts-overview/index.html       |   6 +-
 content/docs/ja/concepts-replication.html          |   6 +-
 content/docs/ja/concepts-replication/index.html    |   6 +-
 content/docs/ja/concepts-schema-registry.html      |   8 +-
 .../docs/ja/concepts-schema-registry/index.html    |   8 +-
 content/docs/ja/concepts-tiered-storage.html       |   6 +-
 content/docs/ja/concepts-tiered-storage/index.html |   6 +-
 content/docs/ja/concepts-topic-compaction.html     |   6 +-
 .../docs/ja/concepts-topic-compaction/index.html   |   6 +-
 content/docs/ja/cookbooks-compaction.html          |  20 +-
 content/docs/ja/cookbooks-compaction/index.html    |  20 +-
 content/docs/ja/cookbooks-deduplication.html       |  16 +-
 content/docs/ja/cookbooks-deduplication/index.html |  16 +-
 content/docs/ja/cookbooks-encryption.html          |  14 +-
 content/docs/ja/cookbooks-encryption/index.html    |  14 +-
 content/docs/ja/cookbooks-message-queue.html       |  12 +-
 content/docs/ja/cookbooks-message-queue/index.html |  12 +-
 content/docs/ja/cookbooks-non-persistent.html      |  10 +-
 .../docs/ja/cookbooks-non-persistent/index.html    |  10 +-
 content/docs/ja/cookbooks-partitioned.html         |  14 +-
 content/docs/ja/cookbooks-partitioned/index.html   |  14 +-
 content/docs/ja/cookbooks-retention-expiry.html    |  40 ++--
 .../docs/ja/cookbooks-retention-expiry/index.html  |  40 ++--
 content/docs/ja/cookbooks-tiered-storage.html      |  24 ++-
 .../docs/ja/cookbooks-tiered-storage/index.html    |  24 ++-
 content/docs/ja/deploy-aws.html                    |  40 ++--
 content/docs/ja/deploy-aws/index.html              |  40 ++--
 .../docs/ja/deploy-bare-metal-multi-cluster.html   |  54 ++---
 .../ja/deploy-bare-metal-multi-cluster/index.html  |  54 ++---
 content/docs/ja/deploy-bare-metal.html             |  54 ++---
 content/docs/ja/deploy-bare-metal/index.html       |  54 ++---
 content/docs/ja/deploy-dcos.html                   |  20 +-
 content/docs/ja/deploy-dcos/index.html             |  20 +-
 content/docs/ja/deploy-kubernetes.html             |  56 ++---
 content/docs/ja/deploy-kubernetes/index.html       |  56 ++---
 content/docs/ja/deploy-monitoring.html             |  18 +-
 content/docs/ja/deploy-monitoring/index.html       |  18 +-
 content/docs/ja/develop-binary-protocol.html       |  36 ++--
 content/docs/ja/develop-binary-protocol/index.html |  36 ++--
 content/docs/ja/develop-cpp.html                   |  18 +-
 content/docs/ja/develop-cpp/index.html             |  18 +-
 content/docs/ja/develop-load-manager.html          |  14 +-
 content/docs/ja/develop-load-manager/index.html    |  14 +-
 content/docs/ja/develop-schema.html                |  10 +-
 content/docs/ja/develop-schema/index.html          |  10 +-
 content/docs/ja/develop-tools.html                 |   6 +-
 content/docs/ja/develop-tools/index.html           |   6 +-
 content/docs/ja/functions-api.html                 |  72 ++++---
 content/docs/ja/functions-api/index.html           |  72 ++++---
 content/docs/ja/functions-deploying.html           |  36 ++--
 content/docs/ja/functions-deploying/index.html     |  36 ++--
 content/docs/ja/functions-guarantees.html          |  10 +-
 content/docs/ja/functions-guarantees/index.html    |  10 +-
 content/docs/ja/functions-metrics.html             |  10 +-
 content/docs/ja/functions-metrics/index.html       |  10 +-
 content/docs/ja/functions-overview.html            |  52 ++---
 content/docs/ja/functions-overview/index.html      |  52 ++---
 content/docs/ja/functions-quickstart.html          |  42 ++--
 content/docs/ja/functions-quickstart/index.html    |  42 ++--
 content/docs/ja/functions-state.html               |  16 +-
 content/docs/ja/functions-state/index.html         |  16 +-
 content/docs/ja/io-aerospike.html                  |   2 +-
 content/docs/ja/io-aerospike/index.html            |   2 +-
 content/docs/ja/io-cassandra.html                  |   2 +-
 content/docs/ja/io-cassandra/index.html            |   2 +-
 content/docs/ja/io-connectors.html                 |   6 +-
 content/docs/ja/io-connectors/index.html           |   6 +-
 content/docs/ja/io-develop.html                    |  18 +-
 content/docs/ja/io-develop/index.html              |  18 +-
 content/docs/ja/io-kafka.html                      |   2 +-
 content/docs/ja/io-kafka/index.html                |   2 +-
 content/docs/ja/io-kinesis.html                    |   2 +-
 content/docs/ja/io-kinesis/index.html              |   2 +-
 content/docs/ja/io-managing.html                   |  28 +--
 content/docs/ja/io-managing/index.html             |  28 +--
 content/docs/ja/io-overview.html                   |   6 +-
 content/docs/ja/io-overview/index.html             |   6 +-
 content/docs/ja/io-quickstart.html                 |  66 +++---
 content/docs/ja/io-quickstart/index.html           |  66 +++---
 content/docs/ja/io-rabbitmq.html                   |   2 +-
 content/docs/ja/io-rabbitmq/index.html             |   2 +-
 content/docs/ja/io-twitter.html                    |   2 +-
 content/docs/ja/io-twitter/index.html              |   2 +-
 content/docs/ja/next/adaptors-kafka.html           |  16 +-
 content/docs/ja/next/adaptors-kafka/index.html     |  16 +-
 content/docs/ja/next/adaptors-spark.html           |  12 +-
 content/docs/ja/next/adaptors-spark/index.html     |  12 +-
 content/docs/ja/next/adaptors-storm.html           |  12 +-
 content/docs/ja/next/adaptors-storm/index.html     |  12 +-
 content/docs/ja/next/admin-api-brokers.html        |  28 +--
 content/docs/ja/next/admin-api-brokers/index.html  |  28 +--
 content/docs/ja/next/admin-api-clusters.html       |  28 +--
 content/docs/ja/next/admin-api-clusters/index.html |  28 +--
 content/docs/ja/next/admin-api-namespaces.html     |  68 +++---
 .../docs/ja/next/admin-api-namespaces/index.html   |  68 +++---
 .../ja/next/admin-api-non-persistent-topics.html   |  30 +--
 .../admin-api-non-persistent-topics/index.html     |  30 +--
 content/docs/ja/next/admin-api-overview.html       |  10 +-
 content/docs/ja/next/admin-api-overview/index.html |  10 +-
 .../docs/ja/next/admin-api-partitioned-topics.html |  40 ++--
 .../next/admin-api-partitioned-topics/index.html   |  40 ++--
 content/docs/ja/next/admin-api-permissions.html    |  24 ++-
 .../docs/ja/next/admin-api-permissions/index.html  |  24 ++-
 .../docs/ja/next/admin-api-persistent-topics.html  |  76 +++----
 .../ja/next/admin-api-persistent-topics/index.html |  76 +++----
 content/docs/ja/next/admin-api-schemas.html        |  16 +-
 content/docs/ja/next/admin-api-schemas/index.html  |  16 +-
 content/docs/ja/next/admin-api-tenants.html        |  16 +-
 content/docs/ja/next/admin-api-tenants/index.html  |  16 +-
 content/docs/ja/next/administration-dashboard.html |  12 +-
 .../ja/next/administration-dashboard/index.html    |  12 +-
 content/docs/ja/next/administration-geo.html       |  16 +-
 content/docs/ja/next/administration-geo/index.html |  16 +-
 .../ja/next/administration-load-distribution.html  |  24 ++-
 .../administration-load-distribution/index.html    |  24 ++-
 content/docs/ja/next/administration-proxy.html     |   8 +-
 .../docs/ja/next/administration-proxy/index.html   |   8 +-
 content/docs/ja/next/administration-stats.html     |   6 +-
 .../docs/ja/next/administration-stats/index.html   |   6 +-
 content/docs/ja/next/administration-zk-bk.html     |  34 +--
 .../docs/ja/next/administration-zk-bk/index.html   |  34 +--
 content/docs/ja/next/client-libraries-cpp.html     |  30 +--
 .../docs/ja/next/client-libraries-cpp/index.html   |  30 +--
 content/docs/ja/next/client-libraries-go.html      |  38 ++--
 .../docs/ja/next/client-libraries-go/index.html    |  38 ++--
 content/docs/ja/next/client-libraries-java.html    |  64 +++---
 .../docs/ja/next/client-libraries-java/index.html  |  64 +++---
 content/docs/ja/next/client-libraries-python.html  |  16 +-
 .../ja/next/client-libraries-python/index.html     |  16 +-
 .../docs/ja/next/client-libraries-websocket.html   |  48 +++--
 .../ja/next/client-libraries-websocket/index.html  |  48 +++--
 content/docs/ja/next/client-libraries.html         |   6 +-
 content/docs/ja/next/client-libraries/index.html   |   6 +-
 .../ja/next/concepts-architecture-overview.html    |  12 +-
 .../next/concepts-architecture-overview/index.html |  12 +-
 content/docs/ja/next/concepts-architecture.html    |   2 +-
 .../docs/ja/next/concepts-architecture/index.html  |   2 +-
 content/docs/ja/next/concepts-authentication.html  |   6 +-
 .../ja/next/concepts-authentication/index.html     |   6 +-
 content/docs/ja/next/concepts-clients.html         |  12 +-
 content/docs/ja/next/concepts-clients/index.html   |  12 +-
 content/docs/ja/next/concepts-messaging.html       |  16 +-
 content/docs/ja/next/concepts-messaging/index.html |  16 +-
 content/docs/ja/next/concepts-multi-tenancy.html   |  10 +-
 .../docs/ja/next/concepts-multi-tenancy/index.html |  10 +-
 content/docs/ja/next/concepts-overview.html        |   6 +-
 content/docs/ja/next/concepts-overview/index.html  |   6 +-
 content/docs/ja/next/concepts-replication.html     |   6 +-
 .../docs/ja/next/concepts-replication/index.html   |   6 +-
 content/docs/ja/next/concepts-schema-registry.html |   8 +-
 .../ja/next/concepts-schema-registry/index.html    |   8 +-
 content/docs/ja/next/concepts-tiered-storage.html  |   6 +-
 .../ja/next/concepts-tiered-storage/index.html     |   6 +-
 .../docs/ja/next/concepts-topic-compaction.html    |   6 +-
 .../ja/next/concepts-topic-compaction/index.html   |   6 +-
 content/docs/ja/next/cookbooks-compaction.html     |  20 +-
 .../docs/ja/next/cookbooks-compaction/index.html   |  20 +-
 content/docs/ja/next/cookbooks-deduplication.html  |  16 +-
 .../ja/next/cookbooks-deduplication/index.html     |  16 +-
 content/docs/ja/next/cookbooks-encryption.html     |  14 +-
 .../docs/ja/next/cookbooks-encryption/index.html   |  14 +-
 content/docs/ja/next/cookbooks-message-queue.html  |  12 +-
 .../ja/next/cookbooks-message-queue/index.html     |  12 +-
 content/docs/ja/next/cookbooks-non-persistent.html |  10 +-
 .../ja/next/cookbooks-non-persistent/index.html    |  10 +-
 content/docs/ja/next/cookbooks-partitioned.html    |  14 +-
 .../docs/ja/next/cookbooks-partitioned/index.html  |  14 +-
 .../docs/ja/next/cookbooks-retention-expiry.html   |  40 ++--
 .../ja/next/cookbooks-retention-expiry/index.html  |  40 ++--
 content/docs/ja/next/cookbooks-tiered-storage.html |  34 +--
 .../ja/next/cookbooks-tiered-storage/index.html    |  34 +--
 content/docs/ja/next/deploy-aws.html               |  40 ++--
 content/docs/ja/next/deploy-aws/index.html         |  40 ++--
 .../ja/next/deploy-bare-metal-multi-cluster.html   |  54 ++---
 .../deploy-bare-metal-multi-cluster/index.html     |  54 ++---
 content/docs/ja/next/deploy-bare-metal.html        |  54 ++---
 content/docs/ja/next/deploy-bare-metal/index.html  |  54 ++---
 content/docs/ja/next/deploy-dcos.html              |  20 +-
 content/docs/ja/next/deploy-dcos/index.html        |  20 +-
 content/docs/ja/next/deploy-kubernetes.html        |  56 ++---
 content/docs/ja/next/deploy-kubernetes/index.html  |  56 ++---
 content/docs/ja/next/deploy-monitoring.html        |  18 +-
 content/docs/ja/next/deploy-monitoring/index.html  |  18 +-
 content/docs/ja/next/develop-binary-protocol.html  |  36 ++--
 .../ja/next/develop-binary-protocol/index.html     |  36 ++--
 content/docs/ja/next/develop-cpp.html              |  18 +-
 content/docs/ja/next/develop-cpp/index.html        |  18 +-
 content/docs/ja/next/develop-load-manager.html     |  14 +-
 .../docs/ja/next/develop-load-manager/index.html   |  14 +-
 content/docs/ja/next/develop-schema.html           |  10 +-
 content/docs/ja/next/develop-schema/index.html     |  10 +-
 content/docs/ja/next/develop-tools.html            |   6 +-
 content/docs/ja/next/develop-tools/index.html      |   6 +-
 content/docs/ja/next/functions-api.html            |  72 ++++---
 content/docs/ja/next/functions-api/index.html      |  72 ++++---
 content/docs/ja/next/functions-deploying.html      |  36 ++--
 .../docs/ja/next/functions-deploying/index.html    |  36 ++--
 content/docs/ja/next/functions-guarantees.html     |  10 +-
 .../docs/ja/next/functions-guarantees/index.html   |  10 +-
 content/docs/ja/next/functions-metrics.html        |  10 +-
 content/docs/ja/next/functions-metrics/index.html  |  10 +-
 content/docs/ja/next/functions-overview.html       |  52 ++---
 content/docs/ja/next/functions-overview/index.html |  52 ++---
 content/docs/ja/next/functions-quickstart.html     |  42 ++--
 .../docs/ja/next/functions-quickstart/index.html   |  42 ++--
 content/docs/ja/next/functions-state.html          |  16 +-
 content/docs/ja/next/functions-state/index.html    |  16 +-
 content/docs/ja/next/io-aerospike.html             |   2 +-
 content/docs/ja/next/io-aerospike/index.html       |   2 +-
 content/docs/ja/next/io-cassandra.html             |   2 +-
 content/docs/ja/next/io-cassandra/index.html       |   2 +-
 content/docs/ja/next/io-connectors.html            |   6 +-
 content/docs/ja/next/io-connectors/index.html      |   6 +-
 content/docs/ja/next/io-develop.html               |  18 +-
 content/docs/ja/next/io-develop/index.html         |  18 +-
 content/docs/ja/next/io-kafka.html                 |   2 +-
 content/docs/ja/next/io-kafka/index.html           |   2 +-
 content/docs/ja/next/io-kinesis.html               |   2 +-
 content/docs/ja/next/io-kinesis/index.html         |   2 +-
 content/docs/ja/next/io-managing.html              |  28 +--
 content/docs/ja/next/io-managing/index.html        |  28 +--
 content/docs/ja/next/io-overview.html              |   6 +-
 content/docs/ja/next/io-overview/index.html        |   6 +-
 content/docs/ja/next/io-quickstart.html            |  66 +++---
 content/docs/ja/next/io-quickstart/index.html      |  66 +++---
 content/docs/ja/next/io-rabbitmq.html              |   2 +-
 content/docs/ja/next/io-rabbitmq/index.html        |   2 +-
 content/docs/ja/next/io-twitter.html               |   2 +-
 content/docs/ja/next/io-twitter/index.html         |   2 +-
 content/docs/ja/next/pulsar-2.0.html               |  10 +-
 content/docs/ja/next/pulsar-2.0/index.html         |  10 +-
 content/docs/ja/next/pulsar-admin.html             | 232 +++++++++++----------
 content/docs/ja/next/pulsar-admin/index.html       | 232 +++++++++++----------
 content/docs/ja/next/reference-cli-tools.html      |  86 ++++----
 .../docs/ja/next/reference-cli-tools/index.html    |  86 ++++----
 content/docs/ja/next/reference-configuration.html  |   8 +-
 .../ja/next/reference-configuration/index.html     |   8 +-
 content/docs/ja/next/reference-terminology.html    |   6 +-
 .../docs/ja/next/reference-terminology/index.html  |   6 +-
 content/docs/ja/next/security-athenz.html          |  10 +-
 content/docs/ja/next/security-athenz/index.html    |  10 +-
 content/docs/ja/next/security-authorization.html   |  18 +-
 .../docs/ja/next/security-authorization/index.html |  18 +-
 content/docs/ja/next/security-encryption.html      |  14 +-
 .../docs/ja/next/security-encryption/index.html    |  14 +-
 content/docs/ja/next/security-extending.html       |  14 +-
 content/docs/ja/next/security-extending/index.html |  14 +-
 content/docs/ja/next/security-overview.html        |   6 +-
 content/docs/ja/next/security-overview/index.html  |   6 +-
 .../docs/ja/next/security-tls-authentication.html  |  26 ++-
 .../ja/next/security-tls-authentication/index.html |  26 ++-
 content/docs/ja/next/security-tls-transport.html   |  30 +--
 .../docs/ja/next/security-tls-transport/index.html |  30 +--
 content/docs/ja/next/standalone-docker.html        |  18 +-
 content/docs/ja/next/standalone-docker/index.html  |  18 +-
 content/docs/ja/next/standalone.html               |  26 ++-
 content/docs/ja/next/standalone/index.html         |  26 ++-
 content/docs/ja/pulsar-2.0.html                    |  10 +-
 content/docs/ja/pulsar-2.0/index.html              |  10 +-
 content/docs/ja/pulsar-admin.html                  | 232 +++++++++++----------
 content/docs/ja/pulsar-admin/index.html            | 232 +++++++++++----------
 content/docs/ja/reference-cli-tools.html           |  86 ++++----
 content/docs/ja/reference-cli-tools/index.html     |  86 ++++----
 content/docs/ja/reference-configuration.html       |   8 +-
 content/docs/ja/reference-configuration/index.html |   8 +-
 content/docs/ja/reference-terminology.html         |   6 +-
 content/docs/ja/reference-terminology/index.html   |   6 +-
 content/docs/ja/security-athenz.html               |  10 +-
 content/docs/ja/security-athenz/index.html         |  10 +-
 content/docs/ja/security-authorization.html        |  18 +-
 content/docs/ja/security-authorization/index.html  |  18 +-
 content/docs/ja/security-encryption.html           |  14 +-
 content/docs/ja/security-encryption/index.html     |  14 +-
 content/docs/ja/security-extending.html            |  14 +-
 content/docs/ja/security-extending/index.html      |  14 +-
 content/docs/ja/security-overview.html             |   6 +-
 content/docs/ja/security-overview/index.html       |   6 +-
 content/docs/ja/security-tls-authentication.html   |  26 ++-
 .../docs/ja/security-tls-authentication/index.html |  26 ++-
 content/docs/ja/security-tls-transport.html        |  30 +--
 content/docs/ja/security-tls-transport/index.html  |  30 +--
 content/docs/ja/standalone-docker.html             |  18 +-
 content/docs/ja/standalone-docker/index.html       |  18 +-
 content/docs/ja/standalone.html                    |  26 ++-
 content/docs/ja/standalone/index.html              |  26 ++-
 .../docs/latest/adaptors/PulsarSpark/index.html    |  10 +-
 .../docs/latest/adaptors/PulsarStorm/index.html    |   8 +-
 content/docs/latest/admin-api/overview/index.html  |  18 +-
 content/docs/latest/clients/Cpp/index.html         |   8 +-
 content/docs/latest/clients/Java/index.html        |  16 +-
 content/docs/latest/clients/Python/index.html      |  10 +-
 content/docs/latest/clients/WebSocket/index.html   |   8 +-
 content/docs/latest/clients/go/index.html          |   6 +-
 .../docs/latest/cookbooks/Encryption/index.html    |   6 +-
 .../latest/cookbooks/PartitionedTopics/index.html  |  16 +-
 .../latest/cookbooks/RetentionExpiry/index.html    |  16 +-
 .../docs/latest/cookbooks/compaction/index.html    |   8 +-
 .../cookbooks/message-deduplication/index.html     |  12 +-
 .../docs/latest/cookbooks/message-queue/index.html |  16 +-
 .../latest/cookbooks/tiered-storage/index.html     |   6 +-
 .../docs/latest/deployment/Kubernetes/index.html   |   4 +-
 .../docs/latest/deployment/aws-cluster/index.html  |   6 +-
 content/docs/latest/deployment/cluster/index.html  |   6 +-
 content/docs/latest/deployment/instance/index.html |   6 +-
 .../ConceptsAndArchitecture/index.html             |   4 +-
 .../latest/getting-started/LocalCluster/index.html |   4 +-
 .../latest/getting-started/Pulsar-2.0/index.html   |   2 +-
 .../docs/latest/getting-started/docker/index.html  |   4 +-
 .../docs/latest/project/BinaryProtocol/index.html  |   4 +-
 content/docs/latest/project/CompileCpp/index.html  |   8 +-
 .../docs/latest/project/SimulationTools/index.html |   2 +-
 .../docs/latest/project/schema-storage/index.html  |   4 +-
 content/docs/latest/reference/CliTools/index.html  |  22 +-
 .../docs/latest/security/authorization/index.html  |  14 +-
 content/docs/latest/security/encryption/index.html |   6 +-
 content/docs/next/adaptors-kafka.html              |   2 +-
 content/docs/next/adaptors-kafka/index.html        |   2 +-
 content/docs/next/adaptors-spark.html              |   2 +-
 content/docs/next/adaptors-spark/index.html        |   2 +-
 content/docs/next/adaptors-storm.html              |   2 +-
 content/docs/next/adaptors-storm/index.html        |   2 +-
 content/docs/next/admin-api-brokers.html           |   2 +-
 content/docs/next/admin-api-brokers/index.html     |   2 +-
 content/docs/next/admin-api-clusters.html          |   2 +-
 content/docs/next/admin-api-clusters/index.html    |   2 +-
 content/docs/next/admin-api-namespaces.html        |   2 +-
 content/docs/next/admin-api-namespaces/index.html  |   2 +-
 .../docs/next/admin-api-non-persistent-topics.html |   2 +-
 .../admin-api-non-persistent-topics/index.html     |   2 +-
 content/docs/next/admin-api-overview.html          |   2 +-
 content/docs/next/admin-api-overview/index.html    |   2 +-
 .../docs/next/admin-api-partitioned-topics.html    |   2 +-
 .../next/admin-api-partitioned-topics/index.html   |   2 +-
 content/docs/next/admin-api-permissions.html       |   2 +-
 content/docs/next/admin-api-permissions/index.html |   2 +-
 content/docs/next/admin-api-persistent-topics.html |   2 +-
 .../next/admin-api-persistent-topics/index.html    |   2 +-
 content/docs/next/admin-api-schemas.html           |   2 +-
 content/docs/next/admin-api-schemas/index.html     |   2 +-
 content/docs/next/admin-api-tenants.html           |   2 +-
 content/docs/next/admin-api-tenants/index.html     |   2 +-
 content/docs/next/administration-dashboard.html    |   2 +-
 .../docs/next/administration-dashboard/index.html  |   2 +-
 content/docs/next/administration-geo.html          |   2 +-
 content/docs/next/administration-geo/index.html    |   2 +-
 .../next/administration-load-distribution.html     |   2 +-
 .../administration-load-distribution/index.html    |   2 +-
 content/docs/next/administration-proxy.html        |   2 +-
 content/docs/next/administration-proxy/index.html  |   2 +-
 content/docs/next/administration-stats.html        |   2 +-
 content/docs/next/administration-stats/index.html  |   2 +-
 content/docs/next/administration-zk-bk.html        |   2 +-
 content/docs/next/administration-zk-bk/index.html  |   2 +-
 content/docs/next/client-libraries-cpp.html        |   2 +-
 content/docs/next/client-libraries-cpp/index.html  |   2 +-
 content/docs/next/client-libraries-go.html         |   2 +-
 content/docs/next/client-libraries-go/index.html   |   2 +-
 content/docs/next/client-libraries-java.html       |   2 +-
 content/docs/next/client-libraries-java/index.html |   2 +-
 content/docs/next/client-libraries-python.html     |   2 +-
 .../docs/next/client-libraries-python/index.html   |   2 +-
 content/docs/next/client-libraries-websocket.html  |   2 +-
 .../next/client-libraries-websocket/index.html     |   2 +-
 content/docs/next/client-libraries.html            |   2 +-
 content/docs/next/client-libraries/index.html      |   2 +-
 .../docs/next/concepts-architecture-overview.html  |   2 +-
 .../next/concepts-architecture-overview/index.html |   2 +-
 content/docs/next/concepts-architecture.html       |   2 +-
 content/docs/next/concepts-architecture/index.html |   2 +-
 content/docs/next/concepts-authentication.html     |   2 +-
 .../docs/next/concepts-authentication/index.html   |   2 +-
 content/docs/next/concepts-clients.html            |   2 +-
 content/docs/next/concepts-clients/index.html      |   2 +-
 content/docs/next/concepts-messaging.html          |   2 +-
 content/docs/next/concepts-messaging/index.html    |   2 +-
 content/docs/next/concepts-multi-tenancy.html      |   2 +-
 .../docs/next/concepts-multi-tenancy/index.html    |   2 +-
 content/docs/next/concepts-overview.html           |   2 +-
 content/docs/next/concepts-overview/index.html     |   2 +-
 content/docs/next/concepts-replication.html        |   2 +-
 content/docs/next/concepts-replication/index.html  |   2 +-
 content/docs/next/concepts-schema-registry.html    |   2 +-
 .../docs/next/concepts-schema-registry/index.html  |   2 +-
 content/docs/next/concepts-tiered-storage.html     |   2 +-
 .../docs/next/concepts-tiered-storage/index.html   |   2 +-
 content/docs/next/concepts-topic-compaction.html   |   2 +-
 .../docs/next/concepts-topic-compaction/index.html |   2 +-
 content/docs/next/cookbooks-compaction.html        |   2 +-
 content/docs/next/cookbooks-compaction/index.html  |   2 +-
 content/docs/next/cookbooks-deduplication.html     |   2 +-
 .../docs/next/cookbooks-deduplication/index.html   |   2 +-
 content/docs/next/cookbooks-encryption.html        |   2 +-
 content/docs/next/cookbooks-encryption/index.html  |   2 +-
 content/docs/next/cookbooks-message-queue.html     |   2 +-
 .../docs/next/cookbooks-message-queue/index.html   |   2 +-
 content/docs/next/cookbooks-non-persistent.html    |   2 +-
 .../docs/next/cookbooks-non-persistent/index.html  |   2 +-
 content/docs/next/cookbooks-partitioned.html       |   2 +-
 content/docs/next/cookbooks-partitioned/index.html |   2 +-
 content/docs/next/cookbooks-retention-expiry.html  |   2 +-
 .../next/cookbooks-retention-expiry/index.html     |   2 +-
 content/docs/next/cookbooks-tiered-storage.html    |   2 +-
 .../docs/next/cookbooks-tiered-storage/index.html  |   2 +-
 content/docs/next/deploy-aws.html                  |   2 +-
 content/docs/next/deploy-aws/index.html            |   2 +-
 .../docs/next/deploy-bare-metal-multi-cluster.html |   2 +-
 .../deploy-bare-metal-multi-cluster/index.html     |   2 +-
 content/docs/next/deploy-bare-metal.html           |   2 +-
 content/docs/next/deploy-bare-metal/index.html     |   2 +-
 content/docs/next/deploy-dcos.html                 |   2 +-
 content/docs/next/deploy-dcos/index.html           |   2 +-
 content/docs/next/deploy-kubernetes.html           |   2 +-
 content/docs/next/deploy-kubernetes/index.html     |   2 +-
 content/docs/next/deploy-monitoring.html           |   2 +-
 content/docs/next/deploy-monitoring/index.html     |   2 +-
 content/docs/next/develop-binary-protocol.html     |   2 +-
 .../docs/next/develop-binary-protocol/index.html   |   2 +-
 content/docs/next/develop-cpp.html                 |   2 +-
 content/docs/next/develop-cpp/index.html           |   2 +-
 content/docs/next/develop-load-manager.html        |   2 +-
 content/docs/next/develop-load-manager/index.html  |   2 +-
 content/docs/next/develop-schema.html              |   2 +-
 content/docs/next/develop-schema/index.html        |   2 +-
 content/docs/next/develop-tools.html               |   2 +-
 content/docs/next/develop-tools/index.html         |   2 +-
 content/docs/next/functions-api.html               |   2 +-
 content/docs/next/functions-api/index.html         |   2 +-
 content/docs/next/functions-deploying.html         |   2 +-
 content/docs/next/functions-deploying/index.html   |   2 +-
 content/docs/next/functions-guarantees.html        |   2 +-
 content/docs/next/functions-guarantees/index.html  |   2 +-
 content/docs/next/functions-metrics.html           |   2 +-
 content/docs/next/functions-metrics/index.html     |   2 +-
 content/docs/next/functions-overview.html          |   2 +-
 content/docs/next/functions-overview/index.html    |   2 +-
 content/docs/next/functions-quickstart.html        |   2 +-
 content/docs/next/functions-quickstart/index.html  |   2 +-
 content/docs/next/functions-state.html             |   2 +-
 content/docs/next/functions-state/index.html       |   2 +-
 content/docs/next/io-aerospike.html                |   2 +-
 content/docs/next/io-aerospike/index.html          |   2 +-
 content/docs/next/io-cassandra.html                |   2 +-
 content/docs/next/io-cassandra/index.html          |   2 +-
 content/docs/next/io-connectors.html               |   2 +-
 content/docs/next/io-connectors/index.html         |   2 +-
 content/docs/next/io-develop.html                  |   2 +-
 content/docs/next/io-develop/index.html            |   2 +-
 content/docs/next/io-kafka.html                    |   2 +-
 content/docs/next/io-kafka/index.html              |   2 +-
 content/docs/next/io-kinesis.html                  |   2 +-
 content/docs/next/io-kinesis/index.html            |   2 +-
 content/docs/next/io-managing.html                 |   2 +-
 content/docs/next/io-managing/index.html           |   2 +-
 content/docs/next/io-overview.html                 |   2 +-
 content/docs/next/io-overview/index.html           |   2 +-
 content/docs/next/io-quickstart.html               |   2 +-
 content/docs/next/io-quickstart/index.html         |   2 +-
 content/docs/next/io-rabbitmq.html                 |   2 +-
 content/docs/next/io-rabbitmq/index.html           |   2 +-
 content/docs/next/io-twitter.html                  |   2 +-
 content/docs/next/io-twitter/index.html            |   2 +-
 content/docs/next/pulsar-2.0.html                  |   2 +-
 content/docs/next/pulsar-2.0/index.html            |   2 +-
 content/docs/next/pulsar-admin.html                |   2 +-
 content/docs/next/pulsar-admin/index.html          |   2 +-
 content/docs/next/reference-cli-tools.html         |   2 +-
 content/docs/next/reference-cli-tools/index.html   |   2 +-
 content/docs/next/reference-configuration.html     |   2 +-
 .../docs/next/reference-configuration/index.html   |   2 +-
 content/docs/next/reference-terminology.html       |   2 +-
 content/docs/next/reference-terminology/index.html |   2 +-
 content/docs/next/security-athenz.html             |   2 +-
 content/docs/next/security-athenz/index.html       |   2 +-
 content/docs/next/security-authorization.html      |   2 +-
 .../docs/next/security-authorization/index.html    |   2 +-
 content/docs/next/security-encryption.html         |   2 +-
 content/docs/next/security-encryption/index.html   |   2 +-
 content/docs/next/security-extending.html          |   2 +-
 content/docs/next/security-extending/index.html    |   2 +-
 content/docs/next/security-overview.html           |   2 +-
 content/docs/next/security-overview/index.html     |   2 +-
 content/docs/next/security-tls-authentication.html |   2 +-
 .../next/security-tls-authentication/index.html    |   2 +-
 content/docs/next/security-tls-transport.html      |   2 +-
 .../docs/next/security-tls-transport/index.html    |   2 +-
 content/docs/next/standalone-docker.html           |   2 +-
 content/docs/next/standalone-docker/index.html     |   2 +-
 content/docs/next/standalone.html                  |   2 +-
 content/docs/next/standalone/index.html            |   2 +-
 content/docs/pulsar-2.0.html                       |   2 +-
 content/docs/pulsar-2.0/index.html                 |   2 +-
 content/docs/pulsar-admin.html                     |   2 +-
 content/docs/pulsar-admin/index.html               |   2 +-
 content/docs/reference-cli-tools.html              |   2 +-
 content/docs/reference-cli-tools/index.html        |   2 +-
 content/docs/reference-configuration.html          |   2 +-
 content/docs/reference-configuration/index.html    |   2 +-
 content/docs/reference-terminology.html            |   2 +-
 content/docs/reference-terminology/index.html      |   2 +-
 content/docs/security-athenz.html                  |   2 +-
 content/docs/security-athenz/index.html            |   2 +-
 content/docs/security-authorization.html           |   2 +-
 content/docs/security-authorization/index.html     |   2 +-
 content/docs/security-encryption.html              |   2 +-
 content/docs/security-encryption/index.html        |   2 +-
 content/docs/security-extending.html               |   2 +-
 content/docs/security-extending/index.html         |   2 +-
 content/docs/security-overview.html                |   2 +-
 content/docs/security-overview/index.html          |   2 +-
 content/docs/security-tls-authentication.html      |   2 +-
 .../docs/security-tls-authentication/index.html    |   2 +-
 content/docs/security-tls-transport.html           |   2 +-
 content/docs/security-tls-transport/index.html     |   2 +-
 content/docs/standalone-docker.html                |   2 +-
 content/docs/standalone-docker/index.html          |   2 +-
 content/docs/standalone.html                       |   2 +-
 content/docs/standalone/index.html                 |   2 +-
 content/docs/zh-CN/adaptors-kafka.html             |  16 +-
 content/docs/zh-CN/adaptors-kafka/index.html       |  16 +-
 content/docs/zh-CN/adaptors-spark.html             |  12 +-
 content/docs/zh-CN/adaptors-spark/index.html       |  12 +-
 content/docs/zh-CN/adaptors-storm.html             |  12 +-
 content/docs/zh-CN/adaptors-storm/index.html       |  12 +-
 content/docs/zh-CN/admin-api-brokers.html          |  28 +--
 content/docs/zh-CN/admin-api-brokers/index.html    |  28 +--
 content/docs/zh-CN/admin-api-clusters.html         |  28 +--
 content/docs/zh-CN/admin-api-clusters/index.html   |  28 +--
 content/docs/zh-CN/admin-api-namespaces.html       |  68 +++---
 content/docs/zh-CN/admin-api-namespaces/index.html |  68 +++---
 .../zh-CN/admin-api-non-persistent-topics.html     |  30 +--
 .../admin-api-non-persistent-topics/index.html     |  30 +--
 content/docs/zh-CN/admin-api-overview.html         |  10 +-
 content/docs/zh-CN/admin-api-overview/index.html   |  10 +-
 .../docs/zh-CN/admin-api-partitioned-topics.html   |  40 ++--
 .../zh-CN/admin-api-partitioned-topics/index.html  |  40 ++--
 content/docs/zh-CN/admin-api-permissions.html      |  24 ++-
 .../docs/zh-CN/admin-api-permissions/index.html    |  24 ++-
 .../docs/zh-CN/admin-api-persistent-topics.html    |  76 +++----
 .../zh-CN/admin-api-persistent-topics/index.html   |  76 +++----
 content/docs/zh-CN/admin-api-schemas.html          |  16 +-
 content/docs/zh-CN/admin-api-schemas/index.html    |  16 +-
 content/docs/zh-CN/admin-api-tenants.html          |  16 +-
 content/docs/zh-CN/admin-api-tenants/index.html    |  16 +-
 content/docs/zh-CN/administration-dashboard.html   |  12 +-
 .../docs/zh-CN/administration-dashboard/index.html |  12 +-
 content/docs/zh-CN/administration-geo.html         |  16 +-
 content/docs/zh-CN/administration-geo/index.html   |  16 +-
 .../zh-CN/administration-load-distribution.html    |  24 ++-
 .../administration-load-distribution/index.html    |  24 ++-
 content/docs/zh-CN/administration-proxy.html       |   8 +-
 content/docs/zh-CN/administration-proxy/index.html |   8 +-
 content/docs/zh-CN/administration-stats.html       |   6 +-
 content/docs/zh-CN/administration-stats/index.html |   6 +-
 content/docs/zh-CN/administration-zk-bk.html       |  34 +--
 content/docs/zh-CN/administration-zk-bk/index.html |  34 +--
 content/docs/zh-CN/client-libraries-cpp.html       |  30 +--
 content/docs/zh-CN/client-libraries-cpp/index.html |  30 +--
 content/docs/zh-CN/client-libraries-go.html        |  38 ++--
 content/docs/zh-CN/client-libraries-go/index.html  |  38 ++--
 content/docs/zh-CN/client-libraries-java.html      |  64 +++---
 .../docs/zh-CN/client-libraries-java/index.html    |  64 +++---
 content/docs/zh-CN/client-libraries-python.html    |  16 +-
 .../docs/zh-CN/client-libraries-python/index.html  |  16 +-
 content/docs/zh-CN/client-libraries-websocket.html |  48 +++--
 .../zh-CN/client-libraries-websocket/index.html    |  48 +++--
 content/docs/zh-CN/client-libraries.html           |   6 +-
 content/docs/zh-CN/client-libraries/index.html     |   6 +-
 .../docs/zh-CN/concepts-architecture-overview.html |  12 +-
 .../concepts-architecture-overview/index.html      |  12 +-
 content/docs/zh-CN/concepts-architecture.html      |   2 +-
 .../docs/zh-CN/concepts-architecture/index.html    |   2 +-
 content/docs/zh-CN/concepts-authentication.html    |   6 +-
 .../docs/zh-CN/concepts-authentication/index.html  |   6 +-
 content/docs/zh-CN/concepts-clients.html           |  12 +-
 content/docs/zh-CN/concepts-clients/index.html     |  12 +-
 content/docs/zh-CN/concepts-messaging.html         |  16 +-
 content/docs/zh-CN/concepts-messaging/index.html   |  16 +-
 content/docs/zh-CN/concepts-multi-tenancy.html     |  10 +-
 .../docs/zh-CN/concepts-multi-tenancy/index.html   |  10 +-
 content/docs/zh-CN/concepts-overview.html          |   6 +-
 content/docs/zh-CN/concepts-overview/index.html    |   6 +-
 content/docs/zh-CN/concepts-replication.html       |   6 +-
 content/docs/zh-CN/concepts-replication/index.html |   6 +-
 content/docs/zh-CN/concepts-schema-registry.html   |   8 +-
 .../docs/zh-CN/concepts-schema-registry/index.html |   8 +-
 content/docs/zh-CN/concepts-tiered-storage.html    |   6 +-
 .../docs/zh-CN/concepts-tiered-storage/index.html  |   6 +-
 content/docs/zh-CN/concepts-topic-compaction.html  |   6 +-
 .../zh-CN/concepts-topic-compaction/index.html     |   6 +-
 content/docs/zh-CN/cookbooks-compaction.html       |  20 +-
 content/docs/zh-CN/cookbooks-compaction/index.html |  20 +-
 content/docs/zh-CN/cookbooks-deduplication.html    |  16 +-
 .../docs/zh-CN/cookbooks-deduplication/index.html  |  16 +-
 content/docs/zh-CN/cookbooks-encryption.html       |  14 +-
 content/docs/zh-CN/cookbooks-encryption/index.html |  14 +-
 content/docs/zh-CN/cookbooks-message-queue.html    |  12 +-
 .../docs/zh-CN/cookbooks-message-queue/index.html  |  12 +-
 content/docs/zh-CN/cookbooks-non-persistent.html   |  10 +-
 .../docs/zh-CN/cookbooks-non-persistent/index.html |  10 +-
 content/docs/zh-CN/cookbooks-partitioned.html      |  14 +-
 .../docs/zh-CN/cookbooks-partitioned/index.html    |  14 +-
 content/docs/zh-CN/cookbooks-retention-expiry.html |  40 ++--
 .../zh-CN/cookbooks-retention-expiry/index.html    |  40 ++--
 content/docs/zh-CN/cookbooks-tiered-storage.html   |  24 ++-
 .../docs/zh-CN/cookbooks-tiered-storage/index.html |  24 ++-
 content/docs/zh-CN/deploy-aws.html                 |  40 ++--
 content/docs/zh-CN/deploy-aws/index.html           |  40 ++--
 .../zh-CN/deploy-bare-metal-multi-cluster.html     |  54 ++---
 .../deploy-bare-metal-multi-cluster/index.html     |  54 ++---
 content/docs/zh-CN/deploy-bare-metal.html          |  54 ++---
 content/docs/zh-CN/deploy-bare-metal/index.html    |  54 ++---
 content/docs/zh-CN/deploy-dcos.html                |  20 +-
 content/docs/zh-CN/deploy-dcos/index.html          |  20 +-
 content/docs/zh-CN/deploy-kubernetes.html          |  56 ++---
 content/docs/zh-CN/deploy-kubernetes/index.html    |  56 ++---
 content/docs/zh-CN/deploy-monitoring.html          |  18 +-
 content/docs/zh-CN/deploy-monitoring/index.html    |  18 +-
 content/docs/zh-CN/develop-binary-protocol.html    |  36 ++--
 .../docs/zh-CN/develop-binary-protocol/index.html  |  36 ++--
 content/docs/zh-CN/develop-cpp.html                |  18 +-
 content/docs/zh-CN/develop-cpp/index.html          |  18 +-
 content/docs/zh-CN/develop-load-manager.html       |  14 +-
 content/docs/zh-CN/develop-load-manager/index.html |  14 +-
 content/docs/zh-CN/develop-schema.html             |  10 +-
 content/docs/zh-CN/develop-schema/index.html       |  10 +-
 content/docs/zh-CN/develop-tools.html              |   6 +-
 content/docs/zh-CN/develop-tools/index.html        |   6 +-
 content/docs/zh-CN/functions-api.html              |  72 ++++---
 content/docs/zh-CN/functions-api/index.html        |  72 ++++---
 content/docs/zh-CN/functions-deploying.html        |  36 ++--
 content/docs/zh-CN/functions-deploying/index.html  |  36 ++--
 content/docs/zh-CN/functions-guarantees.html       |  10 +-
 content/docs/zh-CN/functions-guarantees/index.html |  10 +-
 content/docs/zh-CN/functions-metrics.html          |  10 +-
 content/docs/zh-CN/functions-metrics/index.html    |  10 +-
 content/docs/zh-CN/functions-overview.html         |  52 ++---
 content/docs/zh-CN/functions-overview/index.html   |  52 ++---
 content/docs/zh-CN/functions-quickstart.html       |  42 ++--
 content/docs/zh-CN/functions-quickstart/index.html |  42 ++--
 content/docs/zh-CN/functions-state.html            |  16 +-
 content/docs/zh-CN/functions-state/index.html      |  16 +-
 content/docs/zh-CN/io-aerospike.html               |   2 +-
 content/docs/zh-CN/io-aerospike/index.html         |   2 +-
 content/docs/zh-CN/io-cassandra.html               |   2 +-
 content/docs/zh-CN/io-cassandra/index.html         |   2 +-
 content/docs/zh-CN/io-connectors.html              |   6 +-
 content/docs/zh-CN/io-connectors/index.html        |   6 +-
 content/docs/zh-CN/io-develop.html                 |  18 +-
 content/docs/zh-CN/io-develop/index.html           |  18 +-
 content/docs/zh-CN/io-kafka.html                   |   2 +-
 content/docs/zh-CN/io-kafka/index.html             |   2 +-
 content/docs/zh-CN/io-kinesis.html                 |   2 +-
 content/docs/zh-CN/io-kinesis/index.html           |   2 +-
 content/docs/zh-CN/io-managing.html                |  28 +--
 content/docs/zh-CN/io-managing/index.html          |  28 +--
 content/docs/zh-CN/io-overview.html                |   6 +-
 content/docs/zh-CN/io-overview/index.html          |   6 +-
 content/docs/zh-CN/io-quickstart.html              |  66 +++---
 content/docs/zh-CN/io-quickstart/index.html        |  66 +++---
 content/docs/zh-CN/io-rabbitmq.html                |   2 +-
 content/docs/zh-CN/io-rabbitmq/index.html          |   2 +-
 content/docs/zh-CN/io-twitter.html                 |   2 +-
 content/docs/zh-CN/io-twitter/index.html           |   2 +-
 content/docs/zh-CN/next/adaptors-kafka.html        |  16 +-
 content/docs/zh-CN/next/adaptors-kafka/index.html  |  16 +-
 content/docs/zh-CN/next/adaptors-spark.html        |  12 +-
 content/docs/zh-CN/next/adaptors-spark/index.html  |  12 +-
 content/docs/zh-CN/next/adaptors-storm.html        |  12 +-
 content/docs/zh-CN/next/adaptors-storm/index.html  |  12 +-
 content/docs/zh-CN/next/admin-api-brokers.html     |  28 +--
 .../docs/zh-CN/next/admin-api-brokers/index.html   |  28 +--
 content/docs/zh-CN/next/admin-api-clusters.html    |  28 +--
 .../docs/zh-CN/next/admin-api-clusters/index.html  |  28 +--
 content/docs/zh-CN/next/admin-api-namespaces.html  |  68 +++---
 .../zh-CN/next/admin-api-namespaces/index.html     |  68 +++---
 .../next/admin-api-non-persistent-topics.html      |  30 +--
 .../admin-api-non-persistent-topics/index.html     |  30 +--
 content/docs/zh-CN/next/admin-api-overview.html    |  10 +-
 .../docs/zh-CN/next/admin-api-overview/index.html  |  10 +-
 .../zh-CN/next/admin-api-partitioned-topics.html   |  40 ++--
 .../next/admin-api-partitioned-topics/index.html   |  40 ++--
 content/docs/zh-CN/next/admin-api-permissions.html |  24 ++-
 .../zh-CN/next/admin-api-permissions/index.html    |  24 ++-
 .../zh-CN/next/admin-api-persistent-topics.html    |  76 +++----
 .../next/admin-api-persistent-topics/index.html    |  76 +++----
 content/docs/zh-CN/next/admin-api-schemas.html     |  16 +-
 .../docs/zh-CN/next/admin-api-schemas/index.html   |  16 +-
 content/docs/zh-CN/next/admin-api-tenants.html     |  16 +-
 .../docs/zh-CN/next/admin-api-tenants/index.html   |  16 +-
 .../docs/zh-CN/next/administration-dashboard.html  |  12 +-
 .../zh-CN/next/administration-dashboard/index.html |  12 +-
 content/docs/zh-CN/next/administration-geo.html    |  16 +-
 .../docs/zh-CN/next/administration-geo/index.html  |  16 +-
 .../next/administration-load-distribution.html     |  24 ++-
 .../administration-load-distribution/index.html    |  24 ++-
 content/docs/zh-CN/next/administration-proxy.html  |   8 +-
 .../zh-CN/next/administration-proxy/index.html     |   8 +-
 content/docs/zh-CN/next/administration-stats.html  |   6 +-
 .../zh-CN/next/administration-stats/index.html     |   6 +-
 content/docs/zh-CN/next/administration-zk-bk.html  |  34 +--
 .../zh-CN/next/administration-zk-bk/index.html     |  34 +--
 content/docs/zh-CN/next/client-libraries-cpp.html  |  30 +--
 .../zh-CN/next/client-libraries-cpp/index.html     |  30 +--
 content/docs/zh-CN/next/client-libraries-go.html   |  38 ++--
 .../docs/zh-CN/next/client-libraries-go/index.html |  38 ++--
 content/docs/zh-CN/next/client-libraries-java.html |  64 +++---
 .../zh-CN/next/client-libraries-java/index.html    |  64 +++---
 .../docs/zh-CN/next/client-libraries-python.html   |  16 +-
 .../zh-CN/next/client-libraries-python/index.html  |  16 +-
 .../zh-CN/next/client-libraries-websocket.html     |  48 +++--
 .../next/client-libraries-websocket/index.html     |  48 +++--
 content/docs/zh-CN/next/client-libraries.html      |   6 +-
 .../docs/zh-CN/next/client-libraries/index.html    |   6 +-
 .../zh-CN/next/concepts-architecture-overview.html |  12 +-
 .../next/concepts-architecture-overview/index.html |  12 +-
 content/docs/zh-CN/next/concepts-architecture.html |   2 +-
 .../zh-CN/next/concepts-architecture/index.html    |   2 +-
 .../docs/zh-CN/next/concepts-authentication.html   |   6 +-
 .../zh-CN/next/concepts-authentication/index.html  |   6 +-
 content/docs/zh-CN/next/concepts-clients.html      |  12 +-
 .../docs/zh-CN/next/concepts-clients/index.html    |  12 +-
 content/docs/zh-CN/next/concepts-messaging.html    |  16 +-
 .../docs/zh-CN/next/concepts-messaging/index.html  |  16 +-
 .../docs/zh-CN/next/concepts-multi-tenancy.html    |  10 +-
 .../zh-CN/next/concepts-multi-tenancy/index.html   |  10 +-
 content/docs/zh-CN/next/concepts-overview.html     |   6 +-
 .../docs/zh-CN/next/concepts-overview/index.html   |   6 +-
 content/docs/zh-CN/next/concepts-replication.html  |   6 +-
 .../zh-CN/next/concepts-replication/index.html     |   6 +-
 .../docs/zh-CN/next/concepts-schema-registry.html  |   8 +-
 .../zh-CN/next/concepts-schema-registry/index.html |   8 +-
 .../docs/zh-CN/next/concepts-tiered-storage.html   |   6 +-
 .../zh-CN/next/concepts-tiered-storage/index.html  |   6 +-
 .../docs/zh-CN/next/concepts-topic-compaction.html |   6 +-
 .../next/concepts-topic-compaction/index.html      |   6 +-
 content/docs/zh-CN/next/cookbooks-compaction.html  |  20 +-
 .../zh-CN/next/cookbooks-compaction/index.html     |  20 +-
 .../docs/zh-CN/next/cookbooks-deduplication.html   |  16 +-
 .../zh-CN/next/cookbooks-deduplication/index.html  |  16 +-
 content/docs/zh-CN/next/cookbooks-encryption.html  |  14 +-
 .../zh-CN/next/cookbooks-encryption/index.html     |  14 +-
 .../docs/zh-CN/next/cookbooks-message-queue.html   |  12 +-
 .../zh-CN/next/cookbooks-message-queue/index.html  |  12 +-
 .../docs/zh-CN/next/cookbooks-non-persistent.html  |  10 +-
 .../zh-CN/next/cookbooks-non-persistent/index.html |  10 +-
 content/docs/zh-CN/next/cookbooks-partitioned.html |  14 +-
 .../zh-CN/next/cookbooks-partitioned/index.html    |  14 +-
 .../zh-CN/next/cookbooks-retention-expiry.html     |  40 ++--
 .../next/cookbooks-retention-expiry/index.html     |  40 ++--
 .../docs/zh-CN/next/cookbooks-tiered-storage.html  |  34 +--
 .../zh-CN/next/cookbooks-tiered-storage/index.html |  34 +--
 content/docs/zh-CN/next/deploy-aws.html            |  40 ++--
 content/docs/zh-CN/next/deploy-aws/index.html      |  40 ++--
 .../next/deploy-bare-metal-multi-cluster.html      |  54 ++---
 .../deploy-bare-metal-multi-cluster/index.html     |  54 ++---
 content/docs/zh-CN/next/deploy-bare-metal.html     |  54 ++---
 .../docs/zh-CN/next/deploy-bare-metal/index.html   |  54 ++---
 content/docs/zh-CN/next/deploy-dcos.html           |  20 +-
 content/docs/zh-CN/next/deploy-dcos/index.html     |  20 +-
 content/docs/zh-CN/next/deploy-kubernetes.html     |  56 ++---
 .../docs/zh-CN/next/deploy-kubernetes/index.html   |  56 ++---
 content/docs/zh-CN/next/deploy-monitoring.html     |  18 +-
 .../docs/zh-CN/next/deploy-monitoring/index.html   |  18 +-
 .../docs/zh-CN/next/develop-binary-protocol.html   |  36 ++--
 .../zh-CN/next/develop-binary-protocol/index.html  |  36 ++--
 content/docs/zh-CN/next/develop-cpp.html           |  18 +-
 content/docs/zh-CN/next/develop-cpp/index.html     |  18 +-
 content/docs/zh-CN/next/develop-load-manager.html  |  14 +-
 .../zh-CN/next/develop-load-manager/index.html     |  14 +-
 content/docs/zh-CN/next/develop-schema.html        |  10 +-
 content/docs/zh-CN/next/develop-schema/index.html  |  10 +-
 content/docs/zh-CN/next/develop-tools.html         |   6 +-
 content/docs/zh-CN/next/develop-tools/index.html   |   6 +-
 content/docs/zh-CN/next/functions-api.html         |  72 ++++---
 content/docs/zh-CN/next/functions-api/index.html   |  72 ++++---
 content/docs/zh-CN/next/functions-deploying.html   |  36 ++--
 .../docs/zh-CN/next/functions-deploying/index.html |  36 ++--
 content/docs/zh-CN/next/functions-guarantees.html  |  10 +-
 .../zh-CN/next/functions-guarantees/index.html     |  10 +-
 content/docs/zh-CN/next/functions-metrics.html     |  10 +-
 .../docs/zh-CN/next/functions-metrics/index.html   |  10 +-
 content/docs/zh-CN/next/functions-overview.html    |  52 ++---
 .../docs/zh-CN/next/functions-overview/index.html  |  52 ++---
 content/docs/zh-CN/next/functions-quickstart.html  |  42 ++--
 .../zh-CN/next/functions-quickstart/index.html     |  42 ++--
 content/docs/zh-CN/next/functions-state.html       |  16 +-
 content/docs/zh-CN/next/functions-state/index.html |  16 +-
 content/docs/zh-CN/next/io-aerospike.html          |   2 +-
 content/docs/zh-CN/next/io-aerospike/index.html    |   2 +-
 content/docs/zh-CN/next/io-cassandra.html          |   2 +-
 content/docs/zh-CN/next/io-cassandra/index.html    |   2 +-
 content/docs/zh-CN/next/io-connectors.html         |   6 +-
 content/docs/zh-CN/next/io-connectors/index.html   |   6 +-
 content/docs/zh-CN/next/io-develop.html            |  18 +-
 content/docs/zh-CN/next/io-develop/index.html      |  18 +-
 content/docs/zh-CN/next/io-kafka.html              |   2 +-
 content/docs/zh-CN/next/io-kafka/index.html        |   2 +-
 content/docs/zh-CN/next/io-kinesis.html            |   2 +-
 content/docs/zh-CN/next/io-kinesis/index.html      |   2 +-
 content/docs/zh-CN/next/io-managing.html           |  28 +--
 content/docs/zh-CN/next/io-managing/index.html     |  28 +--
 content/docs/zh-CN/next/io-overview.html           |   6 +-
 content/docs/zh-CN/next/io-overview/index.html     |   6 +-
 content/docs/zh-CN/next/io-quickstart.html         |  66 +++---
 content/docs/zh-CN/next/io-quickstart/index.html   |  66 +++---
 content/docs/zh-CN/next/io-rabbitmq.html           |   2 +-
 content/docs/zh-CN/next/io-rabbitmq/index.html     |   2 +-
 content/docs/zh-CN/next/io-twitter.html            |   2 +-
 content/docs/zh-CN/next/io-twitter/index.html      |   2 +-
 content/docs/zh-CN/next/pulsar-2.0.html            |  10 +-
 content/docs/zh-CN/next/pulsar-2.0/index.html      |  10 +-
 content/docs/zh-CN/next/pulsar-admin.html          | 232 +++++++++++----------
 content/docs/zh-CN/next/pulsar-admin/index.html    | 232 +++++++++++----------
 content/docs/zh-CN/next/reference-cli-tools.html   |  86 ++++----
 .../docs/zh-CN/next/reference-cli-tools/index.html |  86 ++++----
 .../docs/zh-CN/next/reference-configuration.html   |   8 +-
 .../zh-CN/next/reference-configuration/index.html  |   8 +-
 content/docs/zh-CN/next/reference-terminology.html |   6 +-
 .../zh-CN/next/reference-terminology/index.html    |   6 +-
 content/docs/zh-CN/next/security-athenz.html       |  10 +-
 content/docs/zh-CN/next/security-athenz/index.html |  10 +-
 .../docs/zh-CN/next/security-authorization.html    |  18 +-
 .../zh-CN/next/security-authorization/index.html   |  18 +-
 content/docs/zh-CN/next/security-encryption.html   |  14 +-
 .../docs/zh-CN/next/security-encryption/index.html |  14 +-
 content/docs/zh-CN/next/security-extending.html    |  14 +-
 .../docs/zh-CN/next/security-extending/index.html  |  14 +-
 content/docs/zh-CN/next/security-overview.html     |   6 +-
 .../docs/zh-CN/next/security-overview/index.html   |   6 +-
 .../zh-CN/next/security-tls-authentication.html    |  26 ++-
 .../next/security-tls-authentication/index.html    |  26 ++-
 .../docs/zh-CN/next/security-tls-transport.html    |  30 +--
 .../zh-CN/next/security-tls-transport/index.html   |  30 +--
 content/docs/zh-CN/next/standalone-docker.html     |  18 +-
 .../docs/zh-CN/next/standalone-docker/index.html   |  18 +-
 content/docs/zh-CN/next/standalone.html            |  26 ++-
 content/docs/zh-CN/next/standalone/index.html      |  26 ++-
 content/docs/zh-CN/pulsar-2.0.html                 |  10 +-
 content/docs/zh-CN/pulsar-2.0/index.html           |  10 +-
 content/docs/zh-CN/pulsar-admin.html               | 232 +++++++++++----------
 content/docs/zh-CN/pulsar-admin/index.html         | 232 +++++++++++----------
 content/docs/zh-CN/reference-cli-tools.html        |  86 ++++----
 content/docs/zh-CN/reference-cli-tools/index.html  |  86 ++++----
 content/docs/zh-CN/reference-configuration.html    |   8 +-
 .../docs/zh-CN/reference-configuration/index.html  |   8 +-
 content/docs/zh-CN/reference-terminology.html      |   6 +-
 .../docs/zh-CN/reference-terminology/index.html    |   6 +-
 content/docs/zh-CN/security-athenz.html            |  10 +-
 content/docs/zh-CN/security-athenz/index.html      |  10 +-
 content/docs/zh-CN/security-authorization.html     |  18 +-
 .../docs/zh-CN/security-authorization/index.html   |  18 +-
 content/docs/zh-CN/security-encryption.html        |  14 +-
 content/docs/zh-CN/security-encryption/index.html  |  14 +-
 content/docs/zh-CN/security-extending.html         |  14 +-
 content/docs/zh-CN/security-extending/index.html   |  14 +-
 content/docs/zh-CN/security-overview.html          |   6 +-
 content/docs/zh-CN/security-overview/index.html    |   6 +-
 .../docs/zh-CN/security-tls-authentication.html    |  26 ++-
 .../zh-CN/security-tls-authentication/index.html   |  26 ++-
 content/docs/zh-CN/security-tls-transport.html     |  30 +--
 .../docs/zh-CN/security-tls-transport/index.html   |  30 +--
 content/docs/zh-CN/standalone-docker.html          |  18 +-
 content/docs/zh-CN/standalone-docker/index.html    |  18 +-
 content/docs/zh-CN/standalone.html                 |  26 ++-
 content/docs/zh-CN/standalone/index.html           |  26 ++-
 content/download.html                              |   2 +-
 content/download/index.html                        |   2 +-
 content/en/admin-rest-api.html                     |   2 +-
 content/en/admin-rest-api/index.html               |   2 +-
 content/en/contact.html                            |   2 +-
 content/en/contact/index.html                      |   2 +-
 content/en/download.html                           |   2 +-
 content/en/download/index.html                     |   2 +-
 content/en/events.html                             |   2 +-
 content/en/events/index.html                       |   2 +-
 content/en/index.html                              |   2 +-
 content/en/release-notes.html                      |   2 +-
 content/en/release-notes/index.html                |   2 +-
 content/en/resources.html                          |   2 +-
 content/en/resources/index.html                    |   2 +-
 content/en/team.html                               |   2 +-
 content/en/team/index.html                         |   2 +-
 content/en/versions.html                           |   2 +-
 content/en/versions/index.html                     |   2 +-
 content/events.html                                |   2 +-
 content/events/index.html                          |   2 +-
 content/fr/admin-rest-api.html                     |   2 +-
 content/fr/admin-rest-api/index.html               |   2 +-
 content/fr/contact.html                            |   2 +-
 content/fr/contact/index.html                      |   2 +-
 content/fr/download.html                           |   2 +-
 content/fr/download/index.html                     |   2 +-
 content/fr/events.html                             |   2 +-
 content/fr/events/index.html                       |   2 +-
 content/fr/index.html                              |   2 +-
 content/fr/release-notes.html                      |   2 +-
 content/fr/release-notes/index.html                |   2 +-
 content/fr/resources.html                          |   2 +-
 content/fr/resources/index.html                    |   2 +-
 content/fr/team.html                               |   2 +-
 content/fr/team/index.html                         |   2 +-
 content/fr/versions.html                           |   2 +-
 content/fr/versions/index.html                     |   2 +-
 content/index.html                                 |   2 +-
 content/ja/adaptors/PulsarSpark/index.html         |   8 +-
 content/ja/adaptors/PulsarStorm/index.html         |   6 +-
 content/ja/admin-rest-api.html                     |   2 +-
 content/ja/admin-rest-api/index.html               |   2 +-
 content/ja/admin/AdminInterface/index.html         |  12 +-
 content/ja/admin/Authz/index.html                  |  12 +-
 content/ja/admin/ClustersBrokers/index.html        |   6 +-
 content/ja/admin/PropertiesNamespaces/index.html   |   6 +-
 content/ja/advanced/PartitionedTopics/index.html   |  12 +-
 content/ja/advanced/RetentionExpiry/index.html     |  12 +-
 content/ja/clients/Cpp/index.html                  |   6 +-
 content/ja/clients/Java/index.html                 |   8 +-
 content/ja/clients/Python/index.html               |   8 +-
 content/ja/clients/WebSocket/index.html            |   8 +-
 content/ja/contact.html                            |   2 +-
 content/ja/contact/index.html                      |   2 +-
 content/ja/deployment/InstanceSetup/index.html     |   6 +-
 content/ja/deployment/Kubernetes/index.html        |   4 +-
 content/ja/download.html                           |   2 +-
 content/ja/download/index.html                     |   2 +-
 content/ja/events.html                             |   2 +-
 content/ja/events/index.html                       |   2 +-
 .../ConceptsAndArchitecture/index.html             |   2 +-
 content/ja/getting-started/LocalCluster/index.html |   4 +-
 content/ja/index.html                              |   2 +-
 content/ja/project/BinaryProtocol/index.html       |   4 +-
 content/ja/project/SimulationTools/index.html      |   2 +-
 content/ja/reference/CliTools/index.html           |  18 +-
 content/ja/release-notes.html                      |   2 +-
 content/ja/release-notes/index.html                |   2 +-
 content/ja/resources.html                          |   2 +-
 content/ja/resources/index.html                    |   2 +-
 content/ja/team.html                               |   2 +-
 content/ja/team/index.html                         |   2 +-
 content/ja/versions.html                           |   2 +-
 content/ja/versions/index.html                     |   2 +-
 content/release-notes.html                         |   2 +-
 content/release-notes/index.html                   |   2 +-
 content/resources.html                             |   2 +-
 content/resources/index.html                       |   2 +-
 content/swagger/swagger.json                       |  40 ++--
 content/team.html                                  |   2 +-
 content/team/index.html                            |   2 +-
 content/versions.html                              |   2 +-
 content/versions/index.html                        |   2 +-
 content/zh-CN/admin-rest-api.html                  |   2 +-
 content/zh-CN/admin-rest-api/index.html            |   2 +-
 content/zh-CN/contact.html                         |   2 +-
 content/zh-CN/contact/index.html                   |   2 +-
 content/zh-CN/download.html                        |   2 +-
 content/zh-CN/download/index.html                  |   2 +-
 content/zh-CN/events.html                          |   2 +-
 content/zh-CN/events/index.html                    |   2 +-
 content/zh-CN/index.html                           |   2 +-
 content/zh-CN/release-notes.html                   |   2 +-
 content/zh-CN/release-notes/index.html             |   2 +-
 content/zh-CN/resources.html                       |   2 +-
 content/zh-CN/resources/index.html                 |   2 +-
 content/zh-CN/team.html                            |   2 +-
 content/zh-CN/team/index.html                      |   2 +-
 content/zh-CN/versions.html                        |   2 +-
 content/zh-CN/versions/index.html                  |   2 +-
 1880 files changed, 20294 insertions(+), 15182 deletions(-)

diff --git a/content/admin-rest-api.html b/content/admin-rest-api.html
index ac684db..e2675dd 100644
--- a/content/admin-rest-api.html
+++ b/content/admin-rest-api.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/en [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/en [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
diff --git a/content/admin-rest-api/index.html b/content/admin-rest-api/index.html
index ac684db..e2675dd 100644
--- a/content/admin-rest-api/index.html
+++ b/content/admin-rest-api/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/en [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/en [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
diff --git a/content/blog/2018/08/06/Apache-Pulsar-2-1-0.html b/content/blog/2018/08/06/Apache-Pulsar-2-1-0.html
index ba8c11f..fb1003c 100644
--- a/content/blog/2018/08/06/Apache-Pulsar-2-1-0.html
+++ b/content/blog/2018/08/06/Apache-Pulsar-2-1-0.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -102,7 +106,7 @@ support for <a href="https://avro.apache.org/">Avro</a> and <a href="https://dev
 <p>We have introduced a new <a href="/docs/client-libraries-go">Go</a> client in 2.1 release. The Pulsar Go client library is based on the
 <a href="/docs/client-libraries-cpp/">C++</a> client library.</p>
 <p>Follow <a href="/docs/client-libraries-go/#installing-go-package">the instructions</a> to try it out in your Go applications!</p>
-</span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Apache Pulsar 2.1.0-incubating" data-url="https://pulsar.incubator.apache.org/blog/2018/08/06/Apache-Pulsar-2-1-0" data-related="true" data-show-count="false"></a></div></div></div><div class="blog-recent"><a class="button" href="/blog">Recent Posts</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href= [...]
+</span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Apache Pulsar 2.1.0-incubating" data-url="https://pulsar.incubator.apache.org/blog/2018/08/06/Apache-Pulsar-2-1-0" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog">Recent Posts</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/blog/2018/08/06/Apache-Pulsar-2-1-0/index.html b/content/blog/2018/08/06/Apache-Pulsar-2-1-0/index.html
index ba8c11f..fb1003c 100644
--- a/content/blog/2018/08/06/Apache-Pulsar-2-1-0/index.html
+++ b/content/blog/2018/08/06/Apache-Pulsar-2-1-0/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -102,7 +106,7 @@ support for <a href="https://avro.apache.org/">Avro</a> and <a href="https://dev
 <p>We have introduced a new <a href="/docs/client-libraries-go">Go</a> client in 2.1 release. The Pulsar Go client library is based on the
 <a href="/docs/client-libraries-cpp/">C++</a> client library.</p>
 <p>Follow <a href="/docs/client-libraries-go/#installing-go-package">the instructions</a> to try it out in your Go applications!</p>
-</span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Apache Pulsar 2.1.0-incubating" data-url="https://pulsar.incubator.apache.org/blog/2018/08/06/Apache-Pulsar-2-1-0" data-related="true" data-show-count="false"></a></div></div></div><div class="blog-recent"><a class="button" href="/blog">Recent Posts</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href= [...]
+</span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Apache Pulsar 2.1.0-incubating" data-url="https://pulsar.incubator.apache.org/blog/2018/08/06/Apache-Pulsar-2-1-0" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog">Recent Posts</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/blog/index.html b/content/blog/index.html
index 772144b..07c3fcb 100644
--- a/content/blog/index.html
+++ b/content/blog/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
diff --git a/content/contact.html b/content/contact.html
index 80c418d..f1a8542 100644
--- a/content/contact.html
+++ b/content/contact.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/en [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/en [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
diff --git a/content/contact/index.html b/content/contact/index.html
index 80c418d..f1a8542 100644
--- a/content/contact/index.html
+++ b/content/contact/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/en [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/en [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
diff --git a/content/css/main.css b/content/css/main.css
index 2b723fe..0b5ba7e 100644
--- a/content/css/main.css
+++ b/content/css/main.css
@@ -1 +1 @@
-a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}b [...]
\ No newline at end of file
+a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}b [...]
\ No newline at end of file
diff --git a/content/css/prism.css b/content/css/prism.css
index 3a997e0..7409929 100644
--- a/content/css/prism.css
+++ b/content/css/prism.css
@@ -1,14 +1,11 @@
 /**
- * prism.js default theme for JavaScript, CSS and HTML
+ * Modified prism.js default theme for JavaScript, CSS and HTML
  * Based on dabblet (http://dabblet.com)
  * @author Lea Verou
  */
 
 code[class*="language-"],
 pre[class*="language-"] {
-  color: black;
-  background: none;
-  text-shadow: 0 1px white;
   font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
   text-align: left;
   white-space: pre;
@@ -27,23 +24,6 @@ pre[class*="language-"] {
   hyphens: none;
 }
 
-pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
-code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
-  text-shadow: none;
-}
-
-pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
-code[class*="language-"]::selection, code[class*="language-"] ::selection {
-  text-shadow: none;
-}
-
-@media print {
-  code[class*="language-"],
-  pre[class*="language-"] {
-    text-shadow: none;
-  }
-}
-
 /* Code blocks */
 pre[class*="language-"] {
   padding: 1em;
diff --git a/content/docs/adaptors-kafka.html b/content/docs/adaptors-kafka.html
index f324434..88ebc38 100644
--- a/content/docs/adaptors-kafka.html
+++ b/content/docs/adaptors-kafka.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/adaptors-kafka/index.html b/content/docs/adaptors-kafka/index.html
index f324434..88ebc38 100644
--- a/content/docs/adaptors-kafka/index.html
+++ b/content/docs/adaptors-kafka/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/adaptors-spark.html b/content/docs/adaptors-spark.html
index f35fb31..cd4f625 100644
--- a/content/docs/adaptors-spark.html
+++ b/content/docs/adaptors-spark.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/adaptors-spark/index.html b/content/docs/adaptors-spark/index.html
index f35fb31..cd4f625 100644
--- a/content/docs/adaptors-spark/index.html
+++ b/content/docs/adaptors-spark/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/adaptors-storm.html b/content/docs/adaptors-storm.html
index 90ce709..46cb6a0 100644
--- a/content/docs/adaptors-storm.html
+++ b/content/docs/adaptors-storm.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/adaptors-storm/index.html b/content/docs/adaptors-storm/index.html
index 90ce709..46cb6a0 100644
--- a/content/docs/adaptors-storm/index.html
+++ b/content/docs/adaptors-storm/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-brokers.html b/content/docs/admin-api-brokers.html
index 93fc375..5ef83ef 100644
--- a/content/docs/admin-api-brokers.html
+++ b/content/docs/admin-api-brokers.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-brokers/index.html b/content/docs/admin-api-brokers/index.html
index 93fc375..5ef83ef 100644
--- a/content/docs/admin-api-brokers/index.html
+++ b/content/docs/admin-api-brokers/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-clusters.html b/content/docs/admin-api-clusters.html
index 39e8ccb..050d42c 100644
--- a/content/docs/admin-api-clusters.html
+++ b/content/docs/admin-api-clusters.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-clusters/index.html b/content/docs/admin-api-clusters/index.html
index 39e8ccb..050d42c 100644
--- a/content/docs/admin-api-clusters/index.html
+++ b/content/docs/admin-api-clusters/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-namespaces.html b/content/docs/admin-api-namespaces.html
index f9d531e..5753996 100644
--- a/content/docs/admin-api-namespaces.html
+++ b/content/docs/admin-api-namespaces.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-namespaces/index.html b/content/docs/admin-api-namespaces/index.html
index f9d531e..5753996 100644
--- a/content/docs/admin-api-namespaces/index.html
+++ b/content/docs/admin-api-namespaces/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-non-persistent-topics.html b/content/docs/admin-api-non-persistent-topics.html
index 5d9925b..11fa9a5 100644
--- a/content/docs/admin-api-non-persistent-topics.html
+++ b/content/docs/admin-api-non-persistent-topics.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-non-persistent-topics/index.html b/content/docs/admin-api-non-persistent-topics/index.html
index 5d9925b..11fa9a5 100644
--- a/content/docs/admin-api-non-persistent-topics/index.html
+++ b/content/docs/admin-api-non-persistent-topics/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-overview.html b/content/docs/admin-api-overview.html
index 3857d64..d9eedef 100644
--- a/content/docs/admin-api-overview.html
+++ b/content/docs/admin-api-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-overview/index.html b/content/docs/admin-api-overview/index.html
index 3857d64..d9eedef 100644
--- a/content/docs/admin-api-overview/index.html
+++ b/content/docs/admin-api-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-partitioned-topics.html b/content/docs/admin-api-partitioned-topics.html
index 4a9987f..077a345 100644
--- a/content/docs/admin-api-partitioned-topics.html
+++ b/content/docs/admin-api-partitioned-topics.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-partitioned-topics/index.html b/content/docs/admin-api-partitioned-topics/index.html
index 4a9987f..077a345 100644
--- a/content/docs/admin-api-partitioned-topics/index.html
+++ b/content/docs/admin-api-partitioned-topics/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-permissions.html b/content/docs/admin-api-permissions.html
index bbdc4a0..74c7a68 100644
--- a/content/docs/admin-api-permissions.html
+++ b/content/docs/admin-api-permissions.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-permissions/index.html b/content/docs/admin-api-permissions/index.html
index bbdc4a0..74c7a68 100644
--- a/content/docs/admin-api-permissions/index.html
+++ b/content/docs/admin-api-permissions/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-persistent-topics.html b/content/docs/admin-api-persistent-topics.html
index 46664d5..8fbfa38 100644
--- a/content/docs/admin-api-persistent-topics.html
+++ b/content/docs/admin-api-persistent-topics.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-persistent-topics/index.html b/content/docs/admin-api-persistent-topics/index.html
index 46664d5..8fbfa38 100644
--- a/content/docs/admin-api-persistent-topics/index.html
+++ b/content/docs/admin-api-persistent-topics/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-schemas.html b/content/docs/admin-api-schemas.html
index 0ea5ea1..fbf1b70 100644
--- a/content/docs/admin-api-schemas.html
+++ b/content/docs/admin-api-schemas.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-schemas/index.html b/content/docs/admin-api-schemas/index.html
index 0ea5ea1..fbf1b70 100644
--- a/content/docs/admin-api-schemas/index.html
+++ b/content/docs/admin-api-schemas/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-tenants.html b/content/docs/admin-api-tenants.html
index f2d6750..2c4cdc7 100644
--- a/content/docs/admin-api-tenants.html
+++ b/content/docs/admin-api-tenants.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/admin-api-tenants/index.html b/content/docs/admin-api-tenants/index.html
index f2d6750..2c4cdc7 100644
--- a/content/docs/admin-api-tenants/index.html
+++ b/content/docs/admin-api-tenants/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/administration-dashboard.html b/content/docs/administration-dashboard.html
index 686206e..3da3d08 100644
--- a/content/docs/administration-dashboard.html
+++ b/content/docs/administration-dashboard.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/administration-dashboard/index.html b/content/docs/administration-dashboard/index.html
index 686206e..3da3d08 100644
--- a/content/docs/administration-dashboard/index.html
+++ b/content/docs/administration-dashboard/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/administration-geo.html b/content/docs/administration-geo.html
index eef85cb..3220a5f 100644
--- a/content/docs/administration-geo.html
+++ b/content/docs/administration-geo.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/administration-geo/index.html b/content/docs/administration-geo/index.html
index eef85cb..3220a5f 100644
--- a/content/docs/administration-geo/index.html
+++ b/content/docs/administration-geo/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/administration-load-distribution.html b/content/docs/administration-load-distribution.html
index 92a4486..7046d91 100644
--- a/content/docs/administration-load-distribution.html
+++ b/content/docs/administration-load-distribution.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/administration-load-distribution/index.html b/content/docs/administration-load-distribution/index.html
index 92a4486..7046d91 100644
--- a/content/docs/administration-load-distribution/index.html
+++ b/content/docs/administration-load-distribution/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/administration-proxy.html b/content/docs/administration-proxy.html
index 6bc181b..fef2f13 100644
--- a/content/docs/administration-proxy.html
+++ b/content/docs/administration-proxy.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/administration-proxy/index.html b/content/docs/administration-proxy/index.html
index 6bc181b..fef2f13 100644
--- a/content/docs/administration-proxy/index.html
+++ b/content/docs/administration-proxy/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/administration-stats.html b/content/docs/administration-stats.html
index 3957fec..524d649 100644
--- a/content/docs/administration-stats.html
+++ b/content/docs/administration-stats.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/administration-stats/index.html b/content/docs/administration-stats/index.html
index 3957fec..524d649 100644
--- a/content/docs/administration-stats/index.html
+++ b/content/docs/administration-stats/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/administration-zk-bk.html b/content/docs/administration-zk-bk.html
index 74e3a31..c4c82fa 100644
--- a/content/docs/administration-zk-bk.html
+++ b/content/docs/administration-zk-bk.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/administration-zk-bk/index.html b/content/docs/administration-zk-bk/index.html
index 74e3a31..c4c82fa 100644
--- a/content/docs/administration-zk-bk/index.html
+++ b/content/docs/administration-zk-bk/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/client-libraries-cpp.html b/content/docs/client-libraries-cpp.html
index 4641cf4..0b19049 100644
--- a/content/docs/client-libraries-cpp.html
+++ b/content/docs/client-libraries-cpp.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/client-libraries-cpp/index.html b/content/docs/client-libraries-cpp/index.html
index 4641cf4..0b19049 100644
--- a/content/docs/client-libraries-cpp/index.html
+++ b/content/docs/client-libraries-cpp/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/client-libraries-go.html b/content/docs/client-libraries-go.html
index b3b48a6..b65006f 100644
--- a/content/docs/client-libraries-go.html
+++ b/content/docs/client-libraries-go.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/client-libraries-go/index.html b/content/docs/client-libraries-go/index.html
index b3b48a6..b65006f 100644
--- a/content/docs/client-libraries-go/index.html
+++ b/content/docs/client-libraries-go/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/client-libraries-java.html b/content/docs/client-libraries-java.html
index 6473ed6..67310a7 100644
--- a/content/docs/client-libraries-java.html
+++ b/content/docs/client-libraries-java.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/client-libraries-java/index.html b/content/docs/client-libraries-java/index.html
index 6473ed6..67310a7 100644
--- a/content/docs/client-libraries-java/index.html
+++ b/content/docs/client-libraries-java/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/client-libraries-python.html b/content/docs/client-libraries-python.html
index a8e164e..cbf81bc 100644
--- a/content/docs/client-libraries-python.html
+++ b/content/docs/client-libraries-python.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/client-libraries-python/index.html b/content/docs/client-libraries-python/index.html
index a8e164e..cbf81bc 100644
--- a/content/docs/client-libraries-python/index.html
+++ b/content/docs/client-libraries-python/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/client-libraries-websocket.html b/content/docs/client-libraries-websocket.html
index 06ba5c1..113d8c7 100644
--- a/content/docs/client-libraries-websocket.html
+++ b/content/docs/client-libraries-websocket.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/client-libraries-websocket/index.html b/content/docs/client-libraries-websocket/index.html
index 06ba5c1..113d8c7 100644
--- a/content/docs/client-libraries-websocket/index.html
+++ b/content/docs/client-libraries-websocket/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/client-libraries.html b/content/docs/client-libraries.html
index a634432..2c90ce3 100644
--- a/content/docs/client-libraries.html
+++ b/content/docs/client-libraries.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/client-libraries/index.html b/content/docs/client-libraries/index.html
index a634432..2c90ce3 100644
--- a/content/docs/client-libraries/index.html
+++ b/content/docs/client-libraries/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-architecture-overview.html b/content/docs/concepts-architecture-overview.html
index dafaa73..b0ea37c 100644
--- a/content/docs/concepts-architecture-overview.html
+++ b/content/docs/concepts-architecture-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-architecture-overview/index.html b/content/docs/concepts-architecture-overview/index.html
index dafaa73..b0ea37c 100644
--- a/content/docs/concepts-architecture-overview/index.html
+++ b/content/docs/concepts-architecture-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-architecture.html b/content/docs/concepts-architecture.html
index 73b149d..49f0825 100644
--- a/content/docs/concepts-architecture.html
+++ b/content/docs/concepts-architecture.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-architecture/index.html b/content/docs/concepts-architecture/index.html
index 73b149d..49f0825 100644
--- a/content/docs/concepts-architecture/index.html
+++ b/content/docs/concepts-architecture/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-authentication.html b/content/docs/concepts-authentication.html
index 773954b..d55ec51 100644
--- a/content/docs/concepts-authentication.html
+++ b/content/docs/concepts-authentication.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-authentication/index.html b/content/docs/concepts-authentication/index.html
index 773954b..d55ec51 100644
--- a/content/docs/concepts-authentication/index.html
+++ b/content/docs/concepts-authentication/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-clients.html b/content/docs/concepts-clients.html
index 593da50..c657a29 100644
--- a/content/docs/concepts-clients.html
+++ b/content/docs/concepts-clients.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-clients/index.html b/content/docs/concepts-clients/index.html
index 593da50..c657a29 100644
--- a/content/docs/concepts-clients/index.html
+++ b/content/docs/concepts-clients/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-messaging.html b/content/docs/concepts-messaging.html
index 2cfb80f..23843c2 100644
--- a/content/docs/concepts-messaging.html
+++ b/content/docs/concepts-messaging.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-messaging/index.html b/content/docs/concepts-messaging/index.html
index 2cfb80f..23843c2 100644
--- a/content/docs/concepts-messaging/index.html
+++ b/content/docs/concepts-messaging/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-multi-tenancy.html b/content/docs/concepts-multi-tenancy.html
index e04ccb3..c5ab78a 100644
--- a/content/docs/concepts-multi-tenancy.html
+++ b/content/docs/concepts-multi-tenancy.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-multi-tenancy/index.html b/content/docs/concepts-multi-tenancy/index.html
index e04ccb3..c5ab78a 100644
--- a/content/docs/concepts-multi-tenancy/index.html
+++ b/content/docs/concepts-multi-tenancy/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-overview.html b/content/docs/concepts-overview.html
index ae0211a..df5f2be 100644
--- a/content/docs/concepts-overview.html
+++ b/content/docs/concepts-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-overview/index.html b/content/docs/concepts-overview/index.html
index ae0211a..df5f2be 100644
--- a/content/docs/concepts-overview/index.html
+++ b/content/docs/concepts-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-replication.html b/content/docs/concepts-replication.html
index b70cf54..cc20bb7 100644
--- a/content/docs/concepts-replication.html
+++ b/content/docs/concepts-replication.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-replication/index.html b/content/docs/concepts-replication/index.html
index b70cf54..cc20bb7 100644
--- a/content/docs/concepts-replication/index.html
+++ b/content/docs/concepts-replication/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-schema-registry.html b/content/docs/concepts-schema-registry.html
index 2cefed7..1c9aa67 100644
--- a/content/docs/concepts-schema-registry.html
+++ b/content/docs/concepts-schema-registry.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-schema-registry/index.html b/content/docs/concepts-schema-registry/index.html
index 2cefed7..1c9aa67 100644
--- a/content/docs/concepts-schema-registry/index.html
+++ b/content/docs/concepts-schema-registry/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-tiered-storage.html b/content/docs/concepts-tiered-storage.html
index 6d929de..80b3a8c 100644
--- a/content/docs/concepts-tiered-storage.html
+++ b/content/docs/concepts-tiered-storage.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-tiered-storage/index.html b/content/docs/concepts-tiered-storage/index.html
index 6d929de..80b3a8c 100644
--- a/content/docs/concepts-tiered-storage/index.html
+++ b/content/docs/concepts-tiered-storage/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-topic-compaction.html b/content/docs/concepts-topic-compaction.html
index 941f9bd..7e4d1a8 100644
--- a/content/docs/concepts-topic-compaction.html
+++ b/content/docs/concepts-topic-compaction.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/concepts-topic-compaction/index.html b/content/docs/concepts-topic-compaction/index.html
index 941f9bd..7e4d1a8 100644
--- a/content/docs/concepts-topic-compaction/index.html
+++ b/content/docs/concepts-topic-compaction/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-compaction.html b/content/docs/cookbooks-compaction.html
index 0dc8bdc..b97875c 100644
--- a/content/docs/cookbooks-compaction.html
+++ b/content/docs/cookbooks-compaction.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-compaction/index.html b/content/docs/cookbooks-compaction/index.html
index 0dc8bdc..b97875c 100644
--- a/content/docs/cookbooks-compaction/index.html
+++ b/content/docs/cookbooks-compaction/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-deduplication.html b/content/docs/cookbooks-deduplication.html
index 667bc22..6944ecc 100644
--- a/content/docs/cookbooks-deduplication.html
+++ b/content/docs/cookbooks-deduplication.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-deduplication/index.html b/content/docs/cookbooks-deduplication/index.html
index 667bc22..6944ecc 100644
--- a/content/docs/cookbooks-deduplication/index.html
+++ b/content/docs/cookbooks-deduplication/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-encryption.html b/content/docs/cookbooks-encryption.html
index 3576279..f9091a6 100644
--- a/content/docs/cookbooks-encryption.html
+++ b/content/docs/cookbooks-encryption.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-encryption/index.html b/content/docs/cookbooks-encryption/index.html
index 3576279..f9091a6 100644
--- a/content/docs/cookbooks-encryption/index.html
+++ b/content/docs/cookbooks-encryption/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-message-queue.html b/content/docs/cookbooks-message-queue.html
index 0d5283a..675dae8 100644
--- a/content/docs/cookbooks-message-queue.html
+++ b/content/docs/cookbooks-message-queue.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-message-queue/index.html b/content/docs/cookbooks-message-queue/index.html
index 0d5283a..675dae8 100644
--- a/content/docs/cookbooks-message-queue/index.html
+++ b/content/docs/cookbooks-message-queue/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-non-persistent.html b/content/docs/cookbooks-non-persistent.html
index c371fcf..80f43f8 100644
--- a/content/docs/cookbooks-non-persistent.html
+++ b/content/docs/cookbooks-non-persistent.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-non-persistent/index.html b/content/docs/cookbooks-non-persistent/index.html
index c371fcf..80f43f8 100644
--- a/content/docs/cookbooks-non-persistent/index.html
+++ b/content/docs/cookbooks-non-persistent/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-partitioned.html b/content/docs/cookbooks-partitioned.html
index 60ab075..e815b6a 100644
--- a/content/docs/cookbooks-partitioned.html
+++ b/content/docs/cookbooks-partitioned.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-partitioned/index.html b/content/docs/cookbooks-partitioned/index.html
index 60ab075..e815b6a 100644
--- a/content/docs/cookbooks-partitioned/index.html
+++ b/content/docs/cookbooks-partitioned/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-retention-expiry.html b/content/docs/cookbooks-retention-expiry.html
index 212e6e7..fb43cba 100644
--- a/content/docs/cookbooks-retention-expiry.html
+++ b/content/docs/cookbooks-retention-expiry.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-retention-expiry/index.html b/content/docs/cookbooks-retention-expiry/index.html
index 212e6e7..fb43cba 100644
--- a/content/docs/cookbooks-retention-expiry/index.html
+++ b/content/docs/cookbooks-retention-expiry/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-tiered-storage.html b/content/docs/cookbooks-tiered-storage.html
index 3ed6c90..2efdad4a 100644
--- a/content/docs/cookbooks-tiered-storage.html
+++ b/content/docs/cookbooks-tiered-storage.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/cookbooks-tiered-storage/index.html b/content/docs/cookbooks-tiered-storage/index.html
index 3ed6c90..2efdad4a 100644
--- a/content/docs/cookbooks-tiered-storage/index.html
+++ b/content/docs/cookbooks-tiered-storage/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/deploy-aws.html b/content/docs/deploy-aws.html
index 2bd25c0..344a77c 100644
--- a/content/docs/deploy-aws.html
+++ b/content/docs/deploy-aws.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/deploy-aws/index.html b/content/docs/deploy-aws/index.html
index 2bd25c0..344a77c 100644
--- a/content/docs/deploy-aws/index.html
+++ b/content/docs/deploy-aws/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/deploy-bare-metal-multi-cluster.html b/content/docs/deploy-bare-metal-multi-cluster.html
index fe594e2..b90150c 100644
--- a/content/docs/deploy-bare-metal-multi-cluster.html
+++ b/content/docs/deploy-bare-metal-multi-cluster.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/deploy-bare-metal-multi-cluster/index.html b/content/docs/deploy-bare-metal-multi-cluster/index.html
index fe594e2..b90150c 100644
--- a/content/docs/deploy-bare-metal-multi-cluster/index.html
+++ b/content/docs/deploy-bare-metal-multi-cluster/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/deploy-bare-metal.html b/content/docs/deploy-bare-metal.html
index eb9cc34..cb6cf79 100644
--- a/content/docs/deploy-bare-metal.html
+++ b/content/docs/deploy-bare-metal.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/deploy-bare-metal/index.html b/content/docs/deploy-bare-metal/index.html
index eb9cc34..cb6cf79 100644
--- a/content/docs/deploy-bare-metal/index.html
+++ b/content/docs/deploy-bare-metal/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/deploy-dcos.html b/content/docs/deploy-dcos.html
index fccb915..74218a5 100644
--- a/content/docs/deploy-dcos.html
+++ b/content/docs/deploy-dcos.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/deploy-dcos/index.html b/content/docs/deploy-dcos/index.html
index fccb915..74218a5 100644
--- a/content/docs/deploy-dcos/index.html
+++ b/content/docs/deploy-dcos/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/deploy-kubernetes.html b/content/docs/deploy-kubernetes.html
index c08921b..3874a21 100644
--- a/content/docs/deploy-kubernetes.html
+++ b/content/docs/deploy-kubernetes.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/deploy-kubernetes/index.html b/content/docs/deploy-kubernetes/index.html
index c08921b..3874a21 100644
--- a/content/docs/deploy-kubernetes/index.html
+++ b/content/docs/deploy-kubernetes/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/deploy-monitoring.html b/content/docs/deploy-monitoring.html
index a294852..5958dfb 100644
--- a/content/docs/deploy-monitoring.html
+++ b/content/docs/deploy-monitoring.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/deploy-monitoring/index.html b/content/docs/deploy-monitoring/index.html
index a294852..5958dfb 100644
--- a/content/docs/deploy-monitoring/index.html
+++ b/content/docs/deploy-monitoring/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/develop-binary-protocol.html b/content/docs/develop-binary-protocol.html
index 2b6b049..91eb599 100644
--- a/content/docs/develop-binary-protocol.html
+++ b/content/docs/develop-binary-protocol.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/develop-binary-protocol/index.html b/content/docs/develop-binary-protocol/index.html
index 2b6b049..91eb599 100644
--- a/content/docs/develop-binary-protocol/index.html
+++ b/content/docs/develop-binary-protocol/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/develop-cpp.html b/content/docs/develop-cpp.html
index d45ca23..4091fd4 100644
--- a/content/docs/develop-cpp.html
+++ b/content/docs/develop-cpp.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/develop-cpp/index.html b/content/docs/develop-cpp/index.html
index d45ca23..4091fd4 100644
--- a/content/docs/develop-cpp/index.html
+++ b/content/docs/develop-cpp/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/develop-load-manager.html b/content/docs/develop-load-manager.html
index d757c34..252d569 100644
--- a/content/docs/develop-load-manager.html
+++ b/content/docs/develop-load-manager.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/develop-load-manager/index.html b/content/docs/develop-load-manager/index.html
index d757c34..252d569 100644
--- a/content/docs/develop-load-manager/index.html
+++ b/content/docs/develop-load-manager/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/develop-schema.html b/content/docs/develop-schema.html
index 87901fa..65e01a7 100644
--- a/content/docs/develop-schema.html
+++ b/content/docs/develop-schema.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/develop-schema/index.html b/content/docs/develop-schema/index.html
index 87901fa..65e01a7 100644
--- a/content/docs/develop-schema/index.html
+++ b/content/docs/develop-schema/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/develop-tools.html b/content/docs/develop-tools.html
index 728b2f0..35c3ca3 100644
--- a/content/docs/develop-tools.html
+++ b/content/docs/develop-tools.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/develop-tools/index.html b/content/docs/develop-tools/index.html
index 728b2f0..35c3ca3 100644
--- a/content/docs/develop-tools/index.html
+++ b/content/docs/develop-tools/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content=""/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" c [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/content/docs/en/adaptors-kafka.html b/content/docs/en/adaptors-kafka.html
index a7a2f96..9b1f471 100644
--- a/content/docs/en/adaptors-kafka.html
+++ b/content/docs/en/adaptors-kafka.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -44,14 +48,14 @@
         </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/adaptors-kafka.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Pulsar adaptor for Apache Kafka</h1></header><article><div><span><p>Pulsar provides an easy option for applications that are currently written using the <a hr [...]
 <h2><a class="anchor" aria-hidden="true" id="using-the-pulsar-kafka-compatibility-wrapper"></a><a href="#using-the-pulsar-kafka-compatibility-wrapper" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v [...]
 <p>In an existing application, change the regular Kafka client dependency and replace it with the Pulsar Kafka wrapper. Remove:</p>
-<pre><code class="hljs css languages- xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
+<pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.kafka<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>kakfa-clients<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>0.10.2.1<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
 </code></pre>
 <p>Then include this dependency for the Pulsar Kafka wrapper:</p>
-<pre><code class="hljs css languages- xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
+<pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.pulsar<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>pulsar-client-kafka<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>2.1.0-incubating<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
@@ -65,7 +69,7 @@ Pulsar topic.</p>
 <p>When migrating from Kafka to Pulsar, the application might have to use the original kafka client
 and the pulsar kafka wrapper together during migration. Then you should consider using the
 unshaded pulsar kafka client wrapper.</p>
-<pre><code class="hljs css languages- xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
+<pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.pulsar<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>pulsar-client-kafka-original<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>2.1.0-incubating<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
@@ -74,7 +78,7 @@ unshaded pulsar kafka client wrapper.</p>
 <p>When using this dependency, you need to construct producer using <code>org.apache.kafka.clients.producer.PulsarKafkaProducer</code>
 instead of <code>org.apache.kafka.clients.producer.KafkaProducer</code> and <code>org.apache.kafka.clients.producer.PulsarKafkaConsumer</code> for consumers.</p>
 <h2><a class="anchor" aria-hidden="true" id="producer-example"></a><a href="#producer-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<pre><code class="hljs css languages- java"><span class="hljs-comment">// Topic needs to be a regular Pulsar topic</span>
+<pre><code class="hljs css language-java"><span class="hljs-comment">// Topic needs to be a regular Pulsar topic</span>
 String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
 
 Properties props = <span class="hljs-keyword">new</span> Properties();
@@ -94,7 +98,7 @@ Producer&lt;Integer, String&gt; producer = <span class="hljs-keyword">new</span>
 producer.close();
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="consumer-example"></a><a href="#consumer-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
 
 Properties props = <span class="hljs-keyword">new</span> Properties();
 <span class="hljs-comment">// Point to a Pulsar service</span>
diff --git a/content/docs/en/adaptors-kafka/index.html b/content/docs/en/adaptors-kafka/index.html
index a7a2f96..9b1f471 100644
--- a/content/docs/en/adaptors-kafka/index.html
+++ b/content/docs/en/adaptors-kafka/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -44,14 +48,14 @@
         </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/adaptors-kafka.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Pulsar adaptor for Apache Kafka</h1></header><article><div><span><p>Pulsar provides an easy option for applications that are currently written using the <a hr [...]
 <h2><a class="anchor" aria-hidden="true" id="using-the-pulsar-kafka-compatibility-wrapper"></a><a href="#using-the-pulsar-kafka-compatibility-wrapper" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v [...]
 <p>In an existing application, change the regular Kafka client dependency and replace it with the Pulsar Kafka wrapper. Remove:</p>
-<pre><code class="hljs css languages- xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
+<pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.kafka<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>kakfa-clients<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>0.10.2.1<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
 </code></pre>
 <p>Then include this dependency for the Pulsar Kafka wrapper:</p>
-<pre><code class="hljs css languages- xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
+<pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.pulsar<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>pulsar-client-kafka<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>2.1.0-incubating<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
@@ -65,7 +69,7 @@ Pulsar topic.</p>
 <p>When migrating from Kafka to Pulsar, the application might have to use the original kafka client
 and the pulsar kafka wrapper together during migration. Then you should consider using the
 unshaded pulsar kafka client wrapper.</p>
-<pre><code class="hljs css languages- xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
+<pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.pulsar<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>pulsar-client-kafka-original<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>2.1.0-incubating<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
@@ -74,7 +78,7 @@ unshaded pulsar kafka client wrapper.</p>
 <p>When using this dependency, you need to construct producer using <code>org.apache.kafka.clients.producer.PulsarKafkaProducer</code>
 instead of <code>org.apache.kafka.clients.producer.KafkaProducer</code> and <code>org.apache.kafka.clients.producer.PulsarKafkaConsumer</code> for consumers.</p>
 <h2><a class="anchor" aria-hidden="true" id="producer-example"></a><a href="#producer-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<pre><code class="hljs css languages- java"><span class="hljs-comment">// Topic needs to be a regular Pulsar topic</span>
+<pre><code class="hljs css language-java"><span class="hljs-comment">// Topic needs to be a regular Pulsar topic</span>
 String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
 
 Properties props = <span class="hljs-keyword">new</span> Properties();
@@ -94,7 +98,7 @@ Producer&lt;Integer, String&gt; producer = <span class="hljs-keyword">new</span>
 producer.close();
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="consumer-example"></a><a href="#consumer-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
 
 Properties props = <span class="hljs-keyword">new</span> Properties();
 <span class="hljs-comment">// Point to a Pulsar service</span>
diff --git a/content/docs/en/adaptors-spark.html b/content/docs/en/adaptors-spark.html
index 7caa2f1..88a1a95 100644
--- a/content/docs/en/adaptors-spark.html
+++ b/content/docs/en/adaptors-spark.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -47,7 +51,7 @@
 <p>To use the receiver, include a dependency for the <code>pulsar-spark</code> library in your Java configuration.</p>
 <h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>If you're using Maven, add this to your <code>pom.xml</code>:</p>
-<pre><code class="hljs css languages- xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
+<pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.1.0-incubating<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
 
 <span class="hljs-comment">&lt;!-- in your &lt;dependencies&gt; block --&gt;</span>
@@ -59,7 +63,7 @@
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>If you're using Gradle, add this to your <code>build.gradle</code> file:</p>
-<pre><code class="hljs css languages- groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.1.0-incubating"</span>
+<pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.1.0-incubating"</span>
 
 dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-spark'</span>, <span class="hljs-string">version:</span> pulsarVersion
@@ -67,7 +71,7 @@ dependencies {
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>Pass an instance of <code>SparkStreamingPulsarReceiver</code> to the <code>receiverStream</code> method in <code>JavaStreamingContext</code>:</p>
-<pre><code class="hljs css languages- java">SparkConf conf = <span class="hljs-keyword">new</span> SparkConf().setMaster(<span class="hljs-string">"local[*]"</span>).setAppName(<span class="hljs-string">"pulsar-spark"</span>);
+<pre><code class="hljs css language-java">SparkConf conf = <span class="hljs-keyword">new</span> SparkConf().setMaster(<span class="hljs-string">"local[*]"</span>).setAppName(<span class="hljs-string">"pulsar-spark"</span>);
 JavaStreamingContext jssc = <span class="hljs-keyword">new</span> JavaStreamingContext(conf, Durations.seconds(<span class="hljs-number">5</span>));
 
 ClientConfiguration clientConf = <span class="hljs-keyword">new</span> ClientConfiguration();
diff --git a/content/docs/en/adaptors-spark/index.html b/content/docs/en/adaptors-spark/index.html
index 7caa2f1..88a1a95 100644
--- a/content/docs/en/adaptors-spark/index.html
+++ b/content/docs/en/adaptors-spark/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -47,7 +51,7 @@
 <p>To use the receiver, include a dependency for the <code>pulsar-spark</code> library in your Java configuration.</p>
 <h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>If you're using Maven, add this to your <code>pom.xml</code>:</p>
-<pre><code class="hljs css languages- xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
+<pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.1.0-incubating<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
 
 <span class="hljs-comment">&lt;!-- in your &lt;dependencies&gt; block --&gt;</span>
@@ -59,7 +63,7 @@
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>If you're using Gradle, add this to your <code>build.gradle</code> file:</p>
-<pre><code class="hljs css languages- groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.1.0-incubating"</span>
+<pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.1.0-incubating"</span>
 
 dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-spark'</span>, <span class="hljs-string">version:</span> pulsarVersion
@@ -67,7 +71,7 @@ dependencies {
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>Pass an instance of <code>SparkStreamingPulsarReceiver</code> to the <code>receiverStream</code> method in <code>JavaStreamingContext</code>:</p>
-<pre><code class="hljs css languages- java">SparkConf conf = <span class="hljs-keyword">new</span> SparkConf().setMaster(<span class="hljs-string">"local[*]"</span>).setAppName(<span class="hljs-string">"pulsar-spark"</span>);
+<pre><code class="hljs css language-java">SparkConf conf = <span class="hljs-keyword">new</span> SparkConf().setMaster(<span class="hljs-string">"local[*]"</span>).setAppName(<span class="hljs-string">"pulsar-spark"</span>);
 JavaStreamingContext jssc = <span class="hljs-keyword">new</span> JavaStreamingContext(conf, Durations.seconds(<span class="hljs-number">5</span>));
 
 ClientConfiguration clientConf = <span class="hljs-keyword">new</span> ClientConfiguration();
diff --git a/content/docs/en/adaptors-storm.html b/content/docs/en/adaptors-storm.html
index ceaf3f3..b5d4bba 100644
--- a/content/docs/en/adaptors-storm.html
+++ b/content/docs/en/adaptors-storm.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -45,7 +49,7 @@
 <p>An application can inject data into a Storm topology via a generic Pulsar spout, as well as consume data from a Storm topology via a generic Pulsar bolt.</p>
 <h2><a class="anchor" aria-hidden="true" id="using-the-pulsar-storm-adaptor"></a><a href="#using-the-pulsar-storm-adaptor" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
 <p>Include dependency for Pulsar Storm Adaptor:</p>
-<pre><code class="hljs css languages- xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
+<pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.pulsar<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>pulsar-storm<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>${pulsar.version}<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
@@ -54,7 +58,7 @@
 <h2><a class="anchor" aria-hidden="true" id="pulsar-spout"></a><a href="#pulsar-spout" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>The Pulsar Spout allows for the data published on a topic to be consumed by a Storm topology. It emits a Storm tuple based on the message received and the <code>MessageToValuesMapper</code> provided by the client.</p>
 <p>The tuples that fail to be processed by the downstream bolts will be re-injected by the spout with an exponential backoff, within a configurable timeout (the default is 60 seconds) or a configurable number of retries, whichever comes first, after which it is acknowledged by the consumer. Here's an example construction of a spout:</p>
-<pre><code class="hljs css languages- java"><span class="hljs-comment">// Configure a Pulsar Client</span>
+<pre><code class="hljs css language-java"><span class="hljs-comment">// Configure a Pulsar Client</span>
 ClientConfiguration clientConf = <span class="hljs-keyword">new</span> ClientConfiguration();
 
 <span class="hljs-comment">// Configure a Pulsar Consumer</span>
@@ -88,7 +92,7 @@ PulsarSpout spout = <span class="hljs-keyword">new</span> PulsarSpout(spoutConf,
 <h2><a class="anchor" aria-hidden="true" id="pulsar-bolt"></a><a href="#pulsar-bolt" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>The Pulsar bolt allows data in a Storm topology to be published on a topic. It publishes messages based on the Storm tuple received and the <code>TupleToMessageMapper</code> provided by the client.</p>
 <p>A partitioned topic can also be used to publish messages on different topics. In the implementation of the <code>TupleToMessageMapper</code>, a &quot;key&quot; will need to be provided in the message which will send the messages with the same key to the same topic. Here's an example bolt:</p>
-<pre><code class="hljs css languages- java"><span class="hljs-comment">// Configure a Pulsar Client</span>
+<pre><code class="hljs css language-java"><span class="hljs-comment">// Configure a Pulsar Client</span>
 ClientConfiguration clientConf = <span class="hljs-keyword">new</span> ClientConfiguration();
 
 <span class="hljs-comment">// Configure a Pulsar Producer  </span>
diff --git a/content/docs/en/adaptors-storm/index.html b/content/docs/en/adaptors-storm/index.html
index ceaf3f3..b5d4bba 100644
--- a/content/docs/en/adaptors-storm/index.html
+++ b/content/docs/en/adaptors-storm/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -45,7 +49,7 @@
 <p>An application can inject data into a Storm topology via a generic Pulsar spout, as well as consume data from a Storm topology via a generic Pulsar bolt.</p>
 <h2><a class="anchor" aria-hidden="true" id="using-the-pulsar-storm-adaptor"></a><a href="#using-the-pulsar-storm-adaptor" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
 <p>Include dependency for Pulsar Storm Adaptor:</p>
-<pre><code class="hljs css languages- xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
+<pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.pulsar<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>pulsar-storm<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>${pulsar.version}<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
@@ -54,7 +58,7 @@
 <h2><a class="anchor" aria-hidden="true" id="pulsar-spout"></a><a href="#pulsar-spout" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>The Pulsar Spout allows for the data published on a topic to be consumed by a Storm topology. It emits a Storm tuple based on the message received and the <code>MessageToValuesMapper</code> provided by the client.</p>
 <p>The tuples that fail to be processed by the downstream bolts will be re-injected by the spout with an exponential backoff, within a configurable timeout (the default is 60 seconds) or a configurable number of retries, whichever comes first, after which it is acknowledged by the consumer. Here's an example construction of a spout:</p>
-<pre><code class="hljs css languages- java"><span class="hljs-comment">// Configure a Pulsar Client</span>
+<pre><code class="hljs css language-java"><span class="hljs-comment">// Configure a Pulsar Client</span>
 ClientConfiguration clientConf = <span class="hljs-keyword">new</span> ClientConfiguration();
 
 <span class="hljs-comment">// Configure a Pulsar Consumer</span>
@@ -88,7 +92,7 @@ PulsarSpout spout = <span class="hljs-keyword">new</span> PulsarSpout(spoutConf,
 <h2><a class="anchor" aria-hidden="true" id="pulsar-bolt"></a><a href="#pulsar-bolt" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>The Pulsar bolt allows data in a Storm topology to be published on a topic. It publishes messages based on the Storm tuple received and the <code>TupleToMessageMapper</code> provided by the client.</p>
 <p>A partitioned topic can also be used to publish messages on different topics. In the implementation of the <code>TupleToMessageMapper</code>, a &quot;key&quot; will need to be provided in the message which will send the messages with the same key to the same topic. Here's an example bolt:</p>
-<pre><code class="hljs css languages- java"><span class="hljs-comment">// Configure a Pulsar Client</span>
+<pre><code class="hljs css language-java"><span class="hljs-comment">// Configure a Pulsar Client</span>
 ClientConfiguration clientConf = <span class="hljs-keyword">new</span> ClientConfiguration();
 
 <span class="hljs-comment">// Configure a Pulsar Producer  </span>
diff --git a/content/docs/en/admin-api-brokers.html b/content/docs/en/admin-api-brokers.html
index 0b9adeb..229ebe9 100644
--- a/content/docs/en/admin-api-brokers.html
+++ b/content/docs/en/admin-api-brokers.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -63,7 +67,7 @@
 <h3><a class="anchor" aria-hidden="true" id="list-active-brokers"></a><a href="#list-active-brokers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>Fetch all available active brokers that are serving traffic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers list use</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers list use</span>
 </code></pre>
 <pre><code class="hljs"><span class="hljs-selector-tag">broker1</span><span class="hljs-selector-class">.use</span><span class="hljs-selector-class">.org</span><span class="hljs-selector-class">.com</span><span class="hljs-selector-pseudo">:8080</span>
 </code></pre>
@@ -71,15 +75,15 @@
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getActiveBrokers"><b>GET</b> <i>/admin/v2/brokers/:cluster</i></a>
 </p>
 <h6><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">admin.brokers().getActiveBrokers(clusterName)
+<pre><code class="hljs css language-java">admin.brokers().getActiveBrokers(clusterName)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="list-of-namespaces-owned-by-a-given-broker"></a><a href="#list-of-namespaces-owned-by-a-given-broker" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c [...]
 <p>It finds all namespaces which are owned and served by a given broker.</p>
 <h6><a class="anchor" aria-hidden="true" id="cli"></a><a href="#cli" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers namespaces use \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers namespaces use \</span>
   --url broker1.use.org.com:8080
 </code></pre>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"my-property/use/my-ns/0x00000000_0xffffffff"</span>: {
     <span class="hljs-attr">"broker_assignment"</span>: <span class="hljs-string">"shared"</span>,
     <span class="hljs-attr">"is_controlled"</span>: <span class="hljs-literal">false</span>,
@@ -91,7 +95,7 @@
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getOwnedNamespaes"><b>GET</b> <i>/admin/v2/brokers/:cluster/:broker/ownedNamespaces</i></a>
 </p>
 <h6><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.brokers().getOwnedNamespaces(cluster,brokerUrl);
+<pre><code class="hljs css language-java">admin.brokers().getOwnedNamespaces(cluster,brokerUrl);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="dynamic-broker-configuration"></a><a href="#dynamic-broker-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <p>One way to configure a Pulsar <a href="/docs/en/reference-terminology#broker">broker</a> is to supply a <a href="/docs/en/reference-configuration#broker">configuration</a> when the broker is <a href="/docs/en/reference-cli-tools#pulsar-broker">started up</a>.</p>
@@ -104,37 +108,37 @@
 <h3><a class="anchor" aria-hidden="true" id="update-dynamic-configuration"></a><a href="#update-dynamic-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>The <a href="/docs/en/pulsar-admin#brokers-update-dynamic-config"><code>update-dynamic-config</code></a> subcommand will update existing configuration. It takes two arguments: the name of the parameter and the new value. Here's an example for the <a href="/docs/en/reference-configuration#broker-brokerShutdownTimeoutMs"><code>brokerShutdownTimeoutMs</code></a> parameter:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers update-dynamic-config brokerShutdownTimeoutMs 100</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers update-dynamic-config brokerShutdownTimeoutMs 100</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api"></a><a href="#rest-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/updateDynamicConfiguration"><b>POST</b> <i>/admin/v2/brokers/configuration/:configName/:configValue</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.brokers().updateDynamicConfiguration(configName, configValue);
+<pre><code class="hljs css language-java">admin.brokers().updateDynamicConfiguration(configName, configValue);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="list-updated-values"></a><a href="#list-updated-values" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>Fetch a list of all potentially updatable configuration parameters.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers list-dynamic-config</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers list-dynamic-config</span>
 brokerShutdownTimeoutMs
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-1"></a><a href="#rest-api-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getDynamicConfigurationName"><b>GET</b> <i>/admin/v2/brokers/configuration</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.brokers().getDynamicConfigurationNames();
+<pre><code class="hljs css language-java">admin.brokers().getDynamicConfigurationNames();
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="list-all"></a><a href="#list-all" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>Fetch a list of all parameters that have been dynamically updated.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers get-all-dynamic-config</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers get-all-dynamic-config</span>
 brokerShutdownTimeoutMs:100
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-2"></a><a href="#rest-api-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getAllDynamicConfigurations"><b>GET</b> <i>/admin/v2/brokers/configuration/values</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.brokers().getAllDynamicConfigurations();
+<pre><code class="hljs css language-java">admin.brokers().getAllDynamicConfigurations();
 </code></pre>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/admin-api-tenants">← Managing Tenants</a><a class="docs-next button" href="/docs/en/admin-api-namespaces">Managing Namespaces →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#brokers-resources">Brokers resources</a><ul class="toc-headings"><li><a href="#list-active-brokers">List active brokers</a></li><li><a href="#dynamic-broker-configuration">Dynamic br [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/en/admin-api-brokers/index.html b/content/docs/en/admin-api-brokers/index.html
index 0b9adeb..229ebe9 100644
--- a/content/docs/en/admin-api-brokers/index.html
+++ b/content/docs/en/admin-api-brokers/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -63,7 +67,7 @@
 <h3><a class="anchor" aria-hidden="true" id="list-active-brokers"></a><a href="#list-active-brokers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>Fetch all available active brokers that are serving traffic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers list use</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers list use</span>
 </code></pre>
 <pre><code class="hljs"><span class="hljs-selector-tag">broker1</span><span class="hljs-selector-class">.use</span><span class="hljs-selector-class">.org</span><span class="hljs-selector-class">.com</span><span class="hljs-selector-pseudo">:8080</span>
 </code></pre>
@@ -71,15 +75,15 @@
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getActiveBrokers"><b>GET</b> <i>/admin/v2/brokers/:cluster</i></a>
 </p>
 <h6><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">admin.brokers().getActiveBrokers(clusterName)
+<pre><code class="hljs css language-java">admin.brokers().getActiveBrokers(clusterName)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="list-of-namespaces-owned-by-a-given-broker"></a><a href="#list-of-namespaces-owned-by-a-given-broker" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c [...]
 <p>It finds all namespaces which are owned and served by a given broker.</p>
 <h6><a class="anchor" aria-hidden="true" id="cli"></a><a href="#cli" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers namespaces use \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers namespaces use \</span>
   --url broker1.use.org.com:8080
 </code></pre>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"my-property/use/my-ns/0x00000000_0xffffffff"</span>: {
     <span class="hljs-attr">"broker_assignment"</span>: <span class="hljs-string">"shared"</span>,
     <span class="hljs-attr">"is_controlled"</span>: <span class="hljs-literal">false</span>,
@@ -91,7 +95,7 @@
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getOwnedNamespaes"><b>GET</b> <i>/admin/v2/brokers/:cluster/:broker/ownedNamespaces</i></a>
 </p>
 <h6><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.brokers().getOwnedNamespaces(cluster,brokerUrl);
+<pre><code class="hljs css language-java">admin.brokers().getOwnedNamespaces(cluster,brokerUrl);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="dynamic-broker-configuration"></a><a href="#dynamic-broker-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <p>One way to configure a Pulsar <a href="/docs/en/reference-terminology#broker">broker</a> is to supply a <a href="/docs/en/reference-configuration#broker">configuration</a> when the broker is <a href="/docs/en/reference-cli-tools#pulsar-broker">started up</a>.</p>
@@ -104,37 +108,37 @@
 <h3><a class="anchor" aria-hidden="true" id="update-dynamic-configuration"></a><a href="#update-dynamic-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>The <a href="/docs/en/pulsar-admin#brokers-update-dynamic-config"><code>update-dynamic-config</code></a> subcommand will update existing configuration. It takes two arguments: the name of the parameter and the new value. Here's an example for the <a href="/docs/en/reference-configuration#broker-brokerShutdownTimeoutMs"><code>brokerShutdownTimeoutMs</code></a> parameter:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers update-dynamic-config brokerShutdownTimeoutMs 100</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers update-dynamic-config brokerShutdownTimeoutMs 100</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api"></a><a href="#rest-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/updateDynamicConfiguration"><b>POST</b> <i>/admin/v2/brokers/configuration/:configName/:configValue</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.brokers().updateDynamicConfiguration(configName, configValue);
+<pre><code class="hljs css language-java">admin.brokers().updateDynamicConfiguration(configName, configValue);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="list-updated-values"></a><a href="#list-updated-values" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>Fetch a list of all potentially updatable configuration parameters.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers list-dynamic-config</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers list-dynamic-config</span>
 brokerShutdownTimeoutMs
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-1"></a><a href="#rest-api-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getDynamicConfigurationName"><b>GET</b> <i>/admin/v2/brokers/configuration</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.brokers().getDynamicConfigurationNames();
+<pre><code class="hljs css language-java">admin.brokers().getDynamicConfigurationNames();
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="list-all"></a><a href="#list-all" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>Fetch a list of all parameters that have been dynamically updated.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers get-all-dynamic-config</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin brokers get-all-dynamic-config</span>
 brokerShutdownTimeoutMs:100
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-2"></a><a href="#rest-api-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getAllDynamicConfigurations"><b>GET</b> <i>/admin/v2/brokers/configuration/values</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.brokers().getAllDynamicConfigurations();
+<pre><code class="hljs css language-java">admin.brokers().getAllDynamicConfigurations();
 </code></pre>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/admin-api-tenants">← Managing Tenants</a><a class="docs-next button" href="/docs/en/admin-api-namespaces">Managing Namespaces →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#brokers-resources">Brokers resources</a><ul class="toc-headings"><li><a href="#list-active-brokers">List active brokers</a></li><li><a href="#dynamic-broker-configuration">Dynamic br [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/en/admin-api-clusters.html b/content/docs/en/admin-api-clusters.html
index 2bbb4ea..0361781 100644
--- a/content/docs/en/admin-api-clusters.html
+++ b/content/docs/en/admin-api-clusters.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -59,7 +63,7 @@ servers (aka <a href="/docs/en/reference-terminology#bookie">bookies</a>), and a
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>You can provision a new cluster using the <a href="/docs/en/pulsar-admin#clusters-create"><code>create</code></a> subcommand. Here's an example:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters create cluster-1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters create cluster-1 \</span>
   --url http://my-cluster.org.com:8080 \
   --broker-url pulsar://my-cluster.org.com:6650
 </code></pre>
@@ -67,7 +71,7 @@ servers (aka <a href="/docs/en/reference-terminology#bookie">bookies</a>), and a
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/createCluster"><b>PUT</b> <i>/admin/v2/clusters/:cluster</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">ClusterData clusterData = <span class="hljs-keyword">new</span> ClusterData(
+<pre><code class="hljs css language-java">ClusterData clusterData = <span class="hljs-keyword">new</span> ClusterData(
         serviceUrl,
         serviceUrlTls,
         brokerServiceUrl,
@@ -93,7 +97,7 @@ Instead, you can use the <a href="/docs/en/reference-cli-tools#pulsar"><code>pul
 the <a href="/docs/en/reference-cli-tools#pulsar-initialize-cluster-metadata"><code>initialize-cluster-metadata</code></a> command.</p>
 </blockquote>
 <p>Here's an example cluster metadata initialization command:</p>
-<pre><code class="hljs css languages- shell">bin/pulsar initialize-cluster-metadata \
+<pre><code class="hljs css language-shell">bin/pulsar initialize-cluster-metadata \
   --cluster us-west \
   --zookeeper zk1.us-west.example.com:2181 \
   --global-zookeeper zk1.us-west.example.com:2184 \
@@ -107,7 +111,7 @@ the <a href="/docs/en/reference-cli-tools#pulsar-initialize-cluster-metadata"><c
 <p>You can fetch the <a href="/docs/en/reference-configuration">configuration</a> for an existing cluster at any time.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#clusters-get"><code>get</code></a> subcommand and specify the name of the cluster. Here's an example:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters get cluster-1</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters get cluster-1</span>
 {
     "serviceUrl": "http://my-cluster.org.com:8080/",
     "serviceUrlTls": null,
@@ -120,13 +124,13 @@ the <a href="/docs/en/reference-cli-tools#pulsar-initialize-cluster-metadata"><c
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getCluster"><b>GET</b> <i>/admin/v2/clusters/:cluster</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.clusters().getCluster(clusterName);
+<pre><code class="hljs css language-java">admin.clusters().getCluster(clusterName);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="update"></a><a href="#update" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>You can update the configuration for an existing cluster at any time.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#clusters-update"><code>update</code></a> subcommand and specify new configuration values using flags.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters update cluster-1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters update cluster-1 \</span>
   --url http://my-cluster.org.com:4081 \
   --broker-url pulsar://my-cluster.org.com:3350
 </code></pre>
@@ -134,7 +138,7 @@ the <a href="/docs/en/reference-cli-tools#pulsar-initialize-cluster-metadata"><c
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/updateCluster"><b>POST</b> <i>/admin/v2/clusters/:cluster</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">ClusterData clusterData = <span class="hljs-keyword">new</span> ClusterData(
+<pre><code class="hljs css language-java">ClusterData clusterData = <span class="hljs-keyword">new</span> ClusterData(
         serviceUrl,
         serviceUrlTls,
         brokerServiceUrl,
@@ -152,13 +156,13 @@ admin.clusters().updateCluster(clusterName, clusterData);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/deleteCluster"><b>DELETE</b> <i>/admin/v2/clusters/:cluster</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.clusters().deleteCluster(clusterName);
+<pre><code class="hljs css language-java">admin.clusters().deleteCluster(clusterName);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="list"></a><a href="#list" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>You can fetch a list of all clusters in a Pulsar <a href="/docs/en/reference-terminology#instance">instance</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#clusters-list"><code>list</code></a> subcommand.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters list</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters list</span>
 cluster-1
 cluster-2
 </code></pre>
@@ -166,7 +170,7 @@ cluster-2
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getClusters"><b>GET</b> <i>/admin/v2/clusters</i></a>
 </p>
 <h6><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.clusters().getClusters();
+<pre><code class="hljs css language-java">admin.clusters().getClusters();
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="update-peer-cluster-data"></a><a href="#update-peer-cluster-data" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>Peer clusters can be configured for a given cluster in a Pulsar <a href="/docs/en/reference-terminology#instance">instance</a>.</p>
@@ -178,7 +182,7 @@ cluster-2
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/setPeerClusterNames"><b>POST</b> <i>/admin/v2/clusters/:cluster/peers</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-5"></a><a href="#java-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.clusters().updatePeerClusterNames(clusterName, peerClusterList);
+<pre><code class="hljs css language-java">admin.clusters().updatePeerClusterNames(clusterName, peerClusterList);
 </code></pre>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/admin-api-overview">← The Pulsar admin interface</a><a class="docs-next button" href="/docs/en/admin-api-tenants">Managing Tenants →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#clusters-resources">Clusters resources</a><ul class="toc-headings"><li><a href="#provision">Provision</a></li><li><a href="#initialize-cluster-metadata">Initialize cluster metad [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/en/admin-api-clusters/index.html b/content/docs/en/admin-api-clusters/index.html
index 2bbb4ea..0361781 100644
--- a/content/docs/en/admin-api-clusters/index.html
+++ b/content/docs/en/admin-api-clusters/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -59,7 +63,7 @@ servers (aka <a href="/docs/en/reference-terminology#bookie">bookies</a>), and a
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>You can provision a new cluster using the <a href="/docs/en/pulsar-admin#clusters-create"><code>create</code></a> subcommand. Here's an example:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters create cluster-1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters create cluster-1 \</span>
   --url http://my-cluster.org.com:8080 \
   --broker-url pulsar://my-cluster.org.com:6650
 </code></pre>
@@ -67,7 +71,7 @@ servers (aka <a href="/docs/en/reference-terminology#bookie">bookies</a>), and a
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/createCluster"><b>PUT</b> <i>/admin/v2/clusters/:cluster</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">ClusterData clusterData = <span class="hljs-keyword">new</span> ClusterData(
+<pre><code class="hljs css language-java">ClusterData clusterData = <span class="hljs-keyword">new</span> ClusterData(
         serviceUrl,
         serviceUrlTls,
         brokerServiceUrl,
@@ -93,7 +97,7 @@ Instead, you can use the <a href="/docs/en/reference-cli-tools#pulsar"><code>pul
 the <a href="/docs/en/reference-cli-tools#pulsar-initialize-cluster-metadata"><code>initialize-cluster-metadata</code></a> command.</p>
 </blockquote>
 <p>Here's an example cluster metadata initialization command:</p>
-<pre><code class="hljs css languages- shell">bin/pulsar initialize-cluster-metadata \
+<pre><code class="hljs css language-shell">bin/pulsar initialize-cluster-metadata \
   --cluster us-west \
   --zookeeper zk1.us-west.example.com:2181 \
   --global-zookeeper zk1.us-west.example.com:2184 \
@@ -107,7 +111,7 @@ the <a href="/docs/en/reference-cli-tools#pulsar-initialize-cluster-metadata"><c
 <p>You can fetch the <a href="/docs/en/reference-configuration">configuration</a> for an existing cluster at any time.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#clusters-get"><code>get</code></a> subcommand and specify the name of the cluster. Here's an example:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters get cluster-1</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters get cluster-1</span>
 {
     "serviceUrl": "http://my-cluster.org.com:8080/",
     "serviceUrlTls": null,
@@ -120,13 +124,13 @@ the <a href="/docs/en/reference-cli-tools#pulsar-initialize-cluster-metadata"><c
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getCluster"><b>GET</b> <i>/admin/v2/clusters/:cluster</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.clusters().getCluster(clusterName);
+<pre><code class="hljs css language-java">admin.clusters().getCluster(clusterName);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="update"></a><a href="#update" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>You can update the configuration for an existing cluster at any time.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#clusters-update"><code>update</code></a> subcommand and specify new configuration values using flags.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters update cluster-1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters update cluster-1 \</span>
   --url http://my-cluster.org.com:4081 \
   --broker-url pulsar://my-cluster.org.com:3350
 </code></pre>
@@ -134,7 +138,7 @@ the <a href="/docs/en/reference-cli-tools#pulsar-initialize-cluster-metadata"><c
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/updateCluster"><b>POST</b> <i>/admin/v2/clusters/:cluster</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">ClusterData clusterData = <span class="hljs-keyword">new</span> ClusterData(
+<pre><code class="hljs css language-java">ClusterData clusterData = <span class="hljs-keyword">new</span> ClusterData(
         serviceUrl,
         serviceUrlTls,
         brokerServiceUrl,
@@ -152,13 +156,13 @@ admin.clusters().updateCluster(clusterName, clusterData);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/deleteCluster"><b>DELETE</b> <i>/admin/v2/clusters/:cluster</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.clusters().deleteCluster(clusterName);
+<pre><code class="hljs css language-java">admin.clusters().deleteCluster(clusterName);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="list"></a><a href="#list" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>You can fetch a list of all clusters in a Pulsar <a href="/docs/en/reference-terminology#instance">instance</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#clusters-list"><code>list</code></a> subcommand.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters list</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin clusters list</span>
 cluster-1
 cluster-2
 </code></pre>
@@ -166,7 +170,7 @@ cluster-2
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getClusters"><b>GET</b> <i>/admin/v2/clusters</i></a>
 </p>
 <h6><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.clusters().getClusters();
+<pre><code class="hljs css language-java">admin.clusters().getClusters();
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="update-peer-cluster-data"></a><a href="#update-peer-cluster-data" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>Peer clusters can be configured for a given cluster in a Pulsar <a href="/docs/en/reference-terminology#instance">instance</a>.</p>
@@ -178,7 +182,7 @@ cluster-2
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/setPeerClusterNames"><b>POST</b> <i>/admin/v2/clusters/:cluster/peers</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-5"></a><a href="#java-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.clusters().updatePeerClusterNames(clusterName, peerClusterList);
+<pre><code class="hljs css language-java">admin.clusters().updatePeerClusterNames(clusterName, peerClusterList);
 </code></pre>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/admin-api-overview">← The Pulsar admin interface</a><a class="docs-next button" href="/docs/en/admin-api-tenants">Managing Tenants →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#clusters-resources">Clusters resources</a><ul class="toc-headings"><li><a href="#provision">Provision</a></li><li><a href="#initialize-cluster-metadata">Initialize cluster metad [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/en/admin-api-namespaces.html b/content/docs/en/admin-api-namespaces.html
index f4ab0e8..81e32eb 100644
--- a/content/docs/en/admin-api-namespaces.html
+++ b/content/docs/en/admin-api-namespaces.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -55,19 +59,19 @@
 <p>You can create new namespaces under a given <a href="/docs/en/reference-terminology#tenant">tenant</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Use the <a href="/docs/en/pulsar-admin#namespaces-create"><code>create</code></a> subcommand and specify the namespace by name:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces create <span class="hljs-built_in">test</span>-tenant/<span class="hljs-built_in">test</span>-namespace</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces create <span class="hljs-built_in">test</span>-tenant/<span class="hljs-built_in">test</span>-namespace</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api"></a><a href="#rest-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/createNamespace"><b>PUT</b> <i>/admin/v2/namespaces/:tenant/:namespace</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">admin.namespaces().createNamespace(namespace);
+<pre><code class="hljs css language-java">admin.namespaces().createNamespace(namespace);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="get-policies"></a><a href="#get-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>You can fetch the current policies associated with a namespace at any time.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#namespaces-policies"><code>policies</code></a> subcommand and specify the namespace:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces policies <span class="hljs-built_in">test</span>-tenant/<span class="hljs-built_in">test</span>-namespace</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces policies <span class="hljs-built_in">test</span>-tenant/<span class="hljs-built_in">test</span>-namespace</span>
 {
   "auth_policies": {
     "namespace_auth": {},
@@ -94,13 +98,13 @@
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPolicies"><b>GET</b> <i>/admin/v2/namespaces/:tenant/:namespace</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getPolicies(namespace);
+<pre><code class="hljs css language-java">admin.namespaces().getPolicies(namespace);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="list-namespaces-within-a-tenant"></a><a href="#list-namespaces-within-a-tenant" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
 <p>You can list all namespaces within a given Pulsar <a href="/docs/en/reference-terminology#tenant">tenant</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#namespaces-list"><code>list</code></a> subcommand and specify the tenant:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces list <span class="hljs-built_in">test</span>-tenant</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces list <span class="hljs-built_in">test</span>-tenant</span>
 test-tenant/ns1
 test-tenant/ns2
 </code></pre>
@@ -108,22 +112,22 @@ test-tenant/ns2
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getTenantNamespaces"><b>GET</b> <i>/admin/v2/namespaces/:tenant</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getNamespaces(tenant);
+<pre><code class="hljs css language-java">admin.namespaces().getNamespaces(tenant);
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getNamespaces(tenant);
+<pre><code class="hljs css language-java">admin.namespaces().getNamespaces(tenant);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="delete"></a><a href="#delete" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>You can delete existing namespaces from a tenant.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#namespaces-delete"><code>delete</code></a> subcommand and specify the namespace:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces delete <span class="hljs-built_in">test</span>-tenant/ns1</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces delete <span class="hljs-built_in">test</span>-tenant/ns1</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest"></a><a href="#rest" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/deleteNamespace"><b>DELETE</b> <i>/admin/v2/namespaces/:tenant/:namespace</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().deleteNamespace(namespace);
+<pre><code class="hljs css language-java">admin.namespaces().deleteNamespace(namespace);
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="set-replication-cluster"></a><a href="#set-replication-cluster" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>It sets replication clusters for a namespace, so Pulsar can internally replicate publish message from one colo to another colo.</p>
@@ -135,7 +139,7 @@ test-tenant/ns2
 <pre><code class="hljs">{<span class="hljs-variable">@inject:</span> endpoint POST|/admin/v2/namespaces/:tenant/:namespace/replication|operation/setNamespaceReplicationClusters}
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-5"></a><a href="#java-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().setNamespaceReplicationClusters(namespace, clusters);
+<pre><code class="hljs css language-java">admin.namespaces().setNamespaceReplicationClusters(namespace, clusters);
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="get-replication-cluster"></a><a href="#get-replication-cluster" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>It gives a list of replication clusters for a given namespace.</p>
@@ -148,7 +152,7 @@ test-tenant/ns2
 <pre><code class="hljs">GET <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>replication
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-6"></a><a href="#java-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getNamespaceReplicationClusters(namespace)
+<pre><code class="hljs css language-java">admin.namespaces().getNamespaceReplicationClusters(namespace)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="set-backlog-quota-policies"></a><a href="#set-backlog-quota-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <p>Backlog quota helps broker to restrict bandwidth/storage of a namespace once it reach certain threshold limit . Admin can set this limit and one of the following action after the limit is reached.</p>
@@ -167,14 +171,14 @@ test-tenant/ns2
 <pre><code class="hljs">POST <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>backlogQuota
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-7"></a><a href="#java-7" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().setBacklogQuota(namespace, <span class="hljs-keyword">new</span> BacklogQuota(limit, policy))
+<pre><code class="hljs css language-java">admin.namespaces().setBacklogQuota(namespace, <span class="hljs-keyword">new</span> BacklogQuota(limit, policy))
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="get-backlog-quota-policies"></a><a href="#get-backlog-quota-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <p>It shows a configured backlog quota for a given namespace.</p>
 <h6><a class="anchor" aria-hidden="true" id="cli-3"></a><a href="#cli-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <pre><code class="hljs">$ <span class="hljs-string">pulsar-admin </span><span class="hljs-string">namespaces </span><span class="hljs-built_in">get-backlog-quotas</span> <span class="hljs-string">test-tenant/</span><span class="hljs-string">ns1
 </span></code></pre>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"destination_storage"</span>: {
     <span class="hljs-attr">"limit"</span>: <span class="hljs-number">10</span>,
     <span class="hljs-attr">"policy"</span>: <span class="hljs-string">"producer_request_hold"</span>
@@ -185,7 +189,7 @@ test-tenant/ns2
 <pre><code class="hljs">GET <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>backlogQuotaMap
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-8"></a><a href="#java-8" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getBacklogQuotaMap(namespace);
+<pre><code class="hljs css language-java">admin.namespaces().getBacklogQuotaMap(namespace);
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="remove-backlog-quota-policies"></a><a href="#remove-backlog-quota-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <p>It removes backlog quota policies for a given namespace</p>
@@ -198,7 +202,7 @@ test-tenant/ns2
 <pre><code class="hljs"><span class="hljs-keyword">DELETE</span> <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>backlogQuota
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-9"></a><a href="#java-9" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().removeBacklogQuota(namespace, backlogQuotaType)
+<pre><code class="hljs css language-java">admin.namespaces().removeBacklogQuota(namespace, backlogQuotaType)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="set-persistence-policies"></a><a href="#set-persistence-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>Persistence policies allow to configure persistency-level for all topic messages under a given namespace.</p>
@@ -217,14 +221,14 @@ test-tenant/ns2
 <pre><code class="hljs">POST <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>persistence
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-10"></a><a href="#java-10" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().setPersistence(namespace,<span class="hljs-keyword">new</span> PersistencePolicies(bookkeeperEnsemble, bookkeeperWriteQuorum,bookkeeperAckQuorum,managedLedgerMaxMarkDeleteRate))
+<pre><code class="hljs css language-java">admin.namespaces().setPersistence(namespace,<span class="hljs-keyword">new</span> PersistencePolicies(bookkeeperEnsemble, bookkeeperWriteQuorum,bookkeeperAckQuorum,managedLedgerMaxMarkDeleteRate))
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="get-persistence-policies"></a><a href="#get-persistence-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>It shows configured persistence policies of a given namespace.</p>
 <h6><a class="anchor" aria-hidden="true" id="cli-6"></a><a href="#cli-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <pre><code class="hljs">$ <span class="hljs-string">pulsar-admin </span><span class="hljs-string">namespaces </span><span class="hljs-built_in">get-persistence</span> <span class="hljs-string">test-tenant/</span><span class="hljs-string">ns1
 </span></code></pre>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"bookkeeperEnsemble"</span>: <span class="hljs-number">3</span>,
   <span class="hljs-attr">"bookkeeperWriteQuorum"</span>: <span class="hljs-number">2</span>,
   <span class="hljs-attr">"bookkeeperAckQuorum"</span>: <span class="hljs-number">2</span>,
@@ -235,7 +239,7 @@ test-tenant/ns2
 <pre><code class="hljs">GET <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>persistence
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-11"></a><a href="#java-11" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getPersistence(namespace)
+<pre><code class="hljs css language-java">admin.namespaces().getPersistence(namespace)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="unload-namespace-bundle"></a><a href="#unload-namespace-bundle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>Namespace bundle is a virtual group of topics which belong to same namespace. If broker gets overloaded with number of bundles then this command can help to unload heavy bundle from that broker, so it can be served by some other less loaded broker. Namespace bundle is defined with it’s start and end range such as 0x00000000 and 0xffffffff.</p>
@@ -248,7 +252,7 @@ test-tenant/ns2
 <pre><code class="hljs">PUT <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/u</span>nload
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-12"></a><a href="#java-12" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().unloadNamespaceBundle(namespace, bundle)
+<pre><code class="hljs css language-java">admin.namespaces().unloadNamespaceBundle(namespace, bundle)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="set-message-ttl"></a><a href="#set-message-ttl" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>It configures message’s time to live (in seconds) duration.</p>
@@ -261,7 +265,7 @@ test-tenant/ns2
 <pre><code class="hljs">POST <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/m</span>essageTTL
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-13"></a><a href="#java-13" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().setNamespaceMessageTTL(namespace, messageTTL)
+<pre><code class="hljs css language-java">admin.namespaces().setNamespaceMessageTTL(namespace, messageTTL)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="get-message-ttl"></a><a href="#get-message-ttl" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>It gives a message ttl of configured namespace.</p>
@@ -274,7 +278,7 @@ test-tenant/ns2
 <pre><code class="hljs">GET <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/m</span>essageTTL
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-14"></a><a href="#java-14" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getNamespaceReplicationClusters(namespace)
+<pre><code class="hljs css language-java">admin.namespaces().getNamespaceReplicationClusters(namespace)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="split-bundle"></a><a href="#split-bundle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Each namespace bundle can contain multiple topics and each bundle can be served by only one broker. If bundle gets heavy with multiple live topics in it then it creates load on that broker and in order to resolve this issue, admin can split bundle using this command.</p>
@@ -287,7 +291,7 @@ test-tenant/ns2
 <pre><code class="hljs"><span class="xml">PUT /admin/v2/namespaces/</span><span class="hljs-template-variable">{tenant}</span><span class="xml">/</span><span class="hljs-template-variable">{namespace}</span><span class="xml">/</span><span class="hljs-template-variable">{bundle}</span><span class="xml">/split
 </span></code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-15"></a><a href="#java-15" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().splitNamespaceBundle(namespace, bundle)
+<pre><code class="hljs css language-java">admin.namespaces().splitNamespaceBundle(namespace, bundle)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="clear-backlog"></a><a href="#clear-backlog" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>It clears all message backlog for all the topics those belong to specific namespace. You can also clear backlog for a specific subscription as well.</p>
@@ -300,7 +304,7 @@ test-tenant/ns2
 <pre><code class="hljs">POST <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>clearBacklog
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-16"></a><a href="#java-16" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().clearNamespaceBacklogForSubscription(namespace, subscription)
+<pre><code class="hljs css language-java">admin.namespaces().clearNamespaceBacklogForSubscription(namespace, subscription)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="clear-bundle-backlog"></a><a href="#clear-bundle-backlog" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>It clears all message backlog for all the topics those belong to specific NamespaceBundle. You can also clear backlog for a specific subscription as well.</p>
@@ -313,7 +317,7 @@ test-tenant/ns2
 <pre><code class="hljs"><span class="xml">POST /admin/v2/namespaces/</span><span class="hljs-template-variable">{tenant}</span><span class="xml">/</span><span class="hljs-template-variable">{namespace}</span><span class="xml">/</span><span class="hljs-template-variable">{bundle}</span><span class="xml">/clearBacklog
 </span></code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-17"></a><a href="#java-17" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().clearNamespaceBundleBacklogForSubscription(namespace, bundle, subscription)
+<pre><code class="hljs css language-java">admin.namespaces().clearNamespaceBundleBacklogForSubscription(namespace, bundle, subscription)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="set-retention"></a><a href="#set-retention" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>Each namespace contains multiple topics and each topic’s retention size (storage size) should not exceed to a specific threshold or it should be stored till certain time duration. This command helps to configure retention size and time of topics in a given namespace.</p>
@@ -326,14 +330,14 @@ test-tenant/ns2
 <pre><code class="hljs">POST <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>retention
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-18"></a><a href="#java-18" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().setRetention(namespace, <span class="hljs-keyword">new</span> RetentionPolicies(retentionTimeInMin, retentionSizeInMB))
+<pre><code class="hljs css language-java">admin.namespaces().setRetention(namespace, <span class="hljs-keyword">new</span> RetentionPolicies(retentionTimeInMin, retentionSizeInMB))
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="get-retention"></a><a href="#get-retention" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>It shows retention information of a given namespace.</p>
 <h6><a class="anchor" aria-hidden="true" id="cli-14"></a><a href="#cli-14" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <pre><code class="hljs">$ <span class="hljs-string">pulsar-admin </span><span class="hljs-string">namespaces </span><span class="hljs-built_in">get-retention</span> <span class="hljs-string">test-tenant/</span><span class="hljs-string">ns1
 </span></code></pre>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"retentionTimeInMinutes"</span>: <span class="hljs-number">10</span>,
   <span class="hljs-attr">"retentionSizeInMB"</span>: <span class="hljs-number">100</span>
 }
@@ -342,7 +346,7 @@ test-tenant/ns2
 <pre><code class="hljs">GET <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>retention
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-19"></a><a href="#java-19" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getRetention(namespace)
+<pre><code class="hljs css language-java">admin.namespaces().getRetention(namespace)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="set-dispatch-throttling"></a><a href="#set-dispatch-throttling" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>It sets message dispatch rate for all the topics under a given namespace.
@@ -359,14 +363,14 @@ disables the throttling.</p>
 <pre><code class="hljs">POST <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>dispatchRate
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-20"></a><a href="#java-20" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().setDispatchRate(namespace, <span class="hljs-number">1000</span>, <span class="hljs-number">1048576</span>, <span class="hljs-number">1</span>)
+<pre><code class="hljs css language-java">admin.namespaces().setDispatchRate(namespace, <span class="hljs-number">1000</span>, <span class="hljs-number">1048576</span>, <span class="hljs-number">1</span>)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="get-configured-message-rate"></a><a href="#get-configured-message-rate" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>It shows configured message-rate for the namespace (topics under this namespace can dispatch this many messages per second)</p>
 <h6><a class="anchor" aria-hidden="true" id="cli-16"></a><a href="#cli-16" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <pre><code class="hljs">$ <span class="hljs-string">pulsar-admin </span><span class="hljs-string">namespaces </span><span class="hljs-built_in">get-dispatch-rate</span> <span class="hljs-string">test-tenant/</span><span class="hljs-string">ns1
 </span></code></pre>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"dispatchThrottlingRatePerTopicInMsg"</span> : <span class="hljs-number">1000</span>,
   <span class="hljs-attr">"dispatchThrottlingRatePerTopicInByte"</span> : <span class="hljs-number">1048576</span>,
   <span class="hljs-attr">"ratePeriodInSecond"</span> : <span class="hljs-number">1</span>
@@ -376,7 +380,7 @@ disables the throttling.</p>
 <pre><code class="hljs">GET <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>dispatchRate
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-21"></a><a href="#java-21" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getDispatchRate(namespace)
+<pre><code class="hljs css language-java">admin.namespaces().getDispatchRate(namespace)
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="namespace-isolation"></a><a href="#namespace-isolation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>Coming soon.</p>
@@ -385,7 +389,7 @@ disables the throttling.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#namespaces-unload"><code>unload</code></a> subcommand of the <a href="/docs/en/pulsar-admin#namespaces"><code>namespaces</code></a> command.</p>
 <h5><a class="anchor" aria-hidden="true" id="example"></a><a href="#example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces unload my-tenant/my-ns</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces unload my-tenant/my-ns</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-3"></a><a href="#rest-api-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h4><a class="anchor" aria-hidden="true" id="java-22"></a><a href="#java-22" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
diff --git a/content/docs/en/admin-api-namespaces/index.html b/content/docs/en/admin-api-namespaces/index.html
index f4ab0e8..81e32eb 100644
--- a/content/docs/en/admin-api-namespaces/index.html
+++ b/content/docs/en/admin-api-namespaces/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -55,19 +59,19 @@
 <p>You can create new namespaces under a given <a href="/docs/en/reference-terminology#tenant">tenant</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Use the <a href="/docs/en/pulsar-admin#namespaces-create"><code>create</code></a> subcommand and specify the namespace by name:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces create <span class="hljs-built_in">test</span>-tenant/<span class="hljs-built_in">test</span>-namespace</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces create <span class="hljs-built_in">test</span>-tenant/<span class="hljs-built_in">test</span>-namespace</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api"></a><a href="#rest-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/createNamespace"><b>PUT</b> <i>/admin/v2/namespaces/:tenant/:namespace</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">admin.namespaces().createNamespace(namespace);
+<pre><code class="hljs css language-java">admin.namespaces().createNamespace(namespace);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="get-policies"></a><a href="#get-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>You can fetch the current policies associated with a namespace at any time.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#namespaces-policies"><code>policies</code></a> subcommand and specify the namespace:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces policies <span class="hljs-built_in">test</span>-tenant/<span class="hljs-built_in">test</span>-namespace</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces policies <span class="hljs-built_in">test</span>-tenant/<span class="hljs-built_in">test</span>-namespace</span>
 {
   "auth_policies": {
     "namespace_auth": {},
@@ -94,13 +98,13 @@
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPolicies"><b>GET</b> <i>/admin/v2/namespaces/:tenant/:namespace</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getPolicies(namespace);
+<pre><code class="hljs css language-java">admin.namespaces().getPolicies(namespace);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="list-namespaces-within-a-tenant"></a><a href="#list-namespaces-within-a-tenant" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
 <p>You can list all namespaces within a given Pulsar <a href="/docs/en/reference-terminology#tenant">tenant</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#namespaces-list"><code>list</code></a> subcommand and specify the tenant:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces list <span class="hljs-built_in">test</span>-tenant</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces list <span class="hljs-built_in">test</span>-tenant</span>
 test-tenant/ns1
 test-tenant/ns2
 </code></pre>
@@ -108,22 +112,22 @@ test-tenant/ns2
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getTenantNamespaces"><b>GET</b> <i>/admin/v2/namespaces/:tenant</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getNamespaces(tenant);
+<pre><code class="hljs css language-java">admin.namespaces().getNamespaces(tenant);
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getNamespaces(tenant);
+<pre><code class="hljs css language-java">admin.namespaces().getNamespaces(tenant);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="delete"></a><a href="#delete" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>You can delete existing namespaces from a tenant.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#namespaces-delete"><code>delete</code></a> subcommand and specify the namespace:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces delete <span class="hljs-built_in">test</span>-tenant/ns1</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces delete <span class="hljs-built_in">test</span>-tenant/ns1</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest"></a><a href="#rest" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/deleteNamespace"><b>DELETE</b> <i>/admin/v2/namespaces/:tenant/:namespace</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().deleteNamespace(namespace);
+<pre><code class="hljs css language-java">admin.namespaces().deleteNamespace(namespace);
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="set-replication-cluster"></a><a href="#set-replication-cluster" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>It sets replication clusters for a namespace, so Pulsar can internally replicate publish message from one colo to another colo.</p>
@@ -135,7 +139,7 @@ test-tenant/ns2
 <pre><code class="hljs">{<span class="hljs-variable">@inject:</span> endpoint POST|/admin/v2/namespaces/:tenant/:namespace/replication|operation/setNamespaceReplicationClusters}
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-5"></a><a href="#java-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().setNamespaceReplicationClusters(namespace, clusters);
+<pre><code class="hljs css language-java">admin.namespaces().setNamespaceReplicationClusters(namespace, clusters);
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="get-replication-cluster"></a><a href="#get-replication-cluster" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>It gives a list of replication clusters for a given namespace.</p>
@@ -148,7 +152,7 @@ test-tenant/ns2
 <pre><code class="hljs">GET <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>replication
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-6"></a><a href="#java-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getNamespaceReplicationClusters(namespace)
+<pre><code class="hljs css language-java">admin.namespaces().getNamespaceReplicationClusters(namespace)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="set-backlog-quota-policies"></a><a href="#set-backlog-quota-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <p>Backlog quota helps broker to restrict bandwidth/storage of a namespace once it reach certain threshold limit . Admin can set this limit and one of the following action after the limit is reached.</p>
@@ -167,14 +171,14 @@ test-tenant/ns2
 <pre><code class="hljs">POST <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>backlogQuota
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-7"></a><a href="#java-7" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().setBacklogQuota(namespace, <span class="hljs-keyword">new</span> BacklogQuota(limit, policy))
+<pre><code class="hljs css language-java">admin.namespaces().setBacklogQuota(namespace, <span class="hljs-keyword">new</span> BacklogQuota(limit, policy))
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="get-backlog-quota-policies"></a><a href="#get-backlog-quota-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <p>It shows a configured backlog quota for a given namespace.</p>
 <h6><a class="anchor" aria-hidden="true" id="cli-3"></a><a href="#cli-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <pre><code class="hljs">$ <span class="hljs-string">pulsar-admin </span><span class="hljs-string">namespaces </span><span class="hljs-built_in">get-backlog-quotas</span> <span class="hljs-string">test-tenant/</span><span class="hljs-string">ns1
 </span></code></pre>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"destination_storage"</span>: {
     <span class="hljs-attr">"limit"</span>: <span class="hljs-number">10</span>,
     <span class="hljs-attr">"policy"</span>: <span class="hljs-string">"producer_request_hold"</span>
@@ -185,7 +189,7 @@ test-tenant/ns2
 <pre><code class="hljs">GET <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>backlogQuotaMap
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-8"></a><a href="#java-8" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getBacklogQuotaMap(namespace);
+<pre><code class="hljs css language-java">admin.namespaces().getBacklogQuotaMap(namespace);
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="remove-backlog-quota-policies"></a><a href="#remove-backlog-quota-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <p>It removes backlog quota policies for a given namespace</p>
@@ -198,7 +202,7 @@ test-tenant/ns2
 <pre><code class="hljs"><span class="hljs-keyword">DELETE</span> <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>backlogQuota
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-9"></a><a href="#java-9" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().removeBacklogQuota(namespace, backlogQuotaType)
+<pre><code class="hljs css language-java">admin.namespaces().removeBacklogQuota(namespace, backlogQuotaType)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="set-persistence-policies"></a><a href="#set-persistence-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>Persistence policies allow to configure persistency-level for all topic messages under a given namespace.</p>
@@ -217,14 +221,14 @@ test-tenant/ns2
 <pre><code class="hljs">POST <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>persistence
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-10"></a><a href="#java-10" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().setPersistence(namespace,<span class="hljs-keyword">new</span> PersistencePolicies(bookkeeperEnsemble, bookkeeperWriteQuorum,bookkeeperAckQuorum,managedLedgerMaxMarkDeleteRate))
+<pre><code class="hljs css language-java">admin.namespaces().setPersistence(namespace,<span class="hljs-keyword">new</span> PersistencePolicies(bookkeeperEnsemble, bookkeeperWriteQuorum,bookkeeperAckQuorum,managedLedgerMaxMarkDeleteRate))
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="get-persistence-policies"></a><a href="#get-persistence-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>It shows configured persistence policies of a given namespace.</p>
 <h6><a class="anchor" aria-hidden="true" id="cli-6"></a><a href="#cli-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <pre><code class="hljs">$ <span class="hljs-string">pulsar-admin </span><span class="hljs-string">namespaces </span><span class="hljs-built_in">get-persistence</span> <span class="hljs-string">test-tenant/</span><span class="hljs-string">ns1
 </span></code></pre>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"bookkeeperEnsemble"</span>: <span class="hljs-number">3</span>,
   <span class="hljs-attr">"bookkeeperWriteQuorum"</span>: <span class="hljs-number">2</span>,
   <span class="hljs-attr">"bookkeeperAckQuorum"</span>: <span class="hljs-number">2</span>,
@@ -235,7 +239,7 @@ test-tenant/ns2
 <pre><code class="hljs">GET <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>persistence
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-11"></a><a href="#java-11" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getPersistence(namespace)
+<pre><code class="hljs css language-java">admin.namespaces().getPersistence(namespace)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="unload-namespace-bundle"></a><a href="#unload-namespace-bundle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>Namespace bundle is a virtual group of topics which belong to same namespace. If broker gets overloaded with number of bundles then this command can help to unload heavy bundle from that broker, so it can be served by some other less loaded broker. Namespace bundle is defined with it’s start and end range such as 0x00000000 and 0xffffffff.</p>
@@ -248,7 +252,7 @@ test-tenant/ns2
 <pre><code class="hljs">PUT <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/u</span>nload
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-12"></a><a href="#java-12" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().unloadNamespaceBundle(namespace, bundle)
+<pre><code class="hljs css language-java">admin.namespaces().unloadNamespaceBundle(namespace, bundle)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="set-message-ttl"></a><a href="#set-message-ttl" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>It configures message’s time to live (in seconds) duration.</p>
@@ -261,7 +265,7 @@ test-tenant/ns2
 <pre><code class="hljs">POST <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/m</span>essageTTL
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-13"></a><a href="#java-13" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().setNamespaceMessageTTL(namespace, messageTTL)
+<pre><code class="hljs css language-java">admin.namespaces().setNamespaceMessageTTL(namespace, messageTTL)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="get-message-ttl"></a><a href="#get-message-ttl" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>It gives a message ttl of configured namespace.</p>
@@ -274,7 +278,7 @@ test-tenant/ns2
 <pre><code class="hljs">GET <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/m</span>essageTTL
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-14"></a><a href="#java-14" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getNamespaceReplicationClusters(namespace)
+<pre><code class="hljs css language-java">admin.namespaces().getNamespaceReplicationClusters(namespace)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="split-bundle"></a><a href="#split-bundle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Each namespace bundle can contain multiple topics and each bundle can be served by only one broker. If bundle gets heavy with multiple live topics in it then it creates load on that broker and in order to resolve this issue, admin can split bundle using this command.</p>
@@ -287,7 +291,7 @@ test-tenant/ns2
 <pre><code class="hljs"><span class="xml">PUT /admin/v2/namespaces/</span><span class="hljs-template-variable">{tenant}</span><span class="xml">/</span><span class="hljs-template-variable">{namespace}</span><span class="xml">/</span><span class="hljs-template-variable">{bundle}</span><span class="xml">/split
 </span></code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-15"></a><a href="#java-15" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().splitNamespaceBundle(namespace, bundle)
+<pre><code class="hljs css language-java">admin.namespaces().splitNamespaceBundle(namespace, bundle)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="clear-backlog"></a><a href="#clear-backlog" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>It clears all message backlog for all the topics those belong to specific namespace. You can also clear backlog for a specific subscription as well.</p>
@@ -300,7 +304,7 @@ test-tenant/ns2
 <pre><code class="hljs">POST <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>clearBacklog
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-16"></a><a href="#java-16" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().clearNamespaceBacklogForSubscription(namespace, subscription)
+<pre><code class="hljs css language-java">admin.namespaces().clearNamespaceBacklogForSubscription(namespace, subscription)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="clear-bundle-backlog"></a><a href="#clear-bundle-backlog" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>It clears all message backlog for all the topics those belong to specific NamespaceBundle. You can also clear backlog for a specific subscription as well.</p>
@@ -313,7 +317,7 @@ test-tenant/ns2
 <pre><code class="hljs"><span class="xml">POST /admin/v2/namespaces/</span><span class="hljs-template-variable">{tenant}</span><span class="xml">/</span><span class="hljs-template-variable">{namespace}</span><span class="xml">/</span><span class="hljs-template-variable">{bundle}</span><span class="xml">/clearBacklog
 </span></code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-17"></a><a href="#java-17" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().clearNamespaceBundleBacklogForSubscription(namespace, bundle, subscription)
+<pre><code class="hljs css language-java">admin.namespaces().clearNamespaceBundleBacklogForSubscription(namespace, bundle, subscription)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="set-retention"></a><a href="#set-retention" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>Each namespace contains multiple topics and each topic’s retention size (storage size) should not exceed to a specific threshold or it should be stored till certain time duration. This command helps to configure retention size and time of topics in a given namespace.</p>
@@ -326,14 +330,14 @@ test-tenant/ns2
 <pre><code class="hljs">POST <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>retention
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-18"></a><a href="#java-18" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().setRetention(namespace, <span class="hljs-keyword">new</span> RetentionPolicies(retentionTimeInMin, retentionSizeInMB))
+<pre><code class="hljs css language-java">admin.namespaces().setRetention(namespace, <span class="hljs-keyword">new</span> RetentionPolicies(retentionTimeInMin, retentionSizeInMB))
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="get-retention"></a><a href="#get-retention" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>It shows retention information of a given namespace.</p>
 <h6><a class="anchor" aria-hidden="true" id="cli-14"></a><a href="#cli-14" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <pre><code class="hljs">$ <span class="hljs-string">pulsar-admin </span><span class="hljs-string">namespaces </span><span class="hljs-built_in">get-retention</span> <span class="hljs-string">test-tenant/</span><span class="hljs-string">ns1
 </span></code></pre>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"retentionTimeInMinutes"</span>: <span class="hljs-number">10</span>,
   <span class="hljs-attr">"retentionSizeInMB"</span>: <span class="hljs-number">100</span>
 }
@@ -342,7 +346,7 @@ test-tenant/ns2
 <pre><code class="hljs">GET <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>retention
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-19"></a><a href="#java-19" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getRetention(namespace)
+<pre><code class="hljs css language-java">admin.namespaces().getRetention(namespace)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="set-dispatch-throttling"></a><a href="#set-dispatch-throttling" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>It sets message dispatch rate for all the topics under a given namespace.
@@ -359,14 +363,14 @@ disables the throttling.</p>
 <pre><code class="hljs">POST <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>dispatchRate
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-20"></a><a href="#java-20" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().setDispatchRate(namespace, <span class="hljs-number">1000</span>, <span class="hljs-number">1048576</span>, <span class="hljs-number">1</span>)
+<pre><code class="hljs css language-java">admin.namespaces().setDispatchRate(namespace, <span class="hljs-number">1000</span>, <span class="hljs-number">1048576</span>, <span class="hljs-number">1</span>)
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="get-configured-message-rate"></a><a href="#get-configured-message-rate" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>It shows configured message-rate for the namespace (topics under this namespace can dispatch this many messages per second)</p>
 <h6><a class="anchor" aria-hidden="true" id="cli-16"></a><a href="#cli-16" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <pre><code class="hljs">$ <span class="hljs-string">pulsar-admin </span><span class="hljs-string">namespaces </span><span class="hljs-built_in">get-dispatch-rate</span> <span class="hljs-string">test-tenant/</span><span class="hljs-string">ns1
 </span></code></pre>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"dispatchThrottlingRatePerTopicInMsg"</span> : <span class="hljs-number">1000</span>,
   <span class="hljs-attr">"dispatchThrottlingRatePerTopicInByte"</span> : <span class="hljs-number">1048576</span>,
   <span class="hljs-attr">"ratePeriodInSecond"</span> : <span class="hljs-number">1</span>
@@ -376,7 +380,7 @@ disables the throttling.</p>
 <pre><code class="hljs">GET <span class="hljs-regexp">/admin/</span>v2<span class="hljs-regexp">/namespaces/</span>{tenant}<span class="hljs-regexp">/{namespace}/</span>dispatchRate
 </code></pre>
 <h6><a class="anchor" aria-hidden="true" id="java-21"></a><a href="#java-21" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getDispatchRate(namespace)
+<pre><code class="hljs css language-java">admin.namespaces().getDispatchRate(namespace)
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="namespace-isolation"></a><a href="#namespace-isolation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>Coming soon.</p>
@@ -385,7 +389,7 @@ disables the throttling.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#namespaces-unload"><code>unload</code></a> subcommand of the <a href="/docs/en/pulsar-admin#namespaces"><code>namespaces</code></a> command.</p>
 <h5><a class="anchor" aria-hidden="true" id="example"></a><a href="#example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces unload my-tenant/my-ns</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces unload my-tenant/my-ns</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-3"></a><a href="#rest-api-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h4><a class="anchor" aria-hidden="true" id="java-22"></a><a href="#java-22" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
diff --git a/content/docs/en/admin-api-non-persistent-topics.html b/content/docs/en/admin-api-non-persistent-topics.html
index 02ff287..0fb11ab 100644
--- a/content/docs/en/admin-api-non-persistent-topics.html
+++ b/content/docs/en/admin-api-non-persistent-topics.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -45,7 +49,7 @@
 do not need persistent guarantee that can also reduce message-publish latency by removing overhead of
 persisting messages.</p>
 <p>In all of the instructions and commands below, the topic name structure is:</p>
-<pre><code class="hljs css languages- shell">persistent://tenant/namespace/topic
+<pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="non-persistent-topics-resources"></a><a href="#non-persistent-topics-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
 <h3><a class="anchor" aria-hidden="true" id="get-stats"></a><a href="#get-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
@@ -74,7 +78,7 @@ persisting messages.</p>
 <li><p><strong>inboundConnectedSince</strong>: The TCP connection being used to publish messages to the remote cluster. If there are no local publishers connected, this connection is automatically closed after a minute.</p></li>
 <li><p><strong>msgDropRate</strong>: for publisher: publish: broker only allows configured number of in flight per connection, and drops all other published messages above the threshold. Broker also drops messages for subscriptions in case of unavailable limit and connection is not writable.</p></li>
 </ul>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"msgRateIn"</span>: <span class="hljs-number">4641.528542257553</span>,
   <span class="hljs-attr">"msgThroughputIn"</span>: <span class="hljs-number">44663039.74947473</span>,
   <span class="hljs-attr">"msgRateOut"</span>: <span class="hljs-number">0</span>,
@@ -122,21 +126,21 @@ persisting messages.</p>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Topic stats can be fetched using <a href="/docs/en/pulsar-admin#stats"><code>stats</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent stats \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent stats \</span>
   non-persistent://test-tenant/ns1/tp1 \
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api"></a><a href="#rest-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getStats"><b>GET</b> <i>/admin/v2/non-persistent/:tenant/:namespace/:topic/stats</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.nonPersistentTopics().getStats(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="get-internal-stats"></a><a href="#get-internal-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>It shows detailed statistics of a topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Topic internal-stats can be fetched using <a href="/docs/en/pulsar-admin#stats-internal"><code>stats-internal</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent stats-internal \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent stats-internal \</span>
   non-persistent://test-tenant/ns1/tp1 \
 
 {
@@ -159,13 +163,13 @@ admin.nonPersistentTopics().getStats(topic);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getInternalStats"><b>GET</b> <i>/admin/v2/non-persistent/:tenant/:namespace/:topic/internalStats</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.nonPersistentTopics().getInternalStats(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="create-partitioned-topic"></a><a href="#create-partitioned-topic" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>Partitioned topics in Pulsar must be explicitly created. When creating a new partitioned topic you need to provide a name for the topic as well as the desired number of partitions.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin non-persistent create-partitioned-topic \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin non-persistent create-partitioned-topic \</span>
   non-persistent://my-tenant/my-namespace/my-topic \
   --partitions 4
 </code></pre>
@@ -173,7 +177,7 @@ admin.nonPersistentTopics().getInternalStats(topic);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/createPartitionedTopic"><b>PUT</b> <i>/admin/v2/non-persistent/:tenant/:namespace/:topic/partitions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topicName = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topicName = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
 <span class="hljs-keyword">int</span> numPartitions = <span class="hljs-number">4</span>;
 admin.nonPersistentTopics().createPartitionedTopic(topicName, numPartitions);
 </code></pre>
@@ -188,7 +192,7 @@ admin.nonPersistentTopics().createPartitionedTopic(topicName, numPartitions);
 </tbody>
 </table>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent get-partitioned-topic-metadata \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent get-partitioned-topic-metadata \</span>
   non-persistent://my-tenant/my-namespace/my-topic
 {
   "partitions": 4
@@ -198,21 +202,21 @@ admin.nonPersistentTopics().createPartitionedTopic(topicName, numPartitions);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPartitionedMetadata"><b>GET</b> <i>/admin/v2/non-persistent/:tenant/:namespace/:topic/partitions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topicName = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topicName = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.nonPersistentTopics().getPartitionedTopicMetadata(topicName);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="unload-topic"></a><a href="#unload-topic" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>It unloads a topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Topic can be unloaded using <a href="/docs/en/pulsar-admin#unload"><code>unload</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent unload \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent unload \</span>
   non-persistent://test-tenant/ns1/tp1 \
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-4"></a><a href="#rest-api-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/unloadTopic"><b>PUT</b> <i>/admin/v2/non-persistent/:tenant/:namespace/:topic/unload</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"non-persistent://my-tenantmy-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenantmy-namespace/my-topic"</span>;
 admin.nonPersistentTopics().unload(topic);
 </code></pre>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/admin-api-persistent-topics">← Managing persistent topics</a><a class="docs-next button" href="/docs/en/admin-api-partitioned-topics">Managing partitioned topics →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non-persistent topics resources</a><ul class="toc-headings"><li><a href="#get-stats">Get stats</a></li><li><a hre [...]
diff --git a/content/docs/en/admin-api-non-persistent-topics/index.html b/content/docs/en/admin-api-non-persistent-topics/index.html
index 02ff287..0fb11ab 100644
--- a/content/docs/en/admin-api-non-persistent-topics/index.html
+++ b/content/docs/en/admin-api-non-persistent-topics/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -45,7 +49,7 @@
 do not need persistent guarantee that can also reduce message-publish latency by removing overhead of
 persisting messages.</p>
 <p>In all of the instructions and commands below, the topic name structure is:</p>
-<pre><code class="hljs css languages- shell">persistent://tenant/namespace/topic
+<pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="non-persistent-topics-resources"></a><a href="#non-persistent-topics-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
 <h3><a class="anchor" aria-hidden="true" id="get-stats"></a><a href="#get-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
@@ -74,7 +78,7 @@ persisting messages.</p>
 <li><p><strong>inboundConnectedSince</strong>: The TCP connection being used to publish messages to the remote cluster. If there are no local publishers connected, this connection is automatically closed after a minute.</p></li>
 <li><p><strong>msgDropRate</strong>: for publisher: publish: broker only allows configured number of in flight per connection, and drops all other published messages above the threshold. Broker also drops messages for subscriptions in case of unavailable limit and connection is not writable.</p></li>
 </ul>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"msgRateIn"</span>: <span class="hljs-number">4641.528542257553</span>,
   <span class="hljs-attr">"msgThroughputIn"</span>: <span class="hljs-number">44663039.74947473</span>,
   <span class="hljs-attr">"msgRateOut"</span>: <span class="hljs-number">0</span>,
@@ -122,21 +126,21 @@ persisting messages.</p>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Topic stats can be fetched using <a href="/docs/en/pulsar-admin#stats"><code>stats</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent stats \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent stats \</span>
   non-persistent://test-tenant/ns1/tp1 \
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api"></a><a href="#rest-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getStats"><b>GET</b> <i>/admin/v2/non-persistent/:tenant/:namespace/:topic/stats</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.nonPersistentTopics().getStats(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="get-internal-stats"></a><a href="#get-internal-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>It shows detailed statistics of a topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Topic internal-stats can be fetched using <a href="/docs/en/pulsar-admin#stats-internal"><code>stats-internal</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent stats-internal \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent stats-internal \</span>
   non-persistent://test-tenant/ns1/tp1 \
 
 {
@@ -159,13 +163,13 @@ admin.nonPersistentTopics().getStats(topic);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getInternalStats"><b>GET</b> <i>/admin/v2/non-persistent/:tenant/:namespace/:topic/internalStats</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.nonPersistentTopics().getInternalStats(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="create-partitioned-topic"></a><a href="#create-partitioned-topic" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>Partitioned topics in Pulsar must be explicitly created. When creating a new partitioned topic you need to provide a name for the topic as well as the desired number of partitions.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin non-persistent create-partitioned-topic \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin non-persistent create-partitioned-topic \</span>
   non-persistent://my-tenant/my-namespace/my-topic \
   --partitions 4
 </code></pre>
@@ -173,7 +177,7 @@ admin.nonPersistentTopics().getInternalStats(topic);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/createPartitionedTopic"><b>PUT</b> <i>/admin/v2/non-persistent/:tenant/:namespace/:topic/partitions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topicName = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topicName = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
 <span class="hljs-keyword">int</span> numPartitions = <span class="hljs-number">4</span>;
 admin.nonPersistentTopics().createPartitionedTopic(topicName, numPartitions);
 </code></pre>
@@ -188,7 +192,7 @@ admin.nonPersistentTopics().createPartitionedTopic(topicName, numPartitions);
 </tbody>
 </table>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent get-partitioned-topic-metadata \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent get-partitioned-topic-metadata \</span>
   non-persistent://my-tenant/my-namespace/my-topic
 {
   "partitions": 4
@@ -198,21 +202,21 @@ admin.nonPersistentTopics().createPartitionedTopic(topicName, numPartitions);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPartitionedMetadata"><b>GET</b> <i>/admin/v2/non-persistent/:tenant/:namespace/:topic/partitions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topicName = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topicName = <span class="hljs-string">"non-persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.nonPersistentTopics().getPartitionedTopicMetadata(topicName);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="unload-topic"></a><a href="#unload-topic" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>It unloads a topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Topic can be unloaded using <a href="/docs/en/pulsar-admin#unload"><code>unload</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent unload \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin non-persistent unload \</span>
   non-persistent://test-tenant/ns1/tp1 \
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-4"></a><a href="#rest-api-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/unloadTopic"><b>PUT</b> <i>/admin/v2/non-persistent/:tenant/:namespace/:topic/unload</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"non-persistent://my-tenantmy-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenantmy-namespace/my-topic"</span>;
 admin.nonPersistentTopics().unload(topic);
 </code></pre>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/admin-api-persistent-topics">← Managing persistent topics</a><a class="docs-next button" href="/docs/en/admin-api-partitioned-topics">Managing partitioned topics →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non-persistent topics resources</a><ul class="toc-headings"><li><a href="#get-stats">Get stats</a></li><li><a hre [...]
diff --git a/content/docs/en/admin-api-overview.html b/content/docs/en/admin-api-overview.html
index 7b2137b..ba121ee 100644
--- a/content/docs/en/admin-api-overview.html
+++ b/content/docs/en/admin-api-overview.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -50,7 +54,7 @@ with <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307"><cod
 to handle redirections.</li>
 <li>The <code>pulsar-admin</code> CLI tool, which is available in the <code>bin</code> folder of your <a href="/docs/en/standalone">Pulsar installation</a>:</li>
 </ul>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin</span>
 </code></pre>
 <p>Full documentation for this tool can be found in the <a href="/docs/en/pulsar-admin">Pulsar command-line tools</a> doc.</p>
 <ul>
@@ -87,7 +91,7 @@ to handle redirections.</li>
 <p>To use the Java admin API, instantiate a <a href="https://pulsar.incubator.apache.org/api/admin/org/apache/pulsar/client/admin/PulsarAdmin">PulsarAdmin</a>
  object, specifying a URL for a Pulsar <a href="/docs/en/reference-terminology#broker">broker</a> and a <a href="https://pulsar.incubator.apache.org/api/admin/org/apache/pulsar/client/admin/ClientConfiguration">ClientConfiguration</a>
 . Here's a minimal example using <code>localhost</code>:</p>
-<pre><code class="hljs css languages- java">URL url = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"http://localhost:8080"</span>);
+<pre><code class="hljs css language-java">URL url = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"http://localhost:8080"</span>);
 <span class="hljs-comment">// Pass auth-plugin class fully-qualified name if Pulsar-security enabled</span>
 String authPluginClassName = <span class="hljs-string">"com.org.MyAuthPluginClass"</span>; 
 <span class="hljs-comment">// Pass auth-param if auth-plugin class requires it</span>
diff --git a/content/docs/en/admin-api-overview/index.html b/content/docs/en/admin-api-overview/index.html
index 7b2137b..ba121ee 100644
--- a/content/docs/en/admin-api-overview/index.html
+++ b/content/docs/en/admin-api-overview/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -50,7 +54,7 @@ with <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307"><cod
 to handle redirections.</li>
 <li>The <code>pulsar-admin</code> CLI tool, which is available in the <code>bin</code> folder of your <a href="/docs/en/standalone">Pulsar installation</a>:</li>
 </ul>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin</span>
 </code></pre>
 <p>Full documentation for this tool can be found in the <a href="/docs/en/pulsar-admin">Pulsar command-line tools</a> doc.</p>
 <ul>
@@ -87,7 +91,7 @@ to handle redirections.</li>
 <p>To use the Java admin API, instantiate a <a href="https://pulsar.incubator.apache.org/api/admin/org/apache/pulsar/client/admin/PulsarAdmin">PulsarAdmin</a>
  object, specifying a URL for a Pulsar <a href="/docs/en/reference-terminology#broker">broker</a> and a <a href="https://pulsar.incubator.apache.org/api/admin/org/apache/pulsar/client/admin/ClientConfiguration">ClientConfiguration</a>
 . Here's a minimal example using <code>localhost</code>:</p>
-<pre><code class="hljs css languages- java">URL url = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"http://localhost:8080"</span>);
+<pre><code class="hljs css language-java">URL url = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"http://localhost:8080"</span>);
 <span class="hljs-comment">// Pass auth-plugin class fully-qualified name if Pulsar-security enabled</span>
 String authPluginClassName = <span class="hljs-string">"com.org.MyAuthPluginClass"</span>; 
 <span class="hljs-comment">// Pass auth-param if auth-plugin class requires it</span>
diff --git a/content/docs/en/admin-api-partitioned-topics.html b/content/docs/en/admin-api-partitioned-topics.html
index ed8b086..5126d51 100644
--- a/content/docs/en/admin-api-partitioned-topics.html
+++ b/content/docs/en/admin-api-partitioned-topics.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -43,7 +47,7 @@
             });
         </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/admin-api-partitioned-topics.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Managing partitioned topics</h1></header><article><div><span><p>You can use Pulsar's <a href="/docs/en/admin-api-overview">admin API</a> to crea [...]
 <p>In all of the instructions and commands below, the topic name structure is:</p>
-<pre><code class="hljs css languages- shell">persistent://tenant/namespace/topic
+<pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="partitioned-topics-resources"></a><a href="#partitioned-topics-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <h3><a class="anchor" aria-hidden="true" id="create"></a><a href="#create" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
@@ -53,7 +57,7 @@ need to provide a name for the topic as well as the desired number of partitions
 <p>You can create partitioned topics using the <a href="/docs/en/pulsar-admin#create-partitioned-topic"><code>create-partitioned-topic</code></a>
 command and specifying the topic name as an argument and the number of partitions using the <code>-p</code> or <code>--partitions</code> flag.
 Here's an example:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin topics create-partitioned-topic \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin topics create-partitioned-topic \</span>
   persistent://my-tenant/my-namespace/my-topic \
   --partitions 4
 </code></pre>
@@ -61,7 +65,7 @@ Here's an example:</p>
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/createPartitionedTopic"><b>PUT</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/partitions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">String topicName = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topicName = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 <span class="hljs-keyword">int</span> numPartitions = <span class="hljs-number">4</span>;
 admin.persistentTopics().createPartitionedTopic(topicName, numPartitions);
 </code></pre>
@@ -80,7 +84,7 @@ The following metadata fields are currently available:</p>
 <p>You can see the number of partitions in a partitioned topic using the
 <a href="/docs/en/pulsar-admin#get-partitioned-topic-metadata"><code>get-partitioned-topic-metadata</code></a>
 subcommand. Here's an example:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics get-partitioned-topic-metadata \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics get-partitioned-topic-metadata \</span>
   persistent://my-tenant/my-namespace/my-topic
 {
   "partitions": 4
@@ -90,7 +94,7 @@ subcommand. Here's an example:</p>
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPartitionedMetadata"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/partitions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topicName = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topicName = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getPartitionedTopicMetadata(topicName);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="update"></a><a href="#update" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
@@ -105,7 +109,7 @@ all producers are restarted at application.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Partitioned topics can be updated using the
 <a href="/docs/en/pulsar-admin#update-partitioned-topic"><code>update-partitioned-topic</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics update-partitioned-topic \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics update-partitioned-topic \</span>
   persistent://my-tenant/my-namespace/my-topic \
   --partitions 8
 </code></pre>
@@ -113,25 +117,25 @@ all producers are restarted at application.</p>
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/updatePartitionedTopic"><b>POST</b> <i>/admin/v2/persistent/:tenant/:cluster/:namespace/:destination/partitions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.persistentTopics().updatePartitionedTopic(persistentTopic, numPartitions);
+<pre><code class="hljs css language-java">admin.persistentTopics().updatePartitionedTopic(persistentTopic, numPartitions);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="delete"></a><a href="#delete" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Partitioned topics can be deleted using the
 <a href="/docs/en/pulsar-admin#delete-partitioned-topic"><code>delete-partitioned-topic</code></a> command, specifying the topic by name:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin topics delete-partitioned-topic \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin topics delete-partitioned-topic \</span>
   persistent://my-tenant/my-namespace/my-topic
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-3"></a><a href="#rest-api-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/deletePartitionedTopic"><b>DELETE</b> <i>/admin/v2/persistent/:topic/:namespace/:destination/partitions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.persistentTopics().delete(persistentTopic);
+<pre><code class="hljs css language-java">admin.persistentTopics().delete(persistentTopic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="list"></a><a href="#list" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>It provides a list of persistent topics existing under a given namespace.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics list tenant/namespace</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics list tenant/namespace</span>
 persistent://tenant/namespace/topic1
 persistent://tenant/namespace/topic2
 </code></pre>
@@ -139,11 +143,11 @@ persistent://tenant/namespace/topic2
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPartitionedTopicList"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.persistentTopics().getList(namespace);
+<pre><code class="hljs css language-java">admin.persistentTopics().getList(namespace);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="stats"></a><a href="#stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>It shows current statistics of a given partitioned topic. Here's an example payload:</p>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"msgRateIn"</span>: <span class="hljs-number">4641.528542257553</span>,
   <span class="hljs-attr">"msgThroughputIn"</span>: <span class="hljs-number">44663039.74947473</span>,
   <span class="hljs-attr">"msgRateOut"</span>: <span class="hljs-number">0</span>,
@@ -210,7 +214,7 @@ persistent://tenant/namespace/topic2
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-5"></a><a href="#pulsar-admin-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>The stats for the partitioned topic and its connected producers and consumers can be fetched by using the
 <a href="/docs/en/pulsar-admin#partitioned-stats"><code>partitioned-stats</code></a> command, specifying the topic by name:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics partitioned-stats \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics partitioned-stats \</span>
   persistent://test-tenant/namespace/topic \
   --per-partition        
 </code></pre>
@@ -218,7 +222,7 @@ persistent://tenant/namespace/topic2
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPartitionedStats"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/partitioned-stats</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-5"></a><a href="#java-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.persistentTopics().getStats(persistentTopic);
+<pre><code class="hljs css language-java">admin.persistentTopics().getStats(persistentTopic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="internal-stats"></a><a href="#internal-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>It shows detailed statistics of a topic.</p>
@@ -251,7 +255,7 @@ persistent://tenant/namespace/topic2
 <tr><td>lastLedgerSwitchTimestamp</td><td>The last time the cursor ledger was rolled over</td></tr>
 </tbody>
 </table>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"entriesAddedCounter"</span>: <span class="hljs-number">20449518</span>,
   <span class="hljs-attr">"numberOfEntries"</span>: <span class="hljs-number">3233</span>,
   <span class="hljs-attr">"totalSize"</span>: <span class="hljs-number">331482</span>,
@@ -289,14 +293,14 @@ persistent://tenant/namespace/topic2
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-6"></a><a href="#pulsar-admin-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>The internal stats for the partitioned topic can be fetched by using the
 <a href="/docs/en/pulsar-admin#stats-internal"><code>stats-internal</code></a> command, specifying the topic by name:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics stats-internal \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics stats-internal \</span>
   persistent://test-tenant/namespace/topic
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-6"></a><a href="#rest-api-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getInternalStats"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/internalStats</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-6"></a><a href="#java-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.persistentTopics().getInternalStats(persistentTopic);
+<pre><code class="hljs css language-java">admin.persistentTopics().getInternalStats(persistentTopic);
 </code></pre>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/admin-api-non-persistent-topics">← Managing non-persistent topics</a><a class="docs-next button" href="/docs/en/admin-api-schemas">Managing Schemas →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#partitioned-topics-resources">Partitioned topics resources</a><ul class="toc-headings"><li><a href="#create">Create</a></li><li><a href="#get-metadata">Get meta [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/en/admin-api-partitioned-topics/index.html b/content/docs/en/admin-api-partitioned-topics/index.html
index ed8b086..5126d51 100644
--- a/content/docs/en/admin-api-partitioned-topics/index.html
+++ b/content/docs/en/admin-api-partitioned-topics/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -43,7 +47,7 @@
             });
         </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/admin-api-partitioned-topics.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Managing partitioned topics</h1></header><article><div><span><p>You can use Pulsar's <a href="/docs/en/admin-api-overview">admin API</a> to crea [...]
 <p>In all of the instructions and commands below, the topic name structure is:</p>
-<pre><code class="hljs css languages- shell">persistent://tenant/namespace/topic
+<pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="partitioned-topics-resources"></a><a href="#partitioned-topics-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <h3><a class="anchor" aria-hidden="true" id="create"></a><a href="#create" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
@@ -53,7 +57,7 @@ need to provide a name for the topic as well as the desired number of partitions
 <p>You can create partitioned topics using the <a href="/docs/en/pulsar-admin#create-partitioned-topic"><code>create-partitioned-topic</code></a>
 command and specifying the topic name as an argument and the number of partitions using the <code>-p</code> or <code>--partitions</code> flag.
 Here's an example:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin topics create-partitioned-topic \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin topics create-partitioned-topic \</span>
   persistent://my-tenant/my-namespace/my-topic \
   --partitions 4
 </code></pre>
@@ -61,7 +65,7 @@ Here's an example:</p>
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/createPartitionedTopic"><b>PUT</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/partitions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">String topicName = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topicName = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 <span class="hljs-keyword">int</span> numPartitions = <span class="hljs-number">4</span>;
 admin.persistentTopics().createPartitionedTopic(topicName, numPartitions);
 </code></pre>
@@ -80,7 +84,7 @@ The following metadata fields are currently available:</p>
 <p>You can see the number of partitions in a partitioned topic using the
 <a href="/docs/en/pulsar-admin#get-partitioned-topic-metadata"><code>get-partitioned-topic-metadata</code></a>
 subcommand. Here's an example:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics get-partitioned-topic-metadata \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics get-partitioned-topic-metadata \</span>
   persistent://my-tenant/my-namespace/my-topic
 {
   "partitions": 4
@@ -90,7 +94,7 @@ subcommand. Here's an example:</p>
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPartitionedMetadata"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/partitions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topicName = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topicName = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getPartitionedTopicMetadata(topicName);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="update"></a><a href="#update" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
@@ -105,7 +109,7 @@ all producers are restarted at application.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Partitioned topics can be updated using the
 <a href="/docs/en/pulsar-admin#update-partitioned-topic"><code>update-partitioned-topic</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics update-partitioned-topic \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics update-partitioned-topic \</span>
   persistent://my-tenant/my-namespace/my-topic \
   --partitions 8
 </code></pre>
@@ -113,25 +117,25 @@ all producers are restarted at application.</p>
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/updatePartitionedTopic"><b>POST</b> <i>/admin/v2/persistent/:tenant/:cluster/:namespace/:destination/partitions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.persistentTopics().updatePartitionedTopic(persistentTopic, numPartitions);
+<pre><code class="hljs css language-java">admin.persistentTopics().updatePartitionedTopic(persistentTopic, numPartitions);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="delete"></a><a href="#delete" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Partitioned topics can be deleted using the
 <a href="/docs/en/pulsar-admin#delete-partitioned-topic"><code>delete-partitioned-topic</code></a> command, specifying the topic by name:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin topics delete-partitioned-topic \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin topics delete-partitioned-topic \</span>
   persistent://my-tenant/my-namespace/my-topic
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-3"></a><a href="#rest-api-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/deletePartitionedTopic"><b>DELETE</b> <i>/admin/v2/persistent/:topic/:namespace/:destination/partitions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.persistentTopics().delete(persistentTopic);
+<pre><code class="hljs css language-java">admin.persistentTopics().delete(persistentTopic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="list"></a><a href="#list" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>It provides a list of persistent topics existing under a given namespace.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics list tenant/namespace</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics list tenant/namespace</span>
 persistent://tenant/namespace/topic1
 persistent://tenant/namespace/topic2
 </code></pre>
@@ -139,11 +143,11 @@ persistent://tenant/namespace/topic2
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPartitionedTopicList"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.persistentTopics().getList(namespace);
+<pre><code class="hljs css language-java">admin.persistentTopics().getList(namespace);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="stats"></a><a href="#stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>It shows current statistics of a given partitioned topic. Here's an example payload:</p>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"msgRateIn"</span>: <span class="hljs-number">4641.528542257553</span>,
   <span class="hljs-attr">"msgThroughputIn"</span>: <span class="hljs-number">44663039.74947473</span>,
   <span class="hljs-attr">"msgRateOut"</span>: <span class="hljs-number">0</span>,
@@ -210,7 +214,7 @@ persistent://tenant/namespace/topic2
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-5"></a><a href="#pulsar-admin-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>The stats for the partitioned topic and its connected producers and consumers can be fetched by using the
 <a href="/docs/en/pulsar-admin#partitioned-stats"><code>partitioned-stats</code></a> command, specifying the topic by name:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics partitioned-stats \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics partitioned-stats \</span>
   persistent://test-tenant/namespace/topic \
   --per-partition        
 </code></pre>
@@ -218,7 +222,7 @@ persistent://tenant/namespace/topic2
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPartitionedStats"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/partitioned-stats</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-5"></a><a href="#java-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.persistentTopics().getStats(persistentTopic);
+<pre><code class="hljs css language-java">admin.persistentTopics().getStats(persistentTopic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="internal-stats"></a><a href="#internal-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>It shows detailed statistics of a topic.</p>
@@ -251,7 +255,7 @@ persistent://tenant/namespace/topic2
 <tr><td>lastLedgerSwitchTimestamp</td><td>The last time the cursor ledger was rolled over</td></tr>
 </tbody>
 </table>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"entriesAddedCounter"</span>: <span class="hljs-number">20449518</span>,
   <span class="hljs-attr">"numberOfEntries"</span>: <span class="hljs-number">3233</span>,
   <span class="hljs-attr">"totalSize"</span>: <span class="hljs-number">331482</span>,
@@ -289,14 +293,14 @@ persistent://tenant/namespace/topic2
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-6"></a><a href="#pulsar-admin-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>The internal stats for the partitioned topic can be fetched by using the
 <a href="/docs/en/pulsar-admin#stats-internal"><code>stats-internal</code></a> command, specifying the topic by name:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics stats-internal \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics stats-internal \</span>
   persistent://test-tenant/namespace/topic
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-6"></a><a href="#rest-api-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getInternalStats"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/internalStats</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-6"></a><a href="#java-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.persistentTopics().getInternalStats(persistentTopic);
+<pre><code class="hljs css language-java">admin.persistentTopics().getInternalStats(persistentTopic);
 </code></pre>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/admin-api-non-persistent-topics">← Managing non-persistent topics</a><a class="docs-next button" href="/docs/en/admin-api-schemas">Managing Schemas →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#partitioned-topics-resources">Partitioned topics resources</a><ul class="toc-headings"><li><a href="#create">Create</a></li><li><a href="#get-metadata">Get meta [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/en/admin-api-permissions.html b/content/docs/en/admin-api-permissions.html
index 5c61c3b..cf70684 100644
--- a/content/docs/en/admin-api-permissions.html
+++ b/content/docs/en/admin-api-permissions.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -47,25 +51,25 @@
 <p>You can grant permissions to specific roles for lists of operations such as <code>produce</code> and <code>consume</code>.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Use the <a href="/docs/en/pulsar-admin#grant-permission"><code>grant-permission</code></a> subcommand and specify a namespace, actions using the <code>--actions</code> flag, and a role using the <code>--role</code> flag:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
   --actions produce,consume \
   --role admin10
 </code></pre>
 <p>Wildcard authorization can be performed when <code>authorizationAllowWildcardsMatching</code> is set to <code>true</code> in <code>broker.conf</code>.</p>
 <p>e.g.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
                         --actions produce,consume \
                         --role 'my.role.*'
 </code></pre>
 <p>Then, roles <code>my.role.1</code>, <code>my.role.2</code>, <code>my.role.foo</code>, <code>my.role.bar</code>, etc. can produce and consume.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
                         --actions produce,consume \
                         --role '*.role.my'
 </code></pre>
 <p>Then, roles <code>1.role.my</code>, <code>2.role.my</code>, <code>foo.role.my</code>, <code>bar.role.my</code>, etc. can produce and consume.</p>
 <p><strong>Note</strong>: A wildcard matching works at <strong>the beginning or end of the role name only</strong>.</p>
 <p>e.g.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
                         --actions produce,consume \
                         --role 'my.*.role'
 </code></pre>
@@ -75,13 +79,13 @@ Roles <code>my.1.role</code>, <code>my.2.role</code>, <code>my.foo.role</code>,
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/grantPermissionOnNamespace"><b>POST</b> <i>/admin/v2/namespaces/:tenant/:namespace/permissions/:role</i></a>
 </p>
 <h3><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">admin.namespaces().grantPermissionOnNamespace(namespace, role, getAuthActions(actions));
+<pre><code class="hljs css language-java">admin.namespaces().grantPermissionOnNamespace(namespace, role, getAuthActions(actions));
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="get-permissions"></a><a href="#get-permissions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>You can see which permissions have been granted to which roles in a namespace.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="reference-pulsar-admin#permissions"><code>permissions</code></a> subcommand and specify a namespace:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces permissions <span class="hljs-built_in">test</span>-tenant/ns1</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces permissions <span class="hljs-built_in">test</span>-tenant/ns1</span>
 {
   "admin10": [
     "produce",
@@ -93,20 +97,20 @@ Roles <code>my.1.role</code>, <code>my.2.role</code>, <code>my.foo.role</code>,
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPermissions"><b>GET</b> <i>/admin/v2/namespaces/:tenant/:namespace/permissions</i></a>
 </p>
 <h3><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getPermissions(namespace);
+<pre><code class="hljs css language-java">admin.namespaces().getPermissions(namespace);
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="revoke-permissions"></a><a href="#revoke-permissions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>You can revoke permissions from specific roles, which means that those roles will no longer have access to the specified namespace.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#revoke-permission"><code>revoke-permission</code></a> subcommand and specify a namespace and a role using the <code>--role</code> flag:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces revoke-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces revoke-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
   --role admin10
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="rest-api-2"></a><a href="#rest-api-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/revokePermissionsOnNamespace"><b>DELETE</b> <i>/admin/v2/namespaces/:tenant/:namespace/permissions/:role</i></a>
 </p>
 <h3><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().revokePermissionsOnNamespace(namespace, role);
+<pre><code class="hljs css language-java">admin.namespaces().revokePermissionsOnNamespace(namespace, role);
 </code></pre>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/admin-api-namespaces">← Managing Namespaces</a><a class="docs-next button" href="/docs/en/admin-api-persistent-topics">Managing persistent topics →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"><li><a href="#pulsar-admin">pulsar-admin</a></li><li><a href="#rest-api">REST API</a></li><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/en/admin-api-permissions/index.html b/content/docs/en/admin-api-permissions/index.html
index 5c61c3b..cf70684 100644
--- a/content/docs/en/admin-api-permissions/index.html
+++ b/content/docs/en/admin-api-permissions/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -47,25 +51,25 @@
 <p>You can grant permissions to specific roles for lists of operations such as <code>produce</code> and <code>consume</code>.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Use the <a href="/docs/en/pulsar-admin#grant-permission"><code>grant-permission</code></a> subcommand and specify a namespace, actions using the <code>--actions</code> flag, and a role using the <code>--role</code> flag:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
   --actions produce,consume \
   --role admin10
 </code></pre>
 <p>Wildcard authorization can be performed when <code>authorizationAllowWildcardsMatching</code> is set to <code>true</code> in <code>broker.conf</code>.</p>
 <p>e.g.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
                         --actions produce,consume \
                         --role 'my.role.*'
 </code></pre>
 <p>Then, roles <code>my.role.1</code>, <code>my.role.2</code>, <code>my.role.foo</code>, <code>my.role.bar</code>, etc. can produce and consume.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
                         --actions produce,consume \
                         --role '*.role.my'
 </code></pre>
 <p>Then, roles <code>1.role.my</code>, <code>2.role.my</code>, <code>foo.role.my</code>, <code>bar.role.my</code>, etc. can produce and consume.</p>
 <p><strong>Note</strong>: A wildcard matching works at <strong>the beginning or end of the role name only</strong>.</p>
 <p>e.g.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces grant-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
                         --actions produce,consume \
                         --role 'my.*.role'
 </code></pre>
@@ -75,13 +79,13 @@ Roles <code>my.1.role</code>, <code>my.2.role</code>, <code>my.foo.role</code>,
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/grantPermissionOnNamespace"><b>POST</b> <i>/admin/v2/namespaces/:tenant/:namespace/permissions/:role</i></a>
 </p>
 <h3><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">admin.namespaces().grantPermissionOnNamespace(namespace, role, getAuthActions(actions));
+<pre><code class="hljs css language-java">admin.namespaces().grantPermissionOnNamespace(namespace, role, getAuthActions(actions));
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="get-permissions"></a><a href="#get-permissions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>You can see which permissions have been granted to which roles in a namespace.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="reference-pulsar-admin#permissions"><code>permissions</code></a> subcommand and specify a namespace:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces permissions <span class="hljs-built_in">test</span>-tenant/ns1</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces permissions <span class="hljs-built_in">test</span>-tenant/ns1</span>
 {
   "admin10": [
     "produce",
@@ -93,20 +97,20 @@ Roles <code>my.1.role</code>, <code>my.2.role</code>, <code>my.foo.role</code>,
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPermissions"><b>GET</b> <i>/admin/v2/namespaces/:tenant/:namespace/permissions</i></a>
 </p>
 <h3><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().getPermissions(namespace);
+<pre><code class="hljs css language-java">admin.namespaces().getPermissions(namespace);
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="revoke-permissions"></a><a href="#revoke-permissions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>You can revoke permissions from specific roles, which means that those roles will no longer have access to the specified namespace.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#revoke-permission"><code>revoke-permission</code></a> subcommand and specify a namespace and a role using the <code>--role</code> flag:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces revoke-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces revoke-permission <span class="hljs-built_in">test</span>-tenant/ns1 \</span>
   --role admin10
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="rest-api-2"></a><a href="#rest-api-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/revokePermissionsOnNamespace"><b>DELETE</b> <i>/admin/v2/namespaces/:tenant/:namespace/permissions/:role</i></a>
 </p>
 <h3><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">admin.namespaces().revokePermissionsOnNamespace(namespace, role);
+<pre><code class="hljs css language-java">admin.namespaces().revokePermissionsOnNamespace(namespace, role);
 </code></pre>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/admin-api-namespaces">← Managing Namespaces</a><a class="docs-next button" href="/docs/en/admin-api-persistent-topics">Managing persistent topics →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"><li><a href="#pulsar-admin">pulsar-admin</a></li><li><a href="#rest-api">REST API</a></li><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
diff --git a/content/docs/en/admin-api-persistent-topics.html b/content/docs/en/admin-api-persistent-topics.html
index 699763f..a879fcd 100644
--- a/content/docs/en/admin-api-persistent-topics.html
+++ b/content/docs/en/admin-api-persistent-topics.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -43,28 +47,28 @@
             });
         </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/admin-api-persistent-topics.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>Persistent helps to access topic which is a logical endpoint for publishing and co [...]
 <p>In all of the instructions and commands below, the topic name structure is:</p>
-<pre><code class="hljs css languages- shell">persistent://tenant/namespace/topic
+<pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="persistent-topics-resources"></a><a href="#persistent-topics-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <h3><a class="anchor" aria-hidden="true" id="list-of-topics"></a><a href="#list-of-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>It provides a list of persistent topics exist under a given namespace.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>List of topics can be fetched using <a href="../../reference/CliTools#list"><code>list</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent list \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent list \</span>
   my-tenant/my-namespace
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api"></a><a href="#rest-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getList"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">String namespace = <span class="hljs-string">"my-tenant/my-namespace"</span>;
+<pre><code class="hljs css language-java">String namespace = <span class="hljs-string">"my-tenant/my-namespace"</span>;
 admin.persistentTopics().getList(namespace);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="grant-permission"></a><a href="#grant-permission" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>It grants permissions on a client role to perform specific actions on a given topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Permission can be granted using <a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent grant-permission \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent grant-permission \</span>
   --actions produce,consume --role application1 \
   persistent://test-tenant/ns1/tp1 \
 
@@ -73,7 +77,7 @@ admin.persistentTopics().getList(namespace);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/grantPermissionsOnTopic"><b>POST</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/permissions/:role</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String role = <span class="hljs-string">"test-role"</span>;
 Set&lt;AuthAction&gt; actions  = Sets.newHashSet(AuthAction.produce, AuthAction.consume);
 admin.persistentTopics().grantPermission(topic, role, actions);
@@ -81,7 +85,7 @@ admin.persistentTopics().grantPermission(topic, role, actions);
 <h3><a class="anchor" aria-hidden="true" id="get-permission"></a><a href="#get-permission" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Permission can be fetched using <a href="../../reference/CliTools#permissions"><code>permissions</code></a> command.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent permissions \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent permissions \</span>
   persistent://test-tenant/ns1/tp1 \
 
 {
@@ -95,14 +99,14 @@ admin.persistentTopics().grantPermission(topic, role, actions);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPermissionsOnTopic"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/permissions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getPermissions(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="revoke-permission"></a><a href="#revoke-permission" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>It revokes a permission which was granted on a client role.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Permission can be revoked using <a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent revoke-permission \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent revoke-permission \</span>
   --role application1 \
   persistent://test-tenant/ns1/tp1 \
 
@@ -117,7 +121,7 @@ admin.persistentTopics().getPermissions(topic);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/revokePermissionsOnTopic"><b>DELETE</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/permissions/:role</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String role = <span class="hljs-string">"test-role"</span>;
 admin.persistentTopics().revokePermissions(topic, role);
 </code></pre>
@@ -125,28 +129,28 @@ admin.persistentTopics().revokePermissions(topic, role);
 <p>It deletes a topic. The topic cannot be deleted if there's any active subscription or producers connected to it.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Topic can be deleted using <a href="../../reference/CliTools#delete"><code>delete</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent delete \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent delete \</span>
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-4"></a><a href="#rest-api-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/deleteTopic"><b>DELETE</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().delete(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="unload-topic"></a><a href="#unload-topic" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>It unloads a topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-5"></a><a href="#pulsar-admin-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Topic can be unloaded using <a href="../../reference/CliTools#unload"><code>unload</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent unload \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent unload \</span>
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-5"></a><a href="#rest-api-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/unloadTopic"><b>PUT</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/unload</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-5"></a><a href="#java-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().unload(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="get-stats"></a><a href="#get-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
@@ -179,7 +183,7 @@ admin.persistentTopics().unload(topic);
 <li><p><strong>inboundConnection</strong>: The IP and port of the broker in the remote cluster's publisher connection to this broker</p></li>
 <li><p><strong>inboundConnectedSince</strong>: The TCP connection being used to publish messages to the remote cluster. If there are no local publishers connected, this connection is automatically closed after a minute.</p></li>
 </ul>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"msgRateIn"</span>: <span class="hljs-number">4641.528542257553</span>,
   <span class="hljs-attr">"msgThroughputIn"</span>: <span class="hljs-number">44663039.74947473</span>,
   <span class="hljs-attr">"msgRateOut"</span>: <span class="hljs-number">0</span>,
@@ -212,14 +216,14 @@ admin.persistentTopics().unload(topic);
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-6"></a><a href="#pulsar-admin-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Topic stats can be fetched using <a href="../../reference/CliTools#stats"><code>stats</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent stats \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent stats \</span>
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-6"></a><a href="#rest-api-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getStats"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/stats</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-6"></a><a href="#java-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getStats(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="get-internal-stats"></a><a href="#get-internal-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
@@ -249,7 +253,7 @@ admin.persistentTopics().getStats(topic);
 <li><p><strong>lastLedgerSwitchTimestamp</strong>: The last time the cursor ledger was rolled over</p></li>
 <li><p><strong>state</strong>: The state of the cursor ledger: Open means we have a cursor ledger for saving updates of the markDeletePosition.</p></li>
 </ul>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
     <span class="hljs-attr">"entriesAddedCounter"</span>: <span class="hljs-number">20449518</span>,
     <span class="hljs-attr">"numberOfEntries"</span>: <span class="hljs-number">3233</span>,
     <span class="hljs-attr">"totalSize"</span>: <span class="hljs-number">331482</span>,
@@ -286,20 +290,20 @@ admin.persistentTopics().getStats(topic);
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-7"></a><a href="#pulsar-admin-7" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Topic internal-stats can be fetched using <a href="../../reference/CliTools#stats-internal"><code>stats-internal</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent stats-internal \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent stats-internal \</span>
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-7"></a><a href="#rest-api-7" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getInternalStats"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/internalStats</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-7"></a><a href="#java-7" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getInternalStats(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="peek-messages"></a><a href="#peek-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>It peeks N messages for a specific subscription of a given topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-8"></a><a href="#pulsar-admin-8" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent peek-messages \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent peek-messages \</span>
   --count 10 --subscription my-subscription \
   persistent://test-tenant/ns1/tp1 \
 
@@ -311,7 +315,7 @@ msg-payload
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/peekNthMessage"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName/position/:messagePosition</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-8"></a><a href="#java-8" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String subName = <span class="hljs-string">"my-subscription"</span>;
 <span class="hljs-keyword">int</span> numMessages = <span class="hljs-number">1</span>;
 admin.persistentTopics().peekMessages(topic, subName, numMessages);
@@ -319,7 +323,7 @@ admin.persistentTopics().peekMessages(topic, subName, numMessages);
 <h3><a class="anchor" aria-hidden="true" id="skip-messages"></a><a href="#skip-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>It skips N messages for a specific subscription of a given topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-9"></a><a href="#pulsar-admin-9" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent skip \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent skip \</span>
   --count 10 --subscription my-subscription \
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
@@ -327,7 +331,7 @@ admin.persistentTopics().peekMessages(topic, subName, numMessages);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/skipMessages"><b>POST</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName/skip/:numMessages</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-9"></a><a href="#java-9" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String subName = <span class="hljs-string">"my-subscription"</span>;
 <span class="hljs-keyword">int</span> numMessages = <span class="hljs-number">1</span>;
 admin.persistentTopics().skipMessages(topic, subName, numMessages);
@@ -335,7 +339,7 @@ admin.persistentTopics().skipMessages(topic, subName, numMessages);
 <h3><a class="anchor" aria-hidden="true" id="skip-all-messages"></a><a href="#skip-all-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>It skips all old messages for a specific subscription of a given topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-10"></a><a href="#pulsar-admin-10" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent skip-all \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent skip-all \</span>
   --subscription my-subscription \
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
@@ -344,14 +348,14 @@ admin.persistentTopics().skipMessages(topic, subName, numMessages);
 </p>
 <p><a href="../../reference/RestApi#/admin/persistent/:tenant/:namespace/:topic/subscription/:subName/skip_all">More info</a></p>
 <h4><a class="anchor" aria-hidden="true" id="java-10"></a><a href="#java-10" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String subName = <span class="hljs-string">"my-subscription"</span>;
 admin.persistentTopics().skipAllMessages(topic, subName);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="reset-cursor"></a><a href="#reset-cursor" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>It resets a subscription’s cursor position back to the position which was recorded X minutes before. It essentially calculates time and position of cursor at X minutes before and resets it at that position.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-11"></a><a href="#pulsar-admin-11" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent reset-cursor \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent reset-cursor \</span>
   --subscription my-subscription --time 10 \
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
@@ -359,7 +363,7 @@ admin.persistentTopics().skipAllMessages(topic, subName);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/resetCursor"><b>POST</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName/resetcursor/:timestamp</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-11"></a><a href="#java-11" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String subName = <span class="hljs-string">"my-subscription"</span>;
 <span class="hljs-keyword">long</span> timestamp = <span class="hljs-number">2342343L</span>;
 admin.persistentTopics().skipAllMessages(topic, subName, timestamp);
@@ -367,7 +371,7 @@ admin.persistentTopics().skipAllMessages(topic, subName, timestamp);
 <h3><a class="anchor" aria-hidden="true" id="lookup-of-topic"></a><a href="#lookup-of-topic" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>It locates broker url which is serving the given topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-12"></a><a href="#pulsar-admin-12" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent lookup \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent lookup \</span>
   persistent://test-tenant/ns1/tp1 \
 
  "pulsar://broker1.org.com:4480"
@@ -376,13 +380,13 @@ admin.persistentTopics().skipAllMessages(topic, subName, timestamp);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#/"><b>GET</b> <i>/lookup/v2/topic/persistent/:tenant:namespace/:topic</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-12"></a><a href="#java-12" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.lookup().lookupDestination(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="get-bundle"></a><a href="#get-bundle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p>It gives range of the bundle which contains given topic</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-13"></a><a href="#pulsar-admin-13" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent bundle-range \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent bundle-range \</span>
   persistent://test-tenant/ns1/tp1 \
 
  "0x00000000_0xffffffff"
@@ -391,13 +395,13 @@ admin.lookup().lookupDestination(topic);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#/"><b>GET</b> <i>/lookup/v2/topic/:topic_domain/:tenant/:namespace/:topic/bundle</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-13"></a><a href="#java-13" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.lookup().getBundleRange(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="get-subscriptions"></a><a href="#get-subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>It shows all subscription names for a given topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-14"></a><a href="#pulsar-admin-14" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent subscriptions \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent subscriptions \</span>
   persistent://test-tenant/ns1/tp1 \
 
  my-subscription
@@ -406,13 +410,13 @@ admin.lookup().getBundleRange(topic);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getSubscriptions"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/subscriptions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-14"></a><a href="#java-14" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getSubscriptions(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="unsubscribe"></a><a href="#unsubscribe" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>It can also help to unsubscribe a subscription which is no more processing further messages.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-15"></a><a href="#pulsar-admin-15" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent unsubscribe \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent unsubscribe \</span>
   --subscription my-subscription \
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
@@ -420,7 +424,7 @@ admin.persistentTopics().getSubscriptions(topic);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/deleteSubscription"><b>DELETE</b> <i>/admin/v2/namespaces/:tenant/:namespace/:topic/subscription/:subscription</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-15"></a><a href="#java-15" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String subscriptionName = <span class="hljs-string">"my-subscription"</span>;
 admin.persistentTopics().deleteSubscription(topic, subscriptionName);
 </code></pre>
diff --git a/content/docs/en/admin-api-persistent-topics/index.html b/content/docs/en/admin-api-persistent-topics/index.html
index 699763f..a879fcd 100644
--- a/content/docs/en/admin-api-persistent-topics/index.html
+++ b/content/docs/en/admin-api-persistent-topics/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -43,28 +47,28 @@
             });
         </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/admin-api-persistent-topics.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>Persistent helps to access topic which is a logical endpoint for publishing and co [...]
 <p>In all of the instructions and commands below, the topic name structure is:</p>
-<pre><code class="hljs css languages- shell">persistent://tenant/namespace/topic
+<pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="persistent-topics-resources"></a><a href="#persistent-topics-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <h3><a class="anchor" aria-hidden="true" id="list-of-topics"></a><a href="#list-of-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>It provides a list of persistent topics exist under a given namespace.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>List of topics can be fetched using <a href="../../reference/CliTools#list"><code>list</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent list \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent list \</span>
   my-tenant/my-namespace
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api"></a><a href="#rest-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getList"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java">String namespace = <span class="hljs-string">"my-tenant/my-namespace"</span>;
+<pre><code class="hljs css language-java">String namespace = <span class="hljs-string">"my-tenant/my-namespace"</span>;
 admin.persistentTopics().getList(namespace);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="grant-permission"></a><a href="#grant-permission" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>It grants permissions on a client role to perform specific actions on a given topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Permission can be granted using <a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent grant-permission \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent grant-permission \</span>
   --actions produce,consume --role application1 \
   persistent://test-tenant/ns1/tp1 \
 
@@ -73,7 +77,7 @@ admin.persistentTopics().getList(namespace);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/grantPermissionsOnTopic"><b>POST</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/permissions/:role</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String role = <span class="hljs-string">"test-role"</span>;
 Set&lt;AuthAction&gt; actions  = Sets.newHashSet(AuthAction.produce, AuthAction.consume);
 admin.persistentTopics().grantPermission(topic, role, actions);
@@ -81,7 +85,7 @@ admin.persistentTopics().grantPermission(topic, role, actions);
 <h3><a class="anchor" aria-hidden="true" id="get-permission"></a><a href="#get-permission" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Permission can be fetched using <a href="../../reference/CliTools#permissions"><code>permissions</code></a> command.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent permissions \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent permissions \</span>
   persistent://test-tenant/ns1/tp1 \
 
 {
@@ -95,14 +99,14 @@ admin.persistentTopics().grantPermission(topic, role, actions);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPermissionsOnTopic"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/permissions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getPermissions(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="revoke-permission"></a><a href="#revoke-permission" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>It revokes a permission which was granted on a client role.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Permission can be revoked using <a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent revoke-permission \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent revoke-permission \</span>
   --role application1 \
   persistent://test-tenant/ns1/tp1 \
 
@@ -117,7 +121,7 @@ admin.persistentTopics().getPermissions(topic);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/revokePermissionsOnTopic"><b>DELETE</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/permissions/:role</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String role = <span class="hljs-string">"test-role"</span>;
 admin.persistentTopics().revokePermissions(topic, role);
 </code></pre>
@@ -125,28 +129,28 @@ admin.persistentTopics().revokePermissions(topic, role);
 <p>It deletes a topic. The topic cannot be deleted if there's any active subscription or producers connected to it.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Topic can be deleted using <a href="../../reference/CliTools#delete"><code>delete</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent delete \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent delete \</span>
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-4"></a><a href="#rest-api-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/deleteTopic"><b>DELETE</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().delete(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="unload-topic"></a><a href="#unload-topic" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>It unloads a topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-5"></a><a href="#pulsar-admin-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Topic can be unloaded using <a href="../../reference/CliTools#unload"><code>unload</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent unload \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent unload \</span>
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-5"></a><a href="#rest-api-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/unloadTopic"><b>PUT</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/unload</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-5"></a><a href="#java-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().unload(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="get-stats"></a><a href="#get-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
@@ -179,7 +183,7 @@ admin.persistentTopics().unload(topic);
 <li><p><strong>inboundConnection</strong>: The IP and port of the broker in the remote cluster's publisher connection to this broker</p></li>
 <li><p><strong>inboundConnectedSince</strong>: The TCP connection being used to publish messages to the remote cluster. If there are no local publishers connected, this connection is automatically closed after a minute.</p></li>
 </ul>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
   <span class="hljs-attr">"msgRateIn"</span>: <span class="hljs-number">4641.528542257553</span>,
   <span class="hljs-attr">"msgThroughputIn"</span>: <span class="hljs-number">44663039.74947473</span>,
   <span class="hljs-attr">"msgRateOut"</span>: <span class="hljs-number">0</span>,
@@ -212,14 +216,14 @@ admin.persistentTopics().unload(topic);
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-6"></a><a href="#pulsar-admin-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Topic stats can be fetched using <a href="../../reference/CliTools#stats"><code>stats</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent stats \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent stats \</span>
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-6"></a><a href="#rest-api-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getStats"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/stats</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-6"></a><a href="#java-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getStats(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="get-internal-stats"></a><a href="#get-internal-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
@@ -249,7 +253,7 @@ admin.persistentTopics().getStats(topic);
 <li><p><strong>lastLedgerSwitchTimestamp</strong>: The last time the cursor ledger was rolled over</p></li>
 <li><p><strong>state</strong>: The state of the cursor ledger: Open means we have a cursor ledger for saving updates of the markDeletePosition.</p></li>
 </ul>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
     <span class="hljs-attr">"entriesAddedCounter"</span>: <span class="hljs-number">20449518</span>,
     <span class="hljs-attr">"numberOfEntries"</span>: <span class="hljs-number">3233</span>,
     <span class="hljs-attr">"totalSize"</span>: <span class="hljs-number">331482</span>,
@@ -286,20 +290,20 @@ admin.persistentTopics().getStats(topic);
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-7"></a><a href="#pulsar-admin-7" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Topic internal-stats can be fetched using <a href="../../reference/CliTools#stats-internal"><code>stats-internal</code></a> command.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent stats-internal \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent stats-internal \</span>
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-7"></a><a href="#rest-api-7" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getInternalStats"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/internalStats</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-7"></a><a href="#java-7" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getInternalStats(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="peek-messages"></a><a href="#peek-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>It peeks N messages for a specific subscription of a given topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-8"></a><a href="#pulsar-admin-8" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent peek-messages \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent peek-messages \</span>
   --count 10 --subscription my-subscription \
   persistent://test-tenant/ns1/tp1 \
 
@@ -311,7 +315,7 @@ msg-payload
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/peekNthMessage"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName/position/:messagePosition</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-8"></a><a href="#java-8" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String subName = <span class="hljs-string">"my-subscription"</span>;
 <span class="hljs-keyword">int</span> numMessages = <span class="hljs-number">1</span>;
 admin.persistentTopics().peekMessages(topic, subName, numMessages);
@@ -319,7 +323,7 @@ admin.persistentTopics().peekMessages(topic, subName, numMessages);
 <h3><a class="anchor" aria-hidden="true" id="skip-messages"></a><a href="#skip-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>It skips N messages for a specific subscription of a given topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-9"></a><a href="#pulsar-admin-9" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent skip \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent skip \</span>
   --count 10 --subscription my-subscription \
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
@@ -327,7 +331,7 @@ admin.persistentTopics().peekMessages(topic, subName, numMessages);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/skipMessages"><b>POST</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName/skip/:numMessages</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-9"></a><a href="#java-9" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String subName = <span class="hljs-string">"my-subscription"</span>;
 <span class="hljs-keyword">int</span> numMessages = <span class="hljs-number">1</span>;
 admin.persistentTopics().skipMessages(topic, subName, numMessages);
@@ -335,7 +339,7 @@ admin.persistentTopics().skipMessages(topic, subName, numMessages);
 <h3><a class="anchor" aria-hidden="true" id="skip-all-messages"></a><a href="#skip-all-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>It skips all old messages for a specific subscription of a given topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-10"></a><a href="#pulsar-admin-10" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent skip-all \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent skip-all \</span>
   --subscription my-subscription \
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
@@ -344,14 +348,14 @@ admin.persistentTopics().skipMessages(topic, subName, numMessages);
 </p>
 <p><a href="../../reference/RestApi#/admin/persistent/:tenant/:namespace/:topic/subscription/:subName/skip_all">More info</a></p>
 <h4><a class="anchor" aria-hidden="true" id="java-10"></a><a href="#java-10" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String subName = <span class="hljs-string">"my-subscription"</span>;
 admin.persistentTopics().skipAllMessages(topic, subName);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="reset-cursor"></a><a href="#reset-cursor" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>It resets a subscription’s cursor position back to the position which was recorded X minutes before. It essentially calculates time and position of cursor at X minutes before and resets it at that position.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-11"></a><a href="#pulsar-admin-11" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent reset-cursor \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent reset-cursor \</span>
   --subscription my-subscription --time 10 \
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
@@ -359,7 +363,7 @@ admin.persistentTopics().skipAllMessages(topic, subName);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/resetCursor"><b>POST</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName/resetcursor/:timestamp</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-11"></a><a href="#java-11" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String subName = <span class="hljs-string">"my-subscription"</span>;
 <span class="hljs-keyword">long</span> timestamp = <span class="hljs-number">2342343L</span>;
 admin.persistentTopics().skipAllMessages(topic, subName, timestamp);
@@ -367,7 +371,7 @@ admin.persistentTopics().skipAllMessages(topic, subName, timestamp);
 <h3><a class="anchor" aria-hidden="true" id="lookup-of-topic"></a><a href="#lookup-of-topic" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>It locates broker url which is serving the given topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-12"></a><a href="#pulsar-admin-12" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent lookup \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent lookup \</span>
   persistent://test-tenant/ns1/tp1 \
 
  "pulsar://broker1.org.com:4480"
@@ -376,13 +380,13 @@ admin.persistentTopics().skipAllMessages(topic, subName, timestamp);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#/"><b>GET</b> <i>/lookup/v2/topic/persistent/:tenant:namespace/:topic</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-12"></a><a href="#java-12" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.lookup().lookupDestination(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="get-bundle"></a><a href="#get-bundle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p>It gives range of the bundle which contains given topic</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-13"></a><a href="#pulsar-admin-13" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent bundle-range \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent bundle-range \</span>
   persistent://test-tenant/ns1/tp1 \
 
  "0x00000000_0xffffffff"
@@ -391,13 +395,13 @@ admin.lookup().lookupDestination(topic);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#/"><b>GET</b> <i>/lookup/v2/topic/:topic_domain/:tenant/:namespace/:topic/bundle</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-13"></a><a href="#java-13" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.lookup().getBundleRange(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="get-subscriptions"></a><a href="#get-subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>It shows all subscription names for a given topic.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-14"></a><a href="#pulsar-admin-14" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent subscriptions \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent subscriptions \</span>
   persistent://test-tenant/ns1/tp1 \
 
  my-subscription
@@ -406,13 +410,13 @@ admin.lookup().getBundleRange(topic);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getSubscriptions"><b>GET</b> <i>/admin/v2/persistent/:tenant/:namespace/:topic/subscriptions</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-14"></a><a href="#java-14" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getSubscriptions(topic);
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="unsubscribe"></a><a href="#unsubscribe" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>It can also help to unsubscribe a subscription which is no more processing further messages.</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-15"></a><a href="#pulsar-admin-15" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent unsubscribe \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent unsubscribe \</span>
   --subscription my-subscription \
   persistent://test-tenant/ns1/tp1 \
 </code></pre>
@@ -420,7 +424,7 @@ admin.persistentTopics().getSubscriptions(topic);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/deleteSubscription"><b>DELETE</b> <i>/admin/v2/namespaces/:tenant/:namespace/:topic/subscription/:subscription</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-15"></a><a href="#java-15" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+<pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 String subscriptionName = <span class="hljs-string">"my-subscription"</span>;
 admin.persistentTopics().deleteSubscription(topic, subscriptionName);
 </code></pre>
diff --git a/content/docs/en/admin-api-schemas.html b/content/docs/en/admin-api-schemas.html
index ac7e815..fc14401 100644
--- a/content/docs/en/admin-api-schemas.html
+++ b/content/docs/en/admin-api-schemas.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -56,10 +60,10 @@ might be the Git hash associated with the schema, an environment string like <co
 <h3><a class="anchor" aria-hidden="true" id="upload-schema"></a><a href="#upload-schema" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>You can upload a new schema using the <a href="/docs/en/pulsar-admin#get-5"><code>upload</code></a> subcommand:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas upload &lt;topic-name&gt; --filename /path/to/schema-definition-file </span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas upload &lt;topic-name&gt; --filename /path/to/schema-definition-file </span>
 </code></pre>
 <p>The schema definition file should contain following json string on defining how the schema look like:</p>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
     <span class="hljs-attr">"type"</span>: <span class="hljs-string">"STRING"</span>,
     <span class="hljs-attr">"schema"</span>: <span class="hljs-string">""</span>,
     <span class="hljs-attr">"properties"</span>: {
@@ -75,7 +79,7 @@ might be the Git hash associated with the schema, an environment string like <co
 <h3><a class="anchor" aria-hidden="true" id="get-schema"></a><a href="#get-schema" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>You can get the latest version of Schema using the <a href="/docs/en/pulsar-admin#get-5"><code>get</code></a> subcommand.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas get &lt;topic-name&gt;</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas get &lt;topic-name&gt;</span>
 {
     "version": 0,
     "type": "String",
@@ -88,7 +92,7 @@ might be the Git hash associated with the schema, an environment string like <co
 }
 </code></pre>
 <p>You can also retrieve the Schema of a given version by specifying <code>--version</code> option.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas get &lt;topic-name&gt; --version &lt;version&gt;</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas get &lt;topic-name&gt; --version &lt;version&gt;</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api"></a><a href="#rest-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>Retrieve the latest version of the schema:</p>
@@ -100,7 +104,7 @@ might be the Git hash associated with the schema, an environment string like <co
 <h3><a class="anchor" aria-hidden="true" id="delete-schema"></a><a href="#delete-schema" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-adnin"></a><a href="#pulsar-adnin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>You can delete a schema using the <a href="/docs/en/pulsar-admin#delete-8"><code>delete</code></a> subcommand.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas delete &lt;topic-name&gt;</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas delete &lt;topic-name&gt;</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-1"></a><a href="#rest-api-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/deleteSchema"><b>DELETE</b> <i>/admin/v2/schemas/:tenant/:namespace/:topic/schema</i></a>
diff --git a/content/docs/en/admin-api-schemas/index.html b/content/docs/en/admin-api-schemas/index.html
index ac7e815..fc14401 100644
--- a/content/docs/en/admin-api-schemas/index.html
+++ b/content/docs/en/admin-api-schemas/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -56,10 +60,10 @@ might be the Git hash associated with the schema, an environment string like <co
 <h3><a class="anchor" aria-hidden="true" id="upload-schema"></a><a href="#upload-schema" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>You can upload a new schema using the <a href="/docs/en/pulsar-admin#get-5"><code>upload</code></a> subcommand:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas upload &lt;topic-name&gt; --filename /path/to/schema-definition-file </span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas upload &lt;topic-name&gt; --filename /path/to/schema-definition-file </span>
 </code></pre>
 <p>The schema definition file should contain following json string on defining how the schema look like:</p>
-<pre><code class="hljs css languages- json">{
+<pre><code class="hljs css language-json">{
     <span class="hljs-attr">"type"</span>: <span class="hljs-string">"STRING"</span>,
     <span class="hljs-attr">"schema"</span>: <span class="hljs-string">""</span>,
     <span class="hljs-attr">"properties"</span>: {
@@ -75,7 +79,7 @@ might be the Git hash associated with the schema, an environment string like <co
 <h3><a class="anchor" aria-hidden="true" id="get-schema"></a><a href="#get-schema" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>You can get the latest version of Schema using the <a href="/docs/en/pulsar-admin#get-5"><code>get</code></a> subcommand.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas get &lt;topic-name&gt;</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas get &lt;topic-name&gt;</span>
 {
     "version": 0,
     "type": "String",
@@ -88,7 +92,7 @@ might be the Git hash associated with the schema, an environment string like <co
 }
 </code></pre>
 <p>You can also retrieve the Schema of a given version by specifying <code>--version</code> option.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas get &lt;topic-name&gt; --version &lt;version&gt;</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas get &lt;topic-name&gt; --version &lt;version&gt;</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api"></a><a href="#rest-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>Retrieve the latest version of the schema:</p>
@@ -100,7 +104,7 @@ might be the Git hash associated with the schema, an environment string like <co
 <h3><a class="anchor" aria-hidden="true" id="delete-schema"></a><a href="#delete-schema" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-adnin"></a><a href="#pulsar-adnin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>You can delete a schema using the <a href="/docs/en/pulsar-admin#delete-8"><code>delete</code></a> subcommand.</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas delete &lt;topic-name&gt;</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin schemas delete &lt;topic-name&gt;</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rest-api-1"></a><a href="#rest-api-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/deleteSchema"><b>DELETE</b> <i>/admin/v2/schemas/:tenant/:namespace/:topic/schema</i></a>
diff --git a/content/docs/en/admin-api-tenants.html b/content/docs/en/admin-api-tenants.html
index 984634d..df8058a 100644
--- a/content/docs/en/admin-api-tenants.html
+++ b/content/docs/en/admin-api-tenants.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -50,7 +54,7 @@
 <h3><a class="anchor" aria-hidden="true" id="list"></a><a href="#list" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>You can list all of the tenants associated with an <a href="/docs/en/reference-terminology#instance">instance</a> using the <a href="/docs/en/pulsar-admin#tenants-list"><code>list</code></a> subcommand:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants list</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants list</span>
 </code></pre>
 <p>That will return a simple list, like this:</p>
 <pre><code class="hljs"><span class="hljs-keyword">my</span>-tenant<span class="hljs-number">-1</span>
@@ -59,10 +63,10 @@
 <h3><a class="anchor" aria-hidden="true" id="create"></a><a href="#create" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>You can create a new tenant using the <a href="/docs/en/pulsar-admin#tenants-create"><code>create</code></a> subcommand:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants create my-tenant</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants create my-tenant</span>
 </code></pre>
 <p>When creating a tenant, you can assign admin roles using the <code>-r</code>/<code>--admin-roles</code> flag. You can specify multiple roles as a comma-separated list. Here are some examples:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants create my-tenant \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants create my-tenant \</span>
   --admin-roles role1,role2,role3
 <span class="hljs-meta">
 $</span><span class="bash"> pulsar-admin tenants create my-tenant \</span>
@@ -71,7 +75,7 @@ $</span><span class="bash"> pulsar-admin tenants create my-tenant \</span>
 <h3><a class="anchor" aria-hidden="true" id="get-configuration"></a><a href="#get-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>You can see a tenant's configuration as a JSON object using the <a href="/docs/en/pulsar-admin#tenants-get"><code>get</code></a> subcommand and specifying the name of the tenant:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants get my-tenant</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants get my-tenant</span>
 {
   "adminRoles": [
     "admin1",
@@ -86,7 +90,7 @@ $</span><span class="bash"> pulsar-admin tenants create my-tenant \</span>
 <h3><a class="anchor" aria-hidden="true" id="delete"></a><a href="#delete" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-adnin"></a><a href="#pulsar-adnin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>You can delete a tenant using the <a href="/docs/en/pulsar-admin#tenants-delete"><code>delete</code></a> subcommand and specifying the tenant name:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants delete my-tenant</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants delete my-tenant</span>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="updating"></a><a href="#updating" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
diff --git a/content/docs/en/admin-api-tenants/index.html b/content/docs/en/admin-api-tenants/index.html
index 984634d..df8058a 100644
--- a/content/docs/en/admin-api-tenants/index.html
+++ b/content/docs/en/admin-api-tenants/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -50,7 +54,7 @@
 <h3><a class="anchor" aria-hidden="true" id="list"></a><a href="#list" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>You can list all of the tenants associated with an <a href="/docs/en/reference-terminology#instance">instance</a> using the <a href="/docs/en/pulsar-admin#tenants-list"><code>list</code></a> subcommand:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants list</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants list</span>
 </code></pre>
 <p>That will return a simple list, like this:</p>
 <pre><code class="hljs"><span class="hljs-keyword">my</span>-tenant<span class="hljs-number">-1</span>
@@ -59,10 +63,10 @@
 <h3><a class="anchor" aria-hidden="true" id="create"></a><a href="#create" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>You can create a new tenant using the <a href="/docs/en/pulsar-admin#tenants-create"><code>create</code></a> subcommand:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants create my-tenant</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants create my-tenant</span>
 </code></pre>
 <p>When creating a tenant, you can assign admin roles using the <code>-r</code>/<code>--admin-roles</code> flag. You can specify multiple roles as a comma-separated list. Here are some examples:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants create my-tenant \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants create my-tenant \</span>
   --admin-roles role1,role2,role3
 <span class="hljs-meta">
 $</span><span class="bash"> pulsar-admin tenants create my-tenant \</span>
@@ -71,7 +75,7 @@ $</span><span class="bash"> pulsar-admin tenants create my-tenant \</span>
 <h3><a class="anchor" aria-hidden="true" id="get-configuration"></a><a href="#get-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>You can see a tenant's configuration as a JSON object using the <a href="/docs/en/pulsar-admin#tenants-get"><code>get</code></a> subcommand and specifying the name of the tenant:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants get my-tenant</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants get my-tenant</span>
 {
   "adminRoles": [
     "admin1",
@@ -86,7 +90,7 @@ $</span><span class="bash"> pulsar-admin tenants create my-tenant \</span>
 <h3><a class="anchor" aria-hidden="true" id="delete"></a><a href="#delete" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-adnin"></a><a href="#pulsar-adnin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>You can delete a tenant using the <a href="/docs/en/pulsar-admin#tenants-delete"><code>delete</code></a> subcommand and specifying the tenant name:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants delete my-tenant</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin tenants delete my-tenant</span>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="updating"></a><a href="#updating" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
diff --git a/content/docs/en/administration-dashboard.html b/content/docs/en/administration-dashboard.html
index f8a353d..65ef88d 100644
--- a/content/docs/en/administration-dashboard.html
+++ b/content/docs/en/administration-dashboard.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -48,10 +52,10 @@
 <p>The easiest way to use the dashboard is to run it inside a <a href="https://www.docker.com/products/docker">Docker</a> container. A <a href="https://github.com/apache/incubator-pulsar/tree/master//dashboard/Dockerfile"><code>Dockerfile</code></a>
  to generate the image is provided.</p>
 <p>To generate the Docker image:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> docker build -t apachepulsar/pulsar-dashboard dashboard</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> docker build -t apachepulsar/pulsar-dashboard dashboard</span>
 </code></pre>
 <p>To run the dashboard:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> SERVICE_URL=http://broker.example.com:8080/</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> SERVICE_URL=http://broker.example.com:8080/</span>
 <span class="hljs-meta">$</span><span class="bash"> docker run -p 80:80 \</span>
   -e SERVICE_URL=$SERVICE_URL \
   apachepulsar/pulsar-dashboard
@@ -65,7 +69,7 @@
 be the IP of the machine.</p>
 <p>Similarly, given the Pulsar standalone advertises itself with localhost by default, we need to
 explicitely set the advertise address to the host IP. For example:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar standalone --advertised-address 1.2.3.4</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar standalone --advertised-address 1.2.3.4</span>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="known-issues"></a><a href="#known-issues" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Pulsar <a href="/docs/en/security-overview#authentication-providers">authentication</a> is not supported at this point. The dashboard's data collector does not pass any authentication-related data and will be denied access if the Pulsar broker requires authentication.</p>
diff --git a/content/docs/en/administration-dashboard/index.html b/content/docs/en/administration-dashboard/index.html
index f8a353d..65ef88d 100644
--- a/content/docs/en/administration-dashboard/index.html
+++ b/content/docs/en/administration-dashboard/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -48,10 +52,10 @@
 <p>The easiest way to use the dashboard is to run it inside a <a href="https://www.docker.com/products/docker">Docker</a> container. A <a href="https://github.com/apache/incubator-pulsar/tree/master//dashboard/Dockerfile"><code>Dockerfile</code></a>
  to generate the image is provided.</p>
 <p>To generate the Docker image:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> docker build -t apachepulsar/pulsar-dashboard dashboard</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> docker build -t apachepulsar/pulsar-dashboard dashboard</span>
 </code></pre>
 <p>To run the dashboard:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> SERVICE_URL=http://broker.example.com:8080/</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> SERVICE_URL=http://broker.example.com:8080/</span>
 <span class="hljs-meta">$</span><span class="bash"> docker run -p 80:80 \</span>
   -e SERVICE_URL=$SERVICE_URL \
   apachepulsar/pulsar-dashboard
@@ -65,7 +69,7 @@
 be the IP of the machine.</p>
 <p>Similarly, given the Pulsar standalone advertises itself with localhost by default, we need to
 explicitely set the advertise address to the host IP. For example:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar standalone --advertised-address 1.2.3.4</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar standalone --advertised-address 1.2.3.4</span>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="known-issues"></a><a href="#known-issues" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Pulsar <a href="/docs/en/security-overview#authentication-providers">authentication</a> is not supported at this point. The dashboard's data collector does not pass any authentication-related data and will be denied access if the Pulsar broker requires authentication.</p>
diff --git a/content/docs/en/administration-geo.html b/content/docs/en/administration-geo.html
index 96e82a6..f801e56 100644
--- a/content/docs/en/administration-geo.html
+++ b/content/docs/en/administration-geo.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -70,7 +74,7 @@
 <h3><a class="anchor" aria-hidden="true" id="granting-permissions-to-properties"></a><a href="#granting-permissions-to-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5 [...]
 <p>To establish replication to a cluster, the tenant needs permission to use that cluster. This permission can be granted when the tenant is created or later on.</p>
 <p>At creation time, specify all the intended clusters:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin properties create my-tenant \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin properties create my-tenant \</span>
   --admin-roles my-admin-role \
   --allowed-clusters us-west,us-east,us-cent
 </code></pre>
@@ -78,10 +82,10 @@
 <h3><a class="anchor" aria-hidden="true" id="creating-global-namespaces"></a><a href="#creating-global-namespaces" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <p>Replication must be used with <em>global</em> topics, meaning topics that belong to a global namespace and are thus not tied to any particular cluster.</p>
 <p>Global namespaces need to be created in the <code>global</code> virtual cluster. For example:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin namespaces create my-tenant/my-namespace</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin namespaces create my-tenant/my-namespace</span>
 </code></pre>
 <p>Initially, the namespace is not assigned to any cluster. You can assign the namespace to clusters using the <code>set-clusters</code> subcommand:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin namespaces <span class="hljs-built_in">set</span>-clusters my-tenant/my-namespace \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin namespaces <span class="hljs-built_in">set</span>-clusters my-tenant/my-namespace \</span>
   --clusters us-west,us-east,us-cent
 </code></pre>
 <p>The replication clusters for a namespace can be changed at any time, with no disruption to ongoing traffic. Replication channels will be immediately set up or stopped in all the clusters as soon as the configuration changes.</p>
@@ -91,7 +95,7 @@
 <p>By default, messages are replicated to all clusters configured for the namespace. You can restrict replication selectively by specifying a replication list for a message. That message will then be replicated only to the subset in the replication list.</p>
 <p>Below is an example for the <a href="/docs/en/client-libraries-java">Java API</a>. Note the use of the <code>setReplicationClusters</code> method when constructing the <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/Message">Message</a>
  object:</p>
-<pre><code class="hljs css languages- java">List&lt;String&gt; restrictReplicationTo = Arrays.asList(
+<pre><code class="hljs css language-java">List&lt;String&gt; restrictReplicationTo = Arrays.asList(
         <span class="hljs-string">"us-west"</span>,
         <span class="hljs-string">"us-east"</span>
 );
@@ -108,7 +112,7 @@ producer.newMessage()
 <h4><a class="anchor" aria-hidden="true" id="topic-stats"></a><a href="#topic-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>Topic-specific statistics for global topics are available via the <a href="/docs/en/pulsar-admin"><code>pulsar-admin</code></a> tool and <a href="https://pulsar.incubator.apache.org/en/admin-rest-api#/">REST</a>
  API:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin persistent stats persistent://my-tenant/my-namespace/my-topic</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin persistent stats persistent://my-tenant/my-namespace/my-topic</span>
 </code></pre>
 <p>Each cluster reports its own local stats, including incoming and outgoing replication rates and backlogs.</p>
 <h4><a class="anchor" aria-hidden="true" id="deleting-a-global-topic"></a><a href="#deleting-a-global-topic" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
diff --git a/content/docs/en/administration-geo/index.html b/content/docs/en/administration-geo/index.html
index 96e82a6..f801e56 100644
--- a/content/docs/en/administration-geo/index.html
+++ b/content/docs/en/administration-geo/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -70,7 +74,7 @@
 <h3><a class="anchor" aria-hidden="true" id="granting-permissions-to-properties"></a><a href="#granting-permissions-to-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5 [...]
 <p>To establish replication to a cluster, the tenant needs permission to use that cluster. This permission can be granted when the tenant is created or later on.</p>
 <p>At creation time, specify all the intended clusters:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin properties create my-tenant \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin properties create my-tenant \</span>
   --admin-roles my-admin-role \
   --allowed-clusters us-west,us-east,us-cent
 </code></pre>
@@ -78,10 +82,10 @@
 <h3><a class="anchor" aria-hidden="true" id="creating-global-namespaces"></a><a href="#creating-global-namespaces" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <p>Replication must be used with <em>global</em> topics, meaning topics that belong to a global namespace and are thus not tied to any particular cluster.</p>
 <p>Global namespaces need to be created in the <code>global</code> virtual cluster. For example:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin namespaces create my-tenant/my-namespace</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin namespaces create my-tenant/my-namespace</span>
 </code></pre>
 <p>Initially, the namespace is not assigned to any cluster. You can assign the namespace to clusters using the <code>set-clusters</code> subcommand:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin namespaces <span class="hljs-built_in">set</span>-clusters my-tenant/my-namespace \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin namespaces <span class="hljs-built_in">set</span>-clusters my-tenant/my-namespace \</span>
   --clusters us-west,us-east,us-cent
 </code></pre>
 <p>The replication clusters for a namespace can be changed at any time, with no disruption to ongoing traffic. Replication channels will be immediately set up or stopped in all the clusters as soon as the configuration changes.</p>
@@ -91,7 +95,7 @@
 <p>By default, messages are replicated to all clusters configured for the namespace. You can restrict replication selectively by specifying a replication list for a message. That message will then be replicated only to the subset in the replication list.</p>
 <p>Below is an example for the <a href="/docs/en/client-libraries-java">Java API</a>. Note the use of the <code>setReplicationClusters</code> method when constructing the <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/Message">Message</a>
  object:</p>
-<pre><code class="hljs css languages- java">List&lt;String&gt; restrictReplicationTo = Arrays.asList(
+<pre><code class="hljs css language-java">List&lt;String&gt; restrictReplicationTo = Arrays.asList(
         <span class="hljs-string">"us-west"</span>,
         <span class="hljs-string">"us-east"</span>
 );
@@ -108,7 +112,7 @@ producer.newMessage()
 <h4><a class="anchor" aria-hidden="true" id="topic-stats"></a><a href="#topic-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>Topic-specific statistics for global topics are available via the <a href="/docs/en/pulsar-admin"><code>pulsar-admin</code></a> tool and <a href="https://pulsar.incubator.apache.org/en/admin-rest-api#/">REST</a>
  API:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin persistent stats persistent://my-tenant/my-namespace/my-topic</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin persistent stats persistent://my-tenant/my-namespace/my-topic</span>
 </code></pre>
 <p>Each cluster reports its own local stats, including incoming and outgoing replication rates and backlogs.</p>
 <h4><a class="anchor" aria-hidden="true" id="deleting-a-global-topic"></a><a href="#deleting-a-global-topic" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
diff --git a/content/docs/en/administration-load-distribution.html b/content/docs/en/administration-load-distribution.html
index 52b3c49..035bb6c 100644
--- a/content/docs/en/administration-load-distribution.html
+++ b/content/docs/en/administration-load-distribution.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -79,12 +83,12 @@ bundle the hash falls into.</p>
 <h3><a class="anchor" aria-hidden="true" id="creating-namespaces-and-bundles"></a><a href="#creating-namespaces-and-bundles" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
 <p>When creating a new namespace, it will set to use the default number of bundles. This is set in
 <code>conf/broker.conf</code>:</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-comment"># When a namespace is created without specifying the number of bundle, this</span>
+<pre><code class="hljs css language-properties"><span class="hljs-comment"># When a namespace is created without specifying the number of bundle, this</span>
 <span class="hljs-comment"># value will be used as the default</span>
 <span class="hljs-attr">defaultNumberOfNamespaceBundles</span>=<span class="hljs-number">4</span>
 </code></pre>
 <p>One can either change the system default, or override it when creating a new namespace:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin namespaces create my-tenant/my-namespace --clusters us-west --bundles 16</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin namespaces create my-tenant/my-namespace --clusters us-west --bundles 16</span>
 </code></pre>
 <p>With this command, we're creating a namespace with 16 initial bundles. Therefore the topics for
 this namespaces can immediately be spread across up to 16 brokers.</p>
@@ -105,10 +109,10 @@ also be triggered manually, for example to correct the assignments and redistrib
 even before having any broker overloaded.</p>
 <p>Unloading a topic has no effect on the assignment, but it will just close and reopen the
 particular topic:</p>
-<pre><code class="hljs css languages- shell">pulsar-admin topics unload persistent://tenant/namespace/topic
+<pre><code class="hljs css language-shell">pulsar-admin topics unload persistent://tenant/namespace/topic
 </code></pre>
 <p>To unload all topics for a namespace and trigger reassignments:</p>
-<pre><code class="hljs css languages- shell">pulsar-admin namespaces unload tenant/namespace
+<pre><code class="hljs css language-shell">pulsar-admin namespaces unload tenant/namespace
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="namespace-bundles-splitting"></a><a href="#namespace-bundles-splitting" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Since the load for the topics in a bundle might change over time, or could just be hard to predict
@@ -117,7 +121,7 @@ to different brokers.</p>
 <p>The splitting happens based on some tunable thresholds. Any existing bundle that exceeds any
 of the threshold is a candidate to be split. By default the newly split bundles are also
 immediately offloaded to other brokers, to facilitate the traffic distribution.</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-comment"># enable/disable namespace bundle auto split</span>
+<pre><code class="hljs css language-properties"><span class="hljs-comment"># enable/disable namespace bundle auto split</span>
 <span class="hljs-attr">loadBalancerAutoBundleSplitEnabled</span>=<span class="hljs-literal">true</span>
 
 <span class="hljs-comment"># enable/disable automatic unloading of split bundles</span>
@@ -149,11 +153,11 @@ it will unload the percent difference plus a 5% margin: <code>(95% - 85%) + 5% =
 <p>Given the selection of bundles to offload is based on traffic (as a proxy measure for cpu, network
 and memory), broker will unload bundles for at least 15% of traffic.</p>
 <p>The automatic load shedding is enabled by default and can be disabled with this setting:</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-comment"># Enable/disable automatic bundle unloading for load-shedding</span>
+<pre><code class="hljs css language-properties"><span class="hljs-comment"># Enable/disable automatic bundle unloading for load-shedding</span>
 <span class="hljs-attr">loadBalancerSheddingEnabled</span>=<span class="hljs-literal">true</span>
 </code></pre>
 <p>There are additional settings that apply to shedding:</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-comment"># Load shedding interval. Broker periodically checks whether some traffic should be offload from</span>
+<pre><code class="hljs css language-properties"><span class="hljs-comment"># Load shedding interval. Broker periodically checks whether some traffic should be offload from</span>
 <span class="hljs-comment"># some over-loaded broker to other under-loaded brokers</span>
 <span class="hljs-attr">loadBalancerSheddingIntervalMinutes</span>=<span class="hljs-number">1</span>
 
@@ -165,7 +169,7 @@ and memory), broker will unload bundles for at least 15% of traffic.</p>
 memory usage. Whenever either of those metrics reaches the threshold, it will trigger the shedding
 (if enabled).</p>
 <p>By default, overload threshold is set at 85%:</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-comment"># Usage threshold to determine a broker as over-loaded</span>
+<pre><code class="hljs css language-properties"><span class="hljs-comment"># Usage threshold to determine a broker as over-loaded</span>
 <span class="hljs-attr">loadBalancerBrokerOverloadedThresholdPercentage</span>=<span class="hljs-number">85</span>
 </code></pre>
 <p>The usage stats are gathered by Pulsar from the system metrics.</p>
@@ -176,7 +180,7 @@ NIC speed for which the OS report 10Gbps speed.</p>
 reached the NIC capacity, while in fact it's already using all the bandwidth and the traffic is
 being slowed down.</p>
 <p>There is a setting to correct the max NIC speed:</p>
-<pre><code class="hljs css languages- properties"># <span class="hljs-keyword">Override</span> the auto-detection <span class="hljs-keyword">of</span> the network interfaces max speed.
+<pre><code class="hljs css language-properties"># <span class="hljs-keyword">Override</span> the auto-detection <span class="hljs-keyword">of</span> the network interfaces max speed.
 # This option <span class="hljs-keyword">is</span> useful <span class="hljs-keyword">in</span> some environments (eg: EC2 VMs) <span class="hljs-keyword">where</span> the max speed
 # reported <span class="hljs-keyword">by</span> Linux <span class="hljs-keyword">is</span> <span class="hljs-keyword">not</span> reflecting the real bandwidth available <span class="hljs-keyword">to</span> the broker.
 # Since the network usage <span class="hljs-keyword">is</span> employed <span class="hljs-keyword">by</span> the load manager <span class="hljs-keyword">to</span> decide when a broker
diff --git a/content/docs/en/administration-load-distribution/index.html b/content/docs/en/administration-load-distribution/index.html
index 52b3c49..035bb6c 100644
--- a/content/docs/en/administration-load-distribution/index.html
+++ b/content/docs/en/administration-load-distribution/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -79,12 +83,12 @@ bundle the hash falls into.</p>
 <h3><a class="anchor" aria-hidden="true" id="creating-namespaces-and-bundles"></a><a href="#creating-namespaces-and-bundles" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
 <p>When creating a new namespace, it will set to use the default number of bundles. This is set in
 <code>conf/broker.conf</code>:</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-comment"># When a namespace is created without specifying the number of bundle, this</span>
+<pre><code class="hljs css language-properties"><span class="hljs-comment"># When a namespace is created without specifying the number of bundle, this</span>
 <span class="hljs-comment"># value will be used as the default</span>
 <span class="hljs-attr">defaultNumberOfNamespaceBundles</span>=<span class="hljs-number">4</span>
 </code></pre>
 <p>One can either change the system default, or override it when creating a new namespace:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin namespaces create my-tenant/my-namespace --clusters us-west --bundles 16</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin namespaces create my-tenant/my-namespace --clusters us-west --bundles 16</span>
 </code></pre>
 <p>With this command, we're creating a namespace with 16 initial bundles. Therefore the topics for
 this namespaces can immediately be spread across up to 16 brokers.</p>
@@ -105,10 +109,10 @@ also be triggered manually, for example to correct the assignments and redistrib
 even before having any broker overloaded.</p>
 <p>Unloading a topic has no effect on the assignment, but it will just close and reopen the
 particular topic:</p>
-<pre><code class="hljs css languages- shell">pulsar-admin topics unload persistent://tenant/namespace/topic
+<pre><code class="hljs css language-shell">pulsar-admin topics unload persistent://tenant/namespace/topic
 </code></pre>
 <p>To unload all topics for a namespace and trigger reassignments:</p>
-<pre><code class="hljs css languages- shell">pulsar-admin namespaces unload tenant/namespace
+<pre><code class="hljs css language-shell">pulsar-admin namespaces unload tenant/namespace
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="namespace-bundles-splitting"></a><a href="#namespace-bundles-splitting" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Since the load for the topics in a bundle might change over time, or could just be hard to predict
@@ -117,7 +121,7 @@ to different brokers.</p>
 <p>The splitting happens based on some tunable thresholds. Any existing bundle that exceeds any
 of the threshold is a candidate to be split. By default the newly split bundles are also
 immediately offloaded to other brokers, to facilitate the traffic distribution.</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-comment"># enable/disable namespace bundle auto split</span>
+<pre><code class="hljs css language-properties"><span class="hljs-comment"># enable/disable namespace bundle auto split</span>
 <span class="hljs-attr">loadBalancerAutoBundleSplitEnabled</span>=<span class="hljs-literal">true</span>
 
 <span class="hljs-comment"># enable/disable automatic unloading of split bundles</span>
@@ -149,11 +153,11 @@ it will unload the percent difference plus a 5% margin: <code>(95% - 85%) + 5% =
 <p>Given the selection of bundles to offload is based on traffic (as a proxy measure for cpu, network
 and memory), broker will unload bundles for at least 15% of traffic.</p>
 <p>The automatic load shedding is enabled by default and can be disabled with this setting:</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-comment"># Enable/disable automatic bundle unloading for load-shedding</span>
+<pre><code class="hljs css language-properties"><span class="hljs-comment"># Enable/disable automatic bundle unloading for load-shedding</span>
 <span class="hljs-attr">loadBalancerSheddingEnabled</span>=<span class="hljs-literal">true</span>
 </code></pre>
 <p>There are additional settings that apply to shedding:</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-comment"># Load shedding interval. Broker periodically checks whether some traffic should be offload from</span>
+<pre><code class="hljs css language-properties"><span class="hljs-comment"># Load shedding interval. Broker periodically checks whether some traffic should be offload from</span>
 <span class="hljs-comment"># some over-loaded broker to other under-loaded brokers</span>
 <span class="hljs-attr">loadBalancerSheddingIntervalMinutes</span>=<span class="hljs-number">1</span>
 
@@ -165,7 +169,7 @@ and memory), broker will unload bundles for at least 15% of traffic.</p>
 memory usage. Whenever either of those metrics reaches the threshold, it will trigger the shedding
 (if enabled).</p>
 <p>By default, overload threshold is set at 85%:</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-comment"># Usage threshold to determine a broker as over-loaded</span>
+<pre><code class="hljs css language-properties"><span class="hljs-comment"># Usage threshold to determine a broker as over-loaded</span>
 <span class="hljs-attr">loadBalancerBrokerOverloadedThresholdPercentage</span>=<span class="hljs-number">85</span>
 </code></pre>
 <p>The usage stats are gathered by Pulsar from the system metrics.</p>
@@ -176,7 +180,7 @@ NIC speed for which the OS report 10Gbps speed.</p>
 reached the NIC capacity, while in fact it's already using all the bandwidth and the traffic is
 being slowed down.</p>
 <p>There is a setting to correct the max NIC speed:</p>
-<pre><code class="hljs css languages- properties"># <span class="hljs-keyword">Override</span> the auto-detection <span class="hljs-keyword">of</span> the network interfaces max speed.
+<pre><code class="hljs css language-properties"># <span class="hljs-keyword">Override</span> the auto-detection <span class="hljs-keyword">of</span> the network interfaces max speed.
 # This option <span class="hljs-keyword">is</span> useful <span class="hljs-keyword">in</span> some environments (eg: EC2 VMs) <span class="hljs-keyword">where</span> the max speed
 # reported <span class="hljs-keyword">by</span> Linux <span class="hljs-keyword">is</span> <span class="hljs-keyword">not</span> reflecting the real bandwidth available <span class="hljs-keyword">to</span> the broker.
 # Since the network usage <span class="hljs-keyword">is</span> employed <span class="hljs-keyword">by</span> the load manager <span class="hljs-keyword">to</span> decide when a broker
diff --git a/content/docs/en/administration-proxy.html b/content/docs/en/administration-proxy.html
index d2d544b..0b227c3 100644
--- a/content/docs/en/administration-proxy.html
+++ b/content/docs/en/administration-proxy.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -45,7 +49,7 @@
 <h2><a class="anchor" aria-hidden="true" id="running-the-proxy"></a><a href="#running-the-proxy" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>In order to run the Pulsar proxy, you need to have both a local <a href="https://zookeeper.apache.org">ZooKeeper</a> and configuration store quorum set up for use by your Pulsar cluster. For instructions, see <a href="/docs/en/deploy-bare-metal">this document</a>. Once you have ZooKeeper set up and have connection strings for both ZooKeeper quorums, you can use the <a href="/docs/en/reference-cli-tools#pulsar-proxy"><code>proxy</code></a> command of the <a href="/docs/en/reference-cli [...]
 <p>To start the proxy:</p>
-<pre><code class="hljs css languages- bash">$ <span class="hljs-built_in">cd</span> /path/to/pulsar/directory
+<pre><code class="hljs css language-bash">$ <span class="hljs-built_in">cd</span> /path/to/pulsar/directory
 $ bin/pulsar proxy \
   --zookeeper-servers zk-0,zk-1,zk-2 \
   --global-zookeeper-servers zk-0,zk-1,zk-2
diff --git a/content/docs/en/administration-proxy/index.html b/content/docs/en/administration-proxy/index.html
index d2d544b..0b227c3 100644
--- a/content/docs/en/administration-proxy/index.html
+++ b/content/docs/en/administration-proxy/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -45,7 +49,7 @@
 <h2><a class="anchor" aria-hidden="true" id="running-the-proxy"></a><a href="#running-the-proxy" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>In order to run the Pulsar proxy, you need to have both a local <a href="https://zookeeper.apache.org">ZooKeeper</a> and configuration store quorum set up for use by your Pulsar cluster. For instructions, see <a href="/docs/en/deploy-bare-metal">this document</a>. Once you have ZooKeeper set up and have connection strings for both ZooKeeper quorums, you can use the <a href="/docs/en/reference-cli-tools#pulsar-proxy"><code>proxy</code></a> command of the <a href="/docs/en/reference-cli [...]
 <p>To start the proxy:</p>
-<pre><code class="hljs css languages- bash">$ <span class="hljs-built_in">cd</span> /path/to/pulsar/directory
+<pre><code class="hljs css language-bash">$ <span class="hljs-built_in">cd</span> /path/to/pulsar/directory
 $ bin/pulsar proxy \
   --zookeeper-servers zk-0,zk-1,zk-2 \
   --global-zookeeper-servers zk-0,zk-1,zk-2
diff --git a/content/docs/en/administration-stats.html b/content/docs/en/administration-stats.html
index 927d267..dc4ece8 100644
--- a/content/docs/en/administration-stats.html
+++ b/content/docs/en/administration-stats.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
diff --git a/content/docs/en/administration-stats/index.html b/content/docs/en/administration-stats/index.html
index 927d267..dc4ece8 100644
--- a/content/docs/en/administration-stats/index.html
+++ b/content/docs/en/administration-stats/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
diff --git a/content/docs/en/administration-zk-bk.html b/content/docs/en/administration-zk-bk.html
index c2afe3c..b5d837f 100644
--- a/content/docs/en/administration-zk-bk.html
+++ b/content/docs/en/administration-zk-bk.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -61,7 +65,7 @@
 <p>ZooKeeper manages a variety of essential coordination- and configuration-related tasks for Pulsar.</p>
 <p>Deploying a Pulsar instance requires you to stand up one local ZooKeeper cluster <em>per Pulsar cluster</em>.</p>
 <p>To begin, add all ZooKeeper servers to the quorum configuration specified in the <a href="/docs/en/reference-configuration#zookeeper"><code>conf/zookeeper.conf</code></a> file. Add a <code>server.N</code> line for each node in the cluster to the configuration, where <code>N</code> is the number of the ZooKeeper node. Here's an example for a three-node cluster:</p>
-<pre><code class="hljs css languages- properties">server.<span class="hljs-number">1</span>=zk1<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2888</span>:<span class="hljs-number">3888</span>
+<pre><code class="hljs css language-properties">server.<span class="hljs-number">1</span>=zk1<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2888</span>:<span class="hljs-number">3888</span>
 server.<span class="hljs-number">2</span>=zk2<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2888</span>:<span class="hljs-number">3888</span>
 server.<span class="hljs-number">3</span>=zk3<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2888</span>:<span class="hljs-number">3888</span>
 </code></pre>
@@ -70,12 +74,12 @@ server.<span class="hljs-number">3</span>=zk3<span class="hljs-selector-class">.
 <p>See the <a href="https://zookeeper.apache.org/doc/r3.4.10/zookeeperAdmin.html#sc_zkMulitServerSetup">Multi-server setup guide</a> in the ZooKeeper documentation for detailed info on <code>myid</code> and more.</p>
 </blockquote>
 <p>On a ZooKeeper server at <code>zk1.us-west.example.com</code>, for example, you could set the <code>myid</code> value like this:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> mkdir -p data/zookeeper</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> mkdir -p data/zookeeper</span>
 <span class="hljs-meta">$</span><span class="bash"> <span class="hljs-built_in">echo</span> 1 &gt; data/zookeeper/myid</span>
 </code></pre>
 <p>On <code>zk2.us-west.example.com</code> the command would be <code>echo 2 &gt; data/zookeeper/myid</code> and so on.</p>
 <p>Once each server has been added to the <code>zookeeper.conf</code> configuration and has the appropriate <code>myid</code> entry, you can start ZooKeeper on all hosts (in the background, using nohup) with the <a href="/docs/en/reference-cli-tools#pulsar-daemon"><code>pulsar-daemon</code></a> CLI tool:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-daemon start zookeeper</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-daemon start zookeeper</span>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="deploying-the-configuration-store-configuration-store"></a><a href="#deploying-the-configuration-store-configuration-store" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2. [...]
 <p>The ZooKeeper cluster configured and started up in the section above is a <em>local</em> ZooKeeper cluster used to manage a single Pulsar cluster. In addition to a local cluster, however, a full Pulsar instance also requires a configuration store for handling some instance-level configuration and coordination tasks.</p>
@@ -83,7 +87,7 @@ server.<span class="hljs-number">3</span>=zk3<span class="hljs-selector-class">.
 <h4><a class="anchor" aria-hidden="true" id="single-cluster-pulsar-instance"></a><a href="#single-cluster-pulsar-instance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
 <p>If your Pulsar instance will consist of just one cluster, then you can deploy a configuration store on the same machines as the local ZooKeeper quorum but running on different TCP ports.</p>
 <p>To deploy a ZooKeeper configuration store in a single-cluster instance, add the same ZooKeeper servers used by the local quorom to the configuration file in <a href="/docs/en/reference-configuration#configuration-store"><code>conf/global_zookeeper.conf</code></a> using the same method for <a href="#local-zookeeper">local ZooKeeper</a>, but make sure to use a different port (2181 is the default for ZooKeeper). Here's an example that uses port 2184 for a three-node ZooKeeper cluster:</p>
-<pre><code class="hljs css languages- properties">clientPort=<span class="hljs-number">2184</span>
+<pre><code class="hljs css language-properties">clientPort=<span class="hljs-number">2184</span>
 server.<span class="hljs-number">1</span>=zk1<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>
 server.<span class="hljs-number">2</span>=zk2<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>
 server.<span class="hljs-number">3</span>=zk3<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>
@@ -106,7 +110,7 @@ can pick 3 servers from <code>us-west</code>, 2 from <code>us-central</code> and
 <p>This will guarantee that writes to global ZooKeeper will be possible even if one
 of these regions is unreachable.</p>
 <p>The ZK configuration in all the servers will look like:</p>
-<pre><code class="hljs css languages- properties">clientPort=<span class="hljs-number">2184</span>
+<pre><code class="hljs css language-properties">clientPort=<span class="hljs-number">2184</span>
 server.<span class="hljs-number">1</span>=zk1<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>
 server.<span class="hljs-number">2</span>=zk2<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>
 server.<span class="hljs-number">3</span>=zk3<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>
@@ -124,11 +128,11 @@ server.<span class="hljs-number">14</span>=zk2<span class="hljs-selector-class">
 server.<span class="hljs-number">15</span>=zk3<span class="hljs-selector-class">.ap-south</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>:observer
 </code></pre>
 <p>Additionally, ZK observers will need to have:</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-attr">peerType</span>=observer
+<pre><code class="hljs css language-properties"><span class="hljs-attr">peerType</span>=observer
 </code></pre>
 <h5><a class="anchor" aria-hidden="true" id="starting-the-service"></a><a href="#starting-the-service" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>Once your global ZooKeeper configuration is in place, you can start up the service using <a href="/docs/en/reference-cli-tools#pulsar-daemon"><code>pulsar-daemon</code></a></p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-daemon start global-zookeeper</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-daemon start global-zookeeper</span>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="zookeeper-configuration"></a><a href="#zookeeper-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>In Pulsar, ZooKeeper configuration is handled by two separate configuration files found in the <code>conf</code> directory of your Pulsar installation: <code>conf/zookeeper.conf</code> for <a href="#local-zookeeper">local ZooKeeper</a> and <code>conf/global-zookeeper.conf</code> for <a href="#global-zookeeper">global ZooKeeper</a>.</p>
@@ -164,10 +168,10 @@ server.<span class="hljs-number">15</span>=zk3<span class="hljs-selector-class">
 <h3><a class="anchor" aria-hidden="true" id="starting-up-bookies"></a><a href="#starting-up-bookies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>You can start up a bookie in two ways: in the foreground or as a background daemon.</p>
 <p>To start up a bookie in the foreground, use the <a href="/docs/en/reference-cli-tools#bookkeeper"><code>bookeeper</code></a></p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-daemon start bookie</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-daemon start bookie</span>
 </code></pre>
 <p>You can verify that the bookie is working properly using the <code>bookiesanity</code> command for the <a href="/docs/en/reference-cli-tools#bookkeeper-shell">BookKeeper shell</a>:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/bookkeeper shell bookiesanity</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/bookkeeper shell bookiesanity</span>
 </code></pre>
 <p>This will create a new ledger on the local bookie, write a few entries, read them back and finally delete the ledger.</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
@@ -185,7 +189,7 @@ designed to use multiple devices:</p>
 <h3><a class="anchor" aria-hidden="true" id="configuring-bookkeeper"></a><a href="#configuring-bookkeeper" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
 <p>Configurable parameters for BookKeeper bookies can be found in the <a href="/docs/en/reference-configuration#bookkeeper"><code>conf/bookkeeper.conf</code></a> file.</p>
 <p>Minimum configuration changes required  in <code>conf/bookkeeper.conf</code> are:</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-comment"># Change to point to journal disk mount point</span>
+<pre><code class="hljs css language-properties"><span class="hljs-comment"># Change to point to journal disk mount point</span>
 <span class="hljs-attr">journalDirectory</span>=data/bookkeeper/journal
 
 <span class="hljs-comment"># Point to ledger storage disk mount point</span>
@@ -224,7 +228,7 @@ designed to use multiple devices:</p>
 </tbody>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="example"></a><a href="#example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces <span class="hljs-built_in">set</span>-persistence my-tenant/my-ns \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces <span class="hljs-built_in">set</span>-persistence my-tenant/my-ns \</span>
   --bookkeeper-ack-quorom 3 \
   --bookeeper-ensemble 2
 </code></pre>
@@ -232,7 +236,7 @@ designed to use multiple devices:</p>
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/setPersistence"><b>POST</b> <i>/admin/v2/namespaces/:tenant/:namespace/persistence</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java"><span class="hljs-keyword">int</span> bkEnsemble = <span class="hljs-number">2</span>;
+<pre><code class="hljs css language-java"><span class="hljs-keyword">int</span> bkEnsemble = <span class="hljs-number">2</span>;
 <span class="hljs-keyword">int</span> bkQuorum = <span class="hljs-number">3</span>;
 <span class="hljs-keyword">int</span> bkAckQuorum = <span class="hljs-number">2</span>;
 <span class="hljs-keyword">double</span> markDeleteRate = <span class="hljs-number">0.7</span>;
@@ -245,7 +249,7 @@ admin.namespaces().setPersistence(namespace, policies);
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#namespaces-get-persistence"><code>get-persistence</code></a> subcommand and specify the namespace.</p>
 <h5><a class="anchor" aria-hidden="true" id="example-1"></a><a href="#example-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces get-persistence my-tenant/my-ns</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces get-persistence my-tenant/my-ns</span>
 {
   "bookkeeperEnsemble": 1,
   "bookkeeperWriteQuorum": 1,
@@ -257,7 +261,7 @@ admin.namespaces().setPersistence(namespace, policies);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPersistence"><b>GET</b> <i>/admin/v2/namespaces/:tenant/:namespace/persistence</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">PersistencePolicies policies = admin.namespaces().getPersistence(namespace);
+<pre><code class="hljs css language-java">PersistencePolicies policies = admin.namespaces().getPersistence(namespace);
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="how-pulsar-uses-zookeeper-and-bookkeeper"></a><a href="#how-pulsar-uses-zookeeper-and-bookkeeper" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0  [...]
 <p>This diagram illustrates the role of ZooKeeper and BookKeeper in a Pulsar cluster:</p>
diff --git a/content/docs/en/administration-zk-bk/index.html b/content/docs/en/administration-zk-bk/index.html
index c2afe3c..b5d837f 100644
--- a/content/docs/en/administration-zk-bk/index.html
+++ b/content/docs/en/administration-zk-bk/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -61,7 +65,7 @@
 <p>ZooKeeper manages a variety of essential coordination- and configuration-related tasks for Pulsar.</p>
 <p>Deploying a Pulsar instance requires you to stand up one local ZooKeeper cluster <em>per Pulsar cluster</em>.</p>
 <p>To begin, add all ZooKeeper servers to the quorum configuration specified in the <a href="/docs/en/reference-configuration#zookeeper"><code>conf/zookeeper.conf</code></a> file. Add a <code>server.N</code> line for each node in the cluster to the configuration, where <code>N</code> is the number of the ZooKeeper node. Here's an example for a three-node cluster:</p>
-<pre><code class="hljs css languages- properties">server.<span class="hljs-number">1</span>=zk1<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2888</span>:<span class="hljs-number">3888</span>
+<pre><code class="hljs css language-properties">server.<span class="hljs-number">1</span>=zk1<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2888</span>:<span class="hljs-number">3888</span>
 server.<span class="hljs-number">2</span>=zk2<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2888</span>:<span class="hljs-number">3888</span>
 server.<span class="hljs-number">3</span>=zk3<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2888</span>:<span class="hljs-number">3888</span>
 </code></pre>
@@ -70,12 +74,12 @@ server.<span class="hljs-number">3</span>=zk3<span class="hljs-selector-class">.
 <p>See the <a href="https://zookeeper.apache.org/doc/r3.4.10/zookeeperAdmin.html#sc_zkMulitServerSetup">Multi-server setup guide</a> in the ZooKeeper documentation for detailed info on <code>myid</code> and more.</p>
 </blockquote>
 <p>On a ZooKeeper server at <code>zk1.us-west.example.com</code>, for example, you could set the <code>myid</code> value like this:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> mkdir -p data/zookeeper</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> mkdir -p data/zookeeper</span>
 <span class="hljs-meta">$</span><span class="bash"> <span class="hljs-built_in">echo</span> 1 &gt; data/zookeeper/myid</span>
 </code></pre>
 <p>On <code>zk2.us-west.example.com</code> the command would be <code>echo 2 &gt; data/zookeeper/myid</code> and so on.</p>
 <p>Once each server has been added to the <code>zookeeper.conf</code> configuration and has the appropriate <code>myid</code> entry, you can start ZooKeeper on all hosts (in the background, using nohup) with the <a href="/docs/en/reference-cli-tools#pulsar-daemon"><code>pulsar-daemon</code></a> CLI tool:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-daemon start zookeeper</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-daemon start zookeeper</span>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="deploying-the-configuration-store-configuration-store"></a><a href="#deploying-the-configuration-store-configuration-store" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2. [...]
 <p>The ZooKeeper cluster configured and started up in the section above is a <em>local</em> ZooKeeper cluster used to manage a single Pulsar cluster. In addition to a local cluster, however, a full Pulsar instance also requires a configuration store for handling some instance-level configuration and coordination tasks.</p>
@@ -83,7 +87,7 @@ server.<span class="hljs-number">3</span>=zk3<span class="hljs-selector-class">.
 <h4><a class="anchor" aria-hidden="true" id="single-cluster-pulsar-instance"></a><a href="#single-cluster-pulsar-instance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
 <p>If your Pulsar instance will consist of just one cluster, then you can deploy a configuration store on the same machines as the local ZooKeeper quorum but running on different TCP ports.</p>
 <p>To deploy a ZooKeeper configuration store in a single-cluster instance, add the same ZooKeeper servers used by the local quorom to the configuration file in <a href="/docs/en/reference-configuration#configuration-store"><code>conf/global_zookeeper.conf</code></a> using the same method for <a href="#local-zookeeper">local ZooKeeper</a>, but make sure to use a different port (2181 is the default for ZooKeeper). Here's an example that uses port 2184 for a three-node ZooKeeper cluster:</p>
-<pre><code class="hljs css languages- properties">clientPort=<span class="hljs-number">2184</span>
+<pre><code class="hljs css language-properties">clientPort=<span class="hljs-number">2184</span>
 server.<span class="hljs-number">1</span>=zk1<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>
 server.<span class="hljs-number">2</span>=zk2<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>
 server.<span class="hljs-number">3</span>=zk3<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>
@@ -106,7 +110,7 @@ can pick 3 servers from <code>us-west</code>, 2 from <code>us-central</code> and
 <p>This will guarantee that writes to global ZooKeeper will be possible even if one
 of these regions is unreachable.</p>
 <p>The ZK configuration in all the servers will look like:</p>
-<pre><code class="hljs css languages- properties">clientPort=<span class="hljs-number">2184</span>
+<pre><code class="hljs css language-properties">clientPort=<span class="hljs-number">2184</span>
 server.<span class="hljs-number">1</span>=zk1<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>
 server.<span class="hljs-number">2</span>=zk2<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>
 server.<span class="hljs-number">3</span>=zk3<span class="hljs-selector-class">.us-west</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>
@@ -124,11 +128,11 @@ server.<span class="hljs-number">14</span>=zk2<span class="hljs-selector-class">
 server.<span class="hljs-number">15</span>=zk3<span class="hljs-selector-class">.ap-south</span><span class="hljs-selector-class">.example</span><span class="hljs-selector-class">.com</span>:<span class="hljs-number">2185</span>:<span class="hljs-number">2186</span>:observer
 </code></pre>
 <p>Additionally, ZK observers will need to have:</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-attr">peerType</span>=observer
+<pre><code class="hljs css language-properties"><span class="hljs-attr">peerType</span>=observer
 </code></pre>
 <h5><a class="anchor" aria-hidden="true" id="starting-the-service"></a><a href="#starting-the-service" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>Once your global ZooKeeper configuration is in place, you can start up the service using <a href="/docs/en/reference-cli-tools#pulsar-daemon"><code>pulsar-daemon</code></a></p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-daemon start global-zookeeper</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-daemon start global-zookeeper</span>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="zookeeper-configuration"></a><a href="#zookeeper-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>In Pulsar, ZooKeeper configuration is handled by two separate configuration files found in the <code>conf</code> directory of your Pulsar installation: <code>conf/zookeeper.conf</code> for <a href="#local-zookeeper">local ZooKeeper</a> and <code>conf/global-zookeeper.conf</code> for <a href="#global-zookeeper">global ZooKeeper</a>.</p>
@@ -164,10 +168,10 @@ server.<span class="hljs-number">15</span>=zk3<span class="hljs-selector-class">
 <h3><a class="anchor" aria-hidden="true" id="starting-up-bookies"></a><a href="#starting-up-bookies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>You can start up a bookie in two ways: in the foreground or as a background daemon.</p>
 <p>To start up a bookie in the foreground, use the <a href="/docs/en/reference-cli-tools#bookkeeper"><code>bookeeper</code></a></p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-daemon start bookie</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-daemon start bookie</span>
 </code></pre>
 <p>You can verify that the bookie is working properly using the <code>bookiesanity</code> command for the <a href="/docs/en/reference-cli-tools#bookkeeper-shell">BookKeeper shell</a>:</p>
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/bookkeeper shell bookiesanity</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> bin/bookkeeper shell bookiesanity</span>
 </code></pre>
 <p>This will create a new ledger on the local bookie, write a few entries, read them back and finally delete the ledger.</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
@@ -185,7 +189,7 @@ designed to use multiple devices:</p>
 <h3><a class="anchor" aria-hidden="true" id="configuring-bookkeeper"></a><a href="#configuring-bookkeeper" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
 <p>Configurable parameters for BookKeeper bookies can be found in the <a href="/docs/en/reference-configuration#bookkeeper"><code>conf/bookkeeper.conf</code></a> file.</p>
 <p>Minimum configuration changes required  in <code>conf/bookkeeper.conf</code> are:</p>
-<pre><code class="hljs css languages- properties"><span class="hljs-comment"># Change to point to journal disk mount point</span>
+<pre><code class="hljs css language-properties"><span class="hljs-comment"># Change to point to journal disk mount point</span>
 <span class="hljs-attr">journalDirectory</span>=data/bookkeeper/journal
 
 <span class="hljs-comment"># Point to ledger storage disk mount point</span>
@@ -224,7 +228,7 @@ designed to use multiple devices:</p>
 </tbody>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="example"></a><a href="#example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces <span class="hljs-built_in">set</span>-persistence my-tenant/my-ns \</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces <span class="hljs-built_in">set</span>-persistence my-tenant/my-ns \</span>
   --bookkeeper-ack-quorom 3 \
   --bookeeper-ensemble 2
 </code></pre>
@@ -232,7 +236,7 @@ designed to use multiple devices:</p>
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/setPersistence"><b>POST</b> <i>/admin/v2/namespaces/:tenant/:namespace/persistence</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<pre><code class="hljs css languages- java"><span class="hljs-keyword">int</span> bkEnsemble = <span class="hljs-number">2</span>;
+<pre><code class="hljs css language-java"><span class="hljs-keyword">int</span> bkEnsemble = <span class="hljs-number">2</span>;
 <span class="hljs-keyword">int</span> bkQuorum = <span class="hljs-number">3</span>;
 <span class="hljs-keyword">int</span> bkAckQuorum = <span class="hljs-number">2</span>;
 <span class="hljs-keyword">double</span> markDeleteRate = <span class="hljs-number">0.7</span>;
@@ -245,7 +249,7 @@ admin.namespaces().setPersistence(namespace, policies);
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Use the <a href="/docs/en/pulsar-admin#namespaces-get-persistence"><code>get-persistence</code></a> subcommand and specify the namespace.</p>
 <h5><a class="anchor" aria-hidden="true" id="example-1"></a><a href="#example-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
-<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces get-persistence my-tenant/my-ns</span>
+<pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin namespaces get-persistence my-tenant/my-ns</span>
 {
   "bookkeeperEnsemble": 1,
   "bookkeeperWriteQuorum": 1,
@@ -257,7 +261,7 @@ admin.namespaces().setPersistence(namespace, policies);
 <p><a href="https://pulsar.incubator.apache.org/en/admin-rest-api#operation/getPersistence"><b>GET</b> <i>/admin/v2/namespaces/:tenant/:namespace/persistence</i></a>
 </p>
 <h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<pre><code class="hljs css languages- java">PersistencePolicies policies = admin.namespaces().getPersistence(namespace);
+<pre><code class="hljs css language-java">PersistencePolicies policies = admin.namespaces().getPersistence(namespace);
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="how-pulsar-uses-zookeeper-and-bookkeeper"></a><a href="#how-pulsar-uses-zookeeper-and-bookkeeper" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0  [...]
 <p>This diagram illustrates the role of ZooKeeper and BookKeeper in a Pulsar cluster:</p>
diff --git a/content/docs/en/client-libraries-cpp.html b/content/docs/en/client-libraries-cpp.html
index 6cf8c62..61c0963 100644
--- a/content/docs/en/client-libraries-cpp.html
+++ b/content/docs/en/client-libraries-cpp.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -61,7 +65,7 @@ and install those packages instead of building them yourself.</p>
 </tbody>
 </table>
 <p>To install a RPM package, down the RPM packages and install them using following command:</p>
-<pre><code class="hljs css languages- bash">$ rpm -ivh apache-pulsar-client*.rpm
+<pre><code class="hljs css language-bash">$ rpm -ivh apache-pulsar-client*.rpm
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="deb"></a><a href="#deb" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
 <table>
@@ -74,7 +78,7 @@ and install those packages instead of building them yourself.</p>
 </tbody>
 </table>
 <p>To install a DEB package, down the DEB packages and install them using following command:</p>
-<pre><code class="hljs css languages- bash">$ apt-install apache-pulsar-client*.deb
+<pre><code class="hljs css language-bash">$ apt-install apache-pulsar-client*.deb
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="build"></a><a href="#build" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <blockquote>
@@ -86,10 +90,10 @@ repo.</p>
 statically linked <code>libpulsar.so</code> / <code>libpulsar.a</code> with all the required
 dependencies.</p>
 <p>To build the C++ library packages, first build the Java packages:</p>
-<pre><code class="hljs css languages- shell">mvn install -DskipTests
+<pre><code class="hljs css language-shell">mvn install -DskipTests
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rpm-1"></a><a href="#rpm-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
-<pre><code class="hljs css languages- shell">pulsar-client-cpp/pkg/rpm/docker-build-rpm.sh
+<pre><code class="hljs css language-shell">pulsar-client-cpp/pkg/rpm/docker-build-rpm.sh
 </code></pre>
 <p>This will build the RPM inside a Docker container and it will leave the RPMs
 in <code>pulsar-client-cpp/pkg/rpm/RPMS/x86_64/</code>.</p>
@@ -105,7 +109,7 @@ in <code>pulsar-client-cpp/pkg/rpm/RPMS/x86_64/</code>.</p>
 </table>
 <h4><a class="anchor" aria-hidden="true" id="deb-1"></a><a href="#deb-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>To build Debian packages:</p>
-<pre><code class="hljs css languages- shell">pulsar-client-cpp/pkg/deb/docker-build-deb.sh
+<pre><code class="hljs css language-shell">pulsar-client-cpp/pkg/deb/docker-build-deb.sh
 </code></pre>
 <p>Debian packages will be created at <code>pulsar-client-cpp/pkg/deb/BUILD/DEB/</code></p>
 <table>
@@ -120,23 +124,23 @@ in <code>pulsar-client-cpp/pkg/rpm/RPMS/x86_64/</code>.</p>
 <h2><a class="anchor" aria-hidden="true" id="macos"></a><a href="#macos" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>Use the <a href="https://brew.sh/">Homebrew</a> supplied recipe to build the Pulsar
 client lib on MacOS.</p>
-<pre><code class="hljs css languages- shell">brew install https://raw.githubusercontent.com/apache/incubator-pulsar/master/pulsar-client-cpp/homebrew/libpulsar.rb
+<pre><code class="hljs css language-shell">brew install https://raw.githubusercontent.com/apache/incubator-pulsar/master/pulsar-client-cpp/homebrew/libpulsar.rb
 </code></pre>
 <p>If using Python 3 on MacOS, add the flag <code>--with-python3</code> to the above command.</p>
 <p>This will install the package with the library and headers.</p>
 <h2><a class="anchor" aria-hidden="true" id="connection-urls"></a><a href="#connection-urls" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>To connect to Pulsar using client libraries, you need to specify a Pulsar protocol URL.</p>
 <p>Pulsar protocol URLs are assigned to specific clusters, use the pulsar scheme and have a default port of 6650. Here’s an example for localhost:</p>
-<pre><code class="hljs css languages- http">pulsar://localhost:6650
+<pre><code class="hljs css language-http">pulsar://localhost:6650
 </code></pre>
 <p>A URL for a production Pulsar cluster may look something like this:</p>
-<pre><code class="hljs css languages- http">pulsar://pulsar.us-west.example.com:6650
+<pre><code class="hljs css language-http">pulsar://pulsar.us-west.example.com:6650
 </code></pre>
 <p>If you’re using TLS authentication, the URL will look like something like this:</p>
-<pre><code class="hljs css languages- http">pulsar+ssl://pulsar.us-west.example.com:6651
+<pre><code class="hljs css language-http">pulsar+ssl://pulsar.us-west.example.com:6651
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="consumer"></a><a href="#consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<pre><code class="hljs css languages- c++"><span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar://localhost:6650"</span>)</span></span>;
+<pre><code class="hljs css language-c++"><span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar://localhost:6650"</span>)</span></span>;
 
 Consumer consumer;
 Result result = client.subscribe(<span class="hljs-string">"my-topic"</span>, <span class="hljs-string">"my-subscribtion-name"</span>, consumer);
@@ -158,7 +162,7 @@ Message msg;
 client.close();
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="producer"></a><a href="#producer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<pre><code class="hljs css languages- c++"><span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar://localhost:6650"</span>)</span></span>;
+<pre><code class="hljs css language-c++"><span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar://localhost:6650"</span>)</span></span>;
 
 Producer producer;
 Result result = client.createProducer(<span class="hljs-string">"my-topic"</span>, producer);
@@ -176,7 +180,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
 client.close();
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="authentication"></a><a href="#authentication" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- cpp">ClientConfiguration config = ClientConfiguration();
+<pre><code class="hljs css language-cpp">ClientConfiguration config = ClientConfiguration();
 config.setUseTls(<span class="hljs-literal">true</span>);
 config.setTlsTrustCertsFilePath(<span class="hljs-string">"/path/to/cacert.pem"</span>);
 config.setTlsAllowInsecureConnection(<span class="hljs-literal">false</span>);
diff --git a/content/docs/en/client-libraries-cpp/index.html b/content/docs/en/client-libraries-cpp/index.html
index 6cf8c62..61c0963 100644
--- a/content/docs/en/client-libraries-cpp/index.html
+++ b/content/docs/en/client-libraries-cpp/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -61,7 +65,7 @@ and install those packages instead of building them yourself.</p>
 </tbody>
 </table>
 <p>To install a RPM package, down the RPM packages and install them using following command:</p>
-<pre><code class="hljs css languages- bash">$ rpm -ivh apache-pulsar-client*.rpm
+<pre><code class="hljs css language-bash">$ rpm -ivh apache-pulsar-client*.rpm
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="deb"></a><a href="#deb" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
 <table>
@@ -74,7 +78,7 @@ and install those packages instead of building them yourself.</p>
 </tbody>
 </table>
 <p>To install a DEB package, down the DEB packages and install them using following command:</p>
-<pre><code class="hljs css languages- bash">$ apt-install apache-pulsar-client*.deb
+<pre><code class="hljs css language-bash">$ apt-install apache-pulsar-client*.deb
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="build"></a><a href="#build" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <blockquote>
@@ -86,10 +90,10 @@ repo.</p>
 statically linked <code>libpulsar.so</code> / <code>libpulsar.a</code> with all the required
 dependencies.</p>
 <p>To build the C++ library packages, first build the Java packages:</p>
-<pre><code class="hljs css languages- shell">mvn install -DskipTests
+<pre><code class="hljs css language-shell">mvn install -DskipTests
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rpm-1"></a><a href="#rpm-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
-<pre><code class="hljs css languages- shell">pulsar-client-cpp/pkg/rpm/docker-build-rpm.sh
+<pre><code class="hljs css language-shell">pulsar-client-cpp/pkg/rpm/docker-build-rpm.sh
 </code></pre>
 <p>This will build the RPM inside a Docker container and it will leave the RPMs
 in <code>pulsar-client-cpp/pkg/rpm/RPMS/x86_64/</code>.</p>
@@ -105,7 +109,7 @@ in <code>pulsar-client-cpp/pkg/rpm/RPMS/x86_64/</code>.</p>
 </table>
 <h4><a class="anchor" aria-hidden="true" id="deb-1"></a><a href="#deb-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>To build Debian packages:</p>
-<pre><code class="hljs css languages- shell">pulsar-client-cpp/pkg/deb/docker-build-deb.sh
+<pre><code class="hljs css language-shell">pulsar-client-cpp/pkg/deb/docker-build-deb.sh
 </code></pre>
 <p>Debian packages will be created at <code>pulsar-client-cpp/pkg/deb/BUILD/DEB/</code></p>
 <table>
@@ -120,23 +124,23 @@ in <code>pulsar-client-cpp/pkg/rpm/RPMS/x86_64/</code>.</p>
 <h2><a class="anchor" aria-hidden="true" id="macos"></a><a href="#macos" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>Use the <a href="https://brew.sh/">Homebrew</a> supplied recipe to build the Pulsar
 client lib on MacOS.</p>
-<pre><code class="hljs css languages- shell">brew install https://raw.githubusercontent.com/apache/incubator-pulsar/master/pulsar-client-cpp/homebrew/libpulsar.rb
+<pre><code class="hljs css language-shell">brew install https://raw.githubusercontent.com/apache/incubator-pulsar/master/pulsar-client-cpp/homebrew/libpulsar.rb
 </code></pre>
 <p>If using Python 3 on MacOS, add the flag <code>--with-python3</code> to the above command.</p>
 <p>This will install the package with the library and headers.</p>
 <h2><a class="anchor" aria-hidden="true" id="connection-urls"></a><a href="#connection-urls" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>To connect to Pulsar using client libraries, you need to specify a Pulsar protocol URL.</p>
 <p>Pulsar protocol URLs are assigned to specific clusters, use the pulsar scheme and have a default port of 6650. Here’s an example for localhost:</p>
-<pre><code class="hljs css languages- http">pulsar://localhost:6650
+<pre><code class="hljs css language-http">pulsar://localhost:6650
 </code></pre>
 <p>A URL for a production Pulsar cluster may look something like this:</p>
-<pre><code class="hljs css languages- http">pulsar://pulsar.us-west.example.com:6650
+<pre><code class="hljs css language-http">pulsar://pulsar.us-west.example.com:6650
 </code></pre>
 <p>If you’re using TLS authentication, the URL will look like something like this:</p>
-<pre><code class="hljs css languages- http">pulsar+ssl://pulsar.us-west.example.com:6651
+<pre><code class="hljs css language-http">pulsar+ssl://pulsar.us-west.example.com:6651
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="consumer"></a><a href="#consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<pre><code class="hljs css languages- c++"><span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar://localhost:6650"</span>)</span></span>;
+<pre><code class="hljs css language-c++"><span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar://localhost:6650"</span>)</span></span>;
 
 Consumer consumer;
 Result result = client.subscribe(<span class="hljs-string">"my-topic"</span>, <span class="hljs-string">"my-subscribtion-name"</span>, consumer);
@@ -158,7 +162,7 @@ Message msg;
 client.close();
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="producer"></a><a href="#producer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<pre><code class="hljs css languages- c++"><span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar://localhost:6650"</span>)</span></span>;
+<pre><code class="hljs css language-c++"><span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar://localhost:6650"</span>)</span></span>;
 
 Producer producer;
 Result result = client.createProducer(<span class="hljs-string">"my-topic"</span>, producer);
@@ -176,7 +180,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
 client.close();
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="authentication"></a><a href="#authentication" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<pre><code class="hljs css languages- cpp">ClientConfiguration config = ClientConfiguration();
+<pre><code class="hljs css language-cpp">ClientConfiguration config = ClientConfiguration();
 config.setUseTls(<span class="hljs-literal">true</span>);
 config.setTlsTrustCertsFilePath(<span class="hljs-string">"/path/to/cacert.pem"</span>);
 config.setTlsAllowInsecureConnection(<span class="hljs-literal">false</span>);
diff --git a/content/docs/en/client-libraries-go.html b/content/docs/en/client-libraries-go.html
index c59e216..c95aefe 100644
--- a/content/docs/en/client-libraries-go.html
+++ b/content/docs/en/client-libraries-go.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -58,28 +62,28 @@ through <a href="/docs/en/client-libraries-cpp#rpm">RPM</a>, <a href="/docs/en/c
 <p><code>go get</code> doesn't support fetching a specific tag. so it will always pull in pulsar go client
 from latest master. You need to make sure you have installed the right pulsar cpp client library.</p>
 </blockquote>
-<pre><code class="hljs css languages- bash">$ go get -u github.com/apache/incubator-pulsar/pulsar-client-go/pulsar
+<pre><code class="hljs css language-bash">$ go get -u github.com/apache/incubator-pulsar/pulsar-client-go/pulsar
 </code></pre>
 <p>Or you can use <a href="https://github.com/golang/dep">dep</a> for managing the dependencies.</p>
-<pre><code class="hljs css languages- bash">$ dep ensure -add github.com/apache/incubator-pulsar/pulsar-client-go/pulsar@v{{pulsar.version}}
+<pre><code class="hljs css language-bash">$ dep ensure -add github.com/apache/incubator-pulsar/pulsar-client-go/pulsar@v{{pulsar.version}}
 </code></pre>
 <p>Once installed locally, you can import it into your project:</p>
-<pre><code class="hljs css languages- go"><span class="hljs-keyword">import</span> <span class="hljs-string">"github.com/apache/incubator-pulsar/pulsar-client-go/pulsar"</span>
+<pre><code class="hljs css language-go"><span class="hljs-keyword">import</span> <span class="hljs-string">"github.com/apache/incubator-pulsar/pulsar-client-go/pulsar"</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="connection-urls"></a><a href="#connection-urls" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>To connect to Pulsar using client libraries, you need to specify a <a href="/docs/en/develop-binary-protocol">Pulsar protocol</a> URL.</p>
 <p>Pulsar protocol URLs are assigned to specific clusters, use the <code>pulsar</code> scheme and have a default port of 6650. Here's an example for <code>localhost</code>:</p>
-<pre><code class="hljs css languages- http">pulsar://localhost:6650
+<pre><code class="hljs css language-http">pulsar://localhost:6650
 </code></pre>
 <p>A URL for a production Pulsar cluster may look something like this:</p>
-<pre><code class="hljs css languages- http">pulsar://pulsar.us-west.example.com:6650
+<pre><code class="hljs css language-http">pulsar://pulsar.us-west.example.com:6650
 </code></pre>
 <p>If you're using <a href="/docs/en/security-tls-authentication">TLS</a> authentication, the URL will look like something like this:</p>
-<pre><code class="hljs css languages- http">pulsar+ssl://pulsar.us-west.example.com:6651
+<pre><code class="hljs css language-http">pulsar+ssl://pulsar.us-west.example.com:6651
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="creating-a-client"></a><a href="#creating-a-client" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>In order to interact with Pulsar, you'll first need a <code>Client</code> object. You can create a client object using the <code>NewClient</code> function, passing in a <code>ClientOptions</code> object (more on configuration <a href="#client-configuration">below</a>). Here's an example:</p>
-<pre><code class="hljs css languages- go"><span class="hljs-keyword">import</span> (
+<pre><code class="hljs css language-go"><span class="hljs-keyword">import</span> (
     <span class="hljs-string">"log"</span>
     <span class="hljs-string">"runtime"</span>
 
@@ -118,7 +122,7 @@ from latest master. You need to make sure you have installed the right pulsar cp
 </table>
 <h2><a class="anchor" aria-hidden="true" id="producers"></a><a href="#producers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
 <p>Pulsar producers publish messages to Pulsar topics. You can <a href="#producer-configuration">configure</a> Go producers using a <code>ProducerOptions</code> object. Here's an example:</p>
-<pre><code class="hljs css languages- go">producer, err := client.CreateProducer(pulsar.ProducerOptions{
+<pre><code class="hljs css language-go">producer, err := client.CreateProducer(pulsar.ProducerOptions{
     Topic: <span class="hljs-string">"my-topic"</span>,
 })
 
@@ -155,7 +159,7 @@ msg := pulsar.ProducerMessage{
 </tbody>
 </table>
 <p>Here's a more involved example usage of a producer:</p>
-<pre><code class="hljs css languages- go"><span class="hljs-keyword">import</span> (
+<pre><code class="hljs css language-go"><span class="hljs-keyword">import</span> (
     <span class="hljs-string">"context"</span>
     <span class="hljs-string">"fmt"</span>
 
@@ -225,7 +229,7 @@ msg := pulsar.ProducerMessage{
 </table>
 <h2><a class="anchor" aria-hidden="true" id="consumers"></a><a href="#consumers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
 <p>Pulsar consumers subscribe to one or more Pulsar topics and listen for incoming messages produced on that topic/those topics. You can <a href="#consumer-configuration">configure</a> Go consumers using a <code>ConsumerOptions</code> object. Here's a basic example that uses channels:</p>
-<pre><code class="hljs css languages- go">msgChannel := <span class="hljs-built_in">make</span>(<span class="hljs-keyword">chan</span> pulsar.ConsumerMessage)
+<pre><code class="hljs css language-go">msgChannel := <span class="hljs-built_in">make</span>(<span class="hljs-keyword">chan</span> pulsar.ConsumerMessage)
 
 consumerOpts := pulsar.ConsumerOptions{
     Topic:            <span class="hljs-string">"my-topic"</span>,
@@ -275,7 +279,7 @@ consumer, err := client.Subscribe(consumerOpts)
 </table>
 <h4><a class="anchor" aria-hidden="true" id="receive-example"></a><a href="#receive-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>Here's an example usage of a Go consumer that uses the <code>Receive()</code> method to process incoming messages:</p>
-<pre><code class="hljs css languages- go"><span class="hljs-keyword">import</span> (
+<pre><code class="hljs css language-go"><span class="hljs-keyword">import</span> (
     <span class="hljs-string">"context"</span>
     <span class="hljs-string">"log"</span>
 
@@ -332,7 +336,7 @@ consumer, err := client.Subscribe(consumerOpts)
 </table>
 <h2><a class="anchor" aria-hidden="true" id="readers"></a><a href="#readers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>Pulsar readers process messages from Pulsar topics. Readers are different from consumers because with readers you need to explicitly specify which message in the stream you want to begin with (consumers, on the other hand, automatically begin with the most recent unacked message). You can <a href="#reader-configuration">configure</a> Go readers using a <code>ReaderOptions</code> object. Here's an example:</p>
-<pre><code class="hljs css languages- go">reader, err := client.CreateReader(pulsar.ReaderOptions{
+<pre><code class="hljs css language-go">reader, err := client.CreateReader(pulsar.ReaderOptions{
     Topic: <span class="hljs-string">"my-golang-topic"</span>,
     StartMessageId: pulsar.LatestMessage,
 })
@@ -355,7 +359,7 @@ consumer, err := client.Subscribe(consumerOpts)
 </table>
 <h4><a class="anchor" aria-hidden="true" id="next-example"></a><a href="#next-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Here's an example usage of a Go reader that uses the <code>Next()</code> method to process incoming messages:</p>
-<pre><code class="hljs css languages- go"><span class="hljs-keyword">import</span> (
+<pre><code class="hljs css language-go"><span class="hljs-keyword">import</span> (
     <span class="hljs-string">"context"</span>
     <span class="hljs-string">"log"</span>
 
@@ -392,7 +396,7 @@ consumer, err := client.Subscribe(consumerOpts)
 }
 </code></pre>
 <p>In the example above, the reader begins reading from the earliest available message (specified by <code>pulsar.EarliestMessage</code>). The reader can also begin reading from the latest message (<code>pulsar.LatestMessage</code>) or some other message ID specified by bytes using the <code>DeserializeMessageID</code> function, which takes a byte array and returns a <code>MessageID</code> object. Here's an example:</p>
-<pre><code class="hljs css languages- go">lastSavedId := <span class="hljs-comment">// Read last saved message id from external store as byte[]</span>
+<pre><code class="hljs css language-go">lastSavedId := <span class="hljs-comment">// Read last saved message id from external store as byte[]</span>
 
 reader, err := client.CreateReader(pulsar.ReaderOptions{
     Topic:          <span class="hljs-string">"my-golang-topic"</span>,
@@ -415,7 +419,7 @@ reader, err := client.CreateReader(pulsar.ReaderOptions{
 </table>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>The Pulsar Go client provides a <code>ProducerMessage</code> interface that you can use to construct messages to producer on Pulsar topics. Here's an example message:</p>
-<pre><code class="hljs css languages- go">msg := pulsar.ProducerMessage{
+<pre><code class="hljs css language-go">msg := pulsar.ProducerMessage{
     Payload: []<span class="hljs-keyword">byte</span>(<span class="hljs-string">"Here is some message data"</span>),
     Key: <span class="hljs-string">"message-key"</span>,
     Properties: <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>]<span class="hljs-keyword">string</span>{
@@ -450,7 +454,7 @@ reader, err := client.CreateReader(pulsar.ReaderOptions{
 <li>Configure <code>Authentication</code> option</li>
 </ul>
 <p>Here's an example:</p>
-<pre><code class="hljs css languages- go">opts := pulsar.ClientOptions{
+<pre><code class="hljs css language-go">opts := pulsar.ClientOptions{
     URL: <span class="hljs-string">"pulsar+ssl://my-cluster.com:6651"</span>,
     TLSTrustCertsFilePath: <span class="hljs-string">"/path/to/certs/my-cert.csr"</span>,
     Authentication: NewAuthenticationTLS(<span class="hljs-string">"my-cert.pem"</span>, <span class="hljs-string">"my-key.pem"</span>),
diff --git a/content/docs/en/client-libraries-go/index.html b/content/docs/en/client-libraries-go/index.html
index c59e216..c95aefe 100644
--- a/content/docs/en/client-libraries-go/index.html
+++ b/content/docs/en/client-libraries-go/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -58,28 +62,28 @@ through <a href="/docs/en/client-libraries-cpp#rpm">RPM</a>, <a href="/docs/en/c
 <p><code>go get</code> doesn't support fetching a specific tag. so it will always pull in pulsar go client
 from latest master. You need to make sure you have installed the right pulsar cpp client library.</p>
 </blockquote>
-<pre><code class="hljs css languages- bash">$ go get -u github.com/apache/incubator-pulsar/pulsar-client-go/pulsar
+<pre><code class="hljs css language-bash">$ go get -u github.com/apache/incubator-pulsar/pulsar-client-go/pulsar
 </code></pre>
 <p>Or you can use <a href="https://github.com/golang/dep">dep</a> for managing the dependencies.</p>
-<pre><code class="hljs css languages- bash">$ dep ensure -add github.com/apache/incubator-pulsar/pulsar-client-go/pulsar@v{{pulsar.version}}
+<pre><code class="hljs css language-bash">$ dep ensure -add github.com/apache/incubator-pulsar/pulsar-client-go/pulsar@v{{pulsar.version}}
 </code></pre>
 <p>Once installed locally, you can import it into your project:</p>
-<pre><code class="hljs css languages- go"><span class="hljs-keyword">import</span> <span class="hljs-string">"github.com/apache/incubator-pulsar/pulsar-client-go/pulsar"</span>
+<pre><code class="hljs css language-go"><span class="hljs-keyword">import</span> <span class="hljs-string">"github.com/apache/incubator-pulsar/pulsar-client-go/pulsar"</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="connection-urls"></a><a href="#connection-urls" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>To connect to Pulsar using client libraries, you need to specify a <a href="/docs/en/develop-binary-protocol">Pulsar protocol</a> URL.</p>
 <p>Pulsar protocol URLs are assigned to specific clusters, use the <code>pulsar</code> scheme and have a default port of 6650. Here's an example for <code>localhost</code>:</p>
-<pre><code class="hljs css languages- http">pulsar://localhost:6650
+<pre><code class="hljs css language-http">pulsar://localhost:6650
 </code></pre>
 <p>A URL for a production Pulsar cluster may look something like this:</p>
-<pre><code class="hljs css languages- http">pulsar://pulsar.us-west.example.com:6650
+<pre><code class="hljs css language-http">pulsar://pulsar.us-west.example.com:6650
 </code></pre>
 <p>If you're using <a href="/docs/en/security-tls-authentication">TLS</a> authentication, the URL will look like something like this:</p>
-<pre><code class="hljs css languages- http">pulsar+ssl://pulsar.us-west.example.com:6651
+<pre><code class="hljs css language-http">pulsar+ssl://pulsar.us-west.example.com:6651
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="creating-a-client"></a><a href="#creating-a-client" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>In order to interact with Pulsar, you'll first need a <code>Client</code> object. You can create a client object using the <code>NewClient</code> function, passing in a <code>ClientOptions</code> object (more on configuration <a href="#client-configuration">below</a>). Here's an example:</p>
-<pre><code class="hljs css languages- go"><span class="hljs-keyword">import</span> (
+<pre><code class="hljs css language-go"><span class="hljs-keyword">import</span> (
     <span class="hljs-string">"log"</span>
     <span class="hljs-string">"runtime"</span>
 
@@ -118,7 +122,7 @@ from latest master. You need to make sure you have installed the right pulsar cp
 </table>
 <h2><a class="anchor" aria-hidden="true" id="producers"></a><a href="#producers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
 <p>Pulsar producers publish messages to Pulsar topics. You can <a href="#producer-configuration">configure</a> Go producers using a <code>ProducerOptions</code> object. Here's an example:</p>
-<pre><code class="hljs css languages- go">producer, err := client.CreateProducer(pulsar.ProducerOptions{
+<pre><code class="hljs css language-go">producer, err := client.CreateProducer(pulsar.ProducerOptions{
     Topic: <span class="hljs-string">"my-topic"</span>,
 })
 
@@ -155,7 +159,7 @@ msg := pulsar.ProducerMessage{
 </tbody>
 </table>
 <p>Here's a more involved example usage of a producer:</p>
-<pre><code class="hljs css languages- go"><span class="hljs-keyword">import</span> (
+<pre><code class="hljs css language-go"><span class="hljs-keyword">import</span> (
     <span class="hljs-string">"context"</span>
     <span class="hljs-string">"fmt"</span>
 
@@ -225,7 +229,7 @@ msg := pulsar.ProducerMessage{
 </table>
 <h2><a class="anchor" aria-hidden="true" id="consumers"></a><a href="#consumers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
 <p>Pulsar consumers subscribe to one or more Pulsar topics and listen for incoming messages produced on that topic/those topics. You can <a href="#consumer-configuration">configure</a> Go consumers using a <code>ConsumerOptions</code> object. Here's a basic example that uses channels:</p>
-<pre><code class="hljs css languages- go">msgChannel := <span class="hljs-built_in">make</span>(<span class="hljs-keyword">chan</span> pulsar.ConsumerMessage)
+<pre><code class="hljs css language-go">msgChannel := <span class="hljs-built_in">make</span>(<span class="hljs-keyword">chan</span> pulsar.ConsumerMessage)
 
 consumerOpts := pulsar.ConsumerOptions{
     Topic:            <span class="hljs-string">"my-topic"</span>,
@@ -275,7 +279,7 @@ consumer, err := client.Subscribe(consumerOpts)
 </table>
 <h4><a class="anchor" aria-hidden="true" id="receive-example"></a><a href="#receive-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>Here's an example usage of a Go consumer that uses the <code>Receive()</code> method to process incoming messages:</p>
-<pre><code class="hljs css languages- go"><span class="hljs-keyword">import</span> (
+<pre><code class="hljs css language-go"><span class="hljs-keyword">import</span> (
     <span class="hljs-string">"context"</span>
     <span class="hljs-string">"log"</span>
 
@@ -332,7 +336,7 @@ consumer, err := client.Subscribe(consumerOpts)
 </table>
 <h2><a class="anchor" aria-hidden="true" id="readers"></a><a href="#readers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>Pulsar readers process messages from Pulsar topics. Readers are different from consumers because with readers you need to explicitly specify which message in the stream you want to begin with (consumers, on the other hand, automatically begin with the most recent unacked message). You can <a href="#reader-configuration">configure</a> Go readers using a <code>ReaderOptions</code> object. Here's an example:</p>
-<pre><code class="hljs css languages- go">reader, err := client.CreateReader(pulsar.ReaderOptions{
+<pre><code class="hljs css language-go">reader, err := client.CreateReader(pulsar.ReaderOptions{
     Topic: <span class="hljs-string">"my-golang-topic"</span>,
     StartMessageId: pulsar.LatestMessage,
 })
@@ -355,7 +359,7 @@ consumer, err := client.Subscribe(consumerOpts)
 </table>
 <h4><a class="anchor" aria-hidden="true" id="next-example"></a><a href="#next-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Here's an example usage of a Go reader that uses the <code>Next()</code> method to process incoming messages:</p>
-<pre><code class="hljs css languages- go"><span class="hljs-keyword">import</span> (
+<pre><code class="hljs css language-go"><span class="hljs-keyword">import</span> (
     <span class="hljs-string">"context"</span>
     <span class="hljs-string">"log"</span>
 
@@ -392,7 +396,7 @@ consumer, err := client.Subscribe(consumerOpts)
 }
 </code></pre>
 <p>In the example above, the reader begins reading from the earliest available message (specified by <code>pulsar.EarliestMessage</code>). The reader can also begin reading from the latest message (<code>pulsar.LatestMessage</code>) or some other message ID specified by bytes using the <code>DeserializeMessageID</code> function, which takes a byte array and returns a <code>MessageID</code> object. Here's an example:</p>
-<pre><code class="hljs css languages- go">lastSavedId := <span class="hljs-comment">// Read last saved message id from external store as byte[]</span>
+<pre><code class="hljs css language-go">lastSavedId := <span class="hljs-comment">// Read last saved message id from external store as byte[]</span>
 
 reader, err := client.CreateReader(pulsar.ReaderOptions{
     Topic:          <span class="hljs-string">"my-golang-topic"</span>,
@@ -415,7 +419,7 @@ reader, err := client.CreateReader(pulsar.ReaderOptions{
 </table>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>The Pulsar Go client provides a <code>ProducerMessage</code> interface that you can use to construct messages to producer on Pulsar topics. Here's an example message:</p>
-<pre><code class="hljs css languages- go">msg := pulsar.ProducerMessage{
+<pre><code class="hljs css language-go">msg := pulsar.ProducerMessage{
     Payload: []<span class="hljs-keyword">byte</span>(<span class="hljs-string">"Here is some message data"</span>),
     Key: <span class="hljs-string">"message-key"</span>,
     Properties: <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>]<span class="hljs-keyword">string</span>{
@@ -450,7 +454,7 @@ reader, err := client.CreateReader(pulsar.ReaderOptions{
 <li>Configure <code>Authentication</code> option</li>
 </ul>
 <p>Here's an example:</p>
-<pre><code class="hljs css languages- go">opts := pulsar.ClientOptions{
+<pre><code class="hljs css language-go">opts := pulsar.ClientOptions{
     URL: <span class="hljs-string">"pulsar+ssl://my-cluster.com:6651"</span>,
     TLSTrustCertsFilePath: <span class="hljs-string">"/path/to/certs/my-cert.csr"</span>,
     Authentication: NewAuthenticationTLS(<span class="hljs-string">"my-cert.pem"</span>, <span class="hljs-string">"my-key.pem"</span>),
diff --git a/content/docs/en/client-libraries-java.html b/content/docs/en/client-libraries-java.html
index 1bd3948..da24a24 100644
--- a/content/docs/en/client-libraries-java.html
+++ b/content/docs/en/client-libraries-java.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -57,7 +61,7 @@
 <p>The latest version of the Pulsar Java client library is available via <a href="http://search.maven.org/#artifactdetails%7Corg.apache.pulsar%7Cpulsar-client%7C2.1.0-incubating%7Cjar">Maven Central</a>. To use the latest version, add the <code>pulsar-client</code> library to your build configuration.</p>
 <h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>If you're using Maven, add this to your <code>pom.xml</code>:</p>
-<pre><code class="hljs css languages- xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
+<pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.1.0-incubating<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
 
 <span class="hljs-comment">&lt;!-- in your &lt;dependencies&gt; block --&gt;</span>
@@ -69,7 +73,7 @@
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>If you're using Gradle, add this to your <code>build.gradle</code> file:</p>
-<pre><code class="hljs css languages- groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">'2.1.0-incubating'</span>
+<pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">'2.1.0-incubating'</span>
 
 dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-client'</span>, <span class="hljs-string">version:</span> pulsarVersion
@@ -78,18 +82,18 @@ dependencies {
 <h2><a class="anchor" aria-hidden="true" id="connection-urls"></a><a href="#connection-urls" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>To connect to Pulsar using client libraries, you need to specify a <a href="/docs/en/develop-binary-protocol">Pulsar protocol</a> URL.</p>
 <p>Pulsar protocol URLs are assigned to specific clusters, use the <code>pulsar</code> scheme and have a default port of 6650. Here's an example for <code>localhost</code>:</p>
-<pre><code class="hljs css languages- http">pulsar://localhost:6650
+<pre><code class="hljs css language-http">pulsar://localhost:6650
 </code></pre>
 <p>A URL for a production Pulsar cluster may look something like this:</p>
-<pre><code class="hljs css languages- http">pulsar://pulsar.us-west.example.com:6650
+<pre><code class="hljs css language-http">pulsar://pulsar.us-west.example.com:6650
 </code></pre>
 <p>If you're using <a href="/docs/en/security-tls-authentication">TLS</a> authentication, the URL will look like something like this:</p>
-<pre><code class="hljs css languages- http">pulsar+ssl://pulsar.us-west.example.com:6651
+<pre><code class="hljs css language-http">pulsar+ssl://pulsar.us-west.example.com:6651
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="client-configuration"></a><a href="#client-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>You can instantiate a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/PulsarClient">PulsarClient</a>
  object using just a URL for the target Pulsar <a href="/docs/en/reference-terminology#cluster">cluster</a>, like this:</p>
-<pre><code class="hljs css languages- java">PulsarClient client = PulsarClient.builder()
+<pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
         .build();
 </code></pre>
@@ -106,7 +110,7 @@ dependencies {
 <p>In Pulsar, producers write messages to topics. Once you've instantiated a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/PulsarClient">PulsarClient</a>
  object (as in the section <a href="#client-configuration">above</a>), you can create a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/Producer">Producer</a>
  for a specific Pulsar <a href="/docs/en/reference-terminology#topic">topic</a>.</p>
-<pre><code class="hljs css languages- java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; producer = client.newProducer()
+<pre><code class="hljs css language-java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; producer = client.newProducer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .create();
 
@@ -114,19 +118,19 @@ dependencies {
 producer.send(<span class="hljs-string">"My message"</span>.getBytes());
 </code></pre>
 <p>By default, producers produce messages that consist of byte arrays. You can produce different types, however, by specifying a message <a href="#schemas">schema</a>.</p>
-<pre><code class="hljs css languages- java">Producer&lt;String&gt; stringProducer = client.newProducer(Schema.STRING)
+<pre><code class="hljs css language-java">Producer&lt;String&gt; stringProducer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
         .create();
 stringProducer.send(<span class="hljs-string">"My message"</span>);
 </code></pre>
 <blockquote>
 <p>You should always make sure to close your producers, consumers, and clients when they are no longer needed:</p>
-<pre><code class="hljs css languages- java">producer.close();
+<pre><code class="hljs css language-java">producer.close();
 consumer.close();
 client.close();
 </code></pre>
 <p>Close operations can also be asynchronous:</p>
-<pre><code class="hljs css languages- java">producer.closeAsync()
+<pre><code class="hljs css language-java">producer.closeAsync()
    .thenRun(() -&gt; System.out.println(<span class="hljs-string">"Producer closed"</span>));
    .exceptionally((ex) -&gt; {
        System.err.println(<span class="hljs-string">"Failed to close producer: "</span> + ex);
@@ -137,7 +141,7 @@ client.close();
 <p>' %}</p>
 <h3><a class="anchor" aria-hidden="true" id="configuring-producers"></a><a href="#configuring-producers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
 <p>If you instantiate a <code>Producer</code> object specifying only a topic name, as in the example above, the producer will use the default configuration. To use a non-default configuration, there's a variety of configurable parameters that you can set. For a full listing, see the Javadoc for the {@inject javadoc:ProducerBuilder:/client/org/apache/pulsar/client/api/ProducerBuilder} class. Here's an example:</p>
-<pre><code class="hljs css languages- java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; producer = client.newProducer()
+<pre><code class="hljs css language-java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; producer = client.newProducer()
     .topic(<span class="hljs-string">"my-topic"</span>)
     .batchingMaxPublishDelay(<span class="hljs-number">10</span>, TimeUnit.MILLISECONDS)
     .sendTimeout(<span class="hljs-number">10</span>, TimeUnit.SECONDS)
@@ -149,14 +153,14 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="async-send"></a><a href="#async-send" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p>You can also publish messages <a href="/docs/en/concepts-messaging#send-modes">asynchronously</a> using the Java client. With async send, the producer will put the message in a blocking queue and return immediately. The client library will then send the message to the broker in the background. If the queue is full (max size configurable), the producer could be blocked or fail immediately when calling the API, depending on arguments passed to the producer.</p>
 <p>Here's an example async send operation:</p>
-<pre><code class="hljs css languages- java">producer.sendAsync(<span class="hljs-string">"my-async-message"</span>.getBytes()).thenAccept(msgId -&gt; {
+<pre><code class="hljs css language-java">producer.sendAsync(<span class="hljs-string">"my-async-message"</span>.getBytes()).thenAccept(msgId -&gt; {
     System.out.printf(<span class="hljs-string">"Message with ID %s successfully sent"</span>, msgId);
 });
 </code></pre>
 <p>As you can see from the example above, async send operations return a {@inject javadoc:MessageId:/client/org/apache/pulsar/client/api/MessageId} wrapped in a <a href="http://www.baeldung.com/java-completablefuture"><code>CompletableFuture</code></a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="configuring-messages"></a><a href="#configuring-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>In addition to a value, it's possible to set additional items on a given message:</p>
-<pre><code class="hljs css languages- java">producer.newMessage()
+<pre><code class="hljs css language-java">producer.newMessage()
     .key(<span class="hljs-string">"my-message-key"</span>)
     .value(<span class="hljs-string">"my-async-message"</span>.getBytes())
     .property(<span class="hljs-string">"my-key"</span>, <span class="hljs-string">"my-value"</span>)
@@ -171,13 +175,13 @@ get a future returned.</p>
 <p>Once you've instantiated a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/PulsarClient">PulsarClient</a>
  object, you can create a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/Consumer">Consumer</a>
  by specifying a <a href="/docs/en/reference-terminology#topic">topic</a> and a <a href="/docs/en/concepts-messaging#subscription-modes">subscription</a>.</p>
-<pre><code class="hljs css languages- java">Consumer consumer = client.newConsumer()
+<pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
         .subscribe();
 </code></pre>
 <p>The <code>subscribe</code> method will automatically subscribe the consumer to the specified topic and subscription. One way to make the consumer listen on the topic is to set up a <code>while</code> loop. In this example loop, the consumer listens for messages, prints the contents of any message that's received, and then <a href="/docs/en/reference-terminology#acknowledgment-ack">acknowledges</a> that the message has been processed:</p>
-<pre><code class="hljs css languages- java"><span class="hljs-keyword">do</span> {
+<pre><code class="hljs css language-java"><span class="hljs-keyword">do</span> {
   <span class="hljs-comment">// Wait for a message</span>
   Message msg = consumer.receive();
 
@@ -191,7 +195,7 @@ get a future returned.</p>
 <p>If you instantiate a <code>Consumer</code> object specifying only a topic and subscription name, as in the example above, the consumer will use the default configuration. To use a non-default configuration, there's a variety of configurable parameters that you can set. For a full listing, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class. Here's an example:</p>
 <p>Here's an example configuration:</p>
-<pre><code class="hljs css languages- java">Consumer consumer = client.newConsumer()
+<pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
         .ackTimeout(<span class="hljs-number">10</span>, TimeUnit.SECONDS)
@@ -201,13 +205,13 @@ get a future returned.</p>
 <h3><a class="anchor" aria-hidden="true" id="async-receive"></a><a href="#async-receive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>The <code>receive</code> method will receive messages synchronously (the consumer process will be blocked until a message is available). You can also use <a href="/docs/en/concepts-messaging#receive-modes">async receive</a>, which will return immediately with a <a href="http://www.baeldung.com/java-completablefuture"><code>CompletableFuture</code></a> object that completes once a new message is available.</p>
 <p>Here's an example:</p>
-<pre><code class="hljs css languages- java">CompletableFuture&lt;Message&gt; asyncMessage = consumer.receiveAsync();
+<pre><code class="hljs css language-java">CompletableFuture&lt;Message&gt; asyncMessage = consumer.receiveAsync();
 </code></pre>
 <p>Async receive operations return a {@inject javadoc:Message:/client/org/apache/pulsar/client/api/Message} wrapped inside of a <a href="http://www.baeldung.com/java-completablefuture"><code>CompletableFuture</code></a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="multi-topic-subscriptions"></a><a href="#multi-topic-subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
 <p>In addition to subscribing a consumer to a single Pulsar topic, you can also subscribe to multiple topics simultaneously using <a href="/docs/en/concepts-messaging#multi-topic-subscriptions">multi-topic subscriptions</a>. To use multi-topic subscriptions you can supply either a regular expression (regex) or a <code>List</code> of topics. If you select topics via regex, all topics must be within the same Pulsar namespace.</p>
 <p>Here are some examples:</p>
-<pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> org.apache.pulsar.client.api.Consumer;
+<pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> org.apache.pulsar.client.api.Consumer;
 <span class="hljs-keyword">import</span> org.apache.pulsar.client.api.PulsarClient;
 
 <span class="hljs-keyword">import</span> java.util.Arrays;
@@ -230,7 +234,7 @@ Consumer allTopicsConsumer = consumerBuilder
         .subscribe();
 </code></pre>
 <p>You can also subscribe to an explicit list of topics (across namespaces if you wish):</p>
-<pre><code class="hljs css languages- java">List&lt;String&gt; topics = Arrays.asList(
+<pre><code class="hljs css language-java">List&lt;String&gt; topics = Arrays.asList(
         <span class="hljs-string">"topic-1"</span>,
         <span class="hljs-string">"topic-2"</span>,
         <span class="hljs-string">"topic-3"</span>
@@ -250,7 +254,7 @@ Consumer multiTopicConsumer = consumerBuilder
         .subscribe();
 </code></pre>
 <p>You can also subscribe to multiple topics asynchronously using the <code>subscribeAsync</code> method rather than the synchronous <code>subscribe</code> method. Here's an example:</p>
-<pre><code class="hljs css languages- java">Pattern allTopicsInNamespace = Pattern.compile(<span class="hljs-string">"persistent://public/default.*"</span>);
+<pre><code class="hljs css language-java">Pattern allTopicsInNamespace = Pattern.compile(<span class="hljs-string">"persistent://public/default.*"</span>);
 consumerBuilder
         .topics(topics)
         .subscribeAsync()
@@ -270,7 +274,7 @@ consumerBuilder
  objects by specifying a topic, a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/MessageId">MessageId</a>
 , and {@inject javadoc:ReaderConfiguration:/client/org/apache/pulsar/client/api/ReaderConfiguration}.</p>
 <p>Here's an example:</p>
-<pre><code class="hljs css languages- java">ReaderConfiguration conf = <span class="hljs-keyword">new</span> ReaderConfiguration();
+<pre><code class="hljs css language-java">ReaderConfiguration conf = <span class="hljs-keyword">new</span> ReaderConfiguration();
 <span class="hljs-keyword">byte</span>[] msgIdBytes = <span class="hljs-comment">// Some message ID byte array</span>
 MessageId id = MessageId.fromByteArray(msgIdBytes);
 Reader reader = pulsarClient.newReader()
@@ -287,14 +291,14 @@ Reader reader = pulsarClient.newReader()
 <p>The code sample above shows pointing the <code>Reader</code> object to a specific message (by ID), but you can also use <code>MessageId.earliest</code> to point to the earliest available message on the topic of <code>MessageId.latest</code> to point to the most recent available message.</p>
 <h2><a class="anchor" aria-hidden="true" id="schemas"></a><a href="#schemas" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>In Pulsar, all message data consists of byte arrays &quot;under the hood.&quot; <a href="/docs/en/concepts-schema-registry">Message schemas</a> enable you to use other types of data when constructing and handling messages (from simple types like strings to more complex, application-specific types). If you construct, say, a <a href="#producers">producer</a> without specifying a schema, then the producer can only produce messages of type <code>byte[]</code>. Here's an example:</p>
-<pre><code class="hljs css languages- java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; producer = client.newProducer()
+<pre><code class="hljs css language-java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; producer = client.newProducer()
         .topic(topic)
         .create();
 </code></pre>
 <p>The producer above is equivalent to a <code>Producer&lt;byte[]&gt;</code> (in fact, you should <em>always</em> explicitly specify the type). If you'd like to use a producer for a different type of data, you'll need to specify a <strong>schema</strong> that informs Pulsar which data type will be transmitted over the <a href="/docs/en/reference-terminology#topic">topic</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="schema-example"></a><a href="#schema-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Let's say that you have a <code>SensorReading</code> class that you'd like to transmit over a Pulsar topic:</p>
-<pre><code class="hljs css languages- java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">SensorReading</span> </span>{
+<pre><code class="hljs css language-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">SensorReading</span> </span>{
     <span class="hljs-keyword">public</span> <span class="hljs-keyword">float</span> temperature;
 
     <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">SensorReading</span><span class="hljs-params">(<span class="hljs-keyword">float</span> temperature)</span> </span>{
@@ -315,29 +319,29 @@ Reader reader = pulsarClient.newReader()
 }
 </code></pre>
 <p>You could then create a <code>Producer&lt;SensorReading&gt;</code> (or <code>Consumer&lt;SensorReading&gt;</code>) like so:</p>
-<pre><code class="hljs css languages- java">Producer&lt;SensorReading&gt; producer = client.newProducer(JSONSchema.of(SensorReading.class))
+<pre><code class="hljs css language-java">Producer&lt;SensorReading&gt; producer = client.newProducer(JSONSchema.of(SensorReading.class))
         .topic(<span class="hljs-string">"sensor-readings"</span>)
         .create();
 </code></pre>
 <p>The following schema formats are currently available for Java:</p>
 <ul>
 <li><p>No schema or the byte array schema (which can be applied using <code>Schema.BYTES</code>):</p>
-<pre><code class="hljs css languages- java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; bytesProducer = client.newProducer(Schema.BYTES)
+<pre><code class="hljs css language-java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; bytesProducer = client.newProducer(Schema.BYTES)
       .topic(<span class="hljs-string">"some-raw-bytes-topic"</span>)
       .create();
 </code></pre>
 <p>Or, equivalently:</p>
-<pre><code class="hljs css languages- java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; bytesProducer = client.newProducer()
+<pre><code class="hljs css language-java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; bytesProducer = client.newProducer()
       .topic(<span class="hljs-string">"some-raw-bytes-topic"</span>)
       .create();
 </code></pre></li>
 <li><p><code>String</code> for normal UTF-8-encoded string data. This schema can be applied using <code>Schema.STRING</code>:</p>
-<pre><code class="hljs css languages- java">Producer&lt;String&gt; stringProducer = client.newProducer(Schema.STRING)
+<pre><code class="hljs css language-java">Producer&lt;String&gt; stringProducer = client.newProducer(Schema.STRING)
       .topic(<span class="hljs-string">"some-string-topic"</span>)
       .create();
 </code></pre></li>
 <li><p>JSON schemas can be created for POJOs using the <code>JSONSchema</code> class. Here's an example:</p>
-<pre><code class="hljs css languages- java">Schema&lt;MyPojo&gt; pojoSchema = JSONSchema.of(MyPojo.class);
+<pre><code class="hljs css language-java">Schema&lt;MyPojo&gt; pojoSchema = JSONSchema.of(MyPojo.class);
 Producer&lt;MyPojo&gt; pojoProducer = client.newProducer(pojoSchema)
       .topic(<span class="hljs-string">"some-pojo-topic"</span>)
       .create();
@@ -348,7 +352,7 @@ Producer&lt;MyPojo&gt; pojoProducer = client.newProducer(pojoSchema)
 <h3><a class="anchor" aria-hidden="true" id="tls-authentication"></a><a href="#tls-authentication" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>To use <a href="/docs/en/security-tls-authentication">TLS</a>, you need to set TLS to <code>true</code> using the <code>setUseTls</code> method, point your Pulsar client to a TLS cert path, and provide paths to cert and key files.</p>
 <p>Here's an example configuration:</p>
-<pre><code class="hljs css languages- java">Map&lt;String, String&gt; authParams = <span class="hljs-keyword">new</span> HashMap&lt;&gt;();
+<pre><code class="hljs css language-java">Map&lt;String, String&gt; authParams = <span class="hljs-keyword">new</span> HashMap&lt;&gt;();
 authParams.put(<span class="hljs-string">"tlsCertFile"</span>, <span class="hljs-string">"/path/to/client-cert.pem"</span>);
 authParams.put(<span class="hljs-string">"tlsKeyFile"</span>, <span class="hljs-string">"/path/to/client-key.pem"</span>);
 
@@ -371,7 +375,7 @@ PulsarClient client = PulsarClient.builder()
 <li><code>privateKey</code></li>
 </ul>
 <p>You can also set an optional <code>keyId</code>. Here's an example configuration:</p>
-<pre><code class="hljs css languages- java">Map&lt;String, String&gt; authParams = <span class="hljs-keyword">new</span> HashMap&lt;&gt;();
+<pre><code class="hljs css language-java">Map&lt;String, String&gt; authParams = <span class="hljs-keyword">new</span> HashMap&lt;&gt;();
 authParams.put(<span class="hljs-string">"tenantDomain"</span>, <span class="hljs-string">"shopping"</span>); <span class="hljs-comment">// Tenant domain name</span>
 authParams.put(<span class="hljs-string">"tenantService"</span>, <span class="hljs-string">"some_app"</span>); <span class="hljs-comment">// Tenant service name</span>
 authParams.put(<span class="hljs-string">"providerDomain"</span>, <span class="hljs-string">"pulsar"</span>); <span class="hljs-comment">// Provider domain name</span>
diff --git a/content/docs/en/client-libraries-java/index.html b/content/docs/en/client-libraries-java/index.html
index 1bd3948..da24a24 100644
--- a/content/docs/en/client-libraries-java/index.html
+++ b/content/docs/en/client-libraries-java/index.html
@@ -6,7 +6,7 @@
 
               ga('create', 'UA-102219959-1', 'auto');
               ga('send', 'pageview');
-            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><link rel="stylesheet" href="/css/main.css"/></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="he [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -34,6 +34,10 @@
                 var toggler = document.querySelector(togglerSelector);
                 var target = document.querySelector(targetSelector);
 
+                if (!toggler) {
+                  return;
+                }
+
                 toggler.onclick = function(event) {
                   event.preventDefault();
 
@@ -57,7 +61,7 @@
 <p>The latest version of the Pulsar Java client library is available via <a href="http://search.maven.org/#artifactdetails%7Corg.apache.pulsar%7Cpulsar-client%7C2.1.0-incubating%7Cjar">Maven Central</a>. To use the latest version, add the <code>pulsar-client</code> library to your build configuration.</p>
 <h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>If you're using Maven, add this to your <code>pom.xml</code>:</p>
-<pre><code class="hljs css languages- xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
+<pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.1.0-incubating<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
 
 <span class="hljs-comment">&lt;!-- in your &lt;dependencies&gt; block --&gt;</span>
@@ -69,7 +73,7 @@
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>If you're using Gradle, add this to your <code>build.gradle</code> file:</p>
-<pre><code class="hljs css languages- groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">'2.1.0-incubating'</span>
+<pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">'2.1.0-incubating'</span>
 
 dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-client'</span>, <span class="hljs-string">version:</span> pulsarVersion
@@ -78,18 +82,18 @@ dependencies {
 <h2><a class="anchor" aria-hidden="true" id="connection-urls"></a><a href="#connection-urls" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>To connect to Pulsar using client libraries, you need to specify a <a href="/docs/en/develop-binary-protocol">Pulsar protocol</a> URL.</p>
 <p>Pulsar protocol URLs are assigned to specific clusters, use the <code>pulsar</code> scheme and have a default port of 6650. Here's an example for <code>localhost</code>:</p>
-<pre><code class="hljs css languages- http">pulsar://localhost:6650
+<pre><code class="hljs css language-http">pulsar://localhost:6650
 </code></pre>
 <p>A URL for a production Pulsar cluster may look something like this:</p>
-<pre><code class="hljs css languages- http">pulsar://pulsar.us-west.example.com:6650
+<pre><code class="hljs css language-http">pulsar://pulsar.us-west.example.com:6650
 </code></pre>
 <p>If you're using <a href="/docs/en/security-tls-authentication">TLS</a> authentication, the URL will look like something like this:</p>
-<pre><code class="hljs css languages- http">pulsar+ssl://pulsar.us-west.example.com:6651
+<pre><code class="hljs css language-http">pulsar+ssl://pulsar.us-west.example.com:6651
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="client-configuration"></a><a href="#client-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>You can instantiate a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/PulsarClient">PulsarClient</a>
  object using just a URL for the target Pulsar <a href="/docs/en/reference-terminology#cluster">cluster</a>, like this:</p>
-<pre><code class="hljs css languages- java">PulsarClient client = PulsarClient.builder()
+<pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
         .build();
 </code></pre>
@@ -106,7 +110,7 @@ dependencies {
 <p>In Pulsar, producers write messages to topics. Once you've instantiated a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/PulsarClient">PulsarClient</a>
  object (as in the section <a href="#client-configuration">above</a>), you can create a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/client/api/Producer">Producer</a>
  for a specific Pulsar <a href="/docs/en/reference-terminology#topic">topic</a>.</p>
-<pre><code class="hljs css languages- java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; producer = client.newProducer()
+<pre><code class="hljs css language-java">Producer&lt;<span class="hljs-keyword">byte</span>[]&gt; producer = client.newProducer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .create();
 
@@ -114,19 +118,19 @@ dependencies {
 producer.send(<span class="hljs-string">"My message"</span>.getBytes());
 </code></pre>
 <p>By default, producers produce messages that consist of byte arrays. You can produce different types, however, by specifying a message <a href="#schemas">schema</a>.</p>
-<pre><code class="hljs css languages- java">Producer&lt;String&gt; stringProducer = client.newProducer(Schema.STRING)
+<pre><code class="hljs css language-java">Producer&lt;String&gt; stringProducer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
         .create();
 stringProducer.send(<span class="hljs-string">"My message"</span>);
 </code></pre>
 <blockquote>
 <p>You should always make sure to close your producers, consumers, and clients when they are no longer needed:</p>
-<pre><code class="hljs css langu