Correct MIME Type for JSON + losslessly compressed images #184

Closed
wants to merge 2 commits into
from

2 participants

@alrra
  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)
    
@mjtamlyn
Django member

The first commit I think is definitely good and should be merged. I know nothing about the images, they look ok to me but I think someone with design or front end fu should take a look. @idan?

@alrra alrra closed this Jan 22, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment