I understand what you are saying - and believe me I have much experience
with "real-projects" that have their separate image/css/javascript folders
set in a certain way. What I'm trying to impart is the idea of de-coupling
so that plugin assets are independent of whatever system it is placed into.
By adding a %imgDir% token to CSS we're already assuming developers wants to
change CSS files whereas some might quite happily use the plugin as-is,
placing it inside a dedicated plugins sub-folder and link to the plugin css
files directly.
The point is you don't have to map the structure implanted inside a plugin
to the structure on your system. They could live quite happily together.
What we're dealing with here is a matter of aesthetics which is not
something you could get right for everyone.

If it is absolutely essential that all images/css are placed inside that
specified by the system then I think the automated tool could quite easily
handle this. It should be quite simple to write a CSS parser in Ruby or even
a simple regex to replace the combination found inside url(...) so it
replaces anything before the image filename with whatever folder structure
the system chooses.

On Sat, Oct 4, 2008 at 3:10 PM, Yehuda Katz <[EMAIL PROTECTED]> wrote:

> People who download plugins today have to go modify CSS files to make them
> match their existing directory structure. I've had to contend with this more
> than once with the tabs plugin, including having to figure out the issue in
> the first place. Typical downloaders could use the find/replace feature of
> their editors to quickly set up the CSS the way it belongs in their project,
> and we could document this, instead of developers, every time, having to go
> into the bundled CSS to figure out the expectations of the plugin.
> We could potentially also set up packages.jquery.com to automatically
> replace the token for a non-tokenized version (although, again, I think
> making assumptions about people's directory structures doesn't map well onto
> real-world projects).
>
> -- Yehuda
>
> On Fri, Oct 3, 2008 at 9:33 PM, Ca-Phun Ung <[EMAIL PROTECTED]> wrote:
>
>> A few more potential issues with the %imgDir% token are:
>> 1. Plugin developers need to remember to add the token back in every time
>> they package the plugin for release.
>>
>> 2. Those who simply download plugins without an automated tool will have a
>> problem with this token.
>>
>> 3. If we're saying that this is a separate repository under
>> packages.jquery.com, we may come into sync'ing issues as plugin
>> developers have to upload their plugins twice. One version with the token
>> and another without.
>>
>> On Sat, Oct 4, 2008 at 12:05 PM, Ca-Phun Ung <[EMAIL PROTECTED]> wrote:
>>
>>> But if we don't touch CSS and image locations we're not assuming anything
>>> - the plugin developer should make this decision and not the automation
>>> tool. The automation tool should simply copy over the plugin as is and use
>>> the metadata.json to determine what is needed for installation. If we start
>>> dealing with image and CSS re-location it will make plugin maintenance more
>>> difficult, i.e. what happens if you decide to delete the plugin?
>>>
>>>
>>>
>>> On Sat, Oct 4, 2008 at 4:34 AM, Yehuda Katz <[EMAIL PROTECTED]> wrote:
>>>
>>>> The problem is that you *can't* assume that the img folder remains
>>>> relative to the css folder. People are putting jQuery inside of other
>>>> directory structure (like Rails or Merb) which have their own conventions,
>>>> and then it's up to the individual developer to figure out how to modify 
>>>> the
>>>> relative paths.
>>>> I'd like to be able to automate the installation of jQuery plugins,
>>>> which means not having to figure this out manually.
>>>>
>>>> -- Yehuda
>>>>
>>>> On Fri, Oct 3, 2008 at 8:54 AM, Ca-Phun Ung <[EMAIL PROTECTED]>wrote:
>>>>
>>>>> Hi Yehuda,
>>>>> Interesting proposal.
>>>>>
>>>>> A note on CSS images. I'm not sure the %imageDir% token will be of any
>>>>> use in CSS because CSS is capable of locating images relative to
>>>>> itself. i.e. if we have a structure like
>>>>>
>>>>> /assets
>>>>>   -- /css/style.css
>>>>>   -- /img/logo.png
>>>>>
>>>>> Then as long as the img folder remains relative to the css folder,
>>>>> whereever it is copied the following will always hold true:
>>>>>
>>>>> _style.css_
>>>>>
>>>>>   div#logo {
>>>>>     background: url( ../img/logo.png ) no-repeat;
>>>>>   }
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Oct 3, 2008 at 2:31 PM, Yehuda Katz <[EMAIL PROTECTED]> wrote:
>>>>>
>>>>>> For a while, I've been trying to make it possible to build a system to
>>>>>> automatically install jQuery plugins into an application. In particular,
>>>>>> I've wanted to be able to let Merb (a Ruby web framework I maintain --
>>>>>> http://merbivore.com/) install jQuery plugins simply and easily.
>>>>>> There are a few problems I needed to see solved:
>>>>>>
>>>>>>    - A way for package authors to describe the locations of the
>>>>>>    javascript files, the CSS files, and any images
>>>>>>    - A way for package authors to declare required dependencies
>>>>>>    - A way to write CSS files that don't need to provide explicit
>>>>>>    image paths
>>>>>>
>>>>>> I want to propose a packaging format that plugin authors can use. To
>>>>>> get the ball rolling, I'm proposing a JSON file called metadata.json:
>>>>>>
>>>>>> {
>>>>>>   "name": "tabs.jquery",
>>>>>>   "author": "Yehuda Katz",
>>>>>>   "dependencies": [
>>>>>>     "core.ui.jquery",
>>>>>>     "mouse.ui.jquery"
>>>>>>   ],
>>>>>>   "javascript": [
>>>>>>     "lib/utility.tabs.jquery",
>>>>>>     "lib/tabs.jquery",
>>>>>>   ],
>>>>>>   "cssDir": "css",
>>>>>>   "imageDir": "images"
>>>>>> }
>>>>>>
>>>>>> Additionally, I'd like to propose that CSS files containing image
>>>>>> paths use the token %imageDir% to refer to the directory where the images
>>>>>> will be placed. This will allow automated tools (or even users 
>>>>>> themselves)
>>>>>> to quickly modify CSS files with the correct relative (or absolute) path.
>>>>>>
>>>>>> Does this stuff make sense? People seemed to be, in general, in favor
>>>>>> of a more consistent package format, so I thought I'd get the ball 
>>>>>> rolling
>>>>>> here.
>>>>>>
>>>>>> --
>>>>>> Yehuda Katz
>>>>>> Developer | Engine Yard
>>>>>> (ph) 718.877.1325
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Ca-Phun Ung
>>>>> + Yelotofu <http://yelotofu.com>
>>>>> + css, django, hongkong, html, javascript, php
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Yehuda Katz
>>>> Developer | Engine Yard
>>>> (ph) 718.877.1325
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Ca-Phun Ung
>>> + Yelotofu <http://yelotofu.com>
>>> + css, django, hongkong, html, javascript, php
>>>
>>
>>
>>
>> --
>> Ca-Phun Ung
>> + Yelotofu <http://yelotofu.com>
>> + css, django, hongkong, html, javascript, php
>>
>>
>>
>
>
> --
> Yehuda Katz
> Developer | Engine Yard
> (ph) 718.877.1325
>
> >
>


-- 
Ca-Phun Ung
+ http://yelotofu.com
+ css, django, hongkong, html, javascript, php

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-dev@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to