initial commit

This commit is contained in:
2026-02-16 00:41:55 +03:00
commit 73abb199ed
11 changed files with 1088 additions and 0 deletions

260
config/plausible.yml Normal file
View File

@@ -0,0 +1,260 @@
- type: custom-api
title: Site Statistics
hide-header: true
cache: 1m
subrequests:
# aveminakarabudak.com
a1:
url: ${PLAUSIBLE_BASE_URL}/api/v1/stats/realtime/visitors?site_id=aveminakarabudak.com
headers: { Authorization: "Bearer ${PLAUSIBLE_TOKEN}" }
s1:
url: ${PLAUSIBLE_BASE_URL}/api/v1/stats/aggregate?site_id=aveminakarabudak.com&period=day&metrics=visitors,pageviews,visits
headers: { Authorization: "Bearer ${PLAUSIBLE_TOKEN}" }
# ayrisapart.com
a2:
url: ${PLAUSIBLE_BASE_URL}/api/v1/stats/realtime/visitors?site_id=ayrisapart.com
headers: { Authorization: "Bearer ${PLAUSIBLE_TOKEN}" }
s2:
url: ${PLAUSIBLE_BASE_URL}/api/v1/stats/aggregate?site_id=ayrisapart.com&period=day&metrics=visitors,pageviews,visits
headers: { Authorization: "Bearer ${PLAUSIBLE_TOKEN}" }
# ayris.tech
a3:
url: ${PLAUSIBLE_BASE_URL}/api/v1/stats/realtime/visitors?site_id=ayris.tech
headers: { Authorization: "Bearer ${PLAUSIBLE_TOKEN}" }
s3:
url: ${PLAUSIBLE_BASE_URL}/api/v1/stats/aggregate?site_id=ayris.tech&period=day&metrics=visitors,pageviews,visits
headers: { Authorization: "Bearer ${PLAUSIBLE_TOKEN}" }
# irisiptv.online
a4:
url: ${PLAUSIBLE_BASE_URL}/api/v1/stats/realtime/visitors?site_id=irisiptv.online
headers: { Authorization: "Bearer ${PLAUSIBLE_TOKEN}" }
s4:
url: ${PLAUSIBLE_BASE_URL}/api/v1/stats/aggregate?site_id=irisiptv.online&period=day&metrics=visitors,pageviews,visits
headers: { Authorization: "Bearer ${PLAUSIBLE_TOKEN}" }
# screencapr.com
a5:
url: ${PLAUSIBLE_BASE_URL}/api/v1/stats/realtime/visitors?site_id=screencapr.com
headers: { Authorization: "Bearer ${PLAUSIBLE_TOKEN}" }
s5:
url: ${PLAUSIBLE_BASE_URL}/api/v1/stats/aggregate?site_id=screencapr.com&period=day&metrics=visitors,pageviews,visits
headers: { Authorization: "Bearer ${PLAUSIBLE_TOKEN}" }
template: |
<div class="plausible-multi-site">
<style>
.plausible-site-row {
display: grid;
grid-template-columns: auto 1fr auto;
gap: 16px;
padding: 16px;
border-bottom: 1px solid var(--color-widget-content-border);
align-items: center;
}
.plausible-site-row:last-child {
border-bottom: none;
}
.site-icon {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
overflow: hidden;
}
.site-icon img {
width: 100%;
height: 100%;
object-fit: cover;
}
.site-info {
display: flex;
flex-direction: column;
gap: 2px;
}
.site-domain {
font-weight: 800;
color: var(--color-highlight);
font-size: 1.25rem;
}
.site-metrics {
display: flex;
gap: 12px;
font-size: 0.85rem;
color: var(--color-subdue);
font-family: var(--font-family-mono);
}
.metric-item b {
color: var(--color-primary);
}
.realtime-badge {
background: rgba(34, 197, 94, 0.15);
color: #22c55e;
padding: 2px 10px;
border-radius: 20px;
font-size: 0.8rem;
font-weight: 700;
display: flex;
align-items: center;
gap: 6px;
}
.realtime-dot {
width: 8px;
height: 8px;
background: currentColor;
border-radius: 50%;
animation: pulse 1.5s infinite;
}
@keyframes pulse {
0% { opacity: 1; transform: scale(1); }
50% { opacity: 0.4; transform: scale(1.2); }
100% { opacity: 1; transform: scale(1); }
}
</style>
{{ $sites := . }}
<!-- Site Block 1 -->
{{ $a1 := .Subrequest "a1" }}
{{ $s1 := .Subrequest "s1" }}
<div class="plausible-site-row">
<div class="site-icon">
<img src="https://icon.horse/icon/aveminakarabudak.com" alt="" />
</div>
<div class="site-info">
<span class="site-domain">aveminakarabudak.com</span>
<div class="site-metrics">
{{ if eq $s1.Response.StatusCode 200 }}
<span class="metric-item">Visitors: <b>{{ $s1.JSON.Get "results.visitors.value" }}</b></span>
<span class="metric-item">Views: <b>{{ $s1.JSON.Get "results.pageviews.value" }}</b></span>
{{ end }}
</div>
</div>
<div class="site-status">
{{ if eq $a1.Response.StatusCode 200 }}
{{ $c1 := $a1.JSON.Raw }}
{{ if ne $c1 "0" }}
<div class="realtime-badge">
<span class="realtime-dot"></span>
{{ $c1 }} Active
</div>
{{ end }}
{{ end }}
</div>
</div>
<!-- Site Block 2 -->
{{ $a2 := .Subrequest "a2" }}
{{ $s2 := .Subrequest "s2" }}
<div class="plausible-site-row">
<div class="site-icon">
<img src="https://icon.horse/icon/ayrisapart.com" alt="" />
</div>
<div class="site-info">
<span class="site-domain">ayrisapart.com</span>
<div class="site-metrics">
{{ if eq $s2.Response.StatusCode 200 }}
<span class="metric-item">Visitors: <b>{{ $s2.JSON.Get "results.visitors.value" }}</b></span>
<span class="metric-item">Views: <b>{{ $s2.JSON.Get "results.pageviews.value" }}</b></span>
{{ end }}
</div>
</div>
<div class="site-status">
{{ if eq $a2.Response.StatusCode 200 }}
{{ $c2 := $a2.JSON.Raw }}
{{ if ne $c2 "0" }}
<div class="realtime-badge">
<span class="realtime-dot"></span>
{{ $c2 }} Active
</div>
{{ end }}
{{ end }}
</div>
</div>
<!-- Site Block 3 -->
{{ $a3 := .Subrequest "a3" }}
{{ $s3 := .Subrequest "s3" }}
<div class="plausible-site-row">
<div class="site-icon">
<img src="https://icon.horse/icon/ayris.tech" alt="" />
</div>
<div class="site-info">
<span class="site-domain">ayris.tech</span>
<div class="site-metrics">
{{ if eq $s3.Response.StatusCode 200 }}
<span class="metric-item">Visitors: <b>{{ $s3.JSON.Get "results.visitors.value" }}</b></span>
<span class="metric-item">Views: <b>{{ $s3.JSON.Get "results.pageviews.value" }}</b></span>
{{ end }}
</div>
</div>
<div class="site-status">
{{ if eq $a3.Response.StatusCode 200 }}
{{ $c3 := $a3.JSON.Raw }}
{{ if ne $c3 "0" }}
<div class="realtime-badge">
<span class="realtime-dot"></span>
{{ $c3 }} Active
</div>
{{ end }}
{{ end }}
</div>
</div>
<!-- Site Block 4 -->
{{ $a4 := .Subrequest "a4" }}
{{ $s4 := .Subrequest "s4" }}
<div class="plausible-site-row">
<div class="site-icon">
<img src="https://icon.horse/icon/irisiptv.online" alt="" />
</div>
<div class="site-info">
<span class="site-domain">irisiptv.online</span>
<div class="site-metrics">
{{ if eq $s4.Response.StatusCode 200 }}
<span class="metric-item">Visitors: <b>{{ $s4.JSON.Get "results.visitors.value" }}</b></span>
<span class="metric-item">Views: <b>{{ $s4.JSON.Get "results.pageviews.value" }}</b></span>
{{ end }}
</div>
</div>
<div class="site-status">
{{ if eq $a4.Response.StatusCode 200 }}
{{ $c4 := $a4.JSON.Raw }}
{{ if ne $c4 "0" }}
<div class="realtime-badge">
<span class="realtime-dot"></span>
{{ $c4 }} Active
</div>
{{ end }}
{{ end }}
</div>
</div>
<!-- Site Block 5 -->
{{ $a5 := .Subrequest "a5" }}
{{ $s5 := .Subrequest "s5" }}
<div class="plausible-site-row">
<div class="site-icon">
<img src="https://icon.horse/icon/screencapr.com" alt="" />
</div>
<div class="site-info">
<span class="site-domain">screencapr.com</span>
<div class="site-metrics">
{{ if eq $s5.Response.StatusCode 200 }}
<span class="metric-item">Visitors: <b>{{ $s5.JSON.Get "results.visitors.value" }}</b></span>
<span class="metric-item">Views: <b>{{ $s5.JSON.Get "results.pageviews.value" }}</b></span>
{{ end }}
</div>
</div>
<div class="site-status">
{{ if eq $a5.Response.StatusCode 200 }}
{{ $c5 := $a5.JSON.Raw }}
{{ if ne $c5 "0" }}
<div class="realtime-badge">
<span class="realtime-dot"></span>
{{ $c5 }} Active
</div>
{{ end }}
{{ end }}
</div>
</div>
</div>