diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..35f97ea --- /dev/null +++ b/404.html @@ -0,0 +1,8 @@ + + + + + +

404

+ + diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..3b2d646 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +taymyr.io diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-144x144.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-144x144.png new file mode 100644 index 0000000..2882cbe Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-144x144.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-192x192.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-192x192.png new file mode 100644 index 0000000..763ca21 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-192x192.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-256x256.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-256x256.png new file mode 100644 index 0000000..fee8030 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-256x256.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-36x36.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-36x36.png new file mode 100644 index 0000000..74ef403 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-36x36.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-384x384.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-384x384.png new file mode 100644 index 0000000..b0c1689 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-384x384.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-48x48.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-48x48.png new file mode 100644 index 0000000..0048650 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-48x48.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-512x512.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-512x512.png new file mode 100644 index 0000000..7e91d33 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-512x512.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-72x72.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-72x72.png new file mode 100644 index 0000000..1e222a6 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-72x72.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-96x96.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-96x96.png new file mode 100644 index 0000000..a123a52 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-96x96.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-1024x1024.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-1024x1024.png new file mode 100644 index 0000000..d426354 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-1024x1024.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-114x114.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-114x114.png new file mode 100644 index 0000000..f4dc938 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-114x114.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-120x120.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-120x120.png new file mode 100644 index 0000000..1dfc2a0 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-120x120.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-144x144.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-144x144.png new file mode 100644 index 0000000..346d359 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-144x144.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-152x152.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-152x152.png new file mode 100644 index 0000000..a995565 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-152x152.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-167x167.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-167x167.png new file mode 100644 index 0000000..bb30108 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-167x167.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-180x180.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-180x180.png new file mode 100644 index 0000000..a6eff29 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-180x180.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-57x57.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-57x57.png new file mode 100644 index 0000000..a2e2a31 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-57x57.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-60x60.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-60x60.png new file mode 100644 index 0000000..8ae0db2 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-60x60.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-72x72.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-72x72.png new file mode 100644 index 0000000..3f402d0 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-72x72.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-76x76.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-76x76.png new file mode 100644 index 0000000..2ef2566 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-76x76.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-precomposed.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-precomposed.png new file mode 100644 index 0000000..a6eff29 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-precomposed.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon.png new file mode 100644 index 0000000..a6eff29 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1125x2436.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1125x2436.png new file mode 100644 index 0000000..d924298 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1125x2436.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1136x640.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1136x640.png new file mode 100644 index 0000000..d0e634b Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1136x640.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1170x2532.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1170x2532.png new file mode 100644 index 0000000..1d0e489 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1170x2532.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1242x2208.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1242x2208.png new file mode 100644 index 0000000..6741af3 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1242x2208.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1242x2688.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1242x2688.png new file mode 100644 index 0000000..4233459 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1242x2688.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1284x2778.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1284x2778.png new file mode 100644 index 0000000..77ab346 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1284x2778.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1334x750.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1334x750.png new file mode 100644 index 0000000..87ed533 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1334x750.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1536x2048.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1536x2048.png new file mode 100644 index 0000000..44e9633 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1536x2048.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1620x2160.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1620x2160.png new file mode 100644 index 0000000..94408e1 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1620x2160.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1668x2224.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1668x2224.png new file mode 100644 index 0000000..d31346f Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1668x2224.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1668x2388.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1668x2388.png new file mode 100644 index 0000000..bc1d85e Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1668x2388.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1792x828.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1792x828.png new file mode 100644 index 0000000..defbac8 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1792x828.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2048x1536.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2048x1536.png new file mode 100644 index 0000000..19be6de Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2048x1536.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2048x2732.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2048x2732.png new file mode 100644 index 0000000..1bdcc50 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2048x2732.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2160x1620.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2160x1620.png new file mode 100644 index 0000000..c7e46b1 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2160x1620.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2208x1242.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2208x1242.png new file mode 100644 index 0000000..0612514 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2208x1242.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2224x1668.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2224x1668.png new file mode 100644 index 0000000..811d215 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2224x1668.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2388x1668.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2388x1668.png new file mode 100644 index 0000000..7dd6988 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2388x1668.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2436x1125.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2436x1125.png new file mode 100644 index 0000000..f135f6f Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2436x1125.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2532x1170.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2532x1170.png new file mode 100644 index 0000000..a0ad6bd Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2532x1170.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2688x1242.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2688x1242.png new file mode 100644 index 0000000..242d3e8 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2688x1242.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2732x2048.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2732x2048.png new file mode 100644 index 0000000..3243178 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2732x2048.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2778x1284.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2778x1284.png new file mode 100644 index 0000000..d055341 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2778x1284.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-640x1136.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-640x1136.png new file mode 100644 index 0000000..1411158 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-640x1136.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-750x1334.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-750x1334.png new file mode 100644 index 0000000..5efe7d0 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-750x1334.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-828x1792.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-828x1792.png new file mode 100644 index 0000000..0e21a8c Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-828x1792.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/browserconfig.xml b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/browserconfig.xml new file mode 100644 index 0000000..c0d71f4 --- /dev/null +++ b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/browserconfig.xml @@ -0,0 +1,12 @@ + + + + + + + + + #fff + + + \ No newline at end of file diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-16x16.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-16x16.png new file mode 100644 index 0000000..79d8ac7 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-16x16.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-32x32.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-32x32.png new file mode 100644 index 0000000..2cac7d7 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-32x32.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-48x48.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-48x48.png new file mode 100644 index 0000000..0048650 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-48x48.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon.ico b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon.ico new file mode 100644 index 0000000..4e15439 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon.ico differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/manifest.webmanifest b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/manifest.webmanifest new file mode 100644 index 0000000..37f456f --- /dev/null +++ b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/manifest.webmanifest @@ -0,0 +1,68 @@ +{ + "name": "Taymyr", + "short_name": "Taymyr", + "description": "Taymyr Antora UI", + "dir": "auto", + "lang": "en-US", + "display": "standalone", + "orientation": "any", + "start_url": "/?homescreen=1", + "background_color": "#fff", + "theme_color": "#fff", + "icons": [ + { + "src": "android-chrome-36x36.png", + "sizes": "36x36", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-48x48.png", + "sizes": "48x48", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-72x72.png", + "sizes": "72x72", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-96x96.png", + "sizes": "96x96", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-144x144.png", + "sizes": "144x144", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-256x256.png", + "sizes": "256x256", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-384x384.png", + "sizes": "384x384", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" + } + ] +} \ No newline at end of file diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-144x144.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-144x144.png new file mode 100644 index 0000000..2882cbe Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-144x144.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-150x150.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-150x150.png new file mode 100644 index 0000000..f688119 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-150x150.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-310x150.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-310x150.png new file mode 100644 index 0000000..868942c Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-310x150.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-310x310.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-310x310.png new file mode 100644 index 0000000..6c91449 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-310x310.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-70x70.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-70x70.png new file mode 100644 index 0000000..9dc331e Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-70x70.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/yandex-browser-50x50.png b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/yandex-browser-50x50.png new file mode 100644 index 0000000..7a7f167 Binary files /dev/null and b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/yandex-browser-50x50.png differ diff --git a/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/yandex-browser-manifest.json b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/yandex-browser-manifest.json new file mode 100644 index 0000000..53053f8 --- /dev/null +++ b/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/yandex-browser-manifest.json @@ -0,0 +1,9 @@ +{ + "version": "1.0.0", + "api_version": 1, + "layout": { + "logo": "yandex-browser-50x50.png", + "color": "#fff", + "show_title": true + } +} \ No newline at end of file diff --git a/_/css/search.css b/_/css/search.css new file mode 100644 index 0000000..d384533 --- /dev/null +++ b/_/css/search.css @@ -0,0 +1,123 @@ +.search-result-dropdown-menu { + position: absolute; + z-index: 100; + display: block; + right: 0; + left: inherit; + top: 100%; + border-radius: 4px; + margin: 6px 0 0; + padding: 0; + text-align: left; + height: auto; + background: transparent; + border: none; + max-width: 600px; + min-width: 500px; + box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.2), 0 2px 3px 0 rgba(0, 0, 0, 0.1); +} + +@media screen and (max-width: 768px) { + .search-result-dropdown-menu { + min-width: calc(100vw - 3.75rem); + } +} + +.search-result-dataset { + position: relative; + border: 1px solid #d9d9d9; + background: #fff; + border-radius: 4px; + overflow: auto; + padding: 8px; + max-height: calc(100vh - 5.25rem); + line-height: 1.5; +} + +.search-result-item { + display: flex; + margin-top: 0.5rem; +} + +.search-result-component-header { + color: #1e1e1e; + border-bottom: 1px solid #ddd; + margin-left: 0.5em; + margin-right: 0.5em; + padding-top: 0.25em; + padding-bottom: 0.25em; +} + +.search-result-document-title { + width: 33%; + border-right: 1px solid #ddd; + color: #02060c; + font-weight: 500; + font-size: 0.8rem; + padding: 0.5rem 0.5rem 0.5rem 0; + text-align: right; + position: relative; + word-wrap: break-word; +} + +.search-result-document-hit { + flex: 1; + font-size: 0.75rem; + color: #63676d; +} + +.search-result-document-hit > a { + color: inherit; + display: block; + padding: 0.55rem 0.25rem 0.55rem 0.75rem; +} + +.search-result-document-hit > a:hover { + background-color: rgba(69, 142, 225, 0.05); +} + +.search-result-document-hit .search-result-highlight { + color: #174d8c; + background: rgba(143, 187, 237, 0.1); + padding: 0.1em 0.05em; + font-weight: 500; +} + +.search-result-document-hit .search-result-section-title { + color: #303030; + font-weight: 500; + font-size: 1.05em; + margin-bottom: 0.25em; +} + +#search-input { + padding: 0.25em; +} + +#search-input:focus { + outline: none; +} + +#search-field { + display: flex; +} + +#search-field .filter { + background: #fff linear-gradient(180deg,#e1e1e1 0,#e1e1e1) no-repeat 0/1px 50%; + border: 1px solid #e1e1e1; + border-left: none; + border-radius: 0 0.1em 0.1em 0; + color: #5d5d5d; + cursor: pointer; + font-size: .875em; + display: flex; + align-items: center; + padding: 0 0.5rem; + white-space: nowrap; + overflow: hidden; +} + +#search-field.has-filter > input { + border-right: none; + border-radius: 0.1em 0 0 0.1em; +} diff --git a/_/js/search-ui.js b/_/js/search-ui.js new file mode 100644 index 0000000..53a8dde --- /dev/null +++ b/_/js/search-ui.js @@ -0,0 +1,448 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.antoraSearch = {})); +})(this, (function (exports) { 'use strict'; + + function buildHighlightedText (text, positions, snippetLength) { + const textLength = text.length; + const validPositions = positions + .filter((position) => position.length > 0 && position.start + position.length <= textLength); + + if (validPositions.length === 0) { + return [ + { + type: 'text', + text: text.slice(0, snippetLength >= textLength ? textLength : snippetLength) + (snippetLength < textLength ? '...' : ''), + }, + ] + } + + const orderedPositions = validPositions.sort((p1, p2) => p1.start - p2.start); + const range = { + start: 0, + end: textLength, + }; + const firstPosition = orderedPositions[0]; + if (snippetLength && text.length > snippetLength) { + const firstPositionStart = firstPosition.start; + const firstPositionLength = firstPosition.length; + const firstPositionEnd = firstPositionStart + firstPositionLength; + + range.start = firstPositionStart - snippetLength < 0 ? 0 : firstPositionStart - snippetLength; + range.end = firstPositionEnd + snippetLength > textLength ? textLength : firstPositionEnd + snippetLength; + } + const nodes = []; + if (firstPosition.start > 0) { + nodes.push({ + type: 'text', + text: (range.start > 0 ? '...' : '') + text.slice(range.start, firstPosition.start), + }); + } + let lastEndPosition = 0; + const positionsWithinRange = orderedPositions + .filter((position) => position.start >= range.start && position.start + position.length <= range.end); + + for (const position of positionsWithinRange) { + const start = position.start; + const length = position.length; + const end = start + length; + if (lastEndPosition > 0) { + // create text Node from the last end position to the start of the current position + nodes.push({ + type: 'text', + text: text.slice(lastEndPosition, start), + }); + } + nodes.push({ + type: 'mark', + text: text.slice(start, end), + }); + lastEndPosition = end; + } + if (lastEndPosition < range.end) { + nodes.push({ + type: 'text', + text: text.slice(lastEndPosition, range.end) + (range.end < textLength ? '...' : ''), + }); + } + + return nodes + } + + /** + * Taken and adapted from: https://github.com/olivernn/lunr.js/blob/aa5a878f62a6bba1e8e5b95714899e17e8150b38/lib/tokenizer.js#L24-L67 + * @param lunr + * @param text + * @param term + * @return {{start: number, length: number}} + */ + function findTermPosition (lunr, term, text) { + const str = text.toLowerCase(); + const len = str.length; + + for (let sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) { + const char = str.charAt(sliceEnd); + const sliceLength = sliceEnd - sliceStart; + + if ((char.match(lunr.tokenizer.separator) || sliceEnd === len)) { + if (sliceLength > 0) { + const value = str.slice(sliceStart, sliceEnd); + // QUESTION: if we get an exact match without running the pipeline should we stop? + if (value.includes(term)) { + // returns the first match + return { + start: sliceStart, + length: value.length, + } + } + } + sliceStart = sliceEnd + 1; + } + } + + // not found! + return { + start: 0, + length: 0, + } + } + + /* global CustomEvent, globalThis */ + + const config = document.getElementById('search-ui-script').dataset; + const snippetLength = parseInt(config.snippetLength || 100, 10); + const siteRootPath = config.siteRootPath || ''; + appendStylesheet(config.stylesheet); + const searchInput = document.getElementById('search-input'); + const searchResultContainer = document.createElement('div'); + searchResultContainer.classList.add('search-result-dropdown-menu'); + searchInput.parentNode.appendChild(searchResultContainer); + const facetFilterInput = document.querySelector('#search-field input[type=checkbox][data-facet-filter]'); + + function appendStylesheet (href) { + if (!href) return + const link = document.createElement('link'); + link.rel = 'stylesheet'; + link.href = href; + document.head.appendChild(link); + } + + function highlightPageTitle (title, terms) { + const positions = getTermPosition(title, terms); + return buildHighlightedText(title, positions, snippetLength) + } + + function highlightSectionTitle (sectionTitle, terms) { + if (sectionTitle) { + const text = sectionTitle.text; + const positions = getTermPosition(text, terms); + return buildHighlightedText(text, positions, snippetLength) + } + return [] + } + + function highlightText (doc, terms) { + const text = doc.text; + const positions = getTermPosition(text, terms); + return buildHighlightedText(text, positions, snippetLength) + } + + function getTermPosition (text, terms) { + const positions = terms + .map((term) => findTermPosition(globalThis.lunr, term, text)) + .filter((position) => position.length > 0) + .sort((p1, p2) => p1.start - p2.start); + + if (positions.length === 0) { + return [] + } + return positions + } + + function highlightHit (searchMetadata, sectionTitle, doc) { + const terms = {}; + for (const term in searchMetadata) { + const fields = searchMetadata[term]; + for (const field in fields) { + terms[field] = [...(terms[field] || []), term]; + } + } + return { + pageTitleNodes: highlightPageTitle(doc.title, terms.title || []), + sectionTitleNodes: highlightSectionTitle(sectionTitle, terms.title || []), + pageContentNodes: highlightText(doc, terms.text || []), + } + } + + function createSearchResult (result, store, searchResultDataset) { + let currentComponent; + result.forEach(function (item) { + const ids = item.ref.split('-'); + const docId = ids[0]; + const doc = store.documents[docId]; + let sectionTitle; + if (ids.length > 1) { + const titleId = ids[1]; + sectionTitle = doc.titles.filter(function (item) { + return String(item.id) === titleId + })[0]; + } + const metadata = item.matchData.metadata; + const highlightingResult = highlightHit(metadata, sectionTitle, doc); + const componentVersion = store.componentVersions[`${doc.component}/${doc.version}`]; + if (componentVersion !== undefined && currentComponent !== componentVersion) { + const searchResultComponentHeader = document.createElement('div'); + searchResultComponentHeader.classList.add('search-result-component-header'); + const { title, displayVersion } = componentVersion; + const componentVersionText = `${title}${doc.version && displayVersion ? ` ${displayVersion}` : ''}`; + searchResultComponentHeader.appendChild(document.createTextNode(componentVersionText)); + searchResultDataset.appendChild(searchResultComponentHeader); + currentComponent = componentVersion; + } + searchResultDataset.appendChild(createSearchResultItem(doc, sectionTitle, item, highlightingResult)); + }); + } + + function createSearchResultItem (doc, sectionTitle, item, highlightingResult) { + const documentTitle = document.createElement('div'); + documentTitle.classList.add('search-result-document-title'); + highlightingResult.pageTitleNodes.forEach(function (node) { + let element; + if (node.type === 'text') { + element = document.createTextNode(node.text); + } else { + element = document.createElement('span'); + element.classList.add('search-result-highlight'); + element.innerText = node.text; + } + documentTitle.appendChild(element); + }); + const documentHit = document.createElement('div'); + documentHit.classList.add('search-result-document-hit'); + const documentHitLink = document.createElement('a'); + documentHitLink.href = siteRootPath + doc.url + (sectionTitle ? '#' + sectionTitle.hash : ''); + documentHit.appendChild(documentHitLink); + if (highlightingResult.sectionTitleNodes.length > 0) { + const documentSectionTitle = document.createElement('div'); + documentSectionTitle.classList.add('search-result-section-title'); + documentHitLink.appendChild(documentSectionTitle); + highlightingResult.sectionTitleNodes.forEach(function (node) { + let element; + if (node.type === 'text') { + element = document.createTextNode(node.text); + } else { + element = document.createElement('span'); + element.classList.add('search-result-highlight'); + element.innerText = node.text; + } + documentSectionTitle.appendChild(element); + }); + } + highlightingResult.pageContentNodes.forEach(function (node) { + let element; + if (node.type === 'text') { + element = document.createTextNode(node.text); + } else { + element = document.createElement('span'); + element.classList.add('search-result-highlight'); + element.innerText = node.text; + } + documentHitLink.appendChild(element); + }); + const searchResultItem = document.createElement('div'); + searchResultItem.classList.add('search-result-item'); + searchResultItem.appendChild(documentTitle); + searchResultItem.appendChild(documentHit); + searchResultItem.addEventListener('mousedown', function (e) { + e.preventDefault(); + }); + return searchResultItem + } + + function createNoResult (text) { + const searchResultItem = document.createElement('div'); + searchResultItem.classList.add('search-result-item'); + const documentHit = document.createElement('div'); + documentHit.classList.add('search-result-document-hit'); + const message = document.createElement('strong'); + message.innerText = 'No results found for query "' + text + '"'; + documentHit.appendChild(message); + searchResultItem.appendChild(documentHit); + return searchResultItem + } + + function clearSearchResults (reset) { + if (reset === true) searchInput.value = ''; + searchResultContainer.innerHTML = ''; + } + + function filter (result, documents) { + const facetFilter = facetFilterInput && facetFilterInput.checked && facetFilterInput.dataset.facetFilter; + if (facetFilter) { + const [field, value] = facetFilter.split(':'); + return result.filter((item) => { + const ids = item.ref.split('-'); + const docId = ids[0]; + const doc = documents[docId]; + return field in doc && doc[field] === value + }) + } + return result + } + + function search (index, documents, queryString) { + // execute an exact match search + let query; + let result = filter( + index.query(function (lunrQuery) { + const parser = new globalThis.lunr.QueryParser(queryString, lunrQuery); + parser.parse(); + query = lunrQuery; + }), + documents + ); + if (result.length > 0) { + return result + } + // no result, use a begins with search + result = filter( + index.query(function (lunrQuery) { + lunrQuery.clauses = query.clauses.map((clause) => { + if (clause.presence !== globalThis.lunr.Query.presence.PROHIBITED) { + clause.term = clause.term + '*'; + clause.wildcard = globalThis.lunr.Query.wildcard.TRAILING; + clause.usePipeline = false; + } + return clause + }); + }), + documents + ); + if (result.length > 0) { + return result + } + // no result, use a contains search + result = filter( + index.query(function (lunrQuery) { + lunrQuery.clauses = query.clauses.map((clause) => { + if (clause.presence !== globalThis.lunr.Query.presence.PROHIBITED) { + clause.term = '*' + clause.term + '*'; + clause.wildcard = globalThis.lunr.Query.wildcard.LEADING | globalThis.lunr.Query.wildcard.TRAILING; + clause.usePipeline = false; + } + return clause + }); + }), + documents + ); + return result + } + + function searchIndex (index, store, text) { + clearSearchResults(false); + if (text.trim() === '') { + return + } + const result = search(index, store.documents, text); + const searchResultDataset = document.createElement('div'); + searchResultDataset.classList.add('search-result-dataset'); + searchResultContainer.appendChild(searchResultDataset); + if (result.length > 0) { + createSearchResult(result, store, searchResultDataset); + } else { + searchResultDataset.appendChild(createNoResult(text)); + } + } + + function confineEvent (e) { + e.stopPropagation(); + } + + function debounce (func, wait, immediate) { + let timeout; + return function () { + const context = this; + const args = arguments; + const later = function () { + timeout = null; + if (!immediate) func.apply(context, args); + }; + const callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + } + } + + function enableSearchInput (enabled) { + if (facetFilterInput) { + facetFilterInput.disabled = !enabled; + } + searchInput.disabled = !enabled; + searchInput.title = enabled ? '' : 'Loading index...'; + } + + function isClosed () { + return searchResultContainer.childElementCount === 0 + } + + function executeSearch (index) { + const debug = 'URLSearchParams' in globalThis && new URLSearchParams(globalThis.location.search).has('lunr-debug'); + const query = searchInput.value; + try { + if (!query) return clearSearchResults() + searchIndex(index.index, index.store, query); + } catch (err) { + if (err instanceof globalThis.lunr.QueryParseError) { + if (debug) { + console.debug('Invalid search query: ' + query + ' (' + err.message + ')'); + } + } else { + console.error('Something went wrong while searching', err); + } + } + } + + function toggleFilter (e, index) { + searchInput.focus(); + if (!isClosed()) { + executeSearch(index); + } + } + + function initSearch (lunr, data) { + const start = performance.now(); + const index = { index: lunr.Index.load(data.index), store: data.store }; + enableSearchInput(true); + searchInput.dispatchEvent( + new CustomEvent('loadedindex', { + detail: { + took: performance.now() - start, + }, + }) + ); + searchInput.addEventListener( + 'keydown', + debounce(function (e) { + if (e.key === 'Escape' || e.key === 'Esc') return clearSearchResults(true) + executeSearch(index); + }, 100) + ); + searchInput.addEventListener('click', confineEvent); + searchResultContainer.addEventListener('click', confineEvent); + if (facetFilterInput) { + facetFilterInput.parentElement.addEventListener('click', confineEvent); + facetFilterInput.addEventListener('change', (e) => toggleFilter(e, index)); + } + document.documentElement.addEventListener('click', clearSearchResults); + } + + // disable the search input until the index is loaded + enableSearchInput(false); + + exports.initSearch = initSearch; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); diff --git a/_/js/vendor/lunr.js b/_/js/vendor/lunr.js new file mode 100644 index 0000000..cdc94cd --- /dev/null +++ b/_/js/vendor/lunr.js @@ -0,0 +1,6 @@ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ +!function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.9",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return void 0===e||null===e?"":e.toString()},e.utils.clone=function(e){if(null===e||void 0===e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i0){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(); diff --git a/_/main.js b/_/main.js new file mode 100644 index 0000000..e69de29 diff --git a/index.html b/index.html new file mode 100644 index 0000000..1c5bdd5 --- /dev/null +++ b/index.html @@ -0,0 +1,26 @@ + + + + + +
+ +
+ + diff --git a/ru/404.html b/ru/404.html new file mode 100644 index 0000000..fef174d --- /dev/null +++ b/ru/404.html @@ -0,0 +1,8 @@ + + + + + +

