@networkpro/blog 1.0.7 → 1.0.10

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 (146) hide show
  1. package/CNAME +1 -0
  2. package/LICENSE.md +265 -0
  3. package/MKDOCS.md +20 -0
  4. package/README.md +8 -46
  5. package/assets/consulting-terms.pdf +0 -0
  6. package/assets/license/CC-BY-4.0-rdfa.xml +741 -0
  7. package/assets/license/CC-BY-4.0.xml +25 -0
  8. package/assets/license/COPYING-rdfa.xml +1187 -0
  9. package/assets/license/COPYING.odt +0 -0
  10. package/assets/linksheet.json +8 -0
  11. package/assets/pgp/contact.vcf +13 -0
  12. package/assets/pgp/contact@s.neteng.pro.aexpk +17 -0
  13. package/assets/pgp/contact@s.neteng.pro.asc +17 -0
  14. package/assets/pgp/github@sl.neteng.cc.aexpk +29 -0
  15. package/assets/pgp/github@sl.neteng.cc.asc +29 -0
  16. package/assets/pgp/support@neteng.pro.aexpk +47 -0
  17. package/assets/pgp/support@neteng.pro.asc +47 -0
  18. package/cspell.json +38 -0
  19. package/docs/LICENSE.md +296 -0
  20. package/docs/PRIVACY.md +212 -0
  21. package/docs/README.md +115 -0
  22. package/docs/TERMS-COND.md +277 -0
  23. package/docs/TERMS-USE.md +212 -0
  24. package/docs/license/CC-BY-4.0.html +1235 -0
  25. package/docs/license/CC-BY-4.0.md +367 -0
  26. package/docs/license/CC-BY-4.0.txt +156 -0
  27. package/docs/license/COPYING.html +1413 -0
  28. package/docs/license/COPYING.md +611 -0
  29. package/docs/license/COPYING.txt +232 -0
  30. package/docs_raw/contributing.md +166 -0
  31. package/docs_raw/img/heliboard-promo.png +0 -0
  32. package/docs_raw/img/heliboard.png +0 -0
  33. package/docs_raw/img/msauth-promo.png +0 -0
  34. package/docs_raw/index.md +18 -0
  35. package/docs_raw/posts/betterweb.md +59 -0
  36. package/docs_raw/posts/heliboard.md +50 -0
  37. package/docs_raw/posts/live.md +83 -0
  38. package/docs_raw/posts/moved.md +74 -0
  39. package/docs_raw/posts/msauth.md +51 -0
  40. package/docs_raw/posts/pwa.md +65 -0
  41. package/docs_raw/posts/secure-secure-shell.md +562 -0
  42. package/docs_raw/posts/weblive.md +63 -0
  43. package/docs_raw/sitemap.xml +83 -0
  44. package/{styles → docs_raw/styles}/default.css +6 -42
  45. package/{styles → docs_raw/styles}/normalize.css +5 -2
  46. package/{styles → docs_raw/styles}/style.css +5 -6
  47. package/docs_raw/tags.md +12 -0
  48. package/eslint.config.mjs +80 -0
  49. package/mkdocs.yml +113 -0
  50. package/package.json +10 -9
  51. package/postcss.config.mjs +5 -0
  52. package/ref/README.md +56 -0
  53. package/ref/help.md +17 -0
  54. package/stylelint.config.js +109 -0
  55. package/2015/01/04/secure-secure-shell/index.html +0 -1552
  56. package/2025/04/30/were-live/index.html +0 -1220
  57. package/2025/05/11/the-network-pro-blog-has-moved/index.html +0 -1202
  58. package/2025/05/15/building-a-better-web-experience/index.html +0 -1200
  59. package/2025/05/16/progressive-web-app-is-live/index.html +0 -1232
  60. package/404.html +0 -970
  61. package/archive/2015/index.html +0 -1141
  62. package/archive/2025/index.html +0 -1316
  63. package/assets/external/avatars.githubusercontent.com/u/170266279.png +0 -0
  64. package/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js +0 -2607
  65. package/assets/images/favicon.png +0 -0
  66. package/assets/javascripts/bundle.13a4f30d.min.js +0 -16
  67. package/assets/javascripts/bundle.13a4f30d.min.js.map +0 -7
  68. package/assets/javascripts/lunr/min/lunr.ar.min.js +0 -1
  69. package/assets/javascripts/lunr/min/lunr.da.min.js +0 -18
  70. package/assets/javascripts/lunr/min/lunr.de.min.js +0 -18
  71. package/assets/javascripts/lunr/min/lunr.du.min.js +0 -18
  72. package/assets/javascripts/lunr/min/lunr.el.min.js +0 -1
  73. package/assets/javascripts/lunr/min/lunr.es.min.js +0 -18
  74. package/assets/javascripts/lunr/min/lunr.fi.min.js +0 -18
  75. package/assets/javascripts/lunr/min/lunr.fr.min.js +0 -18
  76. package/assets/javascripts/lunr/min/lunr.he.min.js +0 -1
  77. package/assets/javascripts/lunr/min/lunr.hi.min.js +0 -1
  78. package/assets/javascripts/lunr/min/lunr.hu.min.js +0 -18
  79. package/assets/javascripts/lunr/min/lunr.hy.min.js +0 -1
  80. package/assets/javascripts/lunr/min/lunr.it.min.js +0 -18
  81. package/assets/javascripts/lunr/min/lunr.ja.min.js +0 -1
  82. package/assets/javascripts/lunr/min/lunr.jp.min.js +0 -1
  83. package/assets/javascripts/lunr/min/lunr.kn.min.js +0 -1
  84. package/assets/javascripts/lunr/min/lunr.ko.min.js +0 -1
  85. package/assets/javascripts/lunr/min/lunr.multi.min.js +0 -1
  86. package/assets/javascripts/lunr/min/lunr.nl.min.js +0 -18
  87. package/assets/javascripts/lunr/min/lunr.no.min.js +0 -18
  88. package/assets/javascripts/lunr/min/lunr.pt.min.js +0 -18
  89. package/assets/javascripts/lunr/min/lunr.ro.min.js +0 -18
  90. package/assets/javascripts/lunr/min/lunr.ru.min.js +0 -18
  91. package/assets/javascripts/lunr/min/lunr.sa.min.js +0 -1
  92. package/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -1
  93. package/assets/javascripts/lunr/min/lunr.sv.min.js +0 -18
  94. package/assets/javascripts/lunr/min/lunr.ta.min.js +0 -1
  95. package/assets/javascripts/lunr/min/lunr.te.min.js +0 -1
  96. package/assets/javascripts/lunr/min/lunr.th.min.js +0 -1
  97. package/assets/javascripts/lunr/min/lunr.tr.min.js +0 -18
  98. package/assets/javascripts/lunr/min/lunr.vi.min.js +0 -1
  99. package/assets/javascripts/lunr/min/lunr.zh.min.js +0 -1
  100. package/assets/javascripts/lunr/tinyseg.js +0 -206
  101. package/assets/javascripts/lunr/wordcut.js +0 -6708
  102. package/assets/javascripts/workers/search.d50fe291.min.js +0 -42
  103. package/assets/javascripts/workers/search.d50fe291.min.js.map +0 -7
  104. package/assets/stylesheets/main.342714a4.min.css +0 -1
  105. package/assets/stylesheets/main.342714a4.min.css.map +0 -1
  106. package/assets/stylesheets/palette.06af60db.min.css +0 -1
  107. package/assets/stylesheets/palette.06af60db.min.css.map +0 -1
  108. package/category/security/index.html +0 -1141
  109. package/contributing/index.html +0 -1306
  110. package/feed_json_created.json +0 -1
  111. package/feed_json_updated.json +0 -1
  112. package/feed_rss_created.xml +0 -1
  113. package/feed_rss_updated.xml +0 -1
  114. package/index.html +0 -1406
  115. package/search/search_index.json +0 -1
  116. package/sitemap.xml +0 -47
  117. package/sitemap.xml.gz +0 -0
  118. package/tags/index.html +0 -1432
  119. /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
  120. /package/{ext → docs_raw/ext}/__init__.py +0 -0
  121. /package/{ext → docs_raw/ext}/slugs.py +0 -0
  122. /package/{favicon.ico → docs_raw/favicon.ico} +0 -0
  123. /package/{favicon.svg → docs_raw/favicon.svg} +0 -0
  124. /package/{fontawesome → docs_raw/fontawesome}/LICENSE.txt +0 -0
  125. /package/{fontawesome → docs_raw/fontawesome}/brands/facebook.svg +0 -0
  126. /package/{fontawesome → docs_raw/fontawesome}/brands/instagram.svg +0 -0
  127. /package/{fontawesome → docs_raw/fontawesome}/brands/linkedin.svg +0 -0
  128. /package/{fontawesome → docs_raw/fontawesome}/brands/mastodon.svg +0 -0
  129. /package/{fontawesome → docs_raw/fontawesome}/solid/at.svg +0 -0
  130. /package/{hooks → docs_raw/hooks}/socialmedia.py +0 -0
  131. /package/{icon-180x180.png → docs_raw/icon-180x180.png} +0 -0
  132. /package/{icon-192x192.png → docs_raw/icon-192x192.png} +0 -0
  133. /package/{icon-512x512-maskable.png → docs_raw/icon-512x512-maskable.png} +0 -0
  134. /package/{icon-512x512.png → docs_raw/icon-512x512.png} +0 -0
  135. /package/{icon-splash.png → docs_raw/icon-splash.png} +0 -0
  136. /package/{img → docs_raw/img}/acode.png +0 -0
  137. /package/{img → docs_raw/img}/blog-move.png +0 -0
  138. /package/{img → docs_raw/img}/favicon.png +0 -0
  139. /package/{img → docs_raw/img}/linksheet.png +0 -0
  140. /package/{img → docs_raw/img}/logo.png +0 -0
  141. /package/{img → docs_raw/img}/pmx.png +0 -0
  142. /package/{img → docs_raw/img}/tosdr.png +0 -0
  143. /package/{img → docs_raw/img}/urlcheck.png +0 -0
  144. /package/{manifest.json → docs_raw/manifest.json} +0 -0
  145. /package/{robots.txt → docs_raw/robots.txt} +0 -0
  146. /package/{styles → docs_raw/styles}/global.css +0 -0
