+
+## Using Dapr with a service mesh
+Dapr does work with service meshes. In the case where both are deployed together, both Dapr and service mesh sidecars are running in the application environment. In this case, it is recommended to configure only Dapr or only the service mesh to perform mTLS encryption and distributed tracing.
+
+Watch these recordings from the Dapr community calls showing presentations on running Dapr together with different service meshes:
+- General overview and a demo of [Dapr and Linkerd](https://youtu.be/xxU68ewRmz8?t=142)
+- Demo of running [Dapr and Istio](https://youtu.be/ngIDOQApx8g?t=335)
+
+## When to choose using Dapr, a service mesh or both
+Should you be using Dapr, a service mesh or both? The answer depends on your requirements. If, for example, you are looking to use Dapr for one or more building blocks such as state management or pub/sub and considering using a service mesh just for network security or observability, you may find that Dapr is a good fit and a service mesh is not required.
+
+Typically you would use a service mesh with Dapr where there is a corporate policy that traffic on the network needs to be encrypted regardless for all applications. For example, you may be using Dapr in only part of your application and other services and processes that are not using Dapr in your application also need encrypted traffic. In this scenario a service mesh is the better option and most likely you should use mTLS and distributed tracing on the service mesh and disable this on Dapr.
+
+If you need traffic splitting for A/B testing scenarios you would benefit from using a service mesh, since Dapr does not provide these capabilities.
+
+In some cases, where you require capabilities that are unique to both you will find it useful to leverage both Dapr and a service mesh - as mentioned above, there is no limitation for using them together.
diff --git a/daprdocs/content/en/contributing/contributing-docs.md b/daprdocs/content/en/contributing/contributing-docs.md
index 3fa66cbe5..c782e6300 100644
--- a/daprdocs/content/en/contributing/contributing-docs.md
+++ b/daprdocs/content/en/contributing/contributing-docs.md
@@ -127,6 +127,10 @@ As an example, for this specific section the complete reference to the page and
{{* ref "contributing-docs.md#referencing-sections-in-other-pages" */>}}
```
+## Shortcodes
+
+The following are useful shortcodes for writing Dapr documentation
+
### Images
The markdown spec used by Docsy and Hugo does not give an option to resize images using markdown notation. Instead, raw HTML is used.
@@ -230,6 +234,46 @@ The shortcode would be:
{{* youtube dQw4w9WgXcQ */>}}
```
+### Buttons
+
+To create a button in a webpage, use the `button` shortcode.
+
+#### Link to an external page
+
+```
+{{* button text="My Button" link="https://example.com" */>}}
+```
+
+{{< button text="My Button" link="https://example.com" >}}
+
+#### Link to another docs page
+
+You can also reference pages in your button as well:
+```
+{{* button text="My Button" page="contributing" */>}}
+```
+
+{{< button text="My Button" page="contributing" >}}
+
+#### Button colors
+
+You can customize the colors using the Bootstrap colors:
+```
+{{* button text="My Button" link="https://example.com" color="primary" */>}}
+{{* button text="My Button" link="https://example.com" color="secondary" */>}}
+{{* button text="My Button" link="https://example.com" color="success" */>}}
+{{* button text="My Button" link="https://example.com" color="danger" */>}}
+{{* button text="My Button" link="https://example.com" color="warning" */>}}
+{{* button text="My Button" link="https://example.com" color="info" */>}}
+```
+
+{{< button text="My Button" link="https://example.com" color="primary" >}}
+{{< button text="My Button" link="https://example.com" color="secondary" >}}
+{{< button text="My Button" link="https://example.com" color="success" >}}
+{{< button text="My Button" link="https://example.com" color="danger" >}}
+{{< button text="My Button" link="https://example.com" color="warning" >}}
+{{< button text="My Button" link="https://example.com" color="info" >}}
+
### References
- [Docsy authoring guide](https://www.docsy.dev/docs/adding-content/)
diff --git a/daprdocs/content/en/developing-applications/building-blocks/pubsub/howto-publish-subscribe.md b/daprdocs/content/en/developing-applications/building-blocks/pubsub/howto-publish-subscribe.md
index 0e848db1c..654c30d05 100644
--- a/daprdocs/content/en/developing-applications/building-blocks/pubsub/howto-publish-subscribe.md
+++ b/daprdocs/content/en/developing-applications/building-blocks/pubsub/howto-publish-subscribe.md
@@ -367,7 +367,7 @@ dapr run --app-id testpubsub --dapr-http-port 3500
Then publish a message to the `deathStarStatus` topic:
```bash
-dapr publish --publish-app-id testpubapp --pubsub pubsub --topic deathStarStatus --data '{"status": "completed"}'
+dapr publish --publish-app-id testpubsub --pubsub pubsub --topic deathStarStatus --data '{"status": "completed"}'
```
{{% /codetab %}}
diff --git a/daprdocs/content/en/developing-applications/building-blocks/secrets/howto-secrets.md b/daprdocs/content/en/developing-applications/building-blocks/secrets/howto-secrets.md
index 964cfdb20..b3c08f27c 100644
--- a/daprdocs/content/en/developing-applications/building-blocks/secrets/howto-secrets.md
+++ b/daprdocs/content/en/developing-applications/building-blocks/secrets/howto-secrets.md
@@ -42,7 +42,7 @@ spec:
Make sure to replace `The documentation you are viewing is for Dapr {{ . | markdownify }} + which is an older version of Dapr. + {{ with $latest_version }}For up-to-date documentation, see the + latest version.
+ {{ end }} + {{ end }} +