|
1 | 1 | <!doctype html> |
2 | | -<html lang="en"> |
| 2 | +<html lang="en" class="dark"> |
3 | 3 | <head> |
4 | 4 | <meta charset="UTF-8" /> |
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
6 | | - <meta name="robots" content="noindex, follow" /> |
7 | | - <title>QECTOR</title> |
| 6 | + <meta name="robots" content="index, follow, max-image-preview:large" /> |
| 7 | + <meta name="theme-color" content="#24e7ff" /> |
| 8 | + <meta name="msapplication-TileColor" content="#24e7ff" /> |
| 9 | + <meta name="description" content="QECTOR Decoder v3 - Production-grade Python library for quantum error correction decoding with exact MWPM parity to PyMatching and measurable Belief-Matching gains." /> |
| 10 | + <link rel="canonical" href="https://qector.store/" /> |
| 11 | + <meta property="og:type" content="website" /> |
| 12 | + <meta property="og:site_name" content="QECTOR" /> |
| 13 | + <meta property="og:title" content="QECTOR · Production-Grade Quantum Error Correction Decoding for Python" /> |
| 14 | + <meta property="og:description" content="QECTOR Decoder v3 - Production-grade Python library for quantum error correction decoding with exact MWPM parity to PyMatching and measurable Belief-Matching gains." /> |
| 15 | + <meta property="og:url" content="https://qector.store/" /> |
| 16 | + <meta property="og:image" content="https://qector.store/assets/logo.svg" /> |
| 17 | + <meta name="twitter:card" content="summary_large_image" /> |
| 18 | + <meta name="twitter:site" content="@DJiD01T" /> |
| 19 | + <meta name="twitter:title" content="QECTOR · Production-Grade Quantum Error Correction Decoding for Python" /> |
| 20 | + <meta name="twitter:description" content="QECTOR Decoder v3 - Production-grade Python library for quantum error correction decoding with exact MWPM parity to PyMatching and measurable Belief-Matching gains." /> |
| 21 | + <meta name="twitter:image" content="https://qector.store/assets/logo.svg" /> |
| 22 | + <link rel="preconnect" href="https://github.com" /> |
| 23 | + <link rel="dns-prefetch" href="https://github.com" /> |
| 24 | + <link rel="preconnect" href="https://pypi.org" /> |
| 25 | + <link rel="dns-prefetch" href="https://pypi.org" /> |
| 26 | + |
| 27 | + <link rel="preconnect" href="https://fonts.googleapis.com" /> |
| 28 | + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> |
| 29 | + <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet" /> |
| 30 | + <title>QECTOR · Production-Grade Quantum Error Correction Decoding for Python</title> |
| 31 | + <!-- Early SPA redirect for GitHub Pages: set before bundle loads so React Router can restore path even on direct /subpage hits --> |
| 32 | + <script> |
| 33 | + (function() { |
| 34 | + try { |
| 35 | + var l = window.location; |
| 36 | + // Store original path for restore in index logic or bundle |
| 37 | + if (!sessionStorage.getItem('gh-redirect')) { |
| 38 | + sessionStorage.setItem('gh-redirect', l.pathname + l.search + l.hash); |
| 39 | + } |
| 40 | + // If we were loaded as 404 fallback for a subpath, rewrite early to proper path (client only) |
| 41 | + if (l.search.indexOf('p=') === -1 && (l.pathname.length > 1 || l.hash)) { |
| 42 | + // keep as-is; restore happens post bundle via the p script + router |
| 43 | + } |
| 44 | + } catch(e){} |
| 45 | + })(); |
| 46 | + </script> |
| 47 | + <script type="module" crossorigin src="/assets/index-CEazwYLI.js"></script> |
| 48 | + <link rel="stylesheet" crossorigin href="/assets/index-DheyIznP.css"> |
8 | 49 | <script type="text/javascript"> |
9 | | - var l = window.location; |
10 | | - l.replace( |
11 | | - l.protocol + "//" + l.hostname + (l.port ? ":" + l.port : "") + |
12 | | - l.pathname.split("/").slice(0, 1).join("/") + "/?p=/" + |
13 | | - l.pathname.slice(1).replace(/&/g, "~and~") + |
14 | | - (l.search ? "&" + l.search.slice(1).replace(/&/g, "~and~") : "") + |
15 | | - l.hash |
16 | | - ); |
| 50 | + // p= query restore (from prior redirect) + gh-redirect session restore for subpaths |
| 51 | + (function(l){ |
| 52 | + var restored = false; |
| 53 | + try { |
| 54 | + var stored = sessionStorage.getItem('gh-redirect'); |
| 55 | + if (stored && stored !== l.pathname + l.search + l.hash && stored.length > 1) { |
| 56 | + sessionStorage.removeItem('gh-redirect'); |
| 57 | + var target = stored; |
| 58 | + if (target[0] !== '/') target = '/' + target; |
| 59 | + window.history.replaceState(null, null, target); |
| 60 | + restored = true; |
| 61 | + } |
| 62 | + } catch(e){} |
| 63 | + if (!restored && l.search[1]==='p'&&l.search.slice(1,3)==='p='){ |
| 64 | + var d=l.search.slice(3).split('&').map(function(s){return s.replace(/~and~/g,'&');}).join('?'); |
| 65 | + window.history.replaceState(null,null,l.pathname.slice(0,-1)+d+l.hash); |
| 66 | + } |
| 67 | + })(window.location); |
17 | 68 | </script> |
18 | 69 | </head> |
19 | | - <body></body> |
| 70 | + <body> |
| 71 | + <div id="root"></div> |
| 72 | + </body> |
20 | 73 | </html> |
0 commit comments