このコミットが含まれているのは:
2026-10-11 03:10:35 +09:00
コミット aec65c36c6
2個のファイルの変更、16行の追加、12行の削除
+9 -5
ファイルの表示
@@ -15,7 +15,9 @@ class TagGroupMarkdownRenderer
placements = @group.fetch('placements')
validate_membership!(placements)
blocks = []
blocks << clean_text(@group['description']) if @group['description'].present?
if @group['description'].present?
blocks << clean_text(@group['description'])
end
sections = placements.select { _1.key?('section_name') }
if sections.any? && sections.size != placements.size
@@ -24,7 +26,7 @@ class TagGroupMarkdownRenderer
end
if placements.all? { _1.key?('section_name') }
blocks.concat(placements.map { render_heading(_1, 1) })
blocks.concat(placements.map { render_heading(_1, 2) })
else
blocks << render_list(placements, 0)
end
@@ -36,15 +38,17 @@ class TagGroupMarkdownRenderer
def validate_membership! placements
placed = placement_members(placements).uniq.sort
members = @group.fetch('members').map do |member|
members = @group.fetch('members').map { |member|
if member['tag']
['tag', member.fetch('tag').fetch('id')]
else
['tag_group', member.fetch('tag_group').fetch('id')]
end
end.uniq.sort
}.uniq.sort
missing = members - placed
raise UnsupportedStructure, '掲載位置のない membership は Markdown にできません.' if missing.any?
if missing.any?
raise UnsupportedStructure, '掲載位置のない membership は Markdown にできません.'
end
end
def placement_members nodes