js.yui 2.8.2-1
fanstatic YUI
License: BSD

js.yui
******

Introduction
============

This library packages `YUI`_ for `fanstatic`_. It is aware of YUI's
structure and different modes (normal, minified, debug).

.. _`fanstatic`: http://fanstatic.org
.. _`YUI`: http://developer.yahoo.com/yui/

This requires integration between your web framework and ``fanstatic``,
and making sure that the original resources (shipped in the ``resources``
directory in ``js.yui``) are published to some URL.

js.yui basic tests
==================

Here are some basic tests for js.yui.

Let's check the YUI structure by picking out a resource in it::

  >>> import js.yui
  >>> from fanstatic import init_needed
  >>> needed = init_needed(base_url='http://localhost')
  >>> needed.need(js.yui.fonts)
  >>> print needed.render()
  <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/yui/fonts/fonts.css" />

Let's try a resource that has a dependency on fonts, namely
``grids``::

  >>> needed = init_needed(base_url='http://localhost')
  >>> needed.need(js.yui.grids)
  >>> print needed.render()
  <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/yui/fonts/fonts.css" />
  <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/yui/grids/grids.css" />

Let's need two resources at the same time::

  >>> needed = init_needed(base_url='http://localhost')
  >>> needed.need(js.yui.grids)
  >>> needed.need(js.yui.reset)
  >>> print needed.render()
  <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/yui/fonts/fonts.css" />
  <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/yui/reset/reset.css" />
  <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/yui/grids/grids.css" />

Let's get the same, minified::

  >>> needed = init_needed(base_url='http://localhost', minified=True)
  >>> needed.need(js.yui.grids)
  >>> needed.need(js.yui.reset)
  >>> print needed.render()
  <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/yui/fonts/fonts-min.css" />
  <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/yui/reset/reset-min.css" />
  <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/yui/grids/grids-min.css" />

Now let's try to see consolidation: we include grids and reset at the
same time. Since this time we enable rolling up, we expect to see the
rollup ``reset-fonts-grids``::

  >>> needed = init_needed(
  ...     base_url='http://localhost', rollup=True)
  >>> needed.need(js.yui.grids)
  >>> needed.need(js.yui.reset)
  >>> print needed.render()
  <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/yui/reset-fonts-grids/reset-fonts-grids.css" />

Requesting minification has no effect on rollups, as the original
rollup is already minified::

  >>> needed = init_needed(
  ...     base_url='http://localhost', rollup=True, minified=True)
  >>> needed.need(js.yui.grids)
  >>> needed.need(js.yui.reset)
  >>> print needed.render()
  <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/yui/reset-fonts-grids/reset-fonts-grids.css" />


CHANGES
*******

2.8.2-1 (2011-04-13)
====================

- Update to fanstatic 0.11.1.

- No longer list the resources it self as it's own minified version.

2.8.2 (2011-01-07)
==================

- Rewrote `hurry.yui`_ to use `fanstatic`_ instead of `hurry.resource`_.

- Use YUI version 2.8.2.

.. _`hurry.yui`: http://pypi.python.org/pypi/hurry.yui
.. _`hurry.resource`: http://pypi.python.org/pypi/hurry.resource
.. _`fanstatic`: http://fanstatic.org