# st-social-media-links
![example](https://raw.githubusercontent.com/jlnetosci/st-social-media-links/main/img/example.png)
[Live Demo](https://social-media-links.streamlit.app)
## About
A Python package designed to assist in displaying social media links within Streamlit apps.
## Install
```python
pip install st_social_media_links
```
## Usage
```python
from st_social_media_links import SocialMediaIcons
social_media_links = [
"https://www.facebook.com/ThisIsAnExampleLink",
"https://www.youtube.com/ThisIsAnExampleLink",
"https://www.instagram.com/ThisIsAnExampleLink",
"https://www.github.com/jlnetosci/st-social-media-links",
]
social_media_icons = SocialMediaIcons(social_media_links)
social_media_icons.render()
```
<p align="center" width="100%">
<img src="https://raw.githubusercontent.com/jlnetosci/st-social-media-links/main/img/icons1.png">
</p>
---
### Customization options
**`SocialMediaIcons`** takes two arguments:
- `social_media_links`: a list with web links. You can choose the order of the icons through the order of the web links, each icon will be displayed in its respective position.
- `colors`: an optional list of custom colors for the icons. If it is not given, icons show their default color. If given, it should have the same length as `social_media_links`, if it does not, all icons will show their default color. Accepted values include [HTML color names](https://www.w3schools.com/tags/ref_colornames.asp), as well as HEX color codes.
```python
from st_social_media_links import SocialMediaIcons
social_media_links = [
"https://www.facebook.com/ThisIsAnExampleLink",
"https://www.youtube.com/ThisIsAnExampleLink",
"https://www.instagram.com/ThisIsAnExampleLink",
"https://www.github.com/jlnetosci/st-social-media-links",
]
colors = ["#000000", "Brown", "SteelBlue", "Lime"]
social_media_icons = SocialMediaIcons(social_media_links, colors)
social_media_icons.render()
```
<p align="center" width="100%">
<img src="https://raw.githubusercontent.com/jlnetosci/st-social-media-links/main/img/colors1.png">
</p>
----
If you do not want to customize all colors, you can use `None` at any index in `colors` and that icon will show its default color.
```python
from st_social_media_links import SocialMediaIcons
social_media_links = [
"https://www.facebook.com/ThisIsAnExampleLink",
"https://www.youtube.com/ThisIsAnExampleLink",
"https://www.instagram.com/ThisIsAnExampleLink",
"https://www.github.com/jlnetosci/st-social-media-links",
]
colors = ["#000000", None, "SteelBlue", None]
social_media_icons = SocialMediaIcons(social_media_links, colors)
social_media_icons.render()
```
<p align="center" width="100%">
<img src="https://raw.githubusercontent.com/jlnetosci/st-social-media-links/main/img/colors2.png">
</p>
----
**`render`** has two optional arguments:
- `sidebar`
- `justify_content`
`sidebar` is a boolean and therefore can be `True` or `False`. Its default value is `False`. It is possible to render with both options simultaneously, if you want to display the icons with social media links in both the main-page and the sidebar, i.e.:
```python
social_media_icons.render(sidebar=False) #will render in the main-page
social_media_icons.render(sidebar=True) #will render in the sidebar
```
If you want to have the icons exclusively in the sidebar, you only need to render it once:
```python
social_media_icons.render(sidebar=True) #will render in the sidebar
```
---
`justify_content` gives some freedom regarding icon placement. In brief, it completes the [CSS `justify-content` property](https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content) used, and therefore may take the same options e.g. `center`, `start`, `end`, `space-between`, `space-around`, `space-evenly`, etc. Its default value is `center`. `justify_content` can have different values for separate renderings:
```python
# Rendering in the main-page with icons centered
social_media_icons.render(sidebar=False, justify_content="center")
# Rendering in the sidebar with icons evenly spaced
social_media_icons.render(sidebar=True, justify_content="space-evenly")
```
---
## Platforms supported
In this version, **`st-social-media-links`** supports links to:
<p align="center" width="100%">
<img src="https://raw.githubusercontent.com/jlnetosci/st-social-media-links/main/img/platforms.png">
</p>
## Tips
When paired with `st.divider()` the icon sets look very aesthetically pleasing.
Even though I have not tested it much, [`add_vertical_space`](https://arnaudmiribel.github.io/streamlit-extras/extras/add_vertical_space/) might help you achieve the positioning you want for your social media icons.
## Acknowlegments
For this project, I do have to acknowledge [Font Awesome](https://fontawesome.com/) for their huge selection of icons and the ease with which they implemented. The Awesome in their name is well deserved!
Raw data
{
"_id": null,
"home_page": "https://github.com/jlnetosci/st_social_media_links",
"name": "st-social-media-links",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "streamlit social media links",
"author": "Jo\u00e3o L. Neto",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/52/d2/a2fd756567d79cf315f3000ab898d31b0b663640c6088ece2b11cb2e59ff/st_social_media_links-0.1.3.tar.gz",
"platform": null,
"description": "# st-social-media-links\n\n![example](https://raw.githubusercontent.com/jlnetosci/st-social-media-links/main/img/example.png)\n[Live Demo](https://social-media-links.streamlit.app)\n\n## About\nA Python package designed to assist in displaying social media links within Streamlit apps.\n\n## Install\n```python\npip install st_social_media_links\n```\n\n## Usage\n```python\nfrom st_social_media_links import SocialMediaIcons\n\nsocial_media_links = [\n \"https://www.facebook.com/ThisIsAnExampleLink\",\n \"https://www.youtube.com/ThisIsAnExampleLink\",\n \"https://www.instagram.com/ThisIsAnExampleLink\",\n \"https://www.github.com/jlnetosci/st-social-media-links\",\n]\n\nsocial_media_icons = SocialMediaIcons(social_media_links)\n\nsocial_media_icons.render()\n```\n\n<p align=\"center\" width=\"100%\">\n <img src=\"https://raw.githubusercontent.com/jlnetosci/st-social-media-links/main/img/icons1.png\"> \n</p>\n\n---\n\n### Customization options\n**`SocialMediaIcons`** takes two arguments: \n\n- `social_media_links`: a list with web links. You can choose the order of the icons through the order of the web links, each icon will be displayed in its respective position. \n\n- `colors`: an optional list of custom colors for the icons. If it is not given, icons show their default color. If given, it should have the same length as `social_media_links`, if it does not, all icons will show their default color. Accepted values include [HTML color names](https://www.w3schools.com/tags/ref_colornames.asp), as well as HEX color codes.\n \n```python\nfrom st_social_media_links import SocialMediaIcons\n\nsocial_media_links = [\n \"https://www.facebook.com/ThisIsAnExampleLink\",\n \"https://www.youtube.com/ThisIsAnExampleLink\",\n \"https://www.instagram.com/ThisIsAnExampleLink\",\n \"https://www.github.com/jlnetosci/st-social-media-links\",\n]\n\ncolors = [\"#000000\", \"Brown\", \"SteelBlue\", \"Lime\"]\n\nsocial_media_icons = SocialMediaIcons(social_media_links, colors)\n\nsocial_media_icons.render()\n```\n\n<p align=\"center\" width=\"100%\">\n <img src=\"https://raw.githubusercontent.com/jlnetosci/st-social-media-links/main/img/colors1.png\"> \n</p>\n\n----\n\nIf you do not want to customize all colors, you can use `None` at any index in `colors` and that icon will show its default color.\n\n```python\nfrom st_social_media_links import SocialMediaIcons\n\nsocial_media_links = [\n \"https://www.facebook.com/ThisIsAnExampleLink\",\n \"https://www.youtube.com/ThisIsAnExampleLink\",\n \"https://www.instagram.com/ThisIsAnExampleLink\",\n \"https://www.github.com/jlnetosci/st-social-media-links\",\n]\n\ncolors = [\"#000000\", None, \"SteelBlue\", None]\n\nsocial_media_icons = SocialMediaIcons(social_media_links, colors)\n\nsocial_media_icons.render()\n```\n<p align=\"center\" width=\"100%\">\n <img src=\"https://raw.githubusercontent.com/jlnetosci/st-social-media-links/main/img/colors2.png\"> \n</p>\n\n----\n\n**`render`** has two optional arguments:\n\n - `sidebar` \n\n - `justify_content`\n\n`sidebar` is a boolean and therefore can be `True` or `False`. Its default value is `False`. It is possible to render with both options simultaneously, if you want to display the icons with social media links in both the main-page and the sidebar, i.e.:\n\n```python\nsocial_media_icons.render(sidebar=False) #will render in the main-page\nsocial_media_icons.render(sidebar=True) #will render in the sidebar\n```\n\nIf you want to have the icons exclusively in the sidebar, you only need to render it once: \n\n```python\nsocial_media_icons.render(sidebar=True) #will render in the sidebar\n```\n\n---\n\n`justify_content` gives some freedom regarding icon placement. In brief, it completes the [CSS `justify-content` property](https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content) used, and therefore may take the same options e.g. `center`, `start`, `end`, `space-between`, `space-around`, `space-evenly`, etc. Its default value is `center`. `justify_content` can have different values for separate renderings: \n\n```python\n# Rendering in the main-page with icons centered\nsocial_media_icons.render(sidebar=False, justify_content=\"center\")\n\n# Rendering in the sidebar with icons evenly spaced\nsocial_media_icons.render(sidebar=True, justify_content=\"space-evenly\")\n```\n\n---\n\n## Platforms supported\n\nIn this version, **`st-social-media-links`** supports links to: \n\n<p align=\"center\" width=\"100%\">\n <img src=\"https://raw.githubusercontent.com/jlnetosci/st-social-media-links/main/img/platforms.png\"> \n</p>\n\n## Tips\n\nWhen paired with `st.divider()` the icon sets look very aesthetically pleasing. \n\nEven though I have not tested it much, [`add_vertical_space`](https://arnaudmiribel.github.io/streamlit-extras/extras/add_vertical_space/) might help you achieve the positioning you want for your social media icons.\n\n## Acknowlegments\n\nFor this project, I do have to acknowledge [Font Awesome](https://fontawesome.com/) for their huge selection of icons and the ease with which they implemented. The Awesome in their name is well deserved!\n",
"bugtrack_url": null,
"license": null,
"summary": "A Python package designed to assist in displaying social media links within Streamlit apps.",
"version": "0.1.3",
"project_urls": {
"Homepage": "https://github.com/jlnetosci/st_social_media_links"
},
"split_keywords": [
"streamlit",
"social",
"media",
"links"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "558febb87cdc5fca8da12c3f445b1161620bda6476e660aa9b2a6d2d45dc91ca",
"md5": "32907298dae5e72de4ca917fca553047",
"sha256": "45dd95d430d1ac09077b92839803024eee526ced8648addcb772dcf1f8077f6a"
},
"downloads": -1,
"filename": "st_social_media_links-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "32907298dae5e72de4ca917fca553047",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 10146,
"upload_time": "2024-07-12T21:59:35",
"upload_time_iso_8601": "2024-07-12T21:59:35.449135Z",
"url": "https://files.pythonhosted.org/packages/55/8f/ebb87cdc5fca8da12c3f445b1161620bda6476e660aa9b2a6d2d45dc91ca/st_social_media_links-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "52d2a2fd756567d79cf315f3000ab898d31b0b663640c6088ece2b11cb2e59ff",
"md5": "ea29017be418206d9afe7435dbecc445",
"sha256": "262de6f447d6a332eb1be21f71fa0f074df24528877be6908846faa3ecdb80f2"
},
"downloads": -1,
"filename": "st_social_media_links-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "ea29017be418206d9afe7435dbecc445",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 11548,
"upload_time": "2024-07-12T21:59:37",
"upload_time_iso_8601": "2024-07-12T21:59:37.703845Z",
"url": "https://files.pythonhosted.org/packages/52/d2/a2fd756567d79cf315f3000ab898d31b0b663640c6088ece2b11cb2e59ff/st_social_media_links-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-12 21:59:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jlnetosci",
"github_project": "st_social_media_links",
"github_not_found": true,
"lcname": "st-social-media-links"
}