From 558806fd1e2c8d7800459eea5d9d15ec2e99369b Mon Sep 17 00:00:00 2001 From: AI Dev Date: Tue, 25 Aug 2026 15:02:46 +0000 Subject: [PATCH 1/4] Split the stylesheet up, and stop asking Google for the fonts The site's CSS was one 200-line file appended to Bootstrap, and the order it was written in hid a bug. Our theme values landed *after* the Bootstrap import, where Bootstrap's own !default declarations had already won, so $primary stayed at Bootstrap's #0d6efd while :root separately declared --bs-blue: #4c60d8. The page carried two blues: buttons and links in one, headings and the navbar in the other. Nobody had written the wrong colour anywhere -- the file just could not express the intent in that order. So the entry point is now only an ordering statement: fonts, Bootstrap's functions, our variables, Bootstrap, then our own partials. --bs-primary and --bs-btn-bg both compile to #4c60d8 now. $blue is set alongside $primary because --bs-blue is what the pre-relaunch rules colour headings with, and leaving it at the default would have reproduced the same split from the other side. The partials that arrive here are the ones that style pages which exist today. Components and page styles belonging to the new pages come with those pages, rather than sitting in the tree as dead CSS in the meantime. pages/_legacy.scss holds the rules that belong to the pre-relaunch pages, kept verbatim and kept together so the cutover can delete a file instead of picking rules apart. One of them is the CSS that hides the Russian integrators from non-Russian visitors on /introduction: the replacement is a Ruby helper, but until that page goes this rule is the only thing enforcing it, and dropping it early would show that logo wall to everyone. The other legacy rule worth naming is the h2 title style. _base.scss gives article headings the new treatment; the legacy selector is longer and therefore wins, and it applies exactly to pages rendered inside the .container wrapper -- which is every page that is not full-bleed. The two rules split along the same line the layout's fullwidth switch will. FONTS. The stylesheet opened with three @import url() lines: two to fonts.googleapis.com and one to cdn.jsdelivr.net. Every visitor announced themselves to two third parties before the page could paint, and first paint sat behind DNS lookups we do not control. This is the same argument that moved the legacy logo off a maintainer's personal CDN in d60729a. IBM Plex and bootstrap-icons are now served from public/fonts, subset to latin, latin-ext and cyrillic; Chinese falls back to the system stack, because IBM Plex has no CJK glyphs and the families that do are megabytes. The files are committed, since public/ bypasses Sprockets and a generated file would have to exist before assets:precompile in the image and before CI renders a page, for no benefit. tools/copy-fonts.mjs regenerates them from the @fontsource packages and fails loudly if a file the stylesheet asks for is missing. JAVASCRIPT. One window.onload handler becomes modules under app/javascript/src. That handler assigned window.onload rather than adding a listener, so any second assignment would have silently replaced all of it, and it waited on every image -- on the Open Wall, the whole gallery -- before anything became interactive. It is DOMContentLoaded now. The zoom initialiser called `new bootstrap.Modal(document.getElementById(...))` unconditionally. Most pages have no zoomable image and so no #modalZoom, the constructor threw on null, and because every initialiser shared the one handler, the throw took external links, timestamps and confirmations down with it on those pages. It returns early now. @hotwired/turbo-rails and @hotwired/stimulus are removed: neither was ever imported. The layout's data-turbo-track goes with them, having been inert. The lockfile is regenerated with Yarn 4 -- it must never be rewritten by a v1 yarn, which produces a format `yarn install --immutable` in the Dockerfile cannot read. Bootstrap is imported per component rather than wholesale. 189.4 KB to 181.8 KB unminified, which is a small win; the point is the import list, which now states what the markup actually depends on. Audited against the views first: dropdown, collapse, offcanvas, carousel and Modal are used, and nothing uses tooltip, popover, tab, alert or scrollspy. Verified: 231 runs, 873 assertions, 0 failures. Diffing the compiled selector set against master's leaves exactly one difference -- label.required:after, which is now spelled ::after. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_015hvzXBErEjEGMyRme2K3hi --- app/assets/stylesheets/_base.scss | 37 +++ app/assets/stylesheets/_fonts.scss | 44 ++++ app/assets/stylesheets/_utilities.scss | 36 +++ app/assets/stylesheets/_variables.scss | 88 +++++++ .../stylesheets/application.bootstrap.scss | 215 ++---------------- app/assets/stylesheets/components/_cards.scss | 23 ++ .../stylesheets/components/_navbar.scss | 33 +++ app/assets/stylesheets/pages/_calculator.scss | 46 ++++ app/assets/stylesheets/pages/_hardware.scss | 23 ++ app/assets/stylesheets/pages/_legacy.scss | 39 ++++ app/assets/stylesheets/pages/_openwall.scss | 12 + app/javascript/application.js | 103 +++------ app/javascript/src/confirms.js | 12 + app/javascript/src/external-links.js | 8 + app/javascript/src/heif-viewer.js | 31 +++ app/javascript/src/timestamps.js | 8 + app/javascript/src/zoom.js | 28 +++ app/views/layouts/application.html.erb | 2 +- package.json | 5 +- public/fonts/bootstrap-icons.woff | Bin 0 -> 176200 bytes public/fonts/bootstrap-icons.woff2 | Bin 0 -> 130608 bytes .../ibm-plex-mono-cyrillic-400-normal.woff2 | Bin 0 -> 8356 bytes .../ibm-plex-mono-cyrillic-600-normal.woff2 | Bin 0 -> 9352 bytes .../ibm-plex-mono-latin-400-normal.woff2 | Bin 0 -> 14708 bytes .../ibm-plex-mono-latin-600-normal.woff2 | Bin 0 -> 15620 bytes .../ibm-plex-mono-latin-ext-400-normal.woff2 | Bin 0 -> 13348 bytes .../ibm-plex-mono-latin-ext-600-normal.woff2 | Bin 0 -> 14328 bytes .../ibm-plex-sans-cyrillic-400-normal.woff2 | Bin 0 -> 14800 bytes .../ibm-plex-sans-cyrillic-500-normal.woff2 | Bin 0 -> 15000 bytes .../ibm-plex-sans-cyrillic-600-normal.woff2 | Bin 0 -> 15040 bytes .../ibm-plex-sans-cyrillic-700-normal.woff2 | Bin 0 -> 14572 bytes .../ibm-plex-sans-latin-400-normal.woff2 | Bin 0 -> 22588 bytes .../ibm-plex-sans-latin-500-normal.woff2 | Bin 0 -> 24184 bytes .../ibm-plex-sans-latin-600-normal.woff2 | Bin 0 -> 24252 bytes .../ibm-plex-sans-latin-700-normal.woff2 | Bin 0 -> 22832 bytes .../ibm-plex-sans-latin-ext-400-normal.woff2 | Bin 0 -> 15980 bytes .../ibm-plex-sans-latin-ext-500-normal.woff2 | Bin 0 -> 16456 bytes .../ibm-plex-sans-latin-ext-600-normal.woff2 | Bin 0 -> 16448 bytes .../ibm-plex-sans-latin-ext-700-normal.woff2 | Bin 0 -> 16188 bytes tools/copy-fonts.mjs | 71 ++++++ yarn.lock | 37 +-- 41 files changed, 611 insertions(+), 290 deletions(-) create mode 100644 app/assets/stylesheets/_base.scss create mode 100644 app/assets/stylesheets/_fonts.scss create mode 100644 app/assets/stylesheets/_utilities.scss create mode 100644 app/assets/stylesheets/_variables.scss create mode 100644 app/assets/stylesheets/components/_cards.scss create mode 100644 app/assets/stylesheets/components/_navbar.scss create mode 100644 app/assets/stylesheets/pages/_calculator.scss create mode 100644 app/assets/stylesheets/pages/_hardware.scss create mode 100644 app/assets/stylesheets/pages/_legacy.scss create mode 100644 app/assets/stylesheets/pages/_openwall.scss create mode 100644 app/javascript/src/confirms.js create mode 100644 app/javascript/src/external-links.js create mode 100644 app/javascript/src/heif-viewer.js create mode 100644 app/javascript/src/timestamps.js create mode 100644 app/javascript/src/zoom.js create mode 100644 public/fonts/bootstrap-icons.woff create mode 100644 public/fonts/bootstrap-icons.woff2 create mode 100644 public/fonts/ibm-plex-mono-cyrillic-400-normal.woff2 create mode 100644 public/fonts/ibm-plex-mono-cyrillic-600-normal.woff2 create mode 100644 public/fonts/ibm-plex-mono-latin-400-normal.woff2 create mode 100644 public/fonts/ibm-plex-mono-latin-600-normal.woff2 create mode 100644 public/fonts/ibm-plex-mono-latin-ext-400-normal.woff2 create mode 100644 public/fonts/ibm-plex-mono-latin-ext-600-normal.woff2 create mode 100644 public/fonts/ibm-plex-sans-cyrillic-400-normal.woff2 create mode 100644 public/fonts/ibm-plex-sans-cyrillic-500-normal.woff2 create mode 100644 public/fonts/ibm-plex-sans-cyrillic-600-normal.woff2 create mode 100644 public/fonts/ibm-plex-sans-cyrillic-700-normal.woff2 create mode 100644 public/fonts/ibm-plex-sans-latin-400-normal.woff2 create mode 100644 public/fonts/ibm-plex-sans-latin-500-normal.woff2 create mode 100644 public/fonts/ibm-plex-sans-latin-600-normal.woff2 create mode 100644 public/fonts/ibm-plex-sans-latin-700-normal.woff2 create mode 100644 public/fonts/ibm-plex-sans-latin-ext-400-normal.woff2 create mode 100644 public/fonts/ibm-plex-sans-latin-ext-500-normal.woff2 create mode 100644 public/fonts/ibm-plex-sans-latin-ext-600-normal.woff2 create mode 100644 public/fonts/ibm-plex-sans-latin-ext-700-normal.woff2 create mode 100644 tools/copy-fonts.mjs diff --git a/app/assets/stylesheets/_base.scss b/app/assets/stylesheets/_base.scss new file mode 100644 index 00000000..f98b0451 --- /dev/null +++ b/app/assets/stylesheets/_base.scss @@ -0,0 +1,37 @@ +body { + text-wrap: pretty; +} + +// Keep the footer below the fold on short pages. +body > main > .container { + min-height: 60vh; +} + +// Page titles rendered by the shared page header / article headers. +article > header > h1, +article > header > h2 { + font-weight: 600; + margin: 1rem 0 1.5rem; +} + +// Prose links: keep underline (a11y) with a comfortable offset; nav/cards opt out. +a { + text-underline-offset: .15em; +} + +ol.breadcrumb { + font-size: .86rem; + padding: .5rem 0; +} + +label.required::after { + content: '*'; + color: var(--bs-danger); + margin-inline-start: .125rem; +} + +// Code, MAC/IP addresses, hex values keep LTR order even in RTL locales. +code, kbd, pre, samp, .text-data { + direction: ltr; + unicode-bidi: embed; +} diff --git a/app/assets/stylesheets/_fonts.scss b/app/assets/stylesheets/_fonts.scss new file mode 100644 index 00000000..4c99d985 --- /dev/null +++ b/app/assets/stylesheets/_fonts.scss @@ -0,0 +1,44 @@ +// Self-hosted IBM Plex. The woff2 files live in public/fonts/ and are copied +// verbatim from the @fontsource packages by `yarn build:fonts`. +// +// Self-hosted rather than fetched from fonts.googleapis.com: the CDN import +// this replaces made every visitor's browser announce itself to Google before +// the page could paint, and it is the same argument that moved the legacy logo +// off a maintainer's personal CDN in d60729a. +// +// Subsets: latin covers English, latin-ext the accented names in the partner +// wall, cyrillic the Russian copy. Chinese falls back to the system stack -- +// IBM Plex Sans has no CJK glyphs, and the CJK families that do are megabytes. + +$plex-subsets: ( + 'latin': (U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, + U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD), + 'latin-ext': (U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, + U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, + U+2113, U+2C60-2C7F, U+A720-A7FF), + 'cyrillic': (U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116), +); + +@each $subset, $range in $plex-subsets { + @each $weight in (400, 500, 600, 700) { + @font-face { + font-family: 'IBM Plex Sans'; + font-style: normal; + font-display: swap; + font-weight: $weight; + src: url('/fonts/ibm-plex-sans-#{$subset}-#{$weight}-normal.woff2') format('woff2'); + unicode-range: $range; + } + } + + @each $weight in (400, 600) { + @font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-display: swap; + font-weight: $weight; + src: url('/fonts/ibm-plex-mono-#{$subset}-#{$weight}-normal.woff2') format('woff2'); + unicode-range: $range; + } + } +} diff --git a/app/assets/stylesheets/_utilities.scss b/app/assets/stylesheets/_utilities.scss new file mode 100644 index 00000000..4f11ef13 --- /dev/null +++ b/app/assets/stylesheets/_utilities.scss @@ -0,0 +1,36 @@ +.x-small { + font-size: 0.8125rem; +} + +.img-zoom:hover { + cursor: zoom-in; +} + +.ratio { + overflow: auto; +} + +.offcanvas { + --bs-offcanvas-width: 30vw; + min-width: 25rem; +} + +// Responsive breakpoint debugger (enabled via body.debug from a fixed IP). +@media (max-width: 575.98px) { body.debug:before { content: 'xs' } } +@media (min-width: 576px) and (max-width: 767.98px) { body.debug:before { content: 'sm' } } +@media (min-width: 768px) and (max-width: 991.98px) { body.debug:before { content: 'md' } } +@media (min-width: 992px) and (max-width: 1199.98px) { body.debug:before { content: 'lg' } } +@media (min-width: 1200px) and (max-width: 1399.98px) { body.debug:before { content: 'xl' } } +@media (min-width: 1400px) { body.debug:before { content: 'xxl' } } +body.debug:before { + color: #4c60d811; + display: block; + font-size: 10rem; + font-variant: all-small-caps; + font-weight: 700; + line-height: 1; + position: fixed; + right: 3rem; + top: 3rem; + z-index: -1; +} diff --git a/app/assets/stylesheets/_variables.scss b/app/assets/stylesheets/_variables.scss new file mode 100644 index 00000000..ed760ef6 --- /dev/null +++ b/app/assets/stylesheets/_variables.scss @@ -0,0 +1,88 @@ +// Theme: "engineering workbench" — light body, dark ink anchor sections, brand indigo. +// These overrides MUST load after bootstrap/scss/functions and before the main bootstrap import. + +// --- Brand palette --- +$indigo: #4c60d8; // brand color (5.3:1 on white — AA for text) +$primary: $indigo; +// Bootstrap emits --bs-blue from $blue, and the pre-relaunch rules in +// pages/_legacy.scss colour headings with var(--bs-blue). Left at Bootstrap's +// default those rules would render #0d6efd -- the same "two blues" split this +// file exists to close, just from the other side. +$blue: $indigo; +$ink: #0f1422; // navbar, hero, stats/CTA bands, footer +$ink-2: #1a2236; // raised surfaces on ink +$accent: #ffb454; // warm amber: Labs, live-dot, highlights; never text-on-white +$success: #33a867; // matches stage-done.svg +$danger: #d6453d; +$warning: #e8a13c; +$info: #3e8ed0; + +// --- Neutrals (cool, indigo-tinted) --- +$body-bg: #ffffff; +$body-color: #1c2333; +$body-secondary-color: #5a6377; +$body-tertiary-bg: #f4f6fa; +$border-color: #e3e7f0; + +// --- Typography --- +$font-family-sans-serif: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; +$font-family-monospace: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace; +$font-size-base: 1rem; +$line-height-base: 1.6; +$headings-font-weight: 600; // 700 reserved for hero/display +$display-font-weight: 700; +$h1-font-size: 2.25rem; +$h2-font-size: 1.75rem; +$h3-font-size: 1.375rem; +$code-color: #b23a78; + +// --- Spacing (Bootstrap defaults + 6/7 for section rhythm: py-6/py-7) --- +$spacer: 1rem; +$spacers: ( + 0: 0, + 1: $spacer * .25, + 2: $spacer * .5, + 3: $spacer, + 4: $spacer * 1.5, + 5: $spacer * 3, + 6: $spacer * 4.5, + 7: $spacer * 6, +); + +// --- Shape --- +$border-radius: .375rem; +$border-radius-sm: .25rem; +$border-radius-lg: .625rem; +$border-radius-xl: 1rem; +$box-shadow-sm: 0 1px 2px rgba(15, 20, 34, .06); +$box-shadow: 0 8px 24px rgba(15, 20, 34, .10); +$card-border-color: $border-color; +$card-cap-bg: transparent; + +// --- Links / buttons / focus --- +$link-color: $indigo; +$link-decoration: underline; +$btn-font-weight: 600; +$btn-padding-x: 1.125rem; +$btn-padding-y: .5rem; +$btn-padding-x-lg: 1.5rem; +$btn-padding-y-lg: .75rem; +$focus-ring-color: rgba($indigo, .3); + +// --- Components --- +$carousel-transition-duration: .3s; // carried over; the Open Wall slideshow relies on it +$enable-dark-mode: true; // needed for scoped data-bs-theme="dark" sections +$navbar-dark-color: rgba(#fff, .78); +$navbar-dark-hover-color: #fff; +$badge-font-weight: 600; +$table-cell-padding-y: .6rem; + +// --- Project status stages (NEQ/R&D/HLP/WIP/MVP/DONE) --- +$stage-colors: ( + 'neq': #8a93a6, + 'rnd': #7a5cd6, + 'hlp': #3e8ed0, + 'wip': #0fa3a3, + 'mvp': #e8a13c, + 'done': #33a867, +); diff --git a/app/assets/stylesheets/application.bootstrap.scss b/app/assets/stylesheets/application.bootstrap.scss index cdc91b79..35c89cd9 100644 --- a/app/assets/stylesheets/application.bootstrap.scss +++ b/app/assets/stylesheets/application.bootstrap.scss @@ -1,193 +1,28 @@ -@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&family=IBM+Plex+Sans:wght@400;700&display=swap'); -@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap'); -@import url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.3/font/bootstrap-icons.css'); - +// Entry point for the site stylesheet. +// +// The import ORDER is the point of this file. Our theme variables have to be +// read after Bootstrap's functions (they use rgba(), shade-color() and friends) +// and before Bootstrap itself, because Bootstrap's own variables are declared +// !default and the first definition wins. Loading them afterwards -- which is +// what the single flat stylesheet used to do -- left $primary at Bootstrap's +// #0d6efd while :root said --bs-blue: #4c60d8, so buttons and links rendered a +// different blue from everything else on the page. +@import 'fonts'; +@import 'bootstrap/scss/functions'; +@import 'variables'; @import 'bootstrap/scss/bootstrap'; -@import 'bootstrap-icons/font/bootstrap-icons'; -//@import 'rails_bootstrap_forms'; - -/* debugging start */ -@media (max-width: 575.98px) { body.debug:before {content: "xs"} } -@media (min-width: 576px) and (max-width: 767.98px) { body.debug:before {content: "sm"} } -@media (min-width: 768px) and (max-width: 991.98px) { body.debug:before {content: "md"} } -@media (min-width: 992px) and (max-width: 1199.98px) { body.debug:before {content: "lg"} } -@media (min-width: 1200px) and (max-width: 1399.98px) { body.debug:before {content: "xl"} } -@media (min-width: 1400px) { body.debug:before {content: "xxl"} } -body.debug:before {color: #4c60d811;display: block;font-size: 10rem;font-variant: all-small-caps;font-weight: 700;line-height: 1;position: fixed;right: 3rem;top: 3rem;z-index: -1} -.offcanvas {--bs-offcanvas-width: 30vw;min-width: 25rem;} -/* debugging end */ - -:root { - --bs-body-font-family: "IBM Plex Sans", sans-serif; - --bs-font-monospace: "IBM Plex Mono", monospace; - --bs-blue: #4c60d8; -} - -$carousel-transition-duration: .3s; - -.ratio { - overflow: auto; -} - -.col > h3 { - color: var(--bs-blue); - font-size: 1.3rem; - margin-bottom: 1.0rem; - margin-top: 1.5rem; -} - -.x-small { - font-size: 0.8125rem; -} - -body > main > .container { - min-height: 60vh; - - > article > header > h2 { - font-weight: 700; - color: var(--bs-blue); - margin: 1rem 0 1.5rem; - } -} - -body > nav.navbar, -body > header { - background: var(--bs-blue); - color: #ffffff; -} - -body.admin > nav.navbar, -body.admin > header { - background: #B00100; - color: #ffffff; -} - -i.bi-github { font-size: 2.3rem; line-height: 1; } - -.tg img { height: 2.5rem; } - -html:not([lang="ru"]) article.introduction .col.logo.ru { display: none; } - -article.calculator { - .form-floating > label { - padding: 0.5rem 0.25rem; - } - - .form-control:not(:placeholder-shown) { - padding-bottom: 0.5rem; - } - - .col:not(:first-child) { - text-align: right; - } - - input, select { - background: #f7f7f7; - font-family: 'Share Tech Mono', monospace; - font-size: 1.4rem; - font-weight: 400; - } - - .dec, .hex { - input, select { font-size: 2.0rem; text-align: right; } - } - input.start[readonly] { background-color: #4c60d8; color: white; } - input[readonly] { border: none; color: var(--bs-blue); outline: none; } - - #mtdparts { font-size: 1.75rem; word-break: break-all; } - - input.border-color { border-width: 3px; } - - #offset { border-color: #000000; } - - // red,orange,yellow,springgreen,green,turquoise,cyan,ocean,blue,violet,magenta,raspberry - - .progress { height: 2rem; - .bg-color-0 { background: #000000 } - .bg-color-1 { background: #ff0000 } - .bg-color-2 { background: #ffff00 } - .bg-color-3 { background: #ff7700 } - .bg-color-4 { background: #007700 } - .bg-color-5 { background: #261 } - .bg-color-6 { background: #226 } - .bg-color-7 { background: #a13 } - .bg-color-8 { background: #b72 } - } -} - -article.hardware { - > ul.nav { - --bs-nav-link-padding-x: 0.3rem; - } -} - -.card-body { - position: relative; -} - -.social { - position: absolute; - right: 0.25rem; - top: -0.75rem; - text-align: right; - - a { - background: white; - border-radius: 50%; - display: inline-flex; - padding: 2px; - - img { - height: 1.25rem; - vertical-align: text-bottom; - } - } -} - -ol.breadcrumb { font-size: 0.86rem; padding: 0.5rem 0; } - -.socs { - .stage { text-align: center; } - .url { text-align: center; } - .address { text-align: right; } - - .stage img { height: 1.25rem; } - .icon { max-height: 30px; } - // filter: invert(38%) sepia(63%) saturate(5330%) hue-rotate(225deg) brightness(92%) contrast(83%); - //.stage.neq { background-color: #00000033 } - //.stage.hlp { background-color: #ffffff33 } - //.stage.rnd { background-color: #0000ff33 } - //.stage.wip { background-color: #00ffff33 } - //.stage.mvp { background-color: #ffff0033 } - //.stage.done { background-color: #00ff0033 } - - dd a.anchor { display: none; } - dd:hover a.anchor { display: inline; } -} - -label.required:after { - content:"*"; - color: red; - margin-left: 0.125rem; -} - -.carousel-item .carousel-caption { - background-color: #1e1e1e66; - color: #f1f1f166; - a { color: #f1f1f166; } -} - -.carousel-item.active:hover .carousel-caption { - background-color: #1e1e1eff; - color: #f1f1f1ff; - a { color: #ffcc00; } -} - -table.socs tr.featured { - background-color: #4c60d822; -} +// bootstrap-icons resolves its woff2 against this. The variable is +// $bootstrap-icons-font-dir; $bi-font-path is the name from a different major +// version and silently does nothing. +$bootstrap-icons-font-dir: '/fonts'; +@import 'bootstrap-icons/font/bootstrap-icons'; -.img-zoom:hover { - cursor: zoom-in; -} +@import 'base'; +@import 'components/navbar'; +@import 'components/cards'; +@import 'pages/hardware'; +@import 'pages/calculator'; +@import 'pages/openwall'; +@import 'pages/legacy'; +@import 'utilities'; diff --git a/app/assets/stylesheets/components/_cards.scss b/app/assets/stylesheets/components/_cards.scss new file mode 100644 index 00000000..29ea4c04 --- /dev/null +++ b/app/assets/stylesheets/components/_cards.scss @@ -0,0 +1,23 @@ +// Team member cards: the social icons float over the top edge of the card. +.card-body { + position: relative; +} + +.social { + position: absolute; + right: .25rem; + top: -.75rem; + text-align: right; + + a { + background: white; + border-radius: 50%; + display: inline-flex; + padding: 2px; + + img { + height: 1.25rem; + vertical-align: text-bottom; + } + } +} diff --git a/app/assets/stylesheets/components/_navbar.scss b/app/assets/stylesheets/components/_navbar.scss new file mode 100644 index 00000000..29f54e9c --- /dev/null +++ b/app/assets/stylesheets/components/_navbar.scss @@ -0,0 +1,33 @@ +body > nav.navbar, +body > header { + background: $ink; + color: #fff; + border-bottom: 1px solid rgba(255, 255, 255, .08); + + .nav-link { + text-decoration: none; + } + + .dropdown-menu { + --bs-dropdown-link-active-bg: #{$indigo}; + + a { + text-decoration: none; + } + } +} + +body.admin > nav.navbar, +body.admin > header { + background: #b00100; + color: #fff; +} + +i.bi-github { + font-size: 2.3rem; + line-height: 1; +} + +.tg img { + height: 2.5rem; +} diff --git a/app/assets/stylesheets/pages/_calculator.scss b/app/assets/stylesheets/pages/_calculator.scss new file mode 100644 index 00000000..bba8dccc --- /dev/null +++ b/app/assets/stylesheets/pages/_calculator.scss @@ -0,0 +1,46 @@ +// Web tools: partition calculator, QR generator, timers (existing pages). +article.calculator { + .form-floating > label { + padding: 0.5rem 0.25rem; + } + + .form-control:not(:placeholder-shown) { + padding-bottom: 0.5rem; + } + + .col:not(:first-child) { + text-align: right; + } + + input, select { + background: #f7f7f7; + font-family: $font-family-monospace; + font-size: 1.4rem; + font-weight: 400; + } + + .dec, .hex { + input, select { font-size: 2.0rem; text-align: right; } + } + + input.start[readonly] { background-color: $indigo; color: white; } + input[readonly] { border: none; color: $indigo; outline: none; } + + #mtdparts { font-size: 1.75rem; word-break: break-all; } + + input.border-color { border-width: 3px; } + + #offset { border-color: #000000; } + + .progress { height: 2rem; + .bg-color-0 { background: #000000 } + .bg-color-1 { background: #ff0000 } + .bg-color-2 { background: #ffff00 } + .bg-color-3 { background: #ff7700 } + .bg-color-4 { background: #007700 } + .bg-color-5 { background: #261 } + .bg-color-6 { background: #226 } + .bg-color-7 { background: #a13 } + .bg-color-8 { background: #b72 } + } +} diff --git a/app/assets/stylesheets/pages/_hardware.scss b/app/assets/stylesheets/pages/_hardware.scss new file mode 100644 index 00000000..0e5dd433 --- /dev/null +++ b/app/assets/stylesheets/pages/_hardware.scss @@ -0,0 +1,23 @@ +// Supported-hardware browser. The table.binaries block that used to live here +// went with /binaries itself in 2cf8bc9; do not reintroduce it. +article.hardware { + > ul.nav { + --bs-nav-link-padding-x: 0.3rem; + } +} + +.socs { + .stage { text-align: center; } + .url { text-align: center; } + .address { text-align: right; } + + .stage img { height: 1.25rem; } + .icon { max-height: 30px; } + + dd a.anchor { display: none; } + dd:hover a.anchor { display: inline; } +} + +table.socs tr.featured { + background-color: rgba($indigo, .13); +} diff --git a/app/assets/stylesheets/pages/_legacy.scss b/app/assets/stylesheets/pages/_legacy.scss new file mode 100644 index 00000000..e9322e29 --- /dev/null +++ b/app/assets/stylesheets/pages/_legacy.scss @@ -0,0 +1,39 @@ +// Rules belonging to the pre-relaunch pages. They are kept intact, and separate, +// so the cutover that removes those pages can delete this file rather than pick +// rules out of the ones above. + +// Section headings inside a grid column. Fifteen existing pages rely on this -- +// our-team, our-channels, the calculators, majestic-endpoints and the rest -- +// so it cannot go until they do. The new pages do not use it: their headings +// take their colour from the body, not the brand. +.col > h3 { + color: var(--bs-blue); + font-size: 1.3rem; + margin-bottom: 1rem; + margin-top: 1.5rem; +} + +// Territory-gating for the partner wall on /introduction, done in CSS because +// that page hardcodes every logo in the markup. The integrators in the .ru +// group serve Russia and are shown only to Russian-language visitors. +// +// The replacement is PagesHelper#partner_logos, which makes the same split in +// Ruby and can therefore be tested. Until /introduction goes, this rule is what +// enforces it -- deleting it early would show the Russian integrators to +// everyone, which is precisely what the maintainers asked not to happen. +html:not([lang="ru"]) article.introduction .col.logo.ru { + display: none; +} + +// Page titles on the pre-relaunch pages: brand-coloured and 700, as they have +// always been. _base.scss styles `article > header > h2` at 600 and inherits +// the body colour, which is the new design; this selector is longer, so it wins +// wherever it applies -- and it applies exactly to pages rendered inside the +// .container wrapper, which is every page that is not full-bleed. The two rules +// therefore split cleanly along the same line as the layout's fullwidth switch, +// and this one disappears when the pages it belongs to do. +body > main > .container > article > header > h2 { + color: var(--bs-blue); + font-weight: 700; + margin: 1rem 0 1.5rem; +} diff --git a/app/assets/stylesheets/pages/_openwall.scss b/app/assets/stylesheets/pages/_openwall.scss new file mode 100644 index 00000000..93fa9fc8 --- /dev/null +++ b/app/assets/stylesheets/pages/_openwall.scss @@ -0,0 +1,12 @@ +// Open Wall gallery and slideshow. +.carousel-item .carousel-caption { + background-color: #1e1e1e66; + color: #f1f1f166; + a { color: #f1f1f166; } +} + +.carousel-item.active:hover .carousel-caption { + background-color: #1e1e1eff; + color: #f1f1f1ff; + a { color: #ffcc00; } +} diff --git a/app/javascript/application.js b/app/javascript/application.js index a0d70360..95fb5023 100644 --- a/app/javascript/application.js +++ b/app/javascript/application.js @@ -1,72 +1,35 @@ -import * as bootstrap from 'bootstrap' -import { decodeHeifToCanvas } from './heif' +// Bootstrap's JS, imported per-component rather than as `import * as bootstrap`. +// Each of these registers Bootstrap's data API on import, so the markup keeps +// working with no further wiring. +// +// The list is exactly what the views use: data-bs-toggle asks for dropdown, +// collapse and offcanvas, the Open Wall slideshow uses data-bs-ride, and +// src/zoom.js imports Modal directly (which is also what serves the one +// data-bs-dismiss="modal"). Nothing uses tooltip, popover, tab, alert or +// scrollspy. Adding markup that needs one of those means adding the import. +// +// This is a smaller win than it looks -- 189.4 KB to 181.8 KB unminified, +// because the components share most of their base. It is worth doing for the +// list above, which is a statement of what the site actually depends on. +import 'bootstrap/js/dist/collapse' +import 'bootstrap/js/dist/dropdown' +import 'bootstrap/js/dist/offcanvas' +import 'bootstrap/js/dist/carousel' -window.onload = (event) => { -// if ((window.navigator.language == 'ru' || window.navigator.language == 'ru-RU') && document.documentElement.lang !== 'ru') { -// location.href = location.href.replace(location.search, '').concat('?locale=ru'); -// } +import initZoom from './src/zoom' +import initExternalLinks from './src/external-links' +import initTimestamps from './src/timestamps' +import initConfirms from './src/confirms' +import initHeifViewer from './src/heif-viewer' - const modalZoom = document.getElementById('modalZoom'); - const zoom = new bootstrap.Modal(modalZoom, {}); - document.querySelectorAll('.img-zoom').forEach(el => { - el.addEventListener('click', ev => { - let b = modalZoom.querySelector('.modal-body'); - b.textContent = ''; - let i = document.createElement('img'); - // The tile is a downscaled copy; data-zoom, where present, names the - // full-resolution file so the modal is not an upscale of the thumbnail. - i.src = ev.target.dataset.zoom || ev.target.src; - i.classList.add('img-fluid'); - b.appendChild(i); - zoom.show(); - }); - }); - - document.querySelectorAll('a[href^="http"], a[rel^="external"]').forEach(el => { - el.target = '_blank'; - el.classList.add('external-link'); - }); - - document.querySelectorAll('span[data-timestamp]').forEach(el => { - const ts = el.dataset['timestamp']; - let date = new Date(ts * 1000); - el.textContent = date.toLocaleString([], { dateStyle: 'medium', timeStyle: 'short' }); - }); - - // For .warning and .danger buttons, ask confirmation on action. - document.querySelectorAll('.btn-danger, .btn-warning, .confirm').forEach(el => { - // for input or button, find parent form and attach listener to its submit event - if (el.nodeName === 'INPUT' || el.nodeName === 'BUTTON') { - while (el.nodeName !== 'FORM') el = el.parentNode - el.addEventListener('submit', ev => (!confirm('Are you sure?')) ? ev.preventDefault() : null) - } else { - el.addEventListener('click', ev => (!confirm('Are you sure?')) ? ev.preventDefault() : null) - } - }); -}; - -// Progressive enhancement: view the *original* HEIF snapshot decoded in the -// browser (the page otherwise shows a server-rendered JPEG). See heif.js. -document.addEventListener('click', async (ev) => { - const btn = ev.target.closest('[data-heif-view]'); - if (!btn) return; - const wrap = btn.closest('[data-heif-original]'); - const url = wrap && wrap.dataset.heifOriginal; - const canvas = wrap && wrap.querySelector('[data-heif-canvas]'); - const status = wrap && wrap.querySelector('[data-heif-status]'); - if (!url || !canvas) return; - - btn.disabled = true; - if (status) status.textContent = 'Decoding…'; - try { - const buffer = await (await fetch(url, { credentials: 'same-origin' })).arrayBuffer(); - const how = await decodeHeifToCanvas(buffer, canvas); - canvas.classList.remove('d-none'); - btn.classList.add('d-none'); - if (status) status.textContent = `Original HEIF, decoded in your browser (${how}).`; - } catch (e) { - console.warn('HEIF decode failed', e); - if (status) status.textContent = 'Your browser can’t decode this HEIF — showing the server preview.'; - btn.disabled = false; - } -}); +// DOMContentLoaded, not window.onload, which waits for every image and on the +// Open Wall meant the page sat unresponsive until the whole gallery had loaded. +// Assigning window.onload was also a single slot: a second assignment anywhere +// would have silently replaced all of this. +document.addEventListener('DOMContentLoaded', () => { + initZoom() + initExternalLinks() + initTimestamps() + initConfirms() + initHeifViewer() +}) diff --git a/app/javascript/src/confirms.js b/app/javascript/src/confirms.js new file mode 100644 index 00000000..974f603a --- /dev/null +++ b/app/javascript/src/confirms.js @@ -0,0 +1,12 @@ +// Ask for confirmation before destructive actions (.btn-danger, .btn-warning, .confirm). +export default function initConfirms() { + document.querySelectorAll('.btn-danger, .btn-warning, .confirm').forEach(el => { + // for input or button, find parent form and attach listener to its submit event + if (el.nodeName === 'INPUT' || el.nodeName === 'BUTTON') { + while (el && el.nodeName !== 'FORM') el = el.parentNode + if (el) el.addEventListener('submit', ev => (!confirm('Are you sure?')) ? ev.preventDefault() : null) + } else { + el.addEventListener('click', ev => (!confirm('Are you sure?')) ? ev.preventDefault() : null) + } + }) +} diff --git a/app/javascript/src/external-links.js b/app/javascript/src/external-links.js new file mode 100644 index 00000000..ffddfb14 --- /dev/null +++ b/app/javascript/src/external-links.js @@ -0,0 +1,8 @@ +// Open external links in a new tab and mark them visually. +export default function initExternalLinks() { + document.querySelectorAll('a[href^="http"], a[rel^="external"]').forEach(el => { + el.target = '_blank' + el.rel = 'noopener' + el.classList.add('external-link') + }) +} diff --git a/app/javascript/src/heif-viewer.js b/app/javascript/src/heif-viewer.js new file mode 100644 index 00000000..9483dbbe --- /dev/null +++ b/app/javascript/src/heif-viewer.js @@ -0,0 +1,31 @@ +import { decodeHeifToCanvas } from '../heif' + +// Progressive enhancement: view the *original* HEIF snapshot decoded in the +// browser. The page otherwise shows a server-rendered JPEG, because HEIF is +// decodable natively only by Safari. See heif.js for the decoder itself. +export default function initHeifViewer() { + document.addEventListener('click', async ev => { + const btn = ev.target.closest('[data-heif-view]') + if (!btn) return + + const wrap = btn.closest('[data-heif-original]') + const url = wrap && wrap.dataset.heifOriginal + const canvas = wrap && wrap.querySelector('[data-heif-canvas]') + const status = wrap && wrap.querySelector('[data-heif-status]') + if (!url || !canvas) return + + btn.disabled = true + if (status) status.textContent = 'Decoding…' + try { + const buffer = await (await fetch(url, { credentials: 'same-origin' })).arrayBuffer() + const how = await decodeHeifToCanvas(buffer, canvas) + canvas.classList.remove('d-none') + btn.classList.add('d-none') + if (status) status.textContent = `Original HEIF, decoded in your browser (${how}).` + } catch (e) { + console.warn('HEIF decode failed', e) + if (status) status.textContent = 'Your browser can’t decode this HEIF — showing the server preview.' + btn.disabled = false + } + }) +} diff --git a/app/javascript/src/timestamps.js b/app/javascript/src/timestamps.js new file mode 100644 index 00000000..1e70fd60 --- /dev/null +++ b/app/javascript/src/timestamps.js @@ -0,0 +1,8 @@ +// Render unix timestamps in the visitor's locale and timezone. +export default function initTimestamps() { + document.querySelectorAll('span[data-timestamp]').forEach(el => { + const ts = el.dataset['timestamp'] + const date = new Date(ts * 1000) + el.textContent = date.toLocaleString([], { dateStyle: 'medium', timeStyle: 'short' }) + }) +} diff --git a/app/javascript/src/zoom.js b/app/javascript/src/zoom.js new file mode 100644 index 00000000..dcf7cb51 --- /dev/null +++ b/app/javascript/src/zoom.js @@ -0,0 +1,28 @@ +import Modal from 'bootstrap/js/dist/modal' + +// Click-to-zoom for images marked .img-zoom; needs the #modalZoom markup. +export default function initZoom() { + const modalZoom = document.getElementById('modalZoom') + // Most pages have no zoomable image and therefore no modal. Constructing a + // Modal on null throws, and the throw took every later initialiser on the + // page down with it, because they all ran from one window.onload handler. + if (!modalZoom) return + + const zoom = new Modal(modalZoom, {}) + + // Delegated, so images added after load still zoom. + document.addEventListener('click', ev => { + const img = ev.target.closest('.img-zoom') + if (!img) return + + const body = modalZoom.querySelector('.modal-body') + body.textContent = '' + const full = document.createElement('img') + // The tile is a downscaled copy; data-zoom, where present, names the + // full-resolution file so the modal is not an upscale of the thumbnail. + full.src = img.dataset.zoom || img.src + full.classList.add('img-fluid') + body.appendChild(full) + zoom.show() + }) +} diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index df2b5c8e..36b67c7e 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -8,7 +8,7 @@ <%= csp_meta_tag %> <%= stylesheet_link_tag 'application' %> - <%= javascript_include_tag 'application', 'data-turbo-track': 'reload', defer: true %> + <%= javascript_include_tag 'application', defer: true %> diff --git a/package.json b/package.json index 6b82ac81..6706c6db 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,8 @@ "name": "app", "packageManager": "yarn@4.0.2", "dependencies": { - "@hotwired/stimulus": "^3.2.2", - "@hotwired/turbo-rails": "^7.3.0", + "@fontsource/ibm-plex-mono": "^5.2.7", + "@fontsource/ibm-plex-sans": "^5.2.8", "@popperjs/core": "^2.11.8", "autoprefixer": "^10.4.16", "bootstrap": "^5.3.2", @@ -16,6 +16,7 @@ }, "scripts": { "build": "esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds --public-path=/assets", + "build:fonts": "node tools/copy-fonts.mjs", "build:css:compile": "sass ./app/assets/stylesheets/application.bootstrap.scss:./app/assets/builds/application.css --no-source-map --load-path=node_modules", "build:css:prefix": "postcss ./app/assets/builds/application.css --use=autoprefixer --output=./app/assets/builds/application.css", "build:css": "yarn build:css:compile && yarn build:css:prefix", diff --git a/public/fonts/bootstrap-icons.woff b/public/fonts/bootstrap-icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..dbeeb055674125ad78fda0f3d166b36e5cc92336 GIT binary patch literal 176200 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

2+UrCZlNAp`)&G@jg{m-!Dn; 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πR(XEyYV3az{Ot$Y*f93mYq^Lnu{qbYp!X!TA9&! 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 F?~0aZ)an2L literal 0 HcmV?d00001 diff --git a/public/fonts/bootstrap-icons.woff2 b/public/fonts/bootstrap-icons.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..87032d17e78ae28da5f0fc2e52680b01ffa642f7 GIT binary patch literal 130608 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 DaoMW~ literal 0 HcmV?d00001 diff --git a/public/fonts/ibm-plex-mono-cyrillic-400-normal.woff2 b/public/fonts/ibm-plex-mono-cyrillic-400-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..20e72b01579543fe0cb4aed955a146b6b949709f GIT binary patch literal 8356 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 CP07sw literal 0 HcmV?d00001 diff --git a/public/fonts/ibm-plex-mono-latin-400-normal.woff2 b/public/fonts/ibm-plex-mono-latin-400-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0804aaff92260b5359330f63e05b9ac25ccabeee GIT binary patch literal 14708 zcmV-)Ig7@3Pew8T0RR9106BC35dZ)H0HGiN067o<0RR9100000000000000000000 z0000QOdEz$9EMf~U;uu?K%G5`TK0we>7U<4oqgE|L^X$*rj z8;_19%I%W^bO(SBuPiMn*f#0ijzrPkb7(X&f{g=!B742;|Gy8w1P?Xm&z;E?bn2ER0SB@N_|ohnR#tmztr{aO7{OhZ>6~^sZ*r{s<4EH4Dw+^f;SyWMD_#BD1JaCUG$UB8U?kpU?cMV6-Uq|O<_fGpiN*+6o|bB1jrJ2rAzlx?#_2c zgagkjBm=2TmlU1Tnn7(K5WM|?iUDakwSHWmB<1+|}P?0FC<>z&ptG-EseJQc5 zFBw?2b#}sz4`c{~Q(|%m&viCct)AK3lD)!xYEuGG z&U7YI6WD%wR{d6~RQ^6aleH;nb8x9zKC&cxVxk+-0+iUo#S7RHwwMeY;_1g)UR)B% zPD;dT!vEYoEZTIUck@nZ)IvxM{X))62l}sFHFvkN8H85e-vo`Q@nyesFCci_p^Z#w zRAl{{|B2Jur{F?pJT){`Wcrn5lnf!f?d9`Ux5YtA1Y{))X@4Mqy8%dq zAnU9M8_1AT$fQE%6tY|)I}~#AzoG!t26*_935S4oEXnXn=ltc2FFl9$Aa9W)`^aDb zigz(=DbWhZa{htLOR-1Mdg5bQa_HEPNOj0m&?O1Py20#1OS5+!pW$A(yCt!ab8 z4Cb(a<=0vf1twYHF{=m^(?UVM#{*CkK(rtSh|cj^u;Ena3&jnK#;OdP7n{d;cd?NS z?AnFxd0B3=p9&2U2bg^ZDO{}Z3|_?n zM;NSeLajE+aWgD|@B_V&6c-^ukTj!VDHAsIg60q)A($Uf*c;Q-Nc*++E2fL0lk*WE zEbKVKz)$F{fDA#9$d)a84@i8O!*$>Oy`rmro{BXHox|hk-b4J^0umfr3^6!wAR>J= zzLm_IJu#@kd&fv2Oqxqtq(??%lDZ^BI4r~vN6xpCBQjQTZ=5g-gV=Hd9VqZk1lkNO zM>u^_Fk%Qlz+`ZB5Y-WbCM8mYd=Dg_L7aJ-LKG*f{Yab`q6Q+^GNnt695LVIr4I!1 zmJ!DwnxZL0RmoU-Pu9LB4m?dE>h6#*XH1_qb;{(S#0%$-#gQdLntnJS)ghr&{t2!Vo~#c?vkiUkKO zC}M6RL5_f^BLerEK8zLkKzcp}fqCp-MXcu>QELL0mSbT8SoR~Z9T)(BIqQOa%1O{; zrc?g^JtzelY>Yv#0a6M72FT$+0y5xXI0QV5k)8!QG4UaQdzf*+6faGkCjU>_hBr;5 zbLn1skWC?!IAoMZjcKZ;Yo^V@5@9pO;tn$moWT-$l3w$($p12`KfJhZmmo zk%}c^@Qm=K22I)&8@g+*UoqlH1kenM`=HncD5^pCjBZhP*KNT6|Hs7qf8*+Kz}3@L z;#JL6^i{%@J6GmiiC(F?TzlCC0n7l_13Q32YCwzvKn$_YA7W5&jsJ6ths6m}p-UE~ zK#7u+tLBfz2gOf-Mh%)IaF;Ayib~$Nrbv}7O;xhRYS*bvw;Z|HniPrF%0q#_W~g<= zRUBW))9nA4&x*x(~_QnM;&v@adl3*;H-1b zyXcHn`t|5FsLy~Q!zPRxGj7(DX){L5TV}zc6_(UnZoM_uT4#gRO!ZOUxvLaeq-gTG zMV4A@iDe!$NyTWZ&2Y>i9iFd`IhI<9y9=qiV~*z7tvMEHj)R(0iJLxgce=?m7_>FC zEv{aSc)8YyVgXQj=3{NhhV_FRVo;uU?5xyd&!k7P_9V4bAJ8Rd@DXK^x!n04+r&VfCmCJcY{VUf8^_5(%)e4Nwg=9oIyYunl zq84-W04ugC;Fmdmn$1*u{&~*dvs}O6vUA^aI61V2uLf%x=xNplWszC$jz(Nq?9X3- z@Kg`p;7zrs)_9e{4Q+$wEvt4^5~v=n!2-bvzNX?G4-k(-8bxMwG3<&b&xV79l}IXWnsD^wo8Pq2W(e zpWDvx+tFE9NUg+-d5N)=)oVwysbamL#0t-HA3=TWWd}hEbf`ZWZT2D_tGA)N@^K zCj0|SfA@2)wO#0(FV5zSMHkw+n`$8o$I(td3PPXWD{Yhtgc7+ddRJ?i^^&%!c8u1s zUh#OIQEFyU7*V*A9!e&_=n8kfWS&i=<~BCgcRX;Op%<)|B-|79EUY5fy}P5pVM6mT z-CJVZ6@a>R18A*;H(`m8hH6-5Z|rV{2ly{h0-1wnq3LRGd0-@$|QmF9w6QWOca#XK$*$R2o$b( z#x-+q%Ww|pG6#m%D^F&s6#gx_*4zlT0B<^x*szT{hBz0FmBh<3aziW}VDR11z9vOJslu3liO3HDTed(Dvz>z8Lu1usSSUT9^ae*W+@j~GV_DVSn4gj#$|1L z9Rq`+I!+nm7Lq3uNfLuajHWb{(o&63Ajd{he^#5SG)3o(R()AB*AaX{ib+etjbTg2 zE!o?$n9BGh<}x*dI}R@F?B{nhtvLWH1B?hrl_|>ehZAQWFm`uM0IGa*Z^>2odiU>% zI1#eZk;Ik^S-K@rWkc7sD|4SbkZjvvQD}@pEXr1!aQiS5yt$43C2pQDnf2+mjo6fS zHx9;F15^$eAyIh4$P1(-u%-a=6wy9$EO8xLiWQ!X3YLTGj^mE6)GE z@>}`C!-)nG2DrO}OHBfIS8vX-lQ!cgGQIplTs4X(`|x6i&4opB(dt*mp%@Wj@PMYO z<1055mTO-v#KPW@_W8+lyZCTOWr;nKOr&fe4%&r+WzkZ6xz(?EYGAl+9S710tCd)_ zIkU|((;Zc`U|=}=w$^1t$>4AU5MF*1IDSsz&Zf`pirG%U+;m{=U;Dw-{9py@*Z+9v zQt3zRTyRvFmauHN>6k!stI?WVoBBZo?pHzbr$YWzx__^IUiM4*Y3_Lkkw>i| zn1QjHS9d9Yw7J?l%p$sZN36yPe+=eN!l$p<;_Gnu;Sv$w%o)pRq6o>CTzgAh6g!LP z`Obnf4}h(1cm9QiVDUz`q$dF`hvqORVM}p4b#JJw9V(i`puoVm+}gwzmTi6Zlo^v# zk))x^6xBh!yuQYktbpbLB_db8lfheI2K&+ywOm)Oc!T6*q1=f^U0?GP8PV^pO`7x-Ay>nD=PLeZO2tb?yBXI!`w|BVMXmAC zKBonLI_`>DY^f`BgcAXhGic|gU$JNj3qtLJVOazlBq};E=QtN^i`=$87}Blu4`(nz z2t(AJZ8|`Cbb)~u)T=>4ZR%m6UenI>mBS{qFUSk-`tKXc7r_I#-*A~VOtQ3)-@dZm z3>`2TgOhV~y826JjEUUdO5Ya!G7Q;48Z@EQ61noKbbV148b?23cimZs{(eMC?*E(u zWIZU@``OyjOYX4cPtH;nj#_1|^Y?tT{tst|%bt|%o!&Ql02l9>+M63TwC`M5z#@3J z>aB>gCg>NSs{u(BbpATLD9|V(B&w!svBp}?g~t(_5Ai_{S;@%wzdVY@mcv_Qh2|;U z?So7MEsi&ad2`6&0EXj87=c7f0K8TToWZ4-P>WYwuy=)?AVY}3no~xPN+__ZCZ@iI z0okA2$hxRs9ImpycyyP+E(?1vB_~k41U3P!q&%xoQVAxMC0vyKQpo;3tBlZ!6GAU& z3e5LvG^{&7#Nw9p@SR`sXl0>I&!lfYdvACSjv}yjTJ67@S!=FF$y%YRxv07n>#Q=? z`XBrmz8!?B-!$o@YBuMJe%F=)2_h6l__F{tuwkoef64FFE9+m9F9}&rLm%boD?GC`o}6 z#C(3IN%972Frwu)(%kc`!zplhAmflqWas8wi+$QYrYRYNqbw&h=SETrw6f?eKw!ta zyNp~Qov*Z?0sC6Xnd|5q4w+s56tb*W5(1R*0>8B7@(mhDf2Qy1)8` zem4~b_if6Iq4|T=4c9qP2Tut9xhG>s>wJ!J%-y>72RB2*-~6yph``7qScc}wMr-n* zvDko};-o~e$P zG3HO|5Cv&0+O1Z0CDa(s9tLTuk-FyRK!2%&`+&(AkQt*BqsCMYf~d7Uh=beq?i_qv0@J zL7%eA$m`#=b^EC@g{)(GZ|j#OGsTig7<-lYr9_b-lH_ZO`s-*AqcC%Bk3yYZ9aA&6 zW0rmC{)xjBnN(YUZ+7Pvh~IPtMmXn#bhAuf><#}QelJb)7E4IG3RsKuSYygpDXh-cur8C<(p>K(Wu$56MDXk!&Q|sCVBj=vrJ)jH4roCbOZ*1MKe~1xFi&Vx3|iczNSxX3{79 z@m8+fIoCRGpjoG8e%zZBnu(&Ddf+dGZV3&ob6WD*@}mj36U4Bwopb`LW6&@}Of@0y60O$Q3OHj+Pw-;aiV_qb4!js)T<$#$rzZuxl!g zh8ghGT1)iX$%JlZpF4p>SafdTd!`lPV~Yx>uK-^@e&69f%rSHu7n>mFYK z547@-?soA|g)zWTEA329*7sZ9X1I{UKdDJf+P9sy47RbBW#lgTuu4HxX&Lm~i1?`^ zk33A&(dlh6D8xFUbuTyv1)>%@j{gAu(9efi{ef2_-9o5Z7u?nG=P1l=xn2A%yk*{T zM`0iqW|DuL5coIPpvFQ(V zLS;h4b+I}y_EV@P;?XEg|H1az>=q{4LIH7f^p71lzzNOa8uHOOUziAk-6@j5Mm%|;Cb}&&zTXo1!D(^63|Ru9@li|l4@Qeo<@l%!F~7skBezaF zvG-`t*leCDpOv%6L>R13xr&FJ0}aihRDbby7HD(p%&UQ?CC<(x$}|-;4hhqQ)hu%$ zV83ubaPWb*Jsv|8VoebnitVcNq*{y9K=|idurjsQuCdn7=cmj<>&9Kt8i*IUP zQvP0D7405}X4)*GbL9`?SJjS1;~!Qy#+!Quu~obEDl%_$VR$-d2bOm#~JfE;tlm-Htez>C@U0RCKF6M=DXE~GI={7~i8D@(IA#U|Sd8dp{3zcdDh#A7zh@|0`wrF$z%_r|AO!z{Om$9kZx@zB;T zP1v)fbPc>>O<+mc^XM&K*fr>13imDb4wl`9x~69QI#L-u25pA>H%E_E{5p~mqQA8* zq4ZjA+5Sh_ZmlH#5uaXo1j$t-)9d={bhwOWCJ(^?8$5TFhEOoYW|h zNkMMlmovd4eI|?T$k|BHF^L8f`Z)Y-X#G+en`nIz#ELn_%*f)`zudT5k1en|0ZqKx z4miB#NblmHmHl<^kM)N7#bp<5sQ z(3-5+`3h|`V+tw*HHBeEk{e;9i5%>n8DsZu=8~f3&=)X%C=|YM9%?X)?8fX zb5X+i=XOah?sKiKMXNVjclNm%Hd!R7v)>*20*xS;Lw>=MrY`f*-=64$H~UQe&G*v` zFekZolnZNM6%`oWAdXT~yvYZP=)n}JULseTbl0rt74jx)J_eLI9Lk?>QJUi>wNKJx zmZ1Afv4t=wZL^haaUZn%<+TN!TE8~H28Y~(?#;IHbGWl-FNv{(^3Cq84lu#3?k%=5 zbogZPygc>w*z0OW=Ns?oKv6GdZYF8aBkz)yz`jhQ8i=4%?F0=(YTB2uCDQ+PqBW$= z%!BGr9gM!0h(`qGFcnT6W)dDDUiL8@pQ=rHZ)Dec=YQ+y-AG8u;_TD&%uP@afi*^FJSf&G={dFA!Dv$;8b^TQ?=|CRtZ&)#-sH# z8uR$5rzRs)F+hAO-cS%bl~;_*!WHwTV#mJ-G4wGX=4TYm&bG0s2CNd57ng@3OMa@^ z{+*xmgya8iPOeV70H$4_&gIUI@xYxMoEzXVp4q*7s|!BLgMV04BwoN4J9%ac#_1sa z_~FXtMVTLAv}T=ZH&uGzJ?4qrM4pO%7{^%8DzkgTJ_riiY)}~TL1C+qeT$`F-D2Ba z`&iS-cYoSUCU5@fF4>FJa9Y^x7S0b9@O_^|Wv#o*+HYFix9glPOLtCl$9l&z8?XCF zY;pgd^wqcjPro8(!F>I4%56*Un1yd*C==DDZ*dboIA%P$+80U`xAF|tI=QkV6Wfw% zznE5Ph$^VEgGbUK#89l4E@n5HAPYiu^#XX|s(sc1O_c&Z0CN#*&iB^yc9=8Qe5wG} zyY1U!#_A(dMBL|3_x7p#B+h>;1FE*X`TqG3hXKXA_PzC1U5Iy?zHF$<1;sRn%w~PR zTWBYjH3l>lVhWo8JHhNTj>(1Kmxx?er*Jjcamq4K-q28P`BVG8uNDd+0=-zP)h`aM z*mcd!nVI=aO{yN6F{5UvEU7_Vr-i$zt5@vUhZrpO=>T}$Zj(ad2`vdpJc_pC z-w6i%!fu`t%*Ex2t`~-H%DyqYAUKpV6P~7YFErqfgMU~CZ4E2PKv6Oc9Wgk!WdTeM z-f`ZK6T9lwQ-2(_7RvN?or95~JMfv|I4KkVtoz~}#2i;NC(#3M(eoyi#XJxZl^V#a za715oWkqbQx)y|2OFcghgRHDqH|Pe^c04KA+)xu&tM2XQEz~Ffc)L4cL!V~sX=TfB1VzW9!&VWV)?4VNjT+_CF;FyAA-$uaX zS|ZI^+}R zB%1rfcTt&oseUh2mFlfiRuCy!*a#sT|GX!M@%_Hwk}Elx%hFQbd;dr>P?}slH2s|a zInnz0X}|JkxudWgHAAT zvvOH<%Yh<#q0!&y4+gqhr0+G+%mE7v`Jpru%lJ$ks~$#!y!7{}#*8YpDkDlY zzE3aIa&Ry&z+l>}ogL!0`DSjAlkti9v1@(pQUPLL?X=w8Yl{tgHUx_IKB1 zVn9@hR_Z~0$geTw17*_MH1NRll#@d@SL%Px?2=qqyMA1ui(^j1&fhi~HvYBK@D?{v zJAH7*Qhoo~-1+wfB2kaJGN-xDZ4%I!Qg>|ISz(3NnqrsM#hf??T;0Tp>s0-8NIMia zorNr&&M7{ksM(Y^+kM>b49#9mnYDATh#2aAvz1~Zo#)us2QPh6{M1_t=JXxdw~w83 zQp-~04am*(`8t|M2yuONp>b&C?nq5zSs4#KvU|ge-J)TxkUK2e9gUp-(xqD3mG=b= zyeNNRLh$)j372rTBk)-7#(4+K{Fa0U@&5+2pr(pndd!?An_GWA1s#h@A&?5Xyzb)o zM>w@k$t@IWw^Uj$2J#E2_FQ;A6Nl}(u`T{IUuNd9$#-AFve9&&U9OkhW<0&wN1{&0 z#!4J)!8BI2K^^jXpf|_}kGCwyqdaA)SWhYa*~t~@A15Xxew_YGJ#S)T#n-{Yz9tEX z_40o$J-lN^NvH^sxf_N0ah+k?DUoauomp(R%a8J32gudJ^?yG(&L&_JbK`Qw1tdO+ z@J)JL)@@YLqLumKLh*m}g26NJmnTSUP}FVQJ**hI?s;6qEz+uH?1s(U)x@ag_uQL2 zn~cR5pkXK#CihUcDQV)0U~7Ck;)6d4oSS?Bpz{`1D*=;|JY6_e9(Y9yYzVrBmy_5d zTmh&%fK{WBXf^iR9TsR=dT2QeJA8L3!^J>_=)6Z_ZeUw!_S1VrUe;7^E3!b+e2*Grd*%1#BmmG&sg z{iZ)LIepWQao4Yq-sH~RaxxEG%3f-~ugglwT8Fn|H*oRTe6s}FWhRowzv*EsCLxvo zGi}+W_L<)=p?a1kZ|l$b@cq0s&nq(n{Ua&|^&{H;7&tQjh*zN}T1bCURk0IwYRRSD z*U2&}`Khj*+glfU|7oGV%gtHcJa9`^*BRMckQvFy^RdS?6x>Poiyh(o%(!UXJv=$w zvHsTnBKIxAvtxXB=fA=DftQs6F`}xRVlgU`$9V3bW zMl^8(RWYZZvTs8}Ty;8SSVhl!)6Y5<3oMZO@Bvz0%<*Efo?-vNz`rR;1RmSL?_Y`F z7eWxy4*!vZaHF6d`R%Dlo#*S(j&3j z47&u79j*nbrG$cZ#09CPgn|JC45cfzlu|*!T)I+A3FWMNxB8;n1Zc|mti?l9BYvd6 z9;W%R{zjPQC;IF98~U4JnxE=#g=zgWey+cvzoowurs+k&8Tr$Flm9ZCImE5Zf8qZ9 zdJF>z{yTleR4niHtKhl*>a7^wN-X+)guLjR=uF9Qxot5IOSk57>`5<#(;KfSkupur z;I_<+Z<^f9WE(KC&8aJN)I4iSReVM2kGM)Z?=SEOEqpCYRD7%Ps`q$mSaUMuL zkWT-)8}O*z_%Gd2)yz@d%*oQvx!W@(UgBW9j-5PWxEn#oHkFQqJg%yPG$A_%9(ivT z_==iGF38ik_*!c&X8g$gfKj9?fgiaaz=l#L|Ac*CCPInvh{4@n9u!LPvBQtt57?e0 zNV8CCDuZbMvL|~qC&s%cqbhLXy}Njn%12RpP?V%<8^)cYBMlfFlSNZ%G(BzF0GS#Ep)EG&?N|SQ>4l9g7MY?v z&ly=E)?+k53;rEj*5NlPOs?uoMXNN?KEf1DTGr3KqP`jnWR7t$H zVDt^)0}UReApIa{mC>8gB{OD%K~JD7y%j2m#j5dyCCNglstVM&sz8!6zf2}c73BT6 zn)y(?LgmRSqCLt`G>)=U0P0DpoGbELz$KP!E0FV`nH9u){1S|3LHr9Pq^v)qc1>$w z@~hU^rmDI}WRLZU%zv(jo~ZaTmak*MJDm`HbaMJHDt_VQV<-4T$rn!0wo9^$w-LEnssgB{hX5igxr?vd512rK=LF1z?r8r^`xb`>a|4*Hwl%0PPhz!-7hir zy*_E7r62e~ba18@B6Vm-#=v=9x>|V>_bT|HR!)bIc@~uB&GDj*9RNA~4k=PBm)xRG z?7*+^&jljLdBU!)MvE}fNM-+NVPd+L^S!oV#t}s9&@d|c3mUWro|$Y#WDKjF5LQTe zsge%~iDE4DV0~zCja@o{f>30`T)2QNlxYfp&WQD6ao>|g$Q#E2g8K+y$nW`llKYey zPW9U`5^m%>@eEQo;#r&7(q%A+-&N#IHnmoX9k4$fIXKQnW)q_gGqY^8^ujj+5(FJ1 z8@Z2_QTG`0{mMxHV7`m->VZ-8H!bE0?Y{l;d+8%?7hRZ`ncE3$&D}}AR z0>C49LE@%fw;-*G_x)alSasB7GF@asyFuwAv$Fow*3^T?AD}q4aIQ57Xy`NywG)rR20c%G>0jKeCX620H z4Pptu8$*n;bXqF`^slR?kr+F`$c^LR>*gHWB}_Q5S_=b@4;VRRl*RpDn4es5AJ?KD znAj%FC0iP<1SUeHp zNi)o%VXB@ju)mu+K5nhMYO zE+_!ZVN{H{d*e2(vK4uIdlE;m4+Pzw*pDV;>xqAxP%F10nfc13jACOco!(Rs8a8{6VEbe*Q?>WDA?GI(xH7|Z3Wk3p=*RTKb)TAX`mLyPHuY3 zW9cjc5^kkf_1RJHOdZ`FV}Z5wBpoE3p6jUufa%I`jCa;6**C`3sSbT3rG^M*WvQq z|HW+1HG`^2 z24a+U%ol~w)jW}o73ys$lO=fsfwGq@9B2`sqR*frUf05x=v813<5Um9oPEWIuG~4f zb|kcJT#?xtgGuVcIEN?mq}NLm9=Jt^TXmyDH#&syPO_%pSe)~O62^@V0V!AqM+^WG z@m3MLiIX_yoio6CS0)*KghqVhL~EyA>ZK)W<7A`t7E@_mS+uP(P2IR#kOpYkHLP1^ zf^je?NzWNwJr7{^{37N!Hjz%Og)L{!X>NVOLOj(h^eV>{2#h@pYphQHq#Li1+;o@2zPRy;4;r6(wq z`%!fEOM_a@Hq)w0EOGx>Iw*V3>+Fyud&)g!aIbvAlM}gPx9*bi@O)P6J(e<#TJuT& zOVRL9@0W}};ftry-H^OmyD%cfo2`w0{J)R90{GT%;gcd6KOqhykPkd5D>*rUaI0y* zh*h*Y>3b(V?$w3fxpy(^7Y?9$-t+^96;>NiELst%$x@ajc+3f63IGSxeybpe?O;}~ z5E2x%&)&p_ej-X9YCxHM@zM6Fsm`BH*PST?G2zV*nV42oTTs1sB=KLyp}>yE7t@3jgKdfks=yB3ZML2}va;3J^Xi ze;~;m;+yic->_IKnIRo>qID;tz|%ueuo6zUBwSGKa-r(ouub_!v)DixMQ%V!#zjRHecxvaUAs*l)qYau)^_n{HkS_={hP zinZ7i{L^^b5HA=0iwwO%{7dF&toJcBLjrW>%=x1EpAESU1;A2*Kx;WpTTaLhxb0xo z%!Ny^x^K71p8UoOp9oCSe9CNK#N0`+#meWLxuMpL>;aen&Sw*Drva8_`aJP=JU3{j z3KE-$dM7|y2yWo%f;I@KbG=&XDZfa)#`zdhs&Cu9%8S*~PfVlt0txzo)~z+7sf3i3 zUqIR>U7XoTvc#?lJl}>~J*#VD&!X0Q7bI+TLXDUBLEMfCM|ZK~wF9t|i<6j!Vj(#E zopOTllxoKMW5~vCzPlQmL`FSzaJ)K=Sk$a!J<3%C)DGu&Bu#PP#GJd=$WwXnQcS%F=E)>*yyP&>PzJ<807pXt(!(v=ou8@FY$!`jOg3Kpj%7zoX()b8Qkb1z7O zHNDjm*FqwNxBNBb~sUVV}Q>_A~r75M{=uJFoGpu8vLR!*y#{zmzPj($a zGDT!P0gG9W5LR;>;ZBOLlNz&t2PL4rzE)?}@yFA-0p{{ahJjZ2d3djGbz07d^Hix0 zaVbJuA9g)8v%i*ch}Uo^s_EL`7s#B4bjTUg-+Ueh40CgX-&W?OR_hTfo({fpgMLn7 zO2@_~E?&dMrjo&~7%XP(y1Hu&ee`yXk6gz!@b-sv z&X}=;?M-*5pa*c{-)?D0IfYMy~4cmMC z{#P`vtat4g%%L*R{j>uY+ ze;sU)AqZpW;!gu+easBNGQO4yC1er|Z&-4=a;@64Ytu`R8o`Qn#iGTbwS;HHJmMZv zYRSmlwrAVR>fI!&RPRpX`ph}bF?sZaI-eo7SHy+oj$SvMU|A&Bp z%HMec`48aIlD$J*`M8aB|MTDWEh>e9HW)yFe_Z-@s%DaZ4EhY2pNhv*5Xla&rxXsf z1jOQ~(x_YmSHwZ|3De`CqA8<=qaxyi7mQIRA&Zm?6e~@4z@VlSn+|sJgOQP-q=!o( zijGHQiB^ncDW5tUEXu?J~L?wCfab3^?B(ARdpm zm~s&iKs!kA_u&xGDhm#k9003vmlZ_GvkFGcjS9}*T!q0umlNJAXAMX#flU&5iV1SX*i|ZYDaV=4m$Chk}F?(0r&Cp<|<4@moB|A@S**3CzT@mR;cox`|K zfzH$j{`NS@-S77I^jV5m-qa7{?=Nj|%fY52ZU2oo);vwd-#UF?m;1CI7tZz%$nNN9 z`|NCb@6KbCt!?LtdQupF*2jMF=QeHUKGo-`HUixs5H%6;L=e;u;Y0)?URCeo9rq3g zj$Clb71un)hNpRkXL)XH=j&^))AwmTI3Yp%W+dYzBrN(uVPOGWnX`5sBt{Vbzy|n; z3`NE27;0EAcwL2CI^XW z41-u3>zhZ!+ozP^ZdDa+AZ)3Eacl~39)zL>chbl}9UYt(WdHyF=Oi662ICHZUo%q^ zLQ*>;GbAaM8ItT-5-Qt+L9*tITzeeLWl>r}wF^y-Kf_K_FWA<=IgGZz^E)Q+G}Cw) z)=R7f^%1Z2-V5frIC!c&4+Y$+Dm2XS%+s+B1Kp z_iX)Wm($&7IfsK3sJhEzfAaT9md@JvfIMkCJpv3F2ImHzNQ8FNxu!tpv9Wa~QHqf~ z|KB~o4LDhA1vqfP5>BqbtDi$+N3s!|0{9Prfq8}+PfhRv4cm6+w+e+;qV31V&U?_t zQnXRjVXVSE!s(#0$+r14DHc^D-y$!;7?cO=XV&1<8Pd$aCWN@Uved%-uenLHQV5yx zIvv_=SZb6y_phfqwSPDNOSLlP`=3pYpMFO5~X;J>&S?|jSNOitPywKOqw?o;7L9~pa|dqUHPSmlX zYWIOgY+-te;jOz1#kuU;4MNXBJT0*t&w(7yDz@P`4zb?OHV^E|ksPS}jBoCrvWkN^_|qH03|K!}y>0_RoE9Sa%47hW z0MdeDpl>7N;`YckNnBJ5zUZEm^c+J`{d;DiZu0o_{Lh{IDtR8}II`c-$93?B~Kpx+*~lN>G9ll%NC% zTZk5cuN);>j5svV(8iiW!sQ!V0RfsIs#U)ef#M_#cYz|o*CG&)G_g(2K1b{vBc|6_(m>i(+{~rM~2CXjxz5qSqL5d|Ctk~L`EC(q&Y&clPF*{pM*l~_M z4qRW3_-yqHMbV-f*07G$5;1qy=`8g`&2!9x++blE-DFW}*6kMYI7ct7`evJ@ zp`8xPJXf++$+f=J-B^>0VaNk%ZM?-6Jp$yl-UtLi3O=K z5Ul~GgD@w`j>f<_CU{XKKa^=p%Y^#f#RPTH8_2UrekL~I7?wyB3hb8-YiaUZ`=fP;!(1! zvvqaaz-8ax&gJ7qUVom&5A6%?hX7M(Ww1H22o%Yh3Y#?sx8+QZ#8VD*k314nxvdv? z5Y|z|B=#&RiThvVjz3vgYl0r}75#QP+DVVE{CP`aVE? z3xKK>_`mg||Kt9L1N{33{(YrE0DL^Ks3`!bi0qO#uYh3S0zk z12blUtWj99>MZJ58ZA%uA|9i!1{=Ya}jN=ro~IfKCUxP{0)f zu6zO9ELgIj2l3(4XA#%!y@kf*dPtqP3}WP^i~f4RCF6WrL+Tlvu~ZMll3Bn-6aIQ2 zmyD;MAw6~$mAh5&ef&UHsE;@D^&0IN%0sY4Kf1mO7JmkccN<>Km+Z>VB$hbNS_xNF zMEmQ3@)46FeJxy48l7V{vPSstfWu_TKDCLY@^E=!`I$wjh%<@$3P-t|Pdjtdl`uC| zc}2wuJsl;>f%6;e;zg!LdXbSu9>_6E5={hDyzXNmZt^pWY?R}GTS-1DJ>2XR7a?|{ zSr6VCCp~uPanb5xvIwGM0v~XO3df0->aPd!l6}SHX{iF*^W_hSB*L&@QjN?383mLT zAPd336u{^&fX0WQyaU+$ABaIc4ktM&g_u|y9bq*S^}{&iq{(5JDzRCO%%`y<1MZ*!jQO65Z$47mRG%SwJ2?PNo;4d zlWPsi7Hzd%{ECz|G7eJR#6jt#*GeZ^NUg;*iFB%~fAw{g2oo5=X&}VJ5lXC-inQ%3 zW28uo7E7LsAW*_+t=e-**R6Isty{g7N16hf=mExT-J(*|NSbnfd8t~I&Ksn+Q4l4S zS*6Rl-$-s5xZ{KL<=j_g(!e7e`$EZQjNVxfi1rPR)Jl4?VDuFiz;g(pf` z9w@D4y_R&GXeZY?(Q_`(%e^+pB1LJXqN0aNuF)&y%t+?h-@T`DT~hh%g58WsgqxPG z113kWM4oIzAlaWU2;>;+HF&#@@X}$!UilNbK$_L#rx9y>Y?uiH4yQA4Ss0Q*j6L3P z002HekC4csqxGcmA->8YgRFgC62z1*fswL5Q(#i-LG!1~ZqMJ-H$qmK8Bp(0vw(({ z#2Zgo351y7EU!-9<2^p*yF}fQ%Gj(Err+4l&lSg zYh?TTnO(%%VPb*PuDKhAVr^CF$dMQ}W(U1BS{vBXHb$(%tC34R+r`8f-iP}&*0C&i z+6w6wf&YZ9-7uFFKDRh0&L7>w2ElEQ(+B*6&N$F2Vk)k9zz#PRGj~#t2noTf1Dby>4I&4Qd1>eT<{%PB0rExxLRAD!uVX9ZId_j!LTQ zmV{ky--(*LoWpmf%C~n7k4!Mv=SyDy%uw1#YnO-iM&EX}IzDEgZ$sws(~hyZltzo5 zA$}VSTvk%bwf1>|gdUGW{X@o>^XwR_N`W$9K){kEPFhlkxwsg|5GB3}Df4H1BQAh* z4ko|D!85ggF1e^=aMTUr3OJC2BiL3OuSy6p$C161d44F^Qw39mf~fEDs>_p5x$Y9- znd8x^N>*s#M-ssU$^K2)rVrjrPdWq*j0-z0V(}+wT3`v?l-)4(PF`kfo*qKMUN&)+ z4zQ}U@@TG{A7z_!U!ZNsuvt@|J|vqZ1w4~49q&`;IeRW(JF`>hPiD!vpmNWD|5@dJ zimOxVEMCl^xP6L9%MSAcGcOzFmw@{ueRj<$=+%era**sYg^lOesoBxS$}g;ymO3y{ zAp0zES805TT)AXcet#;s*U;sQC-%Xq#Zbr&u~!(O*Tcpe|)oXL`3y3#N96udj>igr%DyLQ6f z>gP&&=GxJd-jU-|ox#;C5hZw<`NdSi^Mnj@OjD{nC=EERi9zwSl|>v!a)~oIwMTVRqUgEfV6`+Gj4_d3vKrg6nl;*jVI*O9gq+?d^=Q#Oc@)f6ol$m7 zv&M-jX73eEJQ^K;6``#BVW zePrl&W4OfkDT08;`*?SEFYk#aGNnx?pOJ_#7(pwl`?lb^u+jtEm>FSfr1leiF2_A6 z-fYKQ(mCNtk#^%9eThV_88LfuY!ldFXqPurz6i_elkd^8>~+XX%{@}Gd5frLOJ&~% zjc$Ry&oV`|0k$(qfu#0VypxlW{#Kt862!cijuEoD96c|;#-2{Z&xadf8LmHe=IzxJ z@3lv6z$CZSYfN2-bF&F|DVIXUj;UamBSEauVF^)&{DSRACU>YLK@_Fg-2~*`W2GG9 z8Cw%Ez}a!u=<5R3A`Y_xzr#Ck%i0s}ol408V#WpKb?)54NTXnj&^M@4%T=Gx0dHa^ zj8CA2oc!NF-tlycy{Mi9zX0G0wWHT)&)nN6+$sL96SVI|Wf8C>?WvQV<4HHyUiY<= zz5W*<*qZ~UyXnRgM#4y41FO+etI+2+%ln(tCcbQlpY`6HbN0p=@lu0GA6G_M(-XaF zrF=WPUPl=YyYt#+i8PZRR$O2bg4={$%Qf5`6kejrFG%4AtJc#A7XSNZ%Q7IJ6e2Dq z{nB%Vc>8pFABojGaYQO+(*5^eyoXUweV1>avyA@r1xZe(?wg}vXR^a|Lf1&RTw16Z zOQ~53$o06!GDgG`157w{N`qv`#D_$ILtN{u(yQ#=W-tb?WwVH&1%sR(SV#1>X<6?p zIT1fLA*uuFFO<{oW!INxO;2#=;io)jf|~4&qmJ2~>VNpdDBj-v%P5)`Mq%TBow>83 z+J4d%qrIIojV>SiRcNec<7K7XMC)~#m1On2z&)U5JYc`(N&JMc?ZmOEOvv%QOB`Ym zJA3vpT$PyfxVmW@d7vY#4!TBQV;LG*2_z9y-l$i(84F`@(slI25$Keq@ z6T=6k(kj)ia|X&#s(;06WNss-cB#WTZNd|JcT0~m_%M@ZcN@64EqA$S1Fy>(H5`+9 zO=rKymqVsQ6HwK;OiQn@Eddv+sCIGO3DEjmyYL1$e(5A$^GK^Vq@^74+2Lm6nq3cc zrQDmqA)*fItW+PWFeL>Tc1cr#^*m3RY;U%lpUV>O+#qpc!s*~s?kD=94d!9FNtT&w z{17a+RuvxSoXr>qdoKHN&!w-juloOg*F%q6x_d+n^yZaL{JLLg;L1x~@Lrg@{L~au zSE!meb%nnxRQAYqS-Kp>1PVWNZFzT(m(rAEu!B42Y|M)CRfWk=dL3Hdv+VJT%ywdX z?esXkl5#g=#G0^0z>v+#+)c^j?iA1NYb@DqKIS*bviKw0_0N$$dbgm<4AZ@Ezj|2R-JB+Z*49$ zzO*ZE6#Sv<%IlCX6xAdf^IeZL zf4vrh{%F;PQlP^ulGDu?o)!_-uZS%zk<0h)0G7oQ;?a_v=&c!vl{4dRG)FAg$qHq1 zU61~=xXhmD2^bcI?qd78q@G($|JrXqQ5UPgvZ(~M0T)y%3D{6h*!ctnbz1_0`(Az$ zxkgefmTP6q`k7VY&2@TRV=6|r=+&ho0xPEz)CO!oslo+ShEjq=T#~QUVXLInXsS3( zuVU+o&1UmkQAz1#p++YLew`$a)$~|HyQN3MM~cuh`C7us@YMxZHJhA*|F^0H?qvmQ zjTISd7b0nS?}}dFc_LvO;0dolLPKfSIAI+At{hYZUs2taSxh$b3dwYP9w#ArNd3LS(W4Ci+r3Qw2_2~ktxnQIi!_v-;SaDftz+tpNG z#puh0e&^a1^~u|EVN)HlCB(~`HH8=rEURw8o}?`bOAC@3kxHv^X=a_MoJO5~R=n(n z!r=3V?Zf#uMrN{r*h|M6ic90+8LO{oZ*3<@JTEHM=maN6!XvE|uy+BUZq@x#pIlo(Wi+#hm|{Su4@ymG0j z3h=$zVWuOEIxB*e@>!**j*I2gi9$~c*#ZI!%OVIo?=>pG{k<1Y9Pho<&vzi!5%fno zv60-9El9mIQaZ0x8qp(LPUc2Bu}28{bq<8iJoaM6l9Az~OU|x%aj(v-uPB{gqOUMJ zzqEPA#~OsAv@MfQ9{GA5FD4~Hsw;!wqE!k3m#YP*(htGCjT*`MKdh+!{o!D^F z$wH(?6e(?Cq*$N)?JkyR`I7Fc>Bf$^>uHmIOUL_glZqy{O^(2>Uv~vAwP1TQ_7@9n zJ#cArdBK)odSO@Y$}c(o(~|hN4Jru7T=np_3TdLNZNu%sDZ&?<2ZJF=a|jv)=e2-| zq-C`uN#bqOwT|zso&oG;Y-sD8OVi13+Q;{ermLu-f%QSQx(v0n*o#^QSQ^l;=)QdH z7_Dx36#wUS&dlg66-JCk;TOY(7Im)iq}o_pD5Ty;?Xu*Km|!YU$(jml^3EDvZdF;8 zq-a*~!Zt5tn}mFF?mf>&Jq6S}>g%l7ZmiR!4(6>}lIDzt{ax}?EqHM0VnwUN-B3#9 z%ir**f3C2At25kDOQRyda@FL0l>69ui64Y>@=?0*w|mST-SoUF?6T0wsLvVx6kdMDu79y z@s;TOIm>rwKYQL5jGNEL`Lyb4yoyr**?8smO6$lC$#dserCI_K{U@bY&y1$!uH5Hi zf)&$<8Y3>GvN4vJn@W6>XTJ%!%pP{>`8gZUHDGXbTV5U7$ra#zT2&=ZS}XrBnv?z* z6ZKE?r|+ZbL%%!zh_`(6P3w;)6Ai4Kj?xIQ7P_Ip^D(GU?NpG_+N-`?iNu$C6|E&J z)XqZC#|0h(9c$4Ds!)os>{XzY{Wv!Eu}aE%6&)v9Pfw$55Q)~&(&!sIDI?8Ecs^Ft zJd~#Kmj8$gIVQSWw&nqtm5$DanJ98e@aI2TBZYX+KP{J%Kl1UPy``*E2^hC+n8ft? ztY=LckI0^gjiM*dK3roe%FrivZ(HdO0DE0BR4DJwS8LDwQHlj{yGO4zH@lm;`Uq-! zeH(U%y0Vh2RFx5A8e}QIy;=_3_lg*!tKA1WvohlAK_I-;YSWX(7eT_d9%)tuU2DM$ zn^mKzO!PW*CJK`(OO&O?*Zs6exCkoyGxl)|`d7>!OO@$oZdx+`3PxEj@~3{G5dcAw zgIQTy^^<;!~)#KLcC=$rk=dxbUGKOGadi&4zaW(Y;cQU85z0!7uR#qJL3 z#L@OCgy>ne);P1r7f)fusSReozW5&df9kZH_tIe8eiRbb&rOUuKNN)ije#M5F8u!L zIM+jpk>@aG20c%Y)1U>euI=`jrF?lBqms%R9FEb}NE!;@gnWn5%AbF3(JS6+29|tJ zo9G@DS}@DRZMO0~@q2EsqBg%>RjryKz{-6uzS~w&hAnIM-WnyU*qw5Zt$evRR`-hh z_a5H!QwD#Nzcvw!{c<0j3qSmiXkgZ4Mr^y!?`xN5Op*hle-6XBbf5f;|Du>Q|CfZ1 zFg_cWB`(`Q#e78lGMgm6=r?8j=GKtCAF{ExjqKT*sg+;GDv!`Achux9cn7x0xhk zzXQhR2J<#)>?{5xvLkrZ!|yGSW2cONLm5J2ZEAnMo=X0q-wCaeVNm1P`gK|y>QM@T zaqgqpAE4(~m}d99X$>w!%xGPIzZqQEmx>||hsevgiL5+l^lQu4Q9dnG)xdChne*)h z%q|8mtGJ`9z@B5!J`X7)D7E+!o}4#BfK@MfbB9`5m>wrJplgPvs{92MHazw>i zpFMto#eX}B2Mk{bY=b5tzSCTI3My%BNl3N>nxssJOJngS-3x+@_?ra;Z(XE1xh@b< z1IszTIb2Uo;46JKnZ8<^x2`3S77aL>37u1?z2KQk$Xma<^7fe_Meuar=}_yDrv7bB zplwY{k2JN0l)q@+pW6=>=hzBd{Fv(4>~b_IFwT6QzC(!<+2xdHEO1_lq4Go zow~*g?^+)g;P`G4E#cU25I5oTz!*IBmC_1x05XqYVp9ewY|~H5^f%#TQ|Y)k|F?>_ zKL|!`z{528&+SwTuI%6OBXstvw3N|XfmCf(TK&rAH-VQ%>&r0*=f6k?r5qMhTJbTB zp$sdQSLUmAxN3z2Stiifa7?M4-xZuGFW*`r{k()vcd!rNetzqlVqy1oky@jYsb-z1 z3|?LnddHiusae%XY9UwK_~x@EvOaUK(q`lp66zXKRS=}6|9{$l3@aGwHU8O@HQUFQ zvFDr_O^^&q2e0lGSw=d`J70{@z@8wt(8E&K-GMK3 zzg!=nuuWa!vF^(WbW1dIqUrjy0HY1#^e(Ga80y-*nyyS7@JjcFacGa7* z6Q^T^zqdhWWiElh-tE!mx>Ud2b%|9=sM(*Mc2r(GqMD&5g+yPy-g z$vc<V?;941@l$`%2(D?Lc)pf zmK~J9ktcEhIhUc3YZ-cA%GFQQM?f*a5R<^1=J8Fs7J5i+Fw60k{1*#a^o%0=ZdXei zkv_!cTQp;cft+M$9}>PDnw+!KSH7S@tBcRbE#P7mEu=CEsklvFBn$~qq@U&TpGhde zP{J3RaMW6h$_cxHEKueE4D?J;)&O*E?%^!Z>_fTDoXrMh9qPCi4WU;Bw*XIskr6@1 zWfcvui}Rx_L_=W&6hKuN0EGt-H=_zEXn=lmJ*8)SoNm*l4*GL zik1Fc_cXm;m;zcN%go&I_mo&myt2-=%@fpWs_aG??g{!=V37T|RGvnM&y$+Yfz-l}!7zM5?-wne-Incw z++BzNURnmYyBa5cpqhK-?8=9>uK)=vGd;ZhZQ#5|zTf7Z(3&zmZn-?T&e8G1MT1Fb z|7o)`ZhM3Mpgnj`zol#ci!{YlgO>Xn*Bk7H>}u&Rc=|6VA^|ut#P%+I8VWx0E~nw9 zul%g`6<_w5>f>!Vyl2kyNSKaCf}{ZzLNGIExpl@49YwiK#L5JYhrcwLhjG#jLy9UI{z6o^DP3l0IEP2 zy@RD9t8~dX&?T0iY`)UW6AufecQ=|rYwUIWP;7@!i-yhDKUCp=!js`Q;eYur{W_p& z5dJ4TnbAIMY-zkYFi7FaYydQ#nTO#*suqJ3o@5L4CU#>~tFl3aCo>tSl7rc>gm{vi zUMC!cC1Eyf7B&YHL7xX1?+K)igfvQ`V>WCy?jAVo9(E78>o9N>?}|D0Q4(XzKFm%x zODsdI8t2?twYEx#LoIhJ)FX*SIkflJ;(c2)^}$q+c4QxVtRwr#qaO2kNA|HNI^s|E zsmDCwmmRs!zIcEA|Mx1YztyCAjWSl zc~kvO0vFP(+wq!xb)sGnuOR3t%^dmgdU2j0+Y@okFy4iT_3j{|2tS`3;>n;-GY zky%<;gKL$$tn#U@9*qdd1yybkCkUV{LY0g55<*VeFH_Z7c!{WT zDHekk%)PDH-|&dk@U%5l{{oWc@?ub&cJ2wO;d~7tKW~Q`&es4b>5y!?XKA5AYB-^U z5Dy0-H9SCDB2W&a(^l7{>l@@Z6Tys|rZUzv4CQkun;$XRp^UzLYHSFtwzkJcXHYvY z&w3rJ^mn+{QdjOZaQ~+)#W`=!7jyy7{|2vr{SAf>0nFzIbby_d0_Xrc8(s=}D{J)i zj53`mWsaC;jK}YHV#|het1y|beJc7C z+Mo6Y^Xglbzo$4!qC8$jzpYHEhGZU{Aymh7-iCTu9K#xR@)M9PNE^$SBa z)ATjkj#U!ZFO*fIvCgG(?9?#+KUPqcn;C(z71;(2R9g zp6nw&{LIaMvg=B$@0vxEzh@|w0Z8&Xr8dZVNlBJ?!2oK>BP6us)RtF>Kmh249j!@x z;Y<14z5adot+4k_VxEfe!Xl9f-QZ0+xv*W(!9Jp(ef^DnV=CI@H-fEwZ&bEF`T4)C z=UaH(aWDJJx13E2=|03nQ%j@=3C|RVV-h5eDHfynR6lTTEIVzd>B)==JQgaGuU=A` zrN&<)SOV~SMuuHd$nyZ>sm^T#c7TlJKsP`)vzqujGZ;Xvw1>dxOew}afC$1sR@fpZ z?2ub?wZ(0vA74nXwIH|ic6w{fGYHvWCmFU~Dm^?sFp!?5b1!*AWw@lU8s@C@K{A$h zBDt<(a(_?kyO)OpdpwdJ(t4q0e(`456CSz(CBpj10E4`@} z7J>kPNzsBuvDsmg3KvLom9DW~PbBUM)9aM_$A%5dJVvzO)>;S=51fymX$tMcnR^*9 zf!M!jF!QB&ABM<62~XWnL1uq4sy`5G#r}O=hEFgZ{2E##dF+(|g^9U;5ALXv)E1V4 zCY|VY10ms=*vjZNVabA{7-*b20kP=zFjEBUuMPepuLK>E6)sW2$G8i}rDkTLpOUD~S7+L$&y}_8223ado6GSrAr6~F54Z}P z1MN1sGmIxdpk_vvDOiY!ce$hUtt?2na_O3EGGzDEs=A?NbqVFt`B_QXXDoni+JkKC zKBj7x@vSNAFGQb}fit;kCd03sc)C*@M%W&!>cO#q69w%-hGg2oL~7Kj^=(eGikt9GV}dEL95aa)VFAmD zV6IP)Sn#=Ov?pBNmKK`gLMSk)6f1l7C8`%`T`{CnqGssU2VXWmRQIRXYSlLClQ_k$ ze%G_0p{W6xnNPPOzVlphv(*?M*yAX5FBh_+XYfT1b!%&z?_zBTt$5$82uM))vS1USxh1 zJ{lE}x!v#ub?oN--ey@WO{>>tvcXa#ZqN%XKhOt_2wdfHARHJVE`k5c+(Q?s1keyy6+3p%fOwX!b%vKaPrF&(L+I7B!> z$JiR0+mXwa(<^qcO>T6q3fEVOfPGO4_U*cI{W#d@9lJ|zcp%-mhs4eG-N%Zg_d7jw zbYexi{|IS&Ex`kQBsI%c?6wDzK>n%NeauSG@)?LL!Efam00{lQOI%-B0l?axt?IggQJ?iKas_ow0PyDi z_fj8oR$B&Dp$c4d&h}zm*^^umjj?NB1C@-)3-H+G*W<6{=GiLb^d zKJC8yz%*+)xZ0YwB}C8bW?;>VWN@gb^4H5j>Co%>hj-G;B@a;O#Ff8nKQKYU86N|_ zUue!f2rs?qEf-mCT199PDSzr5m*qttc zjmsPB>}9SkFjcqk(@1AKdD3(*y%D(+Z3u0vy#wq;<(uHvjWurhEI4xO>{RQ;Ne}pq zk-TmZVKOSpl9Ij)BmV5KLH5LO3rvDj063s;O0Xc2&`6%y%=OGxuGhLk8D%lduGEHB)PMniNc7z1&3HUk20& z0#<2K1_dk7v5#r~=>d-CL)3`u5HjXR<)2hx;G&z|@O>AK#6zFzq=L49yhM*vB)H}vO4O*IA7$KRQ?rOq-9u?s_}3|U7-(0S zB7|_r{V9uz(Vnz0I|bw>bkM=^aPzEXUItudnehZ9@QyKCPA`d4+&HYTdFaSJ@6VfE z=mTF=C`y@pz2FAS0$8KzCKJNgEk;-b8=reQbP)GLvh#MQbB291-5eQ*6=l{A_c}<- zBdAna-vYuG=EMzmoGGO|7?ax2c-n{J=u~vLM-S> z#33<_DA$F{?h9&b^D6am(8vT^i^PCXdILU#;cC7dy=_Z2|DW}-OOgu{j?jQi17mL3X2PF#XN!00_ zJ%h{8c7pV3<8Z3$Lf(19ZaA&ey zYb1)9__i2pM}(pxt`3Y-!sEgP1ziB+*b91-YYkOPl|*W` zkRqMuY>A_qt4b*PWOm_U6aZ#SZMnvFMTIN-vrX@8_RQkXN%RwBJ{NULR3f}V2&)A) zF^$N!_$nCD_4OtZQaFVcsGD;hGuDVZUZ}*qb%8!`_s& z(5DjNJEm(>(4AGoKS5gXlP%=_?h^JEPVhCeRi?s4alZU=CG4%g;11u~w(Ly>s1lsI zZ1Mf!Jny4&$A8EuBgfre%a*@GgV@0b006BjJ(!$7jA-0Om(52ji;oaFQTrWz6bEbi_Vp$jrHcIo&S30c-{n8VzUn*;rp4d}!9*vVCgnID18E4B zKLmOJiEyvv_^@5AM(QL9>}Rx(j`B`k`;ebXLM^CKD+p+7YyC(Ln1wd_d+kZ}>)hIArehP6sx?w0ARrzyGj~8itRL?e|!H20s_U|@e_B}SEa{(1BuCR0C+z~8UgtD2|4z^eEYYkb0*M+00`I@ zk3Hq|PUU^0l!}vNw3J&`41Jv#gCSi-L_@$Ppp2b4f-bg83{Hr`h$s!NJV@ojWyv!_ zq2q|77mBSbKe-8bxs)blnU@Kf>P7Ps3X@9I7Pzf@Y_^LQ zc+xI4IyK0&d(i>9(q{g9w&_$SP=R#0vLwqhMKhgQ^0aBy#$Pd=77dcMX{J?1r_h$Zwp}dMF?4CKEwlojOFph{fcD(>Ipp6wu)PRKlP*K1EZK78%9F3a6orZu zD^aS9TDc09s#GJWkgqowO=gSLW_LIN5P}gD+pnI~xKn>qHYppjA1D3a&4D8)Vs0#o zgmcbIX6ZO*=3FpL47=oli|)GTx*LuqG@KZlHh7lATr%IR#;_?KK=IC zYiXGv4Q6ObG$eku*)Q~XuH^1m>40mNl_@M|YO4lKnl)}i( zHLG>M4;;=M03jGbF`OVNnqfI!5GA=$f>8z5Fn|AU6?}IzHK;%=;`zY{(iMPF4?p%n z-&}b~6~g?b5AN4=i~s#mv!6{L6E!#K%6@yNVwnRAi?goyH;0PcTiTgAWG-zNhp4GaWvE-+GHU=WuA$pr=iBje30AjLuvMHN$A2_;ojKqZw` zQMC$dGQ-<+Z%W|2f&o@U2?Z6X%11@`6ROu8?~oHTH9g%rRz36xBj()+FEonvAc^R9CkY_W7IeB7T5dfUtotY}Kuj96{o^s+6! z>3#!i|3F-LA7N3$06+U$uM|-L`2KrVCJLeQJ@Q}V%89i~P-6qT$MT4IE#l0+iSo`$ z{le#7HFtt7%X{w56bm`FY}XEVi;|C%GQC=Aoxmx%*DZ{jBPbl(Fv{!`8gX1ibMUpK z-~Y;2c4jAEOZnKVPV}M^>&9Pnvh1toABKZ%;1DIu+<^#svD&FS^~;Gz6MoxJrr1eb eR3cDM)T4T~^dNioH}c94d6i%Fz)#w|`vL&JyAfCb literal 0 HcmV?d00001 diff --git a/public/fonts/ibm-plex-mono-latin-ext-400-normal.woff2 b/public/fonts/ibm-plex-mono-latin-ext-400-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..732c64d4dfd589bd5a7abebc1c91d972f678f077 GIT binary patch literal 13348 zcmV+0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/public/fonts/ibm-plex-mono-latin-ext-600-normal.woff2 b/public/fonts/ibm-plex-mono-latin-ext-600-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c0b57de452cf226f844eca7ca22ea9a5ac1b6cdf GIT binary patch literal 14328 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 literal 0 HcmV?d00001 diff --git a/public/fonts/ibm-plex-sans-cyrillic-400-normal.woff2 b/public/fonts/ibm-plex-sans-cyrillic-400-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5ad40b4056b56216bc75f539ba78afc0fd797b47 GIT binary patch literal 14800 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 literal 0 HcmV?d00001 diff --git a/public/fonts/ibm-plex-sans-cyrillic-500-normal.woff2 b/public/fonts/ibm-plex-sans-cyrillic-500-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..189f9dcfebb44722406f2c8e7e06e6f194154ab9 GIT binary patch literal 15000 zcmV;JI%maqPew8T0RR9106Lfe5&!@I0D$-a06H=N0RR9100000000000000000000 z0000QA{)nK9Dy7LU_Vn-K~!1*f+z?o37-QI3<~yC4Dg+<}gkA@Y zD-3}s8z^-(c=J>&w*zBte_iLD%w;nsnSF35+EDClsDuIPpNo}VMG;y*3NVhpHo*3aXF0ck@oBxM`qOe&(NtGNW zh{Vx?f?%A03=4Cf8#*l1xj8pi<)VD$Uc2=ltMGN~x#<5Fe|ymzPapUE&h9?&&w&RN zCe%#LB!OzeccM+5s7H(tQ;1e!g9;B~pD;s@jap2gVygjbA==@ItB25v{qS-INifL3rDaAArdY^u~7L5xCs3bGDeU*CI5s=Ama1zr`f=z zUrP97eDfp+!2de6Wm)g-_cA6|s^gSu$E6_$T$sL^=_Ipc>NDj&98drW zwEZ*J@4eU5wq2%(7RjHGe1oG&<`&@c%;C8CBDtMQfvcmy1q&Ayxafs4f)Em6$&R41mE_HR-g3%Q z)^Z6HssgFX9$(=V5@nMaOp}h|tywGk`I0obDk|%VM;K5zixmh1{5uuvlW4r8L+*2k zVuUe5cRZn(Rk(Njxh_zFD0zuB+NMksswd=fSlQZxF+}kaoRmh1DH~N@2r@AIKaUH| zKAmUFR~C-^XO@7H%#VeOhfhcZBvnYIh?<5D#K^*-N;QufegU=WHEGtOO}qIzED#d5 z!VbIafkIP|=7bV%kf2shYLZ1YY}O`ekejZm#;jYkdNEID!oUFu_4Va>-jKua$jchf zJe7$_4zRc&-;aXDiorJb1d zA1-peR9`5+1_YfAjSZ(0(V1jU`;mstb`^uzY?m;^Alg${G3K1@b)l8s@syIIT^5b* z%gF_Q*g)UX8nx3MYZY^b%xmuzOr+Mn%aQ2?hBdSgK?+F}DQO*O&|I;0xR827*^(7a z6*M(k;DDxF;1K*7a40Ja;I!ZX8ERNX#|h87A3KM#r5x5i?SOCfnmWVk&0&L$cNc1mBte z(|Wpft%@~mD9R5-x_;uQ=0L-67JgE(7QOChixa|FhFpSG6iKF`kO7QW*fUKIx#?m2sMIs|q3BeZMFFpQHE$LY)U-%3LkBqG!IOX@eNr?y`ydU92pLjOF%g}Gnw07Q zM159(*;Y$9`Xl0qFM`<*pGVGh(Fm9;EHX9NH}Xd2S+WbE-857%n&U4OO@^k(*y z-Bn$GH@9=WGc_Ccf}M`GrA@4#*W-2E#0$;4r7<$i15cvU(PipBZy5iPXaA>=iA9Et zCYYtVf48kJRDG4NB37xrVXPwS`XA&|-Q1$29#5N6Ui`&jm%AD z7tQI~D)_s&ZHXkTTt@~uRE~;ozAeoMkfkIttFU{7aoGS9=47lajM=7Ta<*auFqaH@ z1oY~(Lp7e%ruu9GKN_E>b}d6|Vo#hob@x0cUJHFmAPM=%PKBQfa{`g7&zbWM1y zESrne)SoZ3ZZja}Goff{+XTGl9@QnX^fxoXf1t^#==34{UC1^Ct${hhkrZ>| zkF=duivpU)iQ1c$tBO)UjMED1Cy1C8>9)8nQ~Onvx{&2sm3LCT7w02ykEbg2Lz>^h zpYU&Es`bBfYFMW4rTRW^Yr_oSAyxUubj55@m`t}wBvzFm+d{>BFrybnBBfl&#qr5) zC792Q^42_v{=a3^+yY7pcja9~#)%55U_q|QSJPlzfHzBXVo2tdVJ)wx)bMAdBXh-$ zg%>GpSDmU`4aZ7z6i-uitljA3JYGcO%)FXhy`!Sr&JGg|WNB2r%g?Y-BP)Db7BPHa zSjgdeZFbajC*uU82pIMQv&)G#e=6cRFLMD+mnzb?s!SQewuk|d1q#)bT6bP&8b}$r zMDCBE2_j6SGhGR6@-heRf%`7j$W}a=-o&WdQrKDt{5o}kvfOJa2x_vR!U$;1p%m_C zr@6^IS|C%kP9Mw$=S9SxM9;87Ph&F16`T^!sEnC25I3<`fOi)GY6$JTG$c|fhOD-rvNCfvQUP2)GQwWF6?n|Q(o_?M;6%g5yB(qAV(`E0G(C>s;`LD|?UwpIF&>CeW= z47Cm9xfCbN2VnIpL87ov|80p&7qIH(?7Ozv}TT) zjXW*ZI(N}Am-(GoAE*WOpz$)=kAW7@nk7Ly=$Jtn%*=ouPHvIU3NJ-41ct#V7-ynj z5=?<wfsd}?JuVd2Yk&vfApisWaMlCQ!Hdfgc*T*yo7pBL zeplYxr$7A5#C+R%eV}y52Pu zk{`iTj%TCjZdgs1va6q`5#!@K{eaWWtN5AAM zws_Zq_PO8XHZ4k4%;KZllKp@SEO;nnpR5p+1waVOR|D$iVVu?gNwc6YP|!gzWSh@| zF))!}(s+ZAXjB5WS}HH>rL-g3hnkPwIj?JVH2@$&U*`y)`s$c=`>XLJOL1<2()y85 zbb-qC7nG9`a%q*zsvV(Jjoy);#80B!chJMnqh3`E!K3JJ9h1Vl8YmjbZ1Le6IZYF56b+d{N`sebLy9wPP6vY?T6_atTiQ)deH};n6m+ zf>to-F(ax`J{6>oSu-zKn&~FBS~Ze5EL8@CKn8iTjCo{pArqrCk*wGV2%86@k?#hrzC!O6HG9b+d_L`LsR*=2+^0A}$F)IDi5Z zRXr0H56^^Le1Wxw&rV~^7L?UbdrZvj(-CzO7gX}eVAm9Mw6I)3xBY1~^a@+HX*`j2 zZRrdhXuIuMy5%TJ%&8R0&+?mMV_JeU=p`b+yu8=y^+-#`I*i7iC9@Km*;iJ?WJaiH zC$a+xn=92@dSd7hL9eKmj7KXlJ7E)=bY&8DL#h-{OA5UToT z5sM3y1)fDbW??Wvk_0p<6C^?UOJtQxN~=63!vnN|llKHkkOB#GP@;0s9=3$%gxo<28@~lZA0130Ggg+Pnb!ZE0yv?2*n39EB&}k)xELA@l1ri!Bsc4x&T>nZye~?Pj)vY{q4iu8WH9YYgu^0_J&Kndy5j+EHQoUIa5QqYWyl++T+Z5d^x-x>i)oJbl$D-uziwL1ei zvnLZo3M_mM3JE+eAT6nJ+a!>H4`43tl|hmXzW}_Ca|cu1 zc=X(aSBAn!2h&%+lJ3k^+vceIn)YmV?1@mXdyBC_>V&^&FJ9RmyJvr0e=^8Ko%XJTbj z!pW_ImtVa`h<+o`>A3hsgY-li1NpSa_>v>y8kIVY+(_A9P1*q9=HXjlvk!g?I4AFI zxl~QS*+T;8cb$XHAls$L{)9Iu{tkZm&d4$BJS~opL@CPzy7fN=@v9XoEuDKvTv#tC2|3f`f zZu3!SXOsKfg64UTwlPzjaV3Fs?wd?(7%*Nd%lFQ{mW*zTIRhxvTJ^RI5g9FYpdX6p2L^dHskd7RON8OTiww!lB1+O#c(TV*tt`SVA z1iUl#U11eS;&04R4Xec4s~u8T+$TaHdAKh+;;267eZ;oa zOaxO&;OlzQ`RisS^9+E$ZpjZqDmo8+S{^qP;hK&SMtBqBo!OpzPa_tM_GYd#C`%-J zU{Q5_jqtrBN+86^%a~}&hyuk~S|b9BNAXf0gD94b`VE8tDgW^kC}nT=H+&uGSf^B_ zJmI7BL%02d05QVX6syRQQfpLxVL6c1^Em>9>;p=Chtm97M$k;eHZ$*aq}};b`bvJL zP{n*tv+l#6x6^8tiS|#jP8-w0#UM_B`3GifZ#O;voXE5oV-m`afO4{xT=`lz} zTelm88-u$9^9JO}giPj}v&{pfAaxZnd5Atl~>mn!45#0l9%=@}`9nLTdfNMq;&FiC(WAAVJ#4?V6#(-UH8cO*&Q*Dj5s zp}IF}M#8Qx&OHpE1b_-LXpWB;k#kZMf5sYU-Yey3^6pGj2QU3}Esai+n{y z&tP%R;DUGXxgyFQDbM&O?^sRfkdEVTrLrF#lN*>FeL#Oa$2|pi$Y8JX&Z+|GI{YnO0jM}X8!Prkf!q#+A z?}Y6QpQRTmDh1i@sSjuhAh%Xnhvwz93mXW&LZEsF>Kd*%juY@sQ#J?0qa~gS1}SYf zC0ox@gJMLk4b%j^-TvyU=n{?w2Vd^#EX&vF^lvy?WWdzuG&r_YP@CkOiROkJaC;!* zZvn5Ah$X{ie`ip*=+ej~_6FE$QY$)x1N zgJpW5hG^d!%qoFefnuL-ubwhbgvA5qa$WmlbyZ7DhBElmQWBFWbIF166BFi!eX;1V zYoX@QiKni%o_-@6MTIe6g_{zSlTSVsV(U@qB^@~%V(Q`JOmp`G14AKe88Ja*Mpo(u zdyDVWM|`jf#a}Fuz4nLlWF?Sccd;0U!o@BUA-L*%_=wQhhNoCq_T*QKG;NNYBxk%a zhFbC7MWT^2KJs9tVV{@OEZfzb0U8?#O{e`~d0z$U^*saKPe=K7k!^<`HNZS@BzESz zO2!>x2Bene4g7-uBXK<;@yJ9NI-KW-h7{YW?X%B^@gzNbUjS?K+dOi@jYCwcd&@12 zYRPiGWc0;&6>d8N#yvtsFADi7E`qs8-4*5c>^I~2boyx2XP;2Y-RMs z68~6wp%R&8(&LZ_x4Uyvp-{}e6;tDPnS^SwV_C|VjjJds;K`e!>{pvEyk~TMa%HGu zKB0|j6W@XGM|V_~pTxTILS;JoC< z(jRpVzWnsRzd-?nhs_@^0A9MWfyn2%6_0G;>581v&$JFx$MOk+#-A{^jp8gi@AC}Xb2v(r*JKGdzP@aSJP?`P1A?TaEKn!Lu?lxOPKO5;4LB5(*o9s*!E8Vl%%CyiUGJCKT0ZU8q7X=s{BP8 zeT_G*Pm&jFH`dyw#_a69^fpGiP`&j@>)twk8O2AZx6g4YRaYzJd5ojAc3161dWC9Y^$%n*NqOAM`ig(rw{TGolK+miJ|Qn9quf3_OyHKrL%Io=&G|lk!QP-UV9is z0i}6&vy5>3N5gcGHb}8QW}Yl(K?={Up%XycoE>ajcrdJVLL4J*-574sQt%fm{ zjTj7u356AIt$*vefFO5Bpl|^;&`u>(9X3TMmLcEir9gLs>Q~kjg{{-wc~R^2m2#?o z2pR2aJ3*RD!uY#TE7(H-H`xE*t8${H3GvqZ4BV#aDw|?Ukzefs5*ZCk8wrdjJFmC^ z;rt8)J!-o*{V;+^bnD;g<}r_Jb>b^a;ys7<6B%>Q zne*;Hi>UwKcz0W1pU}6>o?W|OS!#6+m22tjQw@W94IUA$DnZ=(IvQuspCXLdjH*Xh z38|A7R6}M_hs2hS%J=6eitxKZo9Z<}d2nv(>uYn*0`DI8h^r+t(^rh{nkJS~%5G0r zohnJ7tcI~EBN4VF1}#?g`8O@Za~h>(ElA)!VuTUR;wrTuqy)%fj9GkAJ0!8;1&Hom zX+?b3BD~!+XH5r{(sFkn7x~*adv!Zr!(K6x2zTYzx+?0ZY^_P zQIz%fASw1KK}cBK-BmDb#7i2=L@hKWRfO?pB_kUq9K3_@z!V1zsZ3kp(C>%7?x`ox=j5FfM8R0~|ZQRZGM8e#j!sfho znF}je11>j*^cYs4phv~)Q5nlk=DKoxJRi?>hoVuDbuT;#2ukGixqlk9jCw`I>V zu8)aGs67v~)d)MnCf#&kC@tp(a`x7i9R^BYiGbRGM6%6W9Dj1Khf8xxB zn?0-Q>=|nnc5;^*R+HWKi}JG~WH5AzV{BkzJj5TIO(YjH^9YXsZmG{&Bf;`FCjFQk z!LzJ4L1ak4GBZhY(!FQIbKKr((V&s=q-KP427lDl02niEMtzs9G?p}oqz;}9P#V+6 zvgQQca%f<}RZ7V}!Fa|4Z8k@^vL@|&j;tIsY&PoQi0{Bt8Y(Vfjc*`QN;En1^*b2! zUls%Ov>eSH?{Klo@s(^O!-t58h*%4g!WZVGyNDyBuh)Ju6DqGb5Mj|KuQ>>ul#~VtHD4VxHC{?mb$2Wf$)>sA#6clZ|6B zJ%6Q%J`m>wX2jf@^3|))mmgnj>C=HQwUW3A7cWHA3X(>eR*}L!H|gb76xYkTI>|Abm$Ma@6OVt|anCn+agt;yEo9TP>Hv zciXqS5V!jwetY4kOj(B2*#rp`Et+0Z^zq9pLab^#%joKx@ig5 zEl~HUCaHK>owR%*2Hvn}&v{ZOGYZ_IkOm4Di*O*7kQ_ zfF)|t-Z(dZeTy+I7iXVuQ1w?-6!x_l?T%)XG+fLLrl>8Y22jtffV8t6g~cDRmOkXf zKTG7C1evJ#r$}TdYz}a)sVyt@1g_p_F*t_MsRR2eD|Ow(MF*+o2jn*i_slgh+tuZ2 zbBScGOC8fgjWx$&u%`x*C0(1Ge$>FTOIoZ!}wxHBu)}6PoMc{2}4r=UIg@e8h zEN!oVMdq~1HiJ$9(RhMGWHPe+*DAczu9HaYHC)n481qeDr7!cg)|DU{^;`*w{yRB< zU`gr6;tm3(e665O@aoZ1_hZ1RAo!3LEK1D`a#H587(r}OZ z6h?EZ>(Pm|q+O;@C_xM*X!?W-N9Ay1eYwnuT!?d}Uj9g+%&&3DWH)7BT_9~~Cees3 zTS({WSEh*#CPH4WsgWqE!PShq%zJvm=9fn+YkUJ`bVop%VpnP0H4EzJ*VW8-Ys(;- zuYhJBhSM_6M$ZPF7eztQhfZ;dl-3hzCREX@ZU|fF|~yGC#wF@NPV?p zsHU}Uj-w@GH6veGt=e=u4UUd=eP28tYmKh`Xtd*%5L$uk$l8{vY!+Db3cUeWv%K6k z8Sb&|)7cvT*}1PLY?~Y(RFsK@HM&k{Y*z*<n`Ya znqPKsRcc6-PYTCduA1>)DbK0Y7uAIdNSvzA;1K*-FeM}7M$`8dV|!y`CS!+wthn7Y z_IgI_R0c&>-)8gHR8)9`z;EC zw+R$)Xn$PJ8Y&u35dN?DqHYenTs9jLPvADu<@-(b3HB zw}R~|ubiF~Ygp_40{OyiSR0!}mwQ!U`_}K7X!`FH@u5PmhW3IzTivtBtlPMi{em`0 zT|d71Cmo&f*QK^IU0okJ-)Mis8Tu&HcIL!wcm2~+>}4TIUA)q z3)E$0ixky)_`FHZLRS;#T{4dJRF-dG>Wr$NnhHu=gQbvIsl^L5(m&Wf%|&^`NChdq3KPU+^fQD63(?qnJg+g-Z`u*meQ*1FUYio;}b zvvQKBy^xS1vN3W96IwRAGMLxg& zIf6xIug_AP*tf9A^ykwV(djAg3GdW&M#;joAcEo zx)EXulRNp3Rbf*>&K$aHzM0cCcbE(BVf;qAqN1{@>Ns*h za9<+*gzzDPWjnE{-2UlsE0*v-+$6R3CowS=&jf^fY(C5Uq1L;TGGf2Swc>AAuUUo1 z+EAg0&#l2O^jG)B8snR*okbnNeK_sAqu4&Z%=`4+1F4h4FD+2=OC229y2=Ra0G&%e z%ZgAMagANw4R`YU`CGKe0*YlWsnDy^71Y(sA)mNWM9nXkd|YeaqWa<% zNYP(asTgR1tUiUtVDVTrdWAx(w|XpE1M_cOqj*gM;(PM9k$3%x%arQF)Ow{tb5Cdt zbgozV>1*Fn(RXJ`AQ|88WJ~|WBIgzq^kgSd*QG`##n>j7dVoo<+J0rfxI~*iz`>Ty z($;>qI(2YzkTq!y8VN_w1Rd{QoQ$^DLV8gkRGtEIns@A<%WsTp>vlFgA6=lB^ z|ADss!R7{a^G-eIH(|`gpWN?ggGy$3Ve=0NC&cM&`JvFjRJI0pPyU2AW5WFB{!_Z3 zm6qb~yxs|hKxDyn|5JK3b&@hi7{n9-sa z$fXII^PUeZyVDQq;UAg41MHrutOpO8G2KGaG-s1Kxn(c+N)kmkWI4Sakt8iMci zG~qX91!<6Z`!RkN98DhY{(LxNEZDj4?~K01sRbkG{G}bqp*~oKm$xN*x;*50D@yHa>+2x9!tuBk8;(%V2nqO5Rynj=vQfoDx zvDrn5IzPB|BB`4Ojc@%c=c9Pcj$(X&O(KJfKM8&AuoahxEQ$T)p(qJ1fG74N8XhGm zT@w?c2RufwaNA#$v+x_iT>QsbuT)fLFpv@U0)5nQnKbGpgA~sw=`yD!-V_uSf=jJI{HvbJHkl4kQM zrDa-k)x7z&f^&p^96V&Tt&VSAyFgrceO#k`eAry!A9Y#w_4QgN!?>DYxxc-kv%wb1 z-R~cMHaDoTjeYUZu=rx9^IgRe)ww4TZa zW7s1+GA@R+c2(RAK9iuT`Bl@|J>9eElc}d)y->a%9^R0RYPHFrfTMX6ZGUCMX$`pA<*Fdd|7f8A-C|tgF97W-W06bB z_G<_qD1*vRxDE5#V3SKr_bF+%;YxxfJ;U4hvl{daApFU=suP=zle)FxyVXrP&V-{O zHisQTei{)+w7ucD-rb(#`oB;Ahj%`i8hKL@JEa(YI;F!qPE$EsC%)AB>lpoVBJ1JX zEq+=CBpY@X7hCz}#D2p%`=$jyJA&D1#qov*28V~;!q#euPIy0eoed{k8ku+|bk1oj zF3Go6wBgUx(@tlnWSyq1!?RMdPft-lzODF}+IH^S55rT&Jm2B0JoAtY2p8s;7Fj`i zk%vz8E>THN|^W zr+GRH^K5SV=Y#Z~n_F(2)o#UVv-;dvVAjDlI_B6+1DTr}uZJ|t=Oq73t%}pickDqq%wd0#_#KZ+_ zwyTjX3wE_KC?l+z@#<15rbJ8Hlw3un^DIKT1N176M?AHn22~sfvvOQ&+$WrNOMUhK z`+A>;#gQ3ZB6{ig&Bx6z+%L`bb=*&TX&OV_+BmY)C;Y(g_;bGj;oE!jHDES?aaKhs z>>49+#D%iZY)jt17gFh2pSe8zmPpD%%X~Y;Otu>RO$x;efMQx5|>% zf}6Yh`|fmx(Wef8cg}IHm#xJ~pVEd!_+~%t{_jVO+j3@yAsQkn{gcEiL4-tzG43L% zI(!7@Yb5qJ7#zR(rY<*T_wRniFxu1_4&;fHUV&Cp*`6<@&eYXq`1$~rYUqBYGiCT}2u{k1uqeDJ}peExYKk4J~k&)LpQMjc?+ zp1Sj8rm|2*$634M=6u}fvBN=&ZCuk~`Km=no6=EEF$S11?~65uHk1YHHnk4Y;mkVq zBsmEF?!Ci|1;6$9YmdBFpmkz-#^@^5H_F^32;s(51=`LhRL#C=b_yobb!S#EYj1lO zrAEm=8J%fTXQfGbjPY)_N1Xc2rs#{qMYrwZ$Spa@J`KHzx#1lL27T;t-^;;h~uw=$59e?HhI@VM3S-~(i0S+#5XUSQ41-qQ zAWdAcdai_t^G~U980tO>de0uFCWuN5^M+pxmEIWLbb-un26up>?pXf= zaQ0F*4PhcUvqSg#)i~A5?qV5F%4;)|q-fc?D`eJJx%?Jb$Ro>f&O9wyS|EW2(#eir z&;P<8C9~&x`KK_Y9@`2^hoXr#xYRZ5<*8uG%1YnlSIrISoaT$s%?(TU9v+usGp8on z$|sqGvo6}^3bG~J#;WF*n7%V7R}+&NnqZDm%t^|l1-Rv)OF_m^j%@y9Jp=k0my0=D!2MktRBM%_nfjiWaxWXl zDR?wIX#J{hXPVWv!D;TDY6mJQXo>9v*<-S{9;@JIc&j!7D2pkw3t0XMwgZ zv}8zRCm_}zjEWH$x*}FoE$klc!;xXpWFDFHqdqcQ)o0Oa|Hy{f9XqmVL7R^3TTuXp zy6K1!yl1L1YepADm#rhW+(Cm~&vXv-M4YF;FJOBX!-$FI8_}&y2rMomWn<`+Z}}a~ ztSlsX-pq6uFwhX+d<#xD6Wg+c)_7T|&vwhlXMV!9qCee*zfpHlhl?ul1Pp;gvYw0Q zQ_rh8^(o!bAJ<~q5&{bH3mjAm~f#NL8(TlU{vYEP7a7L8HmT)CeTa`B@d;-jH z+~Hiz*Po-)ZDk`K`9lL{GDNOkxZ>(5mWsFd?ZAeq#Ed|tno@Q}nR2Q6&-5zqv3;i| z2N)^8;J?pNF{z*x`4(5I)Ecc$Z!nsqNR=jChD=$q<;X=qL_$W9hl+-dfr*8UgNuhx zKq#LGNK8UXMy`N@QX!QhY8qNP5Euf5!4XIl8iU2*2}BZ^LZzvxYiMd|>*(s~8yFfH zo0yuJTUc6I+t3+I7MsK6@dZMWSR$3l6-xIWJbLo%C4awYUcGtu;nP>D`ODE-&n^PR zZ_9dZ!e5(240~Gd`mQ+cLK=eg=UYIT5WE2zf7}0CXq^UY`4&k+lh&Hb_L7xP$wdm8 zQl-+VYoPY*)Xfd|Py%TDy~`n`dr2*pjEfYNTPanlYA|VRC!HZh(g}S9Oa}J^0JzP( zVv<$4sfM-*0C2~h8WUhLs3)Gd1LHy}ZER;qoA|m!9*Y2I+YjHB)__#=*&D;E3ycdq z_fFJ`(scrA8>v<*YpLZjF7VlR#{X}vE&rPX_RH^5!Y}wX{i(0Z-yi*yIC{d1n(kl! z2JFj6(%WpcX)pV0u>4RWh4-!&C%df~?drr0Hct-psX literal 0 HcmV?d00001 diff --git a/public/fonts/ibm-plex-sans-cyrillic-600-normal.woff2 b/public/fonts/ibm-plex-sans-cyrillic-600-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2c315c4771fababf16526d5190cefa26c4e85f7c GIT binary patch literal 15040 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 W!UW;Hvt2PP?%PobSYccN0000gCRuv` literal 0 HcmV?d00001 diff --git a/public/fonts/ibm-plex-sans-cyrillic-700-normal.woff2 b/public/fonts/ibm-plex-sans-cyrillic-700-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2607f95c765ab212b4e0294fab044c41f1a6f9f6 GIT binary patch literal 14572 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 WCYiHO<88CfJdev7Sm9^@0000O4EN6f literal 0 HcmV?d00001 diff --git a/public/fonts/ibm-plex-sans-latin-400-normal.woff2 b/public/fonts/ibm-plex-sans-latin-400-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f0ee65dd7f3ed64dc8d674e5c6007a0e7761bd57 GIT binary patch literal 22588 zcmY(qV{|S&6E0la=C1ADwQbwB-Cf(ZZQHhO+t_ux%d?;Jp6|yunHBv=vXWU>=9;Xy z%Zo7s0R#OL4IUtr|H|EZARzVS|MmUX{{IUO3vNIsBVMo(gaN;@ilB-fP_Q=?HFO>* zG8{}m2Ub9)Hf-=OAYe8SQqXV?FhcNP0myJ$xByCAoN3JTEUwk4E_{I>`wDa$6GHbY zE(lS^3~VSiggdkLh>7nXeiF`v0$}t+v90$TSf(vn8q_dlY#;H|+>To;rtC}FkO&m> z@<{ue-}el+vYXe+Gm|O_GWwmKy^IISj9_%Dhf>C(S!DvFQuG=PZ=LhGM4R`=*seL) z$|}TM-%PXX3MK@|XfE)dkjOqHOn{+;X|bSTvGu1=0y#WNzDaRdQ^xn=mX#rXK|o>uvjLW)3YEwIln3?i^{zYQevk zdwO4KH<**>!B2FkcrYk*RRZTQ!OI1TK{`0hu%p^zbjd&F)^zqH$=IPWJ;r4vh@L|b zlU@|Y!-+R5qZy5kv*^r2tfO#tAA+`wIHPnS%2FGN<>9p(Pl&khr*&6F`OefHrgA`$ zKzH$OLAN2R{l7JWeSoX?e!5gup|Lws*sBHOGI;`u<(r~4R>6If{wTWkt*KS$4eo*_ z793AjXG8@+dP2etrFz0I&iBAF8;76J{$+mAF&k8>y;sNgho5G+|8oJm&ks~Rw`z@K z9ytMpiR%E@9ASa7fOWdt#TH!vPDd$tRd<>HVv?I?_jB`9DT8v~Z|ASA11PwO-VEXs zl2H2n&An+2XtO1NA@MRs?0He=##nERByA56*_@z#?)%KE(Bg)5uv9n@;Zj1#=uP&b z){7SP5ak5;VKg-bfu|A@1pt8tqC!LZs{jc?0tN4a3UKx(B%Z{dWCJU8ic=2~mEJ0a z->fv$)jc|Uh;D5UJerzizI1g|Txo*1;w_rvd5jAS26N*OP$`v?IskThu%3LM;PE51 z5EN*RLaS1&E{LLbw!k69M!VLN^hQN#Lmx7jL#2qpD+>J!qzuam=afP5zvX{2MOJ-|6_g+&yMSr1?1{1*dK zqGbV5f2FTJIp|$}|J`D+Rd8;R-CD`b${Yr@4;~}R5AVu*UdgUI0~W|^OzG@jaBCkL z^HcI40Ybw$gtc6P$g)8+$&-#}_$CZQ1_uM9O|~X^SU*~+Kyu@jQ3mgg%WNFje`_pn zfS`@{uN6jeLPurd@Rro|D=CE-^eqzNbNS3;>j%QFan2exFn|QH?|MUvKI^%tGQDx= zkb-vfH&Dg~*`@R_6a4EhpOFd|Gb*@p^)acOeqBt?rwAQE-J3AR*|^=#9hPe!!e9;I-2b0~EgSahd-@~PkB$G8D0~^r2c?ZYwn~EM$_M?Y z*Ey|$2x3q)u|BL_HF0-u40|e^cDX8O#AFa{Eqd=O+DCAdqh8j&g-$Q^MzEyI9rnQ#p_uYc&|2V{KbHj#+6z44 zqY+31qrF*#PG6xLXela21`d^_gruZps3hCU$fO0AFO1W$8x4q|Y6;s}gplzYh`EfO z80O|i2oNyUGGw&645jFRI95xuPukxB|qrUsR0FvTjJwAcQY6QD#n{xSA%bOdrh zs#m}Omi9ks1kvbeQd?zU19F31QX&q}6N@pan?RRhg5)?qiwePKRV6KnudnQ8(r9?H&*%=-Mbe6Wi%Gsd{BN@#&pTu%y;2>1dmWgP}Y$06bQ1Z5BU50ajZ0g89seL zP6WWj#8e@fCYqUG#^U}9G+JF7U6P8lntCj8XT2`3etms&dNTVddZQ7%9Xe4oee3p# z{rb-vWhzQm!s7NoK{XaPD^U=H@|BQ3ddV`^Om2Oek5wO& zLLl13IuI!JqJb_u%}sN{Jra0Nxk6+UFPzuLn6Kad1!Che6=b~hudekOOz#PGzxI&` zHR9}R?xL!QnPam{v(AhQvnE#e%LHWY(NWtWx>-f5tm+>6k#bCKEo&1Ir(^a~mHvx)S6IShJxM{EY}|DB^LS7s@`G z$$*Z`p@q~MGzJycSJ8ORhrC?$`+7!gW0LbJ2#TESa+PCvWpaICRvv26n9LVD|JMr8 zB})t7NJYjFjW9`BGzF`)`e){?hHF8JZ+-aOh2QnGM>v0d9+Slu&XY6zNk~ zOx*%p3tUjJBlVB3_T*Fa@EYcLD8emn|9LXF2x+ND_)MTqui!2fZsXBDBYb@!hR>0rsOv+Uv^SI-wA-*W{^dE?!$paIl zPgx>94~sY=o!bc66{bGvlES^h0f9ke8#vOZXEY1gf-j7z9M31#Kh?r#8@G5jTY(@c zw7(_q7X3iqxIc@GuZ>`Tzt*JxT%t3Q8zsXKY}}DBJd18I%Fp#xeO}?8=J}9wEj+MUf*gu)gv6=r88hU zk`eo+$#l4LXl3xT?t(ss)B0_vT*VLMC(0!kS6TgM5*V64B(_ywd$PdYd0*b|#6g%5 z!R`|u-OvRDu);5+F2#$ zXcp@*TUv{7oD41SSFnHjVwpT*8Y{059v+kh2VA-#Fs}ayZGr%>LVq^A#*|PHk(Q=U zCPo9}6xkfSK~3`}tZ^WU(!4}GkyxtzDcdxC$LZ9zKca4!Q6i(wz(C6CxIhvWBh@GN z1mdVbjvr+?UBAVHOTpG`&eMl*HSGk+-K#n_EDsM0G<_(MwEs*$iV>8?C=PHn#Od`q z00PTD0G^jzqo2#5!QaW!0tmO*g<%?s%NaNZ44;$eD650rEKldh)UF?r!CybGFiy;N zU?f3Da*>egFSAT)oKQ3&2r*OnH6nyCQ335ww5bzUy-DHM1xX|Q2HFKxh4iOZH;Lqm zQA|2*Cz(|sS)?Wfv>);;dL@{C4iDugA74t^T+ayI!RIhhlYNtVQ&f6c`cek98L=_u zkeFZ2-l6PFDSiPk3-E~Gceu$!SI(Lkk04lhqNS&u?=2c=SZa0}*zKtfXpD$6{c(2x zdKVNbSaScwH>sEO%VBhiULndz7(6S2W|z;5#|P( zW?GQfRSpM#OGDH+ARf5C7?=UCaZTQN0ql+YY$tb<3uqvi~=_C34RS(`BEPvitj$)cDq%tz`(EtipOcfa? z-FXQTd>mWCu3>l*2P+Xd|EWa6PPE1Hc)oXRgLtA)`5?iRK{x)k?-|I~#HWb~(Dk!> zZZmUWtd{OVOI3=W{ou3jknUsERj;}@UkEIdaKj(A?xUWc2*rKUy>1|X$A0XPcu`;@ zHr@hhkfLM(Y|Iu>yb+k1ycB{kPLTgczoS9d%5Y~5H-kt~grJCy<8KTG034a^aIk{h zqLT0v?s5a(U3MhnCLGvsLyT}kUAIQDoO2!n(t18q`i%m6vd+a{5=%f}}xCyIym0`SHZDbZj;B9~dX&w#msfV|&R z^2+?!@5@ef$o$Kd2Oj9*a#b#R0b@vDf=DKQzyrd4;N76zke|o2t^#FiB5Xw0Q~2os zD9v9|WrY%jsp6nUiNDoR^YrfRiWej6@R0#huBeM6t*pvbT{*d6 zEs7(|v@B*e&o?jf0atRo*{5*koMRsJPxLrtRI(Q>{#)Az^snuGRh0O)hQLcml_6!z zQNNTAZIS4=Nk5W%dl03Eu8n2W$0%fR7wGX_It7t}#flazntdO;fB)OXoi*rGfvF9) zT%4{Te&NxPo=x)vqDgUej3sFLA!fdp-Xh3+l3WjX!h*};5{yLB37sJzaYy_j7U83# z;tHq~B~ez^Wu>+r-=%rhR{KCREk0Lkti!InUh^CIDePIN*hd{k2W$E;8iy8lcrqN8 z^OFCqc=;0=GA)8*!Q?i;+84A4$tXiG)#~ z8J!iQxu7q~OsRnS%q`_1m~%{V&N>ry%{myH^=THlpdFCanc3@`O`5U5vj<2I|Y6wBdcXb)FdUUt|LJK%^T_6U;0=UbuQ4FPl1Kjs5$b_x(11ZXL~g0f-oaTY|gDuplSUkc*46?cI?R}w#BMzP1zyl^fy*_9;=tab!9g2j zT5<^SAbCXHX%LQ);Ft-q{e?hap!@kur%e)tYv-iZ1kjXp%~50A&ut2PGiE)lE>40Qv`D z!KCsMi7FXDgj5f?mmo2@A=wACXB=}O@{Y&`#!1m~WlI+>p8U_D{|{o*AfQf3ixG^8 zH%t5`xgd09vY%ZX(!wdN1wroID@}l&z#KD+hP|!!)g$vUF=A^`?wAhA-S#hNkjmum zd5Y^pY}GP0w}f-*UQ#E_s_t8R1)-)~$9N)}|9F=C50ejgHayfU6Yq=Nv}&G9jXb(X zh_r$+8Uh;R27ZeVec3lf(GPpAgw1@>tcE0l?d4idmwyW5&e??&58bGdg_W4!-yOqp z!^ja2cM1^yHr41rnBjZMJ}-=k&Jco@SwK^b#NAW7Y;{wlBT{ie@5KBcAe`aKHPV+x zmBi=j_TsCc5&vgal)VD~fTzbQqhYs}AA+0+uu$WmF|AFB4bL88P%oW?C7pG35!y%9 z);@!O>lF8)oMyzbB|xM_xO|i0-(m@A1h1MD+yrN zdilDTRrBCT0x2zWI54}=$49fAe3I!mqEH#6_AQ@}0*1j+CninSj@5IDlhslR+N)Kf z6J}j24rNF14167F4+u2u8w&oWO)~-Puc-==m||Vf!>?WV@Z<+DPR8#^t-ajnDUxVB zg1nsukD?OMjk(+YNWKt%WPVkZ@y-7OP*Q0PnbQ9UG*V=?v(Lkoyq&8VV)Mn`1I6q%`h&rr!Gj%|zMB`jRiU>~b`m z>by{YE5a!fu!6(WQq&Z@kmC1sL(Ep(E#d2uE%EEJyn2?f!Xc;NB6_^nl{XKc03T@m znP_AExTL~=5S938v@zldJ?4lvhUkE-Wt0ey%Vx7)e}6VK{eOiPfX%h4OT{FU|1nee z+S9DXr|B_rnO(zr3xb7x>lbNeq|_xNZn{JouWUa&@WtFu24%)^G}z9a;!(LDcIMrExUi z0AZ={=@B6P63;BD;K4Ga4-5_T8<#`i{-a#8aDxtfjiOWVEQ!n~joB*9My+B%4+l{N ztXiWXknkUvt95J`_A9b?%o}jd_6qdE>CZ?${JUO7Fz?Vbq3Txp#P^|R7I7&)WSIWpSWRCIU3$bI~gnWl#0eX{kH=;GS^ zi!INYw~67A0)ZL3 zI(1eqDcWQ2$v!n&tsdHtfJ15aS|f1;Sv*?JhR7w>PTBg)(J<*DlJ2JMAP_A`NHU5y zl@lYrRs*rX>S&K#d9fy*y0W4`ZRO-#QGi62WvOumM;h>dokb);q?>hS(%Nt z`n$}yXDNa&IL2|LA%x;cmgHm1px9T#ini1|3gFt|a$OOoD^p;=KzY>3iiexyHD(5&=JA*H$>M<4}exlTO8GXor4hRItvQ-8%s8D8^f;O&kgU(1o zvQ-kqQdy0U=QyLG6^vAflFki!qX|NZ+yyj`kr}5u*(Au$xd_BYGmVQNaDY;?3~Sah z49>0#Ne*HPi|VjweeGx26g$h9EM|;5s&4tb5Vt;p>gtG9%Wu4Z3zM#Xbe&cF1>J++ zVEqnTReMHY;{Ytd{dC;ZRP-$ORVFF+heY4kytHBGGpbNaF+IYVMx=c(gov9vFD*b8 zl3QVTg>G6RcG)#$Iy!x05IYeV%E7b)DHf{E#&RC3#D5zogjmKoq&e%D3+s$F>)-Ub zk{n%NfKPBw3Qku%o7i;8JSwV7B&gmvP>+HyCcYUA>W@x46N|9ybX+(e8yNoHh0(TN zX@p6v+PGr4E^}RC}2Afd1z%o2mPj zZLz^-V~M4a%f|(e)U&d+X179ms6xah(YsKV&%j4$0;!(Ctb=L}z~2T_ogl^d9R zZo>S`AgXz^ek3cN@Vhv{q`*ult}~$b5O(N@>y~*MkZF)VlBMOp6d^mWH%_~&1j0?F zG?-Q16z-JK^2xhYAxsD25>%&l*}FL+l9}8TU_w)ktBvcs9ihZ`(9HE#&BQc_N>8Zv6-8+4Cya!233Co`be`g=SU~pQj<|`qEZb#0P#nxX_I} z!W-qRrP7v%)J>tx!VY%LBO}|Ln(0W&s>tyzow*H{{%S%ftav0G$WaoJC4I{75wN%o zm^0VnX!-Pdi|v!tf!B_{xC~~pi9~{nK$ots3xu$=4?I_yN>s~CWxkwV{m~DGozpWe zSE~7=LgF>v`aP1m?B%PNK4>UPfK^al$~J5mRXF*Q=@`UOnOv-FwjzhP#>Wc1V;&$R z3IJ=_7V(o|p1u0TSHIQhSdB^bikX7g`rXi0G>bM_V(hN??lVq$$^LA1T<6NK zhhr$0MpLKov5Kh1@DX)w6cwRMuYOFu7K+2}v7{|VUX9nwqqE)Y=*@UD@;9Rcd$6g4 z<>Mt@qt~H*T~)2rxc8Rr;P#wEaF$U92BHmI*H983Tn3=6 z&^X?%eE4S@?*H>m3NuvAS51}r!!pc}>Y-h3&#f+96$khC4j`4fY?{SEIAYo5j=C7V zFfv&nD4H5nH^?T%m!eiyN25IH{$q6K2Q2?%FoN_QAp-`-PqZi#(P>YDi*i$es{Y}O z_BRTHG$ccdg=AF8Tk526VzpiUMoEe-r8)L~?GZ>Y;?}Ni-*d$_rTH(H)xR5{q7<5l z5qs?8{Z2^x^tZxOy0XKuDZJ4=mJ ztA(_sNEL2qGv3v*Q10?gp%z-R(&O)tp|w+1@>GPN&n>r=L3PQKbkl%1Bi%$(hhNkv zkD%2;dhaFxWuKTemsqDE!LC)AYdXRXjMC&m1);1vjb$I5CAW-|5}{$F$85>AI3W@2 zQ=UeBck>3$cnTm`Rjva#?fud#McvovwEQmWpUBFHQkt|xe&grGi_{xnFaoXMNCzF2 z6wae-$>-dMS%{R9jUl!h^r1T&d6a&RRg7@a*=}oW`j7sLus%&P@_A1Y}|i%MFa zQWF+SeO8`8knORvE&YC1ZIp#T%-+4yF=&xYJAW)dpiiI+&{&9)&W0J;VkgQiX<1IN z%+3=NH*pstw%U*;oQa`ewHYIXiXx1$=E>AU?iPf;Lx0pfO^`LSr-{p5dkXF&Bz1i~ zT=6OYSXosG-se+M1Fxll(nR)uyDGOpU=czQQs(;u34(--4o>W1 z8j5{{HTN$Xh!CPEvi$UTy!pPJwDDUQ%opnL5P=whG68{16OrZuTUyLueuB9Fn^JUD z7#FOZQ$PqIFZ`}ajcbgDv_Y^|uAdF7K0$&s4|^bdJ|6JBV!!Twv9aEk;)BHj3| zm@^m1w=iC*BCDNGy?0IlWisKfy4w|K6c=RyXvgG!#@T(uGck586!aX?U8F~!DQg`3 zu$A}os{TV=bMT%v)jHLeOM5ge6yVuY3MB8tXZY|-_1HPs15MBn!~qw+7UBi8U-HZm zF1x?l5A^*9AB#TXz)gSw)T%$s|Aw(2sqy{dj|Y(V>q<(@IPkX5nnuL&e2Y7pDv^D9 zFfN`I<8>XvF`h$ zuCplb0Do-bVZBr1I&!wN6Rza`&-IIKt=XducV{+Me{LU}iBN307 za{8TapHgQN2Wt$u+TNap>~6X{ zoW;!JrZYK>-|y!CJ&@_!%e$+ai+gEXOFJtY3;Q(Jww88QHWqeQvnVO)pdo;RhLrDJ zId)|ubj?^XWoZ<*fc#xJ5J+7dc5-%Q(NKo2I61vHpcA%0-szy>Fn~5Ym+?E^q_d4) zvoYvb;obnypX}@Iz=miYh-&y$f2V&8Eh=i4B1t}wQ|TRh#Mk(I2)fyfxp9{gB;#Ks zGy*`Wx`0$oK$eSnk_i<`$`_#f$WLD|!$4O7X0*6&G#mb;gjbotr#);{$qQuTO04=b zmU|-s%$@FZia&GZJh(!1&_ zePA-zyp+#c#8^_IFUq_b*OpB#S%0M_^0aQ%g&GSEmO7c~2`$;#h;f9nwk2;SUZRWp zZ_3!k0vO`2VG7S9VGdf=IFPKyS^H4CMnyxc(zgt#tHqXow}>OR{{7koBI=Lm@kE6( zm1T%+=VS~!4L()Kz0>-vobna-$2t%WcV-Oh_Cb4({LY~*WrsoNN?EqP5&58-Vj<_3FhvpzT>C@?4^#m&yS^I~#O2rS zZHc8`l_edcnc<`BB|6)*^xeIV!cVn=V1O;X;Ki>V$4z18KZ{!i0;}xWCteYk) z`HI4}^bwQz)su|bs7n-$rBVMBytI`OUvZt`nHoQMZL3s`BM~KbdOEk_tQ}s6u&>mg zcg)syF>B2^?o6B>;8n85Cq!?+5r__-g9V3u^vC2Grv>%8t;Vy4U*^=9yWI(T5MOe# zX1S~Ai1-%M3VTNEHm}*Dg{O5_ZB?5Dx!}UW%RboCgdDKUPS|)=#X=Bv_B_Xl?Y9N8Z>Y%WXZT)zp;H7scpv!ZfJJ(=!i_}nQ{u!- z%e}$7Xd5N&D(P_#Z4{uDv%45bd)9wh<8a>^?UPmrc!jP=^8i>&e4>zC9l>HiTKJ-z zSIRjDGy6LjxkV?2G0Jjj32tfwdU)@+4qm<6I5!3~$6rl&&+>%_Z4VrWM8is-cfJLNL+pS-uoN@?bKWG0A zk~KC!$t5^g#+XFRAR;!D@3)h!GsQaShl6bkwI`S$!xAjjj22-`o~5~0DT7qRT6}p} zcsL4F{dwD@Ub!pH2s~a7Dmx6|L^FzOHd2TDC)N6p1{tPgG{0=Tv{C{>W)vv!PRKa5 zYz1tjIN)xS5(QaKEP#cMIgYiNvFWYb5^ae?IyMZqu&H~ZrXe{+p~m*m?LjwAL^)P~ zH;}nH4ml*%ra~^JIfmpik-6oICDIls+KDy|R<8E5-PTJkDA`EPY#|8FqjL$&CfB!- zdsF3HmR70Dtzaq<+1an)WB;=2=SG%F*`?`nIaSu*&$QBXdAx3_6^g0&a5x_b|;x0h<+3d*c$kQ<%;hB+}_gVEteNzOd_ zE$uJkJO0s4oZ4s=R$8p{WNtY{Zv2FHG>5psq^S~t=e~;Smwde{%TwhPsUdOVLllqM z*CtZ-D9NhTMxuSgrARr`cn;oH@o+(KS++ulIb12b@p}TYc&L}UxJN7hTz)52KSqe*JsK^H@5I%*=%|+zP$%k2_RBdhXiJ|c4Z9lgL@P|`1#HH70pQtH6-uy8&BRKQmlP?V^OX>HCWp2_`^~yB5f}ViB zQ@rIk9qfk3F_DRy$t4C-%U`xBygj>++uqc z36;0&8uT$lsxyZl@yN~In<^5&IT-?}avpvvWa7!8@TyCBGBA^^b3PNg^*r0exDn^} z5YD^FK@hL;0O=Q7MY;=zL{ieU&u?x*vf3tjVjaJDyDy4dqeP;F_56hV)>mD7O|+xm zoa+f{c|?PWO&Qjwp7&@}NXrT!_s849$DkgRS&T@>%&WT*@p5ZHf0L~An?2KZB~$9T zQUqb;gdv;mW~`8T+=L}qpP?eKMICeWA`w#=X~7EF{%jRgpV6;PDSFTEzjH>`u^B$| zYGi7hCJ<3Tk9;9}=uc9WUxC-_8w0B`VVE*Bo$Kg>wR8#A?G-h+_YKfDufR^pg1X>b z`P?1AD3hrUFR4x(gHq?0DWg^lnbG1m=F&(&R-b(Dm%#XSSb%SvkUh0L1lz(^s!O z7Rg8Po7{dGIQEo#ORJ1q3#m0LofrzoL?%~Nb17ga*8OrX1HFfjjYCf`xuSwy ziz&nO@_ef@IF%@xqwZs!u1;qF#tn%%z|ImJ4+|)aPxJ_srkq=+o7hFW)*-NpMZjSA z6ZQ+_9_{7|N)x1>__(;x>GQI|Zj6q6AS{yQSyGA6`lK=m>is@{U@1Ll?n^oW+~co1 z1Bd{na#$krdI@}J;x(M~K46G&7a!QK+M6^J;nCP${Dgas7{~8SUeDiUgBR_0%AHqq&`~JI;k9~_BTCc$O+)BB8O|z72Cmy zfqNgkA=%@jL^`m+)6NBo46Z^~)6R9J%i*(bYe#xVuCz(EbKkIWJsCSo7lRugt#z>$ zXO#v0M0LpWP>Pa&p+m?x)%cn?_ixkedTeDXf0j5h0{^%Yja#nwz(`757OkA8kIC0? zj_}rQJPnJWjZ)n|Qa$;y@Z~TpqqCdG4U`+QB)v4QcT@eoXwQm|<=wnC$_cK=f6sbe zZO-#8oNIW@6)9#jyK13x^KuOEF1E-*a)clyjI2*qx(_Y z?{;Fpxs0X&20ZJSJ@;&47GY;CA>n;T9M0$yyUDUXm#2I6R>BNv8a=cu%=qS1eiVsecl-3mSCeMndsc7v&Sw#%0S!P=c zLLRAF`ZM$=R@Imu3B6fWrzC91$soOxSe?Bfuk$P=eclCIQvrK!?g>25g0{G<{I>eT zYptyNmwIS8wSjA`Amai^4ukJm<6`#dNTr3$bQ%X2Cti$LzrfZkFqk2+w?ODPvRN?INa+vMHz} z?V(XvisqsE_BBPoLQZwb{fbW^mAZbO+1<}7aWfy|n27H4UTPqRyNd?VT{n8NH2W!W z8UBIc>|dsuy|rzNSK^>$w#Kq6>rM)f`PfA zFSv&%tW#0Hq?n$-prA3vr${I4p#BT@0ZfhBa))Mj#%`vMA~{v=ie&7B4mvJaD* zvs=%GuOioz@?z$O)TG!PAD`76`fJj9{J7qv*5T?zOluZ#t|GLy_yW|zd>iR0^ZkIE z7%BZ37ZWB-8@)3js@FlG{cQB1fU6Lr)(e&>NJ4=LUN;AGvhoq~mDJ@`T~Bsi1`w!_ z&gT-qv}NrzjoHd99XqP4#Hxt6GF)X!hoPB^bNivamJ#_@g+4Z7FOA%)a+OD_(q3a)7)i2d?qrrcJ58EKh?876k?p{mx<_i|9Gketur&DI4G>z+N$Vo=Y31V z?wOR`!D^g(2SuI$g)H>@oUokU+}uKkQGO5<})C&Ff3eeBYxWN;w#vezh_ZrI574l@z5;4iXIfe@wRuHE$fnY)2 zbcW_9XNXDkLbq&$4h7QSb_KHo;W#)FCz#{WaK**5SIKu0v7&8qo00q?t@Vn80EVNX zzw9l;G-yL!PnME1J~W}B=ZMNp0FVO06Kj7O7Htp*s7A0EqhNb|?lzR{%rEgok6)<; z=HwZd0q`C{{v6 zPGse78CqjnL@p61br1T*4zL@4D#(3@4s{SH&|Q(zH=ffO$n-*V&JiA1I-pmBy8$L; z6^Tx4h(=SvxrFjrjZV+opc|TLmUJh;QSd~(%lKLv8M5e?w(%)GASu6+P6OGrh5ptl zi?O?T#Z#R2tt=Ny|NJmkko+E=kf7Es|{Z_xZ^Lo$u)>?OzB6J&T&Y=cl6aP#}BLHTJ10 z!-vW*#5{_`)tz`W$mpxr%#t zJU*P&h3omx?Vw4MD9u3@EVhUp>j!gB?>s5-G3q4U)TZo>&-1V<Qddoy8cz zijp-CmXYtVijC1*%mad3ZS7l(^W`^q!+qpdq!&}DSHCUbch^2&?se`%tB*Aw>C5F+XPfm8@G<`y|YaD7<{$D(eN5nz456qc$CLR#d zO`jTv3ndEQ0=1SJV;N*KmQX|lDD~b4e~u^uZU)wdfl{&j(?pZU!Kf5e50W@@R2`2$ zy5=62{{@3(UeG-MI`&>N$4GTmPyU2|+)|$oOK~I-q{&nml1b}ajhYzL{B5Z4{s-? zT&T{$@!OvV*52o|0QG|nk1ImmvWYzt%8Hk$i0M&+{|zJVy=uFoyK3wFd9Y}h3^H)N zy9lB{peSjb;3lG_T?;W{7YUU}Y}`t4nXc@D&gBA4;U8 z0yYRz)5e@`)F{8pqF+0YQy|ruOXfQb?Sd)R6qPa|gCL`ft(A zGvBb85%5`@A9bbBduuxyvTMHzhU%GYUe{Qz`?4~P8>HDk$f@m2!_g&0i}b&W%1ZQC60Z&PB`w1%_dKinlaH|E|ddbcuXwhskL!4tBJ&xoB2=-wE{fBhGOKhL% zwWoFrb9+QOOGzjSeEQ$#0_sKV-7{R1XQcadKa~~6+os^HSSCYuY%ebc?e}n1mZ$(?-9&U3fFAuhk}2u2 z@1l?3-;BLj=jysav&>v^qq*B(GBJ)J)l@cM10j5>pnJv5prZ}mXRc_MC^HB)e2sbh zkT_H0m?keG)q|!{fssJ!PC9Z|R@r1uovaAW-Zhi~Ixk zLAY>);I?=qV&{SFX4^bE_+u@@dOlajzF>Aychp6ujCy#~ljyB0Ld_6lXsWAXy!5-m zIh+3vC@HvE7QUp2jaySWvxU@nuHXTgW}$!O+MmOjrWQyLV_7v1VYG|9Lnd;+yFpEL z;*^x2dM>RpHcc>~5G%C9U=P8&g6y^ym9+|e1fIEV(PE{U-WRdsCn5VaLjN4JZVu=J zINmrhf1BlAQM16T_xkp~KY~xjJ||FZp(#9c-`XP#kFs)3vza;Guq}ti*TW%0h;oce z$*mw)ziPfM&jvCVn}UQ-Fk{)C(#@RCm7u z`9}N0!#xPqDQRC}g>nE8@Ja5tOeES$=In^R2ggrhsNDwIX>%8Me^%&9>VD>Wkv37h4Ik;rwtIWD8OvSg zwsD1~&Ng7BQ&80!>z{woa>BkGJtf^D!7K{DaX5c;M1T91B!4(Pu4R24srn=c1Xlus zN5agpak_gLOHYGWC<#!k_3t}c&jxSf>@)E|j3vC9@vN4&nXD4d89>2`_{PjnfS;Y4 zRYqPat3e_DK6A!H-}UHbE%lG+dr8$fmAIQh#UK5u*e7}U`Yn#VdcSsfx|{29gAj{0 zr5+a)8AZ|sGs$RrvDs&@N`{J&UyZ%2-!6-XSr+jDYs&?zdZM4`>6R~dXwiNZ-v!T*!uPP9_sgNF<_`bzIOSOVTRG&rbeeq!%quf=;virHrkl3<4DhyP$9HE39#_liNBU5cXy{(XL z?nI`ly;9ox61{6S!?cSzRCE8RbEbnAK6$_C>erhmEP^o(Om^%w!4Cr)F@bHFox$uL zfLP9@VX`p*uSnE_ympyjm`?In)6xuqd^!`V#AG> z**tA|R?!?3W{Rj}&b@WN#I+^%VEE_f(e3-`T#V)ES1k!swhOw2*~TzFL7qode-8kG z^})#_X1>F7n}x#375WofZhJ_Od2M<5Q(OOs8s3Ci($9762mYBgq~r)}v_UWi8VJAD zZss{)IdW6>`QSK`%=RWFN_gVAw3C6y|D(;?=C|W>;dINc(EhXv*ukDo{u89sOlh#ZdvB==#FbW9tGO*=UzWLL^9IjwV`o(jqV&%Yy>Oomgx zGw^)B*aS6F=JZCHs8vu=i>8gk+I7h{+x&zExNBoF9nR+e1gRHR=>5j@Eg5m;yy6G~o43KWwuSxN=G-m`v zLF)eoUI4xj0AN-~R!S0x73AE9lk-?F4-YT=By;N0^wib!PbLSKCq$QZ4)v{I&in=E zRIazT3YLW;n&H|4$W&`ob~+q{`9U#>jnW^*>yhYdm+~nheg^Vl2A^i7W({!vq?v@E zh=%;hwIM_V3PbOodcSbr>dI6ILYRLwGU?D&y>ZAR+jRd< z(YJqiujYe5_4s{T@Hu3Iehb?6x27D+ykzzbc!lRa4{r0jczJPM*mhLAp>=b4Suo4J zZotjnOx~h93xEYkMUpf?U~3CUp>jQa7V0YvaqSDw-5{-po^Jd$=Fs;UXGVbxx^@fI z!AJ-0pw+4R4F^t{;)vx7eNlgpbt_xt#BkoJ%_F_Zq{Q5B_GRz;CbzqFFxpkuI%GVK zPN2)LZRVzi^$z6a*iROdB;-X;D9ElGo)7*XP_HJhLDkapkAm?Gbo{rmaVY%)Xh$lG zOUST)uCf@ZvPrmXu~E$CMlbEA!j@D?b8=ibB&(^76jWv@1|;d~Slu7$vPEaPDBJl*;R}^Wb@>Wr)^QSbTyipTJb6b$l_5HX(q@9??`2QNtdOc2TfL;ApZjv=36_73rh_KSjr{Yzs0C7?p%BK>{DUB4oLi5p*znFrAN`UR zSV6{?{|NtxEhn$=PW6}M4ZMtXbyX3(e-9<5q#ynv{`0$3^^itQk{5A3XSK(ug^@P6?AK4?X|I)lM^%7r_6gLJtt2($MgHhaIG|@ zT$1K7Yj=X`zpQU&yoq(MY8w7ZUB}vwU!Rebu^vyDk6-nC9IGl^za=hp|4RC>3lF9I z^rZ0)3!#|zdfworyXXfv8~$nC@wBnC{He??qfh?b2)`gBIb(rP^e?6T+fq?H{_~Zr z+&oeC+g^#Hof~#5&gDLX?__K&)WC#2@bT5LRA+Wk7`nHn_HuyJcjL~rOpty0Y0gEi z>zGUb7iL}CC-G;=F`4lR(UEy+@rnr9=2!jI8ll5p=k0j%S4L{xucO=^3r$}uZI2{E zlQ-62FA~^WWH^kbx*DRrK_ZQhKwe+|JFDBi~YY@MWyHY(Pz3klIBK@ncBzvV+ z_V5-{)%{)eN-aHDs_u7av9A1Is{-1;YhAQN?r&|hcfA*}&~zXb(Eg#ruJZo{70~{n z!#V%=U|cHy4^aW_pVaXe&&vNjDxm#CH}c{7|Lp2x5K7bhUyfco?gP+ z|1+s~DQ&9T_1Jd4eb~MA86*Zgbo8-ZcVj*K3An`o0H>_Jy01yv>T|7nJl62i>Z>Ja}7&tS$(%;4kVS$I=+!z%bA2f>rO=c@jzZZ`e_x`N zS0TGht$&^yw4eU+&r1+k*c8-tZ6DMP#af_VZx~B|r)%nvJTbKxsT({k)T0790~7~w ztwI5goXv@H-u$XImU8vg6gE&dV8|R0P%@QxHc&TsTBt_=>R3R`Hto1Nq#U7`Jvh7S zL=RP|jlJKyYLsa`**j{G8NJazZ?yX1>CQ#hF?#Xj{AW-ic!sNC;D`Qt?3SW22EQo< z9K{O(pM^#wiL<-gVe}jV@6Lpd?KZ^4ahQAbc{(3G8WI)D$-vxQz|>0<`jCn=kkg6p z2$7yLk&t$ewhOz|8^N=gkNV_{2Dly75LmCJdt<1>n+AlE+T;&U!pQ5ToK|XWyXqhaYx3G?1_Eo<9BkcU5;N@z9K}k&F&~ zz!pBBe1+mSv_B7TZ&#}^^x5$J_oGng+kvOz+YrJ_7N9Dyqh|uCgfW<0+D3CBz-}b2 zaxAX)HOPe4pHnHpgjUGpGlbaC{2vW&krL2L2U?DFY3i%prg1tDyB1q-5o|K)MdKH| z(ILjnnmY-HA9=8sJ9R21GeXuRh22Y3whJ2~moUs>jT`_!C->AIo57mHDyWLlp=U>( z@@UoU$nM$BT-p%0@0ez?8ohqQnWosAi4nmFV`vlPCEJNNFHp&s%dp$*AErHzi zgto7cP*g`~i^0wgaBu`f5bEA~bUkw`8L55=Av$Mc9e3oJmXkt_l!~ksj-9v)rgAER z7DDN4Y#mxMahm#EP3|7l|3{YHs-ty>T_h_rE3XJWQKwx+8pgm+Lr6q@*Le@4%nd2+PNwC2(Q|&WZ`ffVFfdm$;N`z&(KX@D4qI1N9Fe036gT8Eh5dWO3l7o?e*( zq_7iv>hCTRoq2ata}f`f(gI5D==XFzD1kNS88igRW-<~vp}wcr;L9>63sQIs&>+C3 z6`B08KXas%K(K2BeTJQ3NgC-K@i|9EkK%i63@K%aK#oh*%oy^@Y{3v@JKHYcW@>A4 zlk^wHS5;!*d+qi3mxdc{{QR*p>G1F)7y}I#<8q`?JGQDYSEk6kkK3I_$7tLWM#d;a z2yl3mXz9{n9;ETBlT}%!a0ZV9%*T3#E$Gd7A%m(jHl5=xcelVsx(BAw`ZO?5UR@|9 zght*$+e>|{7&(`lz8zb*Y0aLaQCLSoimK32TU!U zWYGpZ70FJ&fl>W_{23p9n~z6y(Kk76*6Rk#>anpxSc4^ED-Sl<17(O<1+HY7HhI3= z>n*28Qr*-XjKZ zqSK<$NZbbqpu*59W|I+&+^bapsx;LyoYGq>A$6HOqOZDbLKp6t!XLJ@uQaXVtOSBL_g6!L_f^WdI&p$D+{_a}7sOv45NhwGv z$D#vTh%0a<01N_%Q&T19N4jcNk(JIaYz21CBGQ1FW*MAeZ9$hhKm${`@2V+_5^QH# zOxqxg<6uRF_pC|wLZc1&7md5;&4ugHb7OiCd?otRypb34tE&r1Jf9*)4WnL;Q`6XL zywXc|S#HK7W8v7F`NzHrWOo|INUw=4fKBrUJ0hGLjBGIj{IBEU+39Xq+q-L!H+OSaU)`Oe zQ`FlR;2^_%fccXdU%;R_+69LOCdlu-S=$vG-uI~|Ua9wZw(>FLOWQ4C5~*#Br`i4N z#6fET-4k&a+t=%eG1&yR<|dI;lY2O2o1}J}+4<)xQuUYG!R2KbG6SEkF@I`ur;6PI zZq15#O}9iF=o9!0qeuONtzXa*RToM$C=(nU@C;}te7cOcILr>0VITBh2v$^kdUIXq zd^RWw-TUT2{-gHH0bkmcK&Z;qiMvUF&*aO86(Fn9#bObUtM@> zMJTKt(JRHuiVz?>q2TBmGY2#_7a7b3A=Bfnwv+}gF7a{Go7uE+^I`)pH?8B&rfmCM z+_bjGgN0dL^1|dSgu*NYQscq;e7Tj|riLpJrLLp zS7@@^_mj|=T}-yZtyI(29<@>{dM=)p6m=XSxCOD>NcnGk7uQk5xLpX7RuDF8l`{?b znIrPE0m#qV*l~Hex)d`8d2@ou&m79ope)^n#vZ9DdrO3npCusQ3>5vQ2lZ;D=m7j2 zBl67+X8w?!0;=-^1ddUsB^1XYb$44k_e#Ikr1dMnTflvQ3qSxpou_Hg=S7^mr(-hw z1mFtrJy2oT&N!R$zBkzbXq%8V6*tla;%Y`CDy<0HOt^;t0RmeALK%UC0(dpU6{3P3 zTq+wD*Coy!93_EcSAdVL%IoIYky0ZES3eX20GPw-rG?2ew(b6;fLWUdyG+i#9HZh# z>BC>+VQcB)g#nMwhZ+5gMpQ<3|9`ALsJ$Ou7`GE(6t*j6N9DI5>2) zCWlk=1Sl3W?9U)d3)&VmFy!44}Tz3r+-dn zQRP3Y4p%zg^thU!>)Y81`4>k2F~T`l#iZ+HwusS;VAL{ZO(Li;vSv~d-h|_fJ#it_ zD@xVhFKS&sI5V+PlMNpp*oRH@#Ew*KWL5PJ-1qe5>DwvQ7uk2sBjjPc`qPh9bulf~^P_n2BAh-$02i{V|}Ab@(2H4B*rzt(*4XXx4Uwp&;=9c0&L# z6rwW~X-mO1^g->3gMonJpaghSwloxc^T5W)&r}8hz`v-!v<&B(3QV#|0JFv@xn$|> z9h1N|L!;g&cAT-P#7qJ`yFas0xO8DNjb~N70v(6rsdT8{I<8CH0X>sOG~8k)Te(uL z+A2-5*m5begXbB1*t8co@@t*Dnt7Jmm$(qfQbRw~NR4QXic}e>M7&xW)w;+SMQORGQiifoRNQ6b0S`OXQS#_%P(o7{bpw7j zxN8VjaTl1lf`V!rn0@&Sqk9TUQj};hAt3gH+(p7DlP0lLY0_U0s$_|r;lHbSWbD{; z;K+$H7p~m6^C0KRi#G)yzWn$Lpwy2_e};@0Ghxb%ISZDoa7gLdZI2N8wy-8*gNw4? z0ekJ!>5OBJ+hntLq%|aX_y!1)uaJR2M?wNy0j-JJOf|(c%dIdj6rw?Z7OaTSM{|AB zfniJRv`N-FYJ6BQ0m}j>3^Z7kL26W6rB=5(8V%~*)2P`HO<}`O!;CP}aI1~7%VZz4 z7;TJJy$-qHoMPLQ*lw26aG*<>^DesNvMa8-rrdQmRJdif9d>%}wmT}_)#JBp<0UgDj=iJkw*%B2Sd6JXLG7I!hNWt*mWq?OfT@de;UA zHz9oP+LA^1yKmne1BUEbPU-7WPJQ)3Gs%!~0&f~n(GMJ95>Rc#er!M+qy zT@CfBsa6fAmZ++l3f0w6ubOJvxkW1VtT@&6HNV~YAUpl5>D$q8VGm8jzQk zU(k(&pAU!L%;fB0Q#fUv#hsQ=k*WCrFXZ3nd+XmPb}<>G=GwMrBU-eJ0$9I@TQ447 zyq{0cTW9UlzLV*3-_bPpXYRxuxx>DL>3-kdbhmG3y4|-m&04B`;P%{(+j7d~YWo)g z0&qZl11;OHqH5HKs9gb{zExvQU-Mxh#2XFm^2#N|SMK|lFJX0~k2g*CYXA@3qo3@s R;$T5nL-p?z%LdxSxC2frlW_n5 literal 0 HcmV?d00001 diff --git a/public/fonts/ibm-plex-sans-latin-500-normal.woff2 b/public/fonts/ibm-plex-sans-latin-500-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6d5527eef47ace16b08cf9932050b83858995e62 GIT binary patch literal 24184 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 azH?yRNXU$pW66TQU)?kJE_oIi5P}vc)!xGZ literal 0 HcmV?d00001 diff --git a/public/fonts/ibm-plex-sans-latin-ext-500-normal.woff2 b/public/fonts/ibm-plex-sans-latin-ext-500-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6b51734ca52aaf6f69284f0fbee036a63d0cbdeb GIT binary patch literal 16456 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 a9D7DmCq<8Y0(A89!Hp>6f;X%$0001~PdZNk literal 0 HcmV?d00001 diff --git a/tools/copy-fonts.mjs b/tools/copy-fonts.mjs new file mode 100644 index 00000000..3d56e747 --- /dev/null +++ b/tools/copy-fonts.mjs @@ -0,0 +1,71 @@ +// Copy the web fonts the stylesheet references out of node_modules and into +// public/fonts/, where they are served directly and are not fingerprinted. +// +// The files are committed, so this is not part of any build -- neither the +// Dockerfile nor CI runs it, and .dockerignore excludes tools/ from the image +// entirely. Run it by hand (`yarn build:fonts`) after bumping @fontsource or +// bootstrap-icons, and commit whatever changes. +// +// Committed rather than generated because public/ is served by the web server +// without going through Sprockets: a generated file would have to exist before +// assets:precompile in the image build and before the suite renders a page in +// CI, for no benefit -- these change perhaps once a year. +// +// Why self-hosted at all: the stylesheet used to @import fonts.googleapis.com +// and cdn.jsdelivr.net, which made every visitor announce themselves to two +// third parties before the page could paint, and put first paint behind a +// DNS lookup we do not control. + +import { mkdirSync, copyFileSync, existsSync } from 'node:fs' +import { dirname, join } from 'node:path' +import { fileURLToPath } from 'node:url' + +const root = join(dirname(fileURLToPath(import.meta.url)), '..') +const dest = join(root, 'public', 'fonts') + +// Subsets and weights must match the @font-face rules in +// app/assets/stylesheets/_fonts.scss. Copying a file the stylesheet never asks +// for wastes bytes in the repo; missing one that it does ask for is a 404 and a +// silent fallback to the system font. +const SUBSETS = ['latin', 'latin-ext', 'cyrillic'] +const FACES = [ + { pkg: '@fontsource/ibm-plex-sans', slug: 'ibm-plex-sans', weights: [400, 500, 600, 700] }, + { pkg: '@fontsource/ibm-plex-mono', slug: 'ibm-plex-mono', weights: [400, 600] }, +] + +mkdirSync(dest, { recursive: true }) + +let copied = 0 +const missing = [] + +for (const { pkg, slug, weights } of FACES) { + for (const subset of SUBSETS) { + for (const weight of weights) { + const name = `${slug}-${subset}-${weight}-normal.woff2` + const from = join(root, 'node_modules', pkg, 'files', name) + if (!existsSync(from)) { missing.push(name); continue } + copyFileSync(from, join(dest, name)) + copied++ + } + } +} + +// bootstrap-icons ships its own font next to the stylesheet we import. The +// $bootstrap-icons-font-dir override points it at /fonts, so both formats have +// to land here -- woff2 for everything current, woff as the fallback the +// generated @font-face still lists. +for (const name of ['bootstrap-icons.woff2', 'bootstrap-icons.woff']) { + const from = join(root, 'node_modules', 'bootstrap-icons', 'font', 'fonts', name) + if (!existsSync(from)) { missing.push(name); continue } + copyFileSync(from, join(dest, name)) + copied++ +} + +if (missing.length) { + console.error(`copy-fonts: ${missing.length} file(s) not found in node_modules:`) + for (const name of missing) console.error(` ${name}`) + console.error('Run `yarn install` first, or reconcile the lists above with _fonts.scss.') + process.exit(1) +} + +console.log(`copy-fonts: ${copied} file(s) -> public/fonts/`) diff --git a/yarn.lock b/yarn.lock index 50d3a757..679bbd43 100644 --- a/yarn.lock +++ b/yarn.lock @@ -159,27 +159,17 @@ __metadata: languageName: node linkType: hard -"@hotwired/stimulus@npm:^3.2.2": - version: 3.2.2 - resolution: "@hotwired/stimulus@npm:3.2.2" - checksum: 3793919e353d28424f57d07e6b634bf6e8821c227acfa2a608aaa8bdfe7e80479acef12705168ca866f3c231399f4a939fb0cd089aaae04c406b3d885a3b35ea +"@fontsource/ibm-plex-mono@npm:^5.2.7": + version: 5.3.0 + resolution: "@fontsource/ibm-plex-mono@npm:5.3.0" + checksum: 4aaf5a3c9efc7c32de4fa46ff3187ac63720904beab825f331ac01800038899761da23270f09d3fb5cff22f7cdc366904834854e2107229ad60833bba71c223d languageName: node linkType: hard -"@hotwired/turbo-rails@npm:^7.3.0": - version: 7.3.0 - resolution: "@hotwired/turbo-rails@npm:7.3.0" - dependencies: - "@hotwired/turbo": "npm:^7.3.0" - "@rails/actioncable": "npm:^7.0" - checksum: 1b2a5bc8767f0366c91a80a6bac178b8b02ca607add5b14b637f128d9ff08629bf3761931cc892acd46175782649ebdffa76dd45fc7e23f44bff8c06ca452d0b - languageName: node - linkType: hard - -"@hotwired/turbo@npm:^7.3.0": - version: 7.3.0 - resolution: "@hotwired/turbo@npm:7.3.0" - checksum: be7d273808d64e06682f413ea007b555ecc0077cfd846754fe3b1bca06ca1b9473184d95528f7de0f3002bbc7895d58a067845ba363c549229c3bc5870c981e2 +"@fontsource/ibm-plex-sans@npm:^5.2.8": + version: 5.3.0 + resolution: "@fontsource/ibm-plex-sans@npm:5.3.0" + checksum: 8e4c7a849e8167c8de1905282a62ff312a4266e364e3c436fa6d89d650bbb30b3386157ae31af3783e00f85fa64fd7e26bee7ca232db7d22fdc082f6b531edb5 languageName: node linkType: hard @@ -260,13 +250,6 @@ __metadata: languageName: node linkType: hard -"@rails/actioncable@npm:^7.0": - version: 7.0.8 - resolution: "@rails/actioncable@npm:7.0.8" - checksum: e9bf7cfcfc6877d320e8b637952f0fac227212631c1c169f9daaf5da545c863aea3d5a9837e661930303003c5885e6d0050b9d6d2b976d34722d9296dedd4f71 - languageName: node - linkType: hard - "abbrev@npm:1": version: 1.1.1 resolution: "abbrev@npm:1.1.1" @@ -344,8 +327,8 @@ __metadata: version: 0.0.0-use.local resolution: "app@workspace:." dependencies: - "@hotwired/stimulus": "npm:^3.2.2" - "@hotwired/turbo-rails": "npm:^7.3.0" + "@fontsource/ibm-plex-mono": "npm:^5.2.7" + "@fontsource/ibm-plex-sans": "npm:^5.2.8" "@popperjs/core": "npm:^2.11.8" autoprefixer: "npm:^10.4.16" bootstrap: "npm:^5.3.2" From 83bd51fab2a617a30852790f0a01bb3904589ee8 Mon Sep 17 00:00:00 2001 From: AI Dev Date: Tue, 25 Aug 2026 15:11:05 +0000 Subject: [PATCH 2/4] Say what a page is, to anyone who did not open it The carried a title and nothing else. A link to openipc.org shared in Telegram, in a forum post, or shown in a search result therefore appeared as a bare URL with no summary and no image -- for a project whose reach is almost entirely word of mouth between people posting links to each other. Added: a description, an OG/Twitter card set, a canonical, and a theme colour. Three of those have a detail worth keeping: The canonical carries the path and not the query string. ?locale=ru is a rendering of the same page rather than a different one, and pointing all three translations at one canonical is what stops them competing with each other for the same content. og:image is absolute, because crawlers do not resolve a relative one, and it lives in public/ rather than the asset pipeline. OG images are fetched once and cached by URL by every consumer that has ever seen the link, so a fingerprint in the name would invalidate those caches for no gain. The two font faces every page renders body text in are preloaded. crossorigin is required even though they are same-origin -- fonts are fetched in CORS mode, and a preload without it is simply fetched a second time. The navbar and footer move into layouts/ partials. Nothing about them changes: same links, same order, same locale switcher, and the footer's icons still resolve through asset_path, which is not cosmetic -- production runs with config.assets.compile = false, so a literal /assets/... path is a 404, and 2ec9baa fixed exactly these lines. Extracting them now means the relaunch can rewrite the navigation in one file a reviewer can read, instead of inside a diff that also touches .

gains a content_for(:fullwidth) switch for pages that lay out their own full-bleed sections. Flash messages keep the container in both branches, or they would run edge to edge. Pages that set nothing keep the wrapper they have always had, and a test holds that. The tests are the ones that would have caught each way a goes wrong: a missing or duplicated description, a description that came back as "translation missing", a canonical that kept the query string, a relative og:image, an og-default.png that is not there, and a preload naming a font file the stylesheet does not generate. 238 runs, 903 assertions, 0 failures. i18n-tasks reports no missing keys and 102 unused, unchanged -- the new key being used is what keeps that number flat. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_015hvzXBErEjEGMyRme2K3hi --- app/views/layouts/_footer.html.erb | 27 ++++++ app/views/layouts/_navbar.html.erb | 45 ++++++++++ app/views/layouts/application.html.erb | 113 +++++++++++-------------- config/locales/en.yml | 1 + config/locales/ru.yml | 1 + config/locales/zh.yml | 1 + public/og-default.png | Bin 0 -> 81746 bytes test/controllers/page_metadata_test.rb | 89 +++++++++++++++++++ 8 files changed, 213 insertions(+), 64 deletions(-) create mode 100644 app/views/layouts/_footer.html.erb create mode 100644 app/views/layouts/_navbar.html.erb create mode 100644 public/og-default.png create mode 100644 test/controllers/page_metadata_test.rb diff --git a/app/views/layouts/_footer.html.erb b/app/views/layouts/_footer.html.erb new file mode 100644 index 00000000..8708e1eb --- /dev/null +++ b/app/views/layouts/_footer.html.erb @@ -0,0 +1,27 @@ +<%# + Lifted out of application.html.erb unchanged, for the same reason as the + navbar. Every icon resolves through asset_path -- production runs with + config.assets.compile = false, so a literal /assets/... path is a 404, which + is what 2ec9baa fixed here and what any rewrite of this file has to preserve. +%> + diff --git a/app/views/layouts/_navbar.html.erb b/app/views/layouts/_navbar.html.erb new file mode 100644 index 00000000..311f54e8 --- /dev/null +++ b/app/views/layouts/_navbar.html.erb @@ -0,0 +1,45 @@ +<%# + Lifted out of application.html.erb unchanged. The links, their order and the + locale switcher are exactly what the layout carried; only the wrapper moved, + so that the relaunch can rewrite the navigation in one reviewable file rather + than inside a diff that also touches and the footer. +%> + diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 36b67c7e..8b3e0cf6 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -4,59 +4,64 @@ <%= page_title %> + + <%# Every page had a title and nothing else, so a link shared anywhere -- a + search result, Telegram, a forum post -- showed the URL and no summary. + @meta_description lets a controller say something specific; the fallback + describes the project. %> + + + + <%# Path only, no query string: ?locale=ru is a rendering of the same page, + not a separate one, and pointing every translation at the same canonical + is what stops them competing with each other in search results. %> + + + + + + + + <%# Absolute, because crawlers do not resolve relative og:image. In public/ + rather than the pipeline: OG images are fetched once and cached by URL by + every consumer, so a fingerprint would only invalidate those caches. %> + + + <%= csrf_meta_tags %> <%= csp_meta_tag %> + <%# The two faces every page renders body text in. Without the hint they are + discovered only when the stylesheet has parsed, which is a round trip of + invisible text. crossorigin is required even same-origin: fonts are + fetched in CORS mode, and a preload without it is fetched twice. %> + + <%= stylesheet_link_tag 'application' %> <%= javascript_include_tag 'application', defer: true %> - +Skip to content +<%= render 'layouts/navbar' %> -
-
- <%= display_flashes %> +
+ <%# Pages opt out of the .container wrapper with `content_for :fullwidth` when + they lay out their own full-bleed sections. Flash messages still need the + wrapper, or they would run edge to edge. Existing pages set nothing and + keep the wrapper they have always had. %> + <% if content_for?(:fullwidth) %> + <% flashes = display_flashes %> + <% if flashes.present? %> +
<%= flashes %>
+ <% end %> <%= yield %> -
+ <% else %> +
+ <%= display_flashes %> + <%= yield %> +
+ <% end %>
@@ -65,26 +70,6 @@
- +<%= render 'layouts/footer' %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 667e2176..9f906b09 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -165,6 +165,7 @@ en: nosd: Camera does not have an SD card slot sd: Camera has an SD card slot site: + default_meta_description: 'OpenIPC is the open platform for embedded video: open-source firmware for IP cameras, ultra-low-latency video links for drones and robots, and free tools for camera engineers.' disclaimer: The information contained on this site is for general informational purposes only and is not intended to be relied upon by the visitor. All software and firmware available on this site is provided AS IS and for research purposes only. OpenIPC shall not be liable for any loss or damage caused by the use of these files or the use of, or reliance upon, any information contained in this site. snapshot: download: Download original image diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 309da8c5..6a79bb7f 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -167,6 +167,7 @@ ru: nosd: Камера не имеет слота для SD-карты sd: Камера имеет слот для SD-карты site: + default_meta_description: 'OpenIPC — открытая платформа для встраиваемого видео: открытая прошивка для IP-камер, видеолинки со сверхнизкой задержкой для дронов и роботов, бесплатные инструменты для инженеров.' disclaimer: Информация, содержащаяся на этом сайте, предназначена только для общих информационных целей и не предназначена для того, чтобы посетитель полагался исключительно на нее. Все программное обеспечение и прошивки, доступные на этом сайте, предоставляются КАК ЕСТЬ и только для исследовательских целей. OpenIPC не несет ответственности за какие-либо убытки или ущерб, вызванные использованием этих файлов или не использованием их или безусловным доверием к любой информации, содержащейся на этом сайте. snapshot: download: Скачать исходное изображение diff --git a/config/locales/zh.yml b/config/locales/zh.yml index c36530ae..0eaee0e2 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -165,6 +165,7 @@ zh: nosd: 摄像机没有 SD 卡槽 sd: 摄像机有一个 SD 卡槽 site: + default_meta_description: 'OpenIPC 是面向嵌入式视频的开放平台:适用于 IP 摄像机的开源固件、面向无人机与机器人的超低延迟视频链路,以及为摄像机工程师提供的免费工具。' disclaimer: 本网站包含的信息仅供一般参考之用,访问者不应依赖这些信息。本网站上提供的所有软件和固件均按原样提供,仅供研究使用。对于因使用这些文件或依赖本网站中包含的任何信息而造成的任何损失或损害,OpenIPC 概不负责。 snapshot: download: 下载原图 diff --git a/public/og-default.png b/public/og-default.png new file mode 100644 index 0000000000000000000000000000000000000000..5b18ba84e18f82ff80880331e63efa3e2cb11c34 GIT binary patch literal 81746 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
XhB~i~ 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 is the part of a page nobody looks at, so it is the part that +# silently rots. These are the assertions that would have caught each way it +# has gone wrong before. +class PageMetadataTest < ActionDispatch::IntegrationTest + test 'every page carries a description' do + get '/' + + assert_response :success + assert_select 'meta[name="description"]' do |tags| + assert_equal 1, tags.size, 'exactly one description, or crawlers pick arbitrarily' + assert_predicate tags.first['content'].to_s, :present? + end + end + + # The description is translated, so a locale that has not been given the key + # would render the English one -- fine -- or, without fallbacks, a + # "translation missing" span, which would be published into search results. + test 'the description is written in the locale being rendered' do + get '/?locale=ru' + + ru = css_select('meta[name="description"]').first['content'] + + get '/?locale=en' + + en = css_select('meta[name="description"]').first['content'] + + assert_not_equal en, ru + [en, ru].each { |text| assert_no_match(/translation missing/i, text) } + end + + # ?locale=ru is a rendering of the same page, not a different one. If the + # query string reached the canonical, each translation would compete with the + # others for the same content. + test 'the canonical URL drops the query string' do + get '/supported-hardware/featured?locale=ru&page=2' + + canonical = css_select('link[rel="canonical"]').first['href'] + + assert_equal '/supported-hardware/featured', URI.parse(canonical).path + assert_nil URI.parse(canonical).query + end + + # Crawlers do not resolve a relative og:image, and a page whose preview image + # 404s is shared without one at all. + test 'og:image is absolute' do + get '/' + + src = css_select('meta[property="og:image"]').first['content'] + + assert_match %r{\Ahttps?://}, src + assert_equal '/og-default.png', URI.parse(src).path + end + + test 'the og:image exists in public' do + assert_path_exists Rails.public_path.join('og-default.png') + end + + # The preloaded faces have to be the ones the stylesheet asks for; a typo here + # costs a download rather than saving one, and nothing else would notice. + test 'preloaded fonts exist and are the ones the stylesheet declares' do + get '/' + + hrefs = css_select('link[rel="preload"][as="font"]').map { |tag| tag['href'] } + + assert_not_empty hrefs + stylesheet = Rails.root.join('app/assets/stylesheets/_fonts.scss').read + hrefs.each do |href| + assert_path_exists Rails.public_path.join(href.delete_prefix('/')) + # _fonts.scss builds the filenames by interpolation, so match the parts. + parts = href.match(%r{ibm-plex-sans-(?.+)-(?\d+)-normal\.woff2\z}) + + assert_not_nil parts, "#{href} is not a name _fonts.scss can generate" + assert_includes stylesheet, "'#{parts[:subset]}'" + assert_includes stylesheet, parts[:weight] + end + end + + # Pages that lay out their own full-bleed sections opt out of the wrapper. + # Existing pages set nothing and must keep it. + test 'pages that do not ask for full width keep the container wrapper' do + get '/introduction' + + assert_select 'main > div.container' + end +end From 17f6108bdc42bd3e69e8e239cb4c0af97317fb66 Mon Sep 17 00:00:00 2001 From: AI Dev Date: Tue, 25 Aug 2026 15:21:45 +0000 Subject: [PATCH 3/4] Add the pages the relaunch is for, without pointing anyone at them yet Seven pages -- home, get-started, low-latency, ecosystem, business, community, donate -- plus the shared partials they are built from. They answer on their own URLs from this commit, but the root route and the navigation still serve the pre-relaunch structure, so nothing a visitor sees changes. The cutover is a separate change, and this one can go to dev.openipc.org and be looked at first. The copy is written in all three locales the site now serves. English and Russian are as drafted; the Chinese was written for this commit and has not been read by a native speaker -- it should be, before it is linked to. i18n-tasks reports 347 keys in each of the three files and no missing translations. Not everything from the draft survived contact with the current tree, and the rendering tests are what found each one. /get-started hardcoded four WebUI screenshots by filename -- webui/preview.jpg and three others. The gallery was reshot at twice the resolution in 0f42514 and every one of those files stopped existing; the page raised on render. It now takes them from WebuiGallery, the same manifest /web-interface reads and the same one tools/webui-gallery photographs from, so the two cannot disagree about what exists. Tile and full-resolution copy are passed as a pair, which is what data-zoom in src/zoom.js is for. Every link in the new copy that pointed at wiki.openipc.org now points at github.com/OpenIPC/wiki. That host is retired; 2842ffa and 73c0961 removed the last references to it and this copy would have put four of them back. The partner wall moves out of the markup into PagesHelper, transcribed from /introduction as it stands today rather than from the June draft, which was ten entries out of date. Entries that page has commented out are commented out here too, with their URLs, so nothing appears or disappears silently when /introduction goes. REVIEW POINT: the Russian integrator block is currently commented out on /introduction, so no visitor sees any of it. Rendering it for :ru brings it back. That is what the relaunch plan asks for and it is gated to :ru as the maintainers asked, but it is a content decision -- say so if it should stay hidden. Worth knowing: the CSS that was supposed to enforce that gate, `html:not([lang="ru"]) article.introduction .col.logo.ru`, has never matched anything. No logo on that page carries the `ru` class it selects on. The gate being in Ruby now is what makes it testable, and there is a test. /open-wall is uncommented. It was commented out in ed0e025, a bulk tidy-up, while five places that redirect to it were left in place -- twice in snapshots_controller, once in admin/snapshots_controller, and the breadcrumb on three views. All five fell through the catch-all and answered a 302 to the homepage. This exposes nothing new: `resources :snapshots` has served the same gallery at /snapshots throughout. Snapshot.latest_per_camera lifts the correlated subquery out of SnapshotsController#index, because the homepage mosaic wants the same list and two copies of that query is one too many. pages.donate belonged to the band rendered under every page. It is now the /donate page's, and the band's two keys moved to pages.donate_band -- otherwise lazy lookup in the partial and the new page's title would have fought over the same key, and the band would have lost its please_support string. 272 runs, 1223 assertions, 0 failures. Each page is rendered in each of the three locales and checked for "translation missing"; every internal link on them is followed and required not to land on the catch-all; the homepage is rendered against an empty database, which is what a fresh checkout has. rubocop is unchanged at 53 offences across the files this touches, and the two new files add none. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_015hvzXBErEjEGMyRme2K3hi --- .../stylesheets/application.bootstrap.scss | 6 + .../components/_browser-frame.scss | 35 +++ app/assets/stylesheets/components/_cards.scss | 61 ++++++ .../stylesheets/components/_logo-wall.scss | 26 +++ .../stylesheets/components/_sections.scss | 26 +++ .../stylesheets/components/_stage-badge.scss | 43 ++++ .../stylesheets/components/_terminal.scss | 68 ++++++ app/assets/stylesheets/pages/_home.scss | 108 ++++++++++ app/assets/stylesheets/pages/_openwall.scss | 8 + app/controllers/pages_controller.rb | 45 ++++ app/controllers/snapshots_controller.rb | 6 +- app/helpers/pages_helper.rb | 77 +++++++ app/javascript/application.js | 2 + app/javascript/src/copy.js | 17 ++ app/models/snapshot.rb | 18 ++ app/views/pages/_donate.html.erb | 7 +- app/views/pages/business.html.erb | 71 ++++++ app/views/pages/community.html.erb | 56 +++++ app/views/pages/donate.html.erb | 37 ++++ app/views/pages/ecosystem.html.erb | 80 +++++++ app/views/pages/get_started.html.erb | 91 ++++++++ app/views/pages/home.html.erb | 144 +++++++++++++ app/views/pages/low_latency.html.erb | 90 ++++++++ app/views/shared/_cta_band.html.erb | 15 ++ app/views/shared/_logo_wall.html.erb | 10 + app/views/shared/_page_header.html.erb | 9 + app/views/shared/_pillar_card.html.erb | 9 + app/views/shared/_project_card.html.erb | 15 ++ app/views/shared/_stage_badge.html.erb | 3 + app/views/shared/_terminal.html.erb | 11 + config/locales/pages.en.yml | 202 ++++++++++++++++++ config/locales/pages.ru.yml | 202 ++++++++++++++++++ config/locales/pages.zh.yml | 202 ++++++++++++++++++ config/routes.rb | 23 +- test/controllers/relaunch_pages_test.rb | 128 +++++++++++ 35 files changed, 1942 insertions(+), 9 deletions(-) create mode 100644 app/assets/stylesheets/components/_browser-frame.scss create mode 100644 app/assets/stylesheets/components/_logo-wall.scss create mode 100644 app/assets/stylesheets/components/_sections.scss create mode 100644 app/assets/stylesheets/components/_stage-badge.scss create mode 100644 app/assets/stylesheets/components/_terminal.scss create mode 100644 app/assets/stylesheets/pages/_home.scss create mode 100644 app/javascript/src/copy.js create mode 100644 app/views/pages/business.html.erb create mode 100644 app/views/pages/community.html.erb create mode 100644 app/views/pages/donate.html.erb create mode 100644 app/views/pages/ecosystem.html.erb create mode 100644 app/views/pages/get_started.html.erb create mode 100644 app/views/pages/home.html.erb create mode 100644 app/views/pages/low_latency.html.erb create mode 100644 app/views/shared/_cta_band.html.erb create mode 100644 app/views/shared/_logo_wall.html.erb create mode 100644 app/views/shared/_page_header.html.erb create mode 100644 app/views/shared/_pillar_card.html.erb create mode 100644 app/views/shared/_project_card.html.erb create mode 100644 app/views/shared/_stage_badge.html.erb create mode 100644 app/views/shared/_terminal.html.erb create mode 100644 test/controllers/relaunch_pages_test.rb diff --git a/app/assets/stylesheets/application.bootstrap.scss b/app/assets/stylesheets/application.bootstrap.scss index 35c89cd9..03835146 100644 --- a/app/assets/stylesheets/application.bootstrap.scss +++ b/app/assets/stylesheets/application.bootstrap.scss @@ -20,7 +20,13 @@ $bootstrap-icons-font-dir: '/fonts'; @import 'base'; @import 'components/navbar'; +@import 'components/sections'; @import 'components/cards'; +@import 'components/stage-badge'; +@import 'components/terminal'; +@import 'components/logo-wall'; +@import 'components/browser-frame'; +@import 'pages/home'; @import 'pages/hardware'; @import 'pages/calculator'; @import 'pages/openwall'; diff --git a/app/assets/stylesheets/components/_browser-frame.scss b/app/assets/stylesheets/components/_browser-frame.scss new file mode 100644 index 00000000..621b56eb --- /dev/null +++ b/app/assets/stylesheets/components/_browser-frame.scss @@ -0,0 +1,35 @@ +// CSS "browser chrome" wrapper that makes plain screenshots look intentional. +.browser-frame { + border: 1px solid $border-color; + border-radius: $border-radius-lg; + box-shadow: $box-shadow-sm; + overflow: hidden; + + .browser-frame-bar { + align-items: center; + background: $body-tertiary-bg; + border-bottom: 1px solid $border-color; + display: flex; + gap: .3rem; + padding: .45rem .75rem; + + span { + background: $border-color; + border-radius: 50%; + height: .55rem; + width: .55rem; + } + + .browser-frame-title { + color: $body-secondary-color; + font-family: $font-family-monospace; + font-size: .7rem; + margin-inline-start: .5rem; + } + } + + img { + display: block; + width: 100%; + } +} diff --git a/app/assets/stylesheets/components/_cards.scss b/app/assets/stylesheets/components/_cards.scss index 29ea4c04..d985f200 100644 --- a/app/assets/stylesheets/components/_cards.scss +++ b/app/assets/stylesheets/components/_cards.scss @@ -1,3 +1,64 @@ +// Pillar cards (homepage) and project cards (ecosystem/labs). +.pillar-card, +.project-card { + height: 100%; + transition: border-color .15s ease-out, box-shadow .15s ease-out, transform .15s ease-out; + + a { + text-decoration: none; + } + + &:hover, &:focus-within { + border-color: rgba($indigo, .45); + box-shadow: $box-shadow; + + @media (prefers-reduced-motion: no-preference) { + transform: translateY(-2px); + } + } +} + +.pillar-card .icon-chip { + align-items: center; + background: rgba($indigo, .08); + border-radius: $border-radius-lg; + color: $indigo; + display: inline-flex; + font-size: 1.5rem; + height: 3rem; + justify-content: center; + width: 3rem; + + &.icon-chip--accent { + background: rgba($accent, .15); + color: shade-color($accent, 35%); + } +} + +.project-card .card-title { + font-family: $font-family-monospace; + font-size: 1rem; +} + +// Live indicator dot (Open Wall strips). +.live-dot { + animation: live-pulse 2s infinite; + background: $accent; + border-radius: 50%; + display: inline-block; + height: .5rem; + width: .5rem; +} + +@keyframes live-pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: .35; } +} + +@media (prefers-reduced-motion: reduce) { + .live-dot { animation: none; } +} + // Team member cards: the social icons float over the top edge of the card. .card-body { position: relative; diff --git a/app/assets/stylesheets/components/_logo-wall.scss b/app/assets/stylesheets/components/_logo-wall.scss new file mode 100644 index 00000000..044a0036 --- /dev/null +++ b/app/assets/stylesheets/components/_logo-wall.scss @@ -0,0 +1,26 @@ +// Partner/integrator logo wall: white tiles normalize the mixed PNG set. +.logo-wall { + .logo-tile { + align-items: center; + background: #fff; + border: 1px solid $border-color; + border-radius: $border-radius; + display: flex; + height: 4.5rem; + justify-content: center; + padding: .75rem 1rem; + + img { + filter: grayscale(1) opacity(.7); + max-height: 100%; + max-width: 100%; + object-fit: contain; + transition: filter .15s ease-out; + } + + &:hover img, + &:focus-within img { + filter: none; + } + } +} diff --git a/app/assets/stylesheets/components/_sections.scss b/app/assets/stylesheets/components/_sections.scss new file mode 100644 index 00000000..abb02e81 --- /dev/null +++ b/app/assets/stylesheets/components/_sections.scss @@ -0,0 +1,26 @@ +// Full-bleed homepage/landing sections. Mark dark ones with data-bs-theme="dark" +// in the markup so Bootstrap color tokens flip accordingly. +.section--ink { + background: $ink; + color: rgba(255, 255, 255, .85); + + // Faint engineering dot-grid, used on the hero. + &.section--grid { + background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px); + background-size: 24px 24px; + } + + :focus-visible { + outline-color: #fff; + } +} + +.section--alt { + background: $body-tertiary-bg; +} + +// Standard inner-page header band. +.page-header { + background: $body-tertiary-bg; + border-bottom: 1px solid $border-color; +} diff --git a/app/assets/stylesheets/components/_stage-badge.scss b/app/assets/stylesheets/components/_stage-badge.scss new file mode 100644 index 00000000..e7368842 --- /dev/null +++ b/app/assets/stylesheets/components/_stage-badge.scss @@ -0,0 +1,43 @@ +// Text badge for project/SoC development stages (NEQ/R&D/HLP/WIP/MVP/DONE). +// Replaces the raw stage SVGs in tables and cards; SVG pictograms stay in the legend page. +.stage-badge { + align-items: center; + border: 1px solid $border-color; + border-radius: 50rem; + display: inline-flex; + font-family: $font-family-monospace; + font-size: .6875rem; + font-weight: 600; + gap: .35em; + letter-spacing: .05em; + line-height: 1; + padding: .25em .65em; + text-transform: uppercase; + white-space: nowrap; + + &::before { + border-radius: 50%; + content: ''; + height: .5em; + width: .5em; + } + + @each $stage, $color in $stage-colors { + &.stage-badge--#{$stage} { + border-color: rgba($color, .5); + color: shade-color($color, 25%); + + &::before { + background: $color; + } + } + } +} + +[data-bs-theme='dark'] .stage-badge { + @each $stage, $color in $stage-colors { + &.stage-badge--#{$stage} { + color: tint-color($color, 35%); + } + } +} diff --git a/app/assets/stylesheets/components/_terminal.scss b/app/assets/stylesheets/components/_terminal.scss new file mode 100644 index 00000000..74e926de --- /dev/null +++ b/app/assets/stylesheets/components/_terminal.scss @@ -0,0 +1,68 @@ +// Terminal-style code block with a copy button. Markup: shared/_terminal partial. +.terminal { + background: $ink; + border-radius: $border-radius-lg; + color: #e7ebf5; + direction: ltr; // shell commands stay LTR even in RTL locales + font-family: $font-family-monospace; + overflow: hidden; + text-align: left; + + .terminal-header { + align-items: center; + background: $ink-2; + color: rgba(255, 255, 255, .55); + display: flex; + font-size: .75rem; + gap: .5rem; + padding: .5rem .75rem; + + .dots { + display: inline-flex; + gap: .3rem; + + span { + background: rgba(255, 255, 255, .25); + border-radius: 50%; + height: .55rem; + width: .55rem; + } + } + + .btn-copy { + --bs-btn-color: rgba(255, 255, 255, .55); + --bs-btn-hover-color: #fff; + margin-inline-start: auto; + } + } + + pre { + margin: 0; + overflow-x: auto; + padding: .875rem 1rem; + + code { + color: inherit; + font-size: .875rem; + } + } + + .prompt { + color: rgba(255, 255, 255, .45); + user-select: none; + } +} + +// Blinking cursor — allowed in exactly one place (hero microline). +.cursor-blink::after { + animation: cursor-blink 1.1s steps(2) infinite; + content: '▌'; +} + +@keyframes cursor-blink { + 50% { opacity: 0; } +} + +@media (prefers-reduced-motion: reduce) { + .cursor-blink::after { animation: none; } +} diff --git a/app/assets/stylesheets/pages/_home.scss b/app/assets/stylesheets/pages/_home.scss new file mode 100644 index 00000000..d2d05b86 --- /dev/null +++ b/app/assets/stylesheets/pages/_home.scss @@ -0,0 +1,108 @@ +// Homepage sections. +.hero { + h1 { + font-size: clamp(1.9rem, 4.5vw, 3.2rem); + font-weight: 700; + text-wrap: balance; + } + + .hero-lede { + color: rgba(255, 255, 255, .78); + max-width: 60ch; + } + + .hero-microline { + color: rgba(255, 255, 255, .55); + font-family: $font-family-monospace; + font-size: .875rem; + } +} + +// Live Open Wall mosaic (3x2 tiles). +.wall-mosaic { + display: grid; + gap: 8px; + grid-template-columns: repeat(3, 1fr); + + .wall-tile { + background: $ink-2; + border-radius: $border-radius; + display: block; + overflow: hidden; + position: relative; + + img { + aspect-ratio: 16 / 9; + display: block; + height: 100%; + object-fit: cover; + width: 100%; + } + + &.wall-tile--cta { + align-items: center; + aspect-ratio: 16 / 9; + border: 1px dashed rgba(255, 255, 255, .3); + color: rgba(255, 255, 255, .7); + display: flex; + font-size: .8125rem; + justify-content: center; + padding: .5rem; + text-align: center; + text-decoration: none; + + &:hover, &:focus { + border-color: $accent; + color: #fff; + } + } + } + + .wall-caption { + background: linear-gradient(transparent, rgba(15, 20, 34, .85)); + bottom: 0; + color: rgba(255, 255, 255, .85); + font-family: $font-family-monospace; + font-size: .65rem; + inset-inline: 0; + overflow: hidden; + padding: 1rem .5rem .25rem; + position: absolute; + text-overflow: ellipsis; + white-space: nowrap; + } +} + +// "Runs on silicon by" strip. +.silicon-strip { + color: $body-secondary-color; + font-family: $font-family-monospace; + font-size: .875rem; + letter-spacing: .06em; + text-transform: uppercase; +} + +// Stats band figures. +.stat-figure { + .stat-value { + color: #fff; + font-family: $font-family-monospace; + font-size: 2.25rem; + font-weight: 600; + line-height: 1.1; + } + + .stat-label { + color: rgba(255, 255, 255, .6); + font-size: .875rem; + } +} + +// Liberation story panels. +.story-step .story-index { + color: rgba($indigo, .35); + font-family: $font-family-monospace; + font-size: 2rem; + font-weight: 600; + line-height: 1; +} diff --git a/app/assets/stylesheets/pages/_openwall.scss b/app/assets/stylesheets/pages/_openwall.scss index 93fa9fc8..b34c5b51 100644 --- a/app/assets/stylesheets/pages/_openwall.scss +++ b/app/assets/stylesheets/pages/_openwall.scss @@ -10,3 +10,11 @@ color: #f1f1f1ff; a { color: #ffcc00; } } + +// Snapshot card metadata in mono, for the data-plate look. +.snapshot-card { + .card-title { + font-family: $font-family-monospace; + font-size: .9375rem; + } +} diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb index 89972418..52897dbc 100644 --- a/app/controllers/pages_controller.rb +++ b/app/controllers/pages_controller.rb @@ -9,11 +9,36 @@ def about render 'pages/our_channels' end + def business + @page_title = t('pages.business.title') + render 'pages/business' + end + + def community + @page_title = t('pages.community.title') + render 'pages/community' + end + + def donate + @page_title = t('pages.donate.title') + render 'pages/donate' + end + + def ecosystem + @page_title = t('pages.ecosystem.title') + render 'pages/ecosystem' + end + def firmware_partitions_calculation @page_title = t('pages.firmware_partitions_calculation.title') render 'pages/firmware_partitions_calculation' end + def get_started + @page_title = t('pages.get_started.title') + render 'pages/get_started' + end + def green_life @page_title = t('pages.green_life.title') render 'pages/green_life' @@ -24,6 +49,26 @@ def high_resolution_timer render 'pages/high_resolution_timer' end + # The homepage the relaunch is building towards. Reachable by URL, but the + # root route and the navigation still point at #introduction until the cutover. + # + # The counts are read rather than written into the copy so they cannot go + # stale, and the page renders with all of them at zero -- a fresh checkout has + # an empty database and must not 500. + def home + @page_title = t('pages.home.title') + @meta_description = t('site.default_meta_description') + @wall_snapshots = Snapshot.latest_per_camera(limit: 5) + @soc_count = Soc.count + @vendor_names = Vendor.order(:name).pluck(:name) + render 'pages/home' + end + + def low_latency + @page_title = t('pages.low_latency.title') + render 'pages/low_latency' + end + def introduction @page_title = t('pages.introduction.title') render 'pages/introduction' diff --git a/app/controllers/snapshots_controller.rb b/app/controllers/snapshots_controller.rb index 9ddc34ef..588c9807 100644 --- a/app/controllers/snapshots_controller.rb +++ b/app/controllers/snapshots_controller.rb @@ -7,11 +7,7 @@ class SnapshotsController < ApplicationController def index page = params[:page] || 1 - sql = 'SELECT s1.* FROM snapshots s1 LEFT JOIN snapshots s2' \ - ' ON (s1.mac_address = s2.mac_address AND s1.created_at < s2.created_at)' \ - ' WHERE s2.id IS NULL AND s1.created_at > SUBDATE(NOW(), INTERVAL 1 DAY)' \ - ' ORDER BY created_at DESC' - @snapshots = Kaminari.paginate_array(Snapshot.find_by_sql(sql)).page(page).per(18) + @snapshots = Kaminari.paginate_array(Snapshot.latest_per_camera).page(page).per(18) @page_title = "Open Wall, page #{page}" render 'snapshots/index' end diff --git a/app/helpers/pages_helper.rb b/app/helpers/pages_helper.rb index 848f7e29..33f7a3c5 100644 --- a/app/helpers/pages_helper.rb +++ b/app/helpers/pages_helper.rb @@ -1,7 +1,84 @@ # frozen_string_literal: true +# Helpers for the static marketing pages: the page title, and the partner wall. module PagesHelper + # The partner wall, in Ruby rather than hardcoded into a template. + # + # Both lists were transcribed from the wall on /introduction as it stands + # today, not from an older copy: entries that page has commented out are + # commented out here too, with the same URLs, so nothing appears or disappears + # silently when /introduction is eventually retired. Uncommenting a line here + # is how one comes back. + # + # Shown to every visitor. + INTERNATIONAL_PARTNERS = [ + { name: 'Open Source Collective', url: 'https://www.oscollective.org/', img: 'partners/osc_mini.png' }, + { name: 'GitHub', url: 'https://github.com/', img: 'partners/github_mini.png' }, + { name: 'RunCam', url: 'https://runcam.com/', img: 'partners/runcam_mini.png' }, + { name: 'CCDCAM', url: 'https://ccdcam.com/', img: 'partners/ccdcam_mini.png' }, + { name: 'wfb-ng', url: 'https://github.com/svpcom/wfb-ng/', img: 'partners/wfb-ng_mini.png' }, + { name: 'RubyFPV', url: 'https://rubyfpv.com/', img: 'partners/rubyfpv_mini.png' }, + { name: 'Mario FPV', url: 'https://www.youtube.com/@mariofpv', img: 'partners/mariofpv_mini.png' }, + { name: 'Linux Chenxing', url: 'https://linux-chenxing.org/', img: 'partners/linuxchenxing_mini.png' }, + { name: 'TUDSaT', url: 'https://www.tudsat.space/', img: 'partners/tudsat_mini.png' }, + { name: 'WüSpace', url: 'https://wuespace.de/', img: 'partners/wuespace_mini.png' }, + { name: 'Really', url: 'https://opencollective.com/really-541ee976', img: 'partners/really_mini.png' } + # Commented out on /introduction, so commented out here: + # { name: 'EMAX', url: 'https://emaxmodel.com/', img: 'partners/emax_mini.png' }, + # { name: 'GoodCam', url: 'https://www.goodcam.io/', img: 'partners/goodcam_mini.png' }, + # + # partners/baresip_mini.png exists as an asset but has never been on the + # wall. Left off rather than introduced by a refactor. + ].freeze + + # Integrators are territory-specific: these serve Russia and are shown only to + # Russian-language visitors. Showing them to everyone was explicitly not + # wanted, and the reverse -- gating them in CSS on /introduction with + # `html:not([lang="ru"])` -- never worked, because no logo on that page ever + # carried the `ru` class the rule selects on. + # + # NOTE FOR REVIEW: this whole block is currently commented out on + # /introduction, so no visitor sees any of it today. Rendering it for :ru + # brings it back. That is what the relaunch plan asks for, but it is a content + # decision rather than a technical one -- say so if it should stay hidden. + RU_INTEGRATORS = [ + { name: 'GoodCam', url: 'https://www.goodcam.io/', img: 'partners/goodcam_mini.png' }, + { name: 'SkyCam', url: 'https://skycam.cam/', img: 'partners/skycam_mini.png' }, + { name: 'Vixand', url: 'https://vixand.ru/', img: 'partners/vixand_mini.png' }, + { name: 'Improve IT', url: 'https://3it.ru/', img: 'partners/improve_mini.png' }, + { name: 'UfaNet', url: 'https://www.ufanet.ru/', img: 'partners/ufanet_mini.png' }, + { name: 'Dvor24', url: 'https://dvor24.ru/', img: 'partners/dvor24_mini.png' }, + { name: 'Sputnik', url: 'https://sputnik.systems/', img: 'partners/sputnik_mini.png' }, + { name: 'Techno-Shield', url: 'https://msvoko.ru/', img: 'partners/techno-shield_mini.png' }, + { name: 'KeyTelecom', url: 'https://keytele.com/', img: 'partners/keytelecom_mini.png' }, + { name: 'AnyCam', url: 'https://anycam.io/', img: 'partners/anycam_mini.png' }, + { name: 'WebGlazok', url: 'https://webglazok.com/', img: 'partners/webglazok_mini.png' }, + { name: 'Yucca', url: 'https://yucca.app/en', img: 'partners/yucca_mini.png' }, + { name: 'IPEYE', url: 'https://ipeye.ru/', img: 'partners/ipeye_mini.png' }, + { name: 'VTL', url: 'https://vtl.su/#rec35109538', img: 'partners/vtl_mini.png' }, + { name: 'S-Video', url: 'https://www.cctvsp.ru/cctv/openipc', img: 'partners/s-video_mini.png' }, + { name: 'MyWiFi', url: 'https://xn--80aaaf0bh2e7a5c.xn--p1ai/', img: 'partners/mywifi-cc_mini.png' }, + { name: 'AlarmSystem', + url: 'https://alarmsystem-cctv.ru/product-category/cctv-products/cctv-cameras/ip-cameras-cctv/' \ + '?swoof=1&product_brands=openipc&really_curr_tax=189-product_cat', + img: 'partners/alarmsystem_mini.png' } + # Commented out on /introduction, so commented out here: + # { name: 'MegaCam', url: 'https://megacam.kz/', img: 'partners/megacam_mini.png' }, + # { name: 'Dozor', url: 'https://dozor-smart.ru/', img: 'partners/dozor_mini.png' }, + # { name: 'Flagman', url: 'https://flagman.org/', img: 'partners/flagman_mini.png' }, + # { name: 'Meldana', url: 'https://meldana.com/', img: 'partners/meldana_mini.png' }, + # { name: 'Binary Machines', url: 'https://bmachines.ru/', img: 'partners/binary-machines_mini.png' }, + # { name: 'Expo Electronica', url: 'https://expoelectronica.ru/en/', img: 'partners/expo-electronica_mini.png' }, + # { name: 'GAINS', url: 'https://gains.company/', img: 'partners/gain_mini.png' } + ].freeze + def page_title [@page_title, 'OpenIPC'].join(' - ') end + + def partner_logos + logos = INTERNATIONAL_PARTNERS + logos += RU_INTEGRATORS if I18n.locale.eql?(:ru) + logos + end end diff --git a/app/javascript/application.js b/app/javascript/application.js index 95fb5023..7fa3a1e8 100644 --- a/app/javascript/application.js +++ b/app/javascript/application.js @@ -21,6 +21,7 @@ import initExternalLinks from './src/external-links' import initTimestamps from './src/timestamps' import initConfirms from './src/confirms' import initHeifViewer from './src/heif-viewer' +import initCopy from './src/copy' // DOMContentLoaded, not window.onload, which waits for every image and on the // Open Wall meant the page sat unresponsive until the whole gallery had loaded. @@ -32,4 +33,5 @@ document.addEventListener('DOMContentLoaded', () => { initTimestamps() initConfirms() initHeifViewer() + initCopy() }) diff --git a/app/javascript/src/copy.js b/app/javascript/src/copy.js new file mode 100644 index 00000000..7035b4bc --- /dev/null +++ b/app/javascript/src/copy.js @@ -0,0 +1,17 @@ +// Copy-to-clipboard for terminal blocks and anything with [data-copy-target]. +export default function initCopy() { + document.addEventListener('click', ev => { + const btn = ev.target.closest('[data-copy-target]') + if (!btn) return + + const source = document.querySelector(btn.dataset.copyTarget) + if (!source) return + + navigator.clipboard.writeText(source.innerText.trim()).then(() => { + const icon = btn.querySelector('i') || btn + const original = icon.className + icon.className = 'bi bi-check-lg' + setTimeout(() => { icon.className = original }, 1500) + }) + }) +} diff --git a/app/models/snapshot.rb b/app/models/snapshot.rb index 8a2dcc04..819b4f48 100644 --- a/app/models/snapshot.rb +++ b/app/models/snapshot.rb @@ -12,6 +12,24 @@ class TooSoon < StandardError INTERVAL_LIMIT = 15.minutes + # The newest snapshot from each camera seen in the last 24 hours, newest + # first. Lived inline in SnapshotsController#index; the homepage mosaic wants + # the same list, and two copies of a correlated subquery is one too many. + # + # The LEFT JOIN ... WHERE s2.id IS NULL is a greatest-n-per-group: a row + # survives only when no newer row exists for its MAC. + # + # limit is interpolated after to_i, not bound, because it lands in a LIMIT + # clause where a bind parameter is not accepted; to_i is what makes that safe. + def self.latest_per_camera(limit: nil) + sql = 'SELECT s1.* FROM snapshots s1 LEFT JOIN snapshots s2' \ + ' ON (s1.mac_address = s2.mac_address AND s1.created_at < s2.created_at)' \ + ' WHERE s2.id IS NULL AND s1.created_at > SUBDATE(NOW(), INTERVAL 1 DAY)' \ + ' ORDER BY created_at DESC' + sql += " LIMIT #{limit.to_i}" if limit + find_by_sql(sql) + end + # Uploads may be HEIF (HEVC/AVC) as well as JPEG. Render every variant as JPEG # so the wall displays in all browsers (HEIF is decodable only by Safari) and # stays small. Decoding HEIF sources requires the server's libvips to be built diff --git a/app/views/pages/_donate.html.erb b/app/views/pages/_donate.html.erb index 6eeec37f..a0349340 100644 --- a/app/views/pages/_donate.html.erb +++ b/app/views/pages/_donate.html.erb @@ -1,11 +1,14 @@ +<%# The band rendered under every page. Its keys live under + pages.donate_band rather than pages.donate, because /donate is now a + page of its own and lazy lookup would collide with it. %> diff --git a/app/views/pages/business.html.erb b/app/views/pages/business.html.erb new file mode 100644 index 00000000..ef9f9f98 --- /dev/null +++ b/app/views/pages/business.html.erb @@ -0,0 +1,71 @@ +<% content_for :fullwidth, 'yes' %> + +<%= render 'shared/page_header', title: t('.hero_title'), lede: t('.hero_lede') %> + +
+
+ <%# Offerings %> +
+ <% [%w[offer1 bi-life-preserver], %w[offer2 bi-code-square], %w[offer3 bi-box-seam]].each do |key, icon| %> +
+
+
+ +

<%= t(".#{key}_title") %>

+

<%= t(".#{key}_text") %>

+
+
+
+ <% end %> +
+ + <%# Why %> +

<%= t('.why_title') %>

+
+ <% (1..4).each do |i| %> +
+

<%= t(".why#{i}_title") %>

+

<%= t(".why#{i}_text") %>

+
+ <% end %> +
+ + <%# Who builds on it (territory-specific integrator set) %> +

<%= t('.partners_title') %>

+ <%= render 'shared/logo_wall', logos: partner_logos %> + + <%# Engagement steps %> +

<%= t('.how_title') %>

+
+ <% (1..4).each do |i| %> +
+
+
0<%= i %>
+

<%= t(".how#{i}") %>

+
+
+ <% end %> +
+ + <%# Licensing clarity %> +
+ +
+

<%= t('.licensing_title') %>

+

<%= t('.licensing_html') %>

+
+
+
+
+ +<%# Contact %> +
+
+

<%= t('.contact_title') %>

+

<%= t('.contact_text') %>

+

+ business@openipc.org +

+

<%= t('.contact_alt_html') %>

+
+
diff --git a/app/views/pages/community.html.erb b/app/views/pages/community.html.erb new file mode 100644 index 00000000..28e0a9f2 --- /dev/null +++ b/app/views/pages/community.html.erb @@ -0,0 +1,56 @@ +<% content_for :fullwidth, 'yes' %> + +<%= render 'shared/page_header', title: t('.hero_title'), lede: t('.hero_lede') %> + +
+
+ <%# Channels %> +

<%= t('.channels_title') %>

+
+ <% [['OpenIPC Users (EN)', 'https://t.me/+7LL2kc32SOo5YWYy', t('.channel_en')], + ['OpenIPC & FPV', 'https://t.me/+BMyMoolVOpkzNWUy', t('.channel_fpv')], + ['OpenIPC Users (RU)', 'https://t.me/+Sl2GPoR9G2iJAOCr', t('.channel_ru')], + ['OpenIPC Firmware', 'https://t.me/s/openipc_dev', t('.channel_dev')]].each do |name, url, desc| %> +
+
+
+

<%= name %>

+

<%= desc %>

+
+
+
+ <% end %> +
+
+ +

<%= t('.bot_warning') %>

+
+ + <%# Help etiquette %> +

<%= t('.help_title') %>

+
    +
  • <%= t('.help1_html') %>
  • +
  • <%= t('.help2') %>
  • +
  • <%= t('.help3') %>
  • +
+ + <%# Ways to contribute %> +

<%= t('.contribute_title') %>

+
+ <% [%w[contrib1 bi-bug], %w[contrib2 bi-git], %w[contrib3 bi-cpu], + %w[contrib4 bi-translate], %w[contrib5 bi-box2-heart], %w[contrib6 bi-megaphone]].each do |key, icon| %> +
+

<%= t(".#{key}_title") %>

+

<%= t(".#{key}_text", default: '').presence || t(".#{key}_text_html") %>

+
+ <% end %> +
+ +

<%= t('.money_band_html') %>

+
+
+ +<%= render 'shared/cta_band', + title: t('.hero_title'), + primary_label: t('.cta_join'), primary_href: 'https://t.me/+7LL2kc32SOo5YWYy', + note_html: t('.money_band_html') %> diff --git a/app/views/pages/donate.html.erb b/app/views/pages/donate.html.erb new file mode 100644 index 00000000..63216f39 --- /dev/null +++ b/app/views/pages/donate.html.erb @@ -0,0 +1,37 @@ +<% content_for :fullwidth, 'yes' %> + +<%= render 'shared/page_header', title: t('.hero_title'), lede: t('.hero_lede') %> + +
+
+
+
+

<%= t('.where_title') %>

+

<%= t('.where_text') %>

+

<%= t('pages.support_open_source.contribute_text3') %>

+
+
+
+
+

<%= t('.oc_title') %>

+

<%= t('.oc_text_html') %>

+ <%= t('.oc_button') %> +
+
+
+
+

<%= t('.crypto_title') %>

+

<%= t('.crypto_text_html') %>

+
+
+
+
+ +
+ +

<%= t('.business_band_html') %>

+
+ +

<%= t('.thanks') %>

+
+
diff --git a/app/views/pages/ecosystem.html.erb b/app/views/pages/ecosystem.html.erb new file mode 100644 index 00000000..646a0675 --- /dev/null +++ b/app/views/pages/ecosystem.html.erb @@ -0,0 +1,80 @@ +<% content_for :fullwidth, 'yes' %> + +<%= render 'shared/page_header', title: t('.hero_title'), lede: t('.hero_lede') %> + +<% + gh = 'https://github.com/OpenIPC' + sections = [ + { + title: t('.section_core_title'), text: t('.section_core_text'), + projects: [ + { name: 'firmware', desc: t('.proj_firmware'), repo: "#{gh}/firmware", stage: 'done' }, + { name: 'majestic', desc: t('.proj_majestic'), repo: "#{gh}/majestic", stage: 'done' }, + { name: 'divinus', desc: t('.proj_divinus'), repo: "#{gh}/divinus", stage: 'wip' }, + { name: 'ipctool', desc: t('.proj_ipctool'), repo: "#{gh}/ipctool", stage: 'done' }, + { name: 'coupler', desc: t('.proj_coupler'), repo: "#{gh}/coupler", stage: 'done' }, + { name: 'smolrtsp', desc: t('.proj_smolrtsp'), repo: "#{gh}/smolrtsp", stage: 'done' }, + { name: 'microbe-web', desc: t('.proj_microbe'), repo: "#{gh}/microbe-web", stage: 'done' }, + { name: 'yaml-cli', desc: t('.proj_yamlcli'), repo: "#{gh}/yaml-cli", stage: 'done' }, + { name: 'burn', desc: t('.proj_burn'), repo: "#{gh}/burn", stage: 'done' } + ] + }, + { + title: t('.section_longevity_title'), text: t('.section_longevity_text'), + projects: [ + { name: 'openhisilicon', desc: t('.proj_openhisilicon'), repo: "#{gh}/openhisilicon", stage: 'wip' }, + { name: 'openxiongmai', desc: t('.proj_openxiongmai'), repo: "#{gh}/openxiongmai", stage: 'rnd' }, + { name: 'qemu-hisilicon', desc: t('.proj_qemu'), repo: 'https://github.com/widgetii/qemu-hisilicon', stage: 'wip' } + ] + }, + { + title: t('.section_lowlat_title'), text: t('.section_lowlat_text_html'), + projects: [ + { name: 'waybeam_venc', desc: t('.proj_waybeam'), repo: "#{gh}/waybeam_venc", stage: 'done' }, + { name: 'PixelPilot_rk', desc: t('.proj_pixelpilot'), repo: "#{gh}/PixelPilot_rk", stage: 'done' }, + { name: 'aviateur', desc: t('.proj_aviateur'), repo: "#{gh}/aviateur", stage: 'done' }, + { name: 'telemetry', desc: t('.proj_telemetry'), repo: "#{gh}/telemetry", stage: 'done' }, + { name: 'devourer', desc: t('.proj_devourer'), repo: "#{gh}/devourer", stage: 'rnd' } + ] + }, + { + title: t('.section_tools_title'), text: t('.section_tools_text'), + projects: [ + { name: 'onvif-tt', desc: t('.proj_onvif_tt'), repo: "#{gh}/onvif-tt", stage: 'done' }, + { name: 'rnd-player', desc: t('.proj_rnd_player'), repo: "#{gh}/rnd-player", stage: 'done' } + ] + } + ] +%> + +
+
+

<%= t('.stage_legend_html') %>

+ + <% sections.each do |section| %> +
+

<%= section[:title] %>

+

<%= section[:text] %>

+
+ <% section[:projects].each do |project| %> +
+ <%= render 'shared/project_card', name: project[:name], desc: project[:desc], + repo: project[:repo], stage: project[:stage] %> +
+ <% end %> +
+
+ <% end %> + +
+

<%= t('.section_community_title') %>

+

<%= t('.section_community_text_html') %>

+
+
+
+ +<%= render 'shared/cta_band', + title: t('pages.community.contribute_title'), + primary_label: t('pages.community.title'), primary_href: '/community', + secondary_label: 'GitHub', secondary_href: 'https://github.com/OpenIPC', + note_html: t('.contribute_cta_html') %> diff --git a/app/views/pages/get_started.html.erb b/app/views/pages/get_started.html.erb new file mode 100644 index 00000000..8490a2c0 --- /dev/null +++ b/app/views/pages/get_started.html.erb @@ -0,0 +1,91 @@ +<% content_for :fullwidth, 'yes' %> + +<%= render 'shared/page_header', title: t('.hero_title'), lede: t('.hero_lede') %> + +
+
+ <%# Three steps %> +
+
+

1<%= t('.step1_title') %>

+

<%= t('.step1_text_html') %>

+ <%= render 'shared/terminal', id: 'ipctool-cmd', title: 'camera shell', + code: "curl -L -o /tmp/ipctool https://github.com/OpenIPC/ipctool/releases/download/latest/ipctool\nchmod +x /tmp/ipctool && /tmp/ipctool" %> +
+
+

2<%= t('.step2_title') %>

+

<%= t('.step2_text') %>

+

<%= t('.cta_find_soc') %>

+
+
+

3<%= t('.step3_title') %>

+

<%= t('.step3_text') %>

+
+
+ + <%# Honesty box %> +
+ +
+

<%= t('.warning_title') %>

+

<%= t('.warning_text_html') %>

+
+
+ + <%# What you get %> +
+
+

<%= t('.what_title') %>

+

<%= t('.what_text') %>

+

<%= t('.editions_title') %>

+

<%= t('.editions_text') %>

+
+
+

<%= t('.webui_title') %>

+ <%# Four of the screenshots from /web-interface, taken through + WebuiGallery rather than named here. The June draft of this page + hardcoded webui/preview.jpg and three others; the gallery was + reshot in 0f42514 and every one of those filenames stopped + existing, which is what a hardcoded list buys you. First() rather + than a chosen set, so a screen leaving the manifest cannot leave a + hole here either. + + Tile and full-resolution file are a pair: the tile is the 1200px + copy, and data-zoom names the 2560px original for the modal, which + is what stops the zoom being an upscale of a thumbnail. %> +
+ <% WebuiGallery.screens.first(4).each do |screen| %> +
+
+
+ <%= screen.caption %> +
+ <%= image_tag screen.tile, class: 'img-zoom', alt: screen.alt, + loading: 'lazy', decoding: 'async', + data: { zoom: image_path(screen.full) } %> +
+
+ <% end %> +
+
+
+ + <%# Open Wall + help %> +
+
+

<%= t('.wall_title') %>

+

<%= t('.wall_text_html') %>

+
+
+

<%= t('.stuck_title') %>

+

<%= t('.stuck_text_html') %>

+
+
+
+
+ +<%= render 'shared/cta_band', + title: t('.hero_title'), + primary_label: t('.cta_find_soc'), primary_href: '/supported-hardware' %> + +<%= render 'pages/zoom' %> diff --git a/app/views/pages/home.html.erb b/app/views/pages/home.html.erb new file mode 100644 index 00000000..d5f84614 --- /dev/null +++ b/app/views/pages/home.html.erb @@ -0,0 +1,144 @@ +<% content_for :fullwidth, 'yes' %> + +<%# ---- Hero: tagline + live Open Wall mosaic ---- %> +
+
+
+
+

<%= t('.hero_title') %>

+

<%= t('.hero_lede') %>

+

+ <%= t('.hero_cta_start') %> + <%= t('.hero_cta_low_latency') %> +

+ +
+
+
+ <% @wall_snapshots.each_with_index do |snapshot, idx| %> + + <%= image_tag snapshot.file.variant(:thumb), alt: t('.wall_snapshot_alt'), + loading: (idx.zero? ? 'eager' : 'lazy') %> + <%= snapshot.soc.upcase %> · <%= snapshot.sensor.upcase %> + + <% end %> + <% (5 - @wall_snapshots.size).times do %> + + <%= image_tag 'no-signal.webp', alt: t('snapshots.index.no_signal'), loading: 'lazy' %> + + <% end %> + <%= t('.wall_cta') %> +
+

+ + <%= t('.wall_live') %> +

+
+
+
+
+ +<%# ---- Silicon strip ---- %> +<% if @vendor_names.any? %> +
+
+
+ <%= t('.silicon_title') %>: + <% @vendor_names.each do |name| %> + <%= name %> + <% end %> +
+
+
+<% end %> + +<%# ---- Liberation story ---- %> +
+
+

<%= t('.story_title') %>

+
+ <% (1..3).each do |i| %> +
+
+
0<%= i %>
+

<%= t(".story_step#{i}_title") %>

+

<%= t(".story_step#{i}_text") %>

+
+
+ <% end %> +
+

+ <%= t('.story_cta') %> +

+
+
+ +<%# ---- Platform pillars ---- %> +
+
+
+

<%= t('.pillars_title') %>

+

<%= t('.pillars_lede') %>

+
+
+
<%= render 'shared/pillar_card', icon: 'bi-cpu', title: t('.pillar_firmware_title'), text: t('.pillar_firmware_text'), href: '/get-started' %>
+
<%= render 'shared/pillar_card', icon: 'bi-broadcast', title: t('.pillar_low_latency_title'), text: t('.pillar_low_latency_text'), href: '/low-latency' %>
+
<%= render 'shared/pillar_card', icon: 'bi-wrench-adjustable', title: t('.pillar_tools_title'), text: t('.pillar_tools_text'), href: '/ecosystem' %>
+
<%= render 'shared/pillar_card', icon: 'bi-shield-check', title: t('.pillar_longevity_title'), text: t('.pillar_longevity_text'), href: '/ecosystem', accent: true %>
+
+
+
+ +<%# ---- Stats band (live numbers from the database; evergreen floors elsewhere) ---- %> +
+
+
+ <% if @soc_count.positive? %> +
+
<%= @soc_count %>
+
<%= t('.stats_socs') %>
+
+
+
<%= @vendor_names.size %>
+
<%= t('.stats_vendors') %>
+
+ <% end %> +
+
140+
+
<%= t('.stats_repos') %>
+
+
+
<%= I18n.available_locales.size %>
+
<%= t('.stats_languages') %>
+
+
+
2019
+
<%= t('.stats_since') %>
+
+
+
+
+ +<%# ---- Partners (integrator set is territory-specific) ---- %> +
+
+

<%= t('.partners_title') %>

+ <%= render 'shared/logo_wall', logos: partner_logos %> +
+
+ +<%# ---- For Business teaser ---- %> +
+
+

<%= t('.business_title') %>

+

<%= t('.business_text') %>

+ <%= t('.business_cta') %> +
+
+ +<%# ---- Closing CTA ---- %> +<%= render 'shared/cta_band', + title: t('.cta_title'), + primary_label: t('.cta_primary'), primary_href: '/get-started', + secondary_label: t('.cta_secondary'), secondary_href: 'https://t.me/openipc', + note_html: t('.cta_donate_html') %> diff --git a/app/views/pages/low_latency.html.erb b/app/views/pages/low_latency.html.erb new file mode 100644 index 00000000..df609ee9 --- /dev/null +++ b/app/views/pages/low_latency.html.erb @@ -0,0 +1,90 @@ +<% content_for :fullwidth, 'yes' %> + +<%= render 'shared/page_header', title: t('.hero_title'), lede: t('.hero_lede') %> + +
+
+ <%# How the link works %> +

<%= t('.how_title') %>

+
+
+
+ +

<%= t('.how_tx_title') %>

+

<%= t('.how_tx_text_html') %>

+
+
+
+
+ +

<%= t('.how_link_title') %>

+

<%= t('.how_link_text_html') %>

+
+
+
+
+ +

<%= t('.how_rx_title') %>

+

<%= t('.how_rx_text_html') %>

+
+
+
+

TX → wfb-ng → RX

+ + <%# FPV %> +
+
+

<%= t('.fpv_title') %>

+

<%= t('.fpv_text') %>

+

+ <%= t('.cta_guide') %> + <%= t('.cta_chat') %> +

+
+
+

<%= t('.robotics_title') %>

+

<%= t('.robotics_text1') %>

+

<%= t('.robotics_text2') %>

+

<%= t('.business_bridge_html') %>

+
+
+ + <%# Latency, honestly %> +

<%= t('.latency_title') %>

+

<%= t('.latency_intro') %>

+
+ + + + + + + + + + + + +
<%= t('.latency_column_config') %><%= t('.latency_column_g2g') %>
<%= t('.latency_720p60') %>~60 ms
<%= t('.latency_1080p60') %>~80 ms
<%= t('.latency_1080p30') %>~100 ms
+
+

<%= t('.latency_note') %>

+ + <%# Hardware + credits %> +
+
+

<%= t('.hardware_title') %>

+

<%= t('.hardware_text_html') %>

+
+
+

<%= t('.credits_title') %>

+

<%= t('.credits_text') %>

+
+
+
+
+ +<%= render 'shared/cta_band', + title: t('.fpv_title'), + primary_label: t('.cta_guide'), primary_href: 'https://github.com/OpenIPC/wiki/blob/master/en/fpv.md', + secondary_label: t('.cta_chat'), secondary_href: 'https://t.me/+BMyMoolVOpkzNWUy', + note_html: t('.business_bridge_html') %> diff --git a/app/views/shared/_cta_band.html.erb b/app/views/shared/_cta_band.html.erb new file mode 100644 index 00000000..91b7d585 --- /dev/null +++ b/app/views/shared/_cta_band.html.erb @@ -0,0 +1,15 @@ +<%# Dark call-to-action band. Locals: title, primary_label, primary_href, secondary_label/secondary_href (optional), note_html (optional). %> +
+
+

<%= title %>

+

+ <%= primary_label %> + <% if local_assigns[:secondary_label].present? %> + <%= secondary_label %> + <% end %> +

+ <% if local_assigns[:note_html].present? %> +

<%= note_html %>

+ <% end %> +
+
diff --git a/app/views/shared/_logo_wall.html.erb b/app/views/shared/_logo_wall.html.erb new file mode 100644 index 00000000..e4eddba7 --- /dev/null +++ b/app/views/shared/_logo_wall.html.erb @@ -0,0 +1,10 @@ +<%# Partner/integrator logo wall. Locals: logos (array of {name:, url:, img:}). %> + diff --git a/app/views/shared/_page_header.html.erb b/app/views/shared/_page_header.html.erb new file mode 100644 index 00000000..d1d60443 --- /dev/null +++ b/app/views/shared/_page_header.html.erb @@ -0,0 +1,9 @@ +<%# Standard inner-page header band. Locals: title, lede (optional). %> + diff --git a/app/views/shared/_pillar_card.html.erb b/app/views/shared/_pillar_card.html.erb new file mode 100644 index 00000000..8d1a880c --- /dev/null +++ b/app/views/shared/_pillar_card.html.erb @@ -0,0 +1,9 @@ +<%# Homepage pillar card. Locals: icon, title, text, href, accent (optional). %> +
+
+ +

<%= title %>

+

<%= text %>

+ +
+
diff --git a/app/views/shared/_project_card.html.erb b/app/views/shared/_project_card.html.erb new file mode 100644 index 00000000..0e52550b --- /dev/null +++ b/app/views/shared/_project_card.html.erb @@ -0,0 +1,15 @@ +<%# Ecosystem/Labs project card. Locals: name, desc, repo (optional), stage (optional). %> +
+
+
+

<%= name %>

+ <% if local_assigns[:stage].present? %> + <%= render 'shared/stage_badge', stage: stage %> + <% end %> +
+

<%= desc %>

+ <% if local_assigns[:repo].present? %> + <%= repo.sub('https://github.com/', '') %> + <% end %> +
+
diff --git a/app/views/shared/_stage_badge.html.erb b/app/views/shared/_stage_badge.html.erb new file mode 100644 index 00000000..f01a01fa --- /dev/null +++ b/app/views/shared/_stage_badge.html.erb @@ -0,0 +1,3 @@ +<%# Project status badge. Locals: stage (neq/rnd/hlp/wip/mvp/done). %> +<% labels = { 'neq' => 'NEQ', 'rnd' => 'R&D', 'hlp' => 'HLP', 'wip' => 'WIP', 'mvp' => 'MVP', 'done' => 'DONE' } %> +"><%= labels[stage.to_s] %> diff --git a/app/views/shared/_terminal.html.erb b/app/views/shared/_terminal.html.erb new file mode 100644 index 00000000..100bbf24 --- /dev/null +++ b/app/views/shared/_terminal.html.erb @@ -0,0 +1,11 @@ +<%# Terminal-style code block. Locals: code, title (optional), id (required for copy). %> +
+
+ + <%= local_assigns[:title] || 'shell' %> + +
+
<%= code %>
+
diff --git a/config/locales/pages.en.yml b/config/locales/pages.en.yml index 865c2095..f23cff5f 100644 --- a/config/locales/pages.en.yml +++ b/config/locales/pages.en.yml @@ -8,9 +8,116 @@ en: title: Admin Dashboard bandwidth_calculator: title: Bandwidth calculator + business: + contact_alt_html: Prefer chat? Message us on Telegram. + contact_text: Tell us what you are building. An engineer answers, not a sales script. + contact_title: Talk to the team + hero_lede: Commercial support, custom development, and OEM licensing from the core team. + hero_title: Build your product on OpenIPC — with the people who build OpenIPC. + how1: You write to us with the product and the problem. + how2: A scoping call with an engineer. + how3: A pilot with clear deliverables. + how4: Ongoing support or development, sized to your needs. + how_title: How an engagement works + licensing_html: The core of the platform is MIT-licensed — commercial use is welcome. The Majestic streamer is distributed in binary form under the Prosperity license; commercial terms are available. The use of OpenIPC and its components for military purposes is not permitted. + licensing_title: Licensing, plainly + offer1_text: Priority fixes, guaranteed response times, and long-term maintenance of the platforms your product depends on. + offer1_title: Commercial support + offer2_text: SoC bring-up, sensor tuning, NPU features, custom video links, white-label firmware — built to your specification by the people who know the stack best. + offer2_title: Custom development + offer3_text: Commercial licensing for Majestic, branded builds, and integration help for manufacturers shipping OpenIPC-based products. + offer3_title: OEM & licensing + partners_title: Companies already building on OpenIPC + title: For Business + why1_text: Vendor SDKs give you a kernel and a demo. OpenIPC gives you a shipping firmware with streaming, web interface, and updates — you start from 90%, not from zero. + why1_title: Faster than a raw SDK + why2_text: Our mainline-kernel work keeps platforms maintained after vendors abandon them. Your product's lifespan is not capped by a vendor's roadmap. + why2_title: Survives silicon EOL + why3_text: Devices work without our servers — or anyone's. Your cost structure stays yours. + why3_title: No per-unit cloud tax + why4_text: The core is open. Whatever happens to any company, including ours, your product keeps building. + why4_title: Open source is your escrow + why_title: Why companies build on OpenIPC + community: + bot_warning: New members answer two quick questions from our Welcome Bot after joining. If you miss the prompt and cannot post, leave and re-join the group, then watch for the bot's message. + channel_dev: Build notifications straight from GitHub. + channel_en: The international OpenIPC group. + channel_fpv: Everything about OpenIPC-based FPV and video links. + channel_ru: The Russian-speaking OpenIPC group. + channels_title: Where we live + contrib1_text_html: Found a bug? File an issue in the right repository — a good report is a contribution. + contrib1_title: Report bugs + contrib2_text: Fork the code, make your improvement, send a pull request. Small fixes are welcome — that is how most of us started. + contrib2_title: Improve the code + contrib3_text: Run work-in-progress builds on your hardware and tell us what breaks. First adopters are what moves a platform from WIP to DONE. + contrib3_title: Test early builds + contrib4_text_html: Improve the wiki, proofread the website, make it sound native in your language. + contrib4_title: Write and translate + contrib5_text_html: Old boards past end-of-life are gold to us — platforms marked NEQ wait for exactly that hardware. What the stages mean. + contrib5_title: Donate retired hardware + contrib6_text: Write a post, record a video, show your build. Real stories from real users are the best advertising we will never buy. + contrib6_title: Spread the word + contribute_title: Ways to contribute + cta_join: Join the main Telegram group + help1_html: Check the wiki first — installation, FPV, and troubleshooting guides live there. + help2: Search the chat history; most first questions have been answered before. + help3: When you ask, include the SoC, the sensor, what you tried, and a boot log if you have one. Good questions get fast answers. + help_title: Getting help that gets answered + hero_lede: OpenIPC is built in the open by people who answer questions every day. Come say hi. + hero_title: Talk to us. + money_band_html: Prefer to help with money? Fund the work. + title: Community donate: + business_band_html: If your company depends on OpenIPC, the sustainable way to support it is a commercial relationship. See what we offer. + crypto_text_html: TON donations work right inside Telegram via @wallet. + crypto_title: Cryptocurrency + hero_lede: OpenIPC is free to use and expensive to make. Donations buy cameras for new platforms, pay maintainers, and keep the lights on. + hero_title: Fund the work. + oc_button: Donate on Open Collective + oc_text_html: Recurring or one-time, with open and transparent accounting. Recurring backers are permanently listed in the Sponsors section on our GitHub page. + oc_title: Open Collective + thanks: Thank you. It means more than you think. + title: Donate + where_text: Core team members spend their own money on cameras and SDK access to expand hardware support. Funds ease that burden, compensate part-time maintainers, and cover trade shows and vendor meetings where hardware partnerships actually happen. + where_title: Where the money goes + donate_band: please_support: Please consider supporting our projects title: Do you like what we do? + ecosystem: + contribute_cta_html: Pick a project and make it better. Start here. + hero_lede: 'OpenIPC is an ecosystem of more than a hundred open repositories: the firmware itself, the video pipeline, the tools around it, and the research that keeps old silicon alive.' + hero_title: More than firmware. + proj_aviateur: 'Cross-platform receiver: watch the link on Windows, Linux, or macOS.' + proj_burn: Unbricks HiSilicon devices over serial. + proj_coupler: The smooth migration path from vendor firmware to OpenIPC and back. No soldering, no special skills. + proj_devourer: An open foundation for SDR-like receivers built on cheap Wi-Fi hardware. + proj_divinus: An open-source streamer for a growing set of platforms. + proj_firmware: Universal, Buildroot-based firmware for IP cameras — replaces abandoned vendor systems on dozens of SoC families. + proj_ipctool: Identifies the SoC, sensor, and flash chip of nearly any camera — and backs up the stock firmware before you change anything. + proj_majestic: 'The streamer at the heart of the firmware: RTSP, ONVIF, WebRTC, HLS, audio, night modes. Distributed as a binary under the Prosperity license; commercial terms available.' + proj_microbe: The web interface of the firmware. + proj_onvif_tt: 'An ONVIF conformance test tool: verify what a camera actually implements. Free.' + proj_openhisilicon: Keeps the HiSilicon vendor SDK alive on mainline kernels — CVE fixes and modern features after the vendor walks away. + proj_openxiongmai: 'The same idea for Xiongmai SoCs: an open SDK replacement.' + proj_pixelpilot: 'The RX side: turns a Rockchip board into a dedicated ground station with display output.' + proj_qemu: A full HiSilicon IP camera emulator on QEMU — develop and test firmware without hardware on your desk. + proj_rnd_player: 'A player built for media engineers: inspect streams the way a developer needs to.' + proj_smolrtsp: An embeddable RTSP 1.0 server library for cameras and other constrained devices. TCP and UDP, any payload format. + proj_telemetry: Telemetry bridging between flight controllers and the ground. + proj_waybeam: 'The TX side of the link: a flexible video encoder for FPV drones and URLLC devices.' + proj_yamlcli: A small console tool for editing YAML configs from scripts. + section_community_text_html: User-made hardware, mounts, and accessories — like the 3D-printable models tagged openipc on Printables. + section_community_title: Community projects + section_core_text: The operating system, the streamer, and the tools that get you from stock firmware to OpenIPC. + section_core_title: Core firmware + section_longevity_text: 'Vendor SDKs assume vendor kernels: ancient, unpatched, abandoned. We port them to mainline — CVE fixes and modern kernel features long after end-of-life.' + section_longevity_title: Longevity & security + section_lowlat_text_html: The open video link for drones, robots, and teleoperation. Read the overview. + section_lowlat_title: Low latency & URLLC + section_tools_text: Free tools for camera and media engineers — useful even if you never flash our firmware. + section_tools_title: Pro tools + stage_legend_html: Every project carries an honest status badge — the same vocabulary we use for firmware platforms. How stages work. + title: Ecosystem firmware_partitions_calculation: end_address: End address flash_size_mb: Flash size, MB @@ -22,6 +129,28 @@ en: size_hex: Hex size, bytes start_address: Start address title: Firmware Partitions Calculation + get_started: + cta_find_soc: Find your SoC + editions_text: Lite fits 8 MB flash chips and covers the essentials. Ultimate adds extras like cloud streaming, tunnels, and more codecs — it needs 16 MB flash. + editions_title: Two editions + hero_lede: From stock firmware to OpenIPC in about half an hour — with a guide generated for your exact chip. + hero_title: Give your camera a second life. + step1_text_html: Run ipctool on the camera (telnet or serial console) to learn the SoC, the sensor, and the flash chip. A label or FCC ID search works as a fallback. + step1_title: Identify your hardware + step2_text: Look your chip up in the supported hardware table. The wizard assembles a firmware image and a step-by-step installation guide for your exact configuration, right in your browser. + step2_title: Find your SoC + step3_text: Follow the generated guide. It starts with a full backup of the stock firmware — do not skip it. + step3_title: Back up, then flash + stuck_text_html: The community answers questions every day. Ask in the chat — include your SoC, sensor, and a boot log if you have one. + stuck_title: Stuck? + title: Get Started + wall_text_html: One setting in the web interface puts your camera's snapshots on our live Open Wall — say hello to the community. + wall_title: Then join the Open Wall + warning_text_html: Flashing can brick a camera. The guide shows you how to make a full backup first, and Coupler can handle the safe path on supported models. If in doubt, ask in the chat before you flash. + warning_title: Honest warning + webui_title: The web interface + what_text: 'A clean Linux system with the Majestic streamer: RTSP, ONVIF, WebRTC, and HLS out of the box, a web interface, and full root access. Your camera, actually yours.' + what_title: What you get green_life: paragraph1: OpenIPC contributes to sustainability by primarily providing open firmware for IP cameras, directly engaging in the efficient use and repurposing of existing hardware. paragraph2: By extending the lifespan of cameras through customizable firmware updates and features, OpenIPC reduces electronic waste. @@ -31,6 +160,48 @@ en: high_resolution_timer: reload_to_reset: Time shown in milliseconds. Reload page to reset the counter. title: High-Resolution Timer + home: + business_cta: Talk to the team + business_text: Commercial support, custom development, and OEM licensing — from the people who build the platform. + business_title: Building a product on OpenIPC? + cta_donate_html: Prefer to support the work directly? Donate. + cta_primary: Get started + cta_secondary: Join our Telegram + cta_title: Flash your first camera this weekend. + hero_cta_low_latency: Low-latency video + hero_cta_start: Get started + hero_lede: Open firmware and tools for IP cameras, FPV drones, and the devices in between. Your hardware should answer to you — not to a vendor's cloud. + hero_microline: 140+ repositories · dozens of SoC families · no cloud required + hero_title: The open platform for embedded video. + partners_title: Trusted by manufacturers, integrators, and research teams + pillar_firmware_text: An open, Buildroot-based OS for IP cameras across dozens of SoC families, with the Majestic streamer at its core. + pillar_firmware_title: Camera firmware + pillar_longevity_text: 'We keep vendor SDKs alive on mainline kernels: CVE fixes and modern features long after the vendor walks away.' + pillar_longevity_title: Longevity & security + pillar_low_latency_text: An open video link for FPV drones, robots, and teleoperation. Glass-to-glass from about 60 ms on supported hardware. + pillar_low_latency_title: Low-latency video links + pillar_tools_text: ONVIF conformance testing, camera emulation, hardware inspection — free tools we built for ourselves and share with everyone. + pillar_tools_title: Pro tools + pillars_lede: OpenIPC is more than firmware — it is an ecosystem built by people who run it on their own hardware. + pillars_title: One platform, four fronts + silicon_title: Runs on silicon by + stats_languages: languages + stats_repos: open repositories + stats_since: building openly since + stats_socs: supported SoCs + stats_vendors: chip vendors + story_cta: Revive your camera + story_step1_text: Firmware updates stop. Security holes stay. The app disappears from the store. + story_step1_title: The vendor moves on + story_step2_text: Servers get switched off, and a working camera turns into plastic and silicon with nothing to do. + story_step2_title: The cloud goes dark + story_step3_text: The camera boots an open, maintained system — and answers to you. No backdoors. No subscriptions. Less e-waste. + story_step3_title: You flash OpenIPC + story_title: Cameras shouldn't die when their cloud does. + title: The open platform for embedded video + wall_cta: "+ your camera here" + wall_live: 'Live now: cameras running OpenIPC around the world' + wall_snapshot_alt: 'Image: live snapshot from a community camera' introduction: alliance: Alliance button_binaries: Precompiled binary files @@ -57,6 +228,37 @@ en: development: Development gaming: Gaming solutions title: Introduction + low_latency: + business_bridge_html: Building a product on this link? Talk to us — we do custom development and OEM work. + credits_text: The radio link exists thanks to wfb-ng, and the ecosystem grows with friends like RubyFPV and Mario FPV. Open source is a team sport. + credits_title: Standing on open shoulders + cta_chat: Join the FPV chat + cta_guide: Read the build guide + fpv_text: 'A fully open digital FPV system: no locked ecosystem, no paired hardware, no firmware ceiling. Build the air unit from a supported camera, pick your ground station, and tune every stage of the pipeline.' + fpv_title: 'FPV: from lens to goggles' + hardware_text_html: Air units are built from supported cameras and AIO boards — start from the supported hardware list. RunCam and EMAX ship OpenIPC-based FPV hardware out of the box. + hardware_title: Hardware + hero_lede: 'FPV drones, robots, teleoperation: an open ultra-low-latency video stack from camera to screen. Glass-to-glass from about 60 ms on supported hardware.' + hero_title: Open video links for machines that can't wait. + how_link_text_html: wfb-ng broadcasts video, telemetry, and control over commodity Wi-Fi hardware — no association, no retransmit stalls. + how_link_title: The radio link + how_rx_text_html: PixelPilot turns a Rockchip board into a dedicated ground station, and Aviateur receives on Windows, Linux, and macOS. + how_rx_title: RX — your side + how_title: How the link works + how_tx_text_html: An OpenIPC camera with the Waybeam encoder produces the stream and feeds the radio link. + how_tx_title: TX — the air side + latency_1080p30: 1080p30 + latency_1080p60: 1080p60 + latency_720p60: 720p60 + latency_column_config: Configuration + latency_column_g2g: Typical glass-to-glass + latency_intro: 'Numbers depend on SoC, sensor, resolution, exposure, and heat. These are typical figures from our own measurements, not best-case marketing:' + latency_note: Measured with our own open hardware latency meter — built for exactly this job. + latency_title: Latency, honestly + robotics_text1: The same link carries video for industrial robots, AGVs, inspection rigs, and remote operation — anywhere a closed video system would lock you in or a cloud hop would add seconds. + robotics_text2: On supported SoCs, frames carry wall-clock timestamps tied to the sensor frame start — millisecond-class synchronization for multi-camera rigs without extra hardware. + robotics_title: 'Beyond drones: robots and teleoperation' + title: Low-Latency Video majestic_endpoints: moved_html: 'The list of endpoints your camera serves now lives in the camera''s own web interface, under Majestic → Endpoints. Open http://<camera-address>/ in a browser and pick it from the menu.' reason_address: 'your camera''s real address is filled in, so a URL can be copied straight into a player;' diff --git a/config/locales/pages.ru.yml b/config/locales/pages.ru.yml index e7979179..372adc09 100644 --- a/config/locales/pages.ru.yml +++ b/config/locales/pages.ru.yml @@ -8,9 +8,116 @@ ru: title: Панель администратора bandwidth_calculator: title: Калькулятор пропускной способности + business: + contact_alt_html: Удобнее в мессенджере? Напишите в Telegram. + contact_text: Расскажите, что вы строите. Ответит инженер, а не скрипт продаж. + contact_title: Свяжитесь с командой + hero_lede: Коммерческая поддержка, заказная разработка и OEM-лицензирование от основной команды. + hero_title: Стройте продукт на OpenIPC — вместе с теми, кто делает OpenIPC. + how1: Вы пишете нам о продукте и задаче. + how2: Скоуп-звонок с инженером. + how3: Пилот с понятными результатами. + how4: Дальше — поддержка или разработка в нужном вам объёме. + how_title: Как устроено сотрудничество + licensing_html: Ядро платформы под лицензией MIT — коммерческое использование приветствуется. Стример Majestic распространяется в бинарном виде под лицензией Prosperity; коммерческие условия доступны. Использование OpenIPC и его компонентов в военных целях запрещено. + licensing_title: Про лицензии, прямо + offer1_text: Приоритетные исправления, гарантированное время реакции и долгосрочное сопровождение платформ, от которых зависит ваш продукт. + offer1_title: Коммерческая поддержка + offer2_text: Запуск новых SoC, настройка сенсоров, NPU-функции, кастомные видеолинки, white-label-прошивки — по вашему ТЗ, руками тех, кто знает стек лучше всех. + offer2_title: Заказная разработка + offer3_text: Коммерческие лицензии Majestic, брендированные сборки и помощь с интеграцией для производителей, выпускающих продукты на OpenIPC. + offer3_title: OEM и лицензирование + partners_title: Компании, которые уже строят на OpenIPC + title: Для бизнеса + why1_text: Вендорский SDK даёт ядро и демку. OpenIPC даёт готовую прошивку со стримингом, веб-интерфейсом и обновлениями — вы стартуете с 90%, а не с нуля. + why1_title: Быстрее, чем голый SDK + why2_text: Наша работа с mainline-ядрами сохраняет платформы живыми после ухода вендора. Срок жизни вашего продукта не ограничен чужим роадмапом. + why2_title: Переживает EOL кремния + why3_text: Устройства работают без наших серверов — и вообще без чьих-либо. Ваша структура затрат остаётся вашей. + why3_title: Без облачного налога с каждого устройства + why4_text: Ядро открыто. Что бы ни случилось с любой компанией, включая нашу, ваш продукт продолжит собираться. + why4_title: Open source — ваша страховка + why_title: Почему компании строят на OpenIPC + community: + bot_warning: Новые участники отвечают на два коротких вопроса нашего приветственного бота. Если пропустили сообщение и не можете писать — выйдите из группы, зайдите снова и дождитесь сообщения бота. + channel_dev: Уведомления о сборках прямо из GitHub. + channel_en: Международная группа OpenIPC. + channel_fpv: Всё про FPV и видеолинки на OpenIPC. + channel_ru: Русскоязычная группа OpenIPC. + channels_title: Где мы живём + contrib1_text_html: Нашли баг? Заведите issue в нужном репозитории — хороший отчёт это уже вклад. + contrib1_title: Сообщайте об ошибках + contrib2_text: Форкните код, внесите улучшение, пришлите pull request. Маленькие исправления приветствуются — большинство из нас так и начинало. + contrib2_title: Улучшайте код + contrib3_text: Запускайте WIP-сборки на своём железе и рассказывайте, что сломалось. Именно первые пользователи двигают платформу от WIP к DONE. + contrib3_title: Тестируйте ранние сборки + contrib4_text_html: Улучшайте вики, вычитывайте сайт, делайте тексты родными для своего языка. + contrib4_title: Пишите и переводите + contrib5_text_html: Старые платы после EOL для нас золото — именно их ждут платформы со статусом NEQ. Что значат стадии. + contrib5_title: Отдавайте старое железо + contrib6_text: Напишите пост, снимите видео, покажите свою сборку. Настоящие истории настоящих пользователей — лучшая реклама, которую мы никогда не купим. + contrib6_title: Рассказывайте о проекте + contribute_title: Как помочь проекту + cta_join: Вступить в основную группу в Telegram + help1_html: Сначала загляните в вики — там живут гайды по установке, FPV и решению проблем. + help2: Поищите в истории чата — на большинство первых вопросов уже отвечали. + help3: В вопросе укажите SoC, сенсор, что уже пробовали и лог загрузки, если есть. Хорошие вопросы получают быстрые ответы. + help_title: Как получить ответ быстро + hero_lede: OpenIPC делается открыто людьми, которые отвечают на вопросы каждый день. Заходите. + hero_title: Поговорите с нами. + money_band_html: Хотите помочь деньгами? Поддержите работу. + title: Сообщество donate: + business_band_html: Если ваша компания зависит от OpenIPC, самый устойчивый способ поддержать проект — коммерческое сотрудничество. Что мы предлагаем. + crypto_text_html: Пожертвования в TON работают прямо в Telegram через @wallet. + crypto_title: Криптовалюта + hero_lede: OpenIPC бесплатен в использовании и дорог в производстве. Пожертвования покупают камеры для новых платформ, оплачивают работу мейнтейнеров и держат свет включённым. + hero_title: Поддержите работу. + oc_button: Пожертвовать на Open Collective + oc_text_html: Разово или регулярно, с открытой и прозрачной бухгалтерией. Постоянные спонсоры навсегда попадают в раздел Sponsors на нашей странице GitHub. + oc_title: Open Collective + thanks: Спасибо. Это значит больше, чем кажется. + title: Поддержать + where_text: Члены основной команды тратят собственные деньги на камеры и доступ к SDK, чтобы расширять поддержку железа. Средства снимают эту нагрузку, оплачивают работу мейнтейнеров и поездки на выставки, где и случаются договорённости с производителями. + where_title: Куда идут деньги + donate_band: please_support: Узнайте, как вы можете его поддержать title: Нравится проект? + ecosystem: + contribute_cta_html: Выберите проект и сделайте его лучше. Начните здесь. + hero_lede: 'OpenIPC — это экосистема из более чем сотни открытых репозиториев: сама прошивка, видеотракт, инструменты вокруг и исследования, которые не дают умереть старому кремнию.' + hero_title: Больше, чем прошивка. + proj_aviateur: 'Кроссплатформенный приёмник: смотрите линк на Windows, Linux и macOS.' + proj_burn: Восстанавливает «окирпиченные» устройства HiSilicon через последовательный порт. + proj_coupler: Плавный переход с вендорской прошивки на OpenIPC и обратно. Без пайки и специальных навыков. + proj_devourer: Открытая основа для SDR-подобных приёмников на дешёвом Wi-Fi-железе. + proj_divinus: Стример с открытым кодом для растущего набора платформ. + proj_firmware: Универсальная прошивка на базе Buildroot для IP-камер — заменяет заброшенные вендорские системы на десятках семейств SoC. + proj_ipctool: Определяет SoC, сенсор и флеш-чип почти любой камеры — и снимает бэкап заводской прошивки до того, как вы что-то измените. + proj_majestic: 'Стример в сердце прошивки: RTSP, ONVIF, WebRTC, HLS, звук, ночные режимы. Распространяется в бинарном виде под лицензией Prosperity; коммерческие условия доступны.' + proj_microbe: Веб-интерфейс прошивки. + proj_onvif_tt: 'Инструмент проверки соответствия ONVIF: узнайте, что камера реализует на самом деле. Бесплатно.' + proj_openhisilicon: Поддерживает вендорский SDK HiSilicon на mainline-ядрах — исправления CVE и новые возможности после ухода производителя. + proj_openxiongmai: 'Та же идея для SoC Xiongmai: открытая замена SDK.' + proj_pixelpilot: 'Сторона RX: превращает плату на Rockchip в выделенную наземную станцию с выводом на экран.' + proj_qemu: Полный эмулятор IP-камер HiSilicon на QEMU — разрабатывайте и тестируйте прошивку без железа на столе. + proj_rnd_player: 'Плеер для медиа-инженеров: разбирайте потоки так, как нужно разработчику.' + proj_smolrtsp: Встраиваемая библиотека RTSP 1.0 для камер и других ограниченных устройств. TCP и UDP, любой формат полезной нагрузки. + proj_telemetry: Мост телеметрии между полётными контроллерами и землёй. + proj_waybeam: 'Сторона TX: гибкий видеоэнкодер для FPV-дронов и URLLC-устройств.' + proj_yamlcli: Маленький консольный инструмент для правки YAML-конфигов из скриптов. + section_community_text_html: Самодельное железо, крепления и аксессуары — например, модели для 3D-печати с тегом openipc на Printables. + section_community_title: Проекты сообщества + section_core_text: Операционная система, стример и инструменты, которые доведут вас от заводской прошивки до OpenIPC. + section_core_title: Ядро платформы + section_longevity_text: 'Вендорские SDK рассчитаны на вендорские ядра: древние, незакрытые, заброшенные. Мы переносим их на mainline — исправления CVE и современные возможности ядра спустя годы после EOL.' + section_longevity_title: Долголетие и безопасность + section_lowlat_text_html: Открытый видеолинк для дронов, роботов и телеуправления. Обзор. + section_lowlat_title: Низкая задержка и URLLC + section_tools_text: Бесплатные инструменты для камерных и медиа-инженеров — полезны, даже если вы никогда не прошьёте нашу прошивку. + section_tools_title: Инструменты для инженеров + stage_legend_html: У каждого проекта — честный значок статуса, тот же словарь, что и у прошивочных платформ. Как работают стадии. + title: Экосистема firmware_partitions_calculation: end_address: Конечный адрес flash_size_mb: Размер флешки, МБ @@ -22,6 +129,28 @@ ru: size_hex: Шестнадцатеричный размер, байт start_address: Начальный адрес title: Расчет разделов прошивки + get_started: + cta_find_soc: Найти свой SoC + editions_text: Lite помещается в 8 МБ флеш-памяти и покрывает базовые задачи. Ultimate добавляет облачные трансляции, туннели и дополнительные кодеки — ей нужно 16 МБ. + editions_title: Две редакции + hero_lede: От заводской прошивки до OpenIPC примерно за полчаса — с инструкцией, собранной под ваш конкретный чип. + hero_title: Подарите камере вторую жизнь. + step1_text_html: 'Запустите ipctool на камере (telnet или консоль UART): он покажет SoC, сенсор и флеш-чип. Этикетка или поиск по FCC ID — запасной вариант.' + step1_title: Определите железо + step2_text: Найдите чип в таблице поддерживаемого оборудования. Мастер соберёт образ прошивки и пошаговую инструкцию установки под вашу конфигурацию прямо в браузере. + step2_title: Найдите свой SoC + step3_text: Следуйте сгенерированной инструкции. Она начинается с полной резервной копии заводской прошивки — не пропускайте этот шаг. + step3_title: Бэкап, потом прошивка + stuck_text_html: Сообщество отвечает на вопросы каждый день. Спросите в чате — укажите SoC, сенсор и, если есть, лог загрузки. + stuck_title: Застряли? + title: Начало работы + wall_text_html: Одна настройка в веб-интерфейсе — и снимки вашей камеры появятся на нашей живой Открытой стене. Передайте привет сообществу. + wall_title: А потом — на Открытую стену + warning_text_html: Прошивка может «окирпичить» камеру. Инструкция показывает, как сначала снять полный бэкап, а Coupler на поддерживаемых моделях делает всё безопасно. Сомневаетесь — спросите в чате до прошивки. + warning_title: Честное предупреждение + webui_title: Веб-интерфейс + what_text: 'Чистый Linux со стримером Majestic: RTSP, ONVIF, WebRTC и HLS из коробки, веб-интерфейс и полный root-доступ. Ваша камера — действительно ваша.' + what_title: Что вы получите green_life: paragraph1: OpenIPC вносит свой вклад в устойчивое развитие, в первую очередь предоставляя открытые микропрограммы для IP-камер, непосредственно участвуя в эффективном использовании и перепрофилировании существующего оборудования. paragraph2: Продлевая срок службы камер за счет настраиваемых обновлений микропрограммного обеспечения и функций, OpenIPC сокращает количество электронных отходов. @@ -31,6 +160,48 @@ ru: high_resolution_timer: reload_to_reset: Время указано в миллисекундах. Перезагрузите страницу, чтобы сбросить счетчик. title: Таймер высокого разрешения + home: + business_cta: Связаться с командой + business_text: Коммерческая поддержка, заказная разработка и OEM-лицензирование — от людей, которые делают платформу. + business_title: Строите продукт на OpenIPC? + cta_donate_html: Хотите поддержать проект напрямую? Пожертвовать. + cta_primary: Начать + cta_secondary: Наш Telegram + cta_title: Прошейте свою первую камеру в эти выходные. + hero_cta_low_latency: Видео с низкой задержкой + hero_cta_start: Начать + hero_lede: Открытая прошивка и инструменты для IP-камер, FPV-дронов и всего, что между ними. Ваше железо должно подчиняться вам, а не облаку производителя. + hero_microline: 140+ репозиториев · десятки семейств SoC · облако не требуется + hero_title: Открытая платформа для встраиваемого видео. + partners_title: Нам доверяют производители, интеграторы и исследователи + pillar_firmware_text: Открытая ОС на базе Buildroot для IP-камер на десятках семейств SoC, со стримером Majestic в основе. + pillar_firmware_title: Прошивка для камер + pillar_longevity_text: 'Мы поддерживаем вендорские SDK на mainline-ядрах: исправления CVE и новые возможности спустя годы после ухода производителя.' + pillar_longevity_title: Долголетие и безопасность + pillar_low_latency_text: Открытый видеолинк для FPV-дронов, роботов и телеуправления. От ~60 мс «от стекла до стекла» на поддерживаемом железе. + pillar_low_latency_title: Видеолинки с низкой задержкой + pillar_tools_text: Проверка ONVIF, эмуляция камер, инспекция железа — бесплатные инструменты, которые мы сделали для себя и отдали всем. + pillar_tools_title: Инструменты для инженеров + pillars_lede: OpenIPC — больше, чем прошивка. Это экосистема, которую делают люди, использующие её на собственном железе. + pillars_title: Одна платформа, четыре направления + silicon_title: Работает на чипах + stats_languages: языков + stats_repos: открытых репозиториев + stats_since: открытая разработка с + stats_socs: поддерживаемых SoC + stats_vendors: производителей чипов + story_cta: Оживить камеру + story_step1_text: Обновления прекращаются. Дыры в безопасности остаются. Приложение исчезает из магазина. + story_step1_title: Производитель уходит + story_step2_text: Серверы выключают, и исправная камера превращается в кусок пластика и кремния без дела. + story_step2_title: Облако гаснет + story_step3_text: Камера загружает открытую, поддерживаемую систему — и подчиняется вам. Без бэкдоров. Без подписок. Меньше электронного мусора. + story_step3_title: Вы прошиваете OpenIPC + story_title: Камера не должна умирать вместе со своим облаком. + title: Открытая платформа для встраиваемого видео + wall_cta: "+ ваша камера здесь" + wall_live: 'Прямо сейчас: камеры на OpenIPC по всему миру' + wall_snapshot_alt: 'Изображение: живой снимок с камеры сообщества' introduction: alliance: Партнеры button_binaries: Готовые бинарные файлы @@ -57,6 +228,37 @@ ru: integrators: Integrators development: Development title: Вступление + low_latency: + business_bridge_html: Строите продукт на этом линке? Напишите нам — мы делаем заказную разработку и OEM. + credits_text: Радиолинк существует благодаря wfb-ng, а экосистема растёт вместе с друзьями — RubyFPV и Mario FPV. Open source — командный спорт. + credits_title: Стоим на открытых плечах + cta_chat: FPV-чат + cta_guide: Гайд по сборке + fpv_text: 'Полностью открытая цифровая FPV-система: никакой закрытой экосистемы, никакого спаренного железа, никакого потолка прошивки. Соберите борт из поддерживаемой камеры, выберите наземную станцию и настройте каждый этап конвейера.' + fpv_title: 'FPV: от объектива до очков' + hardware_text_html: Борт собирается из поддерживаемых камер и AIO-плат — начните со списка поддерживаемого оборудования. RunCam и EMAX выпускают FPV-железо на OpenIPC из коробки. + hardware_title: Железо + hero_lede: 'FPV-дроны, роботы, телеуправление: открытый видеотракт со сверхнизкой задержкой от камеры до экрана. От ~60 мс «от стекла до стекла» на поддерживаемом железе.' + hero_title: Открытые видеолинки для машин, которые не умеют ждать. + how_link_text_html: wfb-ng вещает видео, телеметрию и управление поверх обычного Wi-Fi-железа — без ассоциации и без пауз на повторную передачу. + how_link_title: Радиолинк + how_rx_text_html: PixelPilot превращает плату на Rockchip в выделенную наземную станцию, а Aviateur принимает на Windows, Linux и macOS. + how_rx_title: RX — ваша сторона + how_title: Как устроен линк + how_tx_text_html: Камера с OpenIPC и энкодером Waybeam формирует поток и отдаёт его в радиолинк. + how_tx_title: TX — борт + latency_1080p30: 1080p30 + latency_1080p60: 1080p60 + latency_720p60: 720p60 + latency_column_config: Конфигурация + latency_column_g2g: Типичная задержка «стекло-стекло» + latency_intro: 'Цифры зависят от SoC, сенсора, разрешения, экспозиции и нагрева. Это типичные значения из наших собственных измерений, а не лучший случай из маркетинга:' + latency_note: Измерено нашим собственным открытым аппаратным измерителем задержки, сделанным ровно для этой задачи. + latency_title: Честно про задержку + robotics_text1: Тот же линк несёт видео для промышленных роботов, AGV, инспекционных систем и удалённого управления — везде, где закрытая видеосистема привязала бы вас к вендору, а путь через облако добавил бы секунды. + robotics_text2: На поддерживаемых SoC кадры несут метки времени, привязанные к началу кадра сенсора, — миллисекундная синхронизация многокамерных систем без дополнительного железа. + robotics_title: 'Не только дроны: роботы и телеуправление' + title: Видео с низкой задержкой majestic_endpoints: moved_html: 'Список эндпоинтов, которые отдаёт камера, теперь живёт в веб-интерфейсе самой камеры, в меню Majestic → Endpoints. Откройте в браузере http://<адрес-камеры>/ и выберите этот пункт.' reason_address: 'подставлен настоящий адрес вашей камеры, поэтому ссылку можно скопировать прямо в плеер;' diff --git a/config/locales/pages.zh.yml b/config/locales/pages.zh.yml index 3aff90a7..350b7677 100644 --- a/config/locales/pages.zh.yml +++ b/config/locales/pages.zh.yml @@ -8,9 +8,116 @@ zh: title: 管理仪表板 bandwidth_calculator: title: 带宽计算器 + business: + contact_alt_html: 更喜欢即时沟通?在 Telegram 上给我们发消息。 + contact_text: 告诉我们你正在做什么产品。回复你的是工程师,不是销售话术。 + contact_title: 与团队沟通 + hero_lede: 由核心团队提供商业支持、定制开发与 OEM 授权。 + hero_title: 在 OpenIPC 上打造你的产品——与开发 OpenIPC 的人一起。 + how1: 你把产品和遇到的问题写信告诉我们。 + how2: 与工程师进行一次需求梳理沟通。 + how3: 一个交付物明确的试点项目。 + how4: 按你的需要提供持续的支持或开发。 + how_title: 合作是怎样进行的 + licensing_html: 平台核心采用 MIT 许可证,欢迎商业使用。Majestic 推流器以二进制形式在 Prosperity 许可证下分发,可另行商谈商业条款。不允许将 OpenIPC 及其组件用于军事用途。 + licensing_title: 授权,直说 + offer1_text: 优先修复、有保障的响应时间,以及对你产品所依赖平台的长期维护。 + offer1_title: 商业支持 + offer2_text: SoC 移植、传感器调优、NPU 功能、定制视频链路、白牌固件——由最熟悉这套技术栈的人按你的规格来做。 + offer2_title: 定制开发 + offer3_text: Majestic 的商业授权、定制品牌固件,以及为出货 OpenIPC 产品的制造商提供集成支持。 + offer3_title: OEM 与授权 + partners_title: 已经基于 OpenIPC 开发的公司 + title: 面向企业 + why1_text: 原厂 SDK 给你的是一个内核和一个演示程序。OpenIPC 给你的是一套可出货的固件,包含推流、Web 界面和更新——你从 90% 起步,而不是从零开始。 + why1_title: 比原始 SDK 更快 + why2_text: 我们在主线内核上的工作让原厂放弃后的平台继续得到维护。你的产品寿命不再受原厂路线图的限制。 + why2_title: 芯片停产后依然可用 + why3_text: 设备无需依赖我们的服务器,也不依赖任何人的服务器。你的成本结构仍然由你掌握。 + why3_title: 没有按台收取的云费用 + why4_text: 核心是开放的。无论任何公司(包括我们)发生什么,你的产品都能继续构建。 + why4_title: 开源就是你的托管保障 + why_title: 企业为什么选择 OpenIPC + community: + bot_warning: 新成员加入后需要回答欢迎机器人提出的两个简单问题。如果你错过了提示且无法发言,请退出并重新加入群组,然后留意机器人的消息。 + channel_dev: 直接来自 GitHub 的构建通知。 + channel_en: OpenIPC 国际群组。 + channel_fpv: 关于基于 OpenIPC 的 FPV 与视频链路的一切。 + channel_ru: OpenIPC 俄语群组。 + channels_title: 我们在哪里活动 + contrib1_text_html: 发现了缺陷?请到对应的仓库提交 issue——一份好的报告本身就是贡献。 + contrib1_title: 报告缺陷 + contrib2_text: Fork 代码,做出改进,提交 pull request。小修小补同样受欢迎——我们大多数人都是这样开始的。 + contrib2_title: 改进代码 + contrib3_text: 在你的硬件上运行开发中的版本,并告诉我们哪里出了问题。第一批尝鲜者正是推动平台从 WIP 走向 DONE 的力量。 + contrib3_title: 测试早期版本 + contrib4_text_html: 完善维基,校对网站文字,让它读起来像母语。 + contrib4_title: 撰写与翻译 + contrib5_text_html: 停产的老板子对我们非常宝贵——标记为 NEQ 的平台等的正是这类硬件。了解各阶段的含义。 + contrib5_title: 捐赠退役硬件 + contrib6_text: 写一篇文章、录一段视频、展示你的作品。真实用户的真实故事,是我们永远买不到的最好宣传。 + contrib6_title: 帮我们传播 + contribute_title: 参与贡献的方式 + cta_join: 加入主 Telegram 群组 + help1_html: 先查阅维基——安装、FPV 和排障指南都在那里。 + help2: 搜索聊天记录;大多数新手问题此前都已有人解答。 + help3: 提问时请附上 SoC、传感器、你已经尝试过的做法,以及启动日志(如果有)。问题问得好,答案来得快。 + help_title: 怎样提问才会有人回答 + hero_lede: OpenIPC 由每天都在回答问题的人们公开构建。来打个招呼吧。 + hero_title: 来和我们聊聊。 + money_band_html: 更愿意用资金支持?资助这项工作。 + title: 社区 donate: + business_band_html: 如果贵公司依赖 OpenIPC,更可持续的支持方式是建立商业合作关系。看看我们能提供什么。 + crypto_text_html: TON 捐赠可以直接在 Telegram 中通过 @wallet 完成。 + crypto_title: 加密货币 + hero_lede: OpenIPC 使用免费,制作昂贵。捐款用于购买新平台的摄像机、支付维护者的报酬,并维持项目运转。 + hero_title: 资助这项工作。 + oc_button: 在 Open Collective 上捐赠 + oc_text_html: 可定期或一次性捐赠,账目公开透明。定期支持者会被长期列入我们 GitHub 页面的 Sponsors 板块。 + oc_title: Open Collective + thanks: 谢谢你。这比你想象的更有意义。 + title: 捐赠 + where_text: 核心团队成员自掏腰包购买摄像机和 SDK 授权,以扩展硬件支持。资金可以减轻这一负担,为兼职维护者提供补偿,并支付促成硬件合作的展会与厂商会面开销。 + where_title: 钱用在哪里 + donate_band: please_support: 请考虑支持我们 title: 喜欢我们的项目吗? + ecosystem: + contribute_cta_html: 选一个项目,把它做得更好。从这里开始。 + hero_lede: 'OpenIPC 是一个由一百多个开放仓库组成的生态:固件本身、视频管线、周边工具,以及让老芯片继续存活的研究工作。' + hero_title: 不只是固件。 + proj_aviateur: '跨平台接收端:在 Windows、Linux 或 macOS 上观看链路画面。' + proj_burn: 通过串口解救变砖的海思设备。 + proj_coupler: 在原厂固件与 OpenIPC 之间平滑迁移、并可回退的方案。无需焊接,也不需要特殊技能。 + proj_devourer: 基于廉价 Wi-Fi 硬件构建类 SDR 接收端的开放基础。 + proj_divinus: 面向不断增加的平台的开源推流器。 + proj_firmware: 基于 Buildroot 的通用 IP 摄像机固件——在数十个 SoC 系列上取代已被弃用的原厂系统。 + proj_ipctool: 识别几乎任何摄像机的 SoC、传感器和闪存芯片——并在你做任何改动之前备份原厂固件。 + proj_majestic: '固件核心中的推流器:RTSP、ONVIF、WebRTC、HLS、音频、夜视模式。以二进制形式在 Prosperity 许可证下分发,可另行商谈商业条款。' + proj_microbe: 固件的 Web 界面。 + proj_onvif_tt: 'ONVIF 一致性测试工具:验证一台摄像机究竟实现了哪些功能。免费。' + proj_openhisilicon: 让海思原厂 SDK 在主线内核上继续存活——在厂商撒手之后,仍能获得 CVE 修复与现代特性。 + proj_openxiongmai: '面向雄迈 SoC 的同类工作:一套开放的 SDK 替代方案。' + proj_pixelpilot: '接收端:把一块 Rockchip 板子变成带显示输出的专用地面站。' + proj_qemu: 基于 QEMU 的完整海思 IP 摄像机模拟器——桌面上没有硬件也能开发和测试固件。 + proj_rnd_player: '为媒体工程师打造的播放器:以开发者需要的方式检视码流。' + proj_smolrtsp: 可嵌入的 RTSP 1.0 服务端库,适用于摄像机等资源受限设备。支持 TCP 与 UDP,任意负载格式。 + proj_telemetry: 在飞控与地面之间桥接遥测数据。 + proj_waybeam: '链路的发送端:面向 FPV 无人机与 URLLC 设备的灵活视频编码器。' + proj_yamlcli: 一个用于在脚本中编辑 YAML 配置的小型命令行工具。 + section_community_text_html: 社区自制的硬件、支架与配件——例如在 Printables 上标记为 openipc 的可 3D 打印模型。 + section_community_title: 社区项目 + section_core_text: 操作系统、推流器,以及把你从原厂固件带到 OpenIPC 的各种工具。 + section_core_title: 核心固件 + section_longevity_text: '原厂 SDK 默认搭配原厂内核:陈旧、未打补丁、无人维护。我们把它们移植到主线内核——在停产很久之后仍能获得 CVE 修复与现代内核特性。' + section_longevity_title: 长期维护与安全 + section_lowlat_text_html: 面向无人机、机器人与遥操作的开放视频链路。阅读概览。 + section_lowlat_title: 低延迟与 URLLC + section_tools_text: 为摄像机与媒体工程师提供的免费工具——即使你从不刷入我们的固件,它们同样有用。 + section_tools_title: 专业工具 + stage_legend_html: 每个项目都带有诚实的状态标记——与我们用于固件平台的是同一套说法。各阶段是怎么划分的。 + title: 生态 firmware_partitions_calculation: end_address: 结束地址 flash_size_mb: 闪存大小,MB @@ -22,6 +129,28 @@ zh: size_hex: 十六进制大小,字节 start_address: 起始地址 title: 固件分区计算 + get_started: + cta_find_soc: 查找你的 SoC + editions_text: Lite 版适配 8 MB 闪存,覆盖基本功能。Ultimate 版增加了云推流、隧道和更多编解码器等扩展功能,需要 16 MB 闪存。 + editions_title: 两个版本 + hero_lede: 从原厂固件到 OpenIPC,大约半小时——并附上为你的具体芯片生成的指南。 + hero_title: 给你的摄像机第二次生命。 + step1_text_html: 在摄像机上运行 ipctool(通过 telnet 或串口终端),确认 SoC、传感器和闪存芯片。查看标签或搜索 FCC ID 也可以作为备选办法。 + step1_title: 确认你的硬件 + step2_text: 在支持硬件列表中查找你的芯片。向导会直接在浏览器里为你的具体配置组装固件镜像并生成分步安装指南。 + step2_title: 找到你的 SoC + step3_text: 按生成的指南操作。第一步就是完整备份原厂固件——不要跳过。 + step3_title: 先备份,再刷机 + stuck_text_html: 社区每天都在回答问题。到聊天群里提问——请附上你的 SoC、传感器,以及启动日志(如果有)。 + stuck_title: 卡住了? + title: 快速上手 + wall_text_html: 在 Web 界面里打开一个开关,你的摄像机快照就会出现在我们的实时开放墙上——来和社区打个招呼。 + wall_title: 然后加入开放墙 + warning_text_html: 刷机有可能让摄像机变砖。指南会先教你做完整备份,在受支持的型号上 Coupler 也能走更安全的路径。如果没有把握,请在刷机前到聊天群里问一问。 + warning_title: 老实提醒 + webui_title: Web 界面 + what_text: '一套干净的 Linux 系统,搭配 Majestic 推流器:开箱即用的 RTSP、ONVIF、WebRTC 和 HLS,一个 Web 界面,以及完整的 root 权限。你的摄像机,真正属于你。' + what_title: 你会得到什么 green_life: paragraph1: OpenIPC 主要为 IP 摄像机提供开放式固件,直接参与现有硬件的有效利用和再利用,从而为可持续发展做出贡献。 paragraph2: 通过可定制的固件更新和功能,OpenIPC 延长了摄像机的使用寿命,减少了电子垃圾。 @@ -31,6 +160,48 @@ zh: high_resolution_timer: reload_to_reset: 以毫秒为单位显示的时间。重新加载页面以重置计数器。 title: 高分辨率定时器 + home: + business_cta: 与团队沟通 + business_text: 商业支持、定制开发与 OEM 授权——由构建这个平台的人提供。 + business_title: 正在基于 OpenIPC 打造产品? + cta_donate_html: 更愿意直接支持这项工作?捐赠。 + cta_primary: 快速上手 + cta_secondary: 加入我们的 Telegram + cta_title: 这个周末就刷好你的第一台摄像机。 + hero_cta_low_latency: 低延迟视频 + hero_cta_start: 快速上手 + hero_lede: 面向 IP 摄像机、FPV 无人机以及介于两者之间的设备的开放固件与工具。你的硬件应当听你的,而不是听某个厂商云端的。 + hero_microline: 140+ 个仓库 · 数十个 SoC 系列 · 无需云端 + hero_title: 面向嵌入式视频的开放平台。 + partners_title: 制造商、集成商与研究团队的共同选择 + pillar_firmware_text: 面向数十个 SoC 系列的 IP 摄像机开放固件,基于 Buildroot,核心是 Majestic 推流器。 + pillar_firmware_title: 摄像机固件 + pillar_longevity_text: '我们让原厂 SDK 在主线内核上继续存活:在厂商撒手很久之后,依然提供 CVE 修复与现代特性。' + pillar_longevity_title: 长期维护与安全 + pillar_low_latency_text: 面向 FPV 无人机、机器人与遥操作的开放视频链路。在受支持的硬件上,端到端延迟低至约 60 毫秒。 + pillar_low_latency_title: 低延迟视频链路 + pillar_tools_text: ONVIF 一致性测试、摄像机模拟、硬件检测——我们为自己打造并与所有人分享的免费工具。 + pillar_tools_title: 专业工具 + pillars_lede: OpenIPC 不只是固件——它是一个由亲自在自己硬件上运行它的人们构建的生态。 + pillars_title: 一个平台,四条战线 + silicon_title: 支持的芯片厂商 + stats_languages: 种语言 + stats_repos: 个开放仓库 + stats_since: 年起公开开发 + stats_socs: 款支持的 SoC + stats_vendors: 家芯片厂商 + story_cta: 让你的摄像机复活 + story_step1_text: 固件更新停了。安全漏洞还在。App 从应用商店里消失了。 + story_step1_title: 厂商转身离开 + story_step2_text: 服务器被关掉,一台还能用的摄像机就变成了无事可做的塑料和硅片。 + story_step2_title: 云端熄灯 + story_step3_text: 摄像机启动了一套开放且持续维护的系统——并且听你的。没有后门,没有订阅,也少了一件电子垃圾。 + story_step3_title: 你刷入 OpenIPC + story_title: 摄像机不该随着它的云一起死去。 + title: 面向嵌入式视频的开放平台 + wall_cta: "+ 把你的摄像机放这里" + wall_live: '正在直播:世界各地运行 OpenIPC 的摄像机' + wall_snapshot_alt: '图片:来自社区摄像机的实时快照' introduction: alliance: 联盟 button_binaries: 预编译的二进制文件 @@ -57,6 +228,37 @@ zh: integrators: Integrators development: Development title: 介绍 + low_latency: + business_bridge_html: 想基于这条链路做产品?和我们谈谈——我们承接定制开发与 OEM 合作。 + credits_text: 这条无线链路得益于 wfb-ng,整个生态也在 RubyFPV、Mario FPV 等伙伴的参与下不断成长。开源是一项团队运动。 + credits_title: 站在开放的肩膀上 + cta_chat: 加入 FPV 聊天群 + cta_guide: 阅读搭建指南 + fpv_text: '一套完全开放的数字 FPV 系统:没有封闭生态,没有配对绑定的硬件,也没有固件上限。用受支持的摄像机搭建天空端,挑选你的地面站,并可调节管线的每一个环节。' + fpv_title: 'FPV:从镜头到眼镜' + hardware_text_html: 天空端由受支持的摄像机和 AIO 板搭建——请从支持硬件列表开始。RunCam 与 EMAX 出厂即提供基于 OpenIPC 的 FPV 硬件。 + hardware_title: 硬件 + hero_lede: 'FPV 无人机、机器人、遥操作:一套从摄像机到屏幕的开放超低延迟视频方案。在受支持的硬件上,端到端延迟低至约 60 毫秒。' + hero_title: 为等不起的机器提供开放视频链路。 + how_link_text_html: wfb-ng 在普通 Wi-Fi 硬件上广播视频、遥测与控制信号——无需关联,也不会因重传而卡顿。 + how_link_title: 无线链路 + how_rx_text_html: PixelPilot 把一块 Rockchip 板子变成专用地面站,Aviateur 则可在 Windows、Linux 和 macOS 上接收。 + how_rx_title: 接收端——你这一侧 + how_title: 这条链路是怎么工作的 + how_tx_text_html: 一台装有 Waybeam 编码器的 OpenIPC 摄像机负责产生码流并送入无线链路。 + how_tx_title: 发送端——天空这一侧 + latency_1080p30: 1080p30 + latency_1080p60: 1080p60 + latency_720p60: 720p60 + latency_column_config: 配置 + latency_column_g2g: 典型端到端延迟 + latency_intro: '具体数值取决于 SoC、传感器、分辨率、曝光和温度。以下是我们自己实测得到的典型值,而不是最理想情况下的宣传数字:' + latency_note: 使用我们自己的开源硬件延迟测量仪测得——它正是为这件事而造的。 + latency_title: 延迟,实话实说 + robotics_text1: 同一条链路也为工业机器人、AGV、巡检设备和远程操作传输视频——凡是封闭视频系统会把你锁死、或者绕行云端会带来数秒延迟的场合,都用得上。 + robotics_text2: 在受支持的 SoC 上,画面帧会携带与传感器曝光起始对齐的挂钟时间戳——无需额外硬件即可实现多摄像机毫秒级同步。 + robotics_title: '不止于无人机:机器人与遥操作' + title: 低延迟视频 majestic_endpoints: moved_html: '摄像机提供的接口列表现在位于摄像机自身的 Web 界面中,菜单路径为 Majestic → Endpoints。在浏览器中打开 http://<摄像机地址>/,然后从菜单中选择该项。' reason_address: '页面中填入的是您摄像机的真实地址,可以直接把链接复制到播放器;' diff --git a/config/routes.rb b/config/routes.rb index 97cc1bb8..6e370592 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -6,6 +6,18 @@ root "pages#introduction" get '/aaa', to: 'pages#aaa' + + # The relaunched pages. They answer on their own URLs from here, so they can be + # reviewed and deployed on their own, but nothing links to them yet: the root + # route and the navigation still serve the pre-relaunch structure. The cutover + # is a separate change. + get '/get-started', to: 'pages#get_started' + get '/low-latency', to: 'pages#low_latency' + get '/ecosystem', to: 'pages#ecosystem' + get '/business', to: 'pages#business' + get '/community', to: 'pages#community' + get '/donate', to: 'pages#donate' + get '/home', to: 'pages#home' get '/majestic-endpoints', to: 'pages#majestic_endpoints' get '/coupler', to: redirect('https://github.com/openipc//coupler/') @@ -65,8 +77,15 @@ get '/tools/qr-code-generator', to: 'pages#qr_code_generator' get '/tools/timelaps-interval-calculator', to: 'pages#timelaps_interval_calculator' - # get '/open-wall(/:page)', to: 'snapshots#index' - # get '/open-wall/camera/:id', to: 'snapshots#camera', as: 'openwall_camera' + # Commented out in ed0e025, a bulk tidy-up, while five places that redirect to + # /open-wall were left in: snapshots_controller.rb twice, + # admin/snapshots_controller.rb, and the breadcrumb on three views. Every one + # of them fell through to the catch-all and answered a 302 to the homepage. + # + # This exposes nothing new. `resources :snapshots` has served the same gallery + # at /snapshots throughout; these are the URLs the site itself uses for it. + get '/open-wall/camera/:id', to: 'snapshots#camera', as: 'openwall_camera' + get '/open-wall(/:page)', to: 'snapshots#index', as: 'open_wall' resources :snapshots do get :camera, on: :collection diff --git a/test/controllers/relaunch_pages_test.rb b/test/controllers/relaunch_pages_test.rb new file mode 100644 index 00000000..537a8179 --- /dev/null +++ b/test/controllers/relaunch_pages_test.rb @@ -0,0 +1,128 @@ +# frozen_string_literal: true + +require 'test_helper' + +# The seven pages the relaunch adds. They answer on their own URLs but nothing +# links to them yet, so nobody would notice one of them 500ing -- which is +# exactly why they are tested before the cutover rather than after it. +class RelaunchPagesTest < ActionDispatch::IntegrationTest + PAGES = { + '/home' => 'home', + '/get-started' => 'get_started', + '/low-latency' => 'low_latency', + '/ecosystem' => 'ecosystem', + '/business' => 'business', + '/community' => 'community', + '/donate' => 'donate' + }.freeze + + LOCALES = %i[en ru zh].freeze + + PAGES.each do |path, key| + LOCALES.each do |locale| + test "#{path} renders in #{locale}" do + get "#{path}?locale=#{locale}" + + assert_response :success + # A key that exists in en but not here would render as this span, and + # the page would still answer 200. i18n-tasks catches a key missing + # everywhere; only rendering catches one missing from one locale. + assert_no_match(/translation missing/i, response.body) + assert_select 'h1, h2', minimum: 1 + end + end + + test "#{path} sets a page title" do + get path + + assert_select 'title' do |tags| + assert_no_match(/translation missing/i, tags.first.text) + assert_match(/OpenIPC/, tags.first.text) + end + assert_not_nil I18n.t("pages.#{key}.title", default: nil), "pages.#{key}.title is not defined" + end + end + + # A fresh checkout has an empty database. The homepage reads counts and + # snapshots from it, and must render rather than 500 or show "0 supported + # SoCs" as though that were a fact about the project. + test 'the homepage renders against an empty database' do + assert_equal 0, Snapshot.count + assert_equal 0, Soc.count + + get '/home' + + assert_response :success + end + + # These pages lay out their own full-bleed sections and opt out of the + # layout's wrapper. If the switch stopped working they would still render, + # just wrongly, inside a centred column. + # + # The selector is the layout's own `container mb-4`, not any `.container`: + # most of these pages open a plain `.container` of their own directly under + #
, and matching that would pass whether the switch worked or not. + test 'the relaunch pages opt out of the layout wrapper' do + PAGES.each_key do |path| + get path + + assert_empty css_select('main > div.container.mb-4'), "#{path} kept the layout wrapper" + end + end + + # The inverse, so the switch is pinned from both sides: a page that asks for + # nothing must still get the wrapper. + test 'a pre-relaunch page still gets the layout wrapper' do + get '/introduction' + + assert_not_empty css_select('main > div.container.mb-4') + end + + # Every internal link on the new pages has to resolve. A link to a path the + # router does not know falls through the catch-all to a 302 home, which looks + # like a working link right up until someone clicks it. + test 'internal links on the relaunch pages all resolve' do + PAGES.each_key do |path| + get path + + hrefs = css_select('a[href^="/"]').map { |a| a['href'] }.uniq + hrefs.each do |href| + get href + # A redirect is fine -- /supported-hardware legitimately 301s to + # /featured. What is not fine is landing at the homepage, which is + # where the "*unmatched" catch-all sends anything the router does not + # recognise: the signature of a link to a path that does not exist. + if response.redirect? + assert_not_equal '/', URI.parse(response.location).path, + "#{path} links to #{href}, which falls through to the catch-all" + follow_redirect! + end + + assert_response :success, "#{path} links to #{href}, which answered #{response.status}" + end + end + end + + # The integrator wall is territory-specific: these companies serve Russia and + # were explicitly not to be shown to everyone. + test 'Russian integrators appear for ru and for nobody else' do + marker = PagesHelper::RU_INTEGRATORS.first[:img] + + get '/home?locale=ru' + + assert_includes response.body, marker.sub('.png', '') + + %w[en zh].each do |locale| + get "/home?locale=#{locale}" + + assert_not_includes response.body, marker.sub('.png', ''), + "RU integrators leaked into #{locale}" + end + end + + test 'every partner logo the helper names exists as an asset' do + (PagesHelper::INTERNATIONAL_PARTNERS + PagesHelper::RU_INTEGRATORS).each do |logo| + assert_path_exists Rails.root.join('app/assets/images', logo[:img]) + end + end +end From de3d677aac9f4154deec4a91a74622ff898b34df Mon Sep 17 00:00:00 2001 From: AI Dev Date: Tue, 25 Aug 2026 15:32:44 +0000 Subject: [PATCH 4/4] Serve the relaunched site The root becomes pages#home, the navigation becomes Get Started | Hardware | Low Latency | Ecosystem | For Business | Community, and the single copyright line becomes a four-column footer. Everything that has been building up over the last four changes is now what a visitor sees. The pre-relaunch URLs redirect rather than disappear. They are in search results, in forum posts and in the wiki, and none of that is ours to edit: 301 for the ones whose destination is settled, so what is indexed transfers instead of competing, and 302 for /about alone, because it is meant to become a page of its own and a 301 is cached by browsers indefinitely -- it would outlive the decision. There is a test per redirect, and a test that every target resolves, because a redirect to a path that has itself gone still answers 301 here and lands the visitor on the homepage. TWO ROUTES THAT ANSWERED 500. Building the new menu meant looking at every URL it would link, and two of them had never worked: /tools/bandwidth-calculator routed to pages#bandwidth_calculator. There is no such action and no such template. Every request raised AbstractController::ActionNotFound, which in production is a 500. /tools/timelaps-interval-calculator routed to pages#timelaps_interval_ calculator, which likewise does not exist -- the template is there but named with hyphens, so nothing could render it, and it has no translations either. Both routes are removed, so an inbound link now reaches the homepage rather than an error page. Neither page is linked from the new navigation, and the unfinished timelapse template is left in the tree: finishing it is a decision for whoever started it, not something to settle with a routing change. The upload API keeps its own test. Cameras POST to /snapshots and the gallery moved to /open-wall; the API did not move at all, and nothing in the relaunch may shadow it. That test found a third thing. Snapshot read Rails.application.credentials.mac.blacklisted directly, so without config/master.key -- which is what a fresh checkout and the test environment have -- credentials.mac is nil and every upload raised NoMethodError rather than simply having nothing to blacklist. Production has the key, so it never showed there; it made the API impossible to exercise anywhere else. It digs now. The pages that were replaced are deleted, along with their translations and the navigation entries that pointed at them: i18n-tasks unused goes from 102 to 72, below where it started, rather than up. pages/_legacy.scss loses two of its three rules with the pages they styled -- including the CSS territory gate that never matched anything. Two white stripes showed up in the rendered page where one dark band met the next: the CTA band and the footer both carried a top margin on top of their own padding. Both dropped. 289 runs, 1276 assertions, 0 failures. i18n-tasks reports no missing translations across en, ru and zh. rubocop is 734 offences over 114 files against 742 over 111 on master. Every page was rendered in a browser in all three languages before this was committed, which is how the footer stylesheet turned out never to have been imported. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_015hvzXBErEjEGMyRme2K3hi --- .../stylesheets/application.bootstrap.scss | 1 + .../stylesheets/components/_footer.scss | 49 +++++++++ app/assets/stylesheets/pages/_legacy.scss | 46 +++----- app/controllers/pages_controller.rb | 30 ------ app/models/snapshot.rb | 9 +- app/views/layouts/_footer.html.erb | 82 ++++++++++---- app/views/layouts/_navbar.html.erb | 62 ++++++----- app/views/layouts/application.html.erb | 6 -- app/views/pages/_donate.html.erb | 14 --- app/views/pages/aaa.html.erb | 2 - app/views/pages/donate.html.erb | 2 +- app/views/pages/introduction.html.erb | 100 ------------------ app/views/pages/our_channels.html.erb | 83 --------------- app/views/pages/our_projects.html.erb | 26 ----- app/views/pages/our_software.html.erb | 53 ---------- app/views/pages/support_open_source.html.erb | 77 -------------- app/views/shared/_cta_band.html.erb | 2 +- config/locales/en.yml | 55 ++++------ config/locales/pages.en.yml | 97 +---------------- config/locales/pages.ru.yml | 97 +---------------- config/locales/pages.zh.yml | 97 +---------------- config/locales/ru.yml | 57 ++++------ config/locales/zh.yml | 57 ++++------ config/routes.rb | 49 ++++++--- test/controllers/page_metadata_test.rb | 7 +- test/controllers/redirects_test.rb | 79 ++++++++++++++ test/controllers/relaunch_pages_test.rb | 12 +-- 27 files changed, 363 insertions(+), 888 deletions(-) create mode 100644 app/assets/stylesheets/components/_footer.scss delete mode 100644 app/views/pages/_donate.html.erb delete mode 100644 app/views/pages/aaa.html.erb delete mode 100644 app/views/pages/introduction.html.erb delete mode 100644 app/views/pages/our_channels.html.erb delete mode 100644 app/views/pages/our_projects.html.erb delete mode 100644 app/views/pages/our_software.html.erb delete mode 100644 app/views/pages/support_open_source.html.erb create mode 100644 test/controllers/redirects_test.rb diff --git a/app/assets/stylesheets/application.bootstrap.scss b/app/assets/stylesheets/application.bootstrap.scss index 03835146..3ab899d2 100644 --- a/app/assets/stylesheets/application.bootstrap.scss +++ b/app/assets/stylesheets/application.bootstrap.scss @@ -20,6 +20,7 @@ $bootstrap-icons-font-dir: '/fonts'; @import 'base'; @import 'components/navbar'; +@import 'components/footer'; @import 'components/sections'; @import 'components/cards'; @import 'components/stage-badge'; diff --git a/app/assets/stylesheets/components/_footer.scss b/app/assets/stylesheets/components/_footer.scss new file mode 100644 index 00000000..4e6a34a1 --- /dev/null +++ b/app/assets/stylesheets/components/_footer.scss @@ -0,0 +1,49 @@ +footer.site-footer { + background: $ink; + color: rgba(255, 255, 255, .78); + + h2, h3 { + color: #fff; + font-size: .875rem; + font-weight: 600; + letter-spacing: .04em; + text-transform: uppercase; + } + + a { + color: rgba(255, 255, 255, .78); + text-decoration: none; + + &:hover, &:focus { + color: #fff; + text-decoration: underline; + } + } + + ul { + list-style: none; + margin: 0; + padding: 0; + + li { + margin-bottom: .375rem; + } + } + + // Existing social icons are black SVGs — invert them on the dark footer. + .social-links img { + filter: invert(1); + opacity: .75; + transition: opacity .15s ease-out; + } + + .social-links a:hover img, + .social-links a:focus img { + opacity: 1; + } + + .footer-bottom { + border-top: 1px solid rgba(255, 255, 255, .08); + color: rgba(255, 255, 255, .55); + } +} diff --git a/app/assets/stylesheets/pages/_legacy.scss b/app/assets/stylesheets/pages/_legacy.scss index e9322e29..72d60368 100644 --- a/app/assets/stylesheets/pages/_legacy.scss +++ b/app/assets/stylesheets/pages/_legacy.scss @@ -1,39 +1,21 @@ -// Rules belonging to the pre-relaunch pages. They are kept intact, and separate, -// so the cutover that removes those pages can delete this file rather than pick -// rules out of the ones above. +// Rules belonging to the pre-relaunch pages. +// +// Two of the three that were here have gone with the pages they styled: the h2 +// title treatment, whose long selector only ever matched pages inside the +// .container wrapper, and the CSS territory gate on /introduction's partner +// wall -- which never matched anything anyway, since no logo on that page +// carried the `ru` class it selected on. PagesHelper#partner_logos does that +// job now, in Ruby, with a test. +// +// What remains is used by pages that are still here. -// Section headings inside a grid column. Fifteen existing pages rely on this -- -// our-team, our-channels, the calculators, majestic-endpoints and the rest -- -// so it cannot go until they do. The new pages do not use it: their headings -// take their colour from the body, not the brand. +// Section headings inside a grid column. Still used by our-team, +// majestic-endpoints, green-life, merchandise, the calculators and the rest. +// The relaunched pages do not use it: their headings take their colour from the +// body rather than the brand. .col > h3 { color: var(--bs-blue); font-size: 1.3rem; margin-bottom: 1rem; margin-top: 1.5rem; } - -// Territory-gating for the partner wall on /introduction, done in CSS because -// that page hardcodes every logo in the markup. The integrators in the .ru -// group serve Russia and are shown only to Russian-language visitors. -// -// The replacement is PagesHelper#partner_logos, which makes the same split in -// Ruby and can therefore be tested. Until /introduction goes, this rule is what -// enforces it -- deleting it early would show the Russian integrators to -// everyone, which is precisely what the maintainers asked not to happen. -html:not([lang="ru"]) article.introduction .col.logo.ru { - display: none; -} - -// Page titles on the pre-relaunch pages: brand-coloured and 700, as they have -// always been. _base.scss styles `article > header > h2` at 600 and inherits -// the body colour, which is the new design; this selector is longer, so it wins -// wherever it applies -- and it applies exactly to pages rendered inside the -// .container wrapper, which is every page that is not full-bleed. The two rules -// therefore split cleanly along the same line as the layout's fullwidth switch, -// and this one disappears when the pages it belongs to do. -body > main > .container > article > header > h2 { - color: var(--bs-blue); - font-weight: 700; - margin: 1rem 0 1.5rem; -} diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb index 52897dbc..bc18bf58 100644 --- a/app/controllers/pages_controller.rb +++ b/app/controllers/pages_controller.rb @@ -4,11 +4,6 @@ class PagesController < ApplicationController def show end - def about - @page_title = t('pages.about_us.title') - render 'pages/our_channels' - end - def business @page_title = t('pages.business.title') render 'pages/business' @@ -69,11 +64,6 @@ def low_latency render 'pages/low_latency' end - def introduction - @page_title = t('pages.introduction.title') - render 'pages/introduction' - end - def majestic_endpoints @page_title = t('pages.majestic_endpoints.title') render 'pages/majestic_endpoints' @@ -84,21 +74,6 @@ def merchandise render 'pages/merchandise' end - def our_channels - @page_title = t('pages.our_channels.title') - render 'pages/our_channels' - end - - def our_software - @page_title = t('pages.our_software.title') - render 'pages/our_software' - end - - def our_projects - @page_title = t('pages.our_projects.title') - render 'pages/our_projects' - end - def our_team @page_title = t('pages.our_team.title') render 'pages/our_team' @@ -114,11 +89,6 @@ def stages_of_firmware_development render 'pages/stages_of_firmware_development' end - def support_open_source - @page_title = t('pages.support_open_source.title') - render 'pages/support_open_source' - end - def utilities @page_title = t('pages.utilities.title') render 'pages/utilities' diff --git a/app/models/snapshot.rb b/app/models/snapshot.rb index 819b4f48..cf5d849f 100644 --- a/app/models/snapshot.rb +++ b/app/models/snapshot.rb @@ -140,14 +140,19 @@ def purge_file_now file.attachment&.purge end + # dig, not credentials.mac.blacklisted. Without config/master.key -- which is + # what a fresh checkout and the test environment have -- credentials.mac is + # nil, and the reader raised NoMethodError on every upload rather than simply + # having nothing to blacklist. Production has the key, so this never showed + # there; it made the API impossible to exercise anywhere else. def blacklisted_mac - return unless mac_address.in?(Rails.application.credentials.mac.blacklisted) + return unless mac_address.in?(Rails.application.credentials.dig(:mac, :blacklisted) || []) errors.add :base, 'This IP address is blacklisted.' raise BlacklistedMac end def time_interval - return if ip_address.in?(Rails.application.credentials.ip.whitelisted) + return if ip_address.in?(Rails.application.credentials.dig(:ip, :whitelisted) || []) s = Snapshot.select(:created_at).where(mac_address: mac_address).order(:created_at).last if s && s.created_at > INTERVAL_LIMIT.ago + 2.minutes # hysteresis diff --git a/app/views/layouts/_footer.html.erb b/app/views/layouts/_footer.html.erb index 8708e1eb..6f88a264 100644 --- a/app/views/layouts/_footer.html.erb +++ b/app/views/layouts/_footer.html.erb @@ -1,27 +1,73 @@ <%# - Lifted out of application.html.erb unchanged, for the same reason as the - navbar. Every icon resolves through asset_path -- production runs with - config.assets.compile = false, so a literal /assets/... path is a 404, which - is what 2ec9baa fixed here and what any rewrite of this file has to preserve. + Four columns on dark, replacing the single copyright line. + + Two links from the draft of this footer are not here, both for reasons that + postdate it: + + /binaries answers 410 since 2cf8bc9. Linking a retired URL from every page + on the site would be a curious way to retire it. + + /majestic-endpoints left the menu in 3f0753c. The page is a pointer to the + camera's own WebUI now rather than somewhere to browse to; its URL stays for + inbound links, and the site does not advertise it. + + Every icon resolves through asset_path. Production runs with + config.assets.compile = false, so a literal /assets/... path is a 404 -- which + is exactly what 2ec9baa fixed in the footer this one replaces, and what the + draft would have reintroduced. %> -
+ diff --git a/app/views/layouts/_navbar.html.erb b/app/views/layouts/_navbar.html.erb index 311f54e8..d3e54b95 100644 --- a/app/views/layouts/_navbar.html.erb +++ b/app/views/layouts/_navbar.html.erb @@ -1,43 +1,57 @@ <%# - Lifted out of application.html.erb unchanged. The links, their order and the - locale switcher are exactly what the layout carried; only the wrapper moved, - so that the relaunch can rewrite the navigation in one reviewable file rather - than inside a diff that also touches and the footer. + The relaunched navigation: Get Started | Hardware | Low Latency | Ecosystem | + For Business | Community. + + expand-xl rather than expand-lg. Six top-level entries plus the language + switcher do not fit an lg breakpoint without wrapping, and a wrapped navbar + reads as broken rather than as full. + + /majestic-endpoints is deliberately not here. 3f0753c removed it from the menu + when the page stopped being a list to browse and became a pointer to the + camera's own WebUI; the URL stays for the inbound links, the menu entry does + not come back. %> -
-
-
- <%= render "pages/donate" %> -
-
- <%= render 'layouts/footer' %> diff --git a/app/views/pages/_donate.html.erb b/app/views/pages/_donate.html.erb deleted file mode 100644 index a0349340..00000000 --- a/app/views/pages/_donate.html.erb +++ /dev/null @@ -1,14 +0,0 @@ -<%# The band rendered under every page. Its keys live under - pages.donate_band rather than pages.donate, because /donate is now a - page of its own and lazy lookup would collide with it. %> -
-
-
- -
-
-

<%= t('pages.donate_band.title') %>

-

<%= t('pages.donate_band.please_support') %>.

-
-
-
diff --git a/app/views/pages/aaa.html.erb b/app/views/pages/aaa.html.erb deleted file mode 100644 index 67c29f1c..00000000 --- a/app/views/pages/aaa.html.erb +++ /dev/null @@ -1,2 +0,0 @@ -<%= render template: "pages/introduction" %> -<%= render template: "pages/our-projects" %> diff --git a/app/views/pages/donate.html.erb b/app/views/pages/donate.html.erb index 63216f39..21ca429f 100644 --- a/app/views/pages/donate.html.erb +++ b/app/views/pages/donate.html.erb @@ -8,7 +8,7 @@

<%= t('.where_title') %>

<%= t('.where_text') %>

-

<%= t('pages.support_open_source.contribute_text3') %>

+

<%= t('.accounting') %>

diff --git a/app/views/pages/introduction.html.erb b/app/views/pages/introduction.html.erb deleted file mode 100644 index 86380438..00000000 --- a/app/views/pages/introduction.html.erb +++ /dev/null @@ -1,100 +0,0 @@ -
-
-

<%= t('.title') %>

-
- -
-
-

<%= t('.subtitle1') %>

-

<%= t('.paragraph1') %>

-

<%= t('.paragraph2_html') %>

-

- <%= t('.button_instructions') %> - <%= t('.button_binaries') %> - <%= t('.button_sources') %> -

-

<%= t('.paragraph3_html') %>

-

<%= t('.paragraph4_html') %>

- -

<%= t('.subtitle2') %>

-

<%= t('.paragraph5') %>

-

<%= t('.paragraph6') %>

-

<%= t('.paragraph7') %>

-

<%= t('.paragraph8') %>

-
- - -
<%= t('.gaming') %>
- - - -
-
- diff --git a/app/views/pages/our_channels.html.erb b/app/views/pages/our_channels.html.erb deleted file mode 100644 index f1e59289..00000000 --- a/app/views/pages/our_channels.html.erb +++ /dev/null @@ -1,83 +0,0 @@ -
-
-

<%= t('.title') %>

-
- -

<%= t('.paragraph1_html') %>

-
- -

<%= t('.spam_bot_warning') %>

-
- -
-
-
- <%= image_tag "telegram.svg", class: "float-end" %> -
OpenIPC Users (EN)
-

<%= t('telegram.channels.description_1') %>

-
-
- <%= image_tag "telegram.svg", class: "float-end" %> -
OpenIPC & FPV (EN)
-

<%= t('telegram.channels.description_7') %>

-
-
-
-
- <%= image_tag "telegram.svg", class: "float-end" %> -
OpenIPC Users (RU)
-

<%= t('telegram.channels.description_4') %>

-
-
- <%= image_tag "telegram.svg", class: "float-end" %> -
OpenIPC Firmware
-

<%= t('telegram.channels.description_2') %>

-
-
-
-

<%= t('telegram.formatting.header') %>

- <%= t('telegram.formatting.text_html') %> -
-
<%= t('telegram.formatting.bold') %>
-
CtrlB
-
<%= t('telegram.formatting.italic') %>
-
CtrlI
-
<%= t('telegram.formatting.underline') %>
-
CtrlU
-
<%= t('telegram.formatting.strikeout') %>
-
CtrlShiftX
-
<%= t('telegram.formatting.monospace') %>
-
CtrlShiftM
-
<%= t('telegram.formatting.hyperlink') %>
-
CtrlK
-
-
-
-

<%= t('telegram.translation.header') %>

- <%= t('telegram.translation.text_html') %> - <%= image_tag 'telegram-translation.webp', class: 'border img-fluid img-zoom' %> -
-
-
- -<%= render 'pages/zoom' %> - - diff --git a/app/views/pages/our_projects.html.erb b/app/views/pages/our_projects.html.erb deleted file mode 100644 index 43dd3654..00000000 --- a/app/views/pages/our_projects.html.erb +++ /dev/null @@ -1,26 +0,0 @@ -
-
-

<%= t('.title') %>

-
- -
-
-

FPV

-

<%= t('.paragraph1_html') %>

-

<%= t('.paragraph2') %>

-

VoIP/SIP

-

<%= t('.paragraph3') %>

-

Firmware Builder

-

<%= t('.paragraph4') %>

-

<%= t('.paragraph5') %>

-
-
-

<%= t('.subtitle3') %>

-

<%= t('.community') %>

-
-
tag:openipc at printables.com
-
<%= t('.printables_info') %>
-
-
-
-
diff --git a/app/views/pages/our_software.html.erb b/app/views/pages/our_software.html.erb deleted file mode 100644 index 232b1c07..00000000 --- a/app/views/pages/our_software.html.erb +++ /dev/null @@ -1,53 +0,0 @@ -
-
-

<%= t('.title') %>

-
- -
-
-

<%= t('.subtitle1') %>

-
-
Firmware
-
<%= t('.firmware_info') %>
-
Majestic
-
<%= t('.majestic_info') %>
-
IPC tool
-
<%= t('.ipctool_info') %>
-
Coupler
-
<%= t('.coupler_info') %>
-
SmolRTSP
-
<%= t('.smolrtsp_info') %>
-
Mini
-
<%= t('.mini_info') %>
-
Venc
-
<%= t('.venc_info') %>
-
YAML-cli
-
<%= t('.yamlcli_info') %>
-
Microbe Web
-
<%= t('.webui_info') %>
-
-
-
-

<%= t('.subtitle2') %>

-

<%= t('.umbrella_info') %>

-
-
Motors
-
<%= t('.motors_info') %>
-
burn
-
<%= t('.burn_info') %>
-
HiSi-trace
-
<%= t('.hisitrace_info') %>
-
OpenHisilicon
-
<%= t('.openhisi_info') %>
-
OpenXiongmai
-
<%= t('.openxm_info') %>
-
ExIPCam
-
<%= t('.exipcam_info') %>
-
<%= t('.exipcam_info_extra') %>
-
IPCam DMS
-
<%= t('.ipcamdms_info') %>
-
<%= t('.ipcamdms_info_extra') %>
-
-
-
-
diff --git a/app/views/pages/support_open_source.html.erb b/app/views/pages/support_open_source.html.erb deleted file mode 100644 index d455b21c..00000000 --- a/app/views/pages/support_open_source.html.erb +++ /dev/null @@ -1,77 +0,0 @@ -
-
-

<%= t('.title') %>

-
- -
-
- <%= image_tag "ninja-sponsors.webp", alt: t('.img1_alt'), class: "img-fluid mb-3" %> -

<%= t('.if_you_like_donate_html') %>

- <% if I18n.locale.eql?(:ru) %> - - <% else %> -

<%= image_tag 'donatetoopencollectivebutton.webp', size: 300, class: 'img-fluid', alt: t('.oc_button_alt'), title: t('.oc_button_title') %>

- <% end %> -

<%= t('.paragraph1') %>

-
-
-

<%= t('.price_of_firmware') %>

-

<%= t('.price_of_firmware_p1_html') %>

-

<%= t('.contribute') %>

-

<%= t('.contribute_text1') %>

-

<%= t('.contribute_text2') %>

-
-
<%= t('.contribute_how1') %>
-
<%= t('.contribute_how1_text_html') %>
-
<%= t('.contribute_how2') %>
-
<%= t('.contribute_how2_text_html') %>
-
<%= t('.contribute_how3') %>
-
<%= t('.contribute_how3_text_html') %>
-
<%= t('.contribute_how4') %>
-
<%= t('.contribute_how4_text_html') %>
-
<%= t('.contribute_how5') %>
-
<%= t('.contribute_how5_text_html') %>
-
<%= t('.contribute_how6') %>
-
<%= t('.contribute_how6_text_html') %>
-
-

<%= t('.contribute_text3') %>

- -

<%= t('.thank_you') %>

-
- - -
diff --git a/app/views/shared/_cta_band.html.erb b/app/views/shared/_cta_band.html.erb index 91b7d585..19469f02 100644 --- a/app/views/shared/_cta_band.html.erb +++ b/app/views/shared/_cta_band.html.erb @@ -1,5 +1,5 @@ <%# Dark call-to-action band. Locals: title, primary_label, primary_href, secondary_label/secondary_href (optional), note_html (optional). %> -
+

<%= title %>

diff --git a/config/locales/en.yml b/config/locales/en.yml index 9f906b09..821a450a 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,7 +1,7 @@ --- en: alerts: - downloads: If you have any problems accessing or downloading files, please feel free to contact us on our Telegram channel. + downloads: If you have any problems accessing or downloading files, please feel free to contact us on our Telegram channel. button: find: Find cameras: @@ -30,7 +30,7 @@ en: generate_button: Generate Installation Guide generate_mac: Generate a valid random MAC address. no_bootloader_alert: OpenIPC publishes firmware for the %{name}, but not a bootloader for it. Both the guided installation and the ready-made flash image begin by writing an OpenIPC bootloader, so neither can be offered for this SoC. The firmware bundle below is the part that does exist. - not_ready_alert_html: The installation instructions for the %{name} SoC are not yet ready. Although we are working hard to release OpenIPC firmware for the %{name}. Please stay tuned and support Open Source. + not_ready_alert_html: The installation instructions for the %{name} SoC are not yet ready. Although we are working hard to release OpenIPC firmware for the %{name}. Please stay tuned and support Open Source. notes: Notes paragraph1: Please enter the camera configuration in the provided form and press the "Generate Installation Guide" button. On the next page, you will find the binary files and the commands you have to execute for the installation of the OpenIPC firmware on the camera. paragraph2: Do not overlook this part. You may think that it is not necessary since you are not going to return to the dark past, but we assure you that the stock firmware will still be needed for restoring missing settings, drivers, and further research. @@ -119,37 +119,49 @@ en: nor32m: NOR 32M nor8m: NOR 8M go: Go + footer: + column_community: Community + column_ecosystem: Ecosystem + column_platform: Platform + column_project: Project + firmware_source: Firmware source code + license_note: MIT core; some components are licensed separately. + tagline: No backdoors. No subscriptions. No nonsense. nav: - about: About add_soc: Add another SoC add_vendor: Add vendor adding_soc: Addin a SoC adding_vendor: Adding vendor admin: Admin - channels: Our Telegram + business: For Business clone_soc: Clone this SoC + community: Community + community_chat: Chat & Support dashboard: Dashboard + donate: Donate + ecosystem: Ecosystem + ecosystem_overview: Project Overview editing: Editing + get_started: Get Started green_life: Green Life + hardware: Hardware + header_web_tools: Web tools hires_timer: High-Resolution Timer home: Home - introduction: Introduction + low_latency: Low Latency next: Next openwall: Open Wall partition_calc: Firmware Partition Calculator pause_transitions: Place mouse cursor over a snapshot to pause automatic transitions. previous: Previous - projects: Our Projects qr_code_generator: QR Code Generator snapshot: 'Snapshot #%{number}' snapshots: Latest Snapshots socs: SoCs - software: Our Software + stages: Development stages store: Store - support_opensource: It's Open Source supported_hardware: Supported Hardware team: Our Team - tools: Tools utilities: Utilities vendors: Vendors view_soc: View SoC page @@ -205,30 +217,5 @@ en: uptime: Uptime str: language: Language - telegram: - channels: - description_1: International channel about OpenIPC - description_10: Mandarin-speaking OpenIPC users channel (disbanded) - description_11: Some info, news and links from OpenIPC users - description_2: GitHub notifications on the latest builds - description_3: OpenIPC Telegram Bot demo (disbanded) - description_4: Russian-speaking OpenIPC users channel - description_5: Channel for OpenIPC developers (disbanded) - description_6: Everthing for devices repairing (disbanded) - description_7: OpenIPC for building FPV systems - description_8: Group for paid technical support (disbanded) - description_9: Persian-speaking OpenIPC users channel (disbanded) - formatting: - bold: Bold - header: Message Formatting - hyperlink: Hypelink - italic: Italic - monospace: Monospace - strikeout: Strikeout - text_html: "

Did you know that Telegram Messenger allows you to use formatting to emphasize important parts of the message and make information easier to grasp?

Select a text fragment and press a key combo:

" - underline: Underline - translation: - header: Chat Translation - text_html:

Did you know that Telegram messenger has a built-in translation engine that allows you to read messages written in foreign languages? Users with premium accounts can translate entire chats on the fly, but even a regular account can translate individual messages with the click of a button.

title: openwall: Open Wall diff --git a/config/locales/pages.en.yml b/config/locales/pages.en.yml index f23cff5f..cb58de97 100644 --- a/config/locales/pages.en.yml +++ b/config/locales/pages.en.yml @@ -1,8 +1,6 @@ --- en: pages: - about_us: - title: About Us admin: dashboard: title: Admin Dashboard @@ -71,6 +69,7 @@ en: business_band_html: If your company depends on OpenIPC, the sustainable way to support it is a commercial relationship. See what we offer. crypto_text_html: TON donations work right inside Telegram via @wallet. crypto_title: Cryptocurrency + accounting: We're committed to open and transparent accounting, and are grateful for any support you can provide to our efforts to advance OpenIPC and our mission toward a sustainable future. hero_lede: OpenIPC is free to use and expensive to make. Donations buy cameras for new platforms, pay maintainers, and keep the lights on. hero_title: Fund the work. oc_button: Donate on Open Collective @@ -80,9 +79,6 @@ en: title: Donate where_text: Core team members spend their own money on cameras and SDK access to expand hardware support. Funds ease that burden, compensate part-time maintainers, and cover trade shows and vendor meetings where hardware partnerships actually happen. where_title: Where the money goes - donate_band: - please_support: Please consider supporting our projects - title: Do you like what we do? ecosystem: contribute_cta_html: Pick a project and make it better. Start here. hero_lede: 'OpenIPC is an ecosystem of more than a hundred open repositories: the firmware itself, the video pipeline, the tools around it, and the research that keeps old silicon alive.' @@ -202,32 +198,6 @@ en: wall_cta: "+ your camera here" wall_live: 'Live now: cameras running OpenIPC around the world' wall_snapshot_alt: 'Image: live snapshot from a community camera' - introduction: - alliance: Alliance - button_binaries: Precompiled binary files - button_instructions: Installation Instructions - button_sources: Source code on GitHub - img_majestic_alt: 'Image: Majestic streamer logo' - img_openipc_alt: 'Image: OpenIPC Community logo' - paragraph1: OpenIPC is an open source operating system from the open community targeting for IP cameras with ARM and MIPS processors from several manufacturers in order to replace that closed, opaque, insecure, often abandoned and unsupported firmware pre-installed by a vendor. - paragraph2_html: OpenIPC Firmware comes as binary pre-compiled files for easy installation by end-user. Also, we provide full access to the source files for further development and improvement by any capable programmer willing to contribute to the project. OpenIPC source code is released under one of the most simple open source license agreements, MIT License, giving users express permission to reuse code for any purpose, even as part of a proprietary software. We only ask you politely to contribute your improvements back to us and also be sure to contact us if you use our project for commercial purposes. We would be grateful for any feedback and suggestions. The use of the OpenIPC project and its components for military purposes is not permitted. - paragraph3_html: OpenIPC Firmware uses Buildroot to build its Linux distro, and utilizes either Majestic, Divinus, Mini or Venc streamer. - paragraph4_html: The Majestic streamer is distributed only in binary form under the Prosperity Public License 3.0.0. - paragraph5: First of all, OpenIPC Firmware brings you freedom. With OpenIPC on your camera you are the master of your streams. You have full access to the system and can control what, where, and how you want your camera to behave. There are no backdoors, no botnets, no crypto-mining malware, no keyloggers, no password sniffers, nothing you could possibly expect in a closed binary system with no access to its source code. - paragraph6: As for the Firmware capabilities, we strive to provide universal support for a wide range of cameras, thus we are focused on basic functionality first, allowing end-users to upgrade their cameras' firmware and stream video and audio (where supported) without too much hassle. - paragraph7: We have some interesting bits though. Our Firmware supports external IPEYE cloud storage, streaming video to Youtube and Telegram, using SOCKS5 proxy, setting up a Virtual Tunnel, and more. - paragraph8: There are also several projects focused on specialized equipment, such as a camera to be mounted on a drone, for mounting on construction helmets, for use in surveying tools, for medical research of the organs of vision, underwater fishing, etc. - subtitle1: OpenIPC is an alternative open firmware for your IP camera. - subtitle2: Why OpenIPC Firmware? - supporters: Supporters - manufacturers: Manufacturers - research: Research - partners: Partners - projects: Projects - integrators: Integrators - development: Development - gaming: Gaming solutions - title: Introduction low_latency: business_bridge_html: Building a product on this link? Talk to us — we do custom development and OEM work. credits_text: The radio link exists thanks to wfb-ng, and the ecosystem grows with friends like RubyFPV and Mario FPV. Open source is a team sport. @@ -274,43 +244,6 @@ en: description: High quality Gildan Hammer™ 6 oz. crew neck classic fit T-shirt in Flo Blue. 100% combed ring spun cotton, pre-shrunk, with logo in white heat-transfer vinyl. title: OpenIPC T-Shirt title: Merchandise - our_channels: - paragraph1_html: We strongly suggest you to install a native Telegram Messenger for your platform and use our Telegram groups. - spam_bot_warning: Please note, you will have to pass a test from our Welcome Bot upon joining a group. The test is a simple as answerring two questions. If you missed the test and find out that you cannot post to the group, leave the group and re-join it again. Watch closely for the Welcome Bot message, click the message and answer the questions. - title: Our Telegram - our_projects: - community: Something related to OpenIPC. User generated content. - paragraph1_html: Includes all information on building and using FPV kits and software for both airborne and ground station devices. We strongly recommend you to read the basic article, follow the links and watch the flight videos. - paragraph2: The project is actively developing, join us! - paragraph3: This is our new audio and video communication system project that is in the design phase. - paragraph4: We are working on the creation of a convenient OnLine firmware builder that will allow you to create them more flexibly and immediately with the desired parameters. - paragraph5: Please follow the updates on the site! - printables_info: Models for 3D printing tagged with "openipc". - subtitle3: OpenIPC community projects - title: Our projects - our_software: - burn_info: An opensource tool to unbrick HiSilicon devices. - coupler_info: A tool that allows you a smooth transition from the IP-camera manufacturer's pre-installed proprietary firmware to OpenIPC Firmware. No special skills are required. - exipcam_info: XM Device Explorer. Utility for repairing IPCam - exipcam_info_extra: Russian UI. Runs on Windows, Linux via Wine. - firmware_info: The Holy Grail of the community. Universal firmware for IP-cameras to replace proprietary, outdated and often insecure vendor pre-installed firmware. - hisitrace_info: An utility to run Sofia from XM in a non-stock environment. - ipcamdms_info: IPCam Device Management System - ipcamdms_info_extra: Russian UI. Runs on Windows, Linux via Wine. - ipctool_info: An IP-camera hardware inspector on steroids. This tool will not only identify your camera's processor, sensor, flash chip, but also help you with backing up the original firmware and more. - majestic_info: A universal IP-camera streamer. This software is the major part of the OpenIPC Firmware. Although it is not fully open source at this stage of development, we are considering opening up the codebase when the software matures enough and gets enough funding for open development. - mini_info: An open source IP-camera streamer. Think of it as Majestic's little brother. - motors_info: Various code to manage motor hardware. - openhisi_info: Opensource SDK for Hisilicon SoCs. - openxm_info: Opensource SDK for Xiongmai SoCs. - smolrtsp_info: A simple RTSP 1.0 server library tailored for embedded devices, such as IP cameras. It supports both TCP and UDP, allows any payload format, and provides a convenient and flexible API. - subtitle1: Core software - subtitle2: OpenIPC umbrella software - title: Our Software - umbrella_info: The OpenIPC is also an umbrella brand for other small software that are useful components of our ecosystem. We welcome everyone willing to contribute to the software, in any way they find useful! - venc_info: A streamer for IP cameras using Goke SoC, focused primarily on FPV. - webui_info: Web interface for OpenIPC Firmware. Written on Ash and tears of the developer. - yamlcli_info: Simple YAML console tool. our_team: contributors_link: List of all GitHub contributors paragraph1_html: 'OpenIPC is a community-driven open source project, and many people contribute to its codebase. Kudos to them! There is also a core team of skilled developers who work hard to expand the list of supported hardware platforms, extend the functionality and stability of the firmware, review submitted code, and coordinate community efforts. Get to know the team and their areas of expertise:' @@ -341,34 +274,6 @@ en: title: Stages of Firmware development wip_alt: 'Image: stage WIP' wip_info: Work in progress. We learned a lot about the platform hardware and code base, prepared the first public binary build, and are waiting for the first adopters to test it on their boards and provide feedback to help us move forward. - support_open_source: - contribute: Contribute - contribute_how1: Report issues - contribute_how1_text_html: If you stubmle upon an bug, please file a bug report in the appropriate repository on GitHub. - contribute_how2: Submit new ideas - contribute_how2_text_html: If you feel that a useful feature is missing, you can submit a feature request on GitHub. - contribute_how3: Improve the code - contribute_how3_text_html: Fork the code, make your improvements and submit a pull request to our repository on GitHub. - contribute_how4: Write documentation - contribute_how4_text_html: Create or update documentation for our projects. Fill up the Wiki, proofread the website, make it sound native to your language. - contribute_how5: Spread the word - contribute_how5_text_html: Talk about OpenIPC and share your experiences with others. Write a blog post, make a video, start a thread on Reddit, share it on Twitter, post it on other social media... - contribute_how6: Become a sponsor - contribute_how6_text_html: Support our development, help us to raise enough funds to cover our expenses and ensure long-term maintenance of what we believe will be a stable, flexible and most importantly, open source Open IP Network Camera Framework, for all users worldwide. In recognition of your recurring donations, you will be permanently added to the Backers/Sponsors section on our GitHub page. - contribute_text1: Open Source is about sharing, creating something great together, and contributing to the greater good! Whenever you do make an improvement that you think someone else could benefit from, please contribute it back to the project. - contribute_text2: 'If you''ve ever been curious or confused about something in the project, faced a problem and couldn''t find the answer, someone else probably still is, too. Help them by sharing your thoughts, insights and discoveries. There are many ways to contribute to the project, and here are a few examples:' - contribute_text3: We're committed to open and transparent accounting, and are grateful for any support you can provide to our efforts to advance OpenIPC and our mission toward a sustainable future. - donate_crypto: Donate Cryptocurrency - if_you_like_donate_html: If you like our work, please consider supporting us on Open Collective - img1_alt: 'Image: Support Open Source' - oc_button_alt: 'Image: OpenCollective donation button' - oc_button_title: Donate to our collective - paragraph1: Many core team members donate their knowledge and their free time to work on the project, often using their personal funds to buy cameras to expand the list of supported hardware. Your donation help us to ease the burden on their personal finances while keeping the development on the latest hardware. We also use the funds to compensate the work of part-time and full-time maintainers, and to attend trade shows, meet with hardware vendors, monitor trends in camera technology and gain access to SDK and other support materials, which are often expensive. Your contributions help us to continue development and provide technical support to the community. - price_of_firmware: Price of the Firmware - price_of_firmware_p1_html: The right to use OpenIPC firmware and its components is, in most cases, granted to all users free of charge for personal and non-commercial purposes. If you are interested in using OpenIPC for your business projects, please contact our team for details, as some firmware components may have a licence different from MIT. - thank_you: Thank you, it means a lot to us! - title: Support Open Source - tron_in_telegram_html: Using TON cryptocurrency, donations can be made right inside the Telegram using @wallet. utilities: paragraph1: A collection of useful tools and utilities. title: Utilities diff --git a/config/locales/pages.ru.yml b/config/locales/pages.ru.yml index 372adc09..baa3b1da 100644 --- a/config/locales/pages.ru.yml +++ b/config/locales/pages.ru.yml @@ -1,8 +1,6 @@ --- ru: pages: - about_us: - title: О нас admin: dashboard: title: Панель администратора @@ -71,6 +69,7 @@ ru: business_band_html: Если ваша компания зависит от OpenIPC, самый устойчивый способ поддержать проект — коммерческое сотрудничество. Что мы предлагаем. crypto_text_html: Пожертвования в TON работают прямо в Telegram через @wallet. crypto_title: Криптовалюта + accounting: Мы стремимся к открытому и прозрачному учету и благодарны за любую поддержку, которую вы можете оказать нашим усилиям по продвижению OpenIPC и нашей миссии по обеспечению устойчивого будущего. hero_lede: OpenIPC бесплатен в использовании и дорог в производстве. Пожертвования покупают камеры для новых платформ, оплачивают работу мейнтейнеров и держат свет включённым. hero_title: Поддержите работу. oc_button: Пожертвовать на Open Collective @@ -80,9 +79,6 @@ ru: title: Поддержать where_text: Члены основной команды тратят собственные деньги на камеры и доступ к SDK, чтобы расширять поддержку железа. Средства снимают эту нагрузку, оплачивают работу мейнтейнеров и поездки на выставки, где и случаются договорённости с производителями. where_title: Куда идут деньги - donate_band: - please_support: Узнайте, как вы можете его поддержать - title: Нравится проект? ecosystem: contribute_cta_html: Выберите проект и сделайте его лучше. Начните здесь. hero_lede: 'OpenIPC — это экосистема из более чем сотни открытых репозиториев: сама прошивка, видеотракт, инструменты вокруг и исследования, которые не дают умереть старому кремнию.' @@ -202,32 +198,6 @@ ru: wall_cta: "+ ваша камера здесь" wall_live: 'Прямо сейчас: камеры на OpenIPC по всему миру' wall_snapshot_alt: 'Изображение: живой снимок с камеры сообщества' - introduction: - alliance: Партнеры - button_binaries: Готовые бинарные файлы - button_instructions: Инструкция по установке - button_sources: Исходный код на GitHub - gaming: Игровые решения - img_majestic_alt: 'Изображение: логотип стримера Majestic' - img_openipc_alt: 'Изображение: логотип сообщества OpenIPC' - paragraph1: OpenIPC — это открытая операционная система Linux для IP-камер с ARM и MIPS процессорами, призванная заменить собой закрытые, непрозрачные, небезопасные, часто заброшенные и неподдерживаемые прошивки, устанавливаемые при производстве оборудования. - paragraph2_html: Прошивка OpenIPC поставляется в виде предварительно скомпилированных бинарных файлов, что позволяет установку её конечным пользователем. Кроме того, мы предоставляем полный доступ к исходным файлам для дальнейшей разработки и улучшения прошивки любым программистом, желающим внести свой вклад в проект. Исходный код OpenIPC публикуется под одной из самых простых лицензий, MIT License, позволяющей его использование для любых целей, даже в составе проприетарного программного обеспечения. Все, что мы просим взамен, это присылать ваши улучшения и исправления обратно в наш проект. Мы будем признательны за любые отзывы и предложения. - paragraph3_html: Прошивка OpenIPC собирается с использованием автоматизированной среды Buildroot и может использовать в своем составе стримеры Majestic, Divinus, Mini и Venc. - paragraph4_html: Стример Majestic распространяется только в двоичном виде по Prosperity Public License 3.0.0. - paragraph5: Прежде всего, прошивка OpenIPC дает свободу. С OpenIPC на вашей камере вы являетесь хозяином своих медиапотоков. Вы получаете полный доступ к системе и можете контролировать, что, где, когда и как должна делать ваша камера. В OpenIPC нет бэкдоров, ботнетов, вредоносных программ для майнинга криптовалюты, кейлоггеров, снифферов паролей — ничего, чего можно опасаться в закрытой бинарной системе без доступа к её исходному коду. - paragraph6: Что касается возможностей прошивки, то мы стремимся обеспечить универсальную поддержку широкого спектра камер, поэтому в первую очередь мы фокусируемся на базовых функциях, таких как возможность обновления прошивки своих камер конечным пользователем, возможность транслировать видео и аудио (где это возможно) без особых усилий и хлопот. - paragraph7: Наша прошивка поддерживает стороннее облачное хранилище IPEYE, живую трансляцию видео на Youtube, в Telegram, отправку уведомлений и снимков на электронную почту, на FTP-сервер, на Яндекс.Диск, отсылает сообщения по протоколу MQTT, поддерживает использование прокси-сервера SOCKS5, настройку виртуального туннеля и многое другое. - paragraph8: Есть также несколько проектов, ориентированных на специализированное оборудование, например, камера для установки на дрон, для установки на строительную каску и геодезические инструменты, для медицинских исследований органов зрения, для подводной рыбалки и т.д. - subtitle1: OpenIPC — альтернативная открытая прошивка для IP-камер - subtitle2: Почему нужна прошивка OpenIPC - supporters: Единомышленники - manufacturers: Manufacturers - research: Research - partners: Partners - projects: Projects - integrators: Integrators - development: Development - title: Вступление low_latency: business_bridge_html: Строите продукт на этом линке? Напишите нам — мы делаем заказную разработку и OEM. credits_text: Радиолинк существует благодаря wfb-ng, а экосистема растёт вместе с друзьями — RubyFPV и Mario FPV. Open source — командный спорт. @@ -274,43 +244,6 @@ ru: description: Высококачественный Gildan Hammer™ 6 унций. Классическая футболка с круглым вырезом цвета Flo Blue. 100 % чесаный хлопок кольцевого прядения, предварительно усаженный, с логотипом из белого термотрансферного винила. title: Футболка OpenIPC title: Товары - our_channels: - paragraph1_html: Мы настоятельно рекомендуем вам установить мессенджер Telegram для вашей платформы и общаться непосредственно в наших группах в Telegram. - spam_bot_warning: 'После присоединения к группе вам надо пройти тест нашего бота. Тест прост: нужно ответить на два вопроса. Если вы пропустили тест и обнаружили, что не можете публиковать сообщения в группе, покиньте группу и снова присоединитесь к ней. Найдите приветственное сообщение бота и ответьте на вопросы.' - title: Наши группы - our_projects: - community: Что-то связанное с OpenIPC. Контент, создаваемый пользователями. - paragraph1_html: Включает всю информацию о создании и использовании комплектов FPV и программного обеспечения как для бортовых, так и для наземных устройств. Настоятельно рекомендуем вам прочитать основную статью , перейти по ссылкам и посмотреть видео полетов. - paragraph2: Проект активно развивается, присоединяйтесь! - paragraph3: Это наш новый проект системы аудио- и видеосвязи, который находится на стадии проектирования. - paragraph4: Мы работаем над созданием удобного конструктора прошивок OnLine, который позволит вам более гибко и сразу создавать их с нужными параметрами. - paragraph5: Пожалуйста, следите за обновлениями на сайте! - printables_info: Модели для 3D-печати с тегом «openipc». - subtitle3: Проекты сообщества OpenIPC - title: Наши проекты - our_software: - burn_info: Инструмент с открытым исходным кодом для разблокировки устройств HiSilicon. - coupler_info: Инструмент, позволяющий плавно перейти с предустановленной проприетарной прошивки производителя IP-камеры на прошивку OpenIPC. Никаких специальных навыков не требуется. - exipcam_info: Обозреватель устройств XM. Утилита для ремонта IPcam - exipcam_info_extra: Русский интерфейс. Работает на Windows, Linux через Wine. - firmware_info: Святой Грааль сообщества. Универсальная прошивка для IP-камер для замены проприетарных, устаревших и часто небезопасных предустановленных прошивок поставщиков. - hisitrace_info: Утилита для запуска Софии из XM в нестандартной среде. - ipcamdms_info: Система управления IP-камерами - ipcamdms_info_extra: Русский интерфейс. Работает на Windows, Linux через Wine. - ipctool_info: Инспектор оборудования IP-камеры на стероидах. Этот инструмент не только определит процессор вашей камеры, сенсор, микросхему флэш-памяти, но также поможет вам создать резервную копию оригинальной прошивки и многое другое. - majestic_info: Универсальный стример с IP-камерой. Эта программа является основной частью прошивки OpenIPC. Хотя на данном этапе разработки это не полностью открытый исходный код, мы рассматриваем возможность открытия кодовой базы, когда программа достаточно созреет и получит достаточно средств для открытой разработки. - mini_info: Стример с IP-камерой с открытым исходным кодом. Думайте об этом как о младшем брате Маджестик. - motors_info: Различный код для управления оборудованием двигателя. - openhisi_info: SDK с открытым исходным кодом для SoC Hisilicon. - openxm_info: SDK с открытым исходным кодом для SoC Xiongmai. - smolrtsp_info: Простая серверная библиотека RTSP 1.0, предназначенная для встроенных устройств, таких как IP-камеры. Он поддерживает как TCP, так и UDP, допускает любой формат полезной нагрузки и предоставляет удобный и гибкий API. - subtitle1: Основные программы - subtitle2: Зонтичные программы OpenIPC - title: Наши программы - umbrella_info: OpenIPC также является зонтичным брендом для других небольших программ, которые являются полезными компонентами нашей экосистемы. Мы приветствуем всех желающих внести свой вклад в программы любым удобным для них способом! - venc_info: Видеостример для IP-камер с использованием Goke SoC, ориентированный в первую очередь на FPV. - webui_info: Веб-интерфейс для прошивки OpenIPC. Написано на Ясене и слезах разработчика. - yamlcli_info: Простой консольный инструмент YAML. our_team: contributors_link: Список всех участников GitHub paragraph1_html: 'OpenIPC — это проект с открытым исходным кодом, развиваемый сообществом: множество людей вносят свой вклад в код проекта, за что им огромное спасибо! Но есть основная команда разработчиков, которые усердно работают над расширением списка поддерживаемых платформ, наращиванием функциональности и повышением стабильности встроенного ПО, проверкой присланного кода и координацией усилий сообщества. Познакомьтесь с членами команды и их спецализацией:' @@ -341,34 +274,6 @@ ru: title: Этапы разработки прошивки wip_alt: 'Изображение: этап WIP' wip_info: Работа в процессе. Мы многое узнали об аппаратном обеспечении платформы и кодовой базе, подготовили первую общедоступную бинарную сборку и ждем первых пользователей, которые протестируют ее на своих платах и предоставят отзывы, которые помогут нам двигаться вперед. - support_open_source: - contribute: Способствовать - contribute_how1: Сообщить о проблемах - contribute_how1_text_html: Если вы обнаружили ошибку, сообщите о ней в соответствующий репозиторий на GitHub . - contribute_how2: Предлагайте новые идеи - contribute_how2_text_html: Если вам кажется, что какая-то полезная функция отсутствует, вы можете отправить запрос на добавление этой функции на GitHub . - contribute_how3: Исправьте код - contribute_how3_text_html: Создайте копию репозитория исходного кода, внесите улучшения и отправьте запрос на включение исправлений в наш репозиторий на GitHub. - contribute_how4: Напишите документацию - contribute_how4_text_html: Создавайте или расширьте документацию для наших проектов. Заполните Wiki, вычитайте и откорректируйте текст на веб-сайте. - contribute_how5: Расскажите о проекте - contribute_how5_text_html: Расскажите о своём опыте установки прошивки OpenIPC с другими. Напишите сообщение в блоге, снимите видео, создайте пост на Reddit, поделитесь им в Twitter, опубликуйте его в других социальных сетях... - contribute_how6: Станьте спонсором - contribute_how6_text_html: Помогите нам собрать достаточно средств для покрытия текщих расходов и для обеспечения долгосрочное обслуживания того, что мы стремимся сделать открытой платформой сетевых IP-камер для всех пользователей по всему миру. В знак признания вы будете добавлены в раздел «Спонсоры» на нашей странице на GitHub. - contribute_text1: Открытый исходный код — это обмен, совместное создание чего-то великого и вклад во всеобщее благо! Всякий раз, когда вы делаете исправление, которое, по вашему мнению, может принести пользу кому-то другому, отправьте его обратно в проект. - contribute_text2: 'Вы столкнулись с проблемой и не смогли найти ответ в документации, но смогли найти свое решение - расскажите нам о нем. Делитесь своим опытом, мыслями, идеями. Есть много способов внести свой вклад в проект, и вот несколько примеров:' - contribute_text3: Мы стремимся к открытому и прозрачному учету и благодарны за любую поддержку, которую вы можете оказать нашим усилиям по продвижению OpenIPC и нашей миссии по обеспечению устойчивого будущего. - donate_crypto: Пожертвовать криптовалюту - if_you_like_donate_html: Если вам нравится наша работа, пожалуйста, поддержите нас на Open Collective. - img1_alt: 'Изображение: Поддержка открытого исходного кода' - oc_button_alt: 'Изображение: кнопка пожертвования OpenCollective' - oc_button_title: Поддержите нашу команду - paragraph1: Многие члены основной команды используют свое свободное время и свои знания для работы над проектом. Мы даже используем личные средства для покупки камер, чтобы расширять список поддерживаемого оборудования. Ваши пожертвования помогают нам облегчить нагрузку на личные финансы, в то же время обеспечивая доступ к новому оборудованию. Мы также используем собранные средства для оплаты работы специалистов и для участия в торговых выставках и общения с поставщиками оборудования, что позволяет отслеживать тенденции развития рынка камер. Так же мы оплачиваем доступ к SDK и вспомогательным материалы, которые стоят дорого. Ваш вклад помогает нам продолжать разработку и оказывать техническую поддержку сообществу. - price_of_firmware: Цена прошивки - price_of_firmware_p1_html: Право на использование прошивки OpenIPC и ее компонентов в большинстве случаев предоставляется всем пользователям бесплатно для личных и некоммерческих целей. Если вы заинтересованы в использовании OpenIPC для своих бизнес-проектов, пожалуйста, свяжитесь с нашей командой для получения подробной информации, так как некоторые компоненты прошивки могут иметь лицензию, отличную от MIT. - thank_you: Спасибо, это очень много значит для нас! - title: Поддержите программирование с открытым исходным кодом - tron_in_telegram_html: Используя криптовалюту TON, пожертвования можно делать прямо внутри Telegram с помощью @wallet . utilities: paragraph1: Коллекция полезных программ и утилит. title: Утилиты diff --git a/config/locales/pages.zh.yml b/config/locales/pages.zh.yml index 350b7677..e437668a 100644 --- a/config/locales/pages.zh.yml +++ b/config/locales/pages.zh.yml @@ -1,8 +1,6 @@ --- zh: pages: - about_us: - title: 关于我们 admin: dashboard: title: 管理仪表板 @@ -71,6 +69,7 @@ zh: business_band_html: 如果贵公司依赖 OpenIPC,更可持续的支持方式是建立商业合作关系。看看我们能提供什么。 crypto_text_html: TON 捐赠可以直接在 Telegram 中通过 @wallet 完成。 crypto_title: 加密货币 + accounting: 我们致力于共建一个开放和透明的数字环境,并由衷地感谢你对我们的努力提供的任何支持,以推动OpenIPC和我们的使命走向一个可持续的未来。 hero_lede: OpenIPC 使用免费,制作昂贵。捐款用于购买新平台的摄像机、支付维护者的报酬,并维持项目运转。 hero_title: 资助这项工作。 oc_button: 在 Open Collective 上捐赠 @@ -80,9 +79,6 @@ zh: title: 捐赠 where_text: 核心团队成员自掏腰包购买摄像机和 SDK 授权,以扩展硬件支持。资金可以减轻这一负担,为兼职维护者提供补偿,并支付促成硬件合作的展会与厂商会面开销。 where_title: 钱用在哪里 - donate_band: - please_support: 请考虑支持我们 - title: 喜欢我们的项目吗? ecosystem: contribute_cta_html: 选一个项目,把它做得更好。从这里开始。 hero_lede: 'OpenIPC 是一个由一百多个开放仓库组成的生态:固件本身、视频管线、周边工具,以及让老芯片继续存活的研究工作。' @@ -202,32 +198,6 @@ zh: wall_cta: "+ 把你的摄像机放这里" wall_live: '正在直播:世界各地运行 OpenIPC 的摄像机' wall_snapshot_alt: '图片:来自社区摄像机的实时快照' - introduction: - alliance: 联盟 - button_binaries: 预编译的二进制文件 - button_instructions: 安装说明 - button_sources: 项目源码 - gaming: 游戏解决方案 - img_majestic_alt: 图片:雄伟的飘带标志 - img_openipc_alt: 图片:OpenIPC 社区徽标 - paragraph1: OpenIPC是一个开源的操作系统,针对一些使用ARM和MIPS处理器的网络摄像机,以替代供应商预装的那种封闭的、不透明的、不安全的、不再更新的、不支持的固件。 - paragraph2_html: OpenIPC固件以二进制预编译文件的形式发布,便于终端用户的安装。此外,我们提供了对源文件的完全访问权,以便任何愿意为该项目做出贡献的有能力的程序员进行进一步的开发和改进。OpenIPC的源代码是在MIT开源许可协议下发布的,给用户一个明确的许可,允许用户任意的使用、复制、修改源代码,甚至作为专利软件的一部分。我们只是礼貌地要求你将你的改进贡献给我们。我们将感谢您的反馈和建议。 - paragraph3_html: OpenIPC固件使用Buildroot构建其Linux发行版,并利用MajesticMiniVenc流处理器。 - paragraph4_html: Majestic 流媒体仅以二进制形式分发,并采用 Prosperity Public License 3.0.0. - paragraph5: 首先,OpenIPC固件带给你自由。有了OpenIPC在你的摄像机上,你就是你流媒体的主人。你可以完全访问该系统,并可以控制你想让你的摄像机做任何想做的事。没有后门,没有恶意的挖矿软件,没有键盘记录器,没有密码嗅探器,在一个封闭的二进制系统中,不要有任何期望能够访问其源代码。 - paragraph6: 至于固件功能,我们努力为各种摄像机提供普遍支持,因此我们首先关注基本功能,使终端用户能够升级其摄像机的固件,并在(社区支持下)配置视频流和音频流。 - paragraph7: 除此之外还有一些有趣的功能。我们的固件支持IPEYE云存储,可以向Youtube和Telegram传输视频,可以使用SOCKS5代理,设置虚拟隧道等。 - paragraph8: 还有几个项目专注于专业设备,如安装在无人机上的摄像机,用于安装在建筑头盔上,用于测量工具,用于视觉器官的医学研究,水下捕鱼等。 - subtitle1: OpenIPC是一款专为网络摄像机设计的第三方开源固件。 - subtitle2: 为什么是OpenIPC固件? - supporters: 支持者 - manufacturers: Manufacturers - research: Research - partners: Partners - projects: Projects - integrators: Integrators - development: Development - title: 介绍 low_latency: business_bridge_html: 想基于这条链路做产品?和我们谈谈——我们承接定制开发与 OEM 合作。 credits_text: 这条无线链路得益于 wfb-ng,整个生态也在 RubyFPV、Mario FPV 等伙伴的参与下不断成长。开源是一项团队运动。 @@ -274,43 +244,6 @@ zh: description: 高品质 Gildan Hammer™ 6 盎司。 Flo 蓝色圆领经典版型 T 恤。 100% 精梳环锭纺棉,预缩,带有白色热转印乙烯基徽标。 title: OpenIPC T 恤 title: 商品 - our_channels: - paragraph1_html: 我们强烈建议您使用Telegram Messenger并加入我们的 Telegram 频道。 - spam_bot_warning: 请注意,加入群组后,您必须通过我们的欢迎机器人的测试。测试很简单,只需回答两个问题。如果您错过了测试并发现无法在群组中发帖,请退出群组并重新加入。密切关注欢迎机器人消息,单击该消息并回答问题。 - title: 我们的频道 - our_projects: - community: 与 OpenIPC 有关的,由用户创建的内容。 - paragraph1_html: 包括有关为机载和地面站设备构建和使用 FPV 套件和软件的所有信息。我们强烈建议您阅读基础文章、点击链接并观看飞行视频。 - paragraph2: 项目正在积极开发中,加入我们吧! - paragraph3: 这是我们新的音视频通信系统项目,正处于设计阶段。 - paragraph4: 我们正在致力于创建一个方便的在线固件生成器,使您可以使用所需的参数更灵活、更立即地创建它们。 - paragraph5: 请关注网站更新! - printables_info: 标有“openipc”的 3D 打印模型。 - subtitle3: OpenIPC 社区项目 - title: 我们的项目 - our_software: - burn_info: 一个开源工具,用于解锁海思平台设备的引导加载程序。 - coupler_info: 一种工具,可让您从 IP 摄像机制造商预装的专有固件平稳过渡到 OpenIPC 固件。不需要特殊技能。 - exipcam_info: XM 设备资源管理器。修复 IPCam 的实用程序 - exipcam_info_extra: 俄语用户界面。通过 Wine 在 Windows、Linux 上运行。 - firmware_info: 社区的圣杯。网络摄像机的通用固件,用于替换专有、过时且通常不安全的供应商预装固件。 - hisitrace_info: 在非官方固件环境中从 XM 运行 Sofia 的实用程序。 - ipcamdms_info: IPCam设备管理系统 - ipcamdms_info_extra: 俄语用户界面。通过 Wine 在 Windows、Linux 上运行。 - ipctool_info: 实用的网络摄像机硬件检查工具。此工具不仅可以识别您相机的处理器、传感器、闪存芯片,还可以帮助您备份原始固件等。 - majestic_info: 通用的网络摄像机流媒体组件。该项目是 OpenIPC 固件的主要部分。虽然现阶段还没有完全开源,但我们正在考虑在项目足够成熟,获得足够的资金进行开放开发时开放代码库。 - mini_info: 一个开源网络摄像机流媒体。将其视为 Majestic 的弟弟。 - motors_info: 管理电机硬件的各种代码。 - openhisi_info: 用于海思 SoC 的开源 SDK。 - openxm_info: 用于雄迈 SoC 的开源 SDK。 - smolrtsp_info: 一个简单的 RTSP 1.0 服务器库,专为 IP 摄像机等嵌入式设备量身定制。它同时支持 TCP 和 UDP,允许任何负载格式,并提供方便灵活的 API。 - subtitle1: 核心项目 - subtitle2: OpenIPC 保护伞项目 - title: 我们的项目 - umbrella_info: OpenIPC 也是其他小型项目的品牌保护伞,这些项目是我们整个生态系统中的一部分。我们欢迎所有愿意为该项目做出贡献的人,以他们认为有用的任何方式! - venc_info: 使用 Goke SoC 的 IP 摄像机流媒体,主要专注于 FPV。 - webui_info: OpenIPC 固件的 Web 界面。 - yamlcli_info: 简单的 YAML 控制台工具。 our_team: contributors_link: 所有 GitHub 贡献者列表 paragraph1_html: OpenIPC 是一个社区驱动的开源项目,许多人为其代码库做出贡献。赞美他们!还有一个由熟练的开发人员组成的核心团队,他们努力扩展支持的硬件平台列表、扩展固件的功能和稳定性、审查提交的代码并协调社区工作。了解团队及其专业领域: @@ -341,34 +274,6 @@ zh: title: 固件开发阶段 wip_alt: 图片:阶段 WIP wip_info: 工作正在进行中。我们了解了很多关于平台硬件和代码库的知识,准备了第一个公共二进制版本,并等待第一批试用者在他们的硬件上对其进行测试并提供反馈以帮助我们改进。 - support_open_source: - contribute: 贡献 - contribute_how1: 报告问题 - contribute_how1_text_html: 如果您发现了一个错误,请在GitHub上对应的仓库中提交一份错误报告。 - contribute_how2: 提交新的想法 - contribute_how2_text_html: 如果您觉得缺少一个有用的功能,您可以在GitHub上提交一个功能请求。 - contribute_how3: 改进代码 - contribute_how3_text_html: 分叉代码,进行改进,并向我们在GitHub上的存储库提交拉动请求。 - contribute_how4: 编写文件 - contribute_how4_text_html: 为我们的项目创建或更新文档。完善Wiki,校对网站等。 - contribute_how5: 传播信息 - contribute_how5_text_html: 谈论OpenIPC并与他人分享你的经验。写一篇博文,制作一段视频,在Reddit上发起一个话题,在Twitter上分享,或在其他社交媒体上发布... - contribute_how6: 成为赞助商 - contribute_how6_text_html: 支持我们的发展,帮助我们筹集足够的资金来支持我们,并确保长期维护我们的项目,我们相信OpenIPC将是一个稳定、灵活、开源的网络摄像机框架,为全球所有用户服务。为了表彰您的捐助,您将被永久地加入到我们GitHub页面的支持者/赞助者部分。 - contribute_text1: 开源是关于分享,一起创造伟大的事物,并为更大的利益做出贡献! 每当你做了一个你认为别人可以从中受益的改进,请把它贡献给项目。 - contribute_text2: 如果你曾经对项目中的某些东西感到好奇或困惑,面对一个问题而找不到答案,其他人可能也还在找。通过分享你的发现或想法来帮助他们。有很多方法可以为项目做出贡献,这里有几个例子: - contribute_text3: 我们致力于共建一个开放和透明的数字环境,并由衷地感谢你对我们的努力提供的任何支持,以推动OpenIPC和我们的使命走向一个可持续的未来。 - donate_crypto: 赠加密货币 - if_you_like_donate_html: 如果您喜欢我们的项目,请考虑在Open Collective上支持我们。 - img1_alt: 图像: 支持开源 - oc_button_alt: 图片 OpenCollective 捐赠按钮 - oc_button_title: 为我们的集体捐款 - paragraph1: 许多核心团队成员将他们的知识和空余时间奉献给这个项目,经常用他们的个人资金来购买摄像机,以便支持更多的硬件设备。您的捐款可以帮助我们减轻他们的个人经济负担,同时维持在最新的硬件平台上的继续该项目的开发。我们还用这些资金来补偿兼职和全职维护人员的工作,届时还会参加贸易展,与硬件供应商会面合作,了解网络摄像机技术的发展趋势,并获得SDK和其他技术文档,这些资料往往很昂贵。您的捐助可以帮助我们继续开发并为社区提供技术支持。 - price_of_firmware: 固件的价格 - price_of_firmware_p1_html: 在多数情况下,所有用户均可免费获得OpenIPC固件及其组件的使用权,用于个人及非商业用途。若您有意将OpenIPC应用于商业项目,请联系我们的团队获取详情,因部分固件组件可能采用与MIT许可不同的授权协议。 - thank_you: 非常感谢,这对我们来说意义重大! - title: 是开源的 - tron_in_telegram_html: 使用 TON 加密货币,可以在 Telegram 在 Telegram 中使用 @wallet 进行捐赠。 utilities: paragraph1: 实用工具和实用程序集。 title: 公用设施 diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 6a79bb7f..714d3f41 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -1,7 +1,7 @@ --- ru: alerts: - downloads: Если у вас возникли проблемы с доступом или загрузкой файлов, не стесняйтесь обращаться к нам на нашем канале Telegram. + downloads: Если у вас возникли проблемы с доступом или загрузкой файлов, не стесняйтесь обращаться к нам на нашем канале Telegram. button: find: Находить cameras: @@ -30,7 +30,7 @@ ru: generate_button: Создать руководство по установке generate_mac: Создайте допустимый случайный MAC-адрес. no_bootloader_alert: OpenIPC публикует прошивку для %{name}, но не публикует для него загрузчик. И пошаговая установка, и готовый образ флеш-памяти начинаются с записи загрузчика OpenIPC, поэтому для этого SoC нельзя предложить ни то, ни другое. Пакет прошивки ниже — это та часть, которая существует. - not_ready_alert_html: Инструкция по установке %{name} SoC еще не готова. Хотя мы прилагаем все усилия, чтобы выпустить прошивку OpenIPC для %{name}. Пожалуйста, следите за обновлениями и поддержите Open Source . + not_ready_alert_html: Инструкция по установке %{name} SoC еще не готова. Хотя мы прилагаем все усилия, чтобы выпустить прошивку OpenIPC для %{name}. Пожалуйста, следите за обновлениями и поддержите Open Source . notes: Заметки paragraph1: Введите конфигурацию камеры в предоставленную форму и нажмите кнопку «Создать руководство по установке». На следующей странице вы найдете бинарные файлы и команды, которые необходимо выполнить для установки прошивки OpenIPC на камеру. paragraph2: Не пренебрегайте этой частью. Вы можете подумать, что это не обязательно, так как вы не собираетесь возвращаться в темное прошлое, но мы вас уверяем, что стоковая прошивка все равно понадобится для восстановления недостающих настроек, драйверов и дальнейших исследований. @@ -121,37 +121,49 @@ ru: nor32m: NOR 32M nor8m: NOR 8M go: Go + footer: + column_community: Сообщество + column_ecosystem: Экосистема + column_platform: Платформа + column_project: Проект + firmware_source: Исходный код прошивки + license_note: Ядро под MIT; отдельные компоненты лицензируются иначе. + tagline: Без бэкдоров. Без подписок. Без ерунды. nav: - about: О нас add_soc: Добавьте еще одну SoC add_vendor: Добавить вендора adding_soc: Добавление SoC adding_vendor: Добавление вендора admin: Администратор - channels: Мы в Телеграме + business: Для бизнеса clone_soc: Клонировать SoC + community: Сообщество + community_chat: Чат и поддержка dashboard: Приборная панель + donate: Поддержать + ecosystem: Экосистема + ecosystem_overview: Обзор проектов editing: Редактирование + get_started: Начало работы green_life: Зеленая жизнь + hardware: Железо + header_web_tools: Веб-инструменты hires_timer: Шустрый таймер home: Начало - introduction: Вступление + low_latency: Низкая задержка next: Следующий openwall: Стена partition_calc: Калькулятор разделов pause_transitions: Наведите курсор мыши на снимок, чтобы приостановить автоматические переходы. previous: Предыдущий - projects: Проекты qr_code_generator: Генератор QR-кода snapshot: Снимок № %{number} snapshots: Последние снимки socs: SoC - software: Программы + stages: Стадии разработки store: Магазин - support_opensource: Открытый код supported_hardware: Оборудование team: Команда - tools: Инструменты utilities: Утилиты vendors: Продавцы view_soc: Посмотреть страницу SoC @@ -207,32 +219,5 @@ ru: uptime: Время безотказной работы str: language: Язык - telegram: - channels: - description_1: Основная международная группа по OpenIPC (EN) - description_10: Группа пользователей OpenIPC из Китая - description_11: Официальная информация, новости и ссылки от OpenIPC - description_2: Уведомления от GitHub о последних сборках - description_3: Демонстрационный Telegram бот - description_4: Группа русскоязычных пользователей OpenIPC - description_5: Группа для разработчиков прошивки OpenIPC - description_6: Всё по ремонту IP камер и NVR - description_7: Группа по созданию FPV систем на базе OpenIPC - description_8: Группа для платной технической поддержки - description_9: Группа пользователей OpenIPC из Ирана - formatting: - bold: Жирный - header: Форматирование - hyperlink: Гиперссылка - italic: Курсив - monospace: Моноширинный - strikeout: Зачеркнутый - text_html: |- -

Знаете ли вы, что мессенджер Telegram позволяет форматировать сообщения, чтобы подчеркнуть важное и сделать информацию более удобной для восприятия?

-

Перед отправкой сообщения выделите фрагмент текста и нажмите нужное сочетание клавиш:

- underline: Подчеркнутый - translation: - header: Перевод сообщений - text_html:

Знаете ли вы, что в мессенджере Telegram есть встроенный механизм перевода, позволяющий читать сообщения, написанные на других языках? Пользователи с премиум-аккаунтами могут переводить целые чаты "на лету", но даже в обычном аккаунте можно переводить отдельные сообщения одним нажатием кнопки.

title: openwall: Стена diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 0eaee0e2..824796e5 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -1,7 +1,7 @@ --- zh: alerts: - downloads: 如果您在访问或下载文件时遇到任何问题,请随时通过我们的电报频道与我们联系。 + downloads: 如果您在访问或下载文件时遇到任何问题,请随时通过我们的电报频道与我们联系。 button: find: 寻找 cameras: @@ -30,7 +30,7 @@ zh: generate_button: 生成安装指南 generate_mac: 生成有效的随机 MAC 地址。 no_bootloader_alert: OpenIPC 为 %{name} 提供固件,但没有为它提供引导加载程序。引导式安装和现成的刷机镜像都要先写入 OpenIPC 引导加载程序,因此这两者都无法为该 SoC 提供。下方的固件包是确实存在的部分。 - not_ready_alert_html: '%{name} SoC 的安装说明尚未准备好。但是我们正在努力发布 %{name} 的 OpenIPC 固件。请继续关注并支持开源。' + not_ready_alert_html: '%{name} SoC 的安装说明尚未准备好。但是我们正在努力发布 %{name} 的 OpenIPC 固件。请继续关注并支持开源。' notes: 备注 paragraph1: 请在右侧输入摄像机配置,然后点击“生成安装指南”按钮。在下一页中,您将找到二进制文件和在摄像机上安装 OpenIPC 固件时必须执行的命令。 paragraph2: 请不要忽视这部分。您可能认为没有必要,但我们向您保证,仍然需要原始固件来恢复丢失的设置、驱动程序,并且用来进一步研究。 @@ -119,37 +119,49 @@ zh: nor32m: NOR 32M nor8m: NOR 8M go: 进行 + footer: + column_community: 社区 + column_ecosystem: 生态 + column_platform: 平台 + column_project: 项目 + firmware_source: 固件源代码 + license_note: 核心采用 MIT 许可;部分组件另行授权。 + tagline: 没有后门。没有订阅。不折腾。 nav: - about: 关于 add_soc: 添加另一个 SoC add_vendor: 添加供应商 adding_soc: 添加 SoC adding_vendor: 加供应商 admin: 管理 - channels: 我们的频道 + business: 面向企业 clone_soc: 克隆此 SoC + community: 社区 + community_chat: 交流与支持 dashboard: 仪表板 + donate: 捐赠 + ecosystem: 生态 + ecosystem_overview: 项目总览 editing: 编辑 + get_started: 快速上手 green_life: 绿色生活 + hardware: 硬件 + header_web_tools: 在线工具 hires_timer: 高精度计时器 home: 主页 - introduction: 介绍 + low_latency: 低延迟 next: 下一个 openwall: 公开展板 partition_calc: 固件分区计算器 pause_transitions: 将鼠标光标放在快照上可以暂停自动转换。 previous: 以前的 - projects: 我们的项目 qr_code_generator: 二维码生成器 snapshot: '快照 #%{number}' snapshots: 最新快照 socs: SoC - software: 我们的软件 + stages: 开发阶段 store: 店铺 - support_opensource: 它是开源的 supported_hardware: 支持的硬件 team: 我们的团队 - tools: 工具 utilities: 公用设施 vendors: 供应商 view_soc: 查看 SoC 页面 @@ -205,32 +217,5 @@ zh: uptime: 正常运行时间 str: language: 语言 - telegram: - channels: - description_1: OpenIPC 的国际频道 - description_10: OpenIPC中文讨论组 - description_11: 来自 OpenIPC 的官方信息、新闻和链接 - description_2: 关于最新版本的 GitHub 通知 - description_3: OpenIPC Telegram 机器人演示 - description_4: OpenIPC 的俄语频道 - description_5: OpenIPC 开发者通道 - description_6: 维修一切设备。 - description_7: 用于构建 FPV 系统的 OpenIPC。 - description_8: 有偿技术支持频道 - description_9: 面向伊朗用戶的 OpenIPC 團隊 - formatting: - bold: 粗体 - header: 消息格式 - hyperlink: 超级链接 - italic: 斜体 - monospace: 等宽 - strikeout: 删除线 - text_html: |- -

你知道 Telegram Messenger 允许您使用格式来强调信息的重要部分并使信息更容易理解吗?

-

选择一个文本片段,然后按组合键:

- underline: 下划线 - translation: - header: 聊天翻译 - text_html: "

你是否知道 Telegram Messenger 有一个内置翻译引擎,可以让你阅读其他语言信息吗?拥有高级账户的用户可以即时翻译整个聊天内容,但即使是普通账户,也可以通过点击按钮翻译单条信息。

" title: openwall: 公开展板 diff --git a/config/routes.rb b/config/routes.rb index 6e370592..d444bbb5 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -3,21 +3,32 @@ # the "*unmatched" catch-all below, which redirects instead of 404ing. get "/up", to: proc { [200, { "Content-Type" => "text/plain" }, ["ok"]] } - root "pages#introduction" + root 'pages#home' - get '/aaa', to: 'pages#aaa' - - # The relaunched pages. They answer on their own URLs from here, so they can be - # reviewed and deployed on their own, but nothing links to them yet: the root - # route and the navigation still serve the pre-relaunch structure. The cutover - # is a separate change. get '/get-started', to: 'pages#get_started' get '/low-latency', to: 'pages#low_latency' get '/ecosystem', to: 'pages#ecosystem' get '/business', to: 'pages#business' get '/community', to: 'pages#community' get '/donate', to: 'pages#donate' - get '/home', to: 'pages#home' + + # The pre-relaunch structure, redirected rather than dropped. These URLs are + # in search results, in forum posts and in the wiki, and none of that is ours + # to edit. 301 so the ones that are indexed transfer rather than compete. + # + # /home was the temporary URL the homepage answered on while it was being + # built and nothing linked to it; it is the root now. + get '/home', to: redirect('/') + get '/introduction', to: redirect('/') + get '/aaa', to: redirect('/') + get '/fpv', to: redirect('/low-latency') + get '/our-projects', to: redirect('/ecosystem') + get '/our-software', to: redirect('/ecosystem') + get '/our-channels', to: redirect('/community') + get '/support-open-source', to: redirect('/donate') + # 302, not 301: /about is meant to become a page of its own, and a 301 is + # cached by browsers indefinitely -- it would outlive the decision. + get '/about', to: redirect('/community', status: 302) get '/majestic-endpoints', to: 'pages#majestic_endpoints' get '/coupler', to: redirect('https://github.com/openipc//coupler/') @@ -52,30 +63,34 @@ get '/wiki(/*any)', to: redirect('https://github.com/openipc/wiki') get '/SDK', to: redirect('/supported-hardware') - get '/sponsor', to: redirect('/support-open-source') + get '/sponsor', to: redirect('/donate') - get '/about', to: 'pages#about' get '/green_life', to:'pages#green_life' - get '/introduction', to:'pages#introduction' get '/merchandise', to: 'pages#merchandise' - get '/our-projects', to: 'pages#our_projects' - get '/our-software', to: 'pages#our_software' get '/our-team', to: 'pages#our_team' - get '/our-channels', to: 'pages#our_channels' get '/stages-of-firmware-development', to: 'pages#stages_of_firmware_development' get '/utilities', to: 'pages#utilities' - get '/support-open-source', to: 'pages#support_open_source' get '/web-interface', to: 'pages#web_interface' get '/supported-hardware', to: redirect('/supported-hardware/featured') get '/supported-hardware/featured', to: 'cameras/socs#featured' get '/supported-hardware/full-list', to: 'cameras/socs#full_list' - get '/tools/bandwidth-calculator', to: 'pages#bandwidth_calculator' + # /tools/bandwidth-calculator is deliberately absent. It routed to + # pages#bandwidth_calculator, which has never existed -- no action, no + # template -- so every request raised AbstractController::ActionNotFound and + # answered 500 in production. Falling through to the catch-all sends the + # visitor to the homepage, which is at least a page. get '/tools/firmware-partitions-calculation', to: 'pages#firmware_partitions_calculation' get '/tools/high-resolution-timer', to: 'pages#high_resolution_timer' get '/tools/qr-code-generator', to: 'pages#qr_code_generator' - get '/tools/timelaps-interval-calculator', to: 'pages#timelaps_interval_calculator' + # /tools/timelaps-interval-calculator is deliberately absent, for the same + # reason as the bandwidth calculator above: pages#timelaps_interval_calculator + # has no action and no template under that name, so the route has answered 500 + # for its whole life. app/views/pages/timelaps-interval-calculator.html.erb is + # left in the tree -- it is an unfinished draft with hardcoded English and no + # calculation, and finishing it is a decision for whoever started it, not + # something to be done by a routing change. # Commented out in ed0e025, a bulk tidy-up, while five places that redirect to # /open-wall were left in: snapshots_controller.rb twice, diff --git a/test/controllers/page_metadata_test.rb b/test/controllers/page_metadata_test.rb index b4623dff..8f4c1f93 100644 --- a/test/controllers/page_metadata_test.rb +++ b/test/controllers/page_metadata_test.rb @@ -82,8 +82,11 @@ class PageMetadataTest < ActionDispatch::IntegrationTest # Pages that lay out their own full-bleed sections opt out of the wrapper. # Existing pages set nothing and must keep it. test 'pages that do not ask for full width keep the container wrapper' do - get '/introduction' + get '/our-team' - assert_select 'main > div.container' + # The layout's own wrapper, not any .container: the full-bleed pages open + # containers of their own directly under
, so a bare .container would + # match whether the switch worked or not. + assert_not_empty css_select('main > div.container.mb-4') end end diff --git a/test/controllers/redirects_test.rb b/test/controllers/redirects_test.rb new file mode 100644 index 00000000..e62f9df7 --- /dev/null +++ b/test/controllers/redirects_test.rb @@ -0,0 +1,79 @@ +# frozen_string_literal: true + +require 'test_helper' + +# The pre-relaunch URLs. Every one of these is in search results, in forum posts +# and in the wiki, and none of that is ours to edit -- so the map is code, and +# the code is tested. Without this, a rename quietly turns an inbound link into +# a 302 to the homepage, which looks like it works. +class RedirectsTest < ActionDispatch::IntegrationTest + PERMANENT = { + '/home' => '/', + '/introduction' => '/', + '/aaa' => '/', + '/fpv' => '/low-latency', + '/our-projects' => '/ecosystem', + '/our-software' => '/ecosystem', + '/our-channels' => '/community', + '/support-open-source' => '/donate', + '/sponsor' => '/donate', + '/hardware' => '/supported-hardware/featured', + '/SDK' => '/supported-hardware', + '/supported-hardware' => '/supported-hardware/featured' + }.freeze + + PERMANENT.each do |from, to| + test "301 #{from} -> #{to}" do + get from + + assert_response :moved_permanently + assert_equal to, URI.parse(response.location).path + end + end + + # 302, not 301: /about is meant to become a page of its own. A 301 is cached + # by browsers indefinitely and would outlive the decision. + test '302 /about -> /community, until the About page ships' do + get '/about' + + assert_response :found + assert_equal '/community', URI.parse(response.location).path + end + + # Each redirect has to land somewhere real. A target that itself falls through + # the catch-all would still answer 301 here and 302-then-200 to a visitor. + test 'every redirect target resolves' do + (PERMANENT.values + ['/community']).uniq.each do |target| + get target + follow_redirect! while response.redirect? + + assert_response :success, "#{target} does not resolve" + end + end + + # /tools/bandwidth-calculator routed to pages#bandwidth_calculator, an action + # that has never existed -- no method, no template -- so it raised + # AbstractController::ActionNotFound and answered 500 in production. The route + # is gone; the catch-all sends the visitor to the homepage, which is a page. + test 'the bandwidth calculator URL no longer raises' do + get '/tools/bandwidth-calculator' + + assert_redirected_to '/' + end + + # The camera upload API posts to /snapshots. Nothing in the relaunch may + # shadow it -- the gallery moved to /open-wall, the API did not move at all. + test 'cameras can still POST to /snapshots' do + post '/snapshots' + + assert_not response.redirect?, 'the camera upload API was shadowed by a redirect' + assert_includes [400, 415, 422, 500], response.status, + "expected a request error for an empty upload, got #{response.status}" + end + + test '/open-wall is the gallery, not a fall-through to the homepage' do + get '/open-wall' + + assert_response :success + end +end diff --git a/test/controllers/relaunch_pages_test.rb b/test/controllers/relaunch_pages_test.rb index 537a8179..a113478b 100644 --- a/test/controllers/relaunch_pages_test.rb +++ b/test/controllers/relaunch_pages_test.rb @@ -7,7 +7,7 @@ # exactly why they are tested before the cutover rather than after it. class RelaunchPagesTest < ActionDispatch::IntegrationTest PAGES = { - '/home' => 'home', + '/' => 'home', '/get-started' => 'get_started', '/low-latency' => 'low_latency', '/ecosystem' => 'ecosystem', @@ -50,7 +50,7 @@ class RelaunchPagesTest < ActionDispatch::IntegrationTest assert_equal 0, Snapshot.count assert_equal 0, Soc.count - get '/home' + get '/' assert_response :success end @@ -72,8 +72,8 @@ class RelaunchPagesTest < ActionDispatch::IntegrationTest # The inverse, so the switch is pinned from both sides: a page that asks for # nothing must still get the wrapper. - test 'a pre-relaunch page still gets the layout wrapper' do - get '/introduction' + test 'a page that does not ask for full width still gets the layout wrapper' do + get '/our-team' assert_not_empty css_select('main > div.container.mb-4') end @@ -108,12 +108,12 @@ class RelaunchPagesTest < ActionDispatch::IntegrationTest test 'Russian integrators appear for ru and for nobody else' do marker = PagesHelper::RU_INTEGRATORS.first[:img] - get '/home?locale=ru' + get '/?locale=ru' assert_includes response.body, marker.sub('.png', '') %w[en zh].each do |locale| - get "/home?locale=#{locale}" + get "/?locale=#{locale}" assert_not_includes response.body, marker.sub('.png', ''), "RU integrators leaked into #{locale}"