konstantinmuenster / gatsby-theme-portfolio-minimal

A Gatsby Theme to create modern one-page portfolios with a clean yet expressive design.
MIT License
157 stars 89 forks source link

Add ability to add custom/additional social profiles #20

Closed siman4457 closed 1 year ago

siman4457 commented 1 year ago

In settings.json the options for social links are very limited. I see that the available options are limited to:

node_modules/gatsby-theme-portfolio-minimal/src/components/SocialProfiles/index.tsx

export enum SocialProfile {
    Behance = 'behance',
    GitHub = 'github',
    Medium = 'medium',
    Mail = 'mail',
    LinkedIn = 'linkedin',
    Twitter = 'twitter',
    Hashnode = 'hashnode',
}

I'd like to add my Dribbble account to the page. Can we add Dribbble as an option? Ideally, it would be nice to add any key/value pair to social and have it generate the button accordingly.

konstantinmuenster commented 1 year ago

Hey @siman4457! Thanks for opening this up. I will add Dribble to the list and let you know once I released a new version.

I could add a fallback that displays whatever key/value pair you provide in social if it isn't included in the theme itself. Though those items won't have a matching icon (for the styling in the contact section at the very bottom of the page).

siman4457 commented 1 year ago

Thanks for the quick reply @konstantinmuenster. That sounds totally reasonable.

The icon isn't an issue for me as I've opted out of using those at the bottom of my page. However, if others are interested in having them, would it be possible to provide the icon name?

I can't remember if you're using a library for these icons or if they're a set of static icons you've imported. If it is the former, it might be worth dynamically importing the icon from the library, given the name as input from settings.json.

Just a thought. Thanks for the fantastic Gatsby package!

konstantinmuenster commented 1 year ago

Just had a look at the issue again @siman4457. Given the current implementation, I don't see an easy solution for custom icons in the near future. But I added a lot of new platforms in v4.2.0 – this may already solve your issue 🤞