|
import streamlit as st |
|
|
|
def read_readme(): |
|
with open("README.md", "r") as f: |
|
readme_content = f.read() |
|
|
|
|
|
start_marker = "---\n" |
|
end_marker = "\n---" |
|
start_index = readme_content.find(start_marker) |
|
end_index = readme_content.find(end_marker) + len(end_marker) |
|
|
|
|
|
if start_index != -1 and end_index != -1: |
|
readme_content = readme_content[:start_index] + readme_content[end_index:] |
|
|
|
return readme_content |
|
|
|
def create_pages(content): |
|
pages = content.split("# ") |
|
|
|
intro = pages.pop(0) |
|
return intro, pages |
|
|
|
def main(): |
|
readme_content = read_readme() |
|
intro, pages = create_pages(readme_content) |
|
|
|
st.title("Welcome to My Blog") |
|
st.markdown(intro) |
|
|
|
st.sidebar.title("Sections") |
|
for index, page in enumerate(pages): |
|
page_title = page.split("\n", 1)[0] |
|
st.sidebar.markdown(f"[{page_title}](#{index})") |
|
|
|
for index, page in enumerate(pages): |
|
st.markdown(f"## {page}") |
|
st.markdown(page, unsafe_allow_html=True) |
|
st.sidebar.markdown(f"[Back to Top](#{index})") |
|
|
|
|
|
if __name__ == "__main__": |
|
main() |
|
|