diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000..1b35dd8036 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src/tixlbase/static/bootstrap"] + path = src/tixlbase/static/bootstrap + url = https://github.com/twbs/bootstrap.git diff --git a/doc/development/setup.rst b/doc/development/setup.rst index 8bcb0b07ed..86fd2fdfa1 100644 --- a/doc/development/setup.rst +++ b/doc/development/setup.rst @@ -3,11 +3,18 @@ The development setup Obtain a copy of the source code -------------------------------- -Just clone our git repository:: +Just clone our git repository including its submodules:: - git clone https://github.com/tixl/tixl.git + git clone --recursive https://github.com/tixl/tixl.git cd tixl/ +Dependencies +------------ +* Python 3.4 or newer +* ``pip`` for Python 3 +* ``git`` +* ``lessc`` (Debian package: ``node-less``) + Your local python environment ----------------------------- diff --git a/src/.gitignore b/src/.gitignore index 61d9f80265..6bfabcc70c 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -8,3 +8,4 @@ *~ .ropeproject __pycache__/ +_static/ diff --git a/src/requirements.txt b/src/requirements.txt index 4cba13667d..bbcb440316 100644 --- a/src/requirements.txt +++ b/src/requirements.txt @@ -1,4 +1,9 @@ Django>=1.7 +django-compressor +BeautifulSoup4 +html5lib +slimit +lxml pyflakes pep8 pep8-naming diff --git a/src/setup.cfg b/src/setup.cfg index ec50166d36..ff9ae58768 100644 --- a/src/setup.cfg +++ b/src/setup.cfg @@ -1,5 +1,5 @@ [flake8] ignore = E128 max-line-length = 160 -exclude = tests,migrations,.ropeproject +exclude = tests,migrations,.ropeproject,static max-complexity = 12 diff --git a/src/tixl/settings.py b/src/tixl/settings.py index 2ed0090682..3060dbbbf3 100644 --- a/src/tixl/settings.py +++ b/src/tixl/settings.py @@ -39,6 +39,7 @@ INSTALLED_APPS = ( 'tixlbase', 'tixlcontrol', 'tixlpresale', + 'compressor', ) MIDDLEWARE_CLASSES = ( @@ -92,6 +93,24 @@ LOGIN_URL_CONTROL = '/control/login' STATIC_URL = '/static/' +STATIC_ROOT = '_static' + +STATICFILES_FINDERS = ( + 'django.contrib.staticfiles.finders.FileSystemFinder', + 'django.contrib.staticfiles.finders.AppDirectoriesFinder', + 'compressor.finders.CompressorFinder', +) + +COMPRESS_PRECOMPILERS = ( + ('text/less', 'lessc {infile} {outfile}'), +) + +COMPRESS_CSS_FILTERS = ( + 'compressor.filters.css_default.CssAbsoluteFilter', + 'compressor.filters.cssmin.CSSMinFilter', +) + + try: from local_settings import * except ImportError: diff --git a/src/tixl/urls.py b/src/tixl/urls.py index 1c8cc780b7..82512bd265 100644 --- a/src/tixl/urls.py +++ b/src/tixl/urls.py @@ -1,5 +1,6 @@ from django.conf.urls import patterns, include, url from django.contrib import admin +from django.conf import settings import tixlcontrol.urls @@ -8,3 +9,8 @@ urlpatterns = patterns('', url(r'^control/', include(tixlcontrol.urls, namespace='control')), url(r'^admin/', include(admin.site.urls)), ) + +if settings.DEBUG: + urlpatterns += patterns('django.contrib.staticfiles.views', + url(r'^static/(?P.*)$', 'serve'), + ) diff --git a/src/tixlbase/static/bootstrap b/src/tixlbase/static/bootstrap new file mode 160000 index 0000000000..97027a2f6f --- /dev/null +++ b/src/tixlbase/static/bootstrap @@ -0,0 +1 @@ +Subproject commit 97027a2f6fad00c4d74fbef5aef6cccb179f8229