Merge pull request #311 from arifszn/format-mastodon

Allow Github style mastodon format
This commit is contained in:
Ariful Alam 2023-02-18 22:12:39 +06:00 committed by GitHub
commit 5631516710
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 18 deletions

View File

@ -457,7 +457,7 @@ const config = {
social: {
linkedin: 'ariful-alam',
twitter: 'arif_szn',
mastodon: '',
mastodon: 'arifszn@mastodon.social',
facebook: '',
instagram: '',
dribbble: '',

View File

@ -13,7 +13,7 @@ const config = {
social: {
linkedin: 'ariful-alam',
twitter: 'arif_szn',
mastodon: '',
mastodon: 'arifszn@mastodon.social',
facebook: '',
instagram: '',
dribbble: '',

View File

@ -31,22 +31,14 @@ const companyLink = (company) => {
return `https://github.com/${company.substring(1)}`;
};
const getMastodonValue = (mastodonURL) => {
const regex = /(https?:\/\/)?(www\.)?([^\s/]+)\/@(\w+)/;
const getFormattedMastodonValue = (mastodonValue, isLink) => {
const [username, server] = mastodonValue.split('@');
const match = mastodonURL.match(regex);
if (match) {
const domain = match[3];
const username = match[4];
return `${domain}/@${username}`;
if (isLink) {
return `https://${server}/@${username}`;
} else {
return `${username}@${server}`;
}
return mastodonURL;
};
const getMastodonLink = (mastodonURL) => {
return mastodonURL.replace(/^(https?:\/\/)?(www\.)?/, 'https://');
};
const ListItem = ({ icon, title, value, link, skeleton = false }) => {
@ -136,8 +128,8 @@ const Details = ({ profile, loading, social, github }) => {
<ListItem
icon={<FaMastodon className="mr-2" />}
title="Mastodon:"
value={getMastodonValue(social.mastodon)}
link={getMastodonLink(social.mastodon)}
value={getFormattedMastodonValue(social.mastodon, false)}
link={getFormattedMastodonValue(social.mastodon, true)}
/>
)}
{social?.linkedin && (