{"id":19634446,"url":"https://github.com/dataprofessor/links","last_synced_at":"2025-06-12T13:08:00.019Z","repository":{"id":41172200,"uuid":"499551902","full_name":"dataprofessor/links","owner":"dataprofessor","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-02T17:06:24.000Z","size":2624,"stargazers_count":25,"open_issues_count":0,"forks_count":10,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-28T07:41:56.198Z","etag":null,"topics":["links","portfolio","portfolio-websitee","streamlit"],"latest_commit_sha":null,"homepage":"http://chanin.streamlitapp.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dataprofessor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-03T14:58:51.000Z","updated_at":"2024-05-26T02:28:53.000Z","dependencies_parsed_at":"2024-11-11T12:32:03.960Z","dependency_job_id":null,"html_url":"https://github.com/dataprofessor/links","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":"dataprofessor/st.template","purl":"pkg:github/dataprofessor/links","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataprofessor%2Flinks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataprofessor%2Flinks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataprofessor%2Flinks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataprofessor%2Flinks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dataprofessor","download_url":"https://codeload.github.com/dataprofessor/links/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataprofessor%2Flinks/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259470949,"owners_count":22862998,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["links","portfolio","portfolio-websitee","streamlit"],"created_at":"2024-11-11T12:21:18.424Z","updated_at":"2025-06-12T13:07:59.976Z","avatar_url":"https://github.com/dataprofessor.png","language":"Python","funding_links":["https://www.buymeacoffee.com/dataprofessor/'"],"categories":[],"sub_categories":[],"readme":"# Welcome to Streamlit `links page`\n\n\u003cimg src=\"streamlit-links-page.png\" width=\"350\"\u003e\n\n\n\u003e A Streamlit app that you can build for free to store all your personal links that is similar in functionality to that of [Linktr.ee](https://linktr.ee/).\n\n\u003cimg src=\"23F54497-245E-413F-99C7-F3E295E4EA13.png\" width=\"350\"\u003e\n\n# Demo app\n\n[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://chanin.streamlitapp.com/)\n\n# Setting up\n\nGetting your own Streamlit `links page` up and running is really easy, just follow the following 3 steps:\n\n**Step 1**. [Click here](https://github.com/dataprofessor/links/generate) to generate a copy of this repository. Next, name your new repository to anything you'd like except for `your username`.github.io\n\n**Step 2**. Customize the contents of the newly generated `links page` by editing the `streamlit_app.py` file:\n\n```python\nimport streamlit as st\nfrom st_functions import st_button, load_css\nfrom PIL import Image\n\nload_css()\n\ncol1, col2, col3 = st.columns(3)\ncol2.image(Image.open('dp.png'))\n\nst.header('Chanin Nantasenamat, Ph.D.')\n\nst.info('Developer Advocate, Content Creator and ex-Professor with an interest in Data Science and Bioinformatics')\n\nicon_size = 20\n\nst_button('youtube', 'https://youtube.com/dataprofessor', 'Data Professor YouTube channel', icon_size)\nst_button('youtube', 'https://youtube.com/codingprofessor', 'Coding Professor YouTube channel', icon_size)\nst_button('medium', 'https://data-professor.medium.com/', 'Read my Blogs', icon_size)\nst_button('twitter', 'https://twitter.com/thedataprof/', 'Follow me on Twitter', icon_size)\nst_button('linkedin', 'https://www.linkedin.com/in/chanin-nantasenamat/', 'Follow me on LinkedIn', icon_size)\nst_button('newsletter', 'https://sendfox.com/dataprofessor/', 'Sign up for my Newsletter', icon_size)\nst_button('cup', 'https://www.buymeacoffee.com/dataprofessor/', 'Buy me a Coffee', icon_size)\n```\n\nThere are 3 key information that you can modify:\n1. `st.header(A)` is used for specifying your name in place of **A**.\nExample:\n```python\nst.header('Chanin Nantasenamat, Ph.D.')\n```\n\n2. `st.info(B)` is used for speciying a quick description about who you are, what you do, etc. in place of **B**.\nExample:\n```python\nst.info('Developer Advocate, Content Creator and ex-Professor with an interest in Data Science and Bioinformatics')\n```\n\n3. `st.button(D, E, F, G)` is a custom function for creating link buttons where **D** represents the icon to display (use `youtube` if the play button is to be displayed), **E** represents the URL, **F** represents the message to display on the clickable button and **G** represents the icon size.\nExample:\n```python\nst_button('youtube', 'https://youtube.com/dataprofessor', 'Data Professor YouTube channel', icon_size)\n```\n\n**Step 3**. Deploy to [Streamlit Cloud](https://streamlit.io/cloud). Log-in and click on the **New app** button. Choose the newly generated repo from Steps 1-2. Finally click on the **Deploy!** button. \n\nAfter a few moments your new `links page` should be accessible at `https://share.streamlit.io/{your-username}/{newly-created-repo}`\n\nIn an upcoming release of Streamlit Cloud, you will be able to customize the URL address to `https://{custom-name--here}.streamlitapp.com/` such as the one that I've created at https://chanin.streamlitapp.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdataprofessor%2Flinks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdataprofessor%2Flinks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdataprofessor%2Flinks/lists"}