-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlog.html
More file actions
134 lines (113 loc) · 6.11 KB
/
log.html
File metadata and controls
134 lines (113 loc) · 6.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>rtk4 | Industrial and Prosumer IoT & High-Precision GNSS Lab Log</title>
<meta name="title" content="rtk4 | Industrial and Prosumer IoT & High-Precision GNSS R&D Lab">
<meta property="og:description" content="Architecting high-precision IoT and GNSS assets for industrial forestry and smart infrastructure..">
<meta name="keywords" content="rtk4, GNSS, IoT R&D, Forestry 4.0, Precision Forestry, BME280, ESP32, Baltic Tech, Nordic Forestry, Smart Infrastructure, Europe, Janis Tupulis">
<meta name="author" content="Janis Tupulis">
<meta property="og:type" content="website">
<meta property="og:url" content="https://rtk4.lv/">
<meta property="og:title" content="rtk4 | Systems R&D Lab">
<meta property="og:description" content="Technical agency in Geospatial and Atmospheric logic. Bridging the gap between raw data and 1cm truth.">
<meta property="og:image" content="https://rtk4.lv/ChargdCubeWinner.jpeg">
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:url" content="https://rtk4.lv/">
<meta property="twitter:title" content="rtk4 | Systems R&D Lab">
<meta property="twitter:description" content="High-precision IoT assets for industrial forestry and autonomous infrastructure mapping.">
<meta property="twitter:image" content="https://rtk4.lv/ChargdCubeWinner.jpeg">
<meta name="geo.region" content="LV;EE;LT;SE;FI;NO;DE;PL">
<meta name="geo.placename" content="Northern Europe">
<link rel="stylesheet" href="style.css">
<style>
.log-entry { border-left: 2px solid var(--forest-green); padding-left: 20px; margin-bottom: 40px; }
.log-date { font-family: monospace; color: var(--forest-green); font-size: 0.9rem; }
.log-tag { display: inline-block; background: #222; padding: 2px 8px; border-radius: 4px; font-size: 0.7rem; margin-right: 5px; border: 1px solid #444; }
</style>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
// Default to denied for GDPR compliance
gtag('consent', 'default', {
'ad_storage': 'denied',
'analytics_storage': 'denied'
});
gtag('js', new Date());
gtag('config', 'G-FEQLP35CE9');
</script>
<style>
#cookie-banner {
position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%);
width: 90%; max-width: 600px;
background: #111; border: 1px solid var(--forest-green);
color: #fff; padding: 20px; border-radius: 8px;
box-shadow: 0 10px 30px rgba(0,0,0,0.5);
z-index: 9999; display: none; font-size: 0.9rem;
}
.cookie-btn {
padding: 8px 16px; border-radius: 4px; border: none; cursor: pointer; font-weight: 600;
}
.accept-btn { background: var(--forest-green); color: white; margin-right: 10px; }
.deny-btn { background: #333; color: #ccc; }
</style>
<link rel="icon" href="rtk4logo.png">
</head>
<body style="background: #000; color: #fff; max-width: 800px; margin: 0 auto; padding: 20px;">
<header style="padding: 20px 0; border-bottom: 1px solid var(--forest-green); display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px;">
<div style="font-weight: bold; font-size: 1.2rem;">rtk4 <span style="color: var(--forest-green);">LOG</span></div>
<nav><a href="index.html" style="color: #fff; text-decoration: none;">← Back to Artifacts</a></nav>
</header>
<div id="log-container">Loading log entries...</div>
<script>
async function loadLog() {
try {
const response = await fetch('log.csv');
const data = await response.text();
const rows = data.split('\n').slice(1); // Skip header row
const container = document.getElementById('log-container');
container.innerHTML = ''; // Clear loading text
rows.forEach(row => {
if (row.trim() === '') return;
const [date, tags, title, content] = row.split(';');
const tagHtml = tags.split(',').map(t => `<span class="log-tag">${t}</span>`).join('');
const entryHtml = `
<div class="log-entry">
<div class="log-date">${date}</div>
<div>${tagHtml}</div>
<h2 style="margin-top: 10px;">${title}</h2>
<p>${content}</p>
</div>
`;
container.innerHTML += entryHtml;
});
} catch (error) {
document.getElementById('log-container').innerHTML = 'Error loading logs.';
}
}
loadLog();
</script>
<div id="cookie-banner">
<p style="margin-top: 0;"><strong>Calibration Consent:</strong> rtk4 Lab uses anonymous cookies to monitor site performance. Do you accept this telemetry?</p>
<div style="display: flex; justify-content: flex-end;">
<button class="cookie-btn accept-btn" onclick="acceptCookies()">ACCEPT</button>
<button class="cookie-btn deny-btn" onclick="denyCookies()">DECLINE</button>
</div>
</div>
<script>
if (!localStorage.getItem('rtk4_consent')) {
document.getElementById('cookie-banner').style.display = 'block';
}
function acceptCookies() {
localStorage.setItem('rtk4_consent', 'granted');
gtag('consent', 'update', { 'analytics_storage': 'granted' });
document.getElementById('cookie-banner').style.display = 'none';
}
function denyCookies() {
localStorage.setItem('rtk4_consent', 'denied');
document.getElementById('cookie-banner').style.display = 'none';
}
</script>
</body>
</html>