static: get rid of django-compress
This commit is contained in:
parent
d11cc5bd25
commit
7cec799cfa
|
@ -1,13 +1,10 @@
|
|||
/.direnv
|
||||
/.hugo_build.lock
|
||||
|
||||
/resources/_gen
|
||||
/public
|
||||
/result
|
||||
|
||||
__pycache__
|
||||
/static/style.css
|
||||
/app/_static
|
||||
|
||||
db.sqlite3
|
||||
vm.qcow2
|
||||
|
||||
__pycache__
|
||||
/.pre-commit-config.yaml
|
||||
result
|
||||
|
|
|
@ -5,8 +5,7 @@ from os import environ
|
|||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
|
||||
_DEBUG = bool(environ.get('E11SYNC_DEBUG', False))
|
||||
_COMPRESS_OFFLINE = bool(environ.get('E11SYNC_COMPRESS_OFFLINE', False))
|
||||
_STATIC_ROOT = environ.get('E11SYNC_STATIC_ROOT', '/tmp/e11sync-static')
|
||||
_STATIC_ROOT = environ.get('E11SYNC_STATIC_ROOT', BASE_DIR / '_static')
|
||||
_GEOIP_PATH = environ.get('GEOIP_PATH')
|
||||
if db := environ.get('E11SYNC_DATABASE_PATH'):
|
||||
_DATABASE_PATH = db
|
||||
|
@ -25,7 +24,6 @@ else:
|
|||
if not environ.get("E11SYNC_DEBUG_PRINTED"):
|
||||
print("DEBUG={}".format(_DEBUG))
|
||||
print(secret_key_msg)
|
||||
print("COMPRESS_OFFLINE={}".format(_COMPRESS_OFFLINE))
|
||||
print("STATIC_ROOT={}".format(_STATIC_ROOT))
|
||||
print("GEOIP_PATH={}".format(_GEOIP_PATH))
|
||||
print("DATABASE_PATH={}".format(_DATABASE_PATH))
|
||||
|
@ -45,7 +43,6 @@ INTERNAL_IPS = ["127.0.0.1"]
|
|||
# Application definition
|
||||
|
||||
INSTALLED_APPS = (['debug_toolbar'] if DEBUG else []) + [
|
||||
'compressor',
|
||||
'e11sync.apps.E11SyncConfig',
|
||||
'signup.apps.SignupConfig',
|
||||
|
||||
|
@ -115,34 +112,16 @@ STATIC_URL = 'static/'
|
|||
|
||||
STATICFILES_FINDERS = [
|
||||
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
|
||||
"compressor.finders.CompressorFinder",
|
||||
]
|
||||
|
||||
STATIC_ROOT = _STATIC_ROOT
|
||||
|
||||
# At the time of testing:
|
||||
# main-full.css: 34K
|
||||
# main-mini.css: 49K
|
||||
# main-full.css.br: 5.0K
|
||||
# main-mini.css.br: 7.1K
|
||||
#
|
||||
# Minifying those files will necessitate sourcemaps, which
|
||||
# is not currently possible due to
|
||||
# https://github.com/django-compressor/django-compressor/issues/438
|
||||
# Since the savings with minification are not that huge, let's keep
|
||||
# it a bir larger, but much simpler.
|
||||
COMPRESS_ENABLED = True
|
||||
|
||||
COMPRESS_OFFLINE = _COMPRESS_OFFLINE
|
||||
|
||||
COMPRESS_FILTERS = {
|
||||
'css': [],
|
||||
'js': [],
|
||||
_storage = 'django.contrib.staticfiles.storage'
|
||||
STORAGES = {
|
||||
"staticfiles": {
|
||||
"BACKEND": _storage + ".ManifestStaticFilesStorage",
|
||||
},
|
||||
}
|
||||
|
||||
COMPRESS_PRECOMPILERS = (
|
||||
('text/x-scss', 'sass --no-source-map {infile} {outfile}'),
|
||||
)
|
||||
STATIC_ROOT = _STATIC_ROOT
|
||||
|
||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../../../static/style.css
|
|
@ -1,13 +1,11 @@
|
|||
{% load compress static %}
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{% block "title" %}11sync.net{% endblock %}</title>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
{% compress css %}
|
||||
<link rel="stylesheet" type="text/x-scss" href="{% static "style.scss" %}">
|
||||
{% endcompress %}
|
||||
<link rel="stylesheet" type="text/css" href="{% static "style.css" %}">
|
||||
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
|
||||
</head>
|
||||
<body id="page-{% block "pagename" %}{% endblock %}">
|
||||
|
|
|
@ -98,7 +98,6 @@
|
|||
(python3.withPackages
|
||||
(ps: [
|
||||
ps.django
|
||||
ps.django-compressor
|
||||
ps.geoip2
|
||||
|
||||
ps.django-debug-toolbar
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
python3.withPackages
|
||||
(ps: [
|
||||
ps.django
|
||||
ps.django-compressor
|
||||
ps.geoip2
|
||||
]);
|
||||
in
|
||||
|
@ -51,13 +50,12 @@ in
|
|||
--set E11SYNC_DATABASE_PATH "${databasePath}" \
|
||||
''} \
|
||||
--set E11SYNC_STATIC_ROOT "${e11sync-static.passthru.manifest}" \
|
||||
--set E11SYNC_COMPRESS_OFFLINE 1 \
|
||||
--set E11SYNC_DEBUG "" \
|
||||
--set GEOIP_PATH "${geoip-mmdb}" \
|
||||
'';
|
||||
passthru.tests.unit =
|
||||
runCommand "e11sync-test" {
|
||||
src = ../app;
|
||||
srcs = ../app;
|
||||
buildInputs = [
|
||||
pythonEnv
|
||||
dart-sass
|
||||
|
@ -66,6 +64,7 @@ in
|
|||
unpackPhase
|
||||
patchShebangs --build app/manage.py
|
||||
export GEOIP_PATH="${geoip-mmdb}"
|
||||
export E11SYNC_STATIC_ROOT="${e11sync-static.passthru.manifest}"
|
||||
app/manage.py test app
|
||||
mkdir -p $out
|
||||
'';
|
||||
|
|
|
@ -9,33 +9,31 @@
|
|||
}: let
|
||||
self = stdenv.mkDerivation {
|
||||
name = "e11sync-static";
|
||||
src = ../app;
|
||||
srcs = [../app ../static];
|
||||
sourceRoot = ".";
|
||||
nativeBuildInputs = [
|
||||
python3Packages.django
|
||||
python3Packages.django-compressor
|
||||
dart-sass
|
||||
findutils
|
||||
];
|
||||
patchPhase = ''patchShebangs --build manage.py'';
|
||||
patchPhase = ''patchShebangs --build app/manage.py'';
|
||||
buildPhase = ''
|
||||
export E11SYNC_STATIC_ROOT=$PWD/static
|
||||
export E11SYNC_DEBUG=
|
||||
export E11SYNC_COMPRESS_OFFLINE=1
|
||||
./manage.py collectstatic
|
||||
./manage.py compress
|
||||
make -C static style.css
|
||||
app/manage.py collectstatic
|
||||
|
||||
find static/ \
|
||||
find app/_static \
|
||||
-name '*.css' -or \
|
||||
-name '*.js' -or \
|
||||
-name '*.svg' | \
|
||||
tee >(xargs -n1 -P''$(nproc) ${zopfli}/bin/zopfli) | \
|
||||
xargs -n1 -P''$(nproc) ${brotli}/bin/brotli
|
||||
'';
|
||||
installPhase = ''mv static $out'';
|
||||
installPhase = ''mv app/_static $out'';
|
||||
|
||||
passthru.manifest = runCommand "e11sync-static-manifest" {} ''
|
||||
mkdir -p $out/CACHE
|
||||
cp ${self}/CACHE/manifest.json $out/CACHE/
|
||||
mkdir -p $out
|
||||
cp ${self}/staticfiles.json $out/
|
||||
'';
|
||||
};
|
||||
in
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
style.css: style.scss grids-responsive.css pure.css
|
||||
sass --no-source-map $< $@
|
Loading…
Reference in New Issue