Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions Dockerfile

This file was deleted.

28 changes: 0 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +0,0 @@
# ElevenBits website

## Development setup

Make sure there is a database:

```bash
$ docker run --name zink -e POSTGRES_PASSWORD=s3cr3t -e POSTGRES_USER=zink -p 43210:5432 -d postgres
```
Also make sure there is a `.env`, containing the required environment variables. See the `.env.example` for information.

Run the website via:

```bash
$ python manage.py migrate
$ python manage.py runserver
```

## Tailwind

Download the cli to the $BASEDIR/bin.

```bash
$ cd BASE_DIR / bin
$ curl -sLO https://github.com/tailwindlabs/tailwindcss/releases/download/v3.2.4/tailwindcss-linux-x64
$ chmod +x tailwindcss-linux-x64
$ mv tailwindcss-linux-x64 tailwindcss
```
4 changes: 0 additions & 4 deletions elevenbits/bin/build.sh → build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,7 @@
# exit on error
set -o errexit

pip install -U pip
pip install poetry==1.3.2
poetry install

bin/tailwindcss -i static/tailwind/input.css -o static/tailwind/output.css --minify

python manage.py collectstatic --no-input
python manage.py migrate
File renamed without changes.
27 changes: 0 additions & 27 deletions docker-compose.yml

This file was deleted.

4 changes: 0 additions & 4 deletions elevenbits/.env-example

This file was deleted.

2 changes: 1 addition & 1 deletion elevenbits/main/asgi.py → elevenbits/asgi.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@

from django.core.asgi import get_asgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "main.settings")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "elevenbits.settings")

application = get_asgi_application()
Binary file removed elevenbits/bin/tailwindcss
Binary file not shown.
3 changes: 0 additions & 3 deletions elevenbits/blog/admin.py

This file was deleted.

3 changes: 0 additions & 3 deletions elevenbits/blog/models.py

This file was deleted.

3 changes: 0 additions & 3 deletions elevenbits/blog/tests.py

This file was deleted.

6 changes: 0 additions & 6 deletions elevenbits/blog/urls.py

This file was deleted.

6 changes: 0 additions & 6 deletions elevenbits/blog/views.py

This file was deleted.

9 changes: 0 additions & 9 deletions elevenbits/main/urls.py

This file was deleted.

79 changes: 59 additions & 20 deletions elevenbits/main/settings.py → elevenbits/settings.py
Original file line number Diff line number Diff line change
@@ -1,29 +1,46 @@
"""
Django settings for elevenbits project.

Generated by 'django-admin startproject' using Django 4.1.7.

For more information on this file, see
https://docs.djangoproject.com/en/4.1/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/4.1/ref/settings/
"""
import os
from pathlib import Path

import environ
import dj_database_url
from dotenv import load_dotenv

env = environ.Env(DEBUG=(bool, False))
load_dotenv()

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

environ.Env.read_env(BASE_DIR / ".env")

SECRET_KEY = env("SECRET_KEY")
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/

DEBUG = env("DEBUG")
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = os.environ["SECRET_KEY"]

ALLOWED_HOSTS = []
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = os.environ.get("RENDER", default=os.environ.get("DEBUG", default=False))

ALLOWED_HOST = env("ALLOWED_HOST", default=None)
if ALLOWED_HOST:
ALLOWED_HOSTS.append(ALLOWED_HOST)
ALLOWED_HOSTS = []

RENDER_EXTERNAL_HOSTNAME = env("RENDER_EXTERNAL_HOSTNAME", default=None)
RENDER_EXTERNAL_HOSTNAME = os.environ.get("RENDER_EXTERNAL_HOSTNAME")
if RENDER_EXTERNAL_HOSTNAME:
ALLOWED_HOSTS.append(RENDER_EXTERNAL_HOSTNAME)


# Application definition

INSTALLED_APPS = [
"simple_menu",
"render.apps.RenderConfig",
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
Expand All @@ -43,12 +60,12 @@
"django.middleware.clickjacking.XFrameOptionsMiddleware",
]

ROOT_URLCONF = "main.urls"
ROOT_URLCONF = "elevenbits.urls"

TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [BASE_DIR / "templates"],
"DIRS": [],
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
Expand All @@ -61,12 +78,24 @@
},
]

WSGI_APPLICATION = "main.wsgi.application"
WSGI_APPLICATION = "elevenbits.wsgi.application"


# Database
# https://docs.djangoproject.com/en/4.1/ref/settings/#databases

DATABASES = {
"default": env.db(),
"default": dj_database_url.config(
# Feel free to alter this value to suit your needs.
default="postgresql://postgres:postgres@localhost:5432/mysite",
conn_max_age=600,
)
}


# Password validation
# https://docs.djangoproject.com/en/4.1/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [
{
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
Expand All @@ -82,6 +111,10 @@
},
]


# Internationalization
# https://docs.djangoproject.com/en/4.1/topics/i18n/

LANGUAGE_CODE = "en-us"

TIME_ZONE = "UTC"
Expand All @@ -90,16 +123,22 @@

USE_TZ = True

STATIC_URL = "static/"

STATICFILES_DIRS = [
BASE_DIR / "static",
]
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.1/howto/static-files/

STATIC_URL = "/static/"

if not DEBUG:
# Tell Django to copy statics to the `staticfiles` directory
# in your application directory on Render.
STATIC_ROOT = BASE_DIR / "staticfiles"

# Turn on WhiteNoise storage backend that takes care of compressing static files
# and creating unique names for each version, so they can safely be cached forever.
# and creating unique names for each version so they can safely be cached forever.
STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"

# Default primary key field type
# https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field

DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
3 changes: 0 additions & 3 deletions elevenbits/static/tailwind/input.css

This file was deleted.

8 changes: 0 additions & 8 deletions elevenbits/tailwind.config.js

This file was deleted.

30 changes: 0 additions & 30 deletions elevenbits/templates/base.html

This file was deleted.

7 changes: 0 additions & 7 deletions elevenbits/templates/index.html

This file was deleted.

7 changes: 7 additions & 0 deletions elevenbits/urls.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
path("admin/", admin.site.urls),
path("", include("render.urls")),
]
2 changes: 1 addition & 1 deletion elevenbits/main/wsgi.py → elevenbits/wsgi.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "main.settings")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "elevenbits.settings")

application = get_wsgi_application()
8 changes: 4 additions & 4 deletions elevenbits/manage.py → manage.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
#!/usr/bin/env python # noqa: INP001
"""Django's command-line utility for administrative tasks.""" # noqa: INP001
import os
import sys


def main():
def main(): # noqa: ANN201
"""Run administrative tasks."""
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "main.settings")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "elevenbits.settings")
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
Expand Down
Loading