From e8ecdf8cde7c82cd3eb9900605b5850263ed4f80 Mon Sep 17 00:00:00 2001 From: Kailash Nadh Date: Fri, 10 Nov 2023 22:44:08 +0530 Subject: [PATCH] Fix mkdocs links in docs. --- docs/docs/content/apis/subscribers.md | 2 +- docs/docs/content/concepts.md | 10 +++++----- docs/docs/content/configuration.md | 6 +++--- docs/docs/content/external-integration.md | 2 +- docs/docs/content/index.md | 2 +- docs/docs/content/installation.md | 2 +- docs/docs/content/messengers.md | 2 +- docs/docs/content/templating.md | 2 +- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/docs/content/apis/subscribers.md b/docs/docs/content/apis/subscribers.md index 9a86c89..bed3ea3 100644 --- a/docs/docs/content/apis/subscribers.md +++ b/docs/docs/content/apis/subscribers.md @@ -342,7 +342,7 @@ ______________________________________________________________________ Blocklist subscribers based on SQL expression. -> Refer to the [querying and segmentation](/querying-and-segmentation#querying-and-segmenting-subscribers) section for more information on how to query subscribers with SQL expressions. +> Refer to the [querying and segmentation](../querying-and-segmentation.md#querying-and-segmenting-subscribers) section for more information on how to query subscribers with SQL expressions. ##### Example Request diff --git a/docs/docs/content/concepts.md b/docs/docs/content/concepts.md index ede5841..2064962 100644 --- a/docs/docs/content/concepts.md +++ b/docs/docs/content/concepts.md @@ -6,7 +6,7 @@ A subscriber is a recipient identified by an e-mail address and name. Subscriber ### Attributes -Attributes are arbitrary properties attached to a subscriber in addition to their e-mail and name. They are represented as a JSON map. It is not necessary for all subscribers to have the same attributes. Subscribers can be [queried and segmented](../querying-and-segmentation) into lists based on their attributes, and the attributes can be inserted into the e-mails sent to them. For example: +Attributes are arbitrary properties attached to a subscriber in addition to their e-mail and name. They are represented as a JSON map. It is not necessary for all subscribers to have the same attributes. Subscribers can be [queried and segmented](querying-and-segmentation.md) into lists based on their attributes, and the attributes can be inserted into the e-mails sent to them. For example: ```json { @@ -35,7 +35,7 @@ A subscriber can be added to one or more lists, and each such relationship can h ### Segmentation -Segmentation is the process of filtering a large list of subscribers into a smaller group based on arbitrary conditions, primarily based on their attributes. For instance, if an e-mail needs to be sent subscribers who live in a particular city, given their city is described in their attributes, it's possible to quickly filter them out into a new list and e-mail them. [Learn more](../querying-and-segmentation). +Segmentation is the process of filtering a large list of subscribers into a smaller group based on arbitrary conditions, primarily based on their attributes. For instance, if an e-mail needs to be sent subscribers who live in a particular city, given their city is described in their attributes, it's possible to quickly filter them out into a new list and e-mail them. [Learn more](querying-and-segmentation.md). ## List @@ -53,11 +53,11 @@ A transactional message is an arbitrary message sent to a subscriber using the t ## Template -A template is a re-usable HTML design that can be used across campaigns and when sending arbitrary transactional messages. Most commonly, templates have standard header and footer areas with logos and branding elements, where campaign content is inserted in the middle. listmonk supports [Go template](https://gowebexamples.com/templates/) expressions that lets you create powerful, dynamic HTML templates. [Learn more](../templating). +A template is a re-usable HTML design that can be used across campaigns and when sending arbitrary transactional messages. Most commonly, templates have standard header and footer areas with logos and branding elements, where campaign content is inserted in the middle. listmonk supports [Go template](https://gowebexamples.com/templates/) expressions that lets you create powerful, dynamic HTML templates. [Learn more](templating.md). ## Messenger -listmonk supports multiple custom messaging backends in additional to the default SMTP e-mail backend, enabling not just e-mail campaigns, but arbitrary message campaigns such as SMS, FCM notifications etc. A *Messenger* is a web service that accepts a campaign message pushed to it as a JSON request, which the service can in turn broadcast as SMS, FCM etc. [Learn more](../messengers). +listmonk supports multiple custom messaging backends in additional to the default SMTP e-mail backend, enabling not just e-mail campaigns, but arbitrary message campaigns such as SMS, FCM notifications etc. A *Messenger* is a web service that accepts a campaign message pushed to it as a JSON request, which the service can in turn broadcast as SMS, FCM etc. [Learn more](messengers.md). ## Tracking pixel @@ -69,4 +69,4 @@ It is possible to track the clicks on every link that is sent in an e-mail. This ## Bounce -A bounce occurs when an e-mail that is sent to a recipient "bounces" back for one of many reasons including the recipient address being invalid, their mailbox being full, or the recipient's e-mail service provider marking the e-mail as spam. listmonk can automatically process such bounce e-mails that land in a configured POP mailbox, or via APIs of SMTP e-mail providers such as AWS SES and Sengrid. Based on settings, subscribers returning bounced e-mails can either be blocklisted or deleted automatically. [Learn more](../bounces). +A bounce occurs when an e-mail that is sent to a recipient "bounces" back for one of many reasons including the recipient address being invalid, their mailbox being full, or the recipient's e-mail service provider marking the e-mail as spam. listmonk can automatically process such bounce e-mails that land in a configured POP mailbox, or via APIs of SMTP e-mail providers such as AWS SES and Sengrid. Based on settings, subscribers returning bounced e-mails can either be blocklisted or deleted automatically. [Learn more](bounces.md). diff --git a/docs/docs/content/configuration.md b/docs/docs/content/configuration.md index ade1949..49085d3 100644 --- a/docs/docs/content/configuration.md +++ b/docs/docs/content/configuration.md @@ -22,7 +22,7 @@ Variables in config.toml can also be provided as environment variables prefixed ### Customizing system templates -[Read this](../templating/#system-templates) +See [system templates](templating.md#system-templates). ### HTTP routes @@ -48,9 +48,9 @@ When configuring auth proxies and web application firewalls, use this table. | `POST` | `/webhooks/service/*` | Bounce webhook endpoints for AWS and Sendgrid | -## Media Uploads +## Media uploads -### Filesystem +#### Using filesystem When configuring `docker` volume mounts for using filesystem media uploads, you can follow either of two approaches. [The second option may be necessary if](https://github.com/knadh/listmonk/issues/1169#issuecomment-1674475945) your setup requires you to use `sudo` for docker commands. diff --git a/docs/docs/content/external-integration.md b/docs/docs/content/external-integration.md index d402b4f..9ced11c 100644 --- a/docs/docs/content/external-integration.md +++ b/docs/docs/content/external-integration.md @@ -4,7 +4,7 @@ In many environments, a mailing list manager's subscriber database is not run in ## Using APIs -The [subscriber APIs](../apis/subscribers) offers several APIs to manipulate the subscribers database, like addition, updation, and deletion. For bulk synchronisation, a CSV can be generated (and optionally zipped) and posted to the import API. +The [subscriber APIs](apis/subscribers.md) offers several APIs to manipulate the subscribers database, like addition, updation, and deletion. For bulk synchronisation, a CSV can be generated (and optionally zipped) and posted to the import API. ## Interacting directly with the DB diff --git a/docs/docs/content/index.md b/docs/docs/content/index.md index be2019b..f5ee1f1 100644 --- a/docs/docs/content/index.md +++ b/docs/docs/content/index.md @@ -7,4 +7,4 @@ listmonk is a self-hosted, high performance mailing list and newsletter manager. [![listmonk screenshot](https://user-images.githubusercontent.com/547147/134939475-e0391111-f762-44cb-b056-6cb0857755e3.png)](https://listmonk.app) ## Developers -listmonk is a free and open source software licensed under AGPLv3. If you are interested in contributing, check out the [GitHub repository](https://github.com/knadh/listmonk) and refer to the [developer setup](developer-setup). The backend is written in Go and the frontend is Vue with Buefy for UI. +listmonk is a free and open source software licensed under AGPLv3. If you are interested in contributing, check out the [GitHub repository](https://github.com/knadh/listmonk) and refer to the [developer setup](developer-setup.md). The backend is written in Go and the frontend is Vue with Buefy for UI. diff --git a/docs/docs/content/installation.md b/docs/docs/content/installation.md index 012dac9..db44c87 100644 --- a/docs/docs/content/installation.md +++ b/docs/docs/content/installation.md @@ -113,7 +113,7 @@ max_lifetime = "300s" Mount the local `config.toml` inside the container at `listmonk/config.toml`. !!! tip - - See [configuring with environment variables](../configuration) for variables like `app.admin_password` and `db.password` + - See [configuring with environment variables](configuration.md) for variables like `app.admin_password` and `db.password` - Ensure that both `app` and `db` containers are in running. If the containers are not running, restart them `docker compose restart app db`. - Refer to [this tutorial](https://yasoob.me/posts/setting-up-listmonk-opensource-newsletter-mailing/) for setting up a production instance with Docker + Nginx + LetsEncrypt SSL. diff --git a/docs/docs/content/messengers.md b/docs/docs/content/messengers.md index 90fbf4c..c1cb19e 100644 --- a/docs/docs/content/messengers.md +++ b/docs/docs/content/messengers.md @@ -8,7 +8,7 @@ Messengers support optional BasicAuth authentication. `Plain text` format for ca When a campaign starts, listmonk POSTs messages in the following format to the selected messenger's endpoint. The endpoint should return a `200 OK` response in case of a successful request. -The address required to broadcast the message, for instance, a phone number or an FCM ID, is expected to be stored and relayed as [subscriber attributes](../concepts/#attributes). +The address required to broadcast the message, for instance, a phone number or an FCM ID, is expected to be stored and relayed as [subscriber attributes](concepts.md/#attributes). ```json { diff --git a/docs/docs/content/templating.md b/docs/docs/content/templating.md index 912c39e..184d49a 100644 --- a/docs/docs/content/templating.md +++ b/docs/docs/content/templating.md @@ -109,7 +109,7 @@ The expression `{{ template "content" . }}` should appear exactly once in every ### Example campaign body -Campaign bodies can be composed using the built-in WYSIWYG editor or as raw HTML documents. Assuming that the subscriber has a set of [attributes defined](../querying-and-segmentation#sample-attributes), this example shows how to render those values in a campaign. +Campaign bodies can be composed using the built-in WYSIWYG editor or as raw HTML documents. Assuming that the subscriber has a set of [attributes defined](querying-and-segmentation.md#sample-attributes), this example shows how to render those values in a campaign. ``` Hey, did you notice how the template showed your first name?