phpStageManager
dominate
phpStageManager | dominate | |
---|---|---|
1 | 11 | |
2 | 1,647 | |
- | - | |
10.0 | 4.6 | |
over 8 years ago | 21 days ago | |
PHP | Python | |
- | GNU Lesser General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
phpStageManager
-
That people produce HTML with string templates is telling us something
"Nobody ever generates JSON using string interpolation." Oh boy, you just took me back to my first ever PHP project. Feast your eyes: https://github.com/oxguy3/phpStageManager/blob/master/events...
This file generates a feed of events (rehearsals for my high school play) to be rendered by the FullCalendar JS plugin. FullCalendar required a particular data schema that didn't match the format of my MySQL table, which meant I couldn't just json_encode() the MySQL results. I guess I just didn't conceptualize that I could create a new object that matched the FullCalendar format, and then call json_encode(). So, I generated JSON with strings.
Honestly it's a toss-up whether the JSON generation is the worst thing about this file. It looks like I also made a separate database query for every single row to get the username, because I apparently didn't know how to do joins. Could probably spend an hour listing some of the other little nuggets of awful in there. But hey, it got the job done! :)
dominate
-
Ludic: New framework for Python with seamless Htmx support
It feels weird at the beginning, but after a bit of practice I found it pretty nice to write HTML in Python.
Here is an example of a HTML page layout written with the DOMinate [1] library for example, in a "JSX-like" way:
https://github.com/olivierphi/zakuchess/blob/main/src/apps/w...
It may hurt your eyes at first sight, for sure... But similarly to technologies like Tailwind CSS, it's mostly a matter of getting used to it - and after a while it end ups feeling very natural to use :-)
1: https://github.com/Knio/dominate#readme
-
C++: The Obvious Final Step
Pretty much how https://github.com/Knio/dominate does it, but no context variable binding (otherwise gets messy with lots of nesting)
-
That people produce HTML with string templates is telling us something
You're conflating two things, dynamically creating HTML is great and lets you avoid JS in a lot of cases. It's whether you should treat your HTML document as the tree of nodes that it is in your programming language or treat it like a string.
https://github.com/Knio/dominate is a Python lib that implements this principal.
-
Views / Templates / Custom Widgets ... I just want to display non editable data
Actually excited to giive this HTML field a try - https://github.com/Knio/dominate might come in useful for me to generate the html
-
htmx_gen
How is it different from other existing projects like Dominate?
-
Python and Web Developing
If youโre talking about generating HTML using Python, I highly recommend the library Dominate. Incredibly intuitive and Pythonic way to generate HTML.
- Lona - A web framework for responsive web apps in full python
- Template-less HTML rendering in Python
- What do you guys think of Dominate? Use cases?
-
I made a Python3 framework fro integrating Python with HTML and CSS
Ive mostly used Dominate for my services. https://github.com/Knio/dominate
What are some alternatives?
vtpl - Vtpl is a php template engine that ensures proper separations of concerns, the frontend logic is separated from presentation. The goal is to keep the html unchanged for better maintainability for both backend and frontend developers
domonic - Create HTML with python 3 using a standard DOM API. Includes a python port of JavaScript for interoperability and tons of other cool features. A fast prototyping library.
nano - ๐ฏ SSR first, lightweight 1kB JSX library.
wasmer-python - ๐๐ธ WebAssembly runtime for Python
literal-html - Simple and unsafe HTML/XML templates for TypeScript, using tagged template literals
aiohttp-json-rpc - Implements JSON-RPC 2.0 using aiohttp
jsonnet - Jsonnet - The data templating language
ryact - Ryact(Breact but 10x faster): a react-like framework to build super-fast web apps in python.
flog - Pre-Markdown static site generator based on UNIX tools and XSL
tocbot - Build a table of contents from headings in an HTML document.
gron - Make JSON greppable!
dashborg-go-sdk - Modern internal tools. Defined, controlled, and deployed directly from backend code. No JavaScript. Secure.