X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/5eeb9dace6068f83e2b70b5222cfab0c0a5e71eb..3306216e9d0c249c2699275aad212a7c4c3cc4a7:/wolnelektury/settings/static.py diff --git a/wolnelektury/settings/static.py b/wolnelektury/settings/static.py index 188400dc9..81e15f82b 100644 --- a/wolnelektury/settings/static.py +++ b/wolnelektury/settings/static.py @@ -1,10 +1,10 @@ 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 @@ -13,109 +13,162 @@ SEARCH_INDEX = path.join(PROJECT_DIR, '../search_index/') 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', +]