How to render links in markdown syntax?

Hi @janekfleper,
Right sorry, Here is a proper working example

#let render_space_between_highlight = -0.5em
#let render_space_between_entry = -0.5em
#let render_space_between_sections = -0.5em

#let _entry_heading(
  main: "", // top left
  dates: "", // top right
  description: "", // bottom left
  bottom_right: "", // bottom right
) = {
  [
    === #main #h(1fr) #dates \
    #description #h(1fr) #bottom_right
  ]
}

#let _section(title, body) = {
 [ == #smallcaps(title)]
 v(-0.5em)
 line(length: 100%, stroke: stroke(thickness: 0.4pt))
  v(-0.5em)
  body
  v(render_space_between_sections)
}


#let _format_dates(
  start-date: "",
  end-date: "",
) = ( 
  if start-date == end-date {
    start-date
  } else
{
  start-date + " " + $dash.em$ + " " + end-date
}
)

#let render-project(projects, title) = {
  if projects.len() == 0 {
    return
  }
  let section_body = {
    projects
      .map(project => {
        let main = link(project.url)[#project.name]
        if project.url.len() == 0 {
          main = project.name
        }
        let source_code = link(project.source_code)[GitHub]
        if project.source_code.len() == 0 {
          source_code = ""
        }
        [
          #_entry_heading(
            main: main,
            dates: _format_dates(start-date: project.startDate, end-date: project.endDate),
            description: project.roles.map(emph).join(" | "),
            bottom_right: source_code,
          )
          #v(-2em) \
          #project.description
          #project.highlights.map(highlight => {
            // Parse markdown links in the highlight text
            let parts = highlight.split("](")
            if parts.len() == 2 {
              let text = parts.at(0)
              let init = text.split("[").at(0)
              let linked_text = text.split("[").at(1)
              let url_and_rest = parts.at(1).split(")")
              let url = url_and_rest.at(0)
              let rest = url_and_rest.at(1)
              [- #init#link(url)[#linked_text]#rest]
            } else {
              [- #highlight]
            }
          }).join(v(render_space_between_highlight))
        ]
      })
      .join(v(render_space_between_entry))
  }
  _section(title, section_body)
}

#let x = (
  (
    name: "Test",
    url: "",
    source_code: "https://github.com/π",
    roles: ("stuff",),
    startDate: "March 2025",
    endDate: "May 2025",
    description: "some description",
    highlights: (
      "hi [link_works](https://github.com/π) *Not_Bold* _Not_italics_ [second_link_doesnt_work](https://google.com)",
    ),
  ),
)

#render-project(x, "test")

You can check the text printed, only the first link works(as expected) and Bold, italics doesnt work. Please help