Repository navigation
Expand file tree
/
Copy pathtrainer.html
More file actions
62 lines (61 loc) · 7.37 KB
/
Copy pathtrainer.html
File metadata and controls
62 lines (61 loc) · 7.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Тренажёр — .NET Tutorial</title>
<meta name="description" content="Карточки для повторения вопросов по .NET от Junior до Senior.">
<meta name="color-scheme" content="light dark">
<link rel="icon" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20rx%3D%228%22%20fill%3D%22%23512bd4%22%2F%3E%3Ctext%20x%3D%2216%22%20y%3D%2221%22%20text-anchor%3D%22middle%22%20font-family%3D%22Arial%22%20font-size%3D%2212%22%20font-weight%3D%22700%22%20fill%3D%22%23fff%22%3E.NET%3C%2Ftext%3E%3C%2Fsvg%3E">
<script>(function(){try{var t=localStorage.getItem('theme');if(t!=='light'&&t!=='dark')t=matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';document.documentElement.setAttribute('data-theme',t);}catch(e){document.documentElement.setAttribute('data-theme','light');}})();</script>
<link rel="stylesheet" href="assets/style.css">
</head>
<body class="page-trainer" data-base="">
<a class="skip" href="#main">Перейти к содержимому</a>
<header class="topbar">
<div class="topbar-in">
<a class="brand" href="index.html"><svg class="logo-mark" viewBox="0 0 32 32" aria-hidden="true"><rect width="32" height="32" rx="8" fill="currentColor"/><text x="16" y="21" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" font-weight="700" fill="#fff">.NET</text></svg><span>.NET Tutorial</span></a>
<div class="search" role="search">
<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>
<input id="search" type="search" placeholder="Поиск по вопросам… ( / )" autocomplete="off" aria-label="Поиск по вопросам">
<div class="search-results" id="search-results" hidden></div>
</div>
<nav class="top-actions">
<a class="btn-ghost" href="trainer.html" title="Тренажёр: карточки для повторения"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><rect x="3" y="6" width="14" height="14" rx="2"/><path d="M7 6V4.5A1.5 1.5 0 0 1 8.5 3H19.5A1.5 1.5 0 0 1 21 4.5v11a1.5 1.5 0 0 1-1.5 1.5H17"/></svg><span class="hide-sm">Тренажёр</span></a>
<button class="btn-ghost icon-only" id="theme-toggle" type="button" aria-label="Переключить тему"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></svg><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"/></svg></button>
</nav>
</div>
</header>
<main id="main" class="page trainer">
<nav class="crumbs" aria-label="Навигация"><a href="index.html">Главная</a><span>/</span><span>Тренажёр</span></nav>
<header class="page-head">
<h1>Тренажёр-карточки</h1>
<p class="lead">Сначала попробуйте ответить вслух, затем откройте краткий ответ. «Знаю» — карточка уходит из колоды, «Повторить» — вернётся позже.</p>
</header>
<div class="tr-levels" role="group" aria-label="Уровни"><label class="tr-cat"><input type="checkbox" value="junior" checked><span class="chip lv-junior">Junior</span></label><label class="tr-cat"><input type="checkbox" value="middle" checked><span class="chip lv-middle">Middle</span></label><label class="tr-cat"><input type="checkbox" value="senior" checked><span class="chip lv-senior">Senior</span></label></div>
<details class="tr-filter"><summary>Разделы для тренировки</summary><div class="tr-cats"><label class="tr-cat" style="--cat:#16a34a"><input type="checkbox" value="csharp-basics" checked><span>Основы C# и .NET</span></label><label class="tr-cat" style="--cat:#512bd4"><input type="checkbox" value="csharp-dotnet" checked><span>C# и .NET углублённо</span></label><label class="tr-cat" style="--cat:#0f7b5f"><input type="checkbox" value="aspnet-core" checked><span>ASP.NET Core</span></label><label class="tr-cat" style="--cat:#c2410c"><input type="checkbox" value="ef-core" checked><span>Entity Framework Core</span></label><label class="tr-cat" style="--cat:#6d28d9"><input type="checkbox" value="databases-sql" checked><span>Базы данных и SQL</span></label><label class="tr-cat" style="--cat:#b45309"><input type="checkbox" value="architecture" checked><span>Архитектура и паттерны</span></label><label class="tr-cat" style="--cat:#0e7490"><input type="checkbox" value="system-design" checked><span>System Design и распределённые системы</span></label><label class="tr-cat" style="--cat:#3f7d1c"><input type="checkbox" value="testing" checked><span>Тестирование</span></label><label class="tr-cat" style="--cat:#be185d"><input type="checkbox" value="messaging" checked><span>Очереди и асинхронная обработка</span></label><label class="tr-cat" style="--cat:#475569"><input type="checkbox" value="performance" checked><span>Производительность и диагностика</span></label><label class="tr-cat" style="--cat:#0369a1"><input type="checkbox" value="devops" checked><span>DevOps и инфраструктура</span></label><label class="tr-cat" style="--cat:#b91c1c"><input type="checkbox" value="security" checked><span>Безопасность</span></label><label class="tr-cat" style="--cat:#7c3aed"><input type="checkbox" value="teamwork" checked><span>Работа в команде и процессы</span></label></div>
<label class="tr-cat only-new"><input type="checkbox" id="tr-only-new"><span>Только неизученные</span></label></details>
<div class="tr-stats"><span>В колоде: <b id="tr-left">0</b></span><span>Знаю: <b id="tr-known">0</b></span><span>Повторить: <b id="tr-again">0</b></span></div>
<section class="card-box" id="card" aria-live="polite">
<div class="card-cat" id="card-cat"></div>
<h2 class="card-q" id="card-q">Загрузка…</h2>
<div class="card-a prose" id="card-a" hidden></div>
<div class="card-actions">
<button class="btn-primary" id="btn-show" type="button">Показать ответ <kbd>Пробел</kbd></button>
<button class="btn-secondary good" id="btn-know" type="button" hidden>Знаю <kbd>1</kbd></button>
<button class="btn-secondary bad" id="btn-again" type="button" hidden>Повторить <kbd>2</kbd></button>
<a class="btn-link" id="card-link" href="#">Открыть полный разбор →</a>
</div>
</section>
<button class="btn-link" id="tr-restart" type="button">Перемешать колоду заново</button>
</main>
<footer class="site-footer">
<div class="footer-in">
<span>.NET Tutorial — вопросы и ответы по .NET от Junior до Senior</span>
<a href="https://github.com/sh-sharifjonov/dotnet-tutorial">Исходники на GitHub</a>
</div>
</footer>
<script src="assets/search-index.js" defer></script>
<script src="assets/app.js" defer></script>
</body>
</html>