Metadata-Version: 2.1
Name: hypertag-lang
Version: 1.1.3
Summary: Modern language for markup generation with Python-like concise syntax, custom tags & Django integration. HTML templates reinvented.
Home-page: http://hypertag.io/
Author: Marcin Wojnarski
Author-email: hypertag@paperity.org
License: UNKNOWN
Project-URL: Source, https://github.com/mwojnars/hypertag
Description: 
        **Hypertag** is a modern language for front-end development that allows
        writing markup documents in a way similar to writing Python scripts,
        where [indentation](http://hypertag.io/#layout) determines relationships between nested elements 
        and removes the need for explicit closing tags. Hypertag provides:
        
        - Advanced control of rendering process with native [control blocks](http://hypertag.io/#control-blocks) 
          (_if_, _for_, _while_, _try_).
        - High level of modularity thanks to Python-like [imports](http://hypertag.io/#imports) and explicit [context](http://hypertag.io/#context) specification.
        - Unprecedented support for code reuse with native [custom tags](http://hypertag.io/#custom-tags).
        - Native [DOM](http://hypertag.io/#dom) representation and [DOM manipulation](http://hypertag.io/#dom-manipulation) during rendering.
        - Embedded [expressions](http://hypertag.io/#expressions) of any complexity.
        - Standard Python [operators](http://hypertag.io/#operators) to manipulate arbitrary Python objects.
        - Custom [pipeline](http://hypertag.io/#filters) operator (`:`) for chaining multiple functions as [filters](http://hypertag.io/#filters).
        - Expression [qualifiers](http://hypertag.io/#qualifiers) (`!?`) to create alternative paths of calculation and handle edge cases easily.
        - Built-in tags for [HTML5](http://hypertag.io/#html-specific-symbols) generation and for [general](http://hypertag.io/#hypertag-built-ins) purposes.
        - Integrated [Python built-ins](http://hypertag.io/#python-built-ins).
        - Integrated [Django filters](http://hypertag.io/#django-filters).
        - [Django connector](http://hypertag.io/#django-connector).
        
        More information:
        - **[Quick Start](https://github.com/mwojnars/hypertag#quick-start)**
        - **[Language Reference](http://hypertag.io/#language-reference)**
        
        
        ## Setup
        
        Install:
        ```
        pip install hypertag-lang               # watch out the name, it is "hypertag-lang"
        ```
        
        Usage:
        ```python
        from hypertag import HyperHTML
        html = HyperHTML().render(script)       # rendering of a Hypertag `script` to HTML
        ```
        
        ## Why to use Hypertag
        
        - **Concise syntax**: inspired by Python, the indentation-based syntax is a lot cleaner, 
          more readable and maintainable than raw markup; it requires less typing, is less redundant,
          and lets you concentrate on coding rather than chasing unmatched opening-closing tags.
        - **Code reuse** by means of functions/classes is the corner stone of programming,
          yet it is missing from HTML; this is fixed now with Hypertag:
          programmers can create reusable components in a form of **custom tags** (_hypertags_), 
          defined either as Python functions (_external tags_) 
          or directly in a document using Hypertag syntax (_native tags_);
          hypertags can be parameterized and may represent complex pieces 
          of combined: content, style and layout - for a reuse across documents.
        - **Fine-grained control** over rendering process is possible with
          a range of native _control blocks_ (for, while, if-elif-else, try-else) 
          constituting a core part of Hypertag syntax, unlike in templating languages, 
          where control structures are artificially overlaid on top of another language (HTML).
        - **Modularity** in Hypertag is modeled after Python's: 
          every script may import tags and variables from other scripts,
          from Python modules, and from the dynamic _context_ of script rendering;
          scripts and modules are arranged into packages;
          with these mechanisms in place, building libraries of reusable components is easy and fun.
        - **Applicability** to different target languages. 
          Hypertag is _not_ just a templating system put on top of HTML. 
          Hypertag is a full-featured standalone programming language tailored to the generation
          of documents of all kinds. By defining new tags, Hypertag can be adapted to produce an arbitrary
          document description language.
          
        
        ## Acknowledgements
        
        Hypertag was partially modeled on [Python's](https://www.python.org/) syntax, and 
        was inspired by indentation-based templating languages:
        [Slim](http://slim-lang.com/), [Plim](https://plim.readthedocs.io/en/latest/index.html),
        [Shpaml](http://shpaml.com/), [Haml](https://haml.info/).
        
        
Keywords: markup,language,html,html5,css,templates,templating,tags,jinja2,mako,django,DOM
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.5
Description-Content-Type: text/markdown
