st-social-media-links


Namest-social-media-links JSON
Version 0.1.3 PyPI version JSON
download
home_pagehttps://github.com/jlnetosci/st_social_media_links
SummaryA Python package designed to assist in displaying social media links within Streamlit apps.
upload_time2024-07-12 21:59:37
maintainerNone
docs_urlNone
authorJoão L. Neto
requires_python>=3.6
licenseNone
keywords streamlit social media links
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.52128s