@networkpro/blog 1.0.8 → 1.0.11
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/CNAME +1 -0
- package/LICENSE.md +265 -0
- package/MKDOCS.md +20 -0
- package/README.md +8 -46
- package/assets/consulting-terms.pdf +0 -0
- package/assets/license/CC-BY-4.0-rdfa.xml +741 -0
- package/assets/license/CC-BY-4.0.xml +25 -0
- package/assets/license/COPYING-rdfa.xml +1187 -0
- package/assets/license/COPYING.odt +0 -0
- package/assets/linksheet.json +8 -0
- package/assets/pgp/contact.vcf +13 -0
- package/assets/pgp/contact@s.neteng.pro.aexpk +17 -0
- package/assets/pgp/contact@s.neteng.pro.asc +17 -0
- package/assets/pgp/github@sl.neteng.cc.aexpk +29 -0
- package/assets/pgp/github@sl.neteng.cc.asc +29 -0
- package/assets/pgp/support@neteng.pro.aexpk +47 -0
- package/assets/pgp/support@neteng.pro.asc +47 -0
- package/cspell.json +38 -0
- package/docs/LICENSE.md +296 -0
- package/docs/PRIVACY.md +212 -0
- package/docs/README.md +115 -0
- package/docs/TERMS-COND.md +277 -0
- package/docs/TERMS-USE.md +212 -0
- package/docs/license/CC-BY-4.0.html +1235 -0
- package/docs/license/CC-BY-4.0.md +367 -0
- package/docs/license/CC-BY-4.0.txt +156 -0
- package/docs/license/COPYING.html +1413 -0
- package/docs/license/COPYING.md +611 -0
- package/docs/license/COPYING.txt +232 -0
- package/docs_raw/contributing.md +166 -0
- package/docs_raw/img/heliboard-promo.png +0 -0
- package/docs_raw/img/heliboard.png +0 -0
- package/docs_raw/img/msauth-promo.png +0 -0
- package/docs_raw/index.md +18 -0
- package/docs_raw/posts/betterweb.md +59 -0
- package/docs_raw/posts/heliboard.md +50 -0
- package/docs_raw/posts/live.md +83 -0
- package/docs_raw/posts/moved.md +74 -0
- package/docs_raw/posts/msauth.md +51 -0
- package/docs_raw/posts/pwa.md +65 -0
- package/docs_raw/posts/secure-secure-shell.md +562 -0
- package/docs_raw/posts/weblive.md +63 -0
- package/docs_raw/sitemap.xml +83 -0
- package/{styles → docs_raw/styles}/default.css +6 -42
- package/{styles → docs_raw/styles}/normalize.css +5 -2
- package/{styles → docs_raw/styles}/style.css +5 -6
- package/docs_raw/tags.md +12 -0
- package/eslint.config.mjs +80 -0
- package/mkdocs.yml +113 -0
- package/package.json +10 -9
- package/postcss.config.mjs +5 -0
- package/ref/README.md +56 -0
- package/ref/help.md +17 -0
- package/stylelint.config.js +109 -0
- package/2015/01/04/secure-secure-shell/index.html +0 -1552
- package/2025/04/30/were-live/index.html +0 -1220
- package/2025/05/11/the-network-pro-blog-has-moved/index.html +0 -1202
- package/2025/05/15/building-a-better-web-experience/index.html +0 -1200
- package/2025/05/16/progressive-web-app-is-live/index.html +0 -1234
- package/2025/05/26/welcome-to-the-future-of-network-pro/index.html +0 -1202
- package/404.html +0 -970
- package/archive/2015/index.html +0 -1141
- package/archive/2025/index.html +0 -1379
- package/assets/external/avatars.githubusercontent.com/u/170266279.png +0 -0
- package/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js +0 -2607
- package/assets/images/favicon.png +0 -0
- package/assets/javascripts/bundle.13a4f30d.min.js +0 -16
- package/assets/javascripts/bundle.13a4f30d.min.js.map +0 -7
- package/assets/javascripts/lunr/min/lunr.ar.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.da.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.de.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.du.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.el.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.es.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.fi.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.fr.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.he.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.hi.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.hu.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.hy.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.it.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.ja.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.jp.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.kn.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.ko.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.multi.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.nl.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.no.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.pt.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.ro.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.ru.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.sa.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.sv.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.ta.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.te.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.th.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.tr.min.js +0 -18
- package/assets/javascripts/lunr/min/lunr.vi.min.js +0 -1
- package/assets/javascripts/lunr/min/lunr.zh.min.js +0 -1
- package/assets/javascripts/lunr/tinyseg.js +0 -206
- package/assets/javascripts/lunr/wordcut.js +0 -6708
- package/assets/javascripts/workers/search.d50fe291.min.js +0 -42
- package/assets/javascripts/workers/search.d50fe291.min.js.map +0 -7
- package/assets/stylesheets/main.342714a4.min.css +0 -1
- package/assets/stylesheets/main.342714a4.min.css.map +0 -1
- package/assets/stylesheets/palette.06af60db.min.css +0 -1
- package/assets/stylesheets/palette.06af60db.min.css.map +0 -1
- package/category/security/index.html +0 -1141
- package/contributing/index.html +0 -1306
- package/feed_json_created.json +0 -1
- package/feed_json_updated.json +0 -1
- package/feed_rss_created.xml +0 -1
- package/feed_rss_updated.xml +0 -1
- package/index.html +0 -1461
- package/search/search_index.json +0 -1
- package/sitemap.xml +0 -51
- package/sitemap.xml.gz +0 -0
- package/tags/index.html +0 -1450
- /package/assets/{external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master/assets/nsa-happy-dance.png → nsa-happy-dance.png} +0 -0
- /package/{ext → docs_raw/ext}/__init__.py +0 -0
- /package/{ext → docs_raw/ext}/slugs.py +0 -0
- /package/{favicon.ico → docs_raw/favicon.ico} +0 -0
- /package/{favicon.svg → docs_raw/favicon.svg} +0 -0
- /package/{fontawesome → docs_raw/fontawesome}/LICENSE.txt +0 -0
- /package/{fontawesome → docs_raw/fontawesome}/brands/facebook.svg +0 -0
- /package/{fontawesome → docs_raw/fontawesome}/brands/instagram.svg +0 -0
- /package/{fontawesome → docs_raw/fontawesome}/brands/linkedin.svg +0 -0
- /package/{fontawesome → docs_raw/fontawesome}/brands/mastodon.svg +0 -0
- /package/{fontawesome → docs_raw/fontawesome}/solid/at.svg +0 -0
- /package/{hooks → docs_raw/hooks}/socialmedia.py +0 -0
- /package/{icon-180x180.png → docs_raw/icon-180x180.png} +0 -0
- /package/{icon-192x192.png → docs_raw/icon-192x192.png} +0 -0
- /package/{icon-512x512-maskable.png → docs_raw/icon-512x512-maskable.png} +0 -0
- /package/{icon-512x512.png → docs_raw/icon-512x512.png} +0 -0
- /package/{icon-splash.png → docs_raw/icon-splash.png} +0 -0
- /package/{img → docs_raw/img}/acode.png +0 -0
- /package/{img → docs_raw/img}/blog-move.png +0 -0
- /package/{img → docs_raw/img}/favicon.png +0 -0
- /package/{img → docs_raw/img}/linksheet.png +0 -0
- /package/{img → docs_raw/img}/logo.png +0 -0
- /package/{img → docs_raw/img}/pmx.png +0 -0
- /package/{img → docs_raw/img}/tosdr.png +0 -0
- /package/{img → docs_raw/img}/urlcheck.png +0 -0
- /package/{manifest.json → docs_raw/manifest.json} +0 -0
- /package/{robots.txt → docs_raw/robots.txt} +0 -0
- /package/{styles → docs_raw/styles}/global.css +0 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
sitemap.xml
|
|
4
|
+
|
|
5
|
+
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
6
|
+
This file is part of Network Pro
|
|
7
|
+
-->
|
|
8
|
+
|
|
9
|
+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
10
|
+
|
|
11
|
+
<url>
|
|
12
|
+
|
|
13
|
+
<loc>https://blog.netwk.pro</loc>
|
|
14
|
+
|
|
15
|
+
<lastmod>2025-05-11</lastmod>
|
|
16
|
+
|
|
17
|
+
<changefreq>weekly</changefreq>
|
|
18
|
+
|
|
19
|
+
<priority>1.0</priority>
|
|
20
|
+
|
|
21
|
+
</url>
|
|
22
|
+
|
|
23
|
+
<url>
|
|
24
|
+
|
|
25
|
+
<loc>https://blog.netwk.pro/2025/05/11/the-network-pro-blog-has-moved/</loc>
|
|
26
|
+
|
|
27
|
+
<lastmod>2025-05-11</lastmod>
|
|
28
|
+
|
|
29
|
+
<changefreq>monthly</changefreq>
|
|
30
|
+
|
|
31
|
+
<priority>0.8</priority>
|
|
32
|
+
|
|
33
|
+
</url>
|
|
34
|
+
|
|
35
|
+
<url>
|
|
36
|
+
|
|
37
|
+
<loc>https://blog.netwk.pro/2025/04/30/our-blog-is-live/</loc>
|
|
38
|
+
|
|
39
|
+
<lastmod>2025-05-11</lastmod>
|
|
40
|
+
|
|
41
|
+
<changefreq>monthly</changefreq>
|
|
42
|
+
|
|
43
|
+
<priority>0.8</priority>
|
|
44
|
+
|
|
45
|
+
</url>
|
|
46
|
+
|
|
47
|
+
<url>
|
|
48
|
+
|
|
49
|
+
<loc>https://blog.netwk.pro/2015/01/04/secure-secure-shell/</loc>
|
|
50
|
+
|
|
51
|
+
<lastmod>2025-05-11</lastmod>
|
|
52
|
+
|
|
53
|
+
<changefreq>monthly</changefreq>
|
|
54
|
+
|
|
55
|
+
<priority>0.7</priority>
|
|
56
|
+
|
|
57
|
+
</url>
|
|
58
|
+
|
|
59
|
+
<url>
|
|
60
|
+
|
|
61
|
+
<loc>https://blog.netwk.pro/tags</loc>
|
|
62
|
+
|
|
63
|
+
<lastmod>2025-05-11</lastmod>
|
|
64
|
+
|
|
65
|
+
<changefreq>weekly</changefreq>
|
|
66
|
+
|
|
67
|
+
<priority>0.6</priority>
|
|
68
|
+
|
|
69
|
+
</url>
|
|
70
|
+
|
|
71
|
+
<url>
|
|
72
|
+
|
|
73
|
+
<loc>https://blog.netwk.pro/contributing</loc>
|
|
74
|
+
|
|
75
|
+
<lastmod>2025-05-11</lastmod>
|
|
76
|
+
|
|
77
|
+
<changefreq>monthly</changefreq>
|
|
78
|
+
|
|
79
|
+
<priority>0.5</priority>
|
|
80
|
+
|
|
81
|
+
</url>
|
|
82
|
+
|
|
83
|
+
</urlset>
|
|
@@ -1,48 +1,10 @@
|
|
|
1
1
|
/*! ==========================================================================
|
|
2
|
+
Copyright © 2025 Network Pro Strategies (Network Pro)
|
|
2
3
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
3
4
|
This file is part of Network Pro.
|
|
4
5
|
=========================================================================== */
|
|
5
6
|
|
|
6
|
-
/*
|
|
7
|
-
Copyright © 2025 Network Pro Strategies (Network Pro)
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
I. Creative Commons Attribution 4.0 International
|
|
12
|
-
|
|
13
|
-
Network Pro (the "Licensed Material") is licensed under Creative Commons Attribution 4.0 International ("CC BY 4.0"). To view a copy of this license, visit https://creativecommons.org/licenses/by/4.0/.
|
|
14
|
-
|
|
15
|
-
Per the terms of the License, you are free to distribute, remix, adapt, and build upon the Licensed Material for any purpose, even commercially. You must give appropriate credit, provide a link to the License, and indicate if changes were made.
|
|
16
|
-
|
|
17
|
-
The Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable.
|
|
18
|
-
|
|
19
|
-
Permissions beyond the scope of this License—or instead of those permitted by this License—may be available as further defined within this document.
|
|
20
|
-
|
|
21
|
-
SPDX Reference: https://spdx.org/licenses/CC-BY-4.0.html
|
|
22
|
-
Canonical URL: https://creativecommons.org/licenses/by/4.0/
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
II. GNU General Public License
|
|
27
|
-
|
|
28
|
-
Network Pro is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License ("GNU GPL") as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
|
29
|
-
|
|
30
|
-
This material is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
31
|
-
FITNESS FOR A PARTICULAR PURPOSE.
|
|
32
|
-
|
|
33
|
-
See the GNU General Public License for more details.
|
|
34
|
-
|
|
35
|
-
SPDX Reference: https://spdx.org/licenses/GPL-3.0-or-later.html
|
|
36
|
-
Canonical URL: https://www.gnu.org/licenses/gpl-3.0.html
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
Author: Scott Lopez
|
|
41
|
-
Email: <contact@neteng.pro>
|
|
42
|
-
Web: <https://bio.neteng.pro>
|
|
43
|
-
*/
|
|
44
|
-
|
|
45
|
-
/*! ==========================================================================
|
|
7
|
+
/* ===========================================================================
|
|
46
8
|
Document Spacing
|
|
47
9
|
=========================================================================== */
|
|
48
10
|
|
|
@@ -75,7 +37,7 @@ footer .container {
|
|
|
75
37
|
max-width: 1200px;
|
|
76
38
|
}
|
|
77
39
|
|
|
78
|
-
|
|
40
|
+
/* ===========================================================================
|
|
79
41
|
Responsive Tables
|
|
80
42
|
=========================================================================== */
|
|
81
43
|
|
|
@@ -363,7 +325,7 @@ footer .container {
|
|
|
363
325
|
}
|
|
364
326
|
}
|
|
365
327
|
|
|
366
|
-
|
|
328
|
+
/* ===========================================================================
|
|
367
329
|
Custom CSS
|
|
368
330
|
=========================================================================== */
|
|
369
331
|
|
|
@@ -507,3 +469,5 @@ footer .container {
|
|
|
507
469
|
.spacer {
|
|
508
470
|
margin: 2rem 0;
|
|
509
471
|
}
|
|
472
|
+
|
|
473
|
+
/* cspell:ignore bolditalic tcell bquote prewrap imgtext */
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/* ===========================================================================
|
|
2
|
+
Copyright © 2025 Network Pro Strategies (Network Pro)
|
|
2
3
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
3
4
|
This file is part of Network Pro.
|
|
4
5
|
=========================================================================== */
|
|
5
6
|
|
|
6
|
-
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
|
7
|
+
/*! Modified from normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
|
7
8
|
|
|
8
9
|
/* Document
|
|
9
10
|
========================================================================== */
|
|
@@ -362,3 +363,5 @@ template {
|
|
|
362
363
|
[hidden] {
|
|
363
364
|
display: none;
|
|
364
365
|
} */
|
|
366
|
+
|
|
367
|
+
/* cspell:ignore necolas */
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
3
|
-
/*! ==========================================================================
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Copyright © 2025 Network Pro Strategies (Network Pro)
|
|
4
3
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
5
4
|
This file is part of Network Pro.
|
|
6
5
|
=========================================================================== */
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
/*! HTML5 Boilerplate v9.0.1 | MIT License | https://html5boilerplate.com/ */
|
|
7
|
+
/*! Modified from HTML5 Boilerplate v9.0.1 | MIT License | https://html5boilerplate.com/ */
|
|
11
8
|
|
|
12
9
|
/* main.css 3.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
|
|
13
10
|
|
|
@@ -312,3 +309,5 @@ a:visited:hover {
|
|
|
312
309
|
page-break-after: avoid;
|
|
313
310
|
}
|
|
314
311
|
}
|
|
312
|
+
|
|
313
|
+
/* cspell:ignore camen textareas */
|
package/docs_raw/tags.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Tag Index
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<sup>[SPDX-License-Identifier](https://spdx.dev/learn/handling-license-info/):
|
|
6
|
+
`CC-BY-4.0 OR GPL-3.0-or-later`</sup>
|
|
7
|
+
|
|
8
|
+
# Tags
|
|
9
|
+
|
|
10
|
+
This page lists all of the tags used in the blog. Click on a tag to see the related articles and posts.
|
|
11
|
+
|
|
12
|
+
<!-- material/tags -->
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
eslint.config.mjs
|
|
3
|
+
|
|
4
|
+
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
5
|
+
This file is part of Network Pro.
|
|
6
|
+
========================================================================== */
|
|
7
|
+
|
|
8
|
+
import js from "@eslint/js"; // Provides ESLint core rules and recommended config
|
|
9
|
+
import json from "@eslint/json";
|
|
10
|
+
import eslintConfigPrettier from "eslint-config-prettier"; // Prettier config to disable conflicting ESLint rules
|
|
11
|
+
import { defineConfig } from "eslint/config";
|
|
12
|
+
import globals from "globals";
|
|
13
|
+
|
|
14
|
+
const GLOBALS = {
|
|
15
|
+
...globals.browser,
|
|
16
|
+
...globals.node,
|
|
17
|
+
self: "readonly",
|
|
18
|
+
location: "readonly",
|
|
19
|
+
indexedDB: "readonly",
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// Define general ESLint rules (non-Svelte-specific)
|
|
23
|
+
const ESLINT_RULES = {
|
|
24
|
+
indent: "off", // Turn off the 'indent' rule, managed by Prettier
|
|
25
|
+
quotes: "off", // Turn off the 'quotes' rule, managed by Prettier
|
|
26
|
+
semi: "off", // Turn off the 'semi' rule, managed by Prettier
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default defineConfig([
|
|
30
|
+
// Global ignores
|
|
31
|
+
{
|
|
32
|
+
ignores: [
|
|
33
|
+
".*", // Hidden files
|
|
34
|
+
"*.xml", // XML files
|
|
35
|
+
"**/.cache/**", // Cache directories
|
|
36
|
+
"**/.vscode/**", // VSCode-specific files
|
|
37
|
+
"**/coverage/**", // Coverage reports
|
|
38
|
+
"**/build/**", // Distribution files
|
|
39
|
+
"package.json", // NPM package manifest
|
|
40
|
+
"package-lock.json", // NPM lockfile
|
|
41
|
+
"node_modules/", // Node.js dependencies
|
|
42
|
+
".vite/", // Vite-specific cache directory
|
|
43
|
+
"*.lock", // Lock files
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
// JavaScript/Node.js configuration
|
|
48
|
+
{
|
|
49
|
+
files: ["**/*.{mjs,js}"],
|
|
50
|
+
plugins: { js },
|
|
51
|
+
languageOptions: {
|
|
52
|
+
globals: GLOBALS,
|
|
53
|
+
ecmaVersion: "latest", // Use the latest ECMAScript version
|
|
54
|
+
sourceType: "module",
|
|
55
|
+
},
|
|
56
|
+
extends: ["js/recommended"],
|
|
57
|
+
rules: {
|
|
58
|
+
...js.configs.recommended.rules, // ESLint's core recommended rules (scoped)
|
|
59
|
+
...eslintConfigPrettier.rules, // Prettier config to disable conflicting ESLint rules (scoped)
|
|
60
|
+
...ESLINT_RULES, // Additional custom rules
|
|
61
|
+
"no-unused-vars": ["error", { argsIgnorePattern: "^_" }], // Ignore unused variables starting with an underscore
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
// JSON configuration
|
|
66
|
+
{
|
|
67
|
+
files: ["**/*.json"],
|
|
68
|
+
plugins: { json },
|
|
69
|
+
language: "json/json",
|
|
70
|
+
extends: ["json/recommended"],
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
// JSONC configuration
|
|
74
|
+
{
|
|
75
|
+
files: ["**/*.jsonc"],
|
|
76
|
+
plugins: { json },
|
|
77
|
+
language: "json/jsonc",
|
|
78
|
+
extends: ["json/recommended"],
|
|
79
|
+
},
|
|
80
|
+
]);
|
package/mkdocs.yml
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
site_name: Network Pro™ Blog
|
|
2
|
+
site_url: https://blog.netwk.pro
|
|
3
|
+
repo_url: https://github.com/netwk-pro/netwk-pro.github.io
|
|
4
|
+
repo_name: GitHub
|
|
5
|
+
docs_dir: docs_raw
|
|
6
|
+
site_dir: build/
|
|
7
|
+
|
|
8
|
+
theme:
|
|
9
|
+
name: material
|
|
10
|
+
language: en
|
|
11
|
+
font: false
|
|
12
|
+
logo: /icon-512x512.png
|
|
13
|
+
favicon: /favicon.svg
|
|
14
|
+
palette:
|
|
15
|
+
# Palette toggle for automatic mode
|
|
16
|
+
- media: "(prefers-color-scheme)"
|
|
17
|
+
primary: amber
|
|
18
|
+
accent: yellow
|
|
19
|
+
toggle:
|
|
20
|
+
icon: material/brightness-auto
|
|
21
|
+
name: Switch to light mode
|
|
22
|
+
# Palette toggle for dark mode
|
|
23
|
+
- media: "(prefers-color-scheme: dark)"
|
|
24
|
+
scheme: slate
|
|
25
|
+
primary: amber
|
|
26
|
+
accent: yellow
|
|
27
|
+
toggle:
|
|
28
|
+
icon: material/brightness-4
|
|
29
|
+
name: Switch to system preference
|
|
30
|
+
# Palette toggle for light mode
|
|
31
|
+
- media: "(prefers-color-scheme: light)"
|
|
32
|
+
scheme: default
|
|
33
|
+
primary: amber
|
|
34
|
+
accent: yellow
|
|
35
|
+
toggle:
|
|
36
|
+
icon: material/brightness-7
|
|
37
|
+
name: Switch to dark mode
|
|
38
|
+
features:
|
|
39
|
+
- navigation.instant
|
|
40
|
+
- navigation.tracking
|
|
41
|
+
- navigation.tabs
|
|
42
|
+
- navigation.indexes
|
|
43
|
+
- toc.follow
|
|
44
|
+
- toc.integrate
|
|
45
|
+
- navigation.top
|
|
46
|
+
- search.suggest
|
|
47
|
+
|
|
48
|
+
extra:
|
|
49
|
+
base_url: /
|
|
50
|
+
consent:
|
|
51
|
+
title: Cookie Consent
|
|
52
|
+
description: >-
|
|
53
|
+
We use cookies to recognize your repeated visits and preferences, as well
|
|
54
|
+
as to measure the effectiveness of our documentation and whether users
|
|
55
|
+
find what they're searching for. With your consent, you're helping us to
|
|
56
|
+
make our documentation better.
|
|
57
|
+
cookies:
|
|
58
|
+
analytics:
|
|
59
|
+
name: Google Analytics
|
|
60
|
+
checked: false
|
|
61
|
+
github:
|
|
62
|
+
name: GitHub
|
|
63
|
+
checked: true
|
|
64
|
+
actions:
|
|
65
|
+
- reject
|
|
66
|
+
- accept
|
|
67
|
+
- manage
|
|
68
|
+
social:
|
|
69
|
+
- icon: fontawesome/brands/instagram
|
|
70
|
+
name: Network Pro on Instagram
|
|
71
|
+
link: https://instagram.com/netwk_pro/
|
|
72
|
+
- icon: fontawesome/brands/facebook
|
|
73
|
+
name: Network Pro on Facebook
|
|
74
|
+
link: https://facebook.com/neteng.pro/
|
|
75
|
+
- icon: fontawesome/brands/linkedin
|
|
76
|
+
name: Network Pro on LinkedIn
|
|
77
|
+
link: https://linkedin.com/company/netwk-pro/
|
|
78
|
+
- icon: fontawesome/brands/mastodon
|
|
79
|
+
name: Network Pro on Mastodon
|
|
80
|
+
link: https://noc.social/@neteng_pro/
|
|
81
|
+
- icon: fontawesome/solid/at
|
|
82
|
+
name: Contact Us
|
|
83
|
+
link: https://netwk.pro/contact
|
|
84
|
+
|
|
85
|
+
copyright: >
|
|
86
|
+
Copyright © 2025 Network Pro Strategies (Network Pro™) –
|
|
87
|
+
<a href="#__consent">Change cookie settings</a>
|
|
88
|
+
|
|
89
|
+
plugins:
|
|
90
|
+
- search
|
|
91
|
+
- meta
|
|
92
|
+
- privacy
|
|
93
|
+
- blog:
|
|
94
|
+
blog_toc: true
|
|
95
|
+
blog_dir: .
|
|
96
|
+
archive_date_format: MMMM yyyy
|
|
97
|
+
post_excerpt: required
|
|
98
|
+
categories: true
|
|
99
|
+
categories_toc: true
|
|
100
|
+
authors: true
|
|
101
|
+
- tags:
|
|
102
|
+
tags_file: tags.md
|
|
103
|
+
- rss:
|
|
104
|
+
match_path: "posts/.*"
|
|
105
|
+
date_from_meta:
|
|
106
|
+
as_creation: date.created
|
|
107
|
+
as_update: date.updated
|
|
108
|
+
|
|
109
|
+
nav:
|
|
110
|
+
- Home: index.md
|
|
111
|
+
- Tags: tags.md
|
|
112
|
+
- Website: https://netwk.pro
|
|
113
|
+
- Contributing: contributing.md
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@networkpro/blog",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.11",
|
|
4
4
|
"description": "The official blog of Network Pro Strategies (Network Pro).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"security",
|
|
@@ -43,22 +43,23 @@
|
|
|
43
43
|
"lint:fix": "eslint --ext .mjs,.js,.json,.jsonc --config eslint.config.mjs . --fix",
|
|
44
44
|
"lint:md": "npx markdownlint-cli2 \"**/*.{md,markdown}\" \"#node_modules/**\" \"#build/**\"",
|
|
45
45
|
"lint:css": "npx stylelint \"docs_raw/styles/*.css\" --ignore-path .stylelintignore",
|
|
46
|
-
"lint:all": "npm run lint && npm run lint:md && npm run lint:css && npm run format"
|
|
46
|
+
"lint:all": "npm run lint && npm run lint:md && npm run lint:css && npm run format",
|
|
47
|
+
"upgrade": "npx npm-check-updates -u"
|
|
47
48
|
},
|
|
48
49
|
"devDependencies": {
|
|
49
|
-
"@eslint/js": "^9.
|
|
50
|
+
"@eslint/js": "^9.27.0",
|
|
50
51
|
"@eslint/json": "^0.12.0",
|
|
51
52
|
"autoprefixer": "^10.4.21",
|
|
52
|
-
"browserslist": "^4.
|
|
53
|
-
"eslint": "^9.
|
|
53
|
+
"browserslist": "^4.25.0",
|
|
54
|
+
"eslint": "^9.27.0",
|
|
54
55
|
"eslint-config-prettier": "^10.1.5",
|
|
55
|
-
"globals": "^16.
|
|
56
|
+
"globals": "^16.2.0",
|
|
56
57
|
"markdownlint": "^0.38.0",
|
|
57
|
-
"markdownlint-cli2": "^0.
|
|
58
|
-
"postcss": "^8.5.
|
|
58
|
+
"markdownlint-cli2": "^0.18.1",
|
|
59
|
+
"postcss": "^8.5.4",
|
|
59
60
|
"postcss-html": "^1.8.0",
|
|
60
61
|
"prettier": "3.5.3",
|
|
61
|
-
"stylelint": "^16.
|
|
62
|
+
"stylelint": "^16.20.0",
|
|
62
63
|
"stylelint-config-html": "^1.1.0",
|
|
63
64
|
"stylelint-config-recommended": "^16.0.0",
|
|
64
65
|
"stylelint-order": "^7.0.0"
|
package/ref/README.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# eslint-disable markdown/fenced-code-language
|
|
2
|
+
|
|
3
|
+
# A Material for Mkdocs Blog Template
|
|
4
|
+
|
|
5
|
+
The purpose of the template in this repository is to give you a starting point
|
|
6
|
+
for setting up a blog that makes use of features that Material for MkDocs
|
|
7
|
+
provides and of selected integrations with other plugins that are of specific
|
|
8
|
+
relevance to running a blog.
|
|
9
|
+
|
|
10
|
+
It reflects the results you get by going through the [blog tutorials] in the
|
|
11
|
+
documentation.
|
|
12
|
+
|
|
13
|
+
[blog tutorials]: https://squidfunk.github.io/mkdocs-material/tutorials#blogs
|
|
14
|
+
|
|
15
|
+
## Requirements
|
|
16
|
+
|
|
17
|
+
The to use the all the features this template uses, you need the [Insiders
|
|
18
|
+
Edition] of Material for MkDocs but it should be easy enough to strip it down so
|
|
19
|
+
that it works with the public version.
|
|
20
|
+
|
|
21
|
+
[Insiders Edition]: https://squidfunk.github.io/mkdocs-material/insiders/
|
|
22
|
+
|
|
23
|
+
You will also need to install the [mkdocs-rss-plugin].
|
|
24
|
+
|
|
25
|
+
[mkdocs-rss-plugin]: https://github.com/guts/mkdocs-rss-plugin
|
|
26
|
+
|
|
27
|
+
## Using it
|
|
28
|
+
|
|
29
|
+
This the repository is a [template repository], so you can create as many forks
|
|
30
|
+
of it as you like and your repository will contain only a single commit to start
|
|
31
|
+
with, instead of the whole history of the template. Also, you can create a
|
|
32
|
+
private repository from this template (while forks inherit the visibility settings
|
|
33
|
+
from the original).
|
|
34
|
+
|
|
35
|
+
[template repository]: https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template
|
|
36
|
+
|
|
37
|
+
Simply hit the `Use this template` button. You can set the specifics of your new
|
|
38
|
+
repository from there.
|
|
39
|
+
|
|
40
|
+
## Project layout
|
|
41
|
+
|
|
42
|
+
The following shows the layout of the files in this template. Note that you can
|
|
43
|
+
configure Material for MkDocs to use a different layout, this is simply the
|
|
44
|
+
default.
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
mkdocs.yml # The configuration file.
|
|
48
|
+
docs/
|
|
49
|
+
index.md # The documentation homepage.
|
|
50
|
+
blog/ # The directory that all blog content goes into (first blog instance)
|
|
51
|
+
posts/ # the place to put your posts
|
|
52
|
+
author/ # Author profiles
|
|
53
|
+
.authors.yml # Author information to be added to posts (shared betwe
|
|
54
|
+
ext/ # Directory that contains code for the custom slugs
|
|
55
|
+
hooks/ # Directory for a hook that adds social media share buttons
|
|
56
|
+
```
|
package/ref/help.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Welcome to MkDocs
|
|
2
|
+
|
|
3
|
+
For full documentation visit [mkdocs.org](https://www.mkdocs.org).
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
- `mkdocs new [dir-name]` - Create a new project.
|
|
8
|
+
- `mkdocs serve` - Start the live-reloading docs server.
|
|
9
|
+
- `mkdocs build` - Build the documentation site.
|
|
10
|
+
- `mkdocs -h` - Print help message and exit.
|
|
11
|
+
|
|
12
|
+
## Project layout
|
|
13
|
+
|
|
14
|
+
mkdocs.yml # The configuration file.
|
|
15
|
+
docs/
|
|
16
|
+
index.md # The documentation homepage.
|
|
17
|
+
... # Other markdown pages, images and other files.
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/* =========================================================================
|
|
2
|
+
stylelint.config.js
|
|
3
|
+
|
|
4
|
+
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
5
|
+
This file is part of Network Pro.
|
|
6
|
+
========================================================================= */
|
|
7
|
+
|
|
8
|
+
/** @type {import('stylelint').Config} */
|
|
9
|
+
export default {
|
|
10
|
+
extends: [
|
|
11
|
+
"stylelint-config-recommended", // Base recommended config
|
|
12
|
+
"stylelint-config-html/html", // For linting HTML files
|
|
13
|
+
"stylelint-config-html", // Added from provided config for linting HTML
|
|
14
|
+
],
|
|
15
|
+
plugins: ["stylelint-order"], // Add stylelint-order plugin
|
|
16
|
+
overrides: [
|
|
17
|
+
{
|
|
18
|
+
files: ["**/*.html"], // Use postcss-html for HTML files
|
|
19
|
+
customSyntax: "postcss-html",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
files: ["**/*.css"], // Ensure CSS-specific configurations
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
rules: {
|
|
26
|
+
"property-no-vendor-prefix": null, // Allow vendor prefixes
|
|
27
|
+
"selector-no-vendor-prefix": null,
|
|
28
|
+
"selector-pseudo-element-colon-notation": [
|
|
29
|
+
"double",
|
|
30
|
+
{
|
|
31
|
+
severity: "warning",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
"media-feature-name-no-vendor-prefix": null,
|
|
35
|
+
"font-family-no-duplicate-names": [
|
|
36
|
+
true,
|
|
37
|
+
{
|
|
38
|
+
ignoreFontFamilyNames: ["monospace"],
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
"selector-class-pattern": [
|
|
42
|
+
"^(?!fa-).*$", // Disallow classes starting with "fa-"
|
|
43
|
+
{
|
|
44
|
+
message:
|
|
45
|
+
"Class names must not start with 'fa-' (FontAwesome classes are ignored)",
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
"order/properties-order": [
|
|
49
|
+
[
|
|
50
|
+
{
|
|
51
|
+
groupName: "Positioning",
|
|
52
|
+
properties: ["position", "top", "right", "bottom", "left", "z-index"],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
groupName: "Box Model",
|
|
56
|
+
properties: [
|
|
57
|
+
"display",
|
|
58
|
+
"flex",
|
|
59
|
+
"flex-grow",
|
|
60
|
+
"flex-shrink",
|
|
61
|
+
"flex-basis",
|
|
62
|
+
"justify-content",
|
|
63
|
+
"align-items",
|
|
64
|
+
"align-self",
|
|
65
|
+
"width",
|
|
66
|
+
"height",
|
|
67
|
+
"padding",
|
|
68
|
+
"margin",
|
|
69
|
+
"border",
|
|
70
|
+
"box-shadow",
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
groupName: "Typography",
|
|
75
|
+
properties: [
|
|
76
|
+
"font",
|
|
77
|
+
"font-size",
|
|
78
|
+
"font-weight",
|
|
79
|
+
"line-height",
|
|
80
|
+
"letter-spacing",
|
|
81
|
+
"color",
|
|
82
|
+
"text-align",
|
|
83
|
+
],
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
groupName: "Visual",
|
|
87
|
+
properties: [
|
|
88
|
+
"background",
|
|
89
|
+
"background-color",
|
|
90
|
+
"background-image",
|
|
91
|
+
"opacity",
|
|
92
|
+
"visibility",
|
|
93
|
+
],
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
groupName: "Animation & Transform",
|
|
97
|
+
properties: ["transition", "transform", "animation"],
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
{
|
|
101
|
+
unspecified: "bottomAlphabetical", // Place unspecified properties alphabetically at the bottom
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
},
|
|
105
|
+
reportDescriptionlessDisables: false, // Do not report disables without descriptions
|
|
106
|
+
reportInvalidScopeDisables: true, // Report invalid scope disables
|
|
107
|
+
reportNeedlessDisables: true, // Report unnecessary disables
|
|
108
|
+
ignoreFiles: ["public/**"], // Ignore the build directory
|
|
109
|
+
};
|