diff --git a/daprdocs/assets/scss/_sidebar-toc.scss b/daprdocs/assets/scss/_sidebar-toc.scss
deleted file mode 100644
index 0e34a4ad87e..00000000000
--- a/daprdocs/assets/scss/_sidebar-toc.scss
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-// Right side toc
-//
-.td-toc {
- border-left: 1px solid $border-color;
-
- @supports (position: sticky) {
- position: sticky;
- top: 4rem;
- height: calc(100vh - 10rem);
- overflow-y: auto;
- }
-
- order: 2;
- padding-top: 2.75rem;
- padding-bottom: 1.5rem;
- vertical-align: top;
-
- a {
- display: block;
- font-weight: $font-weight-medium;
- padding-bottom: .25rem;
- }
-
- li {
- list-style: none;
- display: block;
- font-size: 1.1rem;
- }
-
- li li {
- margin-left: 1.5rem;
- font-size: 1.1rem;
- }
-
- .td-page-meta {
- a {
- font-weight: $font-weight-medium;
- }
- }
-
- #TableOfContents {
- // Hugo's ToC is a mouthful, this can be used to style the top level h2 entries.
- > ul > li > ul > li > a {}
-
- a {
- color: rgb(68, 68, 68);
- &:hover {
- color: $blue;
- text-decoration: none;
- }
- }
- }
-
- ul {
- padding-left: 0;
- }
-}
\ No newline at end of file
diff --git a/daprdocs/content/en/contributing/contributing-docs.md b/daprdocs/content/en/contributing/contributing-docs.md
index e8a4d5cb41b..66d1c5881a7 100644
--- a/daprdocs/content/en/contributing/contributing-docs.md
+++ b/daprdocs/content/en/contributing/contributing-docs.md
@@ -219,6 +219,102 @@ brew install dapr/tap/dapr-cli
{{< /tabs >}}
+### Embedded code snippets
+
+Use the `code-snippet` shortcode to reference code snippets from the `static/code` directory.
+
+```
+{{* code-snippet file="myfile.py" lang="python" */>}}
+```
+
+{{% alert title="Warning" color="warning" %}}
+All Dapr sample code should be self-contained in separate files, not in markdown. Use the techniques described here to highlight the parts of the sample code users should focus on.
+{{% /alert %}}
+
+Use the `lang` (default `txt`) parameter to configure the language used for syntax highlighting.
+
+Use the `marker` parameter to limit the embedded snipped to a portion of the sample file. This is useful when you want to show just a portion of a larger file. The typical way to do this is surround the interesting code with comments, and then pass the comment text into `marker`.
+
+The shortcode below and code sample:
+
+```
+{{* code-snippet file="./contributing-1.py" lang="python" marker="#SAMPLE" */>}}
+```
+
+```python
+import json
+import time
+
+from dapr.clients import DaprClient
+
+#SAMPLE
+with DaprClient() as d:
+ req_data = {
+ 'id': 1,
+ 'message': 'hello world'
+ }
+
+ while True:
+ # Create a typed message with content type and body
+ resp = d.invoke_method(
+ 'invoke-receiver',
+ 'my-method',
+ data=json.dumps(req_data),
+ )
+
+ # Print the response
+ print(resp.content_type, flush=True)
+ print(resp.text(), flush=True)
+
+ time.sleep(2)
+#SAMPLE
+```
+
+Will result in the following output:
+
+{{< code-snippet file="contributing-1.py" lang="python" marker="#SAMPLE" >}}
+
+Use the `replace-key-[token]` and `replace-value-[token]` parameters to limit the embedded snipped to a portion of the sample file. This is useful when you want abbreviate a portion of the code sample. Multiple replacements are supported with multiple values of `token`.
+
+The shortcode below and code sample:
+
+```
+{{* code-snippet file="./contributing-2.py" lang="python" replace-key-imports="#IMPORTS" replace-value-imports="# Import statements" */>}}
+```
+
+```python
+#IMPORTS
+import json
+import time
+#IMPORTS
+
+from dapr.clients import DaprClient
+
+with DaprClient() as d:
+ req_data = {
+ 'id': 1,
+ 'message': 'hello world'
+ }
+
+ while True:
+ # Create a typed message with content type and body
+ resp = d.invoke_method(
+ 'invoke-receiver',
+ 'my-method',
+ data=json.dumps(req_data),
+ )
+
+ # Print the response
+ print(resp.content_type, flush=True)
+ print(resp.text(), flush=True)
+
+ time.sleep(2)
+```
+
+Will result in the following output:
+
+{{< code-snippet file="./contributing-2.py" lang="python" replace-key-imports="#IMPORTS" replace-value-imports="# Import statements" >}}
+
### YouTube videos
Hugo can automatically embed YouTube videos using a shortcode:
```
diff --git a/daprdocs/content/en/contributing/roadmap.md b/daprdocs/content/en/contributing/roadmap.md
new file mode 100644
index 00000000000..d7e8dd06c89
--- /dev/null
+++ b/daprdocs/content/en/contributing/roadmap.md
@@ -0,0 +1,48 @@
+---
+type: docs
+title: "Dapr Roadmap"
+linkTitle: "Roadmap"
+description: "The Dapr Roadmap is a tool to help with visibility into investments across the Dapr project"
+weight: 1100
+no_list: true
+---
+
+
+Dapr encourages the community to help with prioritization. A GitHub project board is available to view and provide feedback on proposed issues and track them across development.
+
+[](https://aka.ms/dapr/roadmap)
+
+{{< button text="View the backlog" link="https://aka.ms/dapr/roadmap" color="primary" >}}
+
+
+Please vote by adding a 👍 on the GitHub issues for the feature capabilities you would most like to see Dapr support. This will help the Dapr maintainers understand which features will provide the most value.
+
+Contributions from the community is also welcomed. If there are features on the roadmap that you are interested in contributing to, please comment on the GitHub issue and include your solution proposal.
+
+{{% alert title="Note" color="primary" %}}
+The Dapr roadmap includes issues only from the v1.2 release and onwards. Issues closed and released prior to v1.2 are not included.
+{{% /alert %}}
+
+## Stages
+
+The Dapr Roadmap progresses through the following stages:
+
+{{< cardpane >}}
+{{< card title="**[📄 Backlog](https://github.com/orgs/dapr/projects/52#column-14691591)**" >}}
+ Issues (features) that need 👍 votes from the community to prioritize. Updated by Dapr maintainers.
+{{< /card >}}
+{{< card title="**[⏳ Planned (Committed)](https://github.com/orgs/dapr/projects/52#column-14561691)**" >}}
+ Issues with a proposal and/or targeted release milestone. This is where design proposals are discussed and designed.
+{{< /card >}}
+{{< card title="**[👩💻 In Progress (Development)](https://github.com/orgs/dapr/projects/52#column-14561696)**" >}}
+ Implementation specifics have been agreed upon and the feature is under active development.
+{{< /card >}}
+{{< /cardpane >}}
+{{< cardpane >}}
+{{< card title="**[☑ Done](https://github.com/orgs/dapr/projects/52#column-14561700)**" >}}
+ The feature capability has been completed and is scheduled for an upcoming release.
+{{< /card >}}
+{{< card title="**[✅ Released](https://github.com/orgs/dapr/projects/52#column-14659973)**" >}}
+ The feature is released and available for use.
+{{< /card >}}
+{{< /cardpane >}}
diff --git a/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-message-ttl.md b/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-message-ttl.md
index 218330f1987..881908210a3 100644
--- a/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-message-ttl.md
+++ b/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-message-ttl.md
@@ -22,7 +22,7 @@ When message time-to-live has native support in the pub/sub component, Dapr simp
#### Azure Service Bus
-Azure Service Bus supports [entity level time-to-live]((https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-expiration)). This means that messages have a default time-to-live but can also be set with a shorter timespan at publishing time. Dapr propagates the time-to-live metadata for the message and lets Azure Service Bus handle the expiration directly.
+Azure Service Bus supports [entity level time-to-live](https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-expiration). This means that messages have a default time-to-live but can also be set with a shorter timespan at publishing time. Dapr propagates the time-to-live metadata for the message and lets Azure Service Bus handle the expiration directly.
## Non-Dapr subscribers
diff --git a/daprdocs/content/en/getting-started/configure-state-pubsub.md b/daprdocs/content/en/getting-started/configure-state-pubsub.md
index 84faafa3bfb..2b49fced2dd 100644
--- a/daprdocs/content/en/getting-started/configure-state-pubsub.md
+++ b/daprdocs/content/en/getting-started/configure-state-pubsub.md
@@ -30,7 +30,7 @@ Dapr can use any Redis instance - either containerized on your local dev machine
{{< tabs "Self-Hosted" "Kubernetes" "Azure" "AWS" "GCP" >}}
{{% codetab %}}
-Redis is automatically installed in self-hosted environments by the Dapr CLI as part of the initialization process. You are all set and can skip to the [next steps](next steps)
+Redis is automatically installed in self-hosted environments by the Dapr CLI as part of the initialization process. You are all set and can skip to the [next steps](#next-steps)
{{% /codetab %}}
{{% codetab %}}
@@ -127,7 +127,7 @@ spec:
key: redis-password
```
-This example uses the the kubernetes secret that was created when setting up a cluster with the above instructions.
+This example uses the kubernetes secret that was created when setting up a cluster with the above instructions.
{{% alert title="Other stores" color="primary" %}}
If using a state store other than Redis, refer to the [supported state stores]({{< ref supported-state-stores >}}) for information on what options to set.
@@ -155,7 +155,7 @@ spec:
key: redis-password
```
-This example uses the the kubernetes secret that was created when setting up a cluster with the above instructions.
+This example uses the kubernetes secret that was created when setting up a cluster with the above instructions.
{{% alert title="Other stores" color="primary" %}}
If using a pub/sub message broker other than Redis, refer to the [supported pub/sub message brokers]({{< ref supported-pubsub >}}) for information on what options to set.
diff --git a/daprdocs/content/en/operations/configuration/control-concurrency.md b/daprdocs/content/en/operations/configuration/control-concurrency.md
index 32277726024..741533356d3 100644
--- a/daprdocs/content/en/operations/configuration/control-concurrency.md
+++ b/daprdocs/content/en/operations/configuration/control-concurrency.md
@@ -46,7 +46,7 @@ spec:
dapr.io/enabled: "true"
dapr.io/app-id: "nodesubscriber"
dapr.io/app-port: "3000"
- dapr.io/app-max-concurrency: "1"
+ dapr.io/app-max-concurrency: "1"
...
```
diff --git a/daprdocs/content/en/reference/api/health_api.md b/daprdocs/content/en/reference/api/health_api.md
index 98c6fcb44fd..697e50117a9 100644
--- a/daprdocs/content/en/reference/api/health_api.md
+++ b/daprdocs/content/en/reference/api/health_api.md
@@ -14,7 +14,7 @@ Gets the health state for Dapr.
### HTTP Request
-```http
+```
GET http://localhost:/v1.0/healthz
```
diff --git a/daprdocs/content/en/reference/api/metadata_api.md b/daprdocs/content/en/reference/api/metadata_api.md
index da956fe782a..f731e5abadc 100644
--- a/daprdocs/content/en/reference/api/metadata_api.md
+++ b/daprdocs/content/en/reference/api/metadata_api.md
@@ -18,7 +18,7 @@ Gets the Dapr sidecar information provided by the Metadata Endpoint.
### HTTP Request
-```http
+```
GET http://localhost:/v1.0/metadata
```
diff --git a/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-azure-servicebus.md b/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-azure-servicebus.md
index 987ec1a293e..9632a470f7d 100644
--- a/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-azure-servicebus.md
+++ b/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-azure-servicebus.md
@@ -22,38 +22,38 @@ spec:
metadata:
- name: connectionString # Required
value: "Endpoint=sb://{ServiceBusNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={ServiceBus}"
- - name: timeoutInSec # Optional
- value: 60
- - name: handlerTimeoutInSec # Optional
- value: 60
- - name: disableEntityManagement # Optional
- value: "false"
- - name: maxDeliveryCount # Optional
- value: 3
- - name: lockDurationInSec # Optional
- value: 60
- - name: lockRenewalInSec # Optional
- value: 20
- - name: maxActiveMessages # Optional
- value: 2000
- - name: maxActiveMessagesRecoveryInSec # Optional
- value: 2
- - name: maxConcurrentHandlers # Optional
- value: 10
- - name: prefetchCount # Optional
- value: 5
- - name: defaultMessageTimeToLiveInSec # Optional
- value: 10
- - name: autoDeleteOnIdleInSec # Optional
- value: 10
- - name: maxReconnectionAttempts # Optional
- value: 30
- - name: connectionRecoveryInSec # Optional
- value: 2
- - name: publishMaxRetries # Optional
- value: 5
- - name: publishInitialRetryInternalInMs # Optional
- value: 500
+ # - name: timeoutInSec # Optional
+ # value: 60
+ # - name: handlerTimeoutInSec # Optional
+ # value: 60
+ # - name: disableEntityManagement # Optional
+ # value: "false"
+ # - name: maxDeliveryCount # Optional
+ # value: 3
+ # - name: lockDurationInSec # Optional
+ # value: 60
+ # - name: lockRenewalInSec # Optional
+ # value: 20
+ # - name: maxActiveMessages # Optional
+ # value: 2000
+ # - name: maxActiveMessagesRecoveryInSec # Optional
+ # value: 2
+ # - name: maxConcurrentHandlers # Optional
+ # value: 10
+ # - name: prefetchCount # Optional
+ # value: 5
+ # - name: defaultMessageTimeToLiveInSec # Optional
+ # value: 10
+ # - name: autoDeleteOnIdleInSec # Optional
+ # value: 10
+ # - name: maxReconnectionAttempts # Optional
+ # value: 30
+ # - name: connectionRecoveryInSec # Optional
+ # value: 2
+ # - name: publishMaxRetries # Optional
+ # value: 5
+ # - name: publishInitialRetryInternalInMs # Optional
+ # value: 500
```
> __NOTE:__ The above settings are shared across all topics that use this component.
@@ -66,7 +66,7 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Details | Example |
|--------------------|:--------:|---------|---------|
-| connectionString | Y | Connection-string for the Service Bus | "`Endpoint=sb://{ServiceBusNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={ServiceBus}`"
+| connectionString | Y | Shared access policy connection-string for the Service Bus | "`Endpoint=sb://{ServiceBusNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={ServiceBus}`"
| timeoutInSec | N | Timeout for sending messages and management operations. Default: `60` |`30`
| handlerTimeoutInSec| N | Timeout for invoking app handler. # Optional. Default: `60` | `30`
| disableEntityManagement | N | When set to true, topics and subscriptions do not get created automatically. Default: `"false"` | `"true"`, `"false"`
diff --git a/daprdocs/content/en/roadmap/_index.md b/daprdocs/content/en/roadmap/_index.md
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/daprdocs/layouts/partials/toc.html b/daprdocs/layouts/partials/toc.html
index f155f8b13aa..a7fe9f61185 100644
--- a/daprdocs/layouts/partials/toc.html
+++ b/daprdocs/layouts/partials/toc.html
@@ -1,8 +1,8 @@
-{{ partial "page-meta-links.html" . }}
{{ if not .Params.notoc }}
{{ with .TableOfContents }}
{{ if ge (len .) 200 }}
-{{ . }}
+
+