404

+ + diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-144x144.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-144x144.png new file mode 100644 index 0000000..2882cbe Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-144x144.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-192x192.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-192x192.png new file mode 100644 index 0000000..763ca21 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-192x192.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-256x256.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-256x256.png new file mode 100644 index 0000000..fee8030 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-256x256.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-36x36.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-36x36.png new file mode 100644 index 0000000..74ef403 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-36x36.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-384x384.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-384x384.png new file mode 100644 index 0000000..b0c1689 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-384x384.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-48x48.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-48x48.png new file mode 100644 index 0000000..0048650 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-48x48.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-512x512.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-512x512.png new file mode 100644 index 0000000..7e91d33 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-512x512.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-72x72.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-72x72.png new file mode 100644 index 0000000..1e222a6 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-72x72.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-96x96.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-96x96.png new file mode 100644 index 0000000..a123a52 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/android-chrome-96x96.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-1024x1024.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-1024x1024.png new file mode 100644 index 0000000..d426354 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-1024x1024.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-114x114.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-114x114.png new file mode 100644 index 0000000..f4dc938 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-114x114.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-120x120.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-120x120.png new file mode 100644 index 0000000..1dfc2a0 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-120x120.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-144x144.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-144x144.png new file mode 100644 index 0000000..346d359 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-144x144.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-152x152.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-152x152.png new file mode 100644 index 0000000..a995565 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-152x152.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-167x167.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-167x167.png new file mode 100644 index 0000000..bb30108 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-167x167.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-180x180.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-180x180.png new file mode 100644 index 0000000..a6eff29 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-180x180.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-57x57.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-57x57.png new file mode 100644 index 0000000..a2e2a31 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-57x57.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-60x60.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-60x60.png new file mode 100644 index 0000000..8ae0db2 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-60x60.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-72x72.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-72x72.png new file mode 100644 index 0000000..3f402d0 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-72x72.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-76x76.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-76x76.png new file mode 100644 index 0000000..2ef2566 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-76x76.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-precomposed.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-precomposed.png new file mode 100644 index 0000000..a6eff29 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon-precomposed.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon.png new file mode 100644 index 0000000..a6eff29 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-icon.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1125x2436.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1125x2436.png new file mode 100644 index 0000000..d924298 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1125x2436.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1136x640.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1136x640.png new file mode 100644 index 0000000..d0e634b Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1136x640.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1170x2532.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1170x2532.png new file mode 100644 index 0000000..1d0e489 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1170x2532.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1242x2208.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1242x2208.png new file mode 100644 index 0000000..6741af3 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1242x2208.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1242x2688.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1242x2688.png new file mode 100644 index 0000000..4233459 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1242x2688.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1284x2778.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1284x2778.png new file mode 100644 index 0000000..77ab346 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1284x2778.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1334x750.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1334x750.png new file mode 100644 index 0000000..87ed533 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1334x750.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1536x2048.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1536x2048.png new file mode 100644 index 0000000..44e9633 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1536x2048.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1620x2160.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1620x2160.png new file mode 100644 index 0000000..94408e1 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1620x2160.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1668x2224.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1668x2224.png new file mode 100644 index 0000000..d31346f Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1668x2224.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1668x2388.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1668x2388.png new file mode 100644 index 0000000..bc1d85e Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1668x2388.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1792x828.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1792x828.png new file mode 100644 index 0000000..defbac8 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-1792x828.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2048x1536.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2048x1536.png new file mode 100644 index 0000000..19be6de Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2048x1536.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2048x2732.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2048x2732.png new file mode 100644 index 0000000..1bdcc50 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2048x2732.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2160x1620.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2160x1620.png new file mode 100644 index 0000000..c7e46b1 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2160x1620.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2208x1242.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2208x1242.png new file mode 100644 index 0000000..0612514 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2208x1242.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2224x1668.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2224x1668.png new file mode 100644 index 0000000..811d215 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2224x1668.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2388x1668.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2388x1668.png new file mode 100644 index 0000000..7dd6988 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2388x1668.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2436x1125.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2436x1125.png new file mode 100644 index 0000000..f135f6f Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2436x1125.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2532x1170.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2532x1170.png new file mode 100644 index 0000000..a0ad6bd Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2532x1170.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2688x1242.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2688x1242.png new file mode 100644 index 0000000..242d3e8 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2688x1242.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2732x2048.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2732x2048.png new file mode 100644 index 0000000..3243178 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2732x2048.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2778x1284.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2778x1284.png new file mode 100644 index 0000000..d055341 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-2778x1284.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-640x1136.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-640x1136.png new file mode 100644 index 0000000..1411158 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-640x1136.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-750x1334.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-750x1334.png new file mode 100644 index 0000000..5efe7d0 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-750x1334.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-828x1792.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-828x1792.png new file mode 100644 index 0000000..0e21a8c Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/apple-touch-startup-image-828x1792.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/browserconfig.xml b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/browserconfig.xml new file mode 100644 index 0000000..c0d71f4 --- /dev/null +++ b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/browserconfig.xml @@ -0,0 +1,12 @@ + + + + + + + + + #fff + + + \ No newline at end of file diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-16x16.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-16x16.png new file mode 100644 index 0000000..79d8ac7 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-16x16.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-32x32.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-32x32.png new file mode 100644 index 0000000..2cac7d7 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-32x32.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-48x48.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-48x48.png new file mode 100644 index 0000000..0048650 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon-48x48.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon.ico b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon.ico new file mode 100644 index 0000000..4e15439 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/favicon.ico differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/manifest.webmanifest b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/manifest.webmanifest new file mode 100644 index 0000000..37f456f --- /dev/null +++ b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/manifest.webmanifest @@ -0,0 +1,68 @@ +{ + "name": "Taymyr", + "short_name": "Taymyr", + "description": "Taymyr Antora UI", + "dir": "auto", + "lang": "en-US", + "display": "standalone", + "orientation": "any", + "start_url": "/?homescreen=1", + "background_color": "#fff", + "theme_color": "#fff", + "icons": [ + { + "src": "android-chrome-36x36.png", + "sizes": "36x36", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-48x48.png", + "sizes": "48x48", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-72x72.png", + "sizes": "72x72", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-96x96.png", + "sizes": "96x96", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-144x144.png", + "sizes": "144x144", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-256x256.png", + "sizes": "256x256", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-384x384.png", + "sizes": "384x384", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" + } + ] +} \ No newline at end of file diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-144x144.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-144x144.png new file mode 100644 index 0000000..2882cbe Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-144x144.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-150x150.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-150x150.png new file mode 100644 index 0000000..f688119 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-150x150.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-310x150.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-310x150.png new file mode 100644 index 0000000..868942c Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-310x150.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-310x310.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-310x310.png new file mode 100644 index 0000000..6c91449 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-310x310.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-70x70.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-70x70.png new file mode 100644 index 0000000..9dc331e Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/mstile-70x70.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/yandex-browser-50x50.png b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/yandex-browser-50x50.png new file mode 100644 index 0000000..7a7f167 Binary files /dev/null and b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/yandex-browser-50x50.png differ diff --git a/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/yandex-browser-manifest.json b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/yandex-browser-manifest.json new file mode 100644 index 0000000..53053f8 --- /dev/null +++ b/ru/_/assets/c641284ef6878810482ca92ad343aaba71fdba577b68dd62d0567ea668ff6ab7/yandex-browser-manifest.json @@ -0,0 +1,9 @@ +{ + "version": "1.0.0", + "api_version": 1, + "layout": { + "logo": "yandex-browser-50x50.png", + "color": "#fff", + "show_title": true + } +} \ No newline at end of file diff --git a/ru/_/css/search.css b/ru/_/css/search.css new file mode 100644 index 0000000..d384533 --- /dev/null +++ b/ru/_/css/search.css @@ -0,0 +1,123 @@ +.search-result-dropdown-menu { + position: absolute; + z-index: 100; + display: block; + right: 0; + left: inherit; + top: 100%; + border-radius: 4px; + margin: 6px 0 0; + padding: 0; + text-align: left; + height: auto; + background: transparent; + border: none; + max-width: 600px; + min-width: 500px; + box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.2), 0 2px 3px 0 rgba(0, 0, 0, 0.1); +} + +@media screen and (max-width: 768px) { + .search-result-dropdown-menu { + min-width: calc(100vw - 3.75rem); + } +} + +.search-result-dataset { + position: relative; + border: 1px solid #d9d9d9; + background: #fff; + border-radius: 4px; + overflow: auto; + padding: 8px; + max-height: calc(100vh - 5.25rem); + line-height: 1.5; +} + +.search-result-item { + display: flex; + margin-top: 0.5rem; +} + +.search-result-component-header { + color: #1e1e1e; + border-bottom: 1px solid #ddd; + margin-left: 0.5em; + margin-right: 0.5em; + padding-top: 0.25em; + padding-bottom: 0.25em; +} + +.search-result-document-title { + width: 33%; + border-right: 1px solid #ddd; + color: #02060c; + font-weight: 500; + font-size: 0.8rem; + padding: 0.5rem 0.5rem 0.5rem 0; + text-align: right; + position: relative; + word-wrap: break-word; +} + +.search-result-document-hit { + flex: 1; + font-size: 0.75rem; + color: #63676d; +} + +.search-result-document-hit > a { + color: inherit; + display: block; + padding: 0.55rem 0.25rem 0.55rem 0.75rem; +} + +.search-result-document-hit > a:hover { + background-color: rgba(69, 142, 225, 0.05); +} + +.search-result-document-hit .search-result-highlight { + color: #174d8c; + background: rgba(143, 187, 237, 0.1); + padding: 0.1em 0.05em; + font-weight: 500; +} + +.search-result-document-hit .search-result-section-title { + color: #303030; + font-weight: 500; + font-size: 1.05em; + margin-bottom: 0.25em; +} + +#search-input { + padding: 0.25em; +} + +#search-input:focus { + outline: none; +} + +#search-field { + display: flex; +} + +#search-field .filter { + background: #fff linear-gradient(180deg,#e1e1e1 0,#e1e1e1) no-repeat 0/1px 50%; + border: 1px solid #e1e1e1; + border-left: none; + border-radius: 0 0.1em 0.1em 0; + color: #5d5d5d; + cursor: pointer; + font-size: .875em; + display: flex; + align-items: center; + padding: 0 0.5rem; + white-space: nowrap; + overflow: hidden; +} + +#search-field.has-filter > input { + border-right: none; + border-radius: 0.1em 0 0 0.1em; +} diff --git a/ru/_/js/search-ui.js b/ru/_/js/search-ui.js new file mode 100644 index 0000000..53a8dde --- /dev/null +++ b/ru/_/js/search-ui.js @@ -0,0 +1,448 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.antoraSearch = {})); +})(this, (function (exports) { 'use strict'; + + function buildHighlightedText (text, positions, snippetLength) { + const textLength = text.length; + const validPositions = positions + .filter((position) => position.length > 0 && position.start + position.length <= textLength); + + if (validPositions.length === 0) { + return [ + { + type: 'text', + text: text.slice(0, snippetLength >= textLength ? textLength : snippetLength) + (snippetLength < textLength ? '...' : ''), + }, + ] + } + + const orderedPositions = validPositions.sort((p1, p2) => p1.start - p2.start); + const range = { + start: 0, + end: textLength, + }; + const firstPosition = orderedPositions[0]; + if (snippetLength && text.length > snippetLength) { + const firstPositionStart = firstPosition.start; + const firstPositionLength = firstPosition.length; + const firstPositionEnd = firstPositionStart + firstPositionLength; + + range.start = firstPositionStart - snippetLength < 0 ? 0 : firstPositionStart - snippetLength; + range.end = firstPositionEnd + snippetLength > textLength ? textLength : firstPositionEnd + snippetLength; + } + const nodes = []; + if (firstPosition.start > 0) { + nodes.push({ + type: 'text', + text: (range.start > 0 ? '...' : '') + text.slice(range.start, firstPosition.start), + }); + } + let lastEndPosition = 0; + const positionsWithinRange = orderedPositions + .filter((position) => position.start >= range.start && position.start + position.length <= range.end); + + for (const position of positionsWithinRange) { + const start = position.start; + const length = position.length; + const end = start + length; + if (lastEndPosition > 0) { + // create text Node from the last end position to the start of the current position + nodes.push({ + type: 'text', + text: text.slice(lastEndPosition, start), + }); + } + nodes.push({ + type: 'mark', + text: text.slice(start, end), + }); + lastEndPosition = end; + } + if (lastEndPosition < range.end) { + nodes.push({ + type: 'text', + text: text.slice(lastEndPosition, range.end) + (range.end < textLength ? '...' : ''), + }); + } + + return nodes + } + + /** + * Taken and adapted from: https://github.com/olivernn/lunr.js/blob/aa5a878f62a6bba1e8e5b95714899e17e8150b38/lib/tokenizer.js#L24-L67 + * @param lunr + * @param text + * @param term + * @return {{start: number, length: number}} + */ + function findTermPosition (lunr, term, text) { + const str = text.toLowerCase(); + const len = str.length; + + for (let sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) { + const char = str.charAt(sliceEnd); + const sliceLength = sliceEnd - sliceStart; + + if ((char.match(lunr.tokenizer.separator) || sliceEnd === len)) { + if (sliceLength > 0) { + const value = str.slice(sliceStart, sliceEnd); + // QUESTION: if we get an exact match without running the pipeline should we stop? + if (value.includes(term)) { + // returns the first match + return { + start: sliceStart, + length: value.length, + } + } + } + sliceStart = sliceEnd + 1; + } + } + + // not found! + return { + start: 0, + length: 0, + } + } + + /* global CustomEvent, globalThis */ + + const config = document.getElementById('search-ui-script').dataset; + const snippetLength = parseInt(config.snippetLength || 100, 10); + const siteRootPath = config.siteRootPath || ''; + appendStylesheet(config.stylesheet); + const searchInput = document.getElementById('search-input'); + const searchResultContainer = document.createElement('div'); + searchResultContainer.classList.add('search-result-dropdown-menu'); + searchInput.parentNode.appendChild(searchResultContainer); + const facetFilterInput = document.querySelector('#search-field input[type=checkbox][data-facet-filter]'); + + function appendStylesheet (href) { + if (!href) return + const link = document.createElement('link'); + link.rel = 'stylesheet'; + link.href = href; + document.head.appendChild(link); + } + + function highlightPageTitle (title, terms) { + const positions = getTermPosition(title, terms); + return buildHighlightedText(title, positions, snippetLength) + } + + function highlightSectionTitle (sectionTitle, terms) { + if (sectionTitle) { + const text = sectionTitle.text; + const positions = getTermPosition(text, terms); + return buildHighlightedText(text, positions, snippetLength) + } + return [] + } + + function highlightText (doc, terms) { + const text = doc.text; + const positions = getTermPosition(text, terms); + return buildHighlightedText(text, positions, snippetLength) + } + + function getTermPosition (text, terms) { + const positions = terms + .map((term) => findTermPosition(globalThis.lunr, term, text)) + .filter((position) => position.length > 0) + .sort((p1, p2) => p1.start - p2.start); + + if (positions.length === 0) { + return [] + } + return positions + } + + function highlightHit (searchMetadata, sectionTitle, doc) { + const terms = {}; + for (const term in searchMetadata) { + const fields = searchMetadata[term]; + for (const field in fields) { + terms[field] = [...(terms[field] || []), term]; + } + } + return { + pageTitleNodes: highlightPageTitle(doc.title, terms.title || []), + sectionTitleNodes: highlightSectionTitle(sectionTitle, terms.title || []), + pageContentNodes: highlightText(doc, terms.text || []), + } + } + + function createSearchResult (result, store, searchResultDataset) { + let currentComponent; + result.forEach(function (item) { + const ids = item.ref.split('-'); + const docId = ids[0]; + const doc = store.documents[docId]; + let sectionTitle; + if (ids.length > 1) { + const titleId = ids[1]; + sectionTitle = doc.titles.filter(function (item) { + return String(item.id) === titleId + })[0]; + } + const metadata = item.matchData.metadata; + const highlightingResult = highlightHit(metadata, sectionTitle, doc); + const componentVersion = store.componentVersions[`${doc.component}/${doc.version}`]; + if (componentVersion !== undefined && currentComponent !== componentVersion) { + const searchResultComponentHeader = document.createElement('div'); + searchResultComponentHeader.classList.add('search-result-component-header'); + const { title, displayVersion } = componentVersion; + const componentVersionText = `${title}${doc.version && displayVersion ? ` ${displayVersion}` : ''}`; + searchResultComponentHeader.appendChild(document.createTextNode(componentVersionText)); + searchResultDataset.appendChild(searchResultComponentHeader); + currentComponent = componentVersion; + } + searchResultDataset.appendChild(createSearchResultItem(doc, sectionTitle, item, highlightingResult)); + }); + } + + function createSearchResultItem (doc, sectionTitle, item, highlightingResult) { + const documentTitle = document.createElement('div'); + documentTitle.classList.add('search-result-document-title'); + highlightingResult.pageTitleNodes.forEach(function (node) { + let element; + if (node.type === 'text') { + element = document.createTextNode(node.text); + } else { + element = document.createElement('span'); + element.classList.add('search-result-highlight'); + element.innerText = node.text; + } + documentTitle.appendChild(element); + }); + const documentHit = document.createElement('div'); + documentHit.classList.add('search-result-document-hit'); + const documentHitLink = document.createElement('a'); + documentHitLink.href = siteRootPath + doc.url + (sectionTitle ? '#' + sectionTitle.hash : ''); + documentHit.appendChild(documentHitLink); + if (highlightingResult.sectionTitleNodes.length > 0) { + const documentSectionTitle = document.createElement('div'); + documentSectionTitle.classList.add('search-result-section-title'); + documentHitLink.appendChild(documentSectionTitle); + highlightingResult.sectionTitleNodes.forEach(function (node) { + let element; + if (node.type === 'text') { + element = document.createTextNode(node.text); + } else { + element = document.createElement('span'); + element.classList.add('search-result-highlight'); + element.innerText = node.text; + } + documentSectionTitle.appendChild(element); + }); + } + highlightingResult.pageContentNodes.forEach(function (node) { + let element; + if (node.type === 'text') { + element = document.createTextNode(node.text); + } else { + element = document.createElement('span'); + element.classList.add('search-result-highlight'); + element.innerText = node.text; + } + documentHitLink.appendChild(element); + }); + const searchResultItem = document.createElement('div'); + searchResultItem.classList.add('search-result-item'); + searchResultItem.appendChild(documentTitle); + searchResultItem.appendChild(documentHit); + searchResultItem.addEventListener('mousedown', function (e) { + e.preventDefault(); + }); + return searchResultItem + } + + function createNoResult (text) { + const searchResultItem = document.createElement('div'); + searchResultItem.classList.add('search-result-item'); + const documentHit = document.createElement('div'); + documentHit.classList.add('search-result-document-hit'); + const message = document.createElement('strong'); + message.innerText = 'No results found for query "' + text + '"'; + documentHit.appendChild(message); + searchResultItem.appendChild(documentHit); + return searchResultItem + } + + function clearSearchResults (reset) { + if (reset === true) searchInput.value = ''; + searchResultContainer.innerHTML = ''; + } + + function filter (result, documents) { + const facetFilter = facetFilterInput && facetFilterInput.checked && facetFilterInput.dataset.facetFilter; + if (facetFilter) { + const [field, value] = facetFilter.split(':'); + return result.filter((item) => { + const ids = item.ref.split('-'); + const docId = ids[0]; + const doc = documents[docId]; + return field in doc && doc[field] === value + }) + } + return result + } + + function search (index, documents, queryString) { + // execute an exact match search + let query; + let result = filter( + index.query(function (lunrQuery) { + const parser = new globalThis.lunr.QueryParser(queryString, lunrQuery); + parser.parse(); + query = lunrQuery; + }), + documents + ); + if (result.length > 0) { + return result + } + // no result, use a begins with search + result = filter( + index.query(function (lunrQuery) { + lunrQuery.clauses = query.clauses.map((clause) => { + if (clause.presence !== globalThis.lunr.Query.presence.PROHIBITED) { + clause.term = clause.term + '*'; + clause.wildcard = globalThis.lunr.Query.wildcard.TRAILING; + clause.usePipeline = false; + } + return clause + }); + }), + documents + ); + if (result.length > 0) { + return result + } + // no result, use a contains search + result = filter( + index.query(function (lunrQuery) { + lunrQuery.clauses = query.clauses.map((clause) => { + if (clause.presence !== globalThis.lunr.Query.presence.PROHIBITED) { + clause.term = '*' + clause.term + '*'; + clause.wildcard = globalThis.lunr.Query.wildcard.LEADING | globalThis.lunr.Query.wildcard.TRAILING; + clause.usePipeline = false; + } + return clause + }); + }), + documents + ); + return result + } + + function searchIndex (index, store, text) { + clearSearchResults(false); + if (text.trim() === '') { + return + } + const result = search(index, store.documents, text); + const searchResultDataset = document.createElement('div'); + searchResultDataset.classList.add('search-result-dataset'); + searchResultContainer.appendChild(searchResultDataset); + if (result.length > 0) { + createSearchResult(result, store, searchResultDataset); + } else { + searchResultDataset.appendChild(createNoResult(text)); + } + } + + function confineEvent (e) { + e.stopPropagation(); + } + + function debounce (func, wait, immediate) { + let timeout; + return function () { + const context = this; + const args = arguments; + const later = function () { + timeout = null; + if (!immediate) func.apply(context, args); + }; + const callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + } + } + + function enableSearchInput (enabled) { + if (facetFilterInput) { + facetFilterInput.disabled = !enabled; + } + searchInput.disabled = !enabled; + searchInput.title = enabled ? '' : 'Loading index...'; + } + + function isClosed () { + return searchResultContainer.childElementCount === 0 + } + + function executeSearch (index) { + const debug = 'URLSearchParams' in globalThis && new URLSearchParams(globalThis.location.search).has('lunr-debug'); + const query = searchInput.value; + try { + if (!query) return clearSearchResults() + searchIndex(index.index, index.store, query); + } catch (err) { + if (err instanceof globalThis.lunr.QueryParseError) { + if (debug) { + console.debug('Invalid search query: ' + query + ' (' + err.message + ')'); + } + } else { + console.error('Something went wrong while searching', err); + } + } + } + + function toggleFilter (e, index) { + searchInput.focus(); + if (!isClosed()) { + executeSearch(index); + } + } + + function initSearch (lunr, data) { + const start = performance.now(); + const index = { index: lunr.Index.load(data.index), store: data.store }; + enableSearchInput(true); + searchInput.dispatchEvent( + new CustomEvent('loadedindex', { + detail: { + took: performance.now() - start, + }, + }) + ); + searchInput.addEventListener( + 'keydown', + debounce(function (e) { + if (e.key === 'Escape' || e.key === 'Esc') return clearSearchResults(true) + executeSearch(index); + }, 100) + ); + searchInput.addEventListener('click', confineEvent); + searchResultContainer.addEventListener('click', confineEvent); + if (facetFilterInput) { + facetFilterInput.parentElement.addEventListener('click', confineEvent); + facetFilterInput.addEventListener('change', (e) => toggleFilter(e, index)); + } + document.documentElement.addEventListener('click', clearSearchResults); + } + + // disable the search input until the index is loaded + enableSearchInput(false); + + exports.initSearch = initSearch; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); diff --git a/ru/_/js/vendor/lunr.js b/ru/_/js/vendor/lunr.js new file mode 100644 index 0000000..cdc94cd --- /dev/null +++ b/ru/_/js/vendor/lunr.js @@ -0,0 +1,6 @@ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ +!function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.9",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return void 0===e||null===e?"":e.toString()},e.utils.clone=function(e){if(null===e||void 0===e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i0){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(); diff --git a/ru/_/main.js b/ru/_/main.js new file mode 100644 index 0000000..e69de29 diff --git a/ru/index.html b/ru/index.html new file mode 100644 index 0000000..875723b --- /dev/null +++ b/ru/index.html @@ -0,0 +1,26 @@ + + + + + +
+ +
+ + diff --git a/ru/search-index.js b/ru/search-index.js new file mode 100644 index 0000000..1aa15c9 --- /dev/null +++ b/ru/search-index.js @@ -0,0 +1 @@ +antoraSearch.initSearch(lunr, {"index":{"version":"2.3.9","fields":["title","name","text","component"],"fieldVectors":[["title/1",[]],["name/1",[0,0.803]],["text/1",[]],["component/1",[1,0.182]],["title/2",[]],["name/2",[2,0.61,3,0.61]],["text/2",[]],["component/2",[1,0.182]]],"invertedIndex":[["1",{"_index":3,"title":{},"name":{"2":{}},"text":{},"component":{}}],["index",{"_index":0,"title":{},"name":{"1":{}},"text":{},"component":{}}],["root",{"_index":1,"title":{},"name":{},"text":{},"component":{"1":{},"2":{}}}],["section",{"_index":2,"title":{},"name":{"2":{}},"text":{},"component":{}}]],"pipeline":["stemmer"]},"store":{"documents":{"1":{"id":1,"text":"","title":"","component":"ROOT","version":"","name":"index","url":"/index.html","titles":[]},"2":{"id":2,"text":"","title":"","component":"ROOT","version":"","name":"section-1","url":"/section-1.html","titles":[]}},"components":{},"componentVersions":{"ROOT/":{"displayVersion":"default","title":"Таймыр","version":"","name":"ROOT","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Taymyr","site-url":"https://taymyr.io/ru","page-lang":"ru"},"sourcemap":false},"url":"/index.html","navigation":[]}}}}) \ No newline at end of file diff --git a/ru/section-1.html b/ru/section-1.html new file mode 100644 index 0000000..a312a44 --- /dev/null +++ b/ru/section-1.html @@ -0,0 +1,15 @@ + + + + + +
+
+
+

