UntimelyCreation / typst-neat-cv

A set of templates to produce modern, minimal and elegant CVs and cover letters using Typst.
MIT License
28 stars 1 forks source link

Add progress bar to technical skills #2

Closed Karstack-overflow closed 2 days ago

Karstack-overflow commented 2 weeks ago

i have added a progressbar under the technical skills. i think this is a nice visual representation of the skills. i would like to share the code of this.

#let progress_bar(
  progress,
) = {
  // Fix for https://github.com/typst/typst/issues/3826
  if progress == 0% {
    progress = 0.1%
  }

  set block(above: 8pt, below: 8pt, spacing: 0pt)
  set par(leading: 0em)
  let light-accent = chosenAccentColor.lighten(20%)
  let grad-accent = chosenAccentColor.darken(20%)

  context {
    rect(
      height: 8pt,
      width: 100%,
      stroke: chosenAccentColor,
      fill: gradient.linear(
        (light-accent, 0%),
        (grad-accent, progress),
        (white, progress),
        (white, 100%),  
      ),

    )
  }
}

#let cvSkill(
    type: "Type",
    tags: (),
    progress: none,
) = {
    skillTypeStyle(type)
    v(-1mm)
    tagListStyle(tags)
    if progress != none {
        v(1mm)
        progress_bar(progress)
    }
}

maybe you can include it to your template grafik

UntimelyCreation commented 1 week ago

Hey there! Thanks for sharing your code, adding visual representation is a nice idea. I have one comment: if the progress bar represents all of your programming skills at once like your screenshot suggests, I'm not sure it helps give a measure of your proficiency. I think it would be better to add one bar per skill (similar to the language section), but that may take up a lot of valuable space. In any case, I do not plan on adding any features currently: I like the template being fairly minimal as it is right now. If I change my mind, I'll be sure to keep you posted. Cheers!

Karstack-overflow commented 2 days ago

Hey, Your template is really beautiful and minimalistic. It drew me more into typst to learn it. Thanks for the answer.