umami analytics support data-domains

This commit is contained in:
Weaxs 2024-07-05 11:09:07 +08:00
parent c6c2689195
commit 6f73fc630c
11 changed files with 42 additions and 24 deletions

View file

@ -134,6 +134,7 @@ disableTextInHeader = false
[umamiAnalytics]
# websiteid = "ABC12345"
# domain = "llama.yoursite.com"
# dataDomains = "yoursite.com,yoursite2.com"
[buymeacoffee]
# identifier = ""

View file

@ -133,6 +133,7 @@ smartTOCHideUnfocusedChildren = false
[umamiAnalytics]
# websiteid = "ABC12345"
# domain = "llama.yoursite.com"
# dataDomains = "yoursite.com,yoursite2.com"
[buymeacoffee]
identifier = "nunocoracao"

View file

@ -319,9 +319,10 @@ Many of the article defaults here can be overridden on a per article basis by sp
### Umami Analytics
| Name | Default | Description |
| -------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| -------------------------- | --------- |----------------------------------------------------------------------------------------------------------------------------------------------------|
| `umamiAnalytics.websiteid` | _Not set_ | The site code generated by Umami Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. |
| `umamiAnalytics.domain` | _Not set_ | If using a custom domain with Umami Analytics, provide it here to serve `script.js` from the custom domain. |
| `umamiAnalytics.dataDomains` | _Not set_ | If you want the tracker to only run on specific domains, provide it for your tracker script. This is a comma delimited list of domain names. Such as "yoursite.com,yoursite2.com". |
### BuyMeACoffee

View file

@ -318,9 +318,10 @@ Many of the article defaults here can be overridden on a per article basis by sp
### Umami Analytics
| Name | Default | Description |
| -------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| -------------------------- | --------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `umamiAnalytics.websiteid` | _Not set_ | The site code generated by Umami Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. |
| `umamiAnalytics.domain` | _Not set_ | If using a custom domain with Umami Analytics, provide it here to serve `script.js` from the custom domain. |
| `umamiAnalytics.dataDomains` | _Not set_ | If you want the tracker to only run on specific domains, provide it for your tracker script. This is a comma delimited list of domain names. Such as "yoursite.com,yoursite2.com". |
### BuyMeACoffee

View file

@ -319,9 +319,10 @@ Many of the article defaults here can be overridden on a per article basis by sp
### Umami Analytics
| Name | Default | Description |
| -------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| -------------------------- | --------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `umamiAnalytics.websiteid` | _Not set_ | The site code generated by Umami Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. |
| `umamiAnalytics.domain` | _Not set_ | If using a custom domain with Umami Analytics, provide it here to serve `script.js` from the custom domain. |
| `umamiAnalytics.dataDomains` | _Not set_ | If you want the tracker to only run on specific domains, provide it for your tracker script. This is a comma delimited list of domain names. Such as "yoursite.com,yoursite2.com". |
### BuyMeACoffee

View file

@ -322,9 +322,10 @@ Blowfish 提供了大量控制主题功能的配置参数,下面的表格中
### Umami Analytics
| Name | Default | Description |
| -------------------------- | --------- | ------------------------------------------------------------------------------------------ |
| -------------------------- | --------- |-------------------------------------------------------------------------------------|
| `umamiAnalytics.websiteid` | _Not set_ | 支持 Umami 站点分析平台。更多详细内容请参考 [分析文档]({{< ref "partials#analytics" >}})。 |
| `umamiAnalytics.domain` | _Not set_ | 如果使用自定义域名的 Umami Analytics请在此提供以便从自定义域名获取 `script.js`。 |
| `umamiAnalytics.dataDomains` | _Not set_ | 如果你只想在特别的数个域名中使用 tracker 功能那么你需要设置它。这个参数的值是逗号分隔的域名列表yoursite.com,yoursite2.com。 |
### BuyMeACoffee

View file

