Реструктуризация: два глобальных раздела — Яша и Семен
Весь контент перенесён в content/yasha/ (7 подразделов). Создан content/semen/ с подразделами: changelog, kb, diary. Навигация — dropdown в навбаре, двухуровневое меню в hugo.toml. Шаблоны, сайдбар, поиск обновлены под вложенные секции.
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
{{- $.Scratch.Add "index" slice -}}
|
||||
{{- range .Site.RegularPages -}}
|
||||
{{- $.Scratch.Add "index" (dict "title" .Title "url" .RelPermalink "content" .Plain "section" .Section "tags" .Params.tags) -}}
|
||||
{{- $sectionPath := strings.TrimSuffix "/" .CurrentSection.RelPermalink -}}
|
||||
{{- $sectionPath = strings.TrimPrefix "/" $sectionPath -}}
|
||||
{{- $.Scratch.Add "index" (dict "title" .Title "url" .RelPermalink "content" .Plain "section" $sectionPath "tags" .Params.tags) -}}
|
||||
{{- end -}}
|
||||
{{- $.Scratch.Get "index" | jsonify -}}
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">Дневник</h3>
|
||||
<p class="card-text">Записи по датам о событиях и обсуждениях.</p>
|
||||
<a href="/diary/" class="btn btn-outline-primary">Открыть</a>
|
||||
<h3 class="card-title">Яша</h3>
|
||||
<p class="card-text">Дневник, база знаний, планы, инструкции, креды, Leadera, личный сайт.</p>
|
||||
<a href="/yasha/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -17,39 +17,9 @@
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">База знаний</h3>
|
||||
<p class="card-text">Статьи и документация по различным темам.</p>
|
||||
<a href="/kb/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">Планы</h3>
|
||||
<p class="card-text">Запланированные задачи и их статус.</p>
|
||||
<a href="/plans/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">Инструкции</h3>
|
||||
<p class="card-text">Пошаговые инструкции для различных задач.</p>
|
||||
<a href="/guides/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">Креды</h3>
|
||||
<p class="card-text">Зашифрованные учётные данные (требуется мастер-пароль).</p>
|
||||
<a href="/creds/" class="btn btn-outline-primary">Открыть</a>
|
||||
<h3 class="card-title">Семен</h3>
|
||||
<p class="card-text">История изменений, база знаний, дневник.</p>
|
||||
<a href="/semen/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -10,9 +10,22 @@
|
||||
<div class="collapse navbar-collapse" id="navbarMain">
|
||||
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||
{{ range .Site.Menus.main }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link{{ if $.IsMenuCurrent "main" . }} active{{ end }}" href="{{ .URL }}">{{ .Name }}</a>
|
||||
{{ if .HasChildren }}
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
{{ .Name }}
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
{{ range .Children }}
|
||||
<li><a class="dropdown-item" href="{{ .URL }}">{{ .Name }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</li>
|
||||
{{ else }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ .URL }}">{{ .Name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
<div class="sidebar-content">
|
||||
{{ $section := .Section }}
|
||||
{{ $secDir := "" }}
|
||||
{{ if .CurrentSection }}
|
||||
{{ if .CurrentSection.File }}
|
||||
{{ $secDir = .CurrentSection.File.Dir }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if eq $section "diary" }}
|
||||
{{ if or (eq $secDir "yasha/diary/") (eq $secDir "semen/diary/") }}
|
||||
<h6>Фильтры</h6>
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item"><a class="nav-link" href="/diary/">Все записи</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="{{ .CurrentSection.RelPermalink }}">Все записи</a></li>
|
||||
</ul>
|
||||
{{ .Scratch.Set "tags" (index .Site.Taxonomies.tags (slice "diary")) }}
|
||||
{{ $diaryTags := slice }}
|
||||
{{ range where .Site.RegularPages "Section" "diary" }}
|
||||
{{ range .CurrentSection.Pages }}
|
||||
{{ range .Params.tags }}
|
||||
{{ $diaryTags = $diaryTags | append . }}
|
||||
{{ end }}
|
||||
@@ -23,13 +27,13 @@
|
||||
</ul>
|
||||
{{ end }}
|
||||
|
||||
{{ else if eq $section "kb" }}
|
||||
{{ else if or (eq $secDir "yasha/kb/") (eq $secDir "semen/kb/") }}
|
||||
<h6>Фильтры</h6>
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item"><a class="nav-link" href="/kb/">Все статьи</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="{{ .CurrentSection.RelPermalink }}">Все статьи</a></li>
|
||||
</ul>
|
||||
{{ $kbTags := slice }}
|
||||
{{ range where .Site.RegularPages "Section" "kb" }}
|
||||
{{ range .CurrentSection.Pages }}
|
||||
{{ range .Params.tags }}
|
||||
{{ $kbTags = $kbTags | append . }}
|
||||
{{ end }}
|
||||
@@ -44,23 +48,23 @@
|
||||
</ul>
|
||||
{{ end }}
|
||||
|
||||
{{ else if eq $section "plans" }}
|
||||
{{ else if eq $secDir "yasha/plans/" }}
|
||||
<h6>Статусы</h6>
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item"><a class="nav-link" href="/plans/">Все планы</a></li>
|
||||
<li class="nav-item"><a class="nav-link status-planned" href="/plans/?status=planned">🟡 Запланировано</a></li>
|
||||
<li class="nav-item"><a class="nav-link status-in-progress" href="/plans/?status=in_progress">🟠 В процессе</a></li>
|
||||
<li class="nav-item"><a class="nav-link status-done" href="/plans/?status=done">✅ Сделано</a></li>
|
||||
<li class="nav-item"><a class="nav-link status-cancelled" href="/plans/?status=cancelled">❌ Отменено</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/yasha/plans/">Все планы</a></li>
|
||||
<li class="nav-item"><a class="nav-link status-planned" href="/yasha/plans/?status=planned">🟡 Запланировано</a></li>
|
||||
<li class="nav-item"><a class="nav-link status-in-progress" href="/yasha/plans/?status=in_progress">🟠 В процессе</a></li>
|
||||
<li class="nav-item"><a class="nav-link status-done" href="/yasha/plans/?status=done">✅ Сделано</a></li>
|
||||
<li class="nav-item"><a class="nav-link status-cancelled" href="/yasha/plans/?status=cancelled">❌ Отменено</a></li>
|
||||
</ul>
|
||||
|
||||
{{ else if eq $section "guides" }}
|
||||
{{ else if eq $secDir "yasha/guides/" }}
|
||||
<h6>Фильтры</h6>
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item"><a class="nav-link" href="/guides/">Все инструкции</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/yasha/guides/">Все инструкции</a></li>
|
||||
</ul>
|
||||
{{ $guideTags := slice }}
|
||||
{{ range where .Site.RegularPages "Section" "guides" }}
|
||||
{{ range .CurrentSection.Pages }}
|
||||
{{ range .Params.tags }}
|
||||
{{ $guideTags = $guideTags | append . }}
|
||||
{{ end }}
|
||||
@@ -75,13 +79,13 @@
|
||||
</ul>
|
||||
{{ end }}
|
||||
|
||||
{{ else if eq $section "creds" }}
|
||||
{{ else if eq $secDir "yasha/creds/" }}
|
||||
<h6>Фильтры</h6>
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item"><a class="nav-link" href="/creds/">Все креды</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/yasha/creds/">Все креды</a></li>
|
||||
</ul>
|
||||
{{ $credServices := slice }}
|
||||
{{ range where .Site.RegularPages "Section" "creds" }}
|
||||
{{ range .CurrentSection.Pages }}
|
||||
{{ if .Params.service }}
|
||||
{{ $credServices = $credServices | append .Params.service }}
|
||||
{{ end }}
|
||||
@@ -91,17 +95,22 @@
|
||||
<h6 class="mt-3">Сервисы</h6>
|
||||
<ul class="nav flex-column">
|
||||
{{ range $credServices }}
|
||||
<li class="nav-item"><a class="nav-link" href="/creds/?service={{ . | urlize }}">{{ . }}</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/yasha/creds/?service={{ . | urlize }}">{{ . }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
|
||||
{{ else if eq $secDir "yasha/leadera/" }}
|
||||
<h6>Фильтры</h6>
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item"><a class="nav-link" href="/yasha/leadera/">Все статьи</a></li>
|
||||
</ul>
|
||||
|
||||
{{ else }}
|
||||
<h6>Разделы</h6>
|
||||
<ul class="nav flex-column">
|
||||
{{ range .Site.Menus.main }}
|
||||
<li class="nav-item"><a class="nav-link" href="{{ .URL }}">{{ .Name }}</a></li>
|
||||
{{ end }}
|
||||
<li class="nav-item"><a class="nav-link" href="/yasha/">Яша</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/semen/">Семен</a></li>
|
||||
</ul>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
<h1>Дневник</h1>
|
||||
|
||||
<div class="diary-timeline">
|
||||
{{ $pages := where .Site.RegularPages "Section" "diary" }}
|
||||
{{ range $pages.ByDate.Reverse }}
|
||||
{{ range .Pages.ByDate.Reverse }}
|
||||
<div class="diary-entry">
|
||||
<div class="diary-date">{{ .Date.Format "02.01.2006" }}</div>
|
||||
<h3><a href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
|
||||
@@ -3,7 +3,7 @@
|
||||
<h1>База знаний</h1>
|
||||
|
||||
<div class="row">
|
||||
{{ range (where .Site.RegularPages "Section" "kb").ByDate.Reverse }}
|
||||
{{ range .Pages.ByDate.Reverse }}
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
@@ -0,0 +1,38 @@
|
||||
{{ define "main" }}
|
||||
<div class="article-content">
|
||||
<h1>Семен</h1>
|
||||
<p class="lead">Документация Семена.</p>
|
||||
|
||||
<div class="row mt-4">
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">История изменений</h3>
|
||||
<p class="card-text">Лог изменений и обновлений.</p>
|
||||
<a href="/semen/changelog/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">База знаний</h3>
|
||||
<p class="card-text">Статьи и документация по различным темам.</p>
|
||||
<a href="/semen/kb/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">Дневник</h3>
|
||||
<p class="card-text">Записи по датам о событиях и обсуждениях.</p>
|
||||
<a href="/semen/diary/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,7 @@
|
||||
{{ define "main" }}
|
||||
<div class="article-content">
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{ partial "source-path.html" . }}
|
||||
{{ .Content }}
|
||||
</div>
|
||||
{{ end }}
|
||||
@@ -4,7 +4,7 @@
|
||||
<p class="text-muted">Данные зашифрованы. Нажмите "Расшифровать" и введите мастер-пароль.</p>
|
||||
|
||||
<div class="row">
|
||||
{{ range (where .Site.RegularPages "Section" "creds").ByDate.Reverse }}
|
||||
{{ range .Pages.ByDate.Reverse }}
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card creds-card h-100">
|
||||
<div class="card-body">
|
||||
@@ -0,0 +1,21 @@
|
||||
{{ define "main" }}
|
||||
<div class="article-content">
|
||||
<h1>Дневник</h1>
|
||||
|
||||
<div class="diary-timeline">
|
||||
{{ range .Pages.ByDate.Reverse }}
|
||||
<div class="diary-entry">
|
||||
<div class="diary-date">{{ .Date.Format "02.01.2006" }}</div>
|
||||
<h3><a href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
|
||||
{{ if .Params.tags }}
|
||||
<div class="tags">
|
||||
{{ range .Params.tags }}
|
||||
<a href="{{ "/tags/" | relURL }}{{ . | urlize }}/" class="tag">{{ . }}</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,17 @@
|
||||
{{ define "main" }}
|
||||
<div class="article-content">
|
||||
<h1>{{ .Title }}</h1>
|
||||
<p class="diary-date">{{ .Date.Format "02.01.2006" }}</p>
|
||||
{{ partial "source-path.html" . }}
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
{{ if .Params.tags }}
|
||||
<div class="tags">
|
||||
{{ range .Params.tags }}
|
||||
<a href="{{ "/tags/" | relURL }}{{ . | urlize }}/" class="tag">{{ . }}</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
@@ -3,7 +3,7 @@
|
||||
<h1>Инструкции</h1>
|
||||
|
||||
<div class="row">
|
||||
{{ range (where .Site.RegularPages "Section" "guides").ByDate.Reverse }}
|
||||
{{ range .Pages.ByDate.Reverse }}
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
@@ -0,0 +1,25 @@
|
||||
{{ define "main" }}
|
||||
<div class="article-content">
|
||||
<h1>База знаний</h1>
|
||||
|
||||
<div class="row">
|
||||
{{ range .Pages.ByDate.Reverse }}
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title"><a href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
|
||||
<p class="card-text">{{ .Summary }}</p>
|
||||
{{ if .Params.tags }}
|
||||
<div class="tags">
|
||||
{{ range .Params.tags }}
|
||||
<a href="{{ "/tags/" | relURL }}{{ . | urlize }}/" class="tag">{{ . }}</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{ define "main" }}
|
||||
<div class="article-content">
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{ partial "source-path.html" . }}
|
||||
|
||||
{{ if .Params.tags }}
|
||||
<div class="tags mb-3">
|
||||
{{ range .Params.tags }}
|
||||
<a href="{{ "/tags/" | relURL }}{{ . | urlize }}/" class="tag">{{ . }}</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
{{ .Content }}
|
||||
</div>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,78 @@
|
||||
{{ define "main" }}
|
||||
<div class="article-content">
|
||||
<h1>Яша</h1>
|
||||
<p class="lead">Документация Яши.</p>
|
||||
|
||||
<div class="row mt-4">
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">Дневник</h3>
|
||||
<p class="card-text">Записи по датам о событиях и обсуждениях.</p>
|
||||
<a href="/yasha/diary/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">База знаний</h3>
|
||||
<p class="card-text">Статьи и документация по различным темам.</p>
|
||||
<a href="/yasha/kb/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">Планы</h3>
|
||||
<p class="card-text">Запланированные задачи и их статус.</p>
|
||||
<a href="/yasha/plans/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">Инструкции</h3>
|
||||
<p class="card-text">Пошаговые инструкции для различных задач.</p>
|
||||
<a href="/yasha/guides/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">Креды</h3>
|
||||
<p class="card-text">Зашифрованные учётные данные (требуется мастер-пароль).</p>
|
||||
<a href="/yasha/creds/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">Leadera</h3>
|
||||
<p class="card-text">Документация по проекту Leadera.</p>
|
||||
<a href="/yasha/leadera/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">Личный сайт</h3>
|
||||
<p class="card-text">Заметки по личному сайту.</p>
|
||||
<a href="/yasha/personal-site/" class="btn btn-outline-primary">Открыть</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
@@ -5,7 +5,7 @@
|
||||
{{ $upcoming := slice }}
|
||||
{{ $completed := slice }}
|
||||
|
||||
{{ range where .Site.RegularPages "Section" "plans" }}
|
||||
{{ range .Pages }}
|
||||
{{ $status := .Params.status }}
|
||||
{{ if or (eq $status "done") (eq $status "cancelled") }}
|
||||
{{ $completed = $completed | append . }}
|
||||
Reference in New Issue
Block a user