125 lines
4.5 KiB
HTML
125 lines
4.5 KiB
HTML
{% load static %}
|
||
{% load media %}
|
||
<!doctype html>
|
||
<html lang="ru">
|
||
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>{{ profile.full_name }}</title>
|
||
<meta name="description" content="Персональный сайт-резюме — {{ profile.full_name }}">
|
||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||
<link rel="stylesheet" href="{% static 'cv/css/style.css' %}">
|
||
</head>
|
||
|
||
<body class="container">
|
||
<header class="site">
|
||
<div class="header-left">
|
||
</div>
|
||
<div class="header-right">
|
||
<a class="btn outline" href="{% url 'cv:resume-pdf' %}" download>PDF</a>
|
||
<a class="btn outline" href="{% url 'cv:resume-docx' %}" download>DOCX</a>
|
||
</div>
|
||
</header>
|
||
|
||
<main>
|
||
<section class="hero">
|
||
<div class="hero__avatar" aria-hidden="true">
|
||
{% if profile.photo %}
|
||
<img src="{% media profile.photo %}" alt="{{ profile.full_name }}">
|
||
{% else %}
|
||
{{ profile.full_name|slice:":1" }}
|
||
{% endif %}
|
||
</div>
|
||
<div class="hero__content">
|
||
<h2>Привет, я {{ profile.full_name }}</h2>
|
||
{% if profile.role %}<p class="lead">{{ profile.role }} • {{ profile.location }}</p>{% endif %}
|
||
<p class="lead" style="margin-top:12px">{{ profile.summary }}</p>
|
||
</div>
|
||
</section>
|
||
|
||
<div class="grid">
|
||
<div>
|
||
<section id="experience" class="card">
|
||
<h3>Опыт работы</h3>
|
||
<div class="timeline" style="margin-top:10px">
|
||
{% for job in profile.experience.all %}
|
||
<article class="job">
|
||
<div class="company"><span style="opacity:.9">{{ job.company }}</span></div>
|
||
<div class="period">
|
||
{% with sd=job.start_date ed=job.end_date %}
|
||
{% if sd %}{{ sd|date:"F Y" }}{% endif %}{% if ed %} — {{ ed|date:"F Y" }}{% else %} — настоящее время
|
||
{% endif %}
|
||
{% endwith %}
|
||
</div>
|
||
{% if job.summary %}<div style="margin-top:8px;color:var(--muted)">{{ job.summary }}</div>{% endif %}
|
||
{% if job.achievements %}
|
||
<ul>
|
||
{% for a in job.achievements %}
|
||
<li>{{ a }}</li>
|
||
{% endfor %}
|
||
</ul>
|
||
{% endif %}
|
||
</article>
|
||
{% empty %}
|
||
<div class="job muted">Нет записей об опыте.</div>
|
||
{% endfor %}
|
||
</div>
|
||
</section>
|
||
</div>
|
||
|
||
<aside>
|
||
<section id="skills" class="card">
|
||
<h3>Навыки</h3>
|
||
<div style="margin-top:10px">
|
||
{% for group in profile.skills_map.all %}
|
||
<div style="margin-bottom:10px">
|
||
<div style="font-weight:700">{{ group.group }}</div>
|
||
<div style="margin-top:8px;display:flex;flex-wrap:wrap;gap:8px">
|
||
{% for s in group.items %}<span class="pill">{{ s }}</span>{% endfor %}
|
||
</div>
|
||
</div>
|
||
{% empty %}<div class="muted">Нет данных по навыкам.</div>{% endfor %}
|
||
</div>
|
||
</section>
|
||
|
||
<section id="contacts" class="card" style="margin-top:18px">
|
||
<h3>Контакты</h3>
|
||
<div style="margin-top:10px;display:flex;flex-direction:column;gap:10px">
|
||
{% if profile.email %}
|
||
<div>
|
||
<strong>Email:</strong>
|
||
<a href="mailto:{{ profile.email }}">{{ profile.email}}</a>
|
||
</div>
|
||
{% endif %}
|
||
{% if profile.phone %}
|
||
<div>
|
||
<strong>Телефон:</strong>
|
||
{{ profile.phone }}
|
||
</div>
|
||
{% endif %}
|
||
{% if profile.telegram %}
|
||
<div><strong>Telegram:</strong>
|
||
<a href="https://t.me/{{ profile.telegram|cut:'@' }}" target="_blank" rel="noreferrer">
|
||
{{profile.telegram}}
|
||
</a>
|
||
</div>
|
||
{% endif %}
|
||
{% if profile.git %}
|
||
<div>
|
||
<strong>Git:</strong>
|
||
<a href="{{ profile.git }}" target="_blank" rel="noreferrer">
|
||
{{ profile.git }}
|
||
</a>
|
||
</div>
|
||
{% endif %}
|
||
</div>
|
||
</section>
|
||
</aside>
|
||
</div>
|
||
</main>
|
||
</body>
|
||
|
||
</html> |