@ -44,6 +44,7 @@ googleAnalytics = "G-MEASUREMENT_ID"
To enable Umami Analytics support, simply provide your [Umami tracking code](https://umami.is/docs/collect-data) in the `config/_default/params.toml` file.
If you also use the custom domain feature of Umami and would like to serve their script from your domain, you can also additionally provide the `domain` configuration value. If you don't provide a `domain` value, the script will load directly from Umami DNS (analytics.umami.is).
If you want the tracker to only run on specific domains, you can provide the `dataDomains` configuration value. If you don't provide a `dataDomains` value, the script will run on any website where the `domain` and` websiteid` match.
```toml
# config/_default/params.toml
@ -51,6 +52,7 @@ If you also use the custom domain feature of Umami and would like to serve their
[umamiAnalytics]
websiteid = "ABC12345"
domain = "llama.yoursite.com"
dataDomains = "yoursite.com,yoursite2.com"
```
### Custom analytics providers

View file

@ -44,6 +44,7 @@ googleAnalytics = "G-MEASUREMENT_ID"
To enable Umami Analytics support, simply provide your [Umami tracking code](https://umami.is/docs/collect-data) in the `config/_default/params.toml` file.
If you also use the custom domain feature of Umami and would like to serve their script from your domain, you can also additionally provide the `domain` configuration value. If you don't provide a `domain` value, the script will load directly from Umami DNS (analytics.umami.is).
If you want the tracker to only run on specific domains, you can provide the `dataDomains` configuration value. If you don't provide a `dataDomains` value, the script will run on any website where the `domain` and` websiteid` match.
```toml
# config/_default/params.toml
@ -51,6 +52,7 @@ If you also use the custom domain feature of Umami and would like to serve their
[umamiAnalytics]
websiteid = "ABC12345"
domain = "llama.yoursite.com"
dataDomains = "yoursite.com,yoursite2.com"
```
### Custom analytics providers

View file

@ -44,13 +44,14 @@ googleAnalytics = "G-MEASUREMENT_ID"
To enable Umami Analytics support, simply provide your [Umami tracking code](https://umami.is/docs/collect-data) in the `config/_default/params.toml` file.
If you also use the custom domain feature of Umami and would like to serve their script from your domain, you can also additionally provide the `domain` configuration value. If you don't provide a `domain` value, the script will load directly from Umami DNS (analytics.umami.is).
If you want the tracker to only run on specific domains, you can provide the `dataDomains` configuration value. If you don't provide a `dataDomains` value, the script will run on any website where the `domain` and` websiteid` match.
```toml
# config/_default/params.toml
[umamiAnalytics]
websiteid = "ABC12345"
domain = "llama.yoursite.com"
dataDomains = "yoursite.com,yoursite2.com"
```
### Custom analytics providers

View file

@ -48,6 +48,7 @@ googleAnalytics = "G-MEASUREMENT_ID"
只需要在 `config/_default/params.toml` 文件提供你的 [Umami 跟踪代码](https://umami.is/docs/collect-data),就可以快速支持 Umami 站点分析。
如果你想使用自定义域名来获取跟踪脚本, 那么需要提供 `domain` 参数,否则会从 Umami 云服务版的地址 (analytics.umami.is) 获取脚本。
如果你只想在特别的数个域名中使用 tracker 功能,那么需要提供 `dataDomains` 参数。否则任何一个匹配了 `websiteid``domain` 参数值的网站Umami 脚本都会执行。
```toml
# config/_default/params.toml
@ -55,6 +56,7 @@ googleAnalytics = "G-MEASUREMENT_ID"
[umamiAnalytics]
websiteid = "ABC12345"
domain = "llama.yoursite.com"
dataDomains = "yoursite.com,yoursite2.com"
```
### 提供自定义站点分析

View file

@ -1,13 +1,18 @@
{{ if isset site.Params.umamiAnalytics "domain" }}
<script data-id="umami-script" async src="https://{{ site.Params.umamiAnalytics.domain }}/script.js" data-website-id="{{ site.Params.umamiAnalytics.websiteid }}">
<script data-id="umami-script" async
src="https://{{ site.Params.umamiAnalytics.domain }}/script.js"
data-website-id="{{ site.Params.umamiAnalytics.websiteid }}"
{{ with site.Params.umamiAnalytics.dataDomains }}data-domains="{{ . }}"{{ end }}>
</script>
{{ else }}
<script data-id="umami-script" async src="https://analytics.umami.is/script.js" data-website-id="{{ site.Params.umamiAnalytics.websiteid }}">
<script data-id="umami-script" async src="https://analytics.umami.is/script.js"
data-website-id="{{ site.Params.umamiAnalytics.websiteid }}">
</script>
{{ end }}
<script type="text/javascript">
document.querySelector('script[data-id="umami-script"]').addEventListener('load', function () {
document.querySelector('script[data-id="umami-script"]')
.addEventListener('load', function () {
const type = document.head.querySelector('meta[property = "og:type"]').getAttribute('content');
let title = document.head.querySelector('meta[property = "og:title"]').getAttribute('content');
let url = document.head.querySelector('meta[property = "og:url"]').getAttribute('content');