domma-js 0.9.5-alpha → 0.9.7-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +9 -9
  2. package/bin/domma-cli.js +231 -22
  3. package/package.json +1 -1
  4. package/public/dist/domma-syntax.min.js +3 -3
  5. package/public/dist/domma.css +3 -3
  6. package/public/dist/domma.esm.js +4 -4
  7. package/public/dist/domma.min.js +4 -4
  8. package/public/dist/elements.css +5 -5
  9. package/public/dist/grid.css +3 -3
  10. package/public/dist/syntax.css +3 -3
  11. package/public/dist/themes/domma-themes.css +3 -3
  12. package/templates/kickstart/README.md +139 -0
  13. package/templates/kickstart/backend/.gitkeep +0 -0
  14. package/templates/kickstart/backend/README.md +160 -0
  15. package/templates/kickstart/domma.config.json +14 -10
  16. package/templates/kickstart/frontend/assets/logo/placeholder.svg +6 -0
  17. package/templates/kickstart/frontend/css/custom.css +121 -0
  18. package/templates/kickstart/frontend/js/app.js +166 -0
  19. package/templates/kickstart/frontend/pages/about/about.js +10 -0
  20. package/templates/kickstart/frontend/pages/about/index.html +229 -0
  21. package/templates/kickstart/frontend/pages/blog/blog.js +10 -0
  22. package/templates/kickstart/frontend/pages/blog/index.html +218 -0
  23. package/templates/kickstart/frontend/pages/contact/contact.js +33 -0
  24. package/templates/kickstart/frontend/pages/contact/index.html +196 -0
  25. package/templates/kickstart/frontend/pages/cookies/cookies.js +51 -0
  26. package/templates/kickstart/frontend/pages/cookies/index.html +381 -0
  27. package/templates/kickstart/frontend/pages/docs/docs.js +28 -0
  28. package/templates/kickstart/frontend/pages/docs/index.html +286 -0
  29. package/templates/kickstart/frontend/pages/index.html +161 -0
  30. package/templates/kickstart/frontend/pages/index.js +10 -0
  31. package/templates/kickstart/frontend/pages/privacy/index.html +277 -0
  32. package/templates/kickstart/frontend/pages/privacy/privacy.js +51 -0
  33. package/templates/kickstart/frontend/pages/terms/index.html +369 -0
  34. package/templates/kickstart/frontend/pages/terms/terms.js +51 -0
  35. package/templates/kickstart-old/domma.config.json +74 -0
  36. package/templates/page-template/page.html +51 -0
  37. package/templates/page-template/page.js +10 -0
  38. /package/templates/{kickstart → kickstart-old}/about/index.html +0 -0
  39. /package/templates/{kickstart → kickstart-old}/assets/logo/placeholder.svg +0 -0
  40. /package/templates/{kickstart → kickstart-old}/blog/index.html +0 -0
  41. /package/templates/{kickstart → kickstart-old}/contact/index.html +0 -0
  42. /package/templates/{kickstart → kickstart-old}/css/custom.css +0 -0
  43. /package/templates/{kickstart → kickstart-old}/docs/index.html +0 -0
  44. /package/templates/{kickstart → kickstart-old}/index.html +0 -0
  45. /package/templates/{kickstart → kickstart-old}/js/app.js +0 -0
