Spaces:
Sleeping
Sleeping
import streamlit as st | |
import os | |
# Set the main directories | |
SYLLABUS_DIR = "syllabus" | |
SUBJECT_DIRS = { | |
"Maths": "paper-1-maths", | |
"Advanced Operating Systems": "paper-2-advanceOS", | |
"Data Structures": "paper-3-DS", | |
"C++ Programming": "paper-4-cplusplus", | |
"Computer Architecture": "paper-5-computer-architecture" | |
} | |
# Helper function to read markdown files | |
def read_markdown_file(filepath): | |
with open(filepath, "r") as file: | |
return file.read() | |
# Sidebar for navigation | |
st.sidebar.title("Notes Navigator") | |
st.sidebar.write("Select a subject and unit to view notes.") | |
# Syllabus Section | |
if st.sidebar.checkbox("Show Syllabus"): | |
st.header("Syllabus") | |
for subject_file in os.listdir(SYLLABUS_DIR): | |
file_path = os.path.join(SYLLABUS_DIR, subject_file) | |
if os.path.isfile(file_path) and subject_file.endswith(".md"): | |
subject_name = subject_file.replace(".md", "").replace("-", " ").title() | |
with st.expander(subject_name): | |
content = read_markdown_file(file_path) | |
st.markdown(content, unsafe_allow_html=True) | |
# Subject and Unit Selection | |
selected_subject = st.sidebar.selectbox("Select Subject", list(SUBJECT_DIRS.keys())) | |
subject_folder = SUBJECT_DIRS[selected_subject] | |
# Unit Selection | |
selected_unit = st.sidebar.selectbox("Select Unit", ["Unit 1", "Unit 2", "Unit 3", "Unit 4", "Unit 5"]) | |
unit_file = f"{selected_unit.lower().replace(' ', '-')}.md" | |
unit_file_path = os.path.join(subject_folder, unit_file) | |
# Display selected notes | |
st.header(f"{selected_subject} - {selected_unit}") | |
if os.path.exists(unit_file_path): | |
unit_content = read_markdown_file(unit_file_path) | |
st.markdown(unit_content, unsafe_allow_html=True) | |
else: | |
st.error("The selected notes file does not exist.") | |