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

Découpage

This commit is contained in:
Maniez Yan 2019-01-18 23:35:57 +01:00
parent 5e49f9c830
commit f8df8078df
2 changed files with 78 additions and 28 deletions

View file

@ -1,4 +1,5 @@
using AideDeJeu.ViewModels; using AideDeJeu.Tools;
using AideDeJeu.ViewModels;
using SQLite; using SQLite;
using System; using System;
using System.Collections; using System.Collections;
@ -235,7 +236,7 @@ namespace AideDeJeuLib
{ {
get get
{ {
return $"---\n{Yaml}---\n{Markdown}"; return $"---\n{Yaml}---\n{CleanMarkdown}";
} }
} }
@ -260,5 +261,36 @@ namespace AideDeJeuLib
item.Markdown = yamlmd.Substring(parser.Current.End.Index + 1); item.Markdown = yamlmd.Substring(parser.Current.End.Index + 1);
return post as Item; return post as Item;
} }
public string CleanMarkdown
{
get
{
var md = Markdown;
var rx = new Regex("<!--.*?-->");
md = rx.Replace(md, "");
return md;
}
}
public string NewId
{
get
{
var id = string.IsNullOrEmpty(RootId) ? Id : RootId;
if(id.Contains("_hd.md"))
{
return "hd_" + Helpers.RemoveDiacritics(id).Replace("_hd.md#", "_").Replace("_hd.md", "").Replace("-","_").Replace("__","_").ToLower() + ".md";
}
else if(id.Contains("_vo.md"))
{
return "srd_" + Helpers.RemoveDiacritics(id).Replace("_vo.md#", "_").Replace("_vo.md", "").Replace("-", "_").Replace("__", "_").ToLower() + ".md";
}
else
{
return Helpers.RemoveDiacritics(id).Replace("-", "_").Replace("__", "_").ToLower() + ".md";
}
}
}
} }
} }

View file

@ -8,6 +8,7 @@ using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Net;
using System.Runtime.Serialization.Json; using System.Runtime.Serialization.Json;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
@ -292,6 +293,8 @@ namespace AideDeJeuCmd
Console.ReadLine(); Console.ReadLine();
} }
static string outDir = @"..\..\..\..\..\Data\HD\";
static async Task Main(string[] args) static async Task Main(string[] args)
{ {
Tests.Xamarin.Forms.Mocks.MockForms.Init(); Tests.Xamarin.Forms.Mocks.MockForms.Init();
@ -321,37 +324,52 @@ namespace AideDeJeuCmd
var monstersVO = await context.MonstersVO.ToListAsync(); var monstersVO = await context.MonstersVO.ToListAsync();
var spells = await context.Spells.ToListAsync(); var spells = await context.Spells.ToListAsync();
var item1 = monsters.FirstOrDefault(); //var item1 = monsters.FirstOrDefault();
var test1y = item1.Yaml; //var test1y = item1.Yaml;
var test1m = item1.Markdown; //var test1m = item1.Markdown;
var test1ym = item1.YamlMarkdown; //var test1ym = item1.YamlMarkdown;
var item2 = Item.ParseYamlMarkdown(test1ym); //var item2 = Item.ParseYamlMarkdown(test1ym);
var test2y = item2.Yaml; //var test2y = item2.Yaml;
var test2m = item2.Markdown; //var test2m = item2.Markdown;
var test2ym = item2.YamlMarkdown; //var test2ym = item2.YamlMarkdown;
var serializer = new SerializerBuilder() var items = await context.Items.ToListAsync();
.WithTagMapping("!MonsterHD", typeof(MonsterHD))
.WithTagMapping("!MonsterVO", typeof(MonsterVO))
.WithTagMapping("!Monsters", typeof(List<Monster>))
.EnsureRoundtrip()
.WithNamingConvention(new PascalCaseNamingConvention())
.Build();
var deserializer = new DeserializerBuilder()
.WithTagMapping("!MonsterHD", typeof(MonsterHD))
.WithTagMapping("!MonsterVO", typeof(MonsterVO))
.WithTagMapping("!Monsters", typeof(List<Monster>))
.WithNamingConvention(new PascalCaseNamingConvention())
.Build();
var yaml = serializer.Serialize(monsters);
var sr = new StringReader(yaml);
var deser = deserializer.Deserialize(sr);
var truc = Item.ParseYamlMarkdown(monsters.FirstOrDefault().YamlMarkdown); var matchids = new Dictionary<string, string>();
Console.WriteLine(yaml);
foreach (var item in await context.Items.ToListAsync())
{
matchids[item.Id] = Helpers.RemoveDiacritics(item.Id).Replace(".md#", "_") + ".md";
}
foreach (var item in await context.Items.ToListAsync())
{
var filename = Path.Combine(outDir, WebUtility.UrlEncode(item.NewId));
await SaveStringAsync(filename, item.YamlMarkdown);
}
//var serializer = new SerializerBuilder()
// .WithTagMapping("!MonsterHD", typeof(MonsterHD))
// .WithTagMapping("!MonsterVO", typeof(MonsterVO))
// .WithTagMapping("!Monsters", typeof(List<Monster>))
// .EnsureRoundtrip()
// .WithNamingConvention(new PascalCaseNamingConvention())
// .Build();
//var deserializer = new DeserializerBuilder()
// .WithTagMapping("!MonsterHD", typeof(MonsterHD))
// .WithTagMapping("!MonsterVO", typeof(MonsterVO))
// .WithTagMapping("!Monsters", typeof(List<Monster>))
// .WithNamingConvention(new PascalCaseNamingConvention())
// .Build();
//var yaml = serializer.Serialize(monsters);
//var sr = new StringReader(yaml);
//var deser = deserializer.Deserialize(sr);
//var truc = Item.ParseYamlMarkdown(monsters.FirstOrDefault().YamlMarkdown);
//Console.WriteLine(yaml);
} }