This is an automated email from the ASF dual-hosted git repository.

gstein pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/steve.git

commit c3969e74cf38ad804520c9bcebe5665bf8def6bc
Author: Greg Stein <[email protected]>
AuthorDate: Sat Feb 28 12:03:28 2026 -0600

    feat: add description rewriting for issues in vote-on page
    
    Co-authored-by: aider (openrouter/x-ai/grok-code-fast-1) <[email protected]>
---
 v3/server/pages.py | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/v3/server/pages.py b/v3/server/pages.py
index 2e82647..167ade6 100644
--- a/v3/server/pages.py
+++ b/v3/server/pages.py
@@ -56,6 +56,18 @@ T_BAD_EID = APP.load_template(TEMPLATES / 'e_bad_eid.ezt')
 T_BAD_IID = APP.load_template(TEMPLATES / 'e_bad_iid.ezt')
 T_BAD_PID = APP.load_template(TEMPLATES / 'e_bad_pid.ezt')
 
+def rewrite_description(issue):
+    """Rewrite issue description: wrap in <pre> and convert doc:filename to 
links."""
+    import re
+    desc = issue.description
+    # Replace doc:filename with <a> link
+    def repl(match):
+        filename = match.group(1)
+        return f'<a href="/docs/{issue.iid}/{filename}">{filename}</a>'
+    desc = re.sub(r'doc:([^\s]+)', repl, desc)
+    # Wrap in <pre>
+    issue.description = f'<pre>{desc}</pre>'
+
 
 async def basic_info():
     """Return base-level EZT template data."""
@@ -302,6 +314,10 @@ async def vote_on_page(election):
     result.issues = issues_stv + issues_yna
     result.issue_count = len(result.issues)
 
+    # Rewrite descriptions in-place
+    for issue in result.issues:
+        rewrite_description(issue)
+
     result.has_voted = None  # Leave as None for now
 
     return result

Reply via email to