diff options
-rw-r--r-- | assets/css/main.css | 29 | ||||
-rw-r--r-- | content/pages/_index.md | 2 | ||||
-rw-r--r-- | content/posts/2024-11-27-hyperlocality/index.md | 8 | ||||
-rw-r--r-- | content/posts/2024-12-17-infra/index.md | 6 | ||||
-rw-r--r-- | hugo.toml | 81 | ||||
-rw-r--r-- | layouts/_default/_markup/render-header.html | 0 | ||||
-rw-r--r-- | layouts/_default/list.gmi | 7 | ||||
-rw-r--r-- | layouts/_default/list.html | 2 | ||||
-rw-r--r-- | layouts/_default/list.txt | 8 | ||||
-rw-r--r-- | layouts/_default/single.html | 31 | ||||
-rw-r--r-- | layouts/go/single.html | 22 | ||||
-rw-r--r-- | layouts/index.html | 2 | ||||
-rw-r--r-- | layouts/pico8/single.html | 166 | ||||
-rw-r--r-- | layouts/projects/single.html | 54 | ||||
-rw-r--r-- | layouts/shortcodes/abbr.html | 1 | ||||
-rw-r--r-- | static/img/bg.png | bin | 0 -> 11699 bytes | |||
-rw-r--r-- | static/img/bgd.png | bin | 0 -> 9046 bytes |
17 files changed, 294 insertions, 125 deletions
diff --git a/assets/css/main.css b/assets/css/main.css index 4b0a286..7f0f96c 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -1,3 +1,9 @@ +body { + background-image: url('/img/bg.png'); +} +.navbar { + background-image: url('/img/bgd.png') !important; +} .posts-container { max-width:760px; } @@ -6,7 +12,7 @@ } .page, .post { - margin-bottom:4rem; + margin-bottom: 3rem; } .post.single { padding: 0 1rem; @@ -198,7 +204,17 @@ text-shadow:0 0.5rem 0.5rem rgba(255, 255, 255, 0.5); font-weight: bold; } -h1.post-title { +h1 { + font-family: 'Open Sans', sans-serif; + color: #000; + text-shadow: 0 0.5rem 0.5rem rgba(0, 0, 0, 0.5); + margin-bottom: 1rem; + padding-bottom: 1rem; + font-weight: bold; + border-bottom: 0.5px solid #ccc; +} + +h2, h3, h4, h5, h6 { font-family: 'Open Sans', sans-serif; color: #000; text-shadow: 0 0.5rem 0.5rem rgba(0, 0, 0, 0.5); @@ -206,6 +222,15 @@ h1.post-title { font-weight: bold; } +blockquote { + border-left: 4px solid #ccc; + padding-left: 1rem; +} +.sidebar { + border-right: 0.5px solid #ccc; + /* padding-right: 1rem; */ +} + h1.post-title a { color: #000; } diff --git a/content/pages/_index.md b/content/pages/_index.md index b417f67..f6e2390 100644 --- a/content/pages/_index.md +++ b/content/pages/_index.md @@ -1,4 +1,4 @@ +++ -title = '' +title = 'Отдельные страницы' +++ diff --git a/content/posts/2024-11-27-hyperlocality/index.md b/content/posts/2024-11-27-hyperlocality/index.md index 722581d..75fb347 100644 --- a/content/posts/2024-11-27-hyperlocality/index.md +++ b/content/posts/2024-11-27-hyperlocality/index.md @@ -54,7 +54,7 @@ location = "Казань" в подлинности того, что видят и читают. В итоге, интернет превратится в огромное море данных, где настоящие голоса людей тонут в океане фальшивок и симуляций. -{{< figure src="/posts/2024-11-27-hyperlocality/braindance.webp" title="Киберпанк который мы заслужили" >}} +![Киберпанк который мы заслужили](/posts/2024-11-27-hyperlocality/braindance.webp "Киберпанк который мы заслужили" ) # Гиперлокальность @@ -68,7 +68,7 @@ location = "Казань" то, что «вы сможете находить себе собеседников и друзьей в любой точке мира, не выходя из дома». Звучало многообещающе, и в каком-то смысле, оно так и было. -{{< figure src="/posts/2024-11-27-hyperlocality/90e.webp" title="Наивное представление из 90х о том, что интернет будет нас соединять" >}} +![Наивное представление из 90х о том, что интернет будет нас соединять](/posts/2024-11-27-hyperlocality/90e.webp "Наивное представление из 90х о том, что интернет будет нас соединять") Но что происходит сейчас? Интернет, вместо того чтобы соединять людей по всему миру, начинает дробиться на маленькие замкнутые круги. Почему так происходит? Ответ кроется в недоверии. Когда невозможно понять, кто перед тобой – настоящий @@ -108,7 +108,7 @@ location = "Казань" Да к тому что на текущем этапе развития интернета, мы всё больше уходим от **глобальной** сети к **гиперлокальной**. И, наверное, мне это даже вполне нравится. Это как-то... уютно чтоли. -{{< figure src="/posts/2024-11-27-hyperlocality/camp.webp" title="Примерно так я визуализирую гиперлокальное сообщество" >}} +![Примерно так я визуализирую гиперлокальное сообщество](/posts/2024-11-27-hyperlocality/camp.webp "Примерно так я визуализирую гиперлокальное сообщество" ) # Перспективы @@ -125,7 +125,7 @@ location = "Казань" Конечно же, всё что нужно не затащить в свою уютненькую локалочку, но вылазка за недостающей инфой в интернет будет ощущаться, как выход из своей зоны комфорта в дикую и опасную пустошь. -{{< figure src="/posts/2024-11-27-hyperlocality/in-internet.webp" title="Вылазка в «большой» интернет" >}} +![Вылазка в «большой» интернет](/posts/2024-11-27-hyperlocality/in-internet.webp "Вылазка в «большой» интернет") # Окончание? diff --git a/content/posts/2024-12-17-infra/index.md b/content/posts/2024-12-17-infra/index.md index 9174bba..4733211 100644 --- a/content/posts/2024-12-17-infra/index.md +++ b/content/posts/2024-12-17-infra/index.md @@ -10,7 +10,7 @@ image="cover.webp" Сегодня я хочу рассказать как устроен этот блог и вообще моя инфраструктура. -## Сервер +# Сервер Во-первых, недавно я почти полностью переехал с арендуемого сервера, на свой собственный, сервер, который просто стоит у меня в комнате. @@ -26,12 +26,12 @@ image="cover.webp" - **Корпус с активным охлаждением** — не самое необходимое, но хотелось, чтобы выглядело красиво <!-- more --> -## Программное обеспечение +# Программное обеспечение По сути, на первом уровне, установлены [armbian](https://www.armbian.com/orangepi3b/), [веб—сервер Caddy](https://caddyserver.com/), да [Docker](https://devdotnet.org/post/ustanovka-docker-dlya-arm-i-64-bit-arm-armbian-linux/). Всё остальное уже внутри Docker'а. -## Caddy +# Caddy Caddy у меня работает в основном как reverse-proxy для Docker'а. Без лишних слов, вот конфиг: @@ -89,12 +89,65 @@ page = "/pages/:slug/" # block = [["\\[", "\\]"], ["$$", "$$"]] # inline = [["\\(", "\\)"]] -[markup.goldmark.renderer] -unsafe = true +[markup] +[markup.goldmark] +duplicateResourceFiles = false +[markup.goldmark.extensions] +definitionList = true +footnote = true +linkify = true +linkifyProtocol = 'https' +strikethrough = true +table = true +taskList = true +[markup.goldmark.extensions.extras] +[markup.goldmark.extensions.extras.delete] +enable = false +[markup.goldmark.extensions.extras.insert] +enable = false +[markup.goldmark.extensions.extras.mark] +enable = false +[markup.goldmark.extensions.extras.subscript] +enable = false +[markup.goldmark.extensions.extras.superscript] +enable = false +[markup.goldmark.extensions.passthrough] +enable = false +[markup.goldmark.extensions.passthrough.delimiters] +block = [] +inline = [] +[markup.goldmark.extensions.typographer] +apostrophe = '’' +disable = false +ellipsis = '…' +emDash = '—' +enDash = '–' +leftAngleQuote = '«' +leftDoubleQuote = '“' +leftSingleQuote = '‘' +rightAngleQuote = '»' +rightDoubleQuote = '”' +rightSingleQuote = '’' +[markup.goldmark.parser] +autoHeadingID = true +autoHeadingIDType = 'github' +wrapStandAloneImageWithinParagraph = true +[markup.goldmark.parser.attribute] +block = false +title = true +[markup.goldmark.renderHooks] +[markup.goldmark.renderHooks.image] +enableDefault = false +[markup.goldmark.renderHooks.link] +enableDefault = false +[markup.goldmark.renderer] +hardWraps = false +unsafe = false +xhtml = false [markup.tableOfContents] endLevel = 4 -ordered = true +ordered = false startLevel = 1 [markup.highlight] @@ -113,11 +166,11 @@ suffixes = ["gmi"] suffixes = ["txt"] [outputs] -page = ["html", "gemini"] -home = ["html", "json", "gemini"] -section = ["html", "rss", "json", "gemini"] -taxonomy = ["html", "gemini"] -term = ["html", "gemini"] +page = ["html", "gemini", "text"] +home = ["html", "json", "gemini", "text"] +section = ["html", "rss", "json", "gemini", "text"] +taxonomy = ["html", "gemini", "text"] +term = ["html", "gemini", "text"] [outputFormats.Gemini] name = "gemini" @@ -129,6 +182,16 @@ isHTML = false protocol = "gemini://" noUgly = true +[outputFormats.Text] +name = "text" +mediaType = "text/plain" +baseName = "index" +isPlainText = true +permalinkable = true +isHTML = false +protocol = "gopher://" +noUgly = true + [pagination] disableAliases = false pagerSize = 10 @@ -136,4 +199,4 @@ path = "page" # [taxonomies] # tag = 'Тег' -# category = "categories"
\ No newline at end of file +# category = "categories" diff --git a/layouts/_default/_markup/render-header.html b/layouts/_default/_markup/render-header.html new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/layouts/_default/_markup/render-header.html diff --git a/layouts/_default/list.gmi b/layouts/_default/list.gmi index 8560760..cbdba50 100644 --- a/layouts/_default/list.gmi +++ b/layouts/_default/list.gmi @@ -1,12 +1,7 @@ # {{ .Title }} -{{ $content := .Content -}} +{{ $content := .RawContent -}} -{{ $content := $content | replaceRE `{{<\s*(?:rel)?ref\s+"([^"]+)"\s*>}}` "$1" -}} -{{ $content := $content | replaceRE `{{<\s*figure\s*(?:.*)?src="([^"]+)"(?:.*)?caption="([^"]+)"(?:.*)?>}}` "![$2]($1)" -}} -{{ $content := $content | replaceRE `{{<\s*image\s*.*?src="([^"]+)".*?>}}` "![]($1)" -}} -{{ $content := $content | replaceRE "(?s:< !--more-- >)" "" -}} -{{ $content := $content | replace "<!-- more -->" "" -}} {{ $content := $content | replaceRE `\[(.+?)\]\((.+?)\)` "\n=> $2 $1\n" -}} {{ $content }} diff --git a/layouts/_default/list.html b/layouts/_default/list.html index b7799ea..6409b6c 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -7,7 +7,7 @@ {{ .Title }} </h1> {{ .Content }} - <a href="index.xml" class="btn btn-primary">{{ partial "icon.html" "rss" }} Пописка</a> + <a href="index.xml" class="btn btn-primary">{{ partial "icon.html" "rss" }} Подписка</a> {{ end }} </div> <div class="col-xs-12 col-sm-12 col-md-8 content"> diff --git a/layouts/_default/list.txt b/layouts/_default/list.txt index 3dbd917..0d9cee8 100644 --- a/layouts/_default/list.txt +++ b/layouts/_default/list.txt @@ -1,3 +1,9 @@ +# {{ .Title }} + +{{ $content := .RawContent -}} + +{{ $content }} + {{ range .Pages.ByPublishDate.Reverse }} -{{ .Date.Format "2006-01-02" }} {{ .Title }} {{ with .OutputFormats.Get "txt" -}} {{ .RelPermalink }}{{ end }} +=> {{ .RelPermalink | replaceRE `index.txt` `` }}{{if .Date }} {{ .Date.Format "2006-01-02" }}{{ end }} {{ .Title }} {{ end }}
\ No newline at end of file diff --git a/layouts/_default/single.html b/layouts/_default/single.html index c5f73ba..507553d 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -1,9 +1,28 @@ {{ define "main" }} -<div class="container mx-auto my-5"> - <div class="post"> - {{ partial "single/header.html" . }} - <div class="e-content">{{ .Content }}</div> - {{ partial "single/footer.html" . }} - </div> +<div class="container"> + <div class="row"> + <div class="col-xs-12 col-sm-12 col-md-4 sidebar"> + <h1 class="post-title fw-semibold">{{.Page.FirstSection.Title}}</h1> + {{ if len .Page.TableOfContents }} + <h2 class="fw-semibold">Содержание</h2> + {{ .Page.TableOfContents }} {{ end }} {{if .Page.FirstSection.Pages}} + <h2 class="fw-semibold">Остальное</h2> + <ul> + {{ range .Page.CurrentSection.Pages }} + <li> + <a href="{{ .RelPermalink }}">{{ .Title }}</a> + </li> + {{ end }} + </ul> + {{ end }} + </div> + <div class="col-xs-12 col-sm-12 col-md-8 content"> + <div class="post"> + {{ partial "single/header.html" . }} + <div class="e-content">{{ .Content }}</div> + {{ partial "single/footer.html" . }} + </div> + </div> + </div> </div> {{ end }} diff --git a/layouts/go/single.html b/layouts/go/single.html index 75cf89f..99c6d28 100644 --- a/layouts/go/single.html +++ b/layouts/go/single.html @@ -1,5 +1,22 @@ {{ define "main" }} -<div class="container mx-auto my-5"> +<div class="container"> + <div class="row"> + <div class="col-xs-12 col-sm-12 col-md-4 sidebar"> + <h1 class="post-title fw-semibold">{{.Page.FirstSection.Title}}</h1> + {{ if .Page.TableOfContents }} + <h2 class="fw-semibold">Содержание</h2> + {{ .Page.TableOfContents }} {{ end }} {{if .Page.FirstSection.Pages}} + <h2 class="fw-semibold">Остальное</h2> + <ul> + {{ range .Page.CurrentSection.Pages }} + <li> + <a href="{{ .RelPermalink }}">{{ .Title }}</a> + </li> + {{ end }} + </ul> + {{ end }} + </div> + <div class="col-xs-12 col-sm-12 col-md-8 content"> <div class="post"> {{ partial "single/header.html" . }} <div class="alert alert-info" role="alert"> @@ -14,4 +31,7 @@ {{ partial "single/footer.html" . }} </div> </div> + </div> + </div> + </div> {{ end }}
\ No newline at end of file diff --git a/layouts/index.html b/layouts/index.html index 2347e65..3c1a604 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -8,7 +8,7 @@ </h1> <img src="{{.Site.Params.Logo}}" /> {{ .Content }} - <a href="/feed/" class="btn btn-primary">{{ partial "icon.html" "rss" }} Пописка</a> + <a href="/feed/" class="btn btn-primary">{{ partial "icon.html" "rss" }} Подписка</a> {{ end }} </div> <div class="col-xs-12 col-sm-12 col-md-8 content"> diff --git a/layouts/pico8/single.html b/layouts/pico8/single.html index 01797ce..4871f4f 100644 --- a/layouts/pico8/single.html +++ b/layouts/pico8/single.html @@ -1,79 +1,97 @@ {{ define "main" }} -<div class="posts-container mx-auto my-5"> - <div class="post"> - {{ partial "single/header.html" . }} - <div id="pico-container"> - <!-- <div class="buttons"> - <button - id="pico-up" - style="grid-area: up" - onclick="PicoPress(3, 0)" - > - ⇑ - </button> - <button - id="pico-down" - style="grid-area: down" - onclick="PicoPress(3, 0)" - > - ⇓ - </button> - <button - id="pico-left" - style="grid-area: left" - onclick="PicoPress(3, 0)" - > - ⇐ - </button> - <button - id="pico-right" - style="grid-area: right" - onclick="PicoPress(3, 0)" - > - ⇒ - </button> - <button - id="pico-a" - style="grid-area: a" - onclick="PicoPress(3, 0)" - > - A - </button> - <button - id="pico-b" - style="grid-area: b" - onclick="PicoPress(3, 0)" - > - B - </button> - <div class="square_hack"></div> - </div> --> - </div> - <h2>Управление</h2> - <h3>Игрок 1</h3> - <img src="/img/p8_lf.webp" />← - <img src="/img/p8_rt.webp" />→ - <img src="/img/p8_up.webp" />↑ - <img src="/img/p8_dw.webp" />↓ - <img src="/img/p8_x.webp" />Z C - <img src="/img/p8_o.webp" />X V - <h3>Игрок 2</h3> - <img src="/img/p8_lf.webp" /> S - <img src="/img/p8_rt.webp" /> F - <img src="/img/p8_up.webp" /> E - <img src="/img/p8_dw.webp" /> D - <img src="/img/p8_x.webp" />Q W - <img src="/img/p8_o.webp" />TAB - <h3>Пауза</h3> - P/Enter - <footer> - <div class="row between-xs"> - <a href="{{ .Params.Game }}">Скачать</a> - </div> - </footer> - {{ partial "single/footer.html" . }} +<div class="container"> + <div class="row"> + <div class="col-xs-12 col-sm-12 col-md-4 sidebar"> + <h1 class="post-title fw-semibold">{{.Page.CurrentSection.Title}}</h1> + {{if .Page.CurrentSection.Pages}} + <h2 class="fw-semibold">Остальное</h2> + <ul> + {{ range .Page.CurrentSection.Pages }} + <li> + <a href="{{ .RelPermalink }}">{{ .Title }}</a> + </li> + {{ end }} + </ul> + {{ end }} </div> - </div> + <div class="col-xs-12 col-sm-12 col-md-8 content"> + <div class="post"> + {{ partial "single/header.html" . }} + <div id="pico-container"> + <!-- <div class="buttons"> + <button + id="pico-up" + style="grid-area: up" + onclick="PicoPress(3, 0)" + > + ⇑ + </button> + <button + id="pico-down" + style="grid-area: down" + onclick="PicoPress(3, 0)" + > + ⇓ + </button> + <button + id="pico-left" + style="grid-area: left" + onclick="PicoPress(3, 0)" + > + ⇐ + </button> + <button + id="pico-right" + style="grid-area: right" + onclick="PicoPress(3, 0)" + > + ⇒ + </button> + <button + id="pico-a" + style="grid-area: a" + onclick="PicoPress(3, 0)" + > + A + </button> + <button + id="pico-b" + style="grid-area: b" + onclick="PicoPress(3, 0)" + > + B + </button> + <div class="square_hack"></div> + </div> --> + </div> + <h2>Управление</h2> + <h3>Игрок 1</h3> + <img src="/img/p8_lf.webp" />← + <img src="/img/p8_rt.webp" />→ + <img src="/img/p8_up.webp" />↑ + <img src="/img/p8_dw.webp" />↓ + <img src="/img/p8_x.webp" />Z C + <img src="/img/p8_o.webp" />X V + <h3>Игрок 2</h3> + <img src="/img/p8_lf.webp" /> S + <img src="/img/p8_rt.webp" /> F + <img src="/img/p8_up.webp" /> E + <img src="/img/p8_dw.webp" /> D + <img src="/img/p8_x.webp" />Q W + <img src="/img/p8_o.webp" />TAB + <h3>Пауза</h3> + P/Enter + <footer> + <div class="row between-xs"> + <a href="{{ .Params.Game }}">Скачать</a> + </div> + </footer> + {{ partial "single/footer.html" . }} + </div> + </div> + </div> + </div> +</div> <script src="/js/picoplayer.js"></script> <script src="/js/pico8.js"></script> diff --git a/layouts/projects/single.html b/layouts/projects/single.html index c10b21c..35ef62b 100644 --- a/layouts/projects/single.html +++ b/layouts/projects/single.html @@ -1,21 +1,43 @@ {{ define "main" }} -<div class="container mx-auto my-5"> - <div class="post"> - {{ partial "single/header.html" . }} - <div class="alert alert-info" role="alert"> - <div class="btn-group"> - <a class="btn btn-primary" href="{{.Params.project_url}}"> - {{ partial "icon.html" "link" }} {{.Params.project_url}} - </a> - {{ if .Params.git_url}} - <a class="btn btn-primary" href="{{.Params.git_url}}"> - {{ partial "icon.html" "git" }} {{.Params.git_url}} - </a> - {{ end }} - </div> +<div class="container"> + <div class="row"> + <div class="col-xs-12 col-sm-12 col-md-4 sidebar"> + <h1 class="post-title fw-semibold">{{.Page.CurrentSection.Title}}</h1> + {{ if .Page.TableOfContents }} + <h2 class="fw-semibold">Содержание</h2> + {{ .Page.TableOfContents }} + {{ end }} + {{if .Page.CurrentSection.Pages}} + <h2 class="fw-semibold">Остальное</h2> + <ul> + {{ range .Page.CurrentSection.Pages }} + <li> + <a href="{{ .RelPermalink }}">{{ .Title }}</a> + </li> + {{ end }} + </ul> + {{ end }} + </div> + <div class="col-xs-12 col-sm-12 col-md-8 content"> + <div class="post"> + {{ partial "single/header.html" . }} + <div class="alert alert-info" role="alert"> + <div class="btn-group"> + <a class="btn btn-primary" href="{{.Params.project_url}}"> + {{ partial "icon.html" "link" }} {{.Params.project_url}} + </a> + {{ if .Params.git_url}} + <a class="btn btn-primary" href="{{.Params.git_url}}"> + {{ partial "icon.html" "git" }} {{.Params.git_url}} + </a> + {{ end }} + </div> + </div> + <div class="e-content">{{ .Content }}</div> + {{ partial "single/footer.html" . }} </div> - <div class="e-content">{{ .Content }}</div> - {{ partial "single/footer.html" . }} + </div> </div> + </div> </div> {{ end }} diff --git a/layouts/shortcodes/abbr.html b/layouts/shortcodes/abbr.html new file mode 100644 index 0000000..7ccfcd3 --- /dev/null +++ b/layouts/shortcodes/abbr.html @@ -0,0 +1 @@ +<abbr title="{{ .Get "title" }}">{{ .Get "text" }}</abbr>
\ No newline at end of file diff --git a/static/img/bg.png b/static/img/bg.png Binary files differnew file mode 100644 index 0000000..b473212 --- /dev/null +++ b/static/img/bg.png diff --git a/static/img/bgd.png b/static/img/bgd.png Binary files differnew file mode 100644 index 0000000..a7c4fa6 --- /dev/null +++ b/static/img/bgd.png |