forked from mirrors/bookwyrm
Merge pull request #1994 from bookwyrm-social/theme-file
Adds custom compile management command
This commit is contained in:
commit
723ec8d461
4 changed files with 35 additions and 7 deletions
32
bookwyrm/management/commands/compilethemes.py
Normal file
32
bookwyrm/management/commands/compilethemes.py
Normal file
|
@ -0,0 +1,32 @@
|
|||
""" Compile themes """
|
||||
import os
|
||||
from django.contrib.staticfiles.utils import get_files
|
||||
from django.contrib.staticfiles.storage import StaticFilesStorage
|
||||
from django.core.files.base import ContentFile
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
import sass
|
||||
from sass_processor.processor import SassProcessor
|
||||
|
||||
# pylint: disable=line-too-long
|
||||
class Command(BaseCommand):
|
||||
"""Compile themes"""
|
||||
|
||||
help = "Compile theme scss files"
|
||||
|
||||
# pylint: disable=no-self-use,unused-argument
|
||||
def handle(self, *args, **options):
|
||||
"""compile themes"""
|
||||
storage = StaticFilesStorage()
|
||||
theme_files = list(get_files(storage, location="css/themes"))
|
||||
theme_files = [t for t in theme_files if t[-5:] == ".scss"]
|
||||
for filename in theme_files:
|
||||
path = storage.path(filename)
|
||||
content = sass.compile(
|
||||
filename=path,
|
||||
include_paths=SassProcessor.include_paths,
|
||||
)
|
||||
basename, _ = os.path.splitext(path)
|
||||
destination_filename = basename + ".css"
|
||||
print(f"saving f{destination_filename}")
|
||||
storage.save(destination_filename, ContentFile(content))
|
|
@ -189,10 +189,6 @@ STATICFILES_FINDERS = [
|
|||
|
||||
SASS_PROCESSOR_INCLUDE_FILE_PATTERN = r"^.+\.[s]{0,1}(?:a|c)ss$"
|
||||
|
||||
SASS_PROCESSOR_INCLUDE_DIRS = [
|
||||
os.path.join(BASE_DIR, ".css-config-sample"),
|
||||
]
|
||||
|
||||
# minify css is production but not dev
|
||||
if not DEBUG:
|
||||
SASS_OUTPUT_STYLE = "compressed"
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{% load layout %}
|
||||
{% load sass_tags %}
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
{% load sass_tags %}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="{% get_lang %}">
|
||||
<head>
|
||||
<title>{% block title %}BookWyrm{% endblock %} - {{ site.name }}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link href="{% sass_src 'css/themes/bookwyrm-light.scss' %}" rel="stylesheet" type="text/css" />
|
||||
<link href="{% sass_src site_theme %}" rel="stylesheet" type="text/css" />
|
||||
|
||||
<link rel="search" type="application/opensearchdescription+xml" href="{% url 'opensearch' %}" title="{% blocktrans with site_name=site.name %}{{ site_name }} search{% endblocktrans %}" />
|
||||
|
||||
|
|
2
bw-dev
2
bw-dev
|
@ -154,7 +154,7 @@ case "$CMD" in
|
|||
--config dev-tools/.stylelintrc.js
|
||||
;;
|
||||
compilescss)
|
||||
runweb python manage.py compilescss
|
||||
runweb python manage.py compilethemes
|
||||
runweb python manage.py collectstatic --no-input
|
||||
;;
|
||||
collectstatic_watch)
|
||||
|
|
Loading…
Reference in a new issue