1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-30 06:56:10 +00:00

Correction liens

This commit is contained in:
Yan Maniez 2018-07-23 14:43:11 +02:00
parent f98881b33a
commit 192dbabbd6
3 changed files with 113 additions and 42 deletions

View file

@ -23,6 +23,11 @@ namespace AideDeJeu.Tools
} }
} }
public static IEnumerable<string> GetResourceNames()
{
var assembly = typeof(Helpers).GetTypeInfo().Assembly;
return assembly.GetManifestResourceNames();
}
public static async Task<string> GetResourceStringAsync(string resourceName) public static async Task<string> GetResourceStringAsync(string resourceName)
{ {
var assembly = typeof(Helpers).GetTypeInfo().Assembly; var assembly = typeof(Helpers).GetTypeInfo().Assembly;

View file

@ -120,10 +120,91 @@ namespace AideDeJeuCmd
await SaveStringAsync(dataDir + "spells_hd_by_class_level.md", result); await SaveStringAsync(dataDir + "spells_hd_by_class_level.md", result);
} }
static async Task<IEnumerable<string>> GetAllAnchorsAsync()
{
var anchors = new List<string>();
var allitems = new Dictionary<string, Item>();
var names = Helpers.GetResourceNames();
foreach(var name in names)
{
if (name.Contains("_hd."))
{
var md = await Helpers.GetResourceStringAsync(name);
var item = AideDeJeu.Tools.MarkdownExtensions.ToItem(md);
allitems.Add(name, item);
}
}
foreach(var allitem in allitems)
{
if (allitem.Value is Items)
{
var items = allitem.Value as Items;
foreach (var item in items)
{
if (!string.IsNullOrWhiteSpace(item.Name))
{
//Console.WriteLine(item.Name);
anchors.Add(item.Name);
}
}
}
else if(allitem.Value != null)
{
if (!string.IsNullOrWhiteSpace(allitem.Value.Name))
{
//Console.WriteLine(allitem.Value.Name);
anchors.Add(allitem.Value.Name);
}
}
}
return anchors;
}
static async Task SearchAsync(string anchor)
{
var first = true;
var names = Helpers.GetResourceNames();
foreach (var name in names)
{
var md = await Helpers.GetResourceStringAsync(name);
using (var reader = new StringReader(md))
{
var line = await reader.ReadLineAsync();
while (line != null)
{
if (line.FirstOrDefault() != '#' &&
!line.StartsWith("- AltName") &&
line.Contains(anchor) &&
!line.Contains($"[{anchor}") &&
!line.Contains($"{anchor}]")
)
{
if (first)
{
first = false;
Console.WriteLine();
Console.WriteLine(anchor);
Console.WriteLine();
}
Console.WriteLine(line);
Console.WriteLine();
}
line = await reader.ReadLineAsync();
}
}
}
//Console.WriteLine();
}
static async Task Main(string[] args) static async Task Main(string[] args)
{ {
string dataDir = @"..\..\..\..\..\Data\"; string dataDir = @"..\..\..\..\..\Data\";
await CheckAllLinks(); await CheckAllLinks();
//var anchors = await GetAllAnchorsAsync();
//foreach(var anchor in anchors)
//{
// await SearchAsync(anchor);
//}
return; return;
var mdVO = await LoadStringAsync(dataDir + "monsters_vo.md"); var mdVO = await LoadStringAsync(dataDir + "monsters_vo.md");
var mdVF = await LoadStringAsync(dataDir + "monsters_hd.md"); var mdVF = await LoadStringAsync(dataDir + "monsters_hd.md");
@ -169,28 +250,23 @@ namespace AideDeJeuCmd
{ {
string dataDir = @"..\..\..\..\..\Data\"; string dataDir = @"..\..\..\..\..\Data\";
var mdMonstersVO = await LoadStringAsync(dataDir + "monsters_vo.md"); var allmds = new Dictionary<string, string>();
var mdMonstersHD = await LoadStringAsync(dataDir + "monsters_hd.md");
var mdSpellsVO = await LoadStringAsync(dataDir + "spells_vo.md");
var mdSpellsHD = await LoadStringAsync(dataDir + "spells_hd.md");
var mdConditionsVO = await LoadStringAsync(dataDir + "conditions_vo.md");
var mdConditionsHD = await LoadStringAsync(dataDir + "conditions_hd.md");
var allanchors = new Dictionary<string, IEnumerable<string>>(); var allanchors = new Dictionary<string, IEnumerable<string>>();
allanchors.Add("conditions_hd", GetMarkdownAnchors(mdConditionsHD).ToList());
allanchors.Add("conditions_vo", GetMarkdownAnchors(mdConditionsVO));
allanchors.Add("spells_hd", GetMarkdownAnchors(mdSpellsHD));
allanchors.Add("spells_vo", GetMarkdownAnchors(mdSpellsVO));
allanchors.Add("monsters_hd", GetMarkdownAnchors(mdMonstersHD));
allanchors.Add("monsters_vo", GetMarkdownAnchors(mdMonstersVO));
var alllinks = new Dictionary<string, IEnumerable<Tuple<string, string>>>(); var alllinks = new Dictionary<string, IEnumerable<Tuple<string, string>>>();
alllinks.Add("spells_hd", GetMarkdownLinks(mdSpellsHD)); var allnames = new Dictionary<string, IEnumerable<string>>();
alllinks.Add("spells_vo", GetMarkdownLinks(mdSpellsVO)); var resnames = Helpers.GetResourceNames();
alllinks.Add("monsters_hd", GetMarkdownLinks(mdMonstersHD)); foreach (var resname in resnames)
alllinks.Add("monsters_vo", GetMarkdownLinks(mdMonstersVO)); {
alllinks.Add("conditions_hd", GetMarkdownLinks(mdConditionsHD)); if (resname.Contains(".md"))
alllinks.Add("conditions_vo", GetMarkdownLinks(mdConditionsVO)); {
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));
}
}
foreach (var links in alllinks) foreach (var links in alllinks)
{ {
@ -205,26 +281,16 @@ namespace AideDeJeuCmd
} }
} }
var allnames = new Dictionary<string, IEnumerable<string>>(); //foreach (var names in allnames)
allnames.Add("conditions_hd", GetMarkdownAnchorNames(mdConditionsHD)); //{
allnames.Add("conditions_vo", GetMarkdownAnchorNames(mdConditionsVO)); // foreach (var name in names.Value)
allnames.Add("spells_hd", GetMarkdownAnchorNames(mdSpellsHD)); // {
allnames.Add("spells_vo", GetMarkdownAnchorNames(mdSpellsVO)); // foreach(var mdkv in allmds)
allnames.Add("monsters_hd", GetMarkdownAnchorNames(mdMonstersHD)); // {
allnames.Add("monsters_vo", GetMarkdownAnchorNames(mdMonstersVO)); // FindName(mdkv.Value, name);
// }
foreach (var names in allnames) // }
{ //}
foreach (var name in names.Value)
{
FindName(mdSpellsHD, name);
FindName(mdSpellsVO, name);
FindName(mdMonstersHD, name);
FindName(mdMonstersVO, name);
FindName(mdConditionsHD, name);
FindName(mdConditionsVO, name);
}
}
} }
public static void FindName(string md, string name) public static void FindName(string md, string name)
@ -267,7 +333,7 @@ namespace AideDeJeuCmd
public static IEnumerable<string> GetMarkdownAnchorNames(string md) public static IEnumerable<string> GetMarkdownAnchorNames(string md)
{ {
var regex = new Regex($"\\n# (?<name>.*?)\\n"); var regex = new Regex($"\\n##? (?<name>.*?)\\n");
var matches = regex.Matches(md); var matches = regex.Matches(md);
foreach (Match match in matches) foreach (Match match in matches)
{ {

View file

@ -9396,7 +9396,7 @@ Une créature affectée est consciente du sort qui la limite et peut donc soigne
[Guerrier]: fighter_hd.md [Guerrier]: fighter_hd.md
[Magicien]: wizard_hd.md [Magicien]: wizard_hd.md
[Moine]: monk_hd.md [Moine]: monk_hd.md
[Ombrelame]: rogue_hd.md#ombrelame [Ombrelame]: rogue_ombrelame_hd.md
[Paladin]: paladin_hd.md [Paladin]: paladin_hd.md
[Rôdeur]: ranger_hd.md [Rôdeur]: ranger_hd.md
[Roublard]: rogue_hd.md [Roublard]: rogue_hd.md