aboutsummaryrefslogtreecommitdiff
path: root/content/posts
diff options
context:
space:
mode:
authorAlexander Neonxp Kiryukhin <i@neonxp.ru>2024-12-15 14:37:33 +0300
committerAlexander Neonxp Kiryukhin <i@neonxp.ru>2024-12-15 14:37:33 +0300
commit47fc02a8c71af4926148beb5d5cc0fc221aa5429 (patch)
treee2e5922b7fc16f3d25b02cd345ad534991d38629 /content/posts
parent017c7b792f3e679f61b004ec132a36f866b39e9b (diff)
Auto-commit 2024-12-15
Diffstat (limited to 'content/posts')
-rw-r--r--content/posts/2021-02-13-jsonnet/index.md53
-rw-r--r--content/posts/2021-02-13-jsonnet/logo.pngbin0 -> 221249 bytes
-rw-r--r--content/posts/2024-11-17-obsidian/index.md6
-rw-r--r--content/posts/_index.md4
4 files changed, 54 insertions, 9 deletions
diff --git a/content/posts/2021-02-13-jsonnet/index.md b/content/posts/2021-02-13-jsonnet/index.md
index 64a7fcc..7402880 100644
--- a/content/posts/2021-02-13-jsonnet/index.md
+++ b/content/posts/2021-02-13-jsonnet/index.md
@@ -3,11 +3,12 @@ categories = ['Без рубрики']
date = '2021-02-13T22:08:19Z'
tags = ['go', 'it', 'разное']
title = 'Jsonnet'
+image = 'logo.png'
+++
Редко такое бывает, что случайно натыкаешься на какую-то технологию и она вызывает вау-эффект и буквально переворачивает всё верх дном. На днях для меня такой технологией стал [Jsonnet](https://jsonnet.org/) от Google.
-<figure class="wp-block-image">![Jsonnet logo](/img/jsonnet.svg)</figure>В кратце, это надмножество JSON являющееся языком описания шаблонов. Пока звучит не очень круто, да? На деле это офигенный Тьюринг полный функциональный язык, результатом выполнения которого будет сформированый JSON (и не только) документ([или несколько документов](https://jsonnet.org/learning/getting_started.html#multi)).
+В кратце, это надмножество JSON являющееся языком описания шаблонов. Пока звучит не очень круто, да? На деле это офигенный Тьюринг полный функциональный язык, результатом выполнения которого будет сформированый JSON (и не только) документ([или несколько документов](https://jsonnet.org/learning/getting_started.html#multi)).
[Если интересно, рекомендую сразу переходить к туториалу.](https://jsonnet.org/learning/tutorial.html)
@@ -23,14 +24,56 @@ title = 'Jsonnet'
Накидал простенький пример который формирует конфигурацию пайплайна для гипотетической CI системы:
-```
-local map(arr, predicate) = // определяем функцию map if std.length(arr) == 0 then [] else [predicate(arr[0])] + map(arr[1:], predicate) // функциональненько!;local tasks = [['go1.14', '1.14-alpine'],['go1.15', '1.15-alpine'],['go1.16-RC', '1.16-rc-alpine']];local commands = ['go build', 'go test']; // Общая часть{ // Результирующий JSON pipeline: map(tasks, function (task) { // Вызов map от tasks name: task[0], image: "golang:"+task[1], commands: commands, })}
+```json
+local map(arr, predicate) = // определяем функцию map
+if std.length(arr) == 0 then
+ []
+ else
+ [
+ predicate(arr[0])
+ ] + map(arr[1:], predicate); // функциональненько!
+local tasks = [['go1.14', '1.14-alpine'],['go1.15', '1.15-alpine'],['go1.16-RC', '1.16-rc-alpine']];
+local commands = ['go build', 'go test']; // Общая часть
+{ // Результирующий JSON
+ pipeline: map(tasks, function (task) { // Вызов map от tasks
+ name: task[0],
+ image: "golang:"+task[1],
+ commands: commands,
+ })
+}
```
Результат:
-```
-{ "pipeline": [ { "commands": [ "go build", "go test" ], "image": "golang:1.14-alpine", "name": "go1.14" }, { "commands": [ "go build", "go test" ], "image": "golang:1.15-alpine", "name": "go1.15" }, { "commands": [ "go build", "go test" ], "image": "golang:1.16-rc-alpine", "name": "go1.16-RC" } ]}
+```json
+{
+ "pipeline": [
+ {
+ "commands": [
+ "go build",
+ "go test"
+ ],
+ "image": "golang:1.14-alpine",
+ "name": "go1.14"
+ },
+ {
+ "commands": [
+ "go build",
+ "go test"
+ ],
+ "image": "golang:1.15-alpine",
+ "name": "go1.15"
+ },
+ {
+ "commands": [
+ "go build",
+ "go test"
+ ],
+ "image": "golang:1.16-rc-alpine",
+ "name": "go1.16-RC"
+ }
+ ]
+}
```
Круть же!
diff --git a/content/posts/2021-02-13-jsonnet/logo.png b/content/posts/2021-02-13-jsonnet/logo.png
new file mode 100644
index 0000000..c87fd63
--- /dev/null
+++ b/content/posts/2021-02-13-jsonnet/logo.png
Binary files differ
diff --git a/content/posts/2024-11-17-obsidian/index.md b/content/posts/2024-11-17-obsidian/index.md
index 07fd259..7d45ff3 100644
--- a/content/posts/2024-11-17-obsidian/index.md
+++ b/content/posts/2024-11-17-obsidian/index.md
@@ -152,7 +152,7 @@ ___
и переходя к сегодняшней заметке я сразу получаю такую заготовку:
-{{< figure src="/posts/2024-11-17-obsidian/templater.png" title="Заметка из шаблона" >}}
+![Заметка из шаблона](/posts/2024-11-17-obsidian/templater.png "Заметка из шаблона")
### Остальные плагины
@@ -179,7 +179,7 @@ ___
«Но Hugo это же генератор статичных сайтов, куда ты ему будешь отправлять заметку для публикации?» — можешь спросить
меня ты. А я отвечу что у меня вот такой план:
-{{< graph >}}
+```mermaid
graph TB
b1["Заметка в Obsidian"]
b2["Плагин obsidian-micropub"]
@@ -195,7 +195,7 @@ style b2 fill:#2e2121, stroke:#c81319
style b3 fill:#2e2121, stroke:#c81319
style b4 fill:#222c2c, stroke:#20acaa
style b5 fill:#222c2c, stroke:#20acaa
-{{< /graph >}}
+```
То что выделено красным — ещё не существует в природе.
diff --git a/content/posts/_index.md b/content/posts/_index.md
index 918766b..7b974b0 100644
--- a/content/posts/_index.md
+++ b/content/posts/_index.md
@@ -7,4 +7,6 @@ title = 'Блог'
toc = true
+++
-Мой бортжурнал \ No newline at end of file
+Мой бортжурнал.
+
+Пишу как про околоайти, так и просто что придёт в голову. \ No newline at end of file