Coder Social home page Coder Social logo

Comments (3)

adamchainz avatar adamchainz commented on July 24, 2024 1

I reconsidered this after several further requests over the years. #428 has a possible implementation.

from django-htmx.

adamchainz avatar adamchainz commented on July 24, 2024

No the project deliberately doesn't bundle htmx or provide any way of doing so, since there are too many ways you might want to embed htmx - from a CDN, your own static files, or via a JS bundler npm, and with or without extensions. The download script there is to make the example app more manageable and you're free to adapt it.

from django-htmx.

kryskool avatar kryskool commented on July 24, 2024

Hi @kytta @adamchainz

if HTMX is an integral part of our development project, it seems useful to me to declare it as a parameter, as Django compressor does

to perform this operation we need to add these news settings:

  • HTMX_VERSION
  • HTMX_EXTENSIONS
  • HTMX_STATIC_ROOT
  • HTMX_STATIC_URL

All news settings have the prefix HTMX_

HTMX_VERSION = "1.9.11"

Indicate the htmx version to download

HTMX_EXTENSIONS = [
    "htmx.js",  # mandatory for django-htmx
    "ext/debug.js",  # mandatory for django-htmx
    "ext/event-header.js",  # mandatory for django-htmx
    "https://github.com/orgname/repos/main/src/",
    "https://raw.githubusercontent.com/bigskysoftware/htmx-extensions/main/src/head-support/head-support.js",
    "https://unpkg.com/browse/[email protected]/dist/csrf-token.js",
]

By default HTMX_EXTENSIONS have these values:

  • htmx.js
  • ext/debug.js
  • ext/event-header.js

we need to define where to store the download files

HTMX_STATIC_ROOT = "static_htmx/"
# or
HTMX_STATIC_ROOT = "/opt/django_tuto/static_htmx/"

HTMX_STATIC_ROOT is the original folder to collect the HTMX files with command downloadhtmx or htmx download

HTMX_STATIC_URL = "htmx"

by default the static URL for htmx STATIC_URL + HTMX_STATIC_URL

After call the download hmtx command, we can call the collectstatic command.

STATICFILES_DIRS = [
    ...
    (HTMX_STATIC_URL, HTMX_STATIC_ROOT),
]

On the html template we can use these to include the htmx files

<script src="{% static 'htmx/myjsfile.js' %}"></script> 

With these settings, no need to pass extra arguments on the command line.

just execute commands in this order

python manage.py downloadhtmx (or htmx download)
python manage.py collectstatic

What do you think ?

from django-htmx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.