ASP.NET MVC "Tidy" HTML на лету - PullRequest
4 голосов
/ 25 июля 2010

Мне интересно, есть ли какой-нибудь инструмент для Tidy HTML на лету.

В настоящее время в моем приложении я использую MasterPage, а затем мои представления загружаются вГлавная страница.Проблема в том, что <asp:content runat="server" ... /> всегда добавляет дополнительные пробелы / разрывы строк в выходном HTML.

Что я действительно хотел бы сделать, так это очистить его так, чтобы

<title>
    This is my title

</title>

выгляделокак

<title>This is my title</title>

Теперь я понимаю, что могу пройти и установить

<asp:content ID="Content1" runat="server" ContentPlaceHolderID="TitleContent">This is my title</asp:content>

Но это становится болью, потому что я часто использую Ctrl + k + d , что приводит к нежелательному переформатированию.

Более того, когда я использую встроенный код, такой как

 <asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">User <%: Model.UserName%> - Urban Now</asp:Content>

, и использую клавишу «переформатирование»штрихи, то есть также разрывы строк до и после <%: Model.UserName%>, и нет никакого способа установить это форматирование в «Инструменты / Параметры / Форматирование -> Параметры, специфичные для тегов» (по крайней мере, я не могу найти).

1 Ответ

1 голос
/ 16 июля 2011

TidyManaged - это управляемая оболочка .NET / Mono для кроссплатформенной библиотеки Tidy с открытым исходным кодом, анализатора и очистителя разметки HTML / XHTML / XML, первоначально созданная Дэйвом Раггеттом.

Пример использования

using System;
using TidyManaged;

public class Test
{
  public static void Main(string[] args)
  {
    using (Document doc = Document.FromString("<hTml><title>test</tootle><body>asd</body>"))
    {
      doc.ShowWarnings = false;
      doc.Quiet = true;
      doc.OutputXhtml = true;
      doc.CleanAndRepair();
      string parsed = doc.Save();
      Console.WriteLine(parsed);
    }
  }
}

Результат:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content=
"HTML Tidy for Mac OS X (vers 31 October 2006 - Apple Inc. build 13), see www.w3.org" />
<title>test</title>
</head>
<body>
asd
</body>
</html>

Обратите внимание, что <title>test</tootle> заменено на правильное <title>test</title>.

https://github.com/markbeaton/TidyManaged

...