Support skill list generation with used attribute

This commit is contained in:
2026-05-27 09:22:18 +02:00
parent 981288f09e
commit fd83d96c3a
2 changed files with 9 additions and 6 deletions
+3
View File
@@ -458,6 +458,9 @@ func (ctx *wikiContext) classSkillRows(classRow map[string]any) []map[string]any
row := cloneRowMap(source)
row["SkillKey"] = key
row["SkillName"] = ctx.resolveSkillName(key)
if skillRow := ctx.skillRows[key]; skillRow != nil {
row["SkillAbility"] = stringValue(skillRow, "KeyAbility")
}
rows = append(rows, row)
}
return rows
+6 -6
View File
@@ -991,9 +991,9 @@ func TestWikiTemplateEachBlockRendersClassSkillsAsIndividualListItems(t *testing
3: "skills:secret",
},
skillRows: map[string]map[string]any{
"skills:athletics": {"Name": "Athletics"},
"skills:parry": {"Name": "Parry"},
"skills:secret": {"Name": "Secret"},
"skills:athletics": {"Name": "Athletics", "KeyAbility": "STR"},
"skills:parry": {"Name": "Parry", "KeyAbility": "DEX"},
"skills:secret": {"Name": "Secret", "KeyAbility": "INT"},
},
}
page := wikiTemplatePage{
@@ -1008,7 +1008,7 @@ func TestWikiTemplateEachBlockRendersClassSkillsAsIndividualListItems(t *testing
template := `<ul class="wiki-list wiki-class-skills">
{{#each ClassSkills}}
<li>{{SkillKey|link:SkillName|wiki}}</li>
<li>{{SkillKey|link:SkillName|wiki}} ({{SkillAbility|lower|title}})</li>
{{/each}}
</ul>`
@@ -1017,8 +1017,8 @@ func TestWikiTemplateEachBlockRendersClassSkillsAsIndividualListItems(t *testing
t.Fatalf("render template: %v", err)
}
for _, want := range []string{
`<li>[[Skills/Athletics|Athletics]]</li>`,
`<li>[[Skills/Parry|Parry]]</li>`,
`<li>[[Skills/Athletics|Athletics]] (Str)</li>`,
`<li>[[Skills/Parry|Parry]] (Dex)</li>`,
} {
if !strings.Contains(got, want) {
t.Fatalf("expected rendered output to contain %q:\n%s", want, got)