import re
from django.utils.safestring import mark_safe

def render_markdown_links(text):
    """
    Replace Markdown-style links with HTML <a> tags.
    Example: [text](url "title") -> <a href="url" title="title">text</a>
    """
    pattern = re.compile(r'\[([^]]+)\]\((\S+)(?:\s"([^"]+)")?\)')

    def replace_link(match):
        inline_text = match.group(1)
        url = match.group(2)
        title = match.group(3) if match.group(3) else ""
        title_attr = f' title="{title}"' if title else ""
        return f'<a target="_blank" class="text-blue-700 hover:underline" href="{url}"{title_attr}>{inline_text}</a>'

    return mark_safe(pattern.sub(replace_link, text))

# Register the filter with Django
from django import template
register = template.Library()

@register.filter
def render_links(value):
    return render_markdown_links(value)
