add option to generate markdown table
This commit is contained in:
@@ -6,6 +6,7 @@ using ModpackUpdater.Manager;
|
||||
using OfficeOpenXml;
|
||||
using Pilz.UI.Extensions;
|
||||
using System.Text;
|
||||
using Telerik.WinControls;
|
||||
using Telerik.WinControls.UI;
|
||||
|
||||
namespace ModpackUpdater.Apps.Manager.Features;
|
||||
@@ -212,7 +213,46 @@ internal static class SharedFunctions
|
||||
return log.ToString().TrimEnd();
|
||||
}
|
||||
|
||||
public static ExcelPackage? GenerateModlist(InstallInfos installInfos)
|
||||
public static string GenerateModlistAsMarkdown(InstallInfos installInfos)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
sb.Append("|" + ActionsListLangRes.Col_Name);
|
||||
sb.Append("|" + ActionsListLangRes.Col_SrcTag);
|
||||
sb.Append("|" + ActionsListLangRes.Col_Side);
|
||||
sb.Append("|" + ActionsListLangRes.Col_SrcType);
|
||||
sb.Append("|" + ActionsListLangRes.Col_SrcOwner);
|
||||
sb.Append("|" + ActionsListLangRes.Col_SrcName);
|
||||
sb.AppendLine("|");
|
||||
sb.AppendLine("|---|---|---|---|---|---|");
|
||||
|
||||
// Rows
|
||||
foreach (var action in installInfos.Actions.OrderBy(n => n.Name))
|
||||
{
|
||||
if (action.IsExtra || action.IsZip || string.IsNullOrWhiteSpace(action.Id) || !action.Id.StartsWith("mod:"))
|
||||
continue;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(action.Website))
|
||||
sb.Append($"|{action.Name}");
|
||||
else
|
||||
sb.Append($"|[{action.Name}]({action.Website})");
|
||||
|
||||
if (string.IsNullOrWhiteSpace(action.SourceUrl))
|
||||
sb.Append($"|{action.SourceTag}");
|
||||
else
|
||||
sb.Append($"|[{action.SourceTag}]({action.SourceUrl})");
|
||||
|
||||
sb.Append($"|{action.Side.ToString()}");
|
||||
sb.Append($"|{action.SourceType}");
|
||||
sb.Append($"|{action.SourceOwner}");
|
||||
sb.Append($"|{action.SourceName}");
|
||||
|
||||
sb.AppendLine("|");
|
||||
}
|
||||
|
||||
return sb.ToString().TrimEnd();
|
||||
}
|
||||
|
||||
public static ExcelPackage? GenerateModlistAsExcel(InstallInfos installInfos)
|
||||
{
|
||||
var pkg = new ExcelPackage();
|
||||
var ws = pkg.Workbook.Worksheets.Add(string.Format(GeneralLangRes.Text_ModlistForVersion, installInfos.Version));
|
||||
|
||||
Reference in New Issue
Block a user