@nebularstreams/statify 3.0.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/dist/.DS_Store +0 -0
- package/dist/website.simple/webfonts/fa-brands-400.woff2 +0 -0
- package/dist/website.simple/webfonts/fa-solid-900.eot +0 -0
- package/dist/website.simple/webfonts/fa-solid-900.svg +4649 -0
- package/dist/website.simple/webfonts/fa-solid-900.ttf +0 -0
- package/dist/website.simple/webfonts/fa-solid-900.woff +0 -0
- package/dist/website.simple/webfonts/fa-solid-900.woff2 +0 -0
- package/dist/website.simple/website.css +32 -0
- package/dist/website.simple/website.min.js +6 -0
- package/dist/website.software/webfonts/fa-brands-400.woff2 +0 -0
- package/dist/website.software/webfonts/fa-solid-900.eot +0 -0
- package/dist/website.software/webfonts/fa-solid-900.svg +4649 -0
- package/dist/website.software/webfonts/fa-solid-900.ttf +0 -0
- package/dist/website.software/webfonts/fa-solid-900.woff +0 -0
- package/dist/website.software/webfonts/fa-solid-900.woff2 +0 -0
- package/dist/website.software/website.css +32 -0
- package/dist/website.software/website.min.js +6 -0
- package/dist/website.worlds/webfonts/fa-brands-400.woff2 +0 -0
- package/dist/website.worlds/webfonts/fa-solid-900.eot +0 -0
- package/dist/website.worlds/webfonts/fa-solid-900.svg +4649 -0
- package/dist/website.worlds/webfonts/fa-solid-900.ttf +0 -0
- package/dist/website.worlds/webfonts/fa-solid-900.woff +0 -0
- package/dist/website.worlds/webfonts/fa-solid-900.woff2 +0 -0
- package/dist/website.worlds/website.css +32 -0
- package/dist/website.worlds/website.min.js +6 -0
- package/package.json +49 -0
- package/readme.md +105 -0
- package/src/publisher-lib.js +179 -0
- package/src/publisher-list.js +91 -0
- package/src/publisher.js +38 -0
- package/src/util/cdn/nobj.cdn.js +88 -0
- package/src/util/htmlroute.js +39 -0
- package/src/util/markdown/lib.showdown.icon.js +62 -0
- package/src/util/markdown/lib.showdown.yt.js +54 -0
- package/src/util/markdown/markdown.js +144 -0
- package/src/util/navibar/util.navibar.js +63 -0
- package/src/util/sha.js +20 -0
- package/src/util/tokenizer.js +234 -0
- package/src/util/widgets/NoticeWidget.js +30 -0
- package/src/util/widgets/app.widgets.js +70 -0
- package/src/util/widgets/util.definewidget.js +14 -0
- package/src/widgets/Cookies.js +55 -0
- package/src/widgets/Frameset-simple.js +114 -0
- package/src/widgets/Frameset.js +124 -0
- package/src/widgets/Page.js +356 -0
- package/src/widgets/RightSide.js +93 -0
- package/src/widgets/Snippets.js +75 -0
- package/src/widgets/Tail.js +11 -0
- package/src/widgets/Widgets.js +10 -0
- package/src/widgets.client/Client.js +22 -0
- package/src/widgets.features/FeatureList.js +364 -0
- package/src/widgets.features/Youtube.js +23 -0
- package/src/widgets.features/bootcol.js +29 -0
- package/src/widgets.features/css/feature.css +112 -0
- package/src/widgets.features/css/tail.css +4 -0
- package/src/widgets.howto/Faq.js +201 -0
- package/src/widgets.howto/HowTo.js +419 -0
- package/src/widgets.howto/Tiles.js +51 -0
- package/src/widgets.howto/script-contractable.js +31 -0
- package/src/widgets.markdown/Document.js +84 -0
- package/src/widgets.market/MarketItem.js +278 -0
- package/src/widgets.market/MarketItem.orig.js +268 -0
- package/src/widgets.market/MarketItem.strips.js +276 -0
- package/src/widgets.market/StoryLicenseWIdget.js +45 -0
- package/src/widgets.market/app.utils.js +238 -0
- package/src.website/css/app/animations.css +27 -0
- package/src.website/css/app/ismobile.css +7 -0
- package/src.website/css/app/style.css +51 -0
- package/src.website/css/app/style.fullheight.css +9 -0
- package/src.website/css/app/style.mdblocks.css +59 -0
- package/src.website/css/app/style.putosafari.css +3 -0
- package/src.website/css/bootstrap/bootstrap-tiny-core.css +47 -0
- package/src.website/css/bootstrap/bootstrap-tiny-media-columns.css +1276 -0
- package/src.website/css/bootstrap/bootstrap-tiny-media-custom.css +59 -0
- package/src.website/css/bootstrap/bootstrap-tiny-media-display.css +279 -0
- package/src.website/css/bootstrap/bootstrap-tiny-media-flex.css +881 -0
- package/src.website/css/bootstrap/bootstrap-tiny-media-fonts.css +39 -0
- package/src.website/css/bootstrap/bootstrap-tiny-media-paddings.css +1348 -0
- package/src.website/css/css-core/core.ext.css +65 -0
- package/src.website/css/css-core/frontpage.css +28 -0
- package/src.website/css/css-core/root.css +34 -0
- package/src.website/css/css-core/root.fullheight.css +12 -0
- package/src.website/css/css-core/ui.dialog.round.css +14 -0
- package/src.website/css/css-core/ui.navibar.css +28 -0
- package/src.website/css/css-core/ui.notifications.css +12 -0
- package/src.website/css/css-featurelist/feature.css +196 -0
- package/src.website/css/css-featurelist/tail.css +4 -0
- package/src.website/css/css-screens/doc.css +22 -0
- package/src.website/css/css-screens/screens-meta.css +3 -0
- package/src.website/css/css-unsplash/unsplash.css +32 -0
- package/src.website/css/css-videos/youtube.css +28 -0
- package/src.website/css/css-wiki/wiki.css +206 -0
- package/src.website/css/css-wiki/wiki.sidepane.css +16 -0
- package/src.website/css/fontawesome/fa-brands.css +18 -0
- package/src.website/css/fontawesome/fa-solid.css +16 -0
- package/src.website/css/fontawesome/fa.css +4359 -0
- package/src.website/css/skin/mierda.css +15 -0
- package/src.website/css/skin/skin.dark.css +85 -0
- package/src.website/css/skin/skin.light.css +27 -0
- package/src.website/css/skin/vars.font.css +8 -0
- package/src.website/css/skin/vars.sizes.css +4 -0
- package/src.website/package-lock.json +2160 -0
- package/src.website/package.json +28 -0
- package/src.website/public/webfonts/fa-brands-400.woff2 +0 -0
- package/src.website/public/webfonts/fa-solid-900.eot +0 -0
- package/src.website/public/webfonts/fa-solid-900.svg +4649 -0
- package/src.website/public/webfonts/fa-solid-900.ttf +0 -0
- package/src.website/public/webfonts/fa-solid-900.woff +0 -0
- package/src.website/public/webfonts/fa-solid-900.woff2 +0 -0
- package/src.website/rollup.simple.mjs +36 -0
- package/src.website/rollup.software.mjs +36 -0
- package/src.website/rollup.terser.mjs +24 -0
- package/src.website/rollup.worlds.mjs +36 -0
- package/src.website/src/app/app.style.mjs +36 -0
- package/src.website/src/app/index.mjs +118 -0
- package/src.website/src/config.js +8 -0
- package/src.website/src/core/cdnmodel.mjs +7 -0
- package/src.website/src/core/clientruntime.mjs +41 -0
- package/src.website/src/core.cookies/analytics.mjs +96 -0
- package/src.website/src/core.cookies/cookiemanager.mjs +128 -0
- package/src.website/src/core.cookies/css/cookies.css +80 -0
- package/src.website/src/core.cookies/css/nocookies.css +48 -0
- package/src.website/src/core.extra/css/contractable.css +12 -0
- package/src.website/src/core.extra/css/faq.css +42 -0
- package/src.website/src/core.extra/css/howto.css +81 -0
- package/src.website/src/core.extra/extra.document.mjs +83 -0
- package/src.website/src/core.extra/extra.faq.mjs +30 -0
- package/src.website/src/core.extra/extra.mjs +62 -0
- package/src.website/src/main.simple.mjs +4 -0
- package/src.website/src/main.software.mjs +10 -0
- package/src.website/src/main.worlds.mjs +9 -0
- package/src.website/src/support/ismobile.mjs +4 -0
- package/src.website/src/support/nonce.mjs +4 -0
- package/src.website/src/support/persistsettings.mjs +41 -0
- package/src.website/src/support/qrcode.mjs +1269 -0
- package/src.website/src/support/timeutils.mjs +237 -0
- package/src.website/src/widgets/index.mjs +22 -0
- package/src.website/src.widgets/widgets.market/index.mjs +11 -0
- package/src.website/src.widgets/widgets.market/widgets/market/DiscoverWidget.mjs +401 -0
- package/src.website/src.widgets/widgets.market/widgets/market/EmptyNew.mjs +28 -0
- package/src.website/src.widgets/widgets.market/widgets/market/MarketDetail.mjs +78 -0
- package/src.website/src.widgets/widgets.market/widgets/market/MarketItem.mjs +349 -0
- package/src.website/src.widgets/widgets.market/widgets/market/MarketWidget.mjs +437 -0
- package/src.website/src.widgets/widgets.market/widgets/market/StoryLicenseWidget.mjs +34 -0
- package/src.website/src.widgets/widgets.market/widgets/market/css/market.css +394 -0
- package/src.website/src.widgets/widgets.market/widgets/market/css/notice.css +6 -0
- package/src.website/src.widgets/widgets.market/widgets/navibar/NaviBarWidget.mjs +58 -0
- package/src.website/src.widgets/widgets.market/widgets/navibar/css/titlebar.css +68 -0
- package/src.website/src.widgets/widgets.market/widgets/navibar/css/ui.navibar.css +28 -0
- package/src.website/src.widgets/widgets.software/index.mjs +9 -0
- package/src.website/src.widgets/widgets.software/widgets/BootStrapColumnWidget.mjs +17 -0
- package/src.website/src.widgets/widgets.software/widgets/DownloadWidget.mjs +210 -0
- package/src.website/src.widgets/widgets.software/widgets/LicenseWidget.js +103 -0
- package/src.website/src.widgets/widgets.software/widgets/css/download/download.css +110 -0
- package/src.website/src.widgets/widgets.software/widgets/css/license/beta.css +28 -0
- package/src.website/src.widgets/widgets.software/widgets/css/license/button.css +30 -0
- package/src.website/src.widgets/widgets.software/widgets/css/license/front.css +46 -0
- package/src.website/src.widgets/widgets.software/widgets/css/license/licenses.css +13 -0
- package/src.website/src.widgets/widgets.software/widgets/css/license/overstate.css +15 -0
- package/src.website/src.widgets/widgets.software/widgets/css/license/story.css +8 -0
- package/src.website/src.widgets/widgets.software/widgets/css/license/toolbar.css +9 -0
- package/src.website/src.widgets/widgets.software/widgets/support/version.mjs +88 -0
- package/src.website/src.widgets/widgets.worlds/index.mjs +11 -0
- package/src.website/src.widgets/widgets.worlds/widgets/LocalBrowser.mjs +386 -0
- package/src.website/src.widgets/widgets.worlds/widgets/LocalLauncher.code.mjs +247 -0
- package/src.website/src.widgets/widgets.worlds/widgets/LocalLauncher.mjs +239 -0
- package/src.website/src.widgets/widgets.worlds/widgets/css/input.css +32 -0
- package/src.website/src.widgets/widgets.worlds/widgets/css/localprojects.css +188 -0
- package/templates/documentation/assets/docs.css +7 -0
- package/templates/documentation/assets/images/right.webp +0 -0
- package/templates/documentation/images.json +12 -0
- package/templates/documentation/metadata.json +120 -0
- package/templates/documentation/pages/cookies.md +25 -0
- package/templates/documentation/pages/index.md +13 -0
- package/templates/documentation/pages/privacy.md +50 -0
- package/templates/documentation/pages/tos.md +49 -0
- package/templates/landing/assets/res/carousel/image-1.webp +0 -0
- package/templates/landing/assets/res/carousel/image-2.webp +0 -0
- package/templates/landing/assets/res/carousel/image-3.webp +0 -0
- package/templates/landing/assets/res/custom.css +122 -0
- package/templates/landing/assets/res/logos/favicon.ico +0 -0
- package/templates/landing/assets/res/logos/favicon.png +0 -0
- package/templates/landing/assets/res/logos/logo.medallion.png +0 -0
- package/templates/landing/assets/res/logos/logo.white.png +0 -0
- package/templates/landing/assets/res/proj/banda-tech-client.webp +0 -0
- package/templates/landing/assets/res/proj/banda-tech-server.webp +0 -0
- package/templates/landing/assets/res/proj/proj-common-ground.webp +0 -0
- package/templates/landing/assets/res/proj/proj-fieldnote.webp +0 -0
- package/templates/landing/assets/res/proj/proj-tribes.webp +0 -0
- package/templates/landing/images.json +932 -0
- package/templates/landing/metadata.json +115 -0
- package/templates/landing/pages/index.json +268 -0
- package/tool/cli.js +183 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
.nocookies .unsplash,
|
|
2
|
+
.nocookies .thirdparty {
|
|
3
|
+
background-image: linear-gradient(45deg, black, transparent) !important;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.nocookies .authorbox {
|
|
7
|
+
display: none;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.nocookies .with-nocookies {
|
|
11
|
+
display: block !important;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.nocookies md-yt:before,
|
|
15
|
+
.nocookies .youtube:before {
|
|
16
|
+
content: "Enable cookies to watch this video";
|
|
17
|
+
background: linear-gradient(180deg, transparent, black);
|
|
18
|
+
display: block;
|
|
19
|
+
position: absolute;
|
|
20
|
+
bottom: 0;
|
|
21
|
+
left: 0;
|
|
22
|
+
width: 100%;
|
|
23
|
+
text-align: center;
|
|
24
|
+
padding: 0.5rem 0;
|
|
25
|
+
color: white;
|
|
26
|
+
z-index: 100;
|
|
27
|
+
font-variant: all-small-caps;
|
|
28
|
+
font-size: 0.8rem;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.nocookies md-yt:after,
|
|
32
|
+
.nocookies .youtube:after {
|
|
33
|
+
content: "\f563";
|
|
34
|
+
font-family: "Font Awesome 5 Free";
|
|
35
|
+
position: absolute;
|
|
36
|
+
bottom: 0;
|
|
37
|
+
left: 0;
|
|
38
|
+
padding: 0.5rem;
|
|
39
|
+
font-size: 1.5rem;
|
|
40
|
+
color: red;
|
|
41
|
+
border-radius: 200rem;
|
|
42
|
+
z-index: 101;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.nocookies md-yt iframe,
|
|
46
|
+
.nocookies .youtube iframe {
|
|
47
|
+
display: none !important;
|
|
48
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
.screen .contractable.contracted:hover > div {
|
|
2
|
+
background: var(--window-background-lo);
|
|
3
|
+
cursor: pointer;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.screen .contractable.contracted .body {
|
|
7
|
+
display: none;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.screen .question.expanded > div {
|
|
11
|
+
background: var(--accent-light);
|
|
12
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
.faq h3 {
|
|
2
|
+
font-size: 1.25rem;
|
|
3
|
+
place-self: center;
|
|
4
|
+
text-align: left;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.screen ol li .index {
|
|
8
|
+
font-size: 3rem;
|
|
9
|
+
color: var(--text-lo);
|
|
10
|
+
width: 5.5rem;
|
|
11
|
+
flex-shrink: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.faq .question .body {
|
|
15
|
+
text-align: initial;
|
|
16
|
+
border-top: dashed 1px var(--border-color);
|
|
17
|
+
padding: 1rem 1rem 1rem 4rem;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.contractable i {
|
|
21
|
+
line-height: 4rem;
|
|
22
|
+
flex-shrink: 0;
|
|
23
|
+
margin: 0 1rem;
|
|
24
|
+
color: var(--text-lo);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
.faq.question > div {
|
|
29
|
+
transition: background-color 0.5s linear;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.faq .markdown:before {
|
|
33
|
+
height: 100%;
|
|
34
|
+
content: " ";
|
|
35
|
+
background: var(--accent);
|
|
36
|
+
width: 0.25rem;
|
|
37
|
+
display: block;
|
|
38
|
+
position: absolute;
|
|
39
|
+
top: 0;
|
|
40
|
+
left: 2.5rem;
|
|
41
|
+
}
|
|
42
|
+
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
.howto .howtolist li {
|
|
2
|
+
align-items: center;
|
|
3
|
+
padding: 0.5rem 0;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.howto .instructions li i {
|
|
7
|
+
margin-right: 1rem;
|
|
8
|
+
place-items: center;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.howto .instructions li {
|
|
12
|
+
padding: 0.5rem 0;
|
|
13
|
+
place-items: center;
|
|
14
|
+
border-top: solid 1px var(--border-color);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.howto .imgstep img {
|
|
18
|
+
border: solid 1px var(--border-color);
|
|
19
|
+
border-radius: 0.5rem;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.howto .imgstep {
|
|
23
|
+
border-top: solid 1px var(--border-color);
|
|
24
|
+
flex-direction: row;
|
|
25
|
+
align-items: center;
|
|
26
|
+
display: flex;
|
|
27
|
+
justify-content: center;
|
|
28
|
+
background-repeat: no-repeat;
|
|
29
|
+
background-size: contain;
|
|
30
|
+
background-position: center;
|
|
31
|
+
min-height: 15rem;
|
|
32
|
+
border-right: solid 1px var(--border-color);
|
|
33
|
+
padding: 1rem;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.howto .description {
|
|
37
|
+
padding: 0.5rem 1.5rem;
|
|
38
|
+
border-top: solid 1px var(--border-color);
|
|
39
|
+
text-align: left;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.howto .instructions li .instruction {
|
|
43
|
+
/* border: solid; */
|
|
44
|
+
text-align: left;
|
|
45
|
+
padding-right: 1rem;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.howto h3 {
|
|
49
|
+
font-size: 1.25rem;
|
|
50
|
+
place-self: center;
|
|
51
|
+
text-align: left;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.howto ol li .index {
|
|
55
|
+
font-size: 3rem;
|
|
56
|
+
color: var(--text-lo);
|
|
57
|
+
line-height: 4rem;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.howto ol li {
|
|
61
|
+
position: relative;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.howto h5 {
|
|
65
|
+
background: var(--window-background-lo);
|
|
66
|
+
padding: 0.5rem;
|
|
67
|
+
margin: 0.5rem;
|
|
68
|
+
border-radius: 100rem;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.fabf:before {
|
|
72
|
+
font-family: "Font Awesome 5 Free";
|
|
73
|
+
padding: 0 0.5rem;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.howto li.flexcol.titrow {
|
|
77
|
+
margin-bottom: 0.5rem;
|
|
78
|
+
padding-bottom: 1rem;
|
|
79
|
+
padding-top: 1rem;
|
|
80
|
+
}
|
|
81
|
+
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
const
|
|
2
|
+
window_setTimeout = window.setTimeout,
|
|
3
|
+
items = [];
|
|
4
|
+
|
|
5
|
+
let
|
|
6
|
+
active = -1,
|
|
7
|
+
activeElement = null,
|
|
8
|
+
timer = undefined,
|
|
9
|
+
selector;
|
|
10
|
+
|
|
11
|
+
function addCoordIndex(arr) {
|
|
12
|
+
for (const item of arr) if (item.hasAttribute("id")) items.push(item);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function runHash(hash) {
|
|
16
|
+
if (hash === activeElement) return;
|
|
17
|
+
const item = document.getElementById(hash);
|
|
18
|
+
if (item) {
|
|
19
|
+
item.scrollIntoView({ behavior: "smooth" });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function setActive(index) {
|
|
24
|
+
|
|
25
|
+
active = Math.max(0, index);
|
|
26
|
+
|
|
27
|
+
if (activeElement) {
|
|
28
|
+
document.getElementById("link-" + activeElement)
|
|
29
|
+
?.classList
|
|
30
|
+
.remove("accent");
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
activeElement = items[index]?.id;
|
|
34
|
+
selector.selectedIndex = index;
|
|
35
|
+
|
|
36
|
+
if (activeElement) {
|
|
37
|
+
document.getElementById("link-" + activeElement)
|
|
38
|
+
?.classList
|
|
39
|
+
.toggle("accent", true);
|
|
40
|
+
window.history.replaceState({}, "", "#" + activeElement);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function findElement(first) {
|
|
45
|
+
for (let i = 0, l = items.length; i < l; i++) {
|
|
46
|
+
if (items[i].offsetTop > first + 32) {
|
|
47
|
+
setActive(i - 1);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
setActive(items.length - 1);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function scrollListener(e) {
|
|
55
|
+
clearTimeout(timer);
|
|
56
|
+
timer = window_setTimeout(findElement, 100, e.target.scrollTop);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function initIndex() {
|
|
60
|
+
|
|
61
|
+
addCoordIndex(document.getElementsByTagName("h1"));
|
|
62
|
+
addCoordIndex(document.getElementsByTagName("h2"));
|
|
63
|
+
addCoordIndex(document.getElementsByTagName("h3"));
|
|
64
|
+
|
|
65
|
+
selector = document.getElementById("selector");
|
|
66
|
+
selector.addEventListener(
|
|
67
|
+
"change",
|
|
68
|
+
function ({ target }) { runHash(target.value);}
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
if (items.length) {
|
|
72
|
+
items.sort((a, b) => (a.offsetTop - b.offsetTop));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
document.getElementsByClassName("content")[0]
|
|
76
|
+
.addEventListener("scroll", scrollListener, { passive: true });
|
|
77
|
+
|
|
78
|
+
const { hash } = window.location;
|
|
79
|
+
if (hash.length > 1) {
|
|
80
|
+
window_setTimeout(() => runHash(hash.substring(1)), 250);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
export default initIndex;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
function initContractable(name) {
|
|
2
|
+
function FaqSelect(target) {
|
|
3
|
+
target = target || 0;
|
|
4
|
+
const questions = document.getElementsByClassName("contractable");
|
|
5
|
+
let current = 0;
|
|
6
|
+
for (const question of questions) {
|
|
7
|
+
question.classList.toggle("contracted", target !== current);
|
|
8
|
+
question.classList.toggle("expanded", target === current);
|
|
9
|
+
if (target === current) question.scrollIntoView({ behavior: "smooth" });
|
|
10
|
+
current++;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const initial = window.location.hash.split(`#${name}-`)[1];
|
|
15
|
+
const questions = document.getElementsByClassName("contractable");
|
|
16
|
+
|
|
17
|
+
for (const question of questions) {
|
|
18
|
+
question.addEventListener("click", (e) => {
|
|
19
|
+
const idx = e.target.getAttribute("data-index");
|
|
20
|
+
if (idx) {
|
|
21
|
+
FaqSelect(Number.parseInt(idx, 10) - 1);
|
|
22
|
+
window.history.replaceState({}, "", `#${name}-${idx}`);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (initial) FaqSelect(Number.parseInt(initial, 10) - 1);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export default initContractable;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import TimeUtils from "../support/timeutils"
|
|
2
|
+
import QRCode from "../support/qrcode"
|
|
3
|
+
|
|
4
|
+
import "./css/howto.css";
|
|
5
|
+
import "./css/faq.css";
|
|
6
|
+
import "./css/contractable.css";
|
|
7
|
+
|
|
8
|
+
const window_location = window.location;
|
|
9
|
+
|
|
10
|
+
function updateQr() {
|
|
11
|
+
|
|
12
|
+
const
|
|
13
|
+
qr = document.getElementById("qr");
|
|
14
|
+
|
|
15
|
+
if (qr) {
|
|
16
|
+
const
|
|
17
|
+
color = "#fff",
|
|
18
|
+
colorDark = "#fff",
|
|
19
|
+
url = ("" + window_location.href).split("#")[0];
|
|
20
|
+
|
|
21
|
+
qr.appendChild(QRCode.getSvg(url, {colorDark, colorAlt: color}));
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function updateTimes() {
|
|
28
|
+
const times = document.getElementsByClassName("diffdate");
|
|
29
|
+
for (const timelm of times) {
|
|
30
|
+
const timems = parseInt(timelm.getAttribute("data-timems"), 10);
|
|
31
|
+
if (timems) {
|
|
32
|
+
timelm.setAttribute("data-computedtime", "(" + TimeUtils.getTimeInterval(timems) + ")");
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function updateImages() {
|
|
38
|
+
const images = document.getElementsByClassName("errorimage");
|
|
39
|
+
for (const imgelm of images) {
|
|
40
|
+
imgelm.onerror = (e) => {
|
|
41
|
+
e.target.parentNode.classList.add("error-loading-image");
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function Common() {
|
|
47
|
+
updateQr();
|
|
48
|
+
updateTimes();
|
|
49
|
+
updateImages();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const
|
|
53
|
+
initDoc = require("support/statify-v3/src.website/src/core.extra/extra.document.mjs"),
|
|
54
|
+
initContractable = require("support/statify-v3/src.website/src/core.extra/extra.faq.mjs"),
|
|
55
|
+
Inits = {
|
|
56
|
+
Markdown: initDoc,
|
|
57
|
+
Faq: () => initContractable("question"),
|
|
58
|
+
HowTo: () => initContractable("step"),
|
|
59
|
+
Common
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export default Inits;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import bootStrap from "./app";
|
|
2
|
+
|
|
3
|
+
///////////////////////////////////////////////////
|
|
4
|
+
import MarketWidgets from "../src.widgets/widgets.market/index.mjs"
|
|
5
|
+
import SoftwareWidgets from "../src.widgets/widgets.software/index.mjs"
|
|
6
|
+
import WorldWidgets from "../src.widgets/widgets.worlds/index.mjs";
|
|
7
|
+
///////////////////////////////////////////////////
|
|
8
|
+
|
|
9
|
+
bootStrap(MarketWidgets, SoftwareWidgets, WorldWidgets);
|
|
10
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import bootStrap from "./app";
|
|
2
|
+
|
|
3
|
+
///////////////////////////////////////////////////
|
|
4
|
+
import MarketWidgets from "../src.widgets/widgets.market/index.mjs"
|
|
5
|
+
import SoftwareWidgets from "../src.widgets/widgets.software/index.mjs"
|
|
6
|
+
///////////////////////////////////////////////////
|
|
7
|
+
|
|
8
|
+
bootStrap(MarketWidgets, SoftwareWidgets);
|
|
9
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const
|
|
2
|
+
{localStorage} = window,
|
|
3
|
+
|
|
4
|
+
SETTINGS = {},
|
|
5
|
+
OS_SETTINGS = "obst.skin";
|
|
6
|
+
|
|
7
|
+
function refresh() {
|
|
8
|
+
document.documentElement.classList.toggle("dark", !SETTINGS.skin);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function load() {
|
|
12
|
+
try {
|
|
13
|
+
const str = localStorage[OS_SETTINGS];
|
|
14
|
+
if (str) {
|
|
15
|
+
const data = JSON.parse(str);
|
|
16
|
+
Object.assign(SETTINGS, data);
|
|
17
|
+
}
|
|
18
|
+
} catch (e) {}
|
|
19
|
+
refresh();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
function set(key, value) {
|
|
24
|
+
|
|
25
|
+
if (SETTINGS[key] !== value) {
|
|
26
|
+
SETTINGS[key] = value;
|
|
27
|
+
try {
|
|
28
|
+
localStorage[OS_SETTINGS] = JSON.stringify(SETTINGS);
|
|
29
|
+
} catch (e) {}
|
|
30
|
+
refresh();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function get(key, def) {
|
|
35
|
+
const data = SETTINGS[key];
|
|
36
|
+
return data === undefined ? def : data;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
load();
|
|
40
|
+
|
|
41
|
+
export {get, set};
|