コード例 #1
0
ファイル: PartLog.cs プロジェクト: silasary/CBLoader
        private void appendPart(StringBuilder sb, PartStatus status)
        {
            var id = createId();

            sb.Append($@"<li>
                <a id=""{id}_button"" href=""#{id}"" onClick=""showHideChangelog('{id}'); return false;"">+</a>
                {pickTarget(status)}{Escape(status.Name)}{Escape(versionString(status))}
                <span id=""{id}_changelog"" style=""display: none;"">{renderChangelog(status)}</span>
            </li>");
        }
コード例 #2
0
ファイル: PartLog.cs プロジェクト: silasary/CBLoader
 private string versionString(PartStatus status)
 {
     if (status.Version == null)
     {
         return("");
     }
     if (status.FirstFoundVersion == null ||
         status.FirstFoundVersion == status.Version)
     {
         return($" v{status.Version}");
     }
     return($" v{status.FirstFoundVersion} -> v{status.Version}");
 }
コード例 #3
0
ファイル: PartLog.cs プロジェクト: silasary/CBLoader
 private string pickTarget(PartStatus status)
 {
     if (status.wasObsoleted)
     {
         return("");
     }
     if (status.wasAdded)
     {
         return("<b>(New)</b> ");
     }
     if (status.wasUpdated)
     {
         return("<b>(Updated)</b> ");
     }
     return("");
 }
コード例 #4
0
ファイル: PartLog.cs プロジェクト: silasary/CBLoader
        public void AddModule(PartStatus status)
        {
            if (processedModules.Contains(status.FullName))
            {
                return;
            }
            processedModules.Add(status.FullName);

            if (status.wasMerged)
            {
                appendPart(mergedModules, status);
            }
            else if (status.wasObsoleted)
            {
                appendPart(obsoletedModules, status);
            }
        }
コード例 #5
0
ファイル: PartLog.cs プロジェクト: silasary/CBLoader
        private string renderChangelog(PartStatus status)
        {
            if (status.Changelog == null)
            {
                return("<ul><li><i>No changelog available</i></li></ul>");
            }

            var sb    = new StringBuilder();
            var split = status.Changelog.Split('\n');

            Array.Reverse(split);
            foreach (var line in split.Select(x => x.Trim()).Where(x => x != ""))
            {
                sb.Append($"<li>{Escape(line)}</li>");
            }
            return($"<ul>{sb}</ul>");
        }