pipeline bug
[wolnelektury.git] / wolnelektury / settings / static.py
index 797433d..81e15f8 100644 (file)
@@ -1,10 +1,11 @@
 from os import path
-from settings.paths import PROJECT_DIR
+from .paths import PROJECT_DIR
 
 # Absolute path to the directory that holds media.
 # Example: "/home/media/media.lawrence.com/"
 MEDIA_ROOT = path.join(PROJECT_DIR, '../media/')
-STATIC_ROOT = path.join(PROJECT_DIR, 'static/')
+STATIC_ROOT = path.join(PROJECT_DIR, '../static/')
+SEARCH_INDEX = path.join(PROJECT_DIR, '../search_index/')
 
 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
 # trailing slash if there is a path component (optional in other cases).
@@ -12,109 +13,162 @@ STATIC_ROOT = path.join(PROJECT_DIR, 'static/')
 MEDIA_URL = '/media/'
 STATIC_URL = '/static/'
 
-# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
-# trailing slash.
-# Examples: "http://foo.com/media/", "/media/".
-ADMIN_MEDIA_PREFIX = '/admin-media/'
-
 # CSS and JavaScript file groups
-COMPRESS_CSS = {
-    'all': {
-        #'source_filenames': ('css/master.css', 'css/jquery.autocomplete.css', 'css/master.plain.css', 'css/facelist_2-0.css',),
+
+PIPELINE = {
+    'STYLESHEETS': {
+    'main': {
+        # styles both for mobile and for big screen
         'source_filenames': [
-            'css/jquery.countdown.css', 
-
-            'css/base.css',
-            'css/cite.css',
-            'css/header.css',
-            'css/main_page.css',
-            'css/dialogs.css',
-            'css/picture_box.css',
-            'css/book_box.css',
-            'css/catalogue.css',
-            'css/sponsors.css',
-            'css/logo.css',
-            'css/auth.css',
-
-            'css/social/shelf_tags.css',
+            'css/jquery.countdown.css',
+
+            'sponsors/css/sponsors.css',
+
+            'uni_form/uni-form.css',
+            'uni_form/default.uni-form.css',
+
             'css/ui-lightness/jquery-ui-1.8.16.custom.css',
+
+            'scss/main.scss',
         ],
-        'output_filename': 'css/all.min?.css',
+        'output_filename': 'css/compressed/main.css',
     },
-    'screen': {
-        'source_filenames': ['css/screen.css'],
-        'output_filename': 'css/screen.min?.css',
-        'extra_context': {
-            'media': 'screen and (min-width: 800px)',
-        },
+    'book': {
+        'source_filenames': [
+            'css/master.book.css',
+        ],
+        'output_filename': 'css/compressed/book.css',
     },
-    'ie': {
+    'book_text': {
         'source_filenames': [
-            'css/ie.css',
+            'scss/book_text.scss',
+            'css/new.book.css',
+
+            'css/master.picture.css',
         ],
-        'output_filename': 'css/ie.min?.css',
+        'output_filename': 'css/compressed/book_text.css',
     },
-    'book': {
+    'picture': {
         'source_filenames': [
-            'css/logo.css',
             'css/master.book.css',
+            'css/master.picture.css',
         ],
-        'output_filename': 'css/book.min?.css',
+        'output_filename': 'css/compressed/picture.css',
     },
     'player': {
         'source_filenames': [
-            'jplayer/jplayer.blue.monday.css', 
-            'css/player.css', 
+            'jplayer/jplayer.blue.monday.css',
+            'player/player.css',
         ],
-        'output_filename': 'css/player.min?.css',
+        'output_filename': 'css/compressed/player.css',
     },
     'simple': {
         'source_filenames': ('css/simple.css',),
-        'output_filename': 'css/simple.min?.css',
+        'output_filename': 'css/compressed/simple.css',
     },
-}
-
-COMPRESS_JS = {
+    'widget': {
+        'source_filenames': ('scss/widget.scss',),
+        'output_filename': 'css/compressed/widget.css',
+    },
+    },
+    'JAVASCRIPT': {
     'base': {
         'source_filenames': (
-            'js/jquery.cycle.min.js',
-            'js/jquery.jqmodal.js',
-            'js/jquery.form.js',
-            'js/jquery.countdown.js', 'js/jquery.countdown-pl.js',
-            'js/jquery.countdown-de.js', 'js/jquery.countdown-uk.js',
-            'js/jquery.countdown-es.js', 'js/jquery.countdown-lt.js',
-            'js/jquery.countdown-ru.js', 'js/jquery.countdown-fr.js',
+            'js/contrib/jquery.cycle.min.js',
+            'js/contrib/jquery.jqmodal.js',
+            'js/contrib/jquery.form.js',
+            'js/contrib/jquery.countdown.js', 'js/contrib/jquery.countdown-pl.js',
+            'js/contrib/jquery.countdown-de.js', 'js/contrib/jquery.countdown-uk.js',
+            'js/contrib/jquery.countdown-es.js', 'js/contrib/jquery.countdown-lt.js',
+            'js/contrib/jquery.countdown-ru.js', 'js/contrib/jquery.countdown-fr.js',
 
-            'js/jquery-ui-1.8.16.custom.min.js',
+            'js/contrib/jquery-ui-1.8.16.custom.min.js',
 
             'js/locale.js',
             'js/dialogs.js',
-            'js/sponsors.js',
             'js/base.js',
-            'js/pdcounter.js',
-
+            'pdcounter/pdcounter.js',
+            'sponsors/js/sponsors.js',
+            'player/openplayer.js',
             'js/search.js',
+            'funding/funding.js',
+
+            'uni_form/uni-form.js',
             ),
-        'output_filename': 'js/base?.min.js',
+        'output_filename': 'js/base.min.js',
     },
     'player': {
         'source_filenames': [
-            'jplayer/jquery.jplayer.min.js', 
-            'jplayer/jplayer.playlist.min.js', 
-            'js/player.js', 
+            'jplayer/jquery.jplayer.min.js',
+            'jplayer/jplayer.playlist.min.js',
+            'player/player.js',
         ],
-        'output_filename': 'js/player.min?.js',
+        'output_filename': 'js/player.min.js',
     },
     'book': {
-        'source_filenames': ('js/jquery.eventdelegation.js', 'js/jquery.scrollto.js', 'js/jquery.highlightfade.js', 'js/book.js',),
-        'output_filename': 'js/book?.min.js',
+        'source_filenames': [
+            'js/contrib/jquery.eventdelegation.js',
+            'js/contrib/jquery.scrollto.js',
+            'js/contrib/jquery.highlightfade.js',
+            'js/book_text/other.js',
+            'js/book.js',
+
+            'js/contrib/raphael-min.js',
+            'js/contrib/progressSpin.min.js',
+            'js/picture.js',
+        ],
+        'output_filename': 'js/book.min.js',
     },
-    'book_ie': {
-        'source_filenames': ('js/ierange-m2.js',),
-        'output_filename': 'js/book_ie?.min.js',
-    }
+    'book_text': {
+        'source_filenames': [
+            'js/contrib/jquery.form.js',
+            'js/contrib/jquery.jqmodal.js',
+            'js/book_text/*.js',
+            'js/locale.js',
+            'js/dialogs.js',
 
+            'js/contrib/jquery.highlightfade.js',
+            'js/contrib/raphael-min.js',
+            'player/openplayer.js',
+            'js/contrib/progressSpin.min.js',
+            'js/picture.js',
+        ],
+        'output_filename': 'js/book_text.js',
+    },
+    'book_ie': {
+        'source_filenames': ('js/contrib/ierange-m2.js',),
+        'output_filename': 'js/book_ie.min.js',
+    },
+    'widget': {
+        'source_filenames': (
+            'js/contrib/jquery.js',
+            'js/contrib/jquery-ui-1.8.16.custom.min.js',
+            'js/search.js',
+            'js/widget_run.js',
+        ),
+        'output_filename': 'js/widget.min.js',
+    },
+    },
+    'CSS_COMPRESSOR': None,
+    'JS_COMPRESSOR': 'pipeline.compressors.jsmin.JSMinCompressor',
+    'COMPILERS': (
+        'pipeline.compilers.sass.SASSCompiler',
+        # We could probably use PySCSS instead,
+        # but they have some serious problems, like:
+        # https://github.com/Kronuz/pyScss/issues/166 (empty list syntax)
+        # https://github.com/Kronuz/pyScss/issues/258 (bad @media order)
+        #'pyscss_compiler.PySCSSCompiler',
+    )
 }
 
-COMPRESS_VERSION = True
-COMPRESS_CSS_FILTERS = None
+STATICFILES_STORAGE = 'fnpdjango.utils.pipeline_storage.GzipPipelineCachedStorage'
+
+#PIPELINE_PYSCSS_BINARY = '/usr/bin/env pyscss'
+#PIPELINE_PYSCSS_ARGUMENTS = ''
+
+
+STATICFILES_FINDERS = [
+    'django.contrib.staticfiles.finders.FileSystemFinder',
+    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
+    'pipeline.finders.PipelineFinder',
+]