diff --git a/content/_index.md b/content/en/_index.md
similarity index 100%
rename from content/_index.md
rename to content/en/_index.md
diff --git a/content.es/blog/_index.md b/content/en/blog/_index.md
similarity index 100%
rename from content.es/blog/_index.md
rename to content/en/blog/_index.md
diff --git a/content/blog/chess.md b/content/en/blog/chess.md
similarity index 100%
rename from content/blog/chess.md
rename to content/en/blog/chess.md
diff --git a/content/blog/introduction.md b/content/en/blog/introduction.md
similarity index 100%
rename from content/blog/introduction.md
rename to content/en/blog/introduction.md
diff --git a/content/contacts.md b/content/en/contacts.md
similarity index 100%
rename from content/contacts.md
rename to content/en/contacts.md
diff --git a/content.es/_index.md b/content/es/_index.md
similarity index 100%
rename from content.es/_index.md
rename to content/es/_index.md
diff --git a/content.ru/blog/_index.md b/content/es/blog/_index.md
similarity index 100%
rename from content.ru/blog/_index.md
rename to content/es/blog/_index.md
diff --git a/content.es/blog/chess.md b/content/es/blog/chess.md
similarity index 100%
rename from content.es/blog/chess.md
rename to content/es/blog/chess.md
diff --git a/content.es/blog/introduction.md b/content/es/blog/introduction.md
similarity index 100%
rename from content.es/blog/introduction.md
rename to content/es/blog/introduction.md
diff --git a/content.es/contacts.md b/content/es/contacts.md
similarity index 100%
rename from content.es/contacts.md
rename to content/es/contacts.md
diff --git a/content.ru/_index.md b/content/ru/_index.md
similarity index 100%
rename from content.ru/_index.md
rename to content/ru/_index.md
diff --git a/content/blog/_index.md b/content/ru/blog/_index.md
similarity index 100%
rename from content/blog/_index.md
rename to content/ru/blog/_index.md
diff --git a/content.ru/blog/chess.md b/content/ru/blog/chess.md
similarity index 100%
rename from content.ru/blog/chess.md
rename to content/ru/blog/chess.md
diff --git a/content.ru/blog/introduction.md b/content/ru/blog/introduction.md
similarity index 100%
rename from content.ru/blog/introduction.md
rename to content/ru/blog/introduction.md
diff --git a/content.ru/contacts.md b/content/ru/contacts.md
similarity index 100%
rename from content.ru/contacts.md
rename to content/ru/contacts.md
diff --git a/hugo.toml b/hugo.toml
index 41b9490..dd18a8a 100644
--- a/hugo.toml
+++ b/hugo.toml
@@ -29,21 +29,21 @@ enableRobotsTXT = true
title = "Mirai Kumiko's website"
languageName = "🇺🇸"
LanguageCode = "en-US"
- contentDir = "content"
+ contentDir = "content/en"
[languages.en.params]
madeWith = "Personal site"
[languages.es]
title = "Sitio web de Mirai Kumiko"
languageName = "🇪🇸"
LanguageCode = "es-ES"
- contentDir = "content.es"
+ contentDir = "content/es"
[languages.es.params]
madeWith = "Sitio personal"
[languages.ru]
title = "Бложик Mirai Kumiko"
languageName = "🇷🇺"
LanguageCode = "ru-RU"
- contentDir = "content.ru"
+ contentDir = "content/ru"
[languages.ru.params]
madeWith = "Персональный сайт"
@@ -95,5 +95,5 @@ enableRobotsTXT = true
# email is also added to the footer of each post. You can hide the "reply to"
# link by using a `hideReply` param in front matter.
[params.author]
- name = "Mirai Kumiko" # Your name as shown in the RSS feed metadata
- email = "murrr@macaw.me" # Added to the footer so readers can reply to posts
+ name = "Mirai Kumiko"
+ email = "murrr@macaw.me"
diff --git a/layouts/partials/social_card.html b/layouts/partials/social_card.html
new file mode 100644
index 0000000..7c9fc4f
--- /dev/null
+++ b/layouts/partials/social_card.html
@@ -0,0 +1,136 @@
+
+{{ $font := resources.GetRemote "https://github.com/google/fonts/raw/main/ofl/firamono/FiraMono-Bold.ttf" }}
+{{ $fg := resources.Get "images/social_card_fg.png"}}
+{{ $bg := resources.Get "images/social_card_bg.png"}}
+
+{{ if gt (len .Title) 40 }}
+ {{ $fg = $fg.Filter (images.Text .Title (dict
+ "font" $font
+ "color" "#fafafa"
+ "size" 95
+ "linespacing" 16
+ "x" 0
+ "y" 0
+ )) }}
+{{ else }}
+ {{ $fg = $fg.Filter (images.Text .Title (dict
+ "font" $font
+ "color" "#fafafa"
+ "size" 130
+ "linespacing" 20
+ "x" 0
+ "y" 0
+ )) }}
+{{ end }}
+
+{{ $date := .Date.Format (default "2006-01-02" .Site.Params.dateFormat) }}
+{{ $author := (default $.Site.Params.author.name ($.Param "author.name")) }}
+{{ $byline := (printf "%s | %s" $author $date) }}
+
+{{ $fg = $fg.Filter (images.Text $byline (dict
+ "font" $font
+ "color" "#898a8d"
+ "size" 60
+ "linespacing" 30
+ "x" 0
+ "y" 425
+)) }}
+
+{{ $card := $bg.Filter (images.Overlay $fg 112 140 ) }}
+{{ $card := $card.Resize "900x webp q100" }}
+
+
+
+
+
+
+
+
+
+
+{{- if .IsPage }}
+{{- $iso8601 := "2006-01-02T15:04:05-07:00" -}}
+
+{{ with .PublishDate }}{{ end }}
+{{ with .Lastmod }}{{ end }}
+{{- end -}}
+
+{{- with .Params.audio }}{{ end }}
+{{- with .Params.locale }}{{ end }}
+{{- with .Site.Params.title }}{{ end }}
+{{- with .Params.videos }}{{- range . }}
+
+{{ end }}{{ end }}
+
+{{- /* If it is part of a series, link to related articles */}}
+{{- $permalink := .Permalink }}
+{{- $siteSeries := .Site.Taxonomies.series }}
+{{- if $siteSeries }}
+{{ with .Params.series }}{{- range $name := . }}
+ {{- $series := index $siteSeries ($name | urlize) }}
+ {{- range $page := first 6 $series.Pages }}
+ {{- if ne $page.Permalink $permalink }}{{ end }}
+ {{- end }}
+{{ end }}{{ end }}
+{{- end }}
+
+{{- /* Deprecate site.Social.facebook_admin in favor of site.Params.social.facebook_admin */}}
+{{- $facebookAdmin := "" }}
+{{- with site.Params.social }}
+ {{- if reflect.IsMap . }}
+ {{- $facebookAdmin = .facebook_admin }}
+ {{- end }}
+{{- else }}
+ {{- with site.Social.facebook_admin }}
+ {{- $facebookAdmin = . }}
+ {{- warnf "The social key in site configuration is deprecated. Use params.social.facebook_admin instead." }}
+ {{- end }}
+{{- end }}
+
+{{- /* Facebook Page Admin ID for Domain Insights */}}
+{{ with $facebookAdmin }}{{ end }}
+
+
+
+
+
+
+
+
+{{- /* Deprecate site.Social.twitter in favor of site.Params.social.twitter */}}
+{{- $twitterSite := "" }}
+{{- with site.Params.social }}
+ {{- if reflect.IsMap . }}
+ {{- $twitterSite = .twitter }}
+ {{- end }}
+{{- else }}
+ {{- with site.Social.twitter }}
+ {{- $twitterSite = . }}
+ {{- warnf "The social key in site configuration is deprecated. Use params.social.twitter instead." }}
+ {{- end }}
+{{- end }}
+
+{{- with $twitterSite }}
+ {{- $content := . }}
+ {{- if not (strings.HasPrefix . "@") }}
+ {{- $content = printf "@%v" $twitterSite }}
+ {{- end }}
+
+{{- end }}
+
+
+
+
+
+
+{{- if .IsPage -}}
+{{- $iso8601 := "2006-01-02T15:04:05-07:00" -}}
+{{ with .PublishDate }}{{ end}}
+{{ with .Lastmod }}{{ end}}
+
+
+
+
+
+
+{{- end -}}