Added analytics
This commit is contained in:
parent
043432bb9f
commit
94e101431d
2 changed files with 91 additions and 0 deletions
35
assets/js/analytics.js
Normal file
35
assets/js/analytics.js
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
async function getIpAndCountry() {
|
||||||
|
try {
|
||||||
|
const response = await fetch("https://freeipapi.com/api/json")
|
||||||
|
const data = await response.json()
|
||||||
|
return {
|
||||||
|
ip: data.ipAddress,
|
||||||
|
country: data.countryName
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
return { ip: "Unknown", country: "Unknown" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const url = "https://analytics.miraikumiko.com/api/send"
|
||||||
|
const referrer = document.referrer
|
||||||
|
const userAgent = navigator.userAgent
|
||||||
|
const pageUrl = window.location.href
|
||||||
|
const clientData = await getIpAndCountry()
|
||||||
|
const data = {
|
||||||
|
referrer: referrer,
|
||||||
|
user_agent: userAgent,
|
||||||
|
page_url: pageUrl,
|
||||||
|
ip: clientData.ip,
|
||||||
|
country: clientData.country
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fetch(url, {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Token": "AAAA1234"
|
||||||
|
},
|
||||||
|
body: JSON.stringify(data)
|
||||||
|
})
|
56
layouts/_default/baseof.html
Normal file
56
layouts/_default/baseof.html
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en-US{{ end }}">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="X-Clacks-Overhead" content="GNU Terry Pratchett" />
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
{{- partial "favicon.html" . -}}
|
||||||
|
<title>{{- block "title" . }}{{ with .Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{- end }}</title>
|
||||||
|
|
||||||
|
{{- partial "seo_tags.html" . -}}
|
||||||
|
<meta name="referrer" content="no-referrer-when-downgrade" />
|
||||||
|
|
||||||
|
{{ $style := print (default "original" .Site.Params.themeStyle) ".css" | resources.Get | minify }}
|
||||||
|
<link href="{{ $style.RelPermalink }}" rel="stylesheet">
|
||||||
|
|
||||||
|
{{ if (.Page.Store.Get "hasCodeBlock") }}
|
||||||
|
{{ $syntax := resources.Get "syntax.css" | minify }}
|
||||||
|
<link href="{{ $syntax.RelPermalink }}" rel="stylesheet">
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ with .Params.style }}
|
||||||
|
{{ $extra := resources.Get . | minify }}
|
||||||
|
<link href="{{ $extra.RelPermalink }}" rel="stylesheet">
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ with .OutputFormats.Get "rss" -}}
|
||||||
|
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
|
||||||
|
{{ end -}}
|
||||||
|
|
||||||
|
<!-- A partial to be overwritten by the user.
|
||||||
|
Simply place a custom_head.html into
|
||||||
|
your local /layouts/partials-directory -->
|
||||||
|
{{- partial "custom_head.html" . -}}
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
{{- partial "header.html" . -}}
|
||||||
|
</header>
|
||||||
|
<main id="main-content">
|
||||||
|
{{- block "main" . }}{{- end }}
|
||||||
|
</main>
|
||||||
|
<footer>
|
||||||
|
{{- partial "footer.html" . -}}
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<!-- A partial to be overwritten by the user.
|
||||||
|
Simply place a custom_body.html into
|
||||||
|
your local /layouts/partials-directory -->
|
||||||
|
{{- partial "custom_body.html" . -}}
|
||||||
|
{{ $analyticsJS := resources.Get "js/analytics.js" | resources.Minify }}
|
||||||
|
<script type="module" src="{{ $analyticsJS.RelPermalink }}"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
Loading…
Add table
Add a link
Reference in a new issue