42 lines
No EOL
2.1 KiB
Python
42 lines
No EOL
2.1 KiB
Python
# Importation de la bibliothèque Streamlit
|
|
# Streamlit est utilisé pour créer des applications web interactives en Python
|
|
import streamlit as st
|
|
import re # Pour les expressions régulières
|
|
import requests # Pour effectuer des requêtes HTTP
|
|
|
|
# Définition de la fonction principale pour l'onglet 2 de l'application
|
|
def app_tab2():
|
|
# Affiche le texte "Aperçu" dans l'interface utilisateur
|
|
# st.write() est une fonction polyvalente de Streamlit pour afficher du contenu
|
|
st.write("Aperçu")
|
|
|
|
# Affiche le contenu Markdown stocké dans la session
|
|
# st.markdown() est utilisé pour rendre du texte formaté en Markdown
|
|
# st.session_state est un dictionnaire qui conserve les données entre les rechargements de page
|
|
# ['content'] fait référence à la clé où le contenu Markdown est stocké
|
|
|
|
markdown_content = st.session_state['markdown']
|
|
fabriquedoc_public_endpoint = st.session_state['fabriquedoc_public_endpoint']
|
|
bearer_token = st.session_state['bearer_token']
|
|
|
|
# Regex pour trouver les images Markdown: 
|
|
# Capture le chemin complet de l'image (y compris les répertoires si présents)
|
|
image_pattern = re.compile(r'!\[.*?\]\((.*?)\)')
|
|
|
|
def replace_image_path(match):
|
|
image_path = match.group(1)
|
|
# Si le chemin est déjà une URL complète, ne rien faire
|
|
if image_path.startswith('http://') or image_path.startswith('https://'):
|
|
return match.group(0)
|
|
|
|
# Construire l'URL complète de l'image
|
|
# On suppose que le chemin dans le markdown est juste le nom du fichier ou un chemin relatif simple
|
|
# et que le backend sert les images via /images/{nom_fichier}
|
|
image_name = image_path.split('/')[-1] # Prend juste le nom du fichier
|
|
full_image_url = f"{fabriquedoc_public_endpoint}/images/{image_name}"
|
|
return f"[0][2:]}]({full_image_url})"
|
|
|
|
# Remplacer tous les chemins d'images relatifs par des URLs complètes
|
|
processed_markdown_content = image_pattern.sub(replace_image_path, markdown_content)
|
|
|
|
st.markdown(processed_markdown_content) |