private string MergeMultipleMI(string articleText)
{
string originalArticleText = articleText, mi = "";
articleText = WikiRegexes.MultipleIssues.Replace(articleText, m =>
{
string tags = Tools.GetTemplateArgument(m.Value, 1);
// do not process if a MI section template
if (tags.Contains("{{") || tags.Equals(""))
{
mi +=tags;
return "";
}
return m.Value;
});
// do nothing if found a MI section template
if (WikiRegexes.MultipleIssues.IsMatch(articleText))
return originalArticleText;
// extract and de-duplicate tags
List<string> miTags = Parsers.DeduplicateMaintenanceTags((from Match m in WikiRegexes.NestedTemplates.Matches(mi)
select m.Value).ToList());
mi = string.Join("\r\n", miTags.ToArray());
return @"{{Multiple issues|" + "\r\n" + mi + "\r\n" + @"}}" + articleText;
}