public static string ToHtml(this PublicationEntry entry)
        {
            var lang    = entry.GetLanguage();
            var builder = new StringBuilder();

            builder.Append(entry.GetAuthors().ToHtml());
            builder.Append(" ");
            builder.Append($"<span title=\"{entry.GetAbstract()}\">");
            builder.Append(Resolve(lang, "“", "«"));
            builder.Append(entry.GetTitle());
            builder.Append(Resolve(lang, "”", "»"));
            builder.Append("</span>");
            builder.Append(" //");
            if (entry.GetBookTitle() != "")
            {
                builder.Append(" " + entry.GetBookTitle() + ".");
            }
            if (entry.GetJournal() != "")
            {
                builder.Append(" " + entry.GetJournal() + ".");
            }
            if (entry.GetPublisher() != "")
            {
                builder.Append($" {Resolve(lang, "Publisher", "Издательство")}: " + entry.GetPublisher() + ".");
            }
            if (entry.GetAddress() != "")
            {
                builder.Append(" " + entry.GetAddress() + ".");
            }
            if (entry.GetOrganization() != "")
            {
                builder.Append(" " + entry.GetOrganization() + ".");
            }
            if (entry.GetIsbn() != "")
            {
                builder.Append(" ISBN:&nbsp;" + entry.GetIsbn() + ".");
            }
            if (entry.GetVolume() != "")
            {
                builder.Append($" {Resolve(lang, "Vol", "Т")}.&nbsp;" + entry.GetVolume() + ".");
            }
            if (entry.GetNumber() != "")
            {
                builder.Append($" {Resolve(lang, "No", "№")}&nbsp;" + entry.GetNumber() + ".");
            }
            if (entry.GetPages() != "")
            {
                builder.Append($" {Resolve(lang, "Pp", "Стр")}.&nbsp;" + entry.GetPages() + ".");
            }
            if (entry.GetDoi() != "")
            {
                builder.Append($" DOI:&nbsp;{entry.GetDoi()}");
            }
            var  urls  = entry.GetUrls();
            bool isVak = entry.GetKeywords().Contains("Vak");

            if (urls.Any() || isVak)
            {
                // builder.Append(" //");
                // foreach (var url in urls)
                // {
                //     var title = Resolve(lang, "Link", "Ссылка");
                //     if (url.EndsWith(".pdf"))
                //         title = "Pdf";
                //     else if (url.Contains("ieeexplore.ieee.org"))
                //         title = "IEEE";
                //     else if (url.Contains("apps.webofknowledge.com"))
                //         title = "Web of Science";
                //     else if (url.Contains("www.scopus.com"))
                //         title = "Scopus";
                //     else if (url.Contains("elibrary.ru"))
                //         title = Resolve(lang, "RSCI", "РИНЦ");
                //     else if (url.Contains("mathnet.ru"))
                //         title = "MathNet";
                //     else if (url.Contains("link.springer.com"))
                //         title = "Springer";
                //     else if (url.Contains("www.packtpub.com"))
                //         title = "PacktPub";
                //     else if (url.Contains("conf.nsc.ru") || url.Contains("uni-bielefeld.de") ||
                //              url.Contains("cmb.molgen.mpg.de") || url.Contains("sites.google.com"))
                //         title = Resolve(lang, "Conference site", "Сайт конференции");
                //     else if (url.Contains("authorea"))
                //         title = url.Substring(url.IndexOf("authorea.com", StringComparison.Ordinal)).TrimEnd('/');
                //     else if (url.Contains("scholar.google.ru"))
                //         title = "Google Scholar";
                //     builder.AppendLine($" <a href=\"{url}\">[{title}]</a>");
                // }

                // if (isVak)
                // builder.AppendLine(Resolve(lang, " [VAK]", " [ВАК]"));
            }

            return(builder.ToString());
        }