SmartSprites
  1. SmartSprites
  2. SMARTSPRITES-37

Add support for processing individual CSS files

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.2.4
    • Labels:
      None

      Description

      Motivation

      Currently SmartSprites tries to process every CSS file it finds in the root-dir-path, which may lead to weird results, e.g. processing SVN metadata files stored in the .svn dir. One way of avoiding these kinds of problems would be to pass explicitly a list of CSS files to be processed.

      Implementation

      SmartSprites should support processing individual CSS files. Exact implementation would depend on SmartSprites invocation mode:

      As an Ant task
      SmartSprites task would take a nested resource definition element defining the CSS files to be processed. An example invocation of the smartsprites target would look like this:

      <smartsprites>
        <fileset dir="assets/css">
           <include name="to-sprite*.css" />
        </fileset>
      </smartsprites>
      

      As a command line program
      SmartSprites would accept a --css-files option that would take a list of CSS file paths to process, e.g.:

      smartsprites.sh --css-files assets/css/to-sprite*.css

      Note that SmartSprites would assume that wildcard expansion had already been done by the shell interpreter.

      If individual CSS file paths are provided, the root-dir-path parameter becomes optional. If root-dir-path parameter is not specified:

      • SmartSprites should process all CSS file paths provided on input
      • sprited CSS files should be saved in the same directory as the corresponding source CSS files, with the file suffix as specified in the css-file-suffix parameter
      • if css-file-suffix parameter is set to a blank string, SmartSprites should report an error
      • if output-dir-path parameter is provided, SmartSprites should report an error

      If root-dir-path parameter is specified:

      • SmartSprites should process only those CSS file paths that are contained in root-dir-path. For each CSS file path outside of root-dir-path, SmartSprites should report a warning and ignore the file.
      • all other processing should take place as in the current version of SmartSprites. In particular, output-dir-path parameter should be available and handled according to the specification.

      Discussion

      • Q: should SmartSprites attempt to process all files passed on input or just the ones with *.css extension?
      • A: all requested files should be processed. The motivation for this is that there may be designs that for some reason keep CSS in files not ending with the *.css extension, which would cause extra problems if only *.css files are read.

      This feature was suggested by Chupa in this thread on the discussion group.

        Issue Links

          Activity

          Hide
          Kevin Vanderbeken added a comment -

          Ah i see. Yes this would avoid any possible inclusion of the wrong files or subfolders if that restriction is required.

          Show
          Kevin Vanderbeken added a comment - Ah i see. Yes this would avoid any possible inclusion of the wrong files or subfolders if that restriction is required.
          Hide
          Stanisław Osiński added a comment -

          Mylyn context

          Show
          Stanisław Osiński added a comment - Mylyn context
          Hide
          Stanisław Osiński added a comment -

          Implemented in trunk, available for download from:

          http://download.smartsprites.osinski.name/smartsprites-0.2.4-dev.zip

          Show
          Stanisław Osiński added a comment - Implemented in trunk, available for download from: http://download.smartsprites.osinski.name/smartsprites-0.2.4-dev.zip
          Hide
          Stanisław Osiński added a comment -

          Closing for the 0.2.4 release.

          Show
          Stanisław Osiński added a comment - Closing for the 0.2.4 release.

            People

            • Assignee:
              Stanisław Osiński
              Reporter:
              Stanisław Osiński
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 8h Original Estimate - 8h
                8h
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 11.25h
                11.25h

                  Development