django/django — pull request #184 by alrra (2012-07-05 05:35:29+00:00)
Title: Correct MIME Type for JSON + losslessly compressed images

1. Changed the MIME type for JSON from "text/javascript" to the correct "application/json".
(More information: http://www.ietf.org/rfc/rfc4627.txt)

2. Losslessly compressed all images
(More information: http://www.bookofspeed.com/chapter5.html)

and, If you like stats:

```
django/docs/internals/_images/djangotickets.png:

-> before: 52003 bytes
-> after: 38782 bytes
-> reduction: 25.42% (13221 bytes)

django/docs/intro/_images/admin03.png:

-> before: 75434 bytes
-> after: 54150 bytes
-> reduction: 28.22% (21284 bytes)

django/docs/intro/_images/admin05t.png:

-> before: 19062 bytes
-> after: 17212 bytes
-> reduction: 9.71% (1850 bytes)

django/docs/intro/_images/admin04t.png:

-> before: 19496 bytes
-> after: 16688 bytes
-> reduction: 14.40% (2808 bytes)

django/docs/intro/_images/admin06t.png:

-> before: 13305 bytes
-> after: 12434 bytes
-> reduction: 6.55% (871 bytes)

django/docs/intro/_images/admin05.png:

-> before: 23663 bytes
-> after: 20285 bytes
-> reduction: 14.28% (3378 bytes)

django/docs/intro/_images/admin09.png:

-> before: 11956 bytes
-> after: 10290 bytes
-> reduction: 13.93% (1666 bytes)

django/docs/intro/_images/admin08.png:

-> before: 25871 bytes
-> after: 22272 bytes
-> reduction: 13.91% (3599 bytes)

django/docs/intro/_images/admin12t.png:

-> before: 17414 bytes
-> after: 13314 bytes
-> reduction: 23.54% (4100 bytes)

django/docs/intro/_images/admin11.png:

-> before: 33276 bytes
-> after: 28235 bytes
-> reduction: 15.15% (5041 bytes)

django/docs/intro/_images/admin04.png:

-> before: 16006 bytes
-> after: 13641 bytes
-> reduction: 14.78% (2365 bytes)

django/docs/intro/_images/admin02t.png:

-> before: 24726 bytes
-> after: 20940 bytes
-> reduction: 15.31% (3786 bytes)

django/docs/intro/_images/admin03t.png:

-> before: 28131 bytes
-> after: 24363 bytes
-> reduction: 13.39% (3768 bytes)

django/docs/intro/_images/admin07.png:

-> before: 15209 bytes
-> after: 12511 bytes
-> reduction: 17.74% (2698 bytes)

django/docs/intro/_images/admin08t.png:

-> before: 20224 bytes
-> after: 18580 bytes
-> reduction: 8.13% (1644 bytes)

django/docs/intro/_images/admin13t.png:

-> before: 14289 bytes
-> after: 14289 bytes
-> reduction: 0.00% (0 bytes)

django/docs/intro/_images/admin06.png:

-> before: 17441 bytes
-> after: 14685 bytes
-> reduction: 15.80% (2756 bytes)

django/docs/intro/_images/admin01.png:

-> before: 18233 bytes
-> after: 11160 bytes
-> reduction: 38.79% (7073 bytes)

django/docs/intro/_images/admin11t.png:

-> before: 19619 bytes
-> after: 18169 bytes
-> reduction: 7.39% (1450 bytes)

django/docs/intro/_images/admin14.png:

-> before: 22543 bytes
-> after: 22543 bytes
-> reduction: 0.00% (0 bytes)

django/docs/intro/_images/admin14t.png:

-> before: 17256 bytes
-> after: 17256 bytes
-> reduction: 0.00% (0 bytes)

django/docs/intro/_images/admin13.png:

-> before: 18327 bytes
-> after: 18327 bytes
-> reduction: 0.00% (0 bytes)

django/docs/intro/_images/admin12.png:

-> before: 10816 bytes
-> after: 9424 bytes
-> reduction: 12.87% (1392 bytes)

django/docs/intro/_images/admin10.png:

-> before: 11645 bytes
-> after: 9399 bytes
-> reduction: 19.29% (2246 bytes)

django/docs/intro/_images/admin02.png:

-> before: 64260 bytes
-> after: 45433 bytes
-> reduction: 29.30% (18827 bytes)

django/docs/ref/contrib/admin/_images/users_changelist.png:

-> before: 59355 bytes
-> after: 55716 bytes
-> reduction: 6.13% (3639 bytes)

django/docs/ref/contrib/admin/_images/user_actions.png:

-> before: 27047 bytes
-> after: 24291 bytes
-> reduction: 10.19% (2756 bytes)

django/docs/ref/contrib/admin/_images/article_actions_message.png:

-> before: 22098 bytes
-> after: 19342 bytes
-> reduction: 12.47% (2756 bytes)

django/docs/ref/contrib/admin/_images/article_actions.png:

-> before: 38545 bytes
-> after: 32494 bytes
-> reduction: 15.70% (6051 bytes)

django/docs/ref/contrib/admin/_images/flatfiles_admin.png:

-> before: 42243 bytes
-> after: 37076 bytes
-> reduction: 12.23% (5167 bytes)

django/docs/_theme/djangodocs/static/docicons-behindscenes.png:

-> before: 2269 bytes
-> after: 1313 bytes
-> reduction: 42.13% (956 bytes)

django/docs/_theme/djangodocs/static/docicons-philosophy.png:

-> before: 1523 bytes
-> after: 962 bytes
-> reduction: 36.84% (561 bytes)

django/docs/_theme/djangodocs/static/docicons-note.png:

-> before: 1013 bytes
-> after: 596 bytes
-> reduction: 41.16% (417 bytes)

django/docs/obsolete/_images/objecttools_01.png:

-> before: 1398 bytes
-> after: 882 bytes
-> reduction: 36.91% (516 bytes)

django/docs/obsolete/_images/formrow.png:

-> before: 16601 bytes
-> after: 10345 bytes
-> reduction: 37.68% (6256 bytes)

django/docs/obsolete/_images/module.png:

-> before: 10072 bytes
-> after: 6115 bytes
-> reduction: 39.29% (3957 bytes)

django/docs/obsolete/_images/objecttools_02.png:

-> before: 2268 bytes
-> after: 1415 bytes
-> reduction: 37.61% (853 bytes)

django/docs/topics/_images/django_unittest_classes_hierarchy.png:

-> before: 11757 bytes
-> after: 11757 bytes
-> reduction: 0.00% (0 bytes)

django/docs/topics/http/_images/middleware.png:

-> before: 56301 bytes
-> after: 37056 bytes
-> reduction: 34.18% (19245 bytes)

django/tests/regressiontests/file_storage/test.png:

-> before: 482 bytes
-> after: 358 bytes
-> reduction: 25.73% (124 bytes)

django/tests/regressiontests/file_storage/test1.png:

-> before: 480 bytes
-> after: 351 bytes
-> reduction: 26.88% (129 bytes)

django/tests/regressiontests/model_fields/8x4.png:

-> before: 87 bytes
-> after: 73 bytes
-> reduction: 16.09% (14 bytes)

django/tests/regressiontests/model_fields/4x8.png:

-> before: 87 bytes
-> after: 73 bytes
-> reduction: 16.09% (14 bytes)

django/tests/regressiontests/bug639/test.jpg:

-> before: 1780 bytes
-> after: 1328 bytes
-> reduction: 25.39% (452 bytes)

django/tests/regressiontests/staticfiles_tests/project/documents/cached/css/img/window.png:

-> before: 207 bytes
-> after: 204 bytes
-> reduction: 1.45% (3 bytes)

django/tests/regressiontests/staticfiles_tests/project/documents/cached/img/relative.png:

-> before: 207 bytes
-> after: 204 bytes
-> reduction: 1.45% (3 bytes)

django/tests/modeltests/model_forms/test.png:

-> before: 482 bytes
-> after: 358 bytes
-> reduction: 25.73% (124 bytes)

django/tests/modeltests/model_forms/test2.png:

-> before: 2072 bytes
-> after: 1897 bytes
-> reduction: 8.45% (175 bytes)

django/django/contrib/admin/static/admin/img/default-bg-reverse.gif:

-> before: 843 bytes
-> after: 835 bytes
-> reduction: 0.95% (8 bytes)

django/django/contrib/admin/static/admin/img/selector-icons.gif:

-> before: 2771 bytes
-> after: 2771 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/inline-restore.png:

-> before: 623 bytes
-> after: 410 bytes
-> reduction: 34.19% (213 bytes)

django/django/contrib/admin/static/admin/img/icon-no.gif:

-> before: 176 bytes
-> after: 176 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/icon_alert.gif:

-> before: 145 bytes
-> after: 145 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/selector-search.gif:

-> before: 552 bytes
-> after: 552 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/gis/move_vertex_on.png:

-> before: 506 bytes
-> after: 332 bytes
-> reduction: 34.39% (174 bytes)

django/django/contrib/admin/static/admin/img/gis/move_vertex_off.png:

-> before: 711 bytes
-> after: 489 bytes
-> reduction: 31.22% (222 bytes)

django/django/contrib/admin/static/admin/img/chooser_stacked-bg.gif:

-> before: 212 bytes
-> after: 204 bytes
-> reduction: 3.77% (8 bytes)

django/django/contrib/admin/static/admin/img/inline-splitter-bg.gif:

-> before: 102 bytes
-> after: 94 bytes
-> reduction: 7.84% (8 bytes)

django/django/contrib/admin/static/admin/img/inline-restore-8bit.png:

-> before: 447 bytes
-> after: 366 bytes
-> reduction: 18.12% (81 bytes)

django/django/contrib/admin/static/admin/img/inline-delete.png:

-> before: 781 bytes
-> after: 550 bytes
-> reduction: 29.58% (231 bytes)

django/django/contrib/admin/static/admin/img/inline-delete-8bit.png:

-> before: 477 bytes
-> after: 396 bytes
-> reduction: 16.98% (81 bytes)

django/django/contrib/admin/static/admin/img/tool-right_over.gif:

-> before: 200 bytes
-> after: 192 bytes
-> reduction: 4.00% (8 bytes)

django/django/contrib/admin/static/admin/img/nav-bg-selected.gif:

-> before: 265 bytes
-> after: 265 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/icon_clock.gif:

-> before: 390 bytes
-> after: 390 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/tool-right.gif:

-> before: 198 bytes
-> after: 190 bytes
-> reduction: 4.04% (8 bytes)

django/django/contrib/admin/static/admin/img/chooser-bg.gif:

-> before: 199 bytes
-> after: 191 bytes
-> reduction: 4.02% (8 bytes)

django/django/contrib/admin/static/admin/img/tool-left_over.gif:

-> before: 203 bytes
-> after: 195 bytes
-> reduction: 3.94% (8 bytes)

django/django/contrib/admin/static/admin/img/changelist-bg.gif:

-> before: 58 bytes
-> after: 50 bytes
-> reduction: 13.79% (8 bytes)

django/django/contrib/admin/static/admin/img/icon_error.gif:

-> before: 319 bytes
-> after: 319 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/nav-bg-reverse.gif:

-> before: 186 bytes
-> after: 178 bytes
-> reduction: 4.30% (8 bytes)

django/django/contrib/admin/static/admin/img/nav-bg.gif:

-> before: 273 bytes
-> after: 265 bytes
-> reduction: 2.93% (8 bytes)

django/django/contrib/admin/static/admin/img/deleted-overlay.gif:

-> before: 45 bytes
-> after: 45 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/nav-bg-grabber.gif:

-> before: 116 bytes
-> after: 116 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/icon_searchbox.png:

-> before: 667 bytes
-> after: 609 bytes
-> reduction: 8.70% (58 bytes)

django/django/contrib/admin/static/admin/img/sorting-icons.gif:

-> before: 369 bytes
-> after: 369 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/tooltag-arrowright_over.gif:

-> before: 354 bytes
-> after: 346 bytes
-> reduction: 2.26% (8 bytes)

django/django/contrib/admin/static/admin/img/icon-yes.gif:

-> before: 299 bytes
-> after: 299 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/icon_success.gif:

-> before: 341 bytes
-> after: 341 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/tooltag-add.gif:

-> before: 932 bytes
-> after: 325 bytes
-> reduction: 65.13% (607 bytes)

django/django/contrib/admin/static/admin/img/changelist-bg_rtl.gif:

-> before: 75 bytes
-> after: 50 bytes
-> reduction: 33.33% (25 bytes)

django/django/contrib/admin/static/admin/img/icon-unknown.gif:

-> before: 130 bytes
-> after: 130 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/icon_deletelink.gif:

-> before: 181 bytes
-> after: 181 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/tool-left.gif:

-> before: 197 bytes
-> after: 189 bytes
-> reduction: 4.06% (8 bytes)

django/django/contrib/admin/static/admin/img/icon_changelink.gif:

-> before: 119 bytes
-> after: 119 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/default-bg.gif:

-> before: 844 bytes
-> after: 836 bytes
-> reduction: 0.95% (8 bytes)

django/django/contrib/admin/static/admin/img/icon_calendar.gif:

-> before: 192 bytes
-> after: 192 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/icon_addlink.gif:

-> before: 119 bytes
-> after: 119 bytes
-> reduction: 0.00% (0 bytes)

django/django/contrib/admin/static/admin/img/tooltag-add_over.gif:

-> before: 336 bytes
-> after: 328 bytes
-> reduction: 2.38% (8 bytes)

django/django/contrib/admin/static/admin/img/tooltag-arrowright.gif:

-> before: 351 bytes
-> after: 343 bytes
-> reduction: 2.28% (8 bytes)

********************************************************************

Total:

-> before: 924883 bytes
-> after: 763080 bytes
-> reduction: 17.49% (161803 bytes)
```