@@ -0,0 +1,196 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Contact - {{projectName}}</title>
7
+
8
+ <!-- Domma CSS -->
9
+ <link rel="stylesheet" href="../../dist/domma.css">
10
+ <link rel="stylesheet" href="../../dist/grid.css">
11
+ <link rel="stylesheet" href="../../dist/elements.css">
12
+ <link rel="stylesheet" href="../../dist/themes/domma-themes.css">
13
+
14
+ <!-- Custom CSS -->
15
+ <link rel="stylesheet" href="../../css/custom.css">
16
+ </head>
17
+ <body class="dm-theme-{{theme}}">
18
+ <!-- Navigation -->
19
+ <nav id="main-navbar"></nav>
20
+
21
+ <!-- Page Header -->
22
+ <section class="container py-6">
23
+ <h1 class="display-2 mb-3">Get in Touch</h1>
24
+ <p class="lead text-secondary">
25
+ Have a question? We'd love to hear from you. Send us a message and we'll respond as soon as possible.
26
+ </p>
27
+ </section>
28
+
29
+ <!-- Contact Content -->
30
+ <section class="container py-4">
31
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6">
32
+ <!-- Contact Form -->
33
+ <div class="lg:col-span-2">
34
+ <div class="card shadow-md">
35
+ <div class="card-body">
36
+ <h2 class="h4 mb-4">Send us a Message</h2>
37
+
38
+ <form id="contact-form">
39
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
40
+ <div>
41
+ <label for="name" class="form-label">Name *</label>
42
+ <input type="text" id="name" class="form-control" required>
43
+ </div>
44
+
45
+ <div>
46
+ <label for="email" class="form-label">Email *</label>
47
+ <input type="email" id="email" class="form-control" required>
48
+ </div>
49
+
50
+ <div class="md:col-span-2">
51
+ <label for="subject" class="form-label">Subject *</label>
52
+ <input type="text" id="subject" class="form-control" required>
53
+ </div>
54
+
55
+ <div class="md:col-span-2">
56
+ <label for="message" class="form-label">Message *</label>
57
+ <textarea id="message" class="form-control" rows="6" required></textarea>
58
+ </div>
59
+
60
+ <div class="md:col-span-2">
61
+ <button type="submit" class="btn btn-primary btn-lg">
62
+ <span data-icon="send"></span> Send Message
63
+ </button>
64
+ </div>
65
+ </div>
66
+ </form>
67
+ </div>
68
+ </div>
69
+ </div>
70
+
71
+ <!-- Contact Information -->
72
+ <div class="col-12 col-lg-4">
73
+ <!-- Address Card -->
74
+ <div class="card mb-4">
75
+ <div class="card-body">
76
+ <h3 class="h5 mb-4">
77
+ <span data-icon="map-pin" class="me-2"></span> Location
78
+ </h3>
79
+ <p class="mb-2">123 Example Street</p>
80
+ <p class="mb-2">Suite 100</p>
81
+ <p class="mb-0">City, State 12345</p>
82
+ </div>
83
+ </div>
84
+
85
+ <!-- Contact Details -->
86
+ <div class="card mb-4">
87
+ <div class="card-body">
88
+ <h3 class="h5 mb-4">
89
+ <span data-icon="mail" class="me-2"></span> Contact Details
90
+ </h3>
91
+ <p class="mb-2">
92
+ <strong>Email:</strong><br>
93
+ <a href="mailto:hello@example.com">hello@example.com</a>
94
+ </p>
95
+ <p class="mb-0">
96
+ <strong>Phone:</strong><br>
97
+ <a href="tel:+1234567890">+1 (234) 567-890</a>
98
+ </p>
99
+ </div>
100
+ </div>
101
+
102
+ <!-- Social Links -->
103
+ <div class="card">
104
+ <div class="card-body">
105
+ <h3 class="h5 mb-4">
106
+ <span data-icon="share-2" class="me-2"></span> Follow Us
107
+ </h3>
108
+ <div class="d-flex flex-wrap gap-2">
109
+ <a href="#" class="btn btn-outline-primary">
110
+ <span data-icon="github"></span> GitHub
111
+ </a>
112
+ <a href="#" class="btn btn-outline-primary">
113
+ <span data-icon="twitter"></span> Twitter
114
+ </a>
115
+ <a href="#" class="btn btn-outline-primary">
116
+ <span data-icon="linkedin"></span> LinkedIn
117
+ </a>
118
+ <a href="#" class="btn btn-outline-primary">
119
+ <span data-icon="youtube"></span> YouTube
120
+ </a>
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </div>
125
+ </div>
126
+ </section>
127
+
128
+ <!-- FAQ Section -->
129
+ <section class="bg-surface py-6">
130
+ <div class="container">
131
+ <h2 class="text-center mb-6">Frequently Asked Questions</h2>
132
+
133
+ <div class="d-flex justify-content-center">
134
+ <div style="max-width: 800px; width: 100%;">
135
+ <div class="accordion" id="faq-accordion">
136
+ <!-- FAQ 1 -->
137
+ <div class="accordion-item">
138
+ <h3 class="accordion-header">
139
+ <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#faq1">
140
+ What is the response time?
141
+ </button>
142
+ </h3>
143
+ <div id="faq1" class="accordion-collapse collapse show">
144
+ <div class="accordion-body">
145
+ We typically respond to all enquiries within 24-48 hours during business days.
146
+ </div>
147
+ </div>
148
+ </div>
149
+
150
+ <!-- FAQ 2 -->
151
+ <div class="accordion-item">
152
+ <h3 class="accordion-header">
153
+ <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq2">
154
+ Do you offer support?
155
+ </button>
156
+ </h3>
157
+ <div id="faq2" class="accordion-collapse collapse">
158
+ <div class="accordion-body">
159
+ Yes! We offer community support through GitHub Issues and email support for enterprise clients.
160
+ </div>
161
+ </div>
162
+ </div>
163
+
164
+ <!-- FAQ 3 -->
165
+ <div class="accordion-item">
166
+ <h3 class="accordion-header">
167
+ <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq3">
168
+ Can I contribute to the project?
169
+ </button>
170
+ </h3>
171
+ <div id="faq3" class="accordion-collapse collapse">
172
+ <div class="accordion-body">
173
+ Absolutely! We welcome contributions. Check out our GitHub repository for contribution guidelines.
174
+ </div>
175
+ </div>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ </div>
180
+ </div>
181
+ </section>
182
+
183
+ <!-- Footer -->
184
+ <footer class="page-footer"></footer>
185
+
186
+ <!-- Domma JavaScript -->
187
+ <script src="../../dist/domma.min.js"></script>
188
+
189
+ <!-- App Initialization -->
190
+ <script src="../../js/app.js"></script>
191
+
192
+ <!-- Form Handling -->
193
+ <!-- Page-specific Initialization -->
194
+ <script src="contact.js"></script>
195
+ </body>
196
+ </html>
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Cookie Policy Page Initialization
3
+ * Smooth scroll navigation, highlight active sections
4
+ */
5
+ $(() => {
6
+ // Smooth scroll for table of contents links
7
+ $('.nav-link').on('click', function(e) {
8
+ e.preventDefault();
9
+ const targetId = $(this).attr('href');
10
+ const $target = $(targetId);
11
+
12
+ if ($target.length) {
13
+ $target[0].scrollIntoView({ behavior: 'smooth' });
14
+
15
+ // Update active state
16
+ $('.nav-link').removeClass('active');
17
+ $(this).addClass('active');
18
+ }
19
+ });
20
+
21
+ // Highlight active section on scroll
22
+ let ticking = false;
23
+ $(window).on('scroll', () => {
24
+ if (!ticking) {
25
+ window.requestAnimationFrame(() => {
26
+ updateActiveSection();
27
+ ticking = false;
28
+ });
29
+ ticking = true;
30
+ }
31
+ });
32
+
33
+ function updateActiveSection() {
34
+ const sections = $('section[id]');
35
+ const scrollPos = $(window).scrollTop() + 100;
36
+
37
+ sections.each((section) => {
38
+ const $section = $(section);
39
+ const sectionTop = $section.offset().top;
40
+ const sectionBottom = sectionTop + $section.outerHeight();
41
+
42
+ if (scrollPos >= sectionTop && scrollPos < sectionBottom) {
43
+ const id = $section.attr('id');
44
+ $('.nav-link').removeClass('active');
45
+ $(`.nav-link[href="#${id}"]`).addClass('active');
46
+ }
47
+ });
48
+ }
49
+
50
+ console.log('Cookie Policy page initialized');
51
+ });
@@ -0,0 +1,381 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Cookie Policy - {{projectName}}</title>
7
+
8
+ <!-- Domma CSS -->
9
+ <link rel="stylesheet" href="../../dist/domma.css">
10
+ <link rel="stylesheet" href="../../dist/grid.css">
11
+ <link rel="stylesheet" href="../../dist/elements.css">
12
+ <link rel="stylesheet" href="../../dist/themes/domma-themes.css">
13
+
14
+ <!-- Custom CSS -->
15
+ <link rel="stylesheet" href="../../css/custom.css">
16
+ </head>
17
+ <body class="dm-theme-{{theme}}">
18
+ <!-- Navigation -->
19
+ <nav id="main-navbar"></nav>
20
+
21
+ <!-- Page Header -->
22
+ <section class="container py-6">
23
+ <h1 class="display-2 mb-3">Cookie Policy</h1>
24
+ <p class="lead text-secondary">
25
+ Last updated: <time datetime="{{year}}-01-01">January {{year}}</time>
26
+ </p>
27
+ </section>
28
+
29
+ <!-- Cookie Policy Content -->
30
+ <section class="container py-4">
31
+ <div class="grid grid-cols-1 lg:grid-cols-4 gap-6">
32
+ <!-- Table of Contents -->
33
+ <aside>
34
+ <div class="card sticky" style="top: 80px;">
35
+ <div class="card-body">
36
+ <h2 class="h5 mb-3">Contents</h2>
37
+ <nav class="nav flex-column">
38
+ <a href="#what-are-cookies" class="nav-link">What Are Cookies</a>
39
+ <a href="#how-we-use" class="nav-link">How We Use Cookies</a>
40
+ <a href="#types-of-cookies" class="nav-link">Types of Cookies</a>
41
+ <a href="#third-party-cookies" class="nav-link">Third-Party Cookies</a>
42
+ <a href="#cookie-management" class="nav-link">Managing Cookies</a>
43
+ <a href="#updates" class="nav-link">Policy Updates</a>
44
+ <a href="#contact" class="nav-link">Contact Us</a>
45
+ </nav>
46
+ </div>
47
+ </div>
48
+ </aside>
49
+
50
+ <!-- Main Content -->
51
+ <main class="lg:col-span-3">
52
+ <!-- What Are Cookies -->
53
+ <section id="what-are-cookies" class="mb-6">
54
+ <h2 class="h3 mb-4">What Are Cookies?</h2>
55
+ <p>
56
+ Cookies are small text files that are placed on your computer or mobile device when you visit a website.
57
+ They are widely used to make websites work more efficiently and provide information to website owners.
58
+ </p>
59
+ <p class="mt-3">
60
+ Cookies typically contain:
61
+ </p>
62
+ <ul>
63
+ <li>The name of the website that created the cookie</li>
64
+ <li>An expiration date</li>
65
+ <li>A unique identifier (usually a random string of letters and numbers)</li>
66
+ </ul>
67
+ </section>
68
+
69
+ <!-- How We Use Cookies -->
70
+ <section id="how-we-use" class="mb-6">
71
+ <h2 class="h3 mb-4">How We Use Cookies</h2>
72
+ <p class="mb-4">
73
+ {{projectName}} uses cookies to:
74
+ </p>
75
+
76
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
77
+ <div class="card">
78
+ <div class="card-body">
79
+ <span data-icon="settings" class="mb-3" style="font-size: 2rem; color: var(--dm-primary);"></span>
80
+ <h3 class="h6 mb-2">Essential Functionality</h3>
81
+ <p class="text-secondary mb-0">
82
+ Enable core features like authentication and security
83
+ </p>
84
+ </div>
85
+ </div>
86
+
87
+ <div class="card">
88
+ <div class="card-body">
89
+ <span data-icon="bar-chart" class="mb-3" style="font-size: 2rem; color: var(--dm-primary);"></span>
90
+ <h3 class="h6 mb-2">Analytics</h3>
91
+ <p class="text-secondary mb-0">
92
+ Understand how visitors interact with our website
93
+ </p>
94
+ </div>
95
+ </div>
96
+
97
+ <div class="card">
98
+ <div class="card-body">
99
+ <span data-icon="user" class="mb-3" style="font-size: 2rem; color: var(--dm-primary);"></span>
100
+ <h3 class="h6 mb-2">Personalisation</h3>
101
+ <p class="text-secondary mb-0">
102
+ Remember your preferences and settings
103
+ </p>
104
+ </div>
105
+ </div>
106
+
107
+ <div class="card">
108
+ <div class="card-body">
109
+ <span data-icon="target" class="mb-3" style="font-size: 2rem; color: var(--dm-primary);"></span>
110
+ <h3 class="h6 mb-2">Marketing</h3>
111
+ <p class="text-secondary mb-0">
112
+ Show you relevant advertisements and content
113
+ </p>
114
+ </div>
115
+ </div>
116
+ </div>
117
+ </section>
118
+
119
+ <!-- Types of Cookies -->
120
+ <section id="types-of-cookies" class="mb-6">
121
+ <h2 class="h3 mb-4">Types of Cookies We Use</h2>
122
+
123
+ <!-- Strictly Necessary Cookies -->
124
+ <div class="card mb-4">
125
+ <div class="card-body">
126
+ <div class="d-flex align-items-start mb-3">
127
+ <span class="badge badge-danger me-3">Required</span>
128
+ <div>
129
+ <h3 class="h5 mb-2">Strictly Necessary Cookies</h3>
130
+ <p class="text-secondary mb-0">
131
+ These cookies are essential for the website to function properly. They enable core features
132
+ such as security, network management, and accessibility.
133
+ </p>
134
+ </div>
135
+ </div>
136
+
137
+ <table class="table">
138
+ <thead>
139
+ <tr>
140
+ <th>Cookie Name</th>
141
+ <th>Purpose</th>
142
+ <th>Duration</th>
143
+ </tr>
144
+ </thead>
145
+ <tbody>
146
+ <tr>
147
+ <td><code>session_id</code></td>
148
+ <td>Maintains user session</td>
149
+ <td>Session</td>
150
+ </tr>
151
+ <tr>
152
+ <td><code>csrf_token</code></td>
153
+ <td>Security - prevents CSRF attacks</td>
154
+ <td>Session</td>
155
+ </tr>
156
+ </tbody>
157
+ </table>
158
+ </div>
159
+ </div>
160
+
161
+ <!-- Performance Cookies -->
162
+ <div class="card mb-4">
163
+ <div class="card-body">
164
+ <div class="d-flex align-items-start mb-3">
165
+ <span class="badge badge-info me-3">Optional</span>
166
+ <div>
167
+ <h3 class="h5 mb-2">Performance Cookies</h3>
168
+ <p class="text-secondary mb-0">
169
+ These cookies collect information about how you use our website, such as which pages you visit
170
+ most often. This data helps us improve how the website works.
171
+ </p>
172
+ </div>
173
+ </div>
174
+
175
+ <table class="table">
176
+ <thead>
177
+ <tr>
178
+ <th>Cookie Name</th>
179
+ <th>Purpose</th>
180
+ <th>Duration</th>
181
+ </tr>
182
+ </thead>
183
+ <tbody>
184
+ <tr>
185
+ <td><code>_ga</code></td>
186
+ <td>Google Analytics - tracks user behaviour</td>
187
+ <td>2 years</td>
188
+ </tr>
189
+ <tr>
190
+ <td><code>_gid</code></td>
191
+ <td>Google Analytics - distinguishes users</td>
192
+ <td>24 hours</td>
193
+ </tr>
194
+ </tbody>
195
+ </table>
196
+ </div>
197
+ </div>
198
+
199
+ <!-- Functionality Cookies -->
200
+ <div class="card mb-4">
201
+ <div class="card-body">
202
+ <div class="d-flex align-items-start mb-3">
203
+ <span class="badge badge-success me-3">Optional</span>
204
+ <div>
205
+ <h3 class="h5 mb-2">Functionality Cookies</h3>
206
+ <p class="text-secondary mb-0">
207
+ These cookies allow the website to remember choices you make and provide enhanced features.
208
+ </p>
209
+ </div>
210
+ </div>
211
+
212
+ <table class="table">
213
+ <thead>
214
+ <tr>
215
+ <th>Cookie Name</th>
216
+ <th>Purpose</th>
217
+ <th>Duration</th>
218
+ </tr>
219
+ </thead>
220
+ <tbody>
221
+ <tr>
222
+ <td><code>theme_preference</code></td>
223
+ <td>Remembers your theme selection</td>
224
+ <td>1 year</td>
225
+ </tr>
226
+ <tr>
227
+ <td><code>language</code></td>
228
+ <td>Remembers your language preference</td>
229
+ <td>1 year</td>
230
+ </tr>
231
+ </tbody>
232
+ </table>
233
+ </div>
234
+ </div>
235
+
236
+ <!-- Marketing Cookies -->
237
+ <div class="card">
238
+ <div class="card-body">
239
+ <div class="d-flex align-items-start mb-3">
240
+ <span class="badge badge-warning me-3">Optional</span>
241
+ <div>
242
+ <h3 class="h5 mb-2">Marketing Cookies</h3>
243
+ <p class="text-secondary mb-0">
244
+ These cookies track your online activity to help advertisers deliver more relevant advertising
245
+ or to limit how many times you see an advertisement.
246
+ </p>
247
+ </div>
248
+ </div>
249
+
250
+ <table class="table">
251
+ <thead>
252
+ <tr>
253
+ <th>Cookie Name</th>
254
+ <th>Purpose</th>
255
+ <th>Duration</th>
256
+ </tr>
257
+ </thead>
258
+ <tbody>
259
+ <tr>
260
+ <td><code>_fbp</code></td>
261
+ <td>Facebook Pixel - tracks conversions</td>
262
+ <td>3 months</td>
263
+ </tr>
264
+ <tr>
265
+ <td><code>_gcl_au</code></td>
266
+ <td>Google AdSense - measures ad performance</td>
267
+ <td>3 months</td>
268
+ </tr>
269
+ </tbody>
270
+ </table>
271
+ </div>
272
+ </div>
273
+ </section>
274
+
275
+ <!-- Third-Party Cookies -->
276
+ <section id="third-party-cookies" class="mb-6">
277
+ <h2 class="h3 mb-4">Third-Party Cookies</h2>
278
+ <p class="mb-4">
279
+ In addition to our own cookies, we may use various third-party cookies to report usage statistics,
280
+ deliver advertisements, and provide enhanced features.
281
+ </p>
282
+
283
+ <div class="alert alert-warning">
284
+ <span data-icon="alert-triangle" class="me-2"></span>
285
+ <strong>Note:</strong> Third-party cookies are subject to the privacy policies of the respective
286
+ third-party service providers. We do not control these cookies.
287
+ </div>
288
+
289
+ <h3 class="h5 mt-4 mb-3">Third-Party Services We Use:</h3>
290
+ <ul>
291
+ <li><strong>Google Analytics:</strong> Website analytics and reporting</li>
292
+ <li><strong>Google AdSense:</strong> Advertising network</li>
293
+ <li><strong>Facebook Pixel:</strong> Marketing and conversion tracking</li>
294
+ <li><strong>Cloudflare:</strong> Content delivery and security</li>
295
+ </ul>
296
+ </section>
297
+
298
+ <!-- Cookie Management -->
299
+ <section id="cookie-management" class="mb-6">
300
+ <h2 class="h3 mb-4">Managing Your Cookie Preferences</h2>
301
+
302
+ <div class="card bg-surface mb-4">
303
+ <div class="card-body">
304
+ <h3 class="h5 mb-3">Browser Settings</h3>
305
+ <p class="mb-3">
306
+ You can control and manage cookies in various ways. Most browsers allow you to refuse or delete cookies.
307
+ </p>
308
+ <p class="mb-3">Common browsers:</p>
309
+ <ul class="mb-0">
310
+ <li><a href="https://support.google.com/chrome/answer/95647" target="_blank" rel="noopener">Google Chrome</a></li>
311
+ <li><a href="https://support.mozilla.org/en-US/kb/enhanced-tracking-protection-firefox-desktop" target="_blank" rel="noopener">Mozilla Firefox</a></li>
312
+ <li><a href="https://support.apple.com/en-gb/guide/safari/sfri11471/mac" target="_blank" rel="noopener">Safari</a></li>
313
+ <li><a href="https://support.microsoft.com/en-us/microsoft-edge/delete-cookies-in-microsoft-edge-63947406-40ac-c3b8-57b9-2a946a29ae09" target="_blank" rel="noopener">Microsoft Edge</a></li>
314
+ </ul>
315
+ </div>
316
+ </div>
317
+
318
+ <div class="alert alert-info">
319
+ <span data-icon="info" class="me-2"></span>
320
+ <strong>Important:</strong> Blocking or deleting cookies may impact your experience on our website.
321
+ Some features may not function properly without cookies.
322
+ </div>
323
+
324
+ <h3 class="h5 mt-4 mb-3">Do Not Track</h3>
325
+ <p>
326
+ Some browsers include a "Do Not Track" (DNT) feature that signals to websites you visit that you do not
327
+ want to have your online activity tracked. We respect DNT signals and will not track users who have
328
+ DNT enabled.
329
+ </p>
330
+ </section>
331
+
332
+ <!-- Updates -->
333
+ <section id="updates" class="mb-6">
334
+ <h2 class="h3 mb-4">Updates to This Cookie Policy</h2>
335
+ <p>
336
+ We may update this Cookie Policy from time to time to reflect changes in the cookies we use or for
337
+ other operational, legal, or regulatory reasons. Please revisit this Cookie Policy regularly to stay
338
+ informed about our use of cookies.
339
+ </p>
340
+ </section>
341
+
342
+ <!-- Contact -->
343
+ <section id="contact" class="mb-6">
344
+ <h2 class="h3 mb-4">Contact Us</h2>
345
+ <p class="mb-4">
346
+ If you have any questions about our use of cookies, please contact us:
347
+ </p>
348
+
349
+ <div class="card bg-surface">
350
+ <div class="card-body">
351
+ <dl class="mb-0">
352
+ <dt class="mb-2">Email</dt>
353
+ <dd class="mb-4">
354
+ <a href="mailto:privacy@example.com">privacy@example.com</a>
355
+ </dd>
356
+
357
+ <dt class="mb-2">Privacy Policy</dt>
358
+ <dd class="mb-0">
359
+ <a href="../privacy/">View our Privacy Policy</a>
360
+ </dd>
361
+ </dl>
362
+ </div>
363
+ </div>
364
+ </section>
365
+ </main>
366
+ </div>
367
+ </section>
368
+
369
+ <!-- Footer -->
370
+ <footer class="page-footer"></footer>
371
+
372
+ <!-- Domma JavaScript -->
373
+ <script src="../../dist/domma.min.js"></script>
374
+
375
+ <!-- Global App Initialization -->
376
+ <script src="../../js/app.js"></script>
377
+
378
+ <!-- Page-specific Initialization -->
379
+ <script src="cookies.js"></script>
380
+ </body>
381
+ </html>
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Documentation Page Initialization
3
+ * Tabs, code highlighting, sidebar navigation
4
+ */
5
+ $(() => {
6
+ // Initialize tabs
7
+ Domma.elements.tabs('#install-tabs');
8
+
9
+ // Initialize accordion
10
+ Domma.elements.accordion('#docs-faq');
11
+
12
+ // Smooth scroll for sidebar links
13
+ $('.docs-sidebar a').on('click', function(e) {
14
+ e.preventDefault();
15
+ const targetId = $(this).attr('href');
16
+ const $target = $(targetId);
17
+
18
+ if ($target.length) {
19
+ $target[0].scrollIntoView({ behavior: 'smooth' });
20
+
21
+ // Update active state
22
+ $('.docs-sidebar .nav-link').removeClass('active');
23
+ $(this).addClass('active');
24
+ }
25
+ });
26
+
27
+ console.log('Docs page initialized');
28
+ });