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