1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-12-23 02:23:22 +00:00

Checks supplémentaires des liens

This commit is contained in:
Yan Maniez 2018-07-23 23:57:14 +02:00
parent ae5711869f
commit 8b07cf857d
3 changed files with 31 additions and 5 deletions

View file

@ -265,9 +265,17 @@ namespace AideDeJeuCmd
var name = resname.Substring(15, resname.Length - 18);
var md = await Helpers.GetResourceStringAsync(resname);
allmds.Add(name, md);
allanchors.Add(name, GetMarkdownAnchors(md).ToList());
alllinks.Add(name, GetMarkdownLinks(md));
allnames.Add(name, GetMarkdownAnchorNames(md));
var anchors = GetMarkdownAnchors(md).ToList();
allanchors.Add(name, anchors);
var links = GetMarkdownLinks(md).ToList();
alllinks.Add(name, links);
var names = GetMarkdownAnchorNames(md).ToList();
allnames.Add(name, names);
var unlinkedrefs = GetMarkdownUnlinkedRefs(md).ToList();
foreach(var unlinkedref in unlinkedrefs)
{
Console.WriteLine($"{name} {unlinkedref}");
}
}
}
@ -326,6 +334,24 @@ namespace AideDeJeuCmd
}
}
public static IEnumerable<string> GetMarkdownUnlinkedRefs(string md)
{
var regex = new Regex("\\[(?<ref>.+?)\\]", RegexOptions.IgnoreCase);
var matches = regex.Matches(md);
md = md.ToLower();
foreach (Match match in matches)
{
var rref = match.Groups["ref"].Value;
var lref = rref.ToLower();
if (!md.Contains($"[{lref}]:") &&
!md.Contains($"[{lref}](") &&
!lref.Contains("]"))
{
yield return rref;
}
}
}
public static IEnumerable<string> GetMarkdownAnchors(string md)
{
foreach (var name in GetMarkdownAnchorNames(md))