Hypergen
with table(class_="striped"):
tr(th("n"), th("squared"))
for n in range(1, 4):
with tr():
td(n)
td(n * n)
Stay focused on the actual complexity of your app, while having 291% more fun!
with table(class_="striped"):
tr(th("n"), th("squared"))
for n in range(1, 4):
with tr():
td(n)
td(n * n)
Build templates in a turing complete language
<table class="striped">
<tr>
<th>n</th>
<th>squared</th>
</tr>
<tr>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>4</td>
</tr>
<tr>
<td>3</td>
<td>9</td>
</tr>
</table>
For a more technical explanation about the what and the how, check out our github page and read the documentation.
We've been building Django apps for over 12 years, and have played around with different approaches. From nojs html pages, over jQuery enhanced apps to full blown server/client separation with React. We love composing html with jsx but felt a lot of our time was spent munging data between server and client, duplicating logic and keeping up with the extremely vast and ever-changing javascript ecosystem.
We felt there was a better way. For us.
We wanted something that feels like one single thing. Just like Django does. We felt using html templates creates a second language and doesn't compose well. We also wanted pain-free binding of DOM events to server functions as well as a simple way to instruct the client to run javascript functions.
And Hypergen was born.
Thanks for reading this, drop by and say hi :)
Read the Getting Started tutorial for a more thorough experience. For the most speedy start possible, run the following in your terminal. Replace "myproject" and "myapp" with your own names.
python3 -m venv venv
source venv/bin/activate
pip install django django-hypergen
django-admin startproject \
--template=https://github.com/runekaagaard/django-hypergen-project-template/archive/master.zip \
myproject
cd myproject
python manage.py migrate
python manage.py runserver
Enjoy your new hypergen project at http://127.0.0.1:8000/ 🚀