Spaces:
Runtime error
Runtime error
import importlib | |
import re | |
from pathlib import Path | |
import streamlit as st | |
import yaml | |
REGEX_YAML_BLOCK = re.compile(r"---[\n\r]+([\S\s]*?)[\n\r]+---[\n\r](.*)", re.DOTALL) | |
def render_preview(image, title, description): | |
with st.container(): | |
image_col, text_col = st.columns((1, 4)) | |
with image_col: | |
st.image(image) | |
with text_col: | |
st.subheader(title) | |
st.write(description) | |
def render_page(post_path: Path): | |
mod = importlib.import_module(str(post_path)) | |
mod.run_article() | |
def get_page_data(post_path: Path): | |
mod = importlib.import_module(str(post_path)) | |
return { | |
"title": mod.title, | |
"description": mod.description, | |
"date": mod.date, | |
"thumbnail": mod.thumbnail, | |
} | |
def main(): | |
st.set_page_config(layout="wide") | |
posts = { | |
"posts.welcome": "Welcome", | |
"posts.context": "Hate Speech in ACM", | |
"posts.dataset_exploration": "ACM Datasets", | |
"posts.model_exploration": "ACM Models", | |
"posts.conclusion": "Key Takeaways", | |
} | |
page_to_show = list(posts.keys())[0] | |
with st.sidebar: | |
st.markdown( | |
""" | |
<div align="center"> | |
<h1>Task Exploration: Hate Speech Detection</h1> | |
</div> | |
""", | |
unsafe_allow_html=True, | |
) | |
st.markdown("---") | |
page_to_show = st.selectbox( | |
"Navigation menu:", | |
posts, | |
format_func=lambda x:posts[x], | |
) | |
for post in posts: | |
data = get_page_data(Path(post)) | |
clicked = render_preview( | |
data.get("thumbnail"), data.get("title"), data.get("description") | |
) | |
if page_to_show: | |
render_page(Path(page_to_show)) | |
main() | |