Settings

Theme

Show HN: Htpy – generate HTML from Python without templates

htpy.dev

7 points by pelme · 2 comments · 1 min read

Reader

I built a library that to generate HTML from Python. We have been using this library with Django the last couple of months instead of classic templates and find it to be productive. It is easy to debug, works great with static type checkers and it is easy to build reusable components/partials. Give it a try!

1 thread
rrr_oh_man

Is that really easier than using templates?

> Wrapping Bootstrap Modal could be achieved with a function like this:

  def bootstrap_modal(*, title: str, body: Node = None, footer: Node = None) -> 
  Element:
      return div(".modal", tabindex="-1", role="dialog")[
          div(".modal-dialog", role="document")[
              div(".modal-content")[
                  div(".modal-header")[
                      div(".modal-title")[
                          h5(".modal-title")[title],
                          button(
                              ".close",
                              type="button",
                              data_dismiss="modal",
                              aria_label="Close",
                          )[span(aria_hidden="true")[Markup("×")]],
                      ]
                  ],
                  div(".modal-body")[body],
                  footer and div(".modal-footer")[footer],
              ]
          ]
      ]
  • pelmeOP

    Writing out the code to generate this may not be easier than using templates, but it is not really harder either. I think it mostly looks a little different.

    The real benefit is using this bootstrap modal component within your app, since it is just a regular function call. You can leverage your editor "goto definition" and static type checking within all the functions make up your web sites/apps HTML.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection