@networkpro/web 1.22.2 → 1.24.0
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.
- package/.github/workflows/build-and-publish.yml +3 -3
- package/.github/workflows/lighthouse.yml +1 -1
- package/.github/workflows/meta-check.yml +1 -1
- package/.github/workflows/publish-test.yml +3 -3
- package/.github/workflows/secret-scan.yml +105 -0
- package/.github/workflows/templates/publish.template.yml +3 -3
- package/.node-version +1 -1
- package/.nvmrc +1 -1
- package/CHANGELOG.md +96 -1
- package/LICENSE.md +1 -1
- package/README.md +5 -5
- package/budget.json +1 -1
- package/package.json +11 -10
- package/src/app.html +4 -4
- package/src/lib/README.md +12 -9
- package/src/lib/components/Badges.svelte +2 -2
- package/src/lib/components/LegalNav.svelte +1 -1
- package/src/lib/components/MetaTags.svelte +42 -16
- package/src/lib/components/layout/Footer.svelte +7 -7
- package/src/lib/components/layout/HeaderDefault.svelte +1 -1
- package/src/lib/components/layout/HeaderHome.svelte +1 -1
- package/src/lib/index.js +2 -2
- package/src/lib/meta.js +24 -24
- package/src/lib/pages/AboutContent.svelte +9 -9
- package/src/lib/pages/HomeContent.svelte +1 -1
- package/src/lib/pages/LicenseContent.svelte +6 -7
- package/src/lib/pages/ServicesContent.svelte +1 -2
- package/src/lib/pages/TermsUseContent.svelte +1 -1
- package/src/lib/types/README.md +2 -2
- package/src/routes/+layout.js +2 -3
- package/src/routes/+layout.svelte +11 -3
- package/src/routes/+page.svelte +7 -26
- package/src/routes/about/+page.svelte +10 -21
- package/src/routes/{license → foss}/+page.server.js +2 -2
- package/src/routes/{foss-spotlight → foss}/+page.svelte +11 -22
- package/src/routes/{foss-spotlight → legal}/+page.server.js +2 -2
- package/src/routes/{license → legal}/+page.svelte +11 -22
- package/src/routes/pgp/+page.svelte +10 -21
- package/src/routes/privacy/+page.svelte +10 -21
- package/src/routes/privacy-dashboard/+page.svelte +10 -27
- package/src/routes/services/+page.svelte +3 -16
- package/src/routes/terms-conditions/+page.svelte +10 -21
- package/src/routes/terms-of-use/+page.svelte +10 -21
- package/static/sitemap.xml +13 -13
- package/tests/e2e/mobile.spec.js +36 -17
- package/tests/e2e/shared/helpers.js +39 -1
- package/tests/meta/meta.test.js +1 -1
- package/tests/unit/server/meta.test.js +1 -1
- package/vercel.json +8 -8
|
@@ -18,7 +18,7 @@ This file is part of Network Pro.
|
|
|
18
18
|
const { PAGE, LINKS } = CONSTANTS;
|
|
19
19
|
|
|
20
20
|
const aboutLink = `${base}/about`;
|
|
21
|
-
const fossLink = `${base}/foss
|
|
21
|
+
const fossLink = `${base}/foss`;
|
|
22
22
|
const servLink = `${base}/services`;
|
|
23
23
|
const lhubLink = `${base}/links`;
|
|
24
24
|
const discussLink =
|
package/src/lib/index.js
CHANGED
|
@@ -16,7 +16,7 @@ This file is part of Network Pro.
|
|
|
16
16
|
* and re-exported here for flat `$lib` imports.
|
|
17
17
|
* @module src/lib
|
|
18
18
|
* @author Scott Lopez
|
|
19
|
-
* @updated 2025-10-
|
|
19
|
+
* @updated 2025-10-30
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
// Re-export all images so they can be imported directly from `$lib`
|
|
@@ -52,7 +52,7 @@ export { PGP_KEYS } from '$lib/data/pgpKeys.js';
|
|
|
52
52
|
export const CONSTANTS = {
|
|
53
53
|
COMPANY_INFO: {
|
|
54
54
|
NAME: 'Network Pro Strategies',
|
|
55
|
-
APP_NAME: 'Network Pro',
|
|
55
|
+
APP_NAME: 'Network Pro™',
|
|
56
56
|
YEAR: '2025',
|
|
57
57
|
},
|
|
58
58
|
CONTACT: {
|
package/src/lib/meta.js
CHANGED
|
@@ -18,62 +18,62 @@ This file is part of Network Pro.
|
|
|
18
18
|
const meta = {
|
|
19
19
|
'/': {
|
|
20
20
|
title:
|
|
21
|
-
'Security, Networking, Privacy
|
|
21
|
+
'Security, Networking, Privacy',
|
|
22
22
|
description:
|
|
23
|
-
'Locking Down Networks, Unlocking Confidence™
|
|
23
|
+
'Locking Down Networks, Unlocking Confidence™',
|
|
24
24
|
},
|
|
25
25
|
'/about': {
|
|
26
|
-
title: 'About Us
|
|
27
|
-
description: 'About Us
|
|
26
|
+
title: 'About Us',
|
|
27
|
+
description: 'About Us',
|
|
28
28
|
},
|
|
29
29
|
'/privacy': {
|
|
30
|
-
title: 'Privacy Policy
|
|
30
|
+
title: 'Privacy Policy',
|
|
31
31
|
description:
|
|
32
|
-
'Privacy Policy
|
|
32
|
+
'Privacy Policy',
|
|
33
33
|
},
|
|
34
34
|
'/terms-of-use': {
|
|
35
|
-
title: 'Website Terms of Use
|
|
35
|
+
title: 'Website Terms of Use',
|
|
36
36
|
description:
|
|
37
|
-
'Website Terms of Use
|
|
37
|
+
'Website Terms of Use',
|
|
38
38
|
},
|
|
39
|
-
'/
|
|
40
|
-
title: 'Legal, Copyright, and Licensing
|
|
39
|
+
'/legal': {
|
|
40
|
+
title: 'Legal, Copyright, and Licensing',
|
|
41
41
|
description:
|
|
42
|
-
'Legal, Copyright, and Licensing
|
|
42
|
+
'Legal, Copyright, and Licensing',
|
|
43
43
|
},
|
|
44
44
|
'/terms-conditions': {
|
|
45
|
-
title: 'Consulting Terms and Conditions
|
|
45
|
+
title: 'Consulting Terms and Conditions',
|
|
46
46
|
description:
|
|
47
|
-
'Terms and Conditions
|
|
47
|
+
'Terms and Conditions',
|
|
48
48
|
},
|
|
49
|
-
'/foss
|
|
50
|
-
title: 'FOSS Spotlight
|
|
49
|
+
'/foss': {
|
|
50
|
+
title: 'FOSS Spotlight',
|
|
51
51
|
description:
|
|
52
|
-
'FOSS Spotlight
|
|
52
|
+
'FOSS Spotlight',
|
|
53
53
|
},
|
|
54
54
|
'/privacy-dashboard': {
|
|
55
|
-
title: 'Privacy Dashboard
|
|
55
|
+
title: 'Privacy Dashboard',
|
|
56
56
|
description:
|
|
57
|
-
'Privacy Dashboard
|
|
57
|
+
'Privacy Dashboard',
|
|
58
58
|
},
|
|
59
59
|
'/pgp': {
|
|
60
|
-
title: 'Public PGP Keys
|
|
60
|
+
title: 'Public PGP Keys',
|
|
61
61
|
description:
|
|
62
|
-
'Public encryption keys for secure communication
|
|
62
|
+
'Public encryption keys for secure communication',
|
|
63
63
|
},
|
|
64
64
|
'/services': {
|
|
65
|
-
title: "On-Site Services
|
|
65
|
+
title: "On-Site Services",
|
|
66
66
|
description:
|
|
67
|
-
'On-Site Services
|
|
67
|
+
'On-Site Services'
|
|
68
68
|
},
|
|
69
69
|
// Excludes redirect-only routes like /contact, /consultation, /privacy-rights
|
|
70
70
|
};
|
|
71
71
|
|
|
72
72
|
/** @type {MetaData} */
|
|
73
73
|
const defaultMeta = {
|
|
74
|
-
title: 'Loading...
|
|
74
|
+
title: 'Loading...',
|
|
75
75
|
description:
|
|
76
|
-
'Please wait while the content loads...
|
|
76
|
+
'Please wait while the content loads...',
|
|
77
77
|
};
|
|
78
78
|
|
|
79
79
|
// Export values
|
|
@@ -116,9 +116,9 @@ This file is part of Network Pro.
|
|
|
116
116
|
</section>
|
|
117
117
|
|
|
118
118
|
<section id="page-title">
|
|
119
|
-
<h1>About {COMPANY_INFO.APP_NAME}
|
|
119
|
+
<h1>About {COMPANY_INFO.APP_NAME}</h1>
|
|
120
120
|
<p>
|
|
121
|
-
<strong>{COMPANY_INFO.NAME} ({COMPANY_INFO.APP_NAME}
|
|
121
|
+
<strong>{COMPANY_INFO.NAME} ({COMPANY_INFO.APP_NAME})</strong>
|
|
122
122
|
<br />
|
|
123
123
|
<em>Security, Networking, Privacy</em>
|
|
124
124
|
</p>
|
|
@@ -143,8 +143,8 @@ This file is part of Network Pro.
|
|
|
143
143
|
</p>
|
|
144
144
|
|
|
145
145
|
<p>
|
|
146
|
-
At <strong>{COMPANY_INFO.NAME} ({COMPANY_INFO.APP_NAME}
|
|
147
|
-
|
|
146
|
+
At <strong>{COMPANY_INFO.NAME} ({COMPANY_INFO.APP_NAME})</strong>, we deliver
|
|
147
|
+
network security and engineering, cybersecurity, and digital privacy
|
|
148
148
|
consulting with clarity, credibility, and care. We believe that real security
|
|
149
149
|
doesn't have to come at the cost of user autonomy, and that privacy-minded
|
|
150
150
|
solutions can be both practical and powerful.
|
|
@@ -186,7 +186,7 @@ This file is part of Network Pro.
|
|
|
186
186
|
<div class="spacer"></div>
|
|
187
187
|
|
|
188
188
|
<p>
|
|
189
|
-
Additionally, {COMPANY_INFO.APP_NAME}
|
|
189
|
+
Additionally, {COMPANY_INFO.APP_NAME} provides
|
|
190
190
|
<a href={servLink} target={PAGE.SELF}>on-site services</a>
|
|
191
191
|
in the Greater Phoenix Metropolitan Area (Maricopa County, AZ). Our
|
|
192
192
|
<a href={servLink} target={PAGE.SELF}>on-site services</a> are available to both
|
|
@@ -212,10 +212,10 @@ This file is part of Network Pro.
|
|
|
212
212
|
</p>
|
|
213
213
|
|
|
214
214
|
<p>
|
|
215
|
-
At {COMPANY_INFO.APP_NAME}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
215
|
+
At {COMPANY_INFO.APP_NAME}, we deliver robust, intentional solutions for
|
|
216
|
+
individuals and organizations that prioritize integrity — without compromising
|
|
217
|
+
agility or trust. We don't just protect infrastructure. We protect peace of
|
|
218
|
+
mind.
|
|
219
219
|
</p>
|
|
220
220
|
|
|
221
221
|
<p>
|
|
@@ -126,7 +126,7 @@ This file is part of Network Pro.
|
|
|
126
126
|
<p>
|
|
127
127
|
All content—including text, software, logos, graphics, documentation,
|
|
128
128
|
and other materials—provided by
|
|
129
|
-
<strong>{COMPANY_INFO.NAME}</strong> ("{COMPANY_INFO.APP_NAME}
|
|
129
|
+
<strong>{COMPANY_INFO.NAME}</strong> ("{COMPANY_INFO.APP_NAME}",
|
|
130
130
|
"Company", "Licensor") is protected by U.S. and international copyright
|
|
131
131
|
laws.
|
|
132
132
|
</p>
|
|
@@ -135,12 +135,12 @@ This file is part of Network Pro.
|
|
|
135
135
|
<strong>
|
|
136
136
|
<a href={homeLink} target={PAGE.BLANK}> {COMPANY_INFO.NAME} </a>
|
|
137
137
|
</strong>
|
|
138
|
-
({COMPANY_INFO.APP_NAME}
|
|
138
|
+
({COMPANY_INFO.APP_NAME})
|
|
139
139
|
</p>
|
|
140
140
|
{:else if link.id === 'trademark'}
|
|
141
141
|
<p>The following trademarks are the exclusive property of the Company:</p>
|
|
142
142
|
<ul>
|
|
143
|
-
<li><strong>Brand Name:</strong> {COMPANY_INFO.APP_NAME}
|
|
143
|
+
<li><strong>Brand Name:</strong> {COMPANY_INFO.APP_NAME}</li>
|
|
144
144
|
<li><strong>Domain Names:</strong> netwk.pro, neteng.pro, neteng.cc</li>
|
|
145
145
|
<li
|
|
146
146
|
><strong>Logo:</strong> The shield logo displayed on our homepage</li>
|
|
@@ -233,8 +233,7 @@ This file is part of Network Pro.
|
|
|
233
233
|
</p>
|
|
234
234
|
|
|
235
235
|
<p>
|
|
236
|
-
{COMPANY_INFO.APP_NAME}
|
|
237
|
-
under
|
|
236
|
+
{COMPANY_INFO.APP_NAME} (the "Licensed Material") is licensed under
|
|
238
237
|
<strong>Creative Commons Attribution 4.0 International</strong> (CC BY
|
|
239
238
|
4.0)
|
|
240
239
|
<a
|
|
@@ -314,8 +313,8 @@ This file is part of Network Pro.
|
|
|
314
313
|
</p>
|
|
315
314
|
|
|
316
315
|
<p>
|
|
317
|
-
{COMPANY_INFO.APP_NAME}
|
|
318
|
-
|
|
316
|
+
{COMPANY_INFO.APP_NAME} is free software: you can redistribute it and/or
|
|
317
|
+
modify it under the terms of the
|
|
319
318
|
<strong>GNU General Public License</strong> (GNU GPL) as published by
|
|
320
319
|
the
|
|
321
320
|
<a rel={PAGE.REL} href="https://fsf.org" target={PAGE.BLANK}
|
|
@@ -85,8 +85,7 @@ This file is part of Network Pro.
|
|
|
85
85
|
well. Simply <a href={consultLink} target={PAGE.BLANK}
|
|
86
86
|
>schedule a free, initial consultation</a>
|
|
87
87
|
or <a href={contactLink} target={PAGE.BLANK}>contact us directly</a> — we'd be
|
|
88
|
-
happy to discuss how {COMPANY_INFO.APP_NAME}
|
|
89
|
-
on-site.
|
|
88
|
+
happy to discuss how {COMPANY_INFO.APP_NAME} can support your business on-site.
|
|
90
89
|
</p>
|
|
91
90
|
|
|
92
91
|
<p>
|
package/src/lib/types/README.md
CHANGED
|
@@ -43,8 +43,8 @@ TypeScript build requirement.
|
|
|
43
43
|
Copyright © 2025
|
|
44
44
|
**[Network Pro Strategies](https://netwk.pro) (Network Pro™)**
|
|
45
45
|
|
|
46
|
-
Network Pro™, the shield logo, and the "Locking Down Networks...™" slogan are [trademarks](https://netwk.pro/
|
|
46
|
+
Network Pro™, the shield logo, and the "Locking Down Networks...™" slogan are [trademarks](https://netwk.pro/legal#trademark) of Network Pro Strategies.
|
|
47
47
|
|
|
48
|
-
Licensed under **[CC BY 4.0](https://netwk.pro/
|
|
48
|
+
Licensed under **[CC BY 4.0](https://netwk.pro/legal#cc-by)** and the **[GNU GPL](https://netwk.pro/legal#gnu-gpl)**, as published by the [Free Software Foundation](https://www.fsf.org), either version 3 of the License, or (at your option) any later version.
|
|
49
49
|
|
|
50
50
|
</span>
|
package/src/routes/+layout.js
CHANGED
|
@@ -19,9 +19,8 @@ import { meta as routeMeta } from '$lib/meta.js'; // Import meta from $lib/meta.
|
|
|
19
19
|
* Actual meta content is provided per-route via +page.server.js.
|
|
20
20
|
*/
|
|
21
21
|
const fallbackMeta = {
|
|
22
|
-
title: 'Security, Networking, Privacy
|
|
23
|
-
description:
|
|
24
|
-
'Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies',
|
|
22
|
+
title: 'Security, Networking, Privacy',
|
|
23
|
+
description: 'Locking Down Networks, Unlocking Confidence™',
|
|
25
24
|
};
|
|
26
25
|
|
|
27
26
|
export const prerender = 'auto';
|
|
@@ -8,11 +8,14 @@ This file is part of Network Pro.
|
|
|
8
8
|
|
|
9
9
|
<script>
|
|
10
10
|
export let data;
|
|
11
|
-
|
|
12
11
|
import { onMount } from 'svelte';
|
|
13
12
|
import { initAnalytics } from '$lib/utils/initAnalytics';
|
|
14
13
|
import { showReminder } from '$lib/stores/posthog';
|
|
15
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
ContainerSection,
|
|
16
|
+
MetaTags,
|
|
17
|
+
PWAInstallButton,
|
|
18
|
+
} from '$lib/components';
|
|
16
19
|
import { Footer, HeaderDefault, HeaderHome } from '$lib/components/layout';
|
|
17
20
|
import { appleTouchIcon, faviconSvg, logoPng, logoWbp } from '$lib';
|
|
18
21
|
|
|
@@ -34,6 +37,12 @@ This file is part of Network Pro.
|
|
|
34
37
|
'Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies';
|
|
35
38
|
</script>
|
|
36
39
|
|
|
40
|
+
<!-- Injects proper <title> and <meta> tags -->
|
|
41
|
+
<MetaTags
|
|
42
|
+
title={metaTitle}
|
|
43
|
+
description={metaDescription}
|
|
44
|
+
pathname={data.pathname} />
|
|
45
|
+
|
|
37
46
|
<svelte:head>
|
|
38
47
|
<!-- Dynamic preloads only, meta moved to $lib/components/MetaTags.svelte -->
|
|
39
48
|
<link rel="preload" href={logoWbp} as="image" type="image/webp" />
|
|
@@ -45,7 +54,6 @@ This file is part of Network Pro.
|
|
|
45
54
|
<link rel="apple-touch-icon" href={appleTouchIcon} />
|
|
46
55
|
|
|
47
56
|
<!-- Static moved to app.html 2025-05-21 -->
|
|
48
|
-
<meta name="theme-color" content="#ffc627" />
|
|
49
57
|
</svelte:head>
|
|
50
58
|
|
|
51
59
|
<!-- BEGIN HEADER -->
|
package/src/routes/+page.svelte
CHANGED
|
@@ -13,29 +13,10 @@ This file is part of Network Pro.
|
|
|
13
13
|
LegalNav,
|
|
14
14
|
Logo,
|
|
15
15
|
SocialMedia,
|
|
16
|
-
MetaTags,
|
|
17
16
|
} from '$lib/components';
|
|
18
17
|
import { HomeContent } from '$lib/pages';
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @type {string}
|
|
22
|
-
* Style class for the horizontal rule element.
|
|
23
|
-
*/
|
|
24
|
-
const hrStyle = 'hr-styled';
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* @type {string}
|
|
28
|
-
* Style class for the div element.
|
|
29
|
-
*/
|
|
30
|
-
const spaceStyle = 'spacer';
|
|
31
|
-
|
|
32
|
-
export let data;
|
|
33
18
|
</script>
|
|
34
19
|
|
|
35
|
-
<MetaTags title={data.meta.title} description={data.meta.description} />
|
|
36
|
-
|
|
37
|
-
<link rel="canonical" href="https://netwk.pro" />
|
|
38
|
-
|
|
39
20
|
<section id="home-page" data-testid="home-page">
|
|
40
21
|
<FullWidthSection>
|
|
41
22
|
<!-- BEGIN TITLE -->
|
|
@@ -44,11 +25,11 @@ This file is part of Network Pro.
|
|
|
44
25
|
</section>
|
|
45
26
|
<!-- END TITLE -->
|
|
46
27
|
|
|
47
|
-
<div class=
|
|
28
|
+
<div class="spacer"></div>
|
|
48
29
|
|
|
49
|
-
<hr class=
|
|
30
|
+
<hr class="hr-styled" />
|
|
50
31
|
|
|
51
|
-
<div class=
|
|
32
|
+
<div class="spacer"></div>
|
|
52
33
|
|
|
53
34
|
<!-- BEGIN MAIN CONTENT -->
|
|
54
35
|
<section id="main-content">
|
|
@@ -56,7 +37,7 @@ This file is part of Network Pro.
|
|
|
56
37
|
</section>
|
|
57
38
|
<!-- END MAIN CONTENT -->
|
|
58
39
|
|
|
59
|
-
<div class=
|
|
40
|
+
<div class="spacer"></div>
|
|
60
41
|
|
|
61
42
|
<!-- BEGIN SOCIAL MEDIA -->
|
|
62
43
|
<section id="social-media">
|
|
@@ -64,9 +45,9 @@ This file is part of Network Pro.
|
|
|
64
45
|
</section>
|
|
65
46
|
<!-- END SOCIAL MEDIA -->
|
|
66
47
|
|
|
67
|
-
<hr class=
|
|
48
|
+
<hr class="hr-styled" />
|
|
68
49
|
|
|
69
|
-
<div class=
|
|
50
|
+
<div class="spacer"></div>
|
|
70
51
|
|
|
71
52
|
<!-- BEGIN LEGAL -->
|
|
72
53
|
<section id="legal-nav">
|
|
@@ -74,7 +55,7 @@ This file is part of Network Pro.
|
|
|
74
55
|
</section>
|
|
75
56
|
<!-- END LEGAL -->
|
|
76
57
|
|
|
77
|
-
<div class=
|
|
58
|
+
<div class="spacer"></div>
|
|
78
59
|
|
|
79
60
|
<!-- BEGIN BADGES -->
|
|
80
61
|
<section id="badges">
|
|
@@ -7,26 +7,15 @@ This file is part of Network Pro.
|
|
|
7
7
|
========================================================================== -->
|
|
8
8
|
|
|
9
9
|
<script>
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @type {string}
|
|
19
|
-
* Style class for the div element.
|
|
20
|
-
*/
|
|
21
|
-
const spaceStyle = 'spacer';
|
|
22
|
-
|
|
23
|
-
export let data;
|
|
10
|
+
import {
|
|
11
|
+
Badges,
|
|
12
|
+
FullWidthSection,
|
|
13
|
+
LegalNav,
|
|
14
|
+
SocialMedia,
|
|
15
|
+
} from '$lib/components';
|
|
16
|
+
import { AboutContent } from '$lib/pages';
|
|
24
17
|
</script>
|
|
25
18
|
|
|
26
|
-
<MetaTags title={data.meta.title} description={data.meta.description} />
|
|
27
|
-
|
|
28
|
-
<link rel="canonical" href="https://netwk.pro/about" />
|
|
29
|
-
|
|
30
19
|
<section id="about">
|
|
31
20
|
<FullWidthSection>
|
|
32
21
|
<!-- BEGIN MAIN CONTENT -->
|
|
@@ -35,7 +24,7 @@ This file is part of Network Pro.
|
|
|
35
24
|
</section>
|
|
36
25
|
<!-- END MAIN CONTENT -->
|
|
37
26
|
|
|
38
|
-
<div class=
|
|
27
|
+
<div class="spacer"></div>
|
|
39
28
|
|
|
40
29
|
<!-- SOCIAL MEDIA -->
|
|
41
30
|
<section id="social-media">
|
|
@@ -44,14 +33,14 @@ This file is part of Network Pro.
|
|
|
44
33
|
|
|
45
34
|
<hr />
|
|
46
35
|
|
|
47
|
-
<div class=
|
|
36
|
+
<div class="spacer"></div>
|
|
48
37
|
|
|
49
38
|
<!-- LEGAL NAVIGATION -->
|
|
50
39
|
<section id="legal-nav">
|
|
51
40
|
<LegalNav />
|
|
52
41
|
</section>
|
|
53
42
|
|
|
54
|
-
<div class=
|
|
43
|
+
<div class="spacer"></div>
|
|
55
44
|
|
|
56
45
|
<!-- BADGES -->
|
|
57
46
|
<section id="badges">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ==========================================================================
|
|
2
|
-
src/routes/
|
|
2
|
+
src/routes/foss/+page.server.js
|
|
3
3
|
|
|
4
4
|
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
5
5
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
@@ -13,6 +13,6 @@ export const prerender = false;
|
|
|
13
13
|
/** @type {import('./$types').PageServerLoad} */
|
|
14
14
|
export function load() {
|
|
15
15
|
return {
|
|
16
|
-
meta: meta['/
|
|
16
|
+
meta: meta['/foss'] || defaultMeta,
|
|
17
17
|
};
|
|
18
18
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- ==========================================================================
|
|
2
|
-
src/
|
|
2
|
+
src/routes/foss/+page.svelte
|
|
3
3
|
|
|
4
4
|
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
5
5
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
@@ -7,26 +7,15 @@ This file is part of Network Pro.
|
|
|
7
7
|
========================================================================== -->
|
|
8
8
|
|
|
9
9
|
<script>
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @type {string}
|
|
19
|
-
* Style class for the div element.
|
|
20
|
-
*/
|
|
21
|
-
const spaceStyle = 'spacer';
|
|
22
|
-
|
|
23
|
-
export let data;
|
|
10
|
+
import {
|
|
11
|
+
Badges,
|
|
12
|
+
FullWidthSection,
|
|
13
|
+
LegalNav,
|
|
14
|
+
SocialMedia,
|
|
15
|
+
} from '$lib/components';
|
|
16
|
+
import { FossContent } from '$lib/pages';
|
|
24
17
|
</script>
|
|
25
18
|
|
|
26
|
-
<MetaTags title={data.meta.title} description={data.meta.description} />
|
|
27
|
-
|
|
28
|
-
<link rel="canonical" href="https://netwk.pro/foss-spotlight" />
|
|
29
|
-
|
|
30
19
|
<section id="license">
|
|
31
20
|
<FullWidthSection>
|
|
32
21
|
<!-- BEGIN FOSS SPOTLIGHT -->
|
|
@@ -35,7 +24,7 @@ This file is part of Network Pro.
|
|
|
35
24
|
</section>
|
|
36
25
|
<!-- END FOSS SPOTLIGHT -->
|
|
37
26
|
|
|
38
|
-
<div class=
|
|
27
|
+
<div class="spacer"></div>
|
|
39
28
|
|
|
40
29
|
<!-- BEGIN SOCIAL MEDIA -->
|
|
41
30
|
<section id="social-media">
|
|
@@ -45,7 +34,7 @@ This file is part of Network Pro.
|
|
|
45
34
|
|
|
46
35
|
<hr />
|
|
47
36
|
|
|
48
|
-
<div class=
|
|
37
|
+
<div class="spacer"></div>
|
|
49
38
|
|
|
50
39
|
<!-- BEGIN LEGAL -->
|
|
51
40
|
<section id="legal-nav">
|
|
@@ -53,7 +42,7 @@ This file is part of Network Pro.
|
|
|
53
42
|
</section>
|
|
54
43
|
<!-- END LEGAL -->
|
|
55
44
|
|
|
56
|
-
<div class=
|
|
45
|
+
<div class="spacer"></div>
|
|
57
46
|
|
|
58
47
|
<!-- BEGIN BADGES -->
|
|
59
48
|
<section id="badges">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ==========================================================================
|
|
2
|
-
src/routes/
|
|
2
|
+
src/routes/legal/+page.server.js
|
|
3
3
|
|
|
4
4
|
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
5
5
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
@@ -13,6 +13,6 @@ export const prerender = false;
|
|
|
13
13
|
/** @type {import('./$types').PageServerLoad} */
|
|
14
14
|
export function load() {
|
|
15
15
|
return {
|
|
16
|
-
meta: meta['/
|
|
16
|
+
meta: meta['/legal'] || defaultMeta,
|
|
17
17
|
};
|
|
18
18
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- ==========================================================================
|
|
2
|
-
src/routes/
|
|
2
|
+
src/routes/legal/+page.svelte
|
|
3
3
|
|
|
4
4
|
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
5
5
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
@@ -7,26 +7,15 @@ This file is part of Network Pro.
|
|
|
7
7
|
========================================================================== -->
|
|
8
8
|
|
|
9
9
|
<script>
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @type {string}
|
|
19
|
-
* Style class for the div element.
|
|
20
|
-
*/
|
|
21
|
-
const spaceStyle = 'spacer';
|
|
22
|
-
|
|
23
|
-
export let data;
|
|
10
|
+
import {
|
|
11
|
+
Badges,
|
|
12
|
+
FullWidthSection,
|
|
13
|
+
LegalNav,
|
|
14
|
+
SocialMedia,
|
|
15
|
+
} from '$lib/components';
|
|
16
|
+
import { LicenseContent } from '$lib/pages';
|
|
24
17
|
</script>
|
|
25
18
|
|
|
26
|
-
<MetaTags title={data.meta.title} description={data.meta.description} />
|
|
27
|
-
|
|
28
|
-
<link rel="canonical" href="https://netwk.pro/license" />
|
|
29
|
-
|
|
30
19
|
<section id="license">
|
|
31
20
|
<FullWidthSection containerClass="readable">
|
|
32
21
|
<!-- BEGIN LEGAL, COPYRIGHT, AND LICENSING -->
|
|
@@ -35,7 +24,7 @@ This file is part of Network Pro.
|
|
|
35
24
|
</section>
|
|
36
25
|
<!-- END LEGAL, COPYRIGHT, AND LICENSING -->
|
|
37
26
|
|
|
38
|
-
<div class=
|
|
27
|
+
<div class="spacer"></div>
|
|
39
28
|
|
|
40
29
|
<!-- BEGIN SOCIAL MEDIA -->
|
|
41
30
|
<section id="social-media">
|
|
@@ -45,7 +34,7 @@ This file is part of Network Pro.
|
|
|
45
34
|
|
|
46
35
|
<hr />
|
|
47
36
|
|
|
48
|
-
<div class=
|
|
37
|
+
<div class="spacer"></div>
|
|
49
38
|
|
|
50
39
|
<!-- BEGIN LEGAL -->
|
|
51
40
|
<section id="legal-nav">
|
|
@@ -53,7 +42,7 @@ This file is part of Network Pro.
|
|
|
53
42
|
</section>
|
|
54
43
|
<!-- END LEGAL -->
|
|
55
44
|
|
|
56
|
-
<div class=
|
|
45
|
+
<div class="spacer"></div>
|
|
57
46
|
|
|
58
47
|
<!-- BEGIN BADGES -->
|
|
59
48
|
<section id="badges">
|
|
@@ -7,26 +7,15 @@ This file is part of Network Pro.
|
|
|
7
7
|
========================================================================== -->
|
|
8
8
|
|
|
9
9
|
<script>
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @type {string}
|
|
19
|
-
* Style class for the div element.
|
|
20
|
-
*/
|
|
21
|
-
const spaceStyle = 'spacer';
|
|
22
|
-
|
|
23
|
-
export let data;
|
|
10
|
+
import {
|
|
11
|
+
Badges,
|
|
12
|
+
FullWidthSection,
|
|
13
|
+
LegalNav,
|
|
14
|
+
SocialMedia,
|
|
15
|
+
} from '$lib/components';
|
|
16
|
+
import { PGPContent } from '$lib/pages';
|
|
24
17
|
</script>
|
|
25
18
|
|
|
26
|
-
<MetaTags title={data.meta.title} description={data.meta.description} />
|
|
27
|
-
|
|
28
|
-
<link rel="canonical" href="https://netwk.pro/pgp" />
|
|
29
|
-
|
|
30
19
|
<section id="about">
|
|
31
20
|
<FullWidthSection containerClass="readable">
|
|
32
21
|
<!-- BEGIN MAIN CONTENT -->
|
|
@@ -35,7 +24,7 @@ This file is part of Network Pro.
|
|
|
35
24
|
</section>
|
|
36
25
|
<!-- END MAIN CONTENT -->
|
|
37
26
|
|
|
38
|
-
<div class=
|
|
27
|
+
<div class="spacer"></div>
|
|
39
28
|
|
|
40
29
|
<!-- SOCIAL MEDIA -->
|
|
41
30
|
<section id="social-media">
|
|
@@ -44,14 +33,14 @@ This file is part of Network Pro.
|
|
|
44
33
|
|
|
45
34
|
<hr />
|
|
46
35
|
|
|
47
|
-
<div class=
|
|
36
|
+
<div class="spacer"></div>
|
|
48
37
|
|
|
49
38
|
<!-- LEGAL NAVIGATION -->
|
|
50
39
|
<section id="legal-nav">
|
|
51
40
|
<LegalNav />
|
|
52
41
|
</section>
|
|
53
42
|
|
|
54
|
-
<div class=
|
|
43
|
+
<div class="spacer"></div>
|
|
55
44
|
|
|
56
45
|
<!-- BADGES -->
|
|
57
46
|
<section id="badges">
|