package/tags/index.html DELETED
@@ -1,1432 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en" class="no-js">
4
- <head>
5
-
6
- <meta charset="utf-8">
7
- <meta name="viewport" content="width=device-width,initial-scale=1">
8
-
9
-
10
-
11
- <link rel="canonical" href="https://blog.netwk.pro/tags/">
12
-
13
-
14
- <link rel="prev" href="../contributing/">
15
-
16
-
17
-
18
- <link rel="alternate" type="application/rss+xml" title="RSS feed" href="../feed_rss_created.xml">
19
- <link rel="alternate" type="application/rss+xml" title="RSS feed of updated content" href="../feed_rss_updated.xml">
20
-
21
- <link rel="icon" href="/favicon.svg">
22
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.14">
23
-
24
-
25
-
26
- <title>Tag Index - Network Pro™ Blog</title>
27
-
28
-
29
-
30
- <link rel="stylesheet" href="../assets/stylesheets/main.342714a4.min.css">
31
-
32
-
33
- <link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
- <script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
47
-
48
-
49
-
50
-
51
-
52
-
53
- </head>
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
- <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="amber" data-md-color-accent="yellow">
64
-
65
-
66
- <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
67
- <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
68
- <label class="md-overlay" for="__drawer"></label>
69
- <div data-md-component="skip">
70
-
71
-
72
- <a href="#tags" class="md-skip">
73
- Skip to content
74
- </a>
75
-
76
- </div>
77
- <div data-md-component="announce">
78
-
79
- </div>
80
-
81
-
82
-
83
-
84
- <header class="md-header" data-md-component="header">
85
- <nav class="md-header__inner md-grid" aria-label="Header">
86
- <a href=".." title="Network Pro™ Blog" class="md-header__button md-logo" aria-label="Network Pro™ Blog" data-md-component="logo">
87
-
88
- <img src="/icon-512x512.png" alt="logo">
89
-
90
- </a>
91
- <label class="md-header__button md-icon" for="__drawer">
92
-
93
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
94
- </label>
95
- <div class="md-header__title" data-md-component="header-title">
96
- <div class="md-header__ellipsis">
97
- <div class="md-header__topic">
98
- <span class="md-ellipsis">
99
- Network Pro™ Blog
100
- </span>
101
- </div>
102
- <div class="md-header__topic" data-md-component="header-topic">
103
- <span class="md-ellipsis">
104
-
105
- Tag Index
106
-
107
- </span>
108
- </div>
109
- </div>
110
- </div>
111
-
112
-
113
- <form class="md-header__option" data-md-component="palette">
114
-
115
-
116
-
117
-
118
- <input class="md-option" data-md-color-media="(prefers-color-scheme)" data-md-color-scheme="default" data-md-color-primary="amber" data-md-color-accent="yellow" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
119
-
120
- <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
121
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z"/></svg>
122
- </label>
123
-
124
-
125
-
126
-
127
-
128
- <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="amber" data-md-color-accent="yellow" aria-label="Switch to system preference" type="radio" name="__palette" id="__palette_1">
129
-
130
- <label class="md-header__button md-icon" title="Switch to system preference" for="__palette_2" hidden>
131
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
132
- </label>
133
-
134
-
135
-
136
-
137
-
138
- <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="amber" data-md-color-accent="yellow" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_2">
139
-
140
- <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_0" hidden>
141
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
142
- </label>
143
-
144
-
145
- </form>
146
-
147
-
148
-
149
- <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
150
-
151
-
152
-
153
-
154
-
155
- <label class="md-header__button md-icon" for="__search">
156
-
157
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
158
- </label>
159
- <div class="md-search" data-md-component="search" role="dialog">
160
- <label class="md-search__overlay" for="__search"></label>
161
- <div class="md-search__inner" role="search">
162
- <form class="md-search__form" name="search">
163
- <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
164
- <label class="md-search__icon md-icon" for="__search">
165
-
166
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
167
-
168
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
169
- </label>
170
- <nav class="md-search__options" aria-label="Search">
171
-
172
- <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
173
-
174
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
175
- </button>
176
- </nav>
177
-
178
- <div class="md-search__suggest" data-md-component="search-suggest"></div>
179
-
180
- </form>
181
- <div class="md-search__output">
182
- <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
183
- <div class="md-search-result" data-md-component="search-result">
184
- <div class="md-search-result__meta">
185
- Initializing search
186
- </div>
187
- <ol class="md-search-result__list" role="presentation"></ol>
188
- </div>
189
- </div>
190
- </div>
191
- </div>
192
- </div>
193
-
194
-
195
-
196
- <div class="md-header__source">
197
- <a href="https://github.com/netwk-pro/netwk-pro.github.io" title="Go to repository" class="md-source" data-md-component="source">
198
- <div class="md-source__icon md-icon">
199
-
200
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
201
- </div>
202
- <div class="md-source__repository">
203
- GitHub
204
- </div>
205
- </a>
206
- </div>
207
-
208
- </nav>
209
-
210
- </header>
211
-
212
- <div class="md-container" data-md-component="container">
213
-
214
-
215
-
216
-
217
-
218
- <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
219
- <div class="md-grid">
220
- <ul class="md-tabs__list">
221
-
222
-
223
-
224
-
225
-
226
-
227
- <li class="md-tabs__item">
228
- <a href=".." class="md-tabs__link">
229
-
230
-
231
-
232
-
233
-
234
- Home
235
-
236
- </a>
237
- </li>
238
-
239
-
240
-
241
-
242
-
243
-
244
-
245
-
246
-
247
-
248
- <li class="md-tabs__item">
249
- <a href="../contributing/" class="md-tabs__link">
250
-
251
-
252
-
253
-
254
-
255
- Contributing
256
-
257
- </a>
258
- </li>
259
-
260
-
261
-
262
-
263
-
264
-
265
-
266
-
267
-
268
-
269
-
270
-
271
-
272
- <li class="md-tabs__item md-tabs__item--active">
273
- <a href="./" class="md-tabs__link">
274
-
275
-
276
-
277
-
278
-
279
- Tags
280
-
281
- </a>
282
- </li>
283
-
284
-
285
-
286
-
287
-
288
-
289
-
290
-
291
-
292
- <li class="md-tabs__item">
293
- <a href="https://netwk.pro" class="md-tabs__link">
294
-
295
-
296
-
297
-
298
-
299
- Website
300
-
301
- </a>
302
- </li>
303
-
304
-
305
-
306
-
307
-
308
-
309
-
310
-
311
-
312
-
313
- <li class="md-tabs__item">
314
- <a href="../archive/2025/" class="md-tabs__link">
315
-
316
-
317
-
318
-
319
-
320
- Archive
321
-
322
- </a>
323
- </li>
324
-
325
-
326
-
327
-
328
-
329
-
330
-
331
-
332
-
333
-
334
-
335
- <li class="md-tabs__item">
336
- <a href="../category/security/" class="md-tabs__link">
337
-
338
-
339
-
340
-
341
-
342
- Categories
343
-
344
- </a>
345
- </li>
346
-
347
-
348
-
349
-
350
- </ul>
351
- </div>
352
- </nav>
353
-
354
-
355
-
356
- <main class="md-main" data-md-component="main">
357
- <div class="md-main__inner md-grid">
358
-
359
-
360
-
361
- <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
362
- <div class="md-sidebar__scrollwrap">
363
- <div class="md-sidebar__inner">
364
-
365
-
366
-
367
-
368
-
369
-
370
- <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
371
- <label class="md-nav__title" for="__drawer">
372
- <a href=".." title="Network Pro™ Blog" class="md-nav__button md-logo" aria-label="Network Pro™ Blog" data-md-component="logo">
373
-
374
- <img src="/icon-512x512.png" alt="logo">
375
-
376
- </a>
377
- Network Pro™ Blog
378
- </label>
379
-
380
- <div class="md-nav__source">
381
- <a href="https://github.com/netwk-pro/netwk-pro.github.io" title="Go to repository" class="md-source" data-md-component="source">
382
- <div class="md-source__icon md-icon">
383
-
384
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
385
- </div>
386
- <div class="md-source__repository">
387
- GitHub
388
- </div>
389
- </a>
390
- </div>
391
-
392
- <ul class="md-nav__list" data-md-scrollfix>
393
-
394
-
395
-
396
-
397
-
398
-
399
-
400
-
401
-
402
- <li class="md-nav__item">
403
- <a href=".." class="md-nav__link">
404
-
405
-
406
-
407
- <span class="md-ellipsis">
408
- Home
409
-
410
- </span>
411
-
412
-
413
- </a>
414
- </li>
415
-
416
-
417
-
418
-
419
-
420
-
421
-
422
-
423
-
424
-
425
-
426
-
427
-
428
-
429
-
430
-
431
-
432
-
433
-
434
-
435
-
436
- <li class="md-nav__item md-nav__item--nested">
437
-
438
-
439
-
440
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
441
-
442
-
443
- <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
444
-
445
-
446
-
447
- <span class="md-ellipsis">
448
- Contributing
449
-
450
- </span>
451
-
452
-
453
- <span class="md-nav__icon md-icon"></span>
454
- </label>
455
-
456
- <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
457
- <label class="md-nav__title" for="__nav_2">
458
- <span class="md-nav__icon md-icon"></span>
459
- Contributing
460
- </label>
461
- <ul class="md-nav__list" data-md-scrollfix>
462
-
463
-
464
-
465
-
466
-
467
-
468
-
469
- <li class="md-nav__item">
470
- <a href="../contributing/" class="md-nav__link">
471
-
472
-
473
-
474
- <span class="md-ellipsis">
475
- Code of Conduct
476
-
477
- </span>
478
-
479
-
480
- </a>
481
- </li>
482
-
483
-
484
-
485
-
486
- </ul>
487
- </nav>
488
-
489
- </li>
490
-
491
-
492
-
493
-
494
-
495
-
496
-
497
-
498
-
499
-
500
-
501
-
502
-
503
-
504
-
505
-
506
-
507
-
508
-
509
-
510
-
511
-
512
-
513
-
514
-
515
-
516
- <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
517
-
518
-
519
-
520
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
521
-
522
-
523
- <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
524
-
525
-
526
-
527
- <span class="md-ellipsis">
528
- Tags
529
-
530
- </span>
531
-
532
-
533
- <span class="md-nav__icon md-icon"></span>
534
- </label>
535
-
536
- <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
537
- <label class="md-nav__title" for="__nav_3">
538
- <span class="md-nav__icon md-icon"></span>
539
- Tags
540
- </label>
541
- <ul class="md-nav__list" data-md-scrollfix>
542
-
543
-
544
-
545
-
546
-
547
-
548
-
549
-
550
-
551
- <li class="md-nav__item md-nav__item--active">
552
-
553
- <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
554
-
555
-
556
-
557
-
558
-
559
- <label class="md-nav__link md-nav__link--active" for="__toc">
560
-
561
-
562
-
563
- <span class="md-ellipsis">
564
- Tag Index
565
-
566
- </span>
567
-
568
-
569
- <span class="md-nav__icon md-icon"></span>
570
- </label>
571
-
572
- <a href="./" class="md-nav__link md-nav__link--active">
573
-
574
-
575
-
576
- <span class="md-ellipsis">
577
- Tag Index
578
-
579
- </span>
580
-
581
-
582
- </a>
583
-
584
-
585
-
586
- <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
587
-
588
-
589
-
590
-
591
-
592
-
593
- <label class="md-nav__title" for="__toc">
594
- <span class="md-nav__icon md-icon"></span>
595
- Table of contents
596
- </label>
597
- <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
598
-
599
- <li class="md-nav__item">
600
- <a href="#tag:blog" class="md-nav__link">
601
- <span class="md-ellipsis">
602
- blog
603
- </span>
604
- </a>
605
-
606
- </li>
607
-
608
- <li class="md-nav__item">
609
- <a href="#tag:contributing" class="md-nav__link">
610
- <span class="md-ellipsis">
611
- contributing
612
- </span>
613
- </a>
614
-
615
- </li>
616
-
617
- <li class="md-nav__item">
618
- <a href="#tag:index" class="md-nav__link">
619
- <span class="md-ellipsis">
620
- index
621
- </span>
622
- </a>
623
-
624
- </li>
625
-
626
- <li class="md-nav__item">
627
- <a href="#tag:network-pro" class="md-nav__link">
628
- <span class="md-ellipsis">
629
- network-pro
630
- </span>
631
- </a>
632
-
633
- </li>
634
-
635
- <li class="md-nav__item">
636
- <a href="#tag:post" class="md-nav__link">
637
- <span class="md-ellipsis">
638
- post
639
- </span>
640
- </a>
641
-
642
- </li>
643
-
644
- <li class="md-nav__item">
645
- <a href="#tag:pwa" class="md-nav__link">
646
- <span class="md-ellipsis">
647
- pwa
648
- </span>
649
- </a>
650
-
651
- </li>
652
-
653
- <li class="md-nav__item">
654
- <a href="#tag:security" class="md-nav__link">
655
- <span class="md-ellipsis">
656
- security
657
- </span>
658
- </a>
659
-
660
- </li>
661
-
662
- <li class="md-nav__item">
663
- <a href="#tag:sveltekit" class="md-nav__link">
664
- <span class="md-ellipsis">
665
- sveltekit
666
- </span>
667
- </a>
668
-
669
- </li>
670
-
671
- <li class="md-nav__item">
672
- <a href="#tag:website" class="md-nav__link">
673
- <span class="md-ellipsis">
674
- website
675
- </span>
676
- </a>
677
-
678
- </li>
679
-
680
- </ul>
681
-
682
- </nav>
683
-
684
- </li>
685
-
686
-
687
-
688
-
689
- </ul>
690
- </nav>
691
-
692
- </li>
693
-
694
-
695
-
696
-
697
-
698
-
699
-
700
-
701
-
702
- <li class="md-nav__item">
703
- <a href="https://netwk.pro" class="md-nav__link">
704
-
705
-
706
-
707
- <span class="md-ellipsis">
708
- Website
709
-
710
- </span>
711
-
712
-
713
- </a>
714
- </li>
715
-
716
-
717
-
718
-
719
-
720
-
721
-
722
-
723
-
724
-
725
-
726
-
727
-
728
-
729
-
730
-
731
-
732
-
733
-
734
-
735
-
736
-
737
-
738
- <li class="md-nav__item md-nav__item--nested">
739
-
740
-
741
-
742
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
743
-
744
-
745
- <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
746
-
747
-
748
-
749
- <span class="md-ellipsis">
750
- Archive
751
-
752
- </span>
753
-
754
-
755
- <span class="md-nav__icon md-icon"></span>
756
- </label>
757
-
758
- <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
759
- <label class="md-nav__title" for="__nav_5">
760
- <span class="md-nav__icon md-icon"></span>
761
- Archive
762
- </label>
763
- <ul class="md-nav__list" data-md-scrollfix>
764
-
765
-
766
-
767
-
768
-
769
-
770
-
771
-
772
-
773
- <li class="md-nav__item">
774
- <a href="../archive/2025/" class="md-nav__link">
775
-
776
-
777
-
778
- <span class="md-ellipsis">
779
- May 2025
780
-
781
- </span>
782
-
783
-
784
- </a>
785
- </li>
786
-
787
-
788
-
789
-
790
-
791
-
792
-
793
-
794
-
795
-
796
-
797
-
798
- <li class="md-nav__item">
799
- <a href="../archive/2015/" class="md-nav__link">
800
-
801
-
802
-
803
- <span class="md-ellipsis">
804
- January 2015
805
-
806
- </span>
807
-
808
-
809
- </a>
810
- </li>
811
-
812
-
813
-
814
-
815
- </ul>
816
- </nav>
817
-
818
- </li>
819
-
820
-
821
-
822
-
823
-
824
-
825
-
826
-
827
-
828
-
829
-
830
-
831
-
832
-
833
-
834
-
835
-
836
-
837
-
838
-
839
-
840
- <li class="md-nav__item md-nav__item--nested">
841
-
842
-
843
-
844
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
845
-
846
-
847
- <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
848
-
849
-
850
-
851
- <span class="md-ellipsis">
852
- Categories
853
-
854
- </span>
855
-
856
-
857
- <span class="md-nav__icon md-icon"></span>
858
- </label>
859
-
860
- <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
861
- <label class="md-nav__title" for="__nav_6">
862
- <span class="md-nav__icon md-icon"></span>
863
- Categories
864
- </label>
865
- <ul class="md-nav__list" data-md-scrollfix>
866
-
867
-
868
-
869
-
870
-
871
-
872
-
873
-
874
-
875
- <li class="md-nav__item">
876
- <a href="../category/security/" class="md-nav__link">
877
-
878
-
879
-
880
- <span class="md-ellipsis">
881
- Security
882
-
883
- </span>
884
-
885
-
886
- </a>
887
- </li>
888
-
889
-
890
-
891
-
892
- </ul>
893
- </nav>
894
-
895
- </li>
896
-
897
-
898
-
899
- </ul>
900
- </nav>
901
- </div>
902
- </div>
903
- </div>
904
-
905
-
906
-
907
- <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
908
- <div class="md-sidebar__scrollwrap">
909
- <div class="md-sidebar__inner">
910
-
911
-
912
- <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
913
-
914
-
915
-
916
-
917
-
918
-
919
- <label class="md-nav__title" for="__toc">
920
- <span class="md-nav__icon md-icon"></span>
921
- Table of contents
922
- </label>
923
- <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
924
-
925
- <li class="md-nav__item">
926
- <a href="#tag:blog" class="md-nav__link">
927
- <span class="md-ellipsis">
928
- blog
929
- </span>
930
- </a>
931
-
932
- </li>
933
-
934
- <li class="md-nav__item">
935
- <a href="#tag:contributing" class="md-nav__link">
936
- <span class="md-ellipsis">
937
- contributing
938
- </span>
939
- </a>
940
-
941
- </li>
942
-
943
- <li class="md-nav__item">
944
- <a href="#tag:index" class="md-nav__link">
945
- <span class="md-ellipsis">
946
- index
947
- </span>
948
- </a>
949
-
950
- </li>
951
-
952
- <li class="md-nav__item">
953
- <a href="#tag:network-pro" class="md-nav__link">
954
- <span class="md-ellipsis">
955
- network-pro
956
- </span>
957
- </a>
958
-
959
- </li>
960
-
961
- <li class="md-nav__item">
962
- <a href="#tag:post" class="md-nav__link">
963
- <span class="md-ellipsis">
964
- post
965
- </span>
966
- </a>
967
-
968
- </li>
969
-
970
- <li class="md-nav__item">
971
- <a href="#tag:pwa" class="md-nav__link">
972
- <span class="md-ellipsis">
973
- pwa
974
- </span>
975
- </a>
976
-
977
- </li>
978
-
979
- <li class="md-nav__item">
980
- <a href="#tag:security" class="md-nav__link">
981
- <span class="md-ellipsis">
982
- security
983
- </span>
984
- </a>
985
-
986
- </li>
987
-
988
- <li class="md-nav__item">
989
- <a href="#tag:sveltekit" class="md-nav__link">
990
- <span class="md-ellipsis">
991
- sveltekit
992
- </span>
993
- </a>
994
-
995
- </li>
996
-
997
- <li class="md-nav__item">
998
- <a href="#tag:website" class="md-nav__link">
999
- <span class="md-ellipsis">
1000
- website
1001
- </span>
1002
- </a>
1003
-
1004
- </li>
1005
-
1006
- </ul>
1007
-
1008
- </nav>
1009
- </div>
1010
- </div>
1011
- </div>
1012
-
1013
-
1014
-
1015
- <div class="md-content" data-md-component="content">
1016
- <article class="md-content__inner md-typeset">
1017
-
1018
-
1019
-
1020
-
1021
-
1022
-
1023
-
1024
-
1025
- <p><sup><a href="https://spdx.dev/learn/handling-license-info/">SPDX-License-Identifier</a>:
1026
- <code>CC-BY-4.0 OR GPL-3.0-or-later</code></sup></p>
1027
- <h1 id="tags">Tags</h1>
1028
- <p>This page lists all of the tags used in the blog. Click on a tag to see the related articles and posts.</p>
1029
-
1030
-
1031
- <h2 id="tag:blog">
1032
-
1033
-
1034
- <span class="md-tag">blog</span></h2>
1035
- <ul>
1036
-
1037
- <li>
1038
- <a href="..">
1039
- Home
1040
- </a>
1041
- </li>
1042
-
1043
- <li>
1044
- <a href="../2025/05/11/the-network-pro-blog-has-moved/">
1045
- The Network Pro™ Blog Has Moved
1046
- </a>
1047
- </li>
1048
-
1049
- <li>
1050
- <a href="../2025/04/30/were-live/">
1051
- We're Live!
1052
- </a>
1053
- </li>
1054
-
1055
-
1056
- </ul>
1057
-
1058
-
1059
-
1060
- <h2 id="tag:contributing">
1061
-
1062
-
1063
- <span class="md-tag">contributing</span></h2>
1064
- <ul>
1065
-
1066
- <li>
1067
- <a href="../contributing/">
1068
- Code of Conduct
1069
- </a>
1070
- </li>
1071
-
1072
-
1073
- </ul>
1074
-
1075
-
1076
-
1077
- <h2 id="tag:index">
1078
-
1079
-
1080
- <span class="md-tag">index</span></h2>
1081
- <ul>
1082
-
1083
- <li>
1084
- <a href="..">
1085
- Home
1086
- </a>
1087
- </li>
1088
-
1089
-
1090
- </ul>
1091
-
1092
-
1093
-
1094
- <h2 id="tag:network-pro">
1095
-
1096
-
1097
- <span class="md-tag">network-pro</span></h2>
1098
- <ul>
1099
-
1100
- <li>
1101
- <a href="../2025/05/15/building-a-better-web-experience/">
1102
- Building a Better Web Experience
1103
- </a>
1104
- </li>
1105
-
1106
- <li>
1107
- <a href="../contributing/">
1108
- Code of Conduct
1109
- </a>
1110
- </li>
1111
-
1112
- <li>
1113
- <a href="..">
1114
- Home
1115
- </a>
1116
- </li>
1117
-
1118
- <li>
1119
- <a href="../2025/05/16/progressive-web-app-is-live/">
1120
- Progressive Web App is Live
1121
- </a>
1122
- </li>
1123
-
1124
- <li>
1125
- <a href="../2025/05/11/the-network-pro-blog-has-moved/">
1126
- The Network Pro™ Blog Has Moved
1127
- </a>
1128
- </li>
1129
-
1130
- <li>
1131
- <a href="../2025/04/30/were-live/">
1132
- We're Live!
1133
- </a>
1134
- </li>
1135
-
1136
-
1137
- </ul>
1138
-
1139
-
1140
-
1141
- <h2 id="tag:post">
1142
-
1143
-
1144
- <span class="md-tag">post</span></h2>
1145
- <ul>
1146
-
1147
- <li>
1148
- <a href="../2015/01/04/secure-secure-shell/">
1149
- Secure Secure Shell
1150
- </a>
1151
- </li>
1152
-
1153
-
1154
- </ul>
1155
-
1156
-
1157
-
1158
- <h2 id="tag:pwa">
1159
-
1160
-
1161
- <span class="md-tag">pwa</span></h2>
1162
- <ul>
1163
-
1164
- <li>
1165
- <a href="../2025/05/16/progressive-web-app-is-live/">
1166
- Progressive Web App is Live
1167
- </a>
1168
- </li>
1169
-
1170
-
1171
- </ul>
1172
-
1173
-
1174
-
1175
- <h2 id="tag:security">
1176
-
1177
-
1178
- <span class="md-tag">security</span></h2>
1179
- <ul>
1180
-
1181
- <li>
1182
- <a href="../2015/01/04/secure-secure-shell/">
1183
- Secure Secure Shell
1184
- </a>
1185
- </li>
1186
-
1187
-
1188
- </ul>
1189
-
1190
-
1191
-
1192
- <h2 id="tag:sveltekit">
1193
-
1194
-
1195
- <span class="md-tag">sveltekit</span></h2>
1196
- <ul>
1197
-
1198
- <li>
1199
- <a href="../2025/05/15/building-a-better-web-experience/">
1200
- Building a Better Web Experience
1201
- </a>
1202
- </li>
1203
-
1204
- <li>
1205
- <a href="../2025/05/16/progressive-web-app-is-live/">
1206
- Progressive Web App is Live
1207
- </a>
1208
- </li>
1209
-
1210
-
1211
- </ul>
1212
-
1213
-
1214
-
1215
- <h2 id="tag:website">
1216
-
1217
-
1218
- <span class="md-tag">website</span></h2>
1219
- <ul>
1220
-
1221
- <li>
1222
- <a href="../2025/05/15/building-a-better-web-experience/">
1223
- Building a Better Web Experience
1224
- </a>
1225
- </li>
1226
-
1227
- <li>
1228
- <a href="../2025/05/16/progressive-web-app-is-live/">
1229
- Progressive Web App is Live
1230
- </a>
1231
- </li>
1232
-
1233
-
1234
- </ul>
1235
-
1236
-
1237
-
1238
-
1239
-
1240
-
1241
-
1242
-
1243
-
1244
-
1245
-
1246
-
1247
-
1248
-
1249
-
1250
-
1251
-
1252
- </article>
1253
- </div>
1254
-
1255
-
1256
- <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
1257
- </div>
1258
-
1259
- <button type="button" class="md-top md-icon" data-md-component="top" hidden>
1260
-
1261
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
1262
- Back to top
1263
- </button>
1264
-
1265
- </main>
1266
-
1267
- <footer class="md-footer">
1268
-
1269
- <div class="md-footer-meta md-typeset">
1270
- <div class="md-footer-meta__inner md-grid">
1271
- <div class="md-copyright">
1272
-
1273
- <div class="md-copyright__highlight">
1274
- Copyright &copy; 2025 Network Pro Strategies (Network Pro&trade;) – <a href="#__consent">Change cookie settings</a>
1275
-
1276
- </div>
1277
-
1278
-
1279
- Made with
1280
- <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1281
- Material for MkDocs
1282
- </a>
1283
-
1284
- </div>
1285
-
1286
- <div class="md-social">
1287
-
1288
-
1289
-
1290
-
1291
-
1292
- <a href="https://instagram.com/netwk_pro/" target="_blank" rel="noopener" title="Network Pro on Instagram" class="md-social__link">
1293
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141m0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7m146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8m76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8M398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1"/></svg>
1294
- </a>
1295
-
1296
-
1297
-
1298
-
1299
-
1300
- <a href="https://facebook.com/neteng.pro/" target="_blank" rel="noopener" title="Network Pro on Facebook" class="md-social__link">
1301
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 120 82.7 220.8 194.2 248.5V334.2h-52.8V256h52.8v-33.7c0-87.1 39.4-127.5 125-127.5 16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287v175.9C413.8 494.8 512 386.9 512 256"/></svg>
1302
- </a>
1303
-
1304
-
1305
-
1306
-
1307
-
1308
- <a href="https://linkedin.com/company/netwk-pro/" target="_blank" rel="noopener" title="Network Pro on LinkedIn" class="md-social__link">
1309
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3M135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5m282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9z"/></svg>
1310
- </a>
1311
-
1312
-
1313
-
1314
-
1315
-
1316
-
1317
-
1318
- <a href="https://noc.social/@neteng_pro/" target="_blank" rel="noopener me" title="Network Pro on Mastoon" class="md-social__link">
1319
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.5 102.5 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5m-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg>
1320
- </a>
1321
-
1322
-
1323
-
1324
-
1325
-
1326
- <a href="https://contact.neteng.pro/" target="_blank" rel="noopener" title="Contact Us" class="md-social__link">
1327
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M256 64C150 64 64 150 64 256s86 192 192 192c17.7 0 32 14.3 32 32s-14.3 32-32 32C114.6 512 0 397.4 0 256S114.6 0 256 0s256 114.6 256 256v32c0 53-43 96-96 96-29.3 0-55.6-13.2-73.2-33.9-22.8 21-53.3 33.9-86.8 33.9-70.7 0-128-57.3-128-128s57.3-128 128-128c27.9 0 53.7 8.9 74.7 24.1 5.7-5 13.1-8.1 21.3-8.1 17.7 0 32 14.3 32 32v112c0 17.7 14.3 32 32 32s32-14.3 32-32v-32c0-106-86-192-192-192m64 192a64 64 0 1 0-128 0 64 64 0 1 0 128 0"/></svg>
1328
- </a>
1329
-
1330
- </div>
1331
-
1332
- </div>
1333
- </div>
1334
- </footer>
1335
-
1336
- </div>
1337
- <div class="md-dialog" data-md-component="dialog">
1338
- <div class="md-dialog__inner md-typeset"></div>
1339
- </div>
1340
-
1341
-
1342
- <div class="md-consent" data-md-component="consent" id="__consent" hidden>
1343
- <div class="md-consent__overlay"></div>
1344
- <aside class="md-consent__inner">
1345
- <form class="md-consent__form md-grid md-typeset" name="consent">
1346
-
1347
-
1348
-
1349
-
1350
- <h4>Cookie Consent</h4>
1351
- <p>We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.</p>
1352
- <input class="md-toggle" type="checkbox" id="__settings" >
1353
- <div class="md-consent__settings">
1354
- <ul class="task-list">
1355
-
1356
-
1357
-
1358
-
1359
-
1360
-
1361
-
1362
-
1363
-
1364
-
1365
-
1366
- <li class="task-list-item">
1367
- <label class="task-list-control">
1368
- <input type="checkbox" name="analytics" >
1369
- <span class="task-list-indicator"></span>
1370
- Google Analytics
1371
- </label>
1372
- </li>
1373
-
1374
-
1375
-
1376
-
1377
-
1378
-
1379
-
1380
-
1381
-
1382
-
1383
-
1384
-
1385
- <li class="task-list-item">
1386
- <label class="task-list-control">
1387
- <input type="checkbox" name="github" checked>
1388
- <span class="task-list-indicator"></span>
1389
- GitHub
1390
- </label>
1391
- </li>
1392
-
1393
-
1394
-
1395
- </ul>
1396
- </div>
1397
- <div class="md-consent__controls">
1398
-
1399
-
1400
-
1401
- <button type="reset" class="md-button md-button--primary">Reject</button>
1402
-
1403
-
1404
-
1405
-
1406
- <button class="md-button md-button--primary">Accept</button>
1407
-
1408
-
1409
-
1410
-
1411
-
1412
-
1413
-
1414
- <label class="md-button" for="__settings">Manage settings</label>
1415
-
1416
-
1417
- </div>
1418
- </form>
1419
- </aside>
1420
- </div>
1421
- <script>var consent=__md_get("__consent");if(consent)for(var input of document.forms.consent.elements)input.name&&(input.checked=consent[input.name]||!1);else"file:"!==location.protocol&&setTimeout((function(){document.querySelector("[data-md-component=consent]").hidden=!1}),250);var form=document.forms.consent;for(var action of["submit","reset"])form.addEventListener(action,(function(e){if(e.preventDefault(),"reset"===e.type)for(var n of document.forms.consent.elements)n.name&&(n.checked=!1);__md_set("__consent",Object.fromEntries(Array.from(new FormData(form).keys()).map((function(e){return[e,!0]})))),location.hash="",location.reload()}))</script>
1422
-
1423
-
1424
-
1425
- <script id="__config" type="application/json">{"base": "..", "features": ["navigation.instant", "navigation.tracking", "navigation.tabs", "navigation.indexes", "toc.follow", "navigation.top", "search.suggest"], "search": "../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
1426
-
1427
-
1428
- <script src="../assets/javascripts/bundle.13a4f30d.min.js"></script>
1429
-
1430
-
1431
- </body>
1432
- </html>