{ "info": { "author": "AndrewRPorter", "author_email": "porter.r.andrew@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Copyright (c) 2018 Andrew Porter\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nDownload-URL: https://github.com/AndrewRPorter/hlint/releases\nDescription: hlint\n =====\n \n **hlint** uses Mozilla's HTML5 Validator instance to lint HTML documents. This project is heavily influenced by mozilla's own linter_.\n \n .. _linter: https://github.com/mozilla/html5-lint\n \n Installation\n ============\n \n .. code::\n \n pip install hlint\n \n Usage\n =====\n \n .. code-block:: python\n \n from hlint import lint\n \n result = lint.check(\"index.html\")\n print(result)\n assert(result.flag == True)\n \n .. code-block:: python\n \n from hlint import lint\n \n results = lint.check_files([\"index.html\", \"bad.html\"])\n print(results)\n assert(results.total_error_count == 1)\n \n Output\n ======\n \n .. code::\n \n Error: Bad value for attribute \u201chref\u201d on element \u201clink\u201d: Illegal character in scheme data: space is not allowed.\n From line 3, column 6387; to line 3, column 7788\n Error: Bad value for attribute \u201chref\u201d on element \u201clink\u201d: Illegal character in scheme data: space is not allowed.\n From line 7, column 1; to line 7, column 842\n Error: Bad value \u201c1\u201d for attribute \u201casync\u201d on element \u201cscript\u201d.\n From line 12, column 1; to line 12, column 303\n Error: Bad value \u201ctoggle\u201d for attribute \u201crel\u201d on element \u201ca\u201d: The string \u201ctoggle\u201d is not a registered keyword.\n From line 29, column 121809; to line 29, column 121991\n Error: Bad value \u201c1\u201d for attribute \u201crequired\u201d on element \u201cinput\u201d.\n From line 29, column 123986; to line 29, column 124160\n Error: Element \u201cinput\u201d is missing required attribute \u201caria-expanded\u201d.\n From line 29, column 123986; to line 29, column 124160\n Error: Attribute \u201cajaxify\u201d not allowed on element \u201ca\u201d at this point.\n From line 29, column 125356; to line 29, column 125575\n Warning: The \u201cname\u201d attribute is obsolete. Consider putting an \u201cid\u201d attribute on the nearest container instead.\n From line 29, column 126674; to line 29, column 126859\n Error: Attribute \u201cajaxify\u201d not allowed on element \u201ca\u201d at this point.\n Error: The \u201cscrolling\u201d attribute on the \u201ciframe\u201d element is obsolete. Use CSS instead.\n From line 29, column 134870; to line 29, column 134973\n Error: The \u201cmarginheight\u201d attribute on the \u201ciframe\u201d element is obsolete. Use CSS instead.\n From line 29, column 134870; to line 29, column 134973\n From line 29, column 135584; to line 29, column 135688\n Error: The \u201caria-labelledby\u201d attribute must point to an element in the same document.\n From line 29, column 126125; to line 29, column 126258\n There were errors. (Tried in the text/html mode.)\n \n License\n =======\n \n MIT License\n \n Copyright (c) 2018 Andrew Porter\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n \nPlatform: UNKNOWN\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/AndrewRPorter/hlint", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "hlint", "package_url": "https://pypi.org/project/hlint/", "platform": "", "project_url": "https://pypi.org/project/hlint/", "project_urls": { "Homepage": "https://github.com/AndrewRPorter/hlint" }, "release_url": "https://pypi.org/project/hlint/0.0.1/", "requires_dist": [ "setuptools" ], "requires_python": "", "summary": "HTML 5 Linter using Mozilla validation services", "version": "0.0.1" }, "last_serial": 4197058, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "783a604b012ec4bcb42e7b6e28a012ad", "sha256": "6ae7cca73bb700d625d000504c10b714bddbde53222d94374a21cf94759e48a5" }, "downloads": -1, "filename": "hlint-0.0.1-py3.5.egg", "has_sig": false, "md5_digest": "783a604b012ec4bcb42e7b6e28a012ad", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 7969, "upload_time": "2018-08-22T17:21:14", "url": "https://files.pythonhosted.org/packages/06/69/f35f2b18fb8530623999bdb7cb54fda0b17e04270fbafa320a7bd7074b62/hlint-0.0.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "0c219dc5db2ec1611db1f8ba9b3ab2cc", "sha256": "acb443c34691ea68ff37911a8c0ad35fd45b25546e8b20dca87ce0af7a474d3c" }, "downloads": -1, "filename": "hlint-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0c219dc5db2ec1611db1f8ba9b3ab2cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8005, "upload_time": "2018-08-22T17:21:13", "url": "https://files.pythonhosted.org/packages/dd/e3/31063a8d4838c5bcee60140fbda5338dcd0f132777a52bb60d7c7d741ca3/hlint-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54dbe0f85ad5a9d78e27576abf1c68af", "sha256": "458e5dcea3299cbebe3e96c3632eea4a1ede13c12c39a762aae544418e86cf8d" }, "downloads": -1, "filename": "hlint-0.0.1.tar.gz", "has_sig": false, "md5_digest": "54dbe0f85ad5a9d78e27576abf1c68af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4976, "upload_time": "2018-08-22T17:21:15", "url": "https://files.pythonhosted.org/packages/8c/83/7590757374ac4a2391f75dd2fe2ba273a67a8d5a15154d8d56c17f1d3b9b/hlint-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "783a604b012ec4bcb42e7b6e28a012ad", "sha256": "6ae7cca73bb700d625d000504c10b714bddbde53222d94374a21cf94759e48a5" }, "downloads": -1, "filename": "hlint-0.0.1-py3.5.egg", "has_sig": false, "md5_digest": "783a604b012ec4bcb42e7b6e28a012ad", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 7969, "upload_time": "2018-08-22T17:21:14", "url": "https://files.pythonhosted.org/packages/06/69/f35f2b18fb8530623999bdb7cb54fda0b17e04270fbafa320a7bd7074b62/hlint-0.0.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "0c219dc5db2ec1611db1f8ba9b3ab2cc", "sha256": "acb443c34691ea68ff37911a8c0ad35fd45b25546e8b20dca87ce0af7a474d3c" }, "downloads": -1, "filename": "hlint-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0c219dc5db2ec1611db1f8ba9b3ab2cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8005, "upload_time": "2018-08-22T17:21:13", "url": "https://files.pythonhosted.org/packages/dd/e3/31063a8d4838c5bcee60140fbda5338dcd0f132777a52bb60d7c7d741ca3/hlint-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54dbe0f85ad5a9d78e27576abf1c68af", "sha256": "458e5dcea3299cbebe3e96c3632eea4a1ede13c12c39a762aae544418e86cf8d" }, "downloads": -1, "filename": "hlint-0.0.1.tar.gz", "has_sig": false, "md5_digest": "54dbe0f85ad5a9d78e27576abf1c68af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4976, "upload_time": "2018-08-22T17:21:15", "url": "https://files.pythonhosted.org/packages/8c/83/7590757374ac4a2391f75dd2fe2ba273a67a8d5a15154d8d56c17f1d3b9b/hlint-0.0.1.tar.gz" } ] }