diff --git a/assets/css/markdown.css b/assets/css/markdown.css
index 7d77ccd..93e871c 100644
--- a/assets/css/markdown.css
+++ b/assets/css/markdown.css
@@ -40,10 +40,29 @@
}
#markdown h2 {
+ display: flex;
+ align-items: center;
+ gap: 0.3em;
font-size: 2rem;
color: var(--color-text);
}
+.icon {
+ width: 2.5rem;
+ height: 2.5rem;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ flex-shrink: 0;
+ color: currentColor;
+}
+
+.icon svg {
+ width: 100%;
+ height: 100%;
+ display: block;
+}
+
#markdown h3 {
font-size: 1.5rem;
color: var(--color-text);
diff --git a/assets/icons/link.svg b/assets/icons/link.svg
new file mode 100644
index 0000000..ee7bd62
--- /dev/null
+++ b/assets/icons/link.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/assets/icons/social-media/github.svg b/assets/icons/social-media/github.svg
new file mode 100644
index 0000000..f4c8ca8
--- /dev/null
+++ b/assets/icons/social-media/github.svg
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/assets/icons/social-media/instagram.svg b/assets/icons/social-media/instagram.svg
new file mode 100644
index 0000000..f3c6d9b
--- /dev/null
+++ b/assets/icons/social-media/instagram.svg
@@ -0,0 +1,15 @@
+
\ No newline at end of file
diff --git a/assets/icons/social-media/mastodon.svg b/assets/icons/social-media/mastodon.svg
new file mode 100644
index 0000000..21f2fbd
--- /dev/null
+++ b/assets/icons/social-media/mastodon.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/assets/icons/social-media/telegram.svg b/assets/icons/social-media/telegram.svg
new file mode 100644
index 0000000..f957ffe
--- /dev/null
+++ b/assets/icons/social-media/telegram.svg
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/hugo.toml b/hugo.toml
index 1ec4c81..e98d93c 100644
--- a/hugo.toml
+++ b/hugo.toml
@@ -13,4 +13,10 @@ target = 'static'
source = 'images'
target = 'static/images'
-disableXML = true
\ No newline at end of file
+disableXML = true
+
+[markup]
+[markup.goldmark]
+[markup.goldmark.parser]
+[markup.goldmark.parser.attribute]
+title = true
\ No newline at end of file
diff --git a/layouts/_default/_markup/render-heading.html b/layouts/_default/_markup/render-heading.html
new file mode 100644
index 0000000..d884d03
--- /dev/null
+++ b/layouts/_default/_markup/render-heading.html
@@ -0,0 +1,21 @@
+{{- $level := .Level -}}
+{{- $text := .Text -}}
+
+{{- $re := `\[(\w+)\]` -}}
+{{- $matches := findRE $re $text -}}
+
+{{- if gt (len $matches) 0 -}}
+ {{- range $i, $match := $matches -}}
+ {{- $iconName := replaceRE `^\[(\w+)\]$` `$1` $match -}}
+ {{- $iconPath := printf "icons/%s.svg" $iconName -}}
+ {{- $svg := resources.Get $iconPath -}}
+ {{- if $svg -}}
+ {{- $svgContent := $svg.Content | safeHTML -}}
+ {{- $text = replace $text $match (printf `%s` $svgContent) -}}
+ {{- else -}}
+ {{- $text = replace $text $match (printf `[%s]` $iconName) -}}
+ {{- end -}}
+ {{- end -}}
+{{- end -}}
+
+