Giter Club home page Giter Club logo

knio / dominate Goto Github PK

View Code? Open in Web Editor NEW
1.6K 51.0 105.0 844 KB

Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API. It allows you to write HTML pages in pure Python very concisely, which eliminate the need to learn another template language, and to take advantage of the more powerful features of Python.

License: GNU Lesser General Public License v3.0

Python 99.64% Makefile 0.36%
python html html-document html-element python-library

dominate's People

Contributors

arjun024 avatar coreybrett avatar cpsievert avatar davidbgk avatar davidthewatson avatar girasquid avatar golightlyb avatar hsolbrig avatar hugovk avatar jakewharton avatar knio avatar lucasea777 avatar lundev avatar mgorny avatar michaeljoseph avatar mrocza avatar parnassius avatar ronnabuurs avatar sbraz avatar submagr avatar tlonny avatar vfaronov avatar washad avatar yegorich avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dominate's Issues

Remove stackless co-dependancy

pyy_cgi depends on parts of pyy_httpserver which import stackless. Factor so dependence on stackless python is removed unless explicitly using pyy_httpserver

`README.markdown` generation

Move readme text to the module's init.doc and generate the README automatically. Use whichever markup format will look best in both locations.

Ability to pass request to response's constructor

Add request keyword argument that defaults to None which is stored in self.request. This will allow deriving classes to have access to the request object in their __init__ methods (assuming they've called response.__init__ first).

Rename fr and cls

fr looks a bit ugly, reactjs had a similar problem, they are using htmlFor.

For cls, they are using className.

I think it might make sense to adapt these names, maybe with underscores.

xhtml specs

We should make sure pyy conforms to http://www.w3.org/TR/2009/NOTE-xhtml-media-types-20090116/

NOT DONE
A.1: Processing Instructions and the XML Declaration
A.9: Character Encoding

PARTIALLY DONE
A.2: Elements that can never have content (elements render as but will accept children)
A.7: The lang and xml:lang Attributes (xml:lang is required)
A.12: Using Ampersands (converted in attribute values, not content)

DONE
A.3: Elements that have no content
A.5: Line Breaks within Attribute Values
A.8: Fragment Identifiers
A.10: Boolean Attributes
A.14: Referencing Style Elements when serving as XML
A.17: The XML DTD Internal Subset
A.18: CDATA Sections
A.19: Explicit Elements
A.20: base vs. xml:base

NOT APPLICABLE
A.4: Embedded Style Sheets and Scripts
A.6: Deleted
A.11: Document Object Model and XHTML
A.13: Cascading Style Sheets (CSS) and XHTML
A.15: Formfeed Character in HTML vs. XML
A.16: The Named Character Reference '
A.21: document.write
A.22: Updating a document using innerHTML
A.23: Scripts and missing tbody elements
A.24: Styling the entire document
A.25: noscript Element
A.26: iframe Element
A.27: Creating elements in JavaScript

FUTURE
A.8: Fragment Identifiers (limit id value with regex)
A.10: Boolean Attributes (limit with regex)

Support WSGI

I'm not sure what it is exactly, but it's a popular buzzword and our competitors do it.

pyy_httpserver is not stable

pyy_httpserver is not stable when serving large binary files, or possibly many active connections.
find out why

Session Manager

Add sessions.py to aid in the tracking of sessions in pyy_web.

Break up parse function

Change parse to be just an HTML parser and create an HTML tree to pyy object tree function which uses the ElementTree API allowing other parsers such as lxml and BeautifulSoup to be used.

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.