/// <summary> /// ������� �� ��������� ��� ��������� ��������. /// </summary> /// <param name="formatter">���������.</param> /// <param name="image">������������� ���������� ���� [img].</param> /// <returns>������������ ���.</returns> protected static string DefaultProcessImagesDelegate(TextFormatter formatter, Match image) { return formatter.ProcessImages(image); }
private static string BuildHTMLPage( IServiceProvider provider, IList<IMsg> msgs, ProgressDelegate pd, bool processSmiles, Encoding encoding) { var formatter = new TextFormatter(); var sb = new StringBuilder(); var forum = new Forum(provider); forum.LoadData(msgs[0].ForumID); sb.AppendFormat( @"<tr><td class='s' colspan='2' align='center'>{0} <font size='1'>[{1}]</font></td></tr>", forum.Description, forum.Name); string messageFormat; using (var rd = new StreamReader(Assembly.GetExecutingAssembly().GetRequiredResourceStream(_messageFormatResource))) messageFormat = rd.ReadToEnd(); var i = 0; foreach (var msg in msgs) { var formattedRating = msg.GetFormattedRating(); sb.AppendFormat( messageFormat, msg.ID, msg.Subject, msg.ParentID, SR.Forum.ExportMessages.Export2ParentLink, msg.UserNick, FormatUserClass((UserClass)msg.UserClass, true), msg.Date, string.IsNullOrEmpty(formattedRating) ? string.Empty : SR.TGColumnRate + " " + formattedRating, formatter.Format(msg.Body, processSmiles)); i++; pd(i, msgs.Count); } string exportPageFormat; using (var rd = new StreamReader(Assembly.GetExecutingAssembly().GetRequiredResourceStream(_exportPageResource))) exportPageFormat = rd.ReadToEnd(); string exportForumStyle; using (var rd = new StreamReader(Assembly.GetExecutingAssembly().GetRequiredResourceStream(_exportForumResource))) exportForumStyle = rd.ReadToEnd(); return string.Format( exportPageFormat, forum.Description + " [" + forum.Name + "]", encoding.HeaderName, exportForumStyle, sb); }
private static string GetSourceCode(string code, string ext, string source) { switch (ext) { case ".cpp": code = "[c]" + code + "[/c]"; break; case ".cs": code = "[c#]" + code + "[/c#]"; break; case ".vb": code = "[vb]" + code + "[/vb]"; break; case ".xml": case ".config": code = "[xml]" + code + "[/xml]"; break; case ".sql": code = "[sql]" + code + "[/sql]"; break; default : code = "[code]" + code + "[/code]"; break; } code = code .Replace("/*[", "[") .Replace("]*/", "]") ; code = new TextFormatter().Format(code, false); if (source.IndexOf("<a name='Person'></a>") >= 0) code = code .Replace("<Person>", "<<a class=m href=#Person>Person</a>>") .Replace(", Person>", ", <a class=m href=#Person>Person</a>>") .Replace(" Person ", " <a class='m' href=#Person>Person</a> ") .Replace(" Person()", " <a class='m' href=#Person>Person</a>()") .Replace("(Person ", "(<a class='m' href=#Person>Person</a> ") ; return code .Replace("\n", "\r\n") .Replace("\r\r\n", "\r\n") .Replace("<table width='96%'>", "<table width='100%' class='code'>") .Replace("<pre>", "<pre class='code'>") .Replace("[a]", "<span class='a'>") .Replace("[/a]", "</span>") .Replace("[link]", "<a ") .Replace("[/link]", "</a>") .Replace("[file]", "href='/Source/") .Replace("[/file]", ".htm'>") .Replace("<!--", "<span class='com'><!--") .Replace("-->", "--></span>") ; }