diff --git a/site/data/authors.yml b/site/data/authors.yml
index cf0940100..e9e134b1c 100644
--- a/site/data/authors.yml
+++ b/site/data/authors.yml
@@ -2,24 +2,31 @@ zaproxy:
name: ZAP by Checkmarx
picture: /img/authors/zap_400x400.png
twitter: zaproxy
+ mastodon: zaproxy@infosec.exchange
+ bluesky: zaproxy.org
is_core: true
simon:
name: Simon Bennetts
picture: /img/authors/simon-bennetts_400x400.jpg
twitter: psiinon
+ mastodon: psiinon@infosec.exchange
+ bluesky: psiinon.bsky.social
is_core: true
ricardo:
name: Ricardo
picture: /img/authors/thc202_400x400.jpg
twitter: thc202
+ mastodon: thc202@infosec.exchange
is_core: true
thorin:
name: Rick Mitchell
picture: /img/authors/rick-mitchell_400x400.jpg
twitter: kingthorin_rm
+ mastodon: kingthorin_rm@infosec.exchange
+ bluesky: kingthorin.bsky.social
is_core: true
aryangupta701:
@@ -32,6 +39,7 @@ akshath:
name: Akshath Kothari
picture: /img/authors/akshath-kothari_400x400.jpg
twitter: ricekot_
+ bluesky: ricekot.com
is_core: true
vitikasoni:
@@ -120,6 +128,7 @@ cabelo:
njmulsqb:
name: Najam Ul Saqib
picture: /img/authors/njmulsqb_400x400.jpg
+ mastodon: cybersoldier@infosec.exchange
is_core: false
zapbot:
@@ -143,6 +152,7 @@ yiannis:
name: Yiannis Pavlosoglou
picture: /img/authors/yiannis_400x400.jpg
twitter: KibernaSecurity
+ mastodon: yiannis@infosec.exchange
is_core: false
zoltan:
diff --git a/site/layouts/history/single.html b/site/layouts/history/single.html
index ca0d83cd1..c873c4646 100644
--- a/site/layouts/history/single.html
+++ b/site/layouts/history/single.html
@@ -38,9 +38,7 @@
{{ .Params.title }}
{{ else }}
{{ $name }}
{{ end }}
- {{ if $author.twitter }}
-
- {{ end }}
+ {{ partial "author-social-links" $author }}
{{ end }}
diff --git a/site/layouts/partials/author-social-links.html b/site/layouts/partials/author-social-links.html
new file mode 100644
index 000000000..4532935c8
--- /dev/null
+++ b/site/layouts/partials/author-social-links.html
@@ -0,0 +1,17 @@
+{{- /* Display author social media links */ -}}
+{{ $hasContent := false }}
+{{- if .twitter }}
+
+{{ $hasContent = true }}
+{{- end }}
+{{- if .mastodon }}
+{{ $parts := split .mastodon "@" }}
+{{ $username := index $parts 0 }}
+{{ $instance := index $parts 1 }}
+{{ if $hasContent }}
{{ end }}{{ partial "svg/social/mastodon.svg" }} @{{ $username }}
+{{ $hasContent = true }}
+{{- end }}
+{{- if .bluesky }}
+{{ if $hasContent }}
{{ end }}{{ partial "svg/social/bluesky.svg" }} @{{ .bluesky }}
+{{ $hasContent = true }}
+{{- end }}
diff --git a/site/layouts/partials/svg/social/bluesky.svg b/site/layouts/partials/svg/social/bluesky.svg
new file mode 100644
index 000000000..08f513a17
--- /dev/null
+++ b/site/layouts/partials/svg/social/bluesky.svg
@@ -0,0 +1 @@
+
diff --git a/site/layouts/partials/svg/social/mastodon.svg b/site/layouts/partials/svg/social/mastodon.svg
new file mode 100644
index 000000000..2e9d12a36
--- /dev/null
+++ b/site/layouts/partials/svg/social/mastodon.svg
@@ -0,0 +1 @@
+
diff --git a/site/layouts/partials/svg/social/twitter-team.svg b/site/layouts/partials/svg/social/twitter-team.svg
new file mode 100644
index 000000000..51408c7fa
--- /dev/null
+++ b/site/layouts/partials/svg/social/twitter-team.svg
@@ -0,0 +1 @@
+
diff --git a/site/layouts/post/single.html b/site/layouts/post/single.html
index 55f8e954a..75f66fa09 100755
--- a/site/layouts/post/single.html
+++ b/site/layouts/post/single.html
@@ -49,9 +49,7 @@ {{ .Title }}
{{ else }}
{{ $name }}
{{ end }}
- {{ if $author.twitter }}
- ()
- {{ end }}
+ {{ partial "author-social-links" $author }}
{{ end }}
diff --git a/src/css/pages/blog.scss b/src/css/pages/blog.scss
index bba4e5c14..b4ee651cf 100644
--- a/src/css/pages/blog.scss
+++ b/src/css/pages/blog.scss
@@ -22,6 +22,17 @@
width: 40px;
display: inline-block;
}
+ .author-twitter,
+ .author-mastodon,
+ .author-bluesky {
+ svg {
+ width: 0.9em;
+ height: 0.9em;
+ vertical-align: -0.1em;
+ margin-right: 0.2em;
+ fill: currentColor;
+ }
+ }
}
main {