Чи є в Інтернеті інструмент, в який ми можемо ввести джерело HTML сторінки та зменшити код?
Я б зробив це для файлів aspx, оскільки це не гарна ідея зробити веб-сервер gzip їх ...
Чи є в Інтернеті інструмент, в який ми можемо ввести джерело HTML сторінки та зменшити код?
Я б зробив це для файлів aspx, оскільки це не гарна ідея зробити веб-сервер gzip їх ...
Відповіді:
Можливо, спробуйте HTML Compressor , ось таблиця до та після, де показано, що вона може робити (в тому числі для самого переповнення стека):
У ньому представлено безліч виборів для оптимізації ваших сторінок до включення мінімізації скриптів (ompressor, компілятор закриття Google, власний компресор), де це було б безпечно. Набір параметрів за замовчуванням є досить консервативним, тому ви можете почати з цього і експериментувати з включенням більш агресивних варіантів.
Проект надзвичайно добре задокументований та підтримується.
Не робіть цього . А точніше, якщо ви наполягаєте на цьому, робіть це після завершення будь-яких більш значущих оптимізацій сайту. Швидше за все, що вартість / вигода для цих зусиль незначна, особливо якщо ви планували вручну використовувати онлайн-інструменти для обробки кожної сторінки.
Використання YSlow або Page Speed , щоб визначити , що вам дійсно потрібно зробити , щоб оптимізувати ваші сторінки. Я здогадуюсь, що зменшення байтів HTML не буде найбільшою проблемою вашого сайту. Набагато ймовірніше, що стиснення, кеш-керування, оптимізація зображень і т. Д. Значно впливатимуть на загальну ефективність вашого сайту. Ці інструменти покажуть, які найбільші проблеми - якщо ви зіткнулися з усіма ними і все-таки виявите, що мінімізація HTML має суттєву зміну, займіться цим.
(Якщо ви впевнені, що хочете скористатися цим, і ви використовуєте Apache httpd, можете подумати про використання mod_pagespeed і включити деякі варіанти зменшення пробілу тощо, але пам'ятайте про ризики .)
white-space: pre
, а мініфікація знищить попередньо відформатований текст.
white-space:pre
, то так, мінімізація HTML була б складнішою. Однак мені не зрозуміло, чому хтось хотів би використовувати пробіл: попередньо, ніж використовувати елемент pre
або code
елемент.
Ось коротка відповідь на ваше запитання: ви повинні мінімізувати свій HTML, CSS, JS . Існує простий у користуванні інструмент, який називається grunt . Це дозволяє автоматизувати безліч завдань. Серед них JS , CSS , мініфікація HTML , конкатенація файлів та багато інших .
Відповіді, написані тут, надзвичайно застаріли або навіть іноді не мають сенсу. Багато чого змінилося зі старого 2009 року, тому я спробую відповісти на це належним чином.
Коротка відповідь - ви обов'язково повинні мінімізувати HTML . Сьогодні це банально і дає приблизно 5% швидкості . Для більш тривалої відповіді прочитайте всю відповідь
Ще в давні часи люди вручну мінімізували css / js (запускаючи його через якийсь певний інструмент для мінімізації). Автоматизувати процес було важко і, безумовно, потрібні певні навички. Знаючи, що багато сайтів високого рівня навіть зараз не використовують gzip (що тривіально), зрозуміло, що люди неохоче збиралися в мінімізації html.
То чому люди мінімізували js, але не html ? Коли ви мінімізуєте JS, ви виконуєте наступні дії:
var isUserLoggedIn
на var a
)Що дало багато покращень навіть у старі часи. Але в html ви не змогли коротко змінити довгі імена, також за цей час майже нічого не можна було коментувати. Тож єдине, що залишилося - це видалити пробіли та нові рядки. Що дає лише невелику кількість покращення.
Один неправильний аргумент, написаний тут, полягає в тому, що оскільки вміст подається з gzip, мінімізація не має сенсу. Це абсолютно неправильно. Так, має сенс, що gzip зменшує поліпшення мінімізації, але навіщо вам gzip коментарі, пробіли, якщо ви можете правильно їх обрізати та gzip лише важливою частиною. Це те саме, що якщо у вас є папка для архіву, в якій є якесь лайно, яке ви ніколи не використовуватимете, і ви вирішите просто зашпаркувати його замість того, щоб прибирати та зашпилювати.
Ще один аргумент, чому безглуздо робити мінімізацію, це те, що це нудно. Можливо, це було правдою в 2009 році, але нові інструменти з’явилися після цього часу. Зараз вам не потрібно вручну мінімізувати розмітку. З такими речами, як Grunt , тривіально встановити grunt-contrib-htmlmin (покладається на HTMLMinifier від @kangax) та налаштувати його для мінімізації вашого html. Все, що вам потрібно, це як дві години, щоб навчитися бурчати і налаштувати все, і тоді все робиться автоматично менше ніж за секунду. Звучить, що 1 секунда (яку ви навіть можете автоматизувати, щоб нічого не робити за допомогою grunt-contrib-watch ) насправді не так вже й погано для приблизно 5% покращення (навіть за допомогою gzip).
Ще один аргумент полягає в тому, що CSS і JS є статичними , а HTML генерується сервером, тому ви не можете попередньо їх мінімізувати. Це було вірно і в 2009 році, але в даний час все більше і більше сайтів виглядають як додаток на одній сторінці, де сервер є тонким, а клієнт виконує всю маршрутизацію, шаблони та іншу логіку. Отже сервер надає вам лише JSON, а клієнт надає його. Тут у вас є багато html для сторінки та різних шаблонів.
Отже, щоб закінчити свої думки:
<span>
). Перш за все, ви завжди можете знайти спосіб написати дійсний html, зробивши його пробілом agnostic. Також ви можете здивуватися, але міні-інструмент JS / CSS також може ввести помилку - це не означає, що ви не повинні ним користуватися. Отож два способи вирішити вашу проблему: навчитися писати пробіл agnostic розмітки, перевірити свій продукт до / після мінімізації (CSS / HTML / JS). Також у Minifier ви можете вказати, які білі простори потрібно зберегти.
* { white-space: pre; }
це очевидно, але якщо ви видаляєте весь пробіл, а не просто згортаєте його (замість цього замінюєте поля), текст може скопіювати неправильно та спричинити хаос у текстових браузерах та читачах екранів.
Я написав веб-інструмент для мінімізації HTML. http://prettydiff.com/?m=minify&html
Цей інструмент працює за допомогою цих правил:
style
тегу вважається CSS і мінімізується як такийscript
тегу вважається JavaScript, якщо не передбачено інший тип медіа, а потім мінімізований як такий<!--[if IE 8.0]><link rel="stylesheet" href="css/ie8.css" type="text/css" /><![endif]-->
Це працювало для мене:
http://minify.googlecode.com/git/min/lib/Minify/HTML.php
Це вже не доступний онлайн-інструмент, але бути простим PHP включати це досить просто, ви можете просто запустити його самостійно.
Я б не зберігав стислі файли, але робити це динамічно, якщо вам це дійсно доведеться, і завжди краще ввімкнути компресію сервера Gzip. Я не знаю, наскільки це пов'язано з IIS / .Net, але в PHP це так само банально, як додавання одного рядка до глобального файлу включення
CodeProject має опублікований зразок проекту ( http://www.codeproject.com/KB/aspnet/AspNetOptimizer.aspx?fid=1528916&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2794900 ) для вирішення деяких із наступних ситуацій. .
Для платформи Microsoft .NET існує бібліотека під назвою WebMarkupMin , яка виробляє мінімізацію HTML-коду.
Крім того, є модуль для інтеграції цієї бібліотеки в ASP.NET MVC - WebMarkupMin.Mvc .
спробуйте http://code.mini-tips.com/html-minifier.html , це .NET Libary для Html Minifier
HtmlCompressor - це невелика, швидка і дуже проста у використанні .NET бібліотека, яка мінімізує заданий джерело HTML або XML, видаляючи зайві пробіли, коментарі та інші непотрібні символи, не порушуючи структуру вмісту. В результаті сторінки стають меншими за розміром і швидше завантажуються. Також доступна версія командного рядка компресора.