15f758a6f285430ffe19c8d258e2e5a7a7b92883
[wolnelektury.git] / src / wolnelektury / settings / static.py
1 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
2 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
3 #
4 from os import path
5 from .paths import VAR_DIR
6
7 # Absolute path to the directory that holds media.
8 # Example: "/home/media/media.lawrence.com/"
9 MEDIA_ROOT = path.join(VAR_DIR, 'media/')
10 STATIC_ROOT = path.join(VAR_DIR, 'static/')
11
12 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
13 # trailing slash if there is a path component (optional in other cases).
14 # Examples: "http://media.lawrence.com", "http://example.com/media/"
15 MEDIA_URL = '/media/'
16 STATIC_URL = '/static/'
17
18 IMAGE_DIR = 'book/pictures/'
19
20 # CSS and JavaScript file groups
21
22 PIPELINE = {
23     'STYLESHEETS': {
24         '2022': {
25             'source_filenames': [
26                 'contrib/jquery-ui-1.13.1.custom/jquery-ui.css',
27                 'css/jquery.countdown.css',
28
29                 '2022/styles/main.scss',
30                 '2022/more.scss',
31                 'chunks/edit.scss',
32             ],
33             'output_filename': 'css/compressed/2022.css',
34         },
35         'main': {
36             # styles both for mobile and for big screen
37             'source_filenames': [
38                 'css/import/gelasio.css',
39
40                 'css/jquery.countdown.css',
41                 'jplayer/jplayer.blue.monday.css',
42
43                 'sponsors/css/sponsors.css',
44
45                 'annoy/banner.scss',
46
47                 'css/ui-lightness/jquery-ui-1.8.16.custom.css',
48
49                 'css/tlite.css',
50
51                 'scss/main.scss',
52                 'club/club.scss',
53             ],
54             'output_filename': 'css/compressed/main.css',
55         },
56         'book': {
57             'source_filenames': [
58                 'css/import/gelasio.css',
59                 'css/master.book.css',
60             ],
61             'output_filename': 'css/compressed/book.css',
62         },
63         'book_text': {
64             'source_filenames': [
65                 'css/import/gelasio.css',
66                 'scss/book_text.scss',
67                 'css/new.book.css',
68                 'annoy/banner.scss',
69                 'annoy/book_text.scss',
70                 '2022/styles/reader_player.scss',
71
72                 'css/master.picture.css',
73             ],
74             'output_filename': 'css/compressed/book_text.css',
75         },
76         'forum': {
77             'source_filenames': [
78                 'scss/forum.scss',
79             ],
80             'output_filename': 'css/compressed/compressed/forum.css',
81         },
82         'picture': {
83             'source_filenames': [
84                 'css/import/gelasio.css',
85                 'css/master.book.css',
86                 'css/master.picture.css',
87             ],
88             'output_filename': 'css/compressed/picture.css',
89         },
90         'player': {
91             'source_filenames': [
92                 'jplayer/jplayer.blue.monday.css',
93                 'player/player.css',
94             ],
95             'output_filename': 'css/compressed/player.css',
96         },
97         'simple': {
98             'source_filenames': ('css/simple.css',),
99             'output_filename': 'css/compressed/simple.css',
100         },
101         'widget': {
102             'source_filenames': ('scss/widget.scss',),
103             'output_filename': 'css/compressed/widget.css',
104         },
105     },
106     'JAVASCRIPT': {
107         'base': {
108             'source_filenames': (
109                 'js/contrib/jquery.cycle2.min.js',
110                 'js/contrib/jquery.jqmodal.js',
111                 'js/contrib/jquery.form.js',
112                 'js/contrib/jquery.paging.min.js',
113                 'js/contrib/jquery.countdown.js', 'js/contrib/jquery.countdown-pl.js',
114                 'js/contrib/jquery.countdown-de.js', 'js/contrib/jquery.countdown-uk.js',
115                 'js/contrib/jquery.countdown-es.js', 'js/contrib/jquery.countdown-lt.js',
116                 'js/contrib/jquery.countdown-ru.js', 'js/contrib/jquery.countdown-fr.js',
117                 'js/contrib/jquery.shorten.js',
118
119                 'js/contrib/jquery-ui-1.8.16.custom.min.js',
120
121                 'js/contrib/tlite.min.js',
122
123                 'jplayer/jquery.jplayer.min.js',
124                 'jplayer/jplayer.playlist.min.js',
125                 'player/player.js',
126
127                 'js/locale.js',
128                 'js/dialogs.js',
129                 'js/base.js',
130                 'pdcounter/pdcounter.js',
131                 'sponsors/js/sponsors.js',
132                 'player/openplayer.js',
133                 'js/search.js',
134                 'funding/funding.js',
135                 'club/form.js',
136
137                 'annoy/banner.js',
138                 ),
139             'output_filename': 'js/base.min.js',
140         },
141         '2022': {
142             'source_filenames': [
143                 '2022/scripts/vendor.js',
144                 'contrib/jquery-ui-1.13.1.custom/jquery-ui.js',
145
146                 'js/search.js',
147                 'js/2022.js',
148                 '2022/book/filter.js',
149                 'chunks/edit.js',
150                 '2022/scripts/modernizr.js',
151                 '2021/scripts/main.js',
152
153                 'js/contrib/jquery.cycle2.min.js',
154                 'sponsors/js/sponsors.js',
155
156                 'js/contrib/jquery.countdown.js', 'js/contrib/jquery.countdown-pl.js',
157                 'js/contrib/jquery.countdown-de.js', 'js/contrib/jquery.countdown-uk.js',
158                 'js/contrib/jquery.countdown-es.js', 'js/contrib/jquery.countdown-lt.js',
159                 'js/contrib/jquery.countdown-ru.js', 'js/contrib/jquery.countdown-fr.js',
160                 'pdcounter/pdcounter.js',
161
162             ],
163             'output_filename': 'js/2022.min.js'
164         },
165         'player': {
166             'source_filenames': [
167                 'jplayer/jquery.jplayer.min.js',
168                 'jplayer/jplayer.playlist.min.js',
169                 'player/player.js',
170             ],
171             'output_filename': 'js/player.min.js',
172         },
173         '2022_player': {
174             'source_filenames': [
175                 'js/contrib/jplayer/jquery.jplayer.min.js',
176                 'js/contrib/jplayer/jplayer.playlist.min.js',
177                 'player/2022_player.js',
178             ],
179             'output_filename': 'js/2022_player.min.js',
180         },
181         'book': {
182             'source_filenames': [
183                 'js/contrib/jquery.eventdelegation.js',
184                 'js/contrib/jquery.scrollto.js',
185                 'js/contrib/jquery.highlightfade.js',
186                 'js/book_text/other.js',
187                 'js/book.js',
188
189                 'js/contrib/raphael-min.js',
190                 'js/contrib/progressSpin.min.js',
191                 'js/picture.js',
192             ],
193             'output_filename': 'js/book.min.js',
194         },
195         'book_text': {
196             'source_filenames': [
197                 'js/contrib/jquery.cycle2.min.js',
198                 'js/contrib/jquery.form.js',
199                 'js/contrib/jquery.jqmodal.js',
200                 'js/book_text/info.js',
201                 'js/book_text/menu.js',
202                 'js/book_text/note.js',
203                 'js/book_text/references.js',
204                 'js/book_text/settings.js',
205                 'js/book_text/toc.js',
206                 'js/locale.js',
207                 'js/dialogs.js',
208                 'annoy/book_text.js',
209
210                 'js/contrib/jquery.highlightfade.js',
211                 'js/contrib/raphael-min.js',
212                 'player/openplayer.js',
213                 'js/contrib/progressSpin.min.js',
214                 'annoy/banner.js',
215             ],
216             'output_filename': 'js/book_text.js',
217         },
218         'picture': {
219             'source_filenames': [
220                 'js/picture.js',
221             ],
222             'output_filename': 'js/picture.min.js',
223         },
224         'book_ie': {
225             'source_filenames': ('js/contrib/ierange-m2.js',),
226             'output_filename': 'js/book_ie.min.js',
227         },
228         'widget': {
229             'source_filenames': (
230                 'js/contrib/jquery.js',
231                 'js/contrib/jquery-ui-1.8.16.custom.min.js',
232                 'js/search.js',
233                 'js/widget_run.js',
234             ),
235             'output_filename': 'js/widget.min.js',
236         },
237     },
238     'CSS_COMPRESSOR': None,
239     'JS_COMPRESSOR': 'pipeline.compressors.jsmin.JSMinCompressor',
240     'COMPILERS': (
241         'libsasscompiler.LibSassCompiler',
242     )
243 }
244
245 STATICFILES_STORAGE = 'fnpdjango.pipeline_storage.GzipPipelineManifestStorage'
246
247 # PIPELINE_PYSCSS_BINARY = '/usr/bin/env pyscss'
248 # PIPELINE_PYSCSS_ARGUMENTS = ''
249
250
251 STATICFILES_FINDERS = [
252     'django.contrib.staticfiles.finders.FileSystemFinder',
253     'django.contrib.staticfiles.finders.AppDirectoriesFinder',
254     'pipeline.finders.CachedFileFinder',
255     'pipeline.finders.PipelineFinder',
256 ]