|
| 1 | +<!DOCTYPE html> |
| 2 | + |
| 3 | +<html lang="en"> |
| 4 | + |
| 5 | +<head> |
| 6 | + <meta charset="utf-8"> |
| 7 | + <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 8 | + <meta name="color-scheme" content="light dark"> |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + <meta name="description" content=""> |
| 14 | + |
| 15 | + <title>Blog</title> |
| 16 | + <link rel="icon" type="image/png" sizes="32x32" href="https://andypy.dev/img/favicon-32x32.png"> |
| 17 | + <link rel="icon" type="image/png" sizes="16x16" href="https://andypy.dev/img/favicon-16x16.png"> |
| 18 | + <link rel="apple-touch-icon" sizes="180x180" href="https://andypy.dev/img/apple-touch-icon.png"> |
| 19 | + |
| 20 | + <style> |
| 21 | + |
| 22 | + /* light mode colors */ |
| 23 | + body { |
| 24 | + --primary-color: #5871a2; |
| 25 | + --primary-pale-color: #5871a233; |
| 26 | + --primary-decoration-color: #5871a210; |
| 27 | + --bg-color: #ffffff; |
| 28 | + --text-color: #2f3030; |
| 29 | + --text-pale-color: #767676; |
| 30 | + --text-decoration-color: #a9a9a9; |
| 31 | + --highlight-mark-color: #5f75b020; |
| 32 | + |
| 33 | + --callout-note-color: #5871a2; |
| 34 | + --callout-tip-color: #268556; |
| 35 | + --callout-important-color: #885fc9; |
| 36 | + --callout-warning-color: #ab6632; |
| 37 | + --callout-caution-color: #c64e4e; |
| 38 | + } |
| 39 | + |
| 40 | + /* dark mode colors */ |
| 41 | + body.dark { |
| 42 | + --primary-color: #6f8fd1; |
| 43 | + --primary-pale-color: #6f8fd166; |
| 44 | + --primary-decoration-color: #6f8fd112; |
| 45 | + --bg-color: #1c1c1c; |
| 46 | + --text-color: #c1c1c1; |
| 47 | + --text-pale-color: #848484; |
| 48 | + --text-decoration-color: #5f5f5f; |
| 49 | + --highlight-mark-color: #8296cb3b; |
| 50 | + |
| 51 | + --callout-note-color: #6f8fd1; |
| 52 | + --callout-tip-color: #47976f; |
| 53 | + --callout-important-color: #9776cd; |
| 54 | + --callout-warning-color: #ad7a52; |
| 55 | + --callout-caution-color: #d06161; |
| 56 | + } |
| 57 | + |
| 58 | + /* typography */ |
| 59 | + body { |
| 60 | + --main-font: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; |
| 61 | + --code-font: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; |
| 62 | + --homepage-max-width: 768px; |
| 63 | + --main-max-width: 768px; |
| 64 | + --avatar-size: 60px; |
| 65 | + --font-size: 16px; |
| 66 | + --line-height: 1.75; |
| 67 | + --img-border-radius: 0px; |
| 68 | + --detail-border-radius: 0px; |
| 69 | + --dark-mode-img-brightness: 0.75; |
| 70 | + --dark-mode-chart-brightness: 0.75; |
| 71 | + --inline-code-border-radius: 2px; |
| 72 | + --inline-code-bg-color: var(--primary-decoration-color); |
| 73 | + --block-code-border-radius: 0px; |
| 74 | + --block-code-border-color: var(--primary-color); |
| 75 | + --detail-border-color: var(--primary-color); |
| 76 | + } |
| 77 | + |
| 78 | +</style> |
| 79 | + |
| 80 | + <link rel="stylesheet" href="https://andypy.dev/main.css"> |
| 81 | + |
| 82 | + |
| 83 | +</head> |
| 84 | + |
| 85 | +<body class="blog"> |
| 86 | + |
| 87 | + <script> |
| 88 | + const theme = sessionStorage.getItem('theme'); |
| 89 | + const match = window.matchMedia("(prefers-color-scheme: dark)").matches |
| 90 | + if ((theme && theme == 'dark') || (!theme && match)) { |
| 91 | + document.body.classList.add('dark'); |
| 92 | + const hl = document.querySelector('link#hl'); |
| 93 | + if (hl) hl.href = 'https://andypy.dev/hl-dark.css'; |
| 94 | + } |
| 95 | + </script> |
| 96 | + |
| 97 | + |
| 98 | +<div id="wrapper"> |
| 99 | + |
| 100 | +<header> |
| 101 | + <nav> |
| 102 | + <a href="https://andypy.dev">← Back</a> |
| 103 | + </nav> |
| 104 | +</header> |
| 105 | + |
| 106 | + |
| 107 | +<div class="section-title"> |
| 108 | + |
| 109 | + <h1>Blog</h1> |
| 110 | + |
| 111 | + |
| 112 | + <p>sup</p> |
| 113 | + |
| 114 | +</div> |
| 115 | + |
| 116 | + |
| 117 | + <main class="layout-list"> |
| 118 | + |
| 119 | + <div class="post-list"> |
| 120 | + |
| 121 | + <a class="post instant " href="https://andypy.dev/blog/mutex-vs-rwlock/"> |
| 122 | + <span>Mutex vs RwLock</span> |
| 123 | + <span class="date">Jan 1, 2022</span> |
| 124 | + </a> |
| 125 | + |
| 126 | + </div> |
| 127 | + |
| 128 | + </main> |
| 129 | + |
| 130 | + |
| 131 | + |
| 132 | +<footer> |
| 133 | + <div class="left"> |
| 134 | + <div class="copyright"> |
| 135 | + © 2025 Anhad Singh |
| 136 | + |
| 137 | + <span>|</span> |
| 138 | + Built with <a href="https://www.getzola.org" rel="noreferrer" target="_blank">zola</a> and <a href="https://github.com/isunjn/serene" rel="noreferrer" target="_blank">serene</a> |
| 139 | + |
| 140 | + </div> |
| 141 | + </div> |
| 142 | + |
| 143 | + <div class="right"> |
| 144 | + |
| 145 | + |
| 146 | + |
| 147 | + |
| 148 | + |
| 149 | + |
| 150 | + |
| 151 | + |
| 152 | + <button id="theme-toggle" aria-label="theme switch"> |
| 153 | + <span class="moon-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path d="M10 7C10 10.866 13.134 14 17 14C18.9584 14 20.729 13.1957 21.9995 11.8995C22 11.933 22 11.9665 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C12.0335 2 12.067 2 12.1005 2.00049C10.8043 3.27098 10 5.04157 10 7ZM4 12C4 16.4183 7.58172 20 12 20C15.0583 20 17.7158 18.2839 19.062 15.7621C18.3945 15.9187 17.7035 16 17 16C12.0294 16 8 11.9706 8 7C8 6.29648 8.08133 5.60547 8.2379 4.938C5.71611 6.28423 4 8.9417 4 12Z" fill="currentColor"></path></svg> |
| 154 | +</span> |
| 155 | + <span class="sun-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path d="M12 18C8.68629 18 6 15.3137 6 12C6 8.68629 8.68629 6 12 6C15.3137 6 18 8.68629 18 12C18 15.3137 15.3137 18 12 18ZM12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16ZM11 1H13V4H11V1ZM11 20H13V23H11V20ZM3.51472 4.92893L4.92893 3.51472L7.05025 5.63604L5.63604 7.05025L3.51472 4.92893ZM16.9497 18.364L18.364 16.9497L20.4853 19.0711L19.0711 20.4853L16.9497 18.364ZM19.0711 3.51472L20.4853 4.92893L18.364 7.05025L16.9497 5.63604L19.0711 3.51472ZM5.63604 16.9497L7.05025 18.364L4.92893 20.4853L3.51472 19.0711L5.63604 16.9497ZM23 11V13H20V11H23ZM4 11V13H1V11H4Z" fill="currentColor"></path></svg> |
| 156 | +</span> |
| 157 | + </button> |
| 158 | + |
| 159 | + </div> |
| 160 | +</footer> |
| 161 | + |
| 162 | + |
| 163 | + |
| 164 | + |
| 165 | + |
| 166 | +</div> |
| 167 | + |
| 168 | + |
| 169 | + <script src="https://andypy.dev/js/main.js"></script> |
| 170 | +</body> |
| 171 | + |
| 172 | +</html> |
0 commit comments