Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
mjml-social
Advanced tools
The mjml-social npm package is a part of the MJML framework, which is designed to simplify the creation of responsive email templates. The mjml-social component specifically allows you to easily add social media icons and links to your email templates, ensuring they are both visually appealing and functional across different email clients.
Basic Social Icons
This feature allows you to add basic social media icons to your email template. The code sample demonstrates how to include Facebook and Twitter icons with links to your respective social media pages.
<mjml>
<mj-body>
<mj-section>
<mj-column>
<mj-social>
<mj-social-element name="facebook" href="https://facebook.com/yourpage" />
<mj-social-element name="twitter" href="https://twitter.com/yourpage" />
</mj-social>
</mj-column>
</mj-section>
</mj-body>
</mjml>
Custom Social Icons
This feature allows you to use custom icons for your social media links. The code sample shows how to replace the default Facebook and Twitter icons with custom images.
<mjml>
<mj-body>
<mj-section>
<mj-column>
<mj-social>
<mj-social-element name="facebook" href="https://facebook.com/yourpage" src="https://path-to-your-custom-icon/facebook.png" />
<mj-social-element name="twitter" href="https://twitter.com/yourpage" src="https://path-to-your-custom-icon/twitter.png" />
</mj-social>
</mj-column>
</mj-section>
</mj-body>
</mjml>
Social Icons with Custom Styles
This feature allows you to customize the style of your social media icons, including their size and layout. The code sample demonstrates how to set the icon size to 30px and arrange the icons horizontally with custom background colors.
<mjml>
<mj-body>
<mj-section>
<mj-column>
<mj-social icon-size="30px" mode="horizontal">
<mj-social-element name="facebook" href="https://facebook.com/yourpage" background-color="#3b5998" />
<mj-social-element name="twitter" href="https://twitter.com/yourpage" background-color="#1da1f2" />
</mj-social>
</mj-column>
</mj-section>
</mj-body>
</mjml>
The react-social-icons package provides a set of customizable social media icons for React applications. Unlike mjml-social, which is specifically designed for email templates, react-social-icons is intended for use in web applications built with React. It offers a wide range of social media icons and allows for easy customization of their appearance.
The social-media-icons package is a simple library for adding social media icons to web pages. It is not specifically designed for email templates like mjml-social, but it provides a straightforward way to include social media links on websites. The package includes a variety of icons and allows for basic customization.
Font Awesome is a popular icon library that includes a wide range of social media icons. While it is not specifically designed for email templates, it can be used to add social media icons to both web pages and emails. Font Awesome offers extensive customization options and a large collection of icons beyond just social media.
Displays calls-to-action for various social networks with their associated logo. You can add social networks with the mj-social-element
tag.
<mjml>
<mj-body>
<mj-section>
<mj-column>
<mj-social font-size="15px" icon-size="30px" mode="horizontal">
<mj-social-element name="facebook" href="https://mjml.io/">
Facebook
</mj-social-element>
<mj-social-element name="google" href="https://mjml.io/">
Google
</mj-social-element>
<mj-social-element name="twitter" href="https://mjml.io/">
Twitter
</mj-social-element>
</mj-social>
</mj-column>
</mj-section>
</mj-body>
</mjml>
attribute | unit | description | default value |
---|---|---|---|
border-radius | px | border radius | 3px |
font-family | string | font name | Ubuntu, Helvetica, Arial, sans-serif |
font-size | px/em | font size | 13px |
icon-size | percent/px | icon size (width and height) | 20px |
icon-height | percent/px | icon height, overrides icon-size | icon-size |
line-height | percent/px | space between lines | 22px |
mode | string | vertical/horizontal | horizontal |
text-decoration | string | underline/overline/none | none |
align | string | left/right/center | center |
color | color | text color | #333333 |
inner-padding | px | social network surrounding padding | 4px |
padding | px | supports up to 4 parameters | 10px 25px |
padding-top | px | top offset | n/a |
padding-bottom | px | bottom offset | n/a |
padding-left | px | left offset | n/a |
padding-right | px | right offset | n/a |
container-background-color | color | inner element background color | n/a |
This component enables you to display a given social network inside mj-social
.
Note that default icons are transparent, which allows background-color
to actually be the icon color.
attribute | unit | description | default value |
---|---|---|---|
border-radius | px | border radius | 3px |
href | url | button redirection url | [[SHORT_PERMALINK]] |
target | string | link target | _blank |
background-color | color | icon color | Each social name has its own default |
font-family | string | font name | Ubuntu, Helvetica, Arial, sans-serif |
font-size | px/em | font size | 13px |
icon-size | percent/px | icon size (width and height) | 20px |
icon-height | percent/px | icon height, overrides icon-size | icon-size |
line-height | percent/px | space between lines | 22px |
mode | string | vertical/horizontal | horizontal |
text-decoration | string | underline/overline/none | none |
align | string | left/right/center | center |
color | color | text color | #333333 |
name | string | social network name, see supported list below | N/A |
src | url | image source | Each social name has its own default |
alt | string | image alt attribute | none |
padding | px | supports up to 4 parameters | 10px 25px |
padding-top | px | top offset | n/a |
padding-bottom | px | bottom offset | n/a |
padding-left | px | left offset | n/a |
padding-right | px | right offset | n/a |
Supported networks with a share url:
Without a share url:
When using a network with share url, the href
attribute will be inserted in the share url (i.e. https://www.facebook.com/sharer/sharer.php?u=[[URL]]
). To keep your href
unchanged, add -noshare
to the network name. Example :
<mj-social-element name="twitter-noshare" href="my-unchanged-url">Twitter</mj-social-element>
You can add any unsupported network like this:
<mj-social-element href="url" background-color="#FF00FF" src="path-to-your-icon">
Optional label
</mj-social-element>
FAQs
mjml-social
The npm package mjml-social receives a total of 515,289 weekly downloads. As such, mjml-social popularity was classified as popular.
We found that mjml-social demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.