Секция 1

+ +
+
+
+ + diff --git a/ru/sitemap.xml b/ru/sitemap.xml new file mode 100644 index 0000000..913c1fc --- /dev/null +++ b/ru/sitemap.xml @@ -0,0 +1,11 @@ + + + +https://taymyr.io/ru/index.html +2024-10-23T03:14:39.657Z + + +https://taymyr.io/ru/section-1.html +2024-10-23T03:14:39.657Z + + diff --git a/search-index.js b/search-index.js new file mode 100644 index 0000000..04349e9 --- /dev/null +++ b/search-index.js @@ -0,0 +1 @@ +antoraSearch.initSearch(lunr, {"index":{"version":"2.3.9","fields":["title","name","text","component"],"fieldVectors":[["title/1",[]],["name/1",[0,0.803]],["text/1",[]],["component/1",[1,0.182]],["title/2",[]],["name/2",[2,0.61,3,0.61]],["text/2",[]],["component/2",[1,0.182]]],"invertedIndex":[["1",{"_index":3,"title":{},"name":{"2":{}},"text":{},"component":{}}],["index",{"_index":0,"title":{},"name":{"1":{}},"text":{},"component":{}}],["root",{"_index":1,"title":{},"name":{},"text":{},"component":{"1":{},"2":{}}}],["section",{"_index":2,"title":{},"name":{"2":{}},"text":{},"component":{}}]],"pipeline":["stemmer"]},"store":{"documents":{"1":{"id":1,"text":"","title":"","component":"ROOT","version":"","name":"index","url":"/index.html","titles":[]},"2":{"id":2,"text":"","title":"","component":"ROOT","version":"","name":"section-1","url":"/section-1.html","titles":[]}},"components":{},"componentVersions":{"ROOT/":{"displayVersion":"default","title":"Taymyr","version":"","name":"ROOT","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Taymyr","site-url":"https://taymyr.io/"},"sourcemap":false},"url":"/index.html","navigation":[]}}}}) \ No newline at end of file diff --git a/section-1.html b/section-1.html new file mode 100644 index 0000000..05c2feb --- /dev/null +++ b/section-1.html @@ -0,0 +1,15 @@ + + + + + +
+
+
+

Section 1

+ +
+
+
+ + diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..31be5b5 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,11 @@ + + + +https://taymyr.io/index.html +2024-10-23T03:14:38.565Z + + +https://taymyr.io/section-1.html +2024-10-23T03:14:38.565Z + +