|
|
|
|
|
|
|
|
|
|
|
|
| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="utf-8"> |
| <link rel="dns-prefetch" href="https://github.githubassets.com"> |
| <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com"> |
| <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com"> |
| <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com"> |
| <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com"> |
| <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> |
| <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> |
|
|
|
|
|
|
| <link crossorigin="anonymous" media="all" integrity="sha512-ewBVWzTidUfkIA/GRtD5kGS5AtVPpm8zpUXbCgMZ6xOI8wSa6QT6psJ9FNdwKsZ+PNVNncnR4YJcxrUlJ+/8LQ==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-7b00555b34e27547e4200fc646d0f990.css" /> |
| <link crossorigin="anonymous" media="all" integrity="sha512-21eX2YaEYIYa91WFh0mXaxJ3wLQxy2ldlpRbyuCueK3MvqHGEzmXYPkMQ4XBtASauZXKlL1hPxQQU9g28R03wQ==" rel="stylesheet" href="https://github.githubassets.com/assets/site-db5797d9868460861af755858749976b.css" /> |
| <link crossorigin="anonymous" media="all" integrity="sha512-z3bA0y0jOQZnZaO1OkqE1OKr/DTmEmOfJyEblXESzZdzbQPHGcLe4mB8askHLbD6qV9IbKltKwwSw9svSeC0mA==" rel="stylesheet" href="https://github.githubassets.com/assets/github-cf76c0d32d2339066765a3b53a4a84d4.css" /> |
| |
| |
| |
| |
|
|
|
|
| <meta name="viewport" content="width=device-width"> |
| |
| <title>GitHub - ying32/htmlparser: delphi html parser(代码是改自原wr960204的HtmlParser)</title> |
| <meta name="description" content="delphi html parser(代码是改自原wr960204的HtmlParser). Contribute to ying32/htmlparser development by creating an account on GitHub."> |
| <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> |
| <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> |
| <meta property="fb:app_id" content="1401488693436528"> |
|
|
| <meta name="twitter:image:src" content="https://avatars0.githubusercontent.com/u/7037165?s=400&v=4" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary" /><meta name="twitter:title" content="ying32/htmlparser" /><meta name="twitter:description" content="delphi html parser(代码是改自原wr960204的HtmlParser). Contribute to ying32/htmlparser development by creating an account on GitHub." /> |
| <meta property="og:image" content="https://avatars0.githubusercontent.com/u/7037165?s=400&v=4" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="ying32/htmlparser" /><meta property="og:url" content="https://github.com/ying32/htmlparser" /><meta property="og:description" content="delphi html parser(代码是改自原wr960204的HtmlParser). Contribute to ying32/htmlparser development by creating an account on GitHub." /> |
|
|
| <link rel="assets" href="https://github.githubassets.com/"> |
| |
| |
|
|
| <meta name="request-id" content="2D08:297C:41D678:576E76:5E63C0D2" data-pjax-transient="true"/><meta name="html-safe-nonce" content="a239e395d928d1bee8531a30dd8bc1688aa5c3c2" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiIyRDA4OjI5N0M6NDFENjc4OjU3NkU3Njo1RTYzQzBEMiIsInZpc2l0b3JfaWQiOiI2MDgwMTExOTIyMzUxNjg1ODQzIiwicmVnaW9uX2VkZ2UiOiJhcC1zb3V0aGVhc3QtMSIsInJlZ2lvbl9yZW5kZXIiOiJhcC1zb3V0aGVhc3QtMSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="1a256cbec39f90ad992fa67b5345b37fa6136e8e7a786e81d06bf61c478f1c39" data-pjax-transient="true"/> |
|
|
|
|
|
|
| <meta name="github-keyboard-shortcuts" content="repository" data-pjax-transient="true" /> |
|
|
| |
|
|
| <meta name="selected-link" value="repo_source" data-pjax-transient> |
|
|
| <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> |
| <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> |
| <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> |
|
|
| <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-dimension-ga_id" content="" class="js-octo-ga-id" /> |
| <meta name="analytics-location" content="/<user-name>/<repo-name>" data-pjax-transient="true" /> |
|
|
|
|
|
|
|
|
|
|
| <meta class="js-ga-set" name="dimension1" content="Logged Out"> |
|
|
|
|
|
|
| |
|
|
| <meta name="hostname" content="github.com"> |
| <meta name="user-login" content=""> |
|
|
| <meta name="expected-hostname" content="github.com"> |
|
|
|
|
| <meta name="enabled-features" content="MARKETPLACE_FEATURED_BLOG_POSTS,MARKETPLACE_INVOICED_BILLING,MARKETPLACE_SOCIAL_PROOF_CUSTOMERS,MARKETPLACE_TRENDING_SOCIAL_PROOF,MARKETPLACE_RECOMMENDATIONS,MARKETPLACE_PENDING_INSTALLATIONS,RELATED_ISSUES"> |
|
|
| <meta http-equiv="x-pjax-version" content="b2a5d8217064b658916016fb912fed29"> |
| |
|
|
| <link href="https://github.com/ying32/htmlparser/commits/master.atom" rel="alternate" title="Recent Commits to htmlparser:master" type="application/atom+xml"> |
|
|
| <meta name="go-import" content="github.com/ying32/htmlparser git https://github.com/ying32/htmlparser.git"> |
|
|
| <meta name="octolytics-dimension-user_id" content="7037165" /><meta name="octolytics-dimension-user_login" content="ying32" /><meta name="octolytics-dimension-repository_id" content="73793225" /><meta name="octolytics-dimension-repository_nwo" content="ying32/htmlparser" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="73793225" /><meta name="octolytics-dimension-repository_network_root_nwo" content="ying32/htmlparser" /><meta name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" content="false" /> |
|
|
|
|
| <link rel="canonical" href="https://github.com/ying32/htmlparser" data-pjax-transient> |
|
|
|
|
| <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> |
|
|
| <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> |
|
|
| <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000"> |
| <link rel="icon" type="image/x-icon" class="js-site-favicon" href="https://github.githubassets.com/favicon.ico"> |
|
|
| <meta name="theme-color" content="#1e2327"> |
|
|
|
|
| <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> |
|
|
| </head> |
|
|
| <body class="logged-out env-production min-width-lg"> |
| |
|
|
| <div class="position-relative js-header-wrapper "> |
| <a href="#start-of-content" tabindex="1" class="px-2 py-4 bg-blue text-white show-on-focus js-skip-to-content">Skip to content</a> |
| <span class="Progress progress-pjax-loader position-fixed width-full js-pjax-loader-bar"> |
| <span class="progress-pjax-loader-bar top-0 left-0" style="width: 0%;"></span> |
| </span> |
|
|
| |
| |
|
|
|
|
|
|
| <header class="Header-old header-logged-out position-relative f4 py-2" role="banner"> |
| <div class="container-lg d-flex px-3"> |
| <div class="d-flex flex-justify-between flex-items-center"> |
| <a class="mr-4" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark"> |
| <svg height="32" class="octicon octicon-mark-github text-white" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg> |
| </a> |
| </div> |
|
|
| <div class="HeaderMenu HeaderMenu--logged-out d-flex flex-justify-between flex-items-center flex-auto"> |
| <div class="d-none"> |
| <button class="btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false"> |
| <svg height="24" class="octicon octicon-x text-gray" viewBox="0 0 12 16" version="1.1" width="18" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> |
| </button> |
| </div> |
|
|
| <nav class="mt-0" aria-label="Global"> |
| <ul class="d-flex list-style-none"> |
| <li class=" mr-3 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center "> |
| <details class="HeaderMenu-details details-overlay details-reset width-full"> |
| <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-inline-block"> |
| Why GitHub? |
| <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-relative"> |
| <path d="M1,1l6.2,6L13,1"></path> |
| </svg> |
| </summary> |
| <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 mt-0 p-4 left-n4 position-absolute"> |
| <a href="/features" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a> |
| <ul class="list-style-none f5 pb-3"> |
| <li class="edge-item-fix"><a href="/features/code-review/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code review">Code review</a></li> |
| <li class="edge-item-fix"><a href="/features/project-management/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Project management">Project management</a></li> |
| <li class="edge-item-fix"><a href="/features/integrations" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Integrations">Integrations</a></li> |
| <li class="edge-item-fix"><a href="/features/actions" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Actions">Actions</a></li> |
| <li class="edge-item-fix"><a href="/features/packages" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to GitHub Packages">Packages</a></li> |
| <li class="edge-item-fix"><a href="/features/security" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Security">Security</a></li> |
| <li class="edge-item-fix"><a href="/features#team-management" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Team management">Team management</a></li> |
| <li class="edge-item-fix"><a href="/features#hosting" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code hosting">Hosting</a></li> |
| </ul> |
|
|
| <ul class="list-style-none mb-0 border-lg-top pt-lg-3"> |
| <li class="edge-item-fix"><a href="/customer-stories" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Customer stories">Customer stories <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a></li> |
| <li class="edge-item-fix"><a href="/security" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Security">Security <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a></li> |
| </ul> |
| </div> |
| </details> |
| </li> |
| <li class=" mr-3 mr-lg-3"> |
| <a href="/enterprise" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Enterprise">Enterprise</a> |
| </li> |
|
|
| <li class=" mr-3 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center "> |
| <details class="HeaderMenu-details details-overlay details-reset width-full"> |
| <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-inline-block"> |
| Explore |
| <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-relative"> |
| <path d="M1,1l6.2,6L13,1"></path> |
| </svg> |
| </summary> |
|
|
| <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-0 mt-0 p-4 left-n4 position-absolute"> |
| <ul class="list-style-none mb-3"> |
| <li class="edge-item-fix"><a href="/explore" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Explore">Explore GitHub <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a></li> |
| </ul> |
|
|
| <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-top pt-3">Learn & contribute</h4> |
| <ul class="list-style-none mb-3"> |
| <li class="edge-item-fix"><a href="/topics" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Topics">Topics</a></li> |
| <li class="edge-item-fix"><a href="/collections" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Collections">Collections</a></li> |
| <li class="edge-item-fix"><a href="/trending" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Trending">Trending</a></li> |
| <li class="edge-item-fix"><a href="https://lab.github.com/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Learning lab">Learning Lab</a></li> |
| <li class="edge-item-fix"><a href="https://opensource.guide" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Open source guides">Open source guides</a></li> |
| </ul> |
|
|
| <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-top pt-3">Connect with others</h4> |
| <ul class="list-style-none mb-0"> |
| <li class="edge-item-fix"><a href="https://github.com/events" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Events">Events</a></li> |
| <li class="edge-item-fix"><a href="https://github.community" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Community forum">Community forum</a></li> |
| <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to GitHub Education">GitHub Education</a></li> |
| </ul> |
| </div> |
| </details> |
| </li> |
|
|
| <li class=" mr-3 mr-lg-3"> |
| <a href="/marketplace" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Marketplace">Marketplace</a> |
| </li> |
|
|
| <li class=" mr-3 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center "> |
| <details class="HeaderMenu-details details-overlay details-reset width-full"> |
| <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-inline-block"> |
| Pricing |
| <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-relative"> |
| <path d="M1,1l6.2,6L13,1"></path> |
| </svg> |
| </summary> |
|
|
| <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-4 mt-0 p-4 left-n4 position-absolute"> |
| <a href="/pricing" class="pb-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Pricing">Plans <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a> |
|
|
| <ul class="list-style-none mb-3"> |
| <li class="edge-item-fix"><a href="/pricing#feature-comparison" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Compare plans">Compare plans</a></li> |
| <li class="edge-item-fix"><a href="https://enterprise.github.com/contact" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Contact Sales">Contact Sales</a></li> |
| </ul> |
|
|
| <ul class="list-style-none mb-0 border-top pt-3"> |
| <li class="edge-item-fix"><a href="/nonprofit" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Nonprofits">Nonprofit <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a></li> |
| <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Education">Education <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a></li> |
| </ul> |
| </div> |
| </details> |
| </li> |
| </ul> |
| </nav> |
|
|
| <div class="d-flex flex-items-center px-0 text-center text-left"> |
| <div class="d-lg-flex "> |
| <div class="header-search mr-3 scoped-search site-scoped-search js-site-search position-relative js-jump-to" |
| role="combobox" |
| aria-owns="jump-to-results" |
| aria-label="Search or jump to" |
| aria-haspopup="listbox" |
| aria-expanded="false" |
| > |
| <div class="position-relative"> |
| </option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="73793225" data-scoped-search-url="/ying32/htmlparser/search" data-unscoped-search-url="/search" action="/ying32/htmlparser/search" accept-charset="UTF-8" method="get"> |
| <label class="form-control input-sm header-search-wrapper p-0 header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center js-chromeless-input-container"> |
| <input type="text" |
| class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable" |
| data-hotkey="s,/" |
| name="q" |
| value="" |
| placeholder="Search" |
| data-unscoped-placeholder="Search GitHub" |
| data-scoped-placeholder="Search" |
| autocapitalize="off" |
| aria-autocomplete="list" |
| aria-controls="jump-to-results" |
| aria-label="Search" |
| data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" |
| spellcheck="false" |
| autocomplete="off" |
| > |
| <input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="qZdPVXkxRUdHeufFsN5U8ezf4pKq5AQGcCWANikTkq8Ikt3GuUwKCLEqV1tNjp13CIwS4ZDTxK78at1Zwy3jFg==" /> |
| <input type="hidden" class="js-site-search-type-field" name="type" > |
| <img src="https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash"> |
|
|
| <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> |
| |
| <ul class="d-none js-jump-to-suggestions-template-container"> |
| |
|
|
| <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> |
| <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> |
| <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> |
| <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> |
| <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 00-1 1v14a1 1 0 001 1h13a1 1 0 001-1V1a1 1 0 00-1-1z"/></svg> |
| <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0013 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 000-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> |
| </div> |
|
|
| <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> |
|
|
| <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> |
| </div> |
|
|
| <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> |
| <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> |
| In this repository |
| </span> |
| <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> |
| All GitHub |
| </span> |
| <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> |
| </div> |
|
|
| <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> |
| Jump to |
| <span class="d-inline-block ml-1 v-align-middle">↵</span> |
| </div> |
| </a> |
| </li> |
|
|
| </ul> |
|
|
| <ul class="d-none js-jump-to-no-results-template-container"> |
| <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> |
| <span class="text-gray">No suggested jump to results</span> |
| </li> |
| </ul> |
|
|
| <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> |
| |
|
|
| <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> |
| <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> |
| <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> |
| <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> |
| <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 00-1 1v14a1 1 0 001 1h13a1 1 0 001-1V1a1 1 0 00-1-1z"/></svg> |
| <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0013 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 000-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> |
| </div> |
|
|
| <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> |
|
|
| <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> |
| </div> |
|
|
| <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> |
| <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> |
| In this repository |
| </span> |
| <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> |
| All GitHub |
| </span> |
| <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> |
| </div> |
|
|
| <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> |
| Jump to |
| <span class="d-inline-block ml-1 v-align-middle">↵</span> |
| </div> |
| </a> |
| </li> |
|
|
| |
|
|
| <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> |
| <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> |
| <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> |
| <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> |
| <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 00-1 1v14a1 1 0 001 1h13a1 1 0 001-1V1a1 1 0 00-1-1z"/></svg> |
| <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0013 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 000-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> |
| </div> |
|
|
| <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> |
|
|
| <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> |
| </div> |
|
|
| <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> |
| <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> |
| In this repository |
| </span> |
| <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> |
| All GitHub |
| </span> |
| <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> |
| </div> |
|
|
| <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> |
| Jump to |
| <span class="d-inline-block ml-1 v-align-middle">↵</span> |
| </div> |
| </a> |
| </li> |
|
|
|
|
| </ul> |
|
|
| </div> |
| </label> |
| </form> </div> |
| </div> |
|
|
| </div> |
|
|
| <a href="/login?return_to=%2Fying32%2Fhtmlparser" |
| class="HeaderMenu-link no-underline mr-3" |
| data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="9139bc3b33adbbe1b48fe8eaa49e0d0a0e985bad5bdabf971a246ebb005cbaa9" |
| data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in"> |
| Sign in |
| </a> |
| <a href="/join?source_repo=ying32%2Fhtmlparser" |
| class="HeaderMenu-link d-inline-block no-underline border border-gray-dark rounded-1 px-2 py-1" |
| data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="9139bc3b33adbbe1b48fe8eaa49e0d0a0e985bad5bdabf971a246ebb005cbaa9" |
| data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up"> |
| Sign up |
| </a> |
| </div> |
| </div> |
| </div> |
| </header> |
|
|
| </div> |
|
|
| <div id="start-of-content" class="show-on-focus"></div> |
|
|
|
|
| <div id="js-flash-container"> |
|
|
| </div> |
|
|
|
|
| |
|
|
| <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment> |
|
|
|
|
|
|
|
|
| <div class="application-main " data-commit-hovercards-enabled> |
| <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> |
| <main id="js-repo-pjax-container" data-pjax-container > |
| |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| <div class="pagehead repohead hx_repohead readability-menu bg-gray-light pb-0 pt-3"> |
|
|
| <div class="container-lg mb-4 px-3 d-flex"> |
|
|
| <div class="flex-auto min-width-0 width-fit mr-3"> |
| <h1 class="public d-flex flex-wrap flex-items-center break-word float-none "> |
| <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> |
| <span class="author ml-1 flex-self-stretch" itemprop="author"> |
| <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/ying32/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/ying32">ying32</a> |
| </span> |
| <span class="path-divider flex-self-stretch">/</span> |
| <strong itemprop="name" class="mr-2 flex-self-stretch"> |
| <a data-pjax="#js-repo-pjax-container" href="/ying32/htmlparser">htmlparser</a> |
| </strong> |
| |
| </h1> |
|
|
|
|
| </div> |
|
|
| <ul class="pagehead-actions flex-shrink-0" > |
|
|
|
|
|
|
|
|
| <li> |
| |
| <a class="tooltipped tooltipped-s btn btn-sm btn-with-count" aria-label="You must be signed in to watch a repository" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="76825a3e2589c03ff59a092a302426c66f89b46881008a8d76c44e29b8d7e012" href="/login?return_to=%2Fying32%2Fhtmlparser"> |
| <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg> |
| Watch |
| </a> <a class="social-count" href="/ying32/htmlparser/watchers" |
| aria-label="12 users are watching this repository"> |
| 12 |
| </a> |
|
|
| </li> |
|
|
| <li> |
| <a class="btn btn-sm btn-with-count tooltipped tooltipped-s" aria-label="You must be signed in to star a repository" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":73793225,"auth_type":"LOG_IN","originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="db2d33b4ca51b1412e68e2db64f210500d5069c5f3ae04e34db4d08102c41249" href="/login?return_to=%2Fying32%2Fhtmlparser"> |
| <svg height="16" class="octicon octicon-star v-align-text-bottom" vertical_align="text_bottom" viewBox="0 0 14 16" version="1.1" width="14" aria-hidden="true"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"/></svg> |
|
|
| Star |
| </a> |
| <a class="social-count js-social-count" href="/ying32/htmlparser/stargazers" |
| aria-label="56 users starred this repository"> |
| 56 |
| </a> |
|
|
| </li> |
|
|
| <li> |
| <a class="btn btn-sm btn-with-count tooltipped tooltipped-s" aria-label="You must be signed in to fork a repository" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":73793225,"auth_type":"LOG_IN","originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="b9e7485b8b66c9a99ab172bb72d8249516f20e4135c57b90801ba9dbcd5c7bba" href="/login?return_to=%2Fying32%2Fhtmlparser"> |
| <svg class="octicon octicon-repo-forked v-align-text-bottom" viewBox="0 0 10 16" version="1.1" width="10" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 00-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 002 1a1.993 1.993 0 00-1 3.72V6.5l3 3v1.78A1.993 1.993 0 005 15a1.993 1.993 0 001-3.72V9.5l3-3V4.72A1.993 1.993 0 008 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg> |
| Fork |
| </a> |
| <a href="/ying32/htmlparser/network/members" class="social-count" |
| aria-label="28 users forked this repository"> |
| 28 |
| </a> |
| </li> |
| </ul> |
|
|
| </div> |
| |
| <nav class="hx_reponav reponav js-repo-nav js-sidenav-container-pjax clearfix container-lg px-3" |
| itemscope |
| itemtype="http://schema.org/BreadcrumbList" |
| aria-label="Repository" |
| data-pjax="#js-repo-pjax-container"> |
|
|
| <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> |
| <a class="js-selected-navigation-item selected reponav-item" itemprop="url" data-hotkey="g c" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /ying32/htmlparser" href="/ying32/htmlparser"> |
| <div class="d-inline"><svg class="octicon octicon-code" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg></div> |
| <span itemprop="name">Code</span> |
| <meta itemprop="position" content="1"> |
| </a> </span> |
|
|
| <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> |
| <a itemprop="url" data-hotkey="g i" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /ying32/htmlparser/issues" href="/ying32/htmlparser/issues"> |
| <div class="d-inline"><svg class="octicon octicon-issue-opened" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 011.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg></div> |
| <span itemprop="name">Issues</span> |
| <span class="Counter">1</span> |
| <meta itemprop="position" content="2"> |
| </a> </span> |
|
|
| <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> |
| <a data-hotkey="g p" data-skip-pjax="true" itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /ying32/htmlparser/pulls" href="/ying32/htmlparser/pulls"> |
| <div class="d-inline"><svg class="octicon octicon-git-pull-request" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0010 15a1.993 1.993 0 001-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 00-1 3.72v6.56A1.993 1.993 0 002 15a1.993 1.993 0 001-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg></div> |
| <span itemprop="name">Pull requests</span> |
| <span class="Counter">0</span> |
| <meta itemprop="position" content="4"> |
| </a> </span> |
|
|
|
|
| <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement" class="position-relative float-left"> |
| <a data-hotkey="g w" data-skip-pjax="true" class="js-selected-navigation-item reponav-item" data-selected-links="repo_actions /ying32/htmlparser/actions" href="/ying32/htmlparser/actions"> |
| <div class="d-inline"><svg class="octicon octicon-play" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 8A7 7 0 110 8a7 7 0 0114 0zm-8.223 3.482l4.599-3.066a.5.5 0 000-.832L5.777 4.518A.5.5 0 005 4.934v6.132a.5.5 0 00.777.416z"/></svg></div> |
| Actions |
| </a> |
| </span> |
|
|
| <a data-hotkey="g b" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /ying32/htmlparser/projects" href="/ying32/htmlparser/projects"> |
| <div class="d-inline"><svg class="octicon octicon-project" viewBox="0 0 15 16" version="1.1" width="15" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 00-1 1v14a1 1 0 001 1h13a1 1 0 001-1V1a1 1 0 00-1-1z"/></svg></div> |
| Projects |
| <span class="Counter">0</span> |
| </a> |
|
|
| <a data-skip-pjax="true" class="js-selected-navigation-item reponav-item" data-selected-links="security alerts policy token_scanning code_scanning /ying32/htmlparser/security/advisories" href="/ying32/htmlparser/security/advisories"> |
| <div class="d-inline"><svg class="octicon octicon-shield" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 2l7-2 7 2v6.02C14 12.69 8.69 16 7 16c-1.69 0-7-3.31-7-7.98V2zm1 .75L7 1l6 1.75v5.268C13 12.104 8.449 15 7 15c-1.449 0-6-2.896-6-6.982V2.75zm1 .75L7 2v12c-1.207 0-5-2.482-5-5.985V3.5z"/></svg></div> |
| Security |
| </a> |
| <a class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors dependency_graph pulse people /ying32/htmlparser/pulse" href="/ying32/htmlparser/pulse"> |
| <div class="d-inline"><svg class="octicon octicon-graph" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg></div> |
| Insights |
| </a> |
|
|
| </nav> |
|
|
|
|
| </div> |
|
|
|
|
| <div class="container-lg clearfix new-discussion-timeline px-3"> |
| <div class="repository-content "> |
|
|
| |
| |
| <div class="signup-prompt-bg rounded-1 js-signup-prompt" data-prompt="signup" hidden> |
| <div class="signup-prompt p-4 text-center mb-4 rounded-1"> |
| <div class="position-relative"> |
| <button type="button" class="position-absolute top-0 right-0 btn-link link-gray js-signup-prompt-button" data-ga-click="(Logged out) Sign up prompt, clicked Dismiss, text:dismiss"> |
| Dismiss |
| </button> |
| <h3 class="pt-2">Join GitHub today</h3> |
| <p class="col-6 mx-auto">GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.</p> |
| <a class="btn btn-primary" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"files signup prompt","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="ff9071a777691f496b6e724749b17ae89213a5c0ee1c59300508ab4100510b3e" data-ga-click="(Logged out) Sign up prompt, clicked Sign up, text:sign-up" href="/join?source=prompt-code&source_repo=ying32%2Fhtmlparser">Sign up</a> |
| </div> |
| </div> |
| </div> |
|
|
|
|
| <div class=""> <div class="f4"> |
| <span class="text-gray-dark mr-2" itemprop="about"> |
| delphi html parser(代码是改自原wr960204的HtmlParser) |
| </span> |
| </div> |
| </div> |
|
|
| <div class="repository-topics-container mt-2 mb-3 js-topics-list-container"> <div class="list-topics-container f6"> |
| <a class="topic-tag topic-tag-link " href="/topics/html-parser" title="Topic: html-parser" data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:html-parser"> |
| html-parser |
| </a> |
|
|
| </div> |
| </div> |
|
|
|
|
|
|
| <div class="overall-summary border-bottom-0 mb-0 rounded-bottom-0"> |
| <ul class="numbers-summary"> |
| <li class="commits"> |
| <a data-pjax href="/ying32/htmlparser/commits/master"> |
| <svg class="octicon octicon-history" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 13H6V6h5v2H8v5zM7 1C4.81 1 2.87 2.02 1.59 3.59L0 2v4h4L2.5 4.5C3.55 3.17 5.17 2.3 7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 011.3 8c0-.34.03-.67.09-1H.08C.03 7.33 0 7.66 0 8c0 3.86 3.14 7 7 7s7-3.14 7-7-3.14-7-7-7z"/></svg> |
| <span class="num text-emphasized"> |
| 23 |
| </span> |
| commits |
| </a> |
| </li> |
| <li> |
| <a data-pjax href="/ying32/htmlparser/branches"> |
| <svg class="octicon octicon-git-branch" viewBox="0 0 10 16" version="1.1" width="10" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 5c0-1.11-.89-2-2-2a1.993 1.993 0 00-1 3.72v.3c-.02.52-.23.98-.63 1.38-.4.4-.86.61-1.38.63-.83.02-1.48.16-2 .45V4.72a1.993 1.993 0 00-1-3.72C.88 1 0 1.89 0 3a2 2 0 001 1.72v6.56c-.59.35-1 .99-1 1.72 0 1.11.89 2 2 2 1.11 0 2-.89 2-2 0-.53-.2-1-.53-1.36.09-.06.48-.41.59-.47.25-.11.56-.17.94-.17 1.05-.05 1.95-.45 2.75-1.25S8.95 7.77 9 6.73h-.02C9.59 6.37 10 5.73 10 5zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm0 12.41c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm6-8c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg> |
| <span class="num text-emphasized"> |
| 1 |
| </span> |
| branch |
| </a> |
| </li> |
|
|
| <li> |
| <a data-pjax href="/ying32/htmlparser/packages" data-ga-click="Repository, packages click, location:repo overview"> |
| <svg class="octicon octicon-package" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg> |
| <span class="num text-emphasized"> |
| 0 |
| </span> |
| packages |
| </a> |
|
|
| </li> |
|
|
| <li> |
| <a href="/ying32/htmlparser/releases"> |
| <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg> |
| <span class="num text-emphasized"> |
| 0 |
| </span> |
| releases |
| </a> |
| </li> |
|
|
|
|
| <li > |
| <include-fragment src="/ying32/htmlparser/contributors_size"> |
| <a href="/ying32/htmlparser/graphs/contributors"> |
| <svg class="octicon octicon-organization" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M16 12.999c0 .439-.45 1-1 1H7.995c-.539 0-.994-.447-.995-.999H1c-.54 0-1-.561-1-1 0-2.634 3-4 3-4s.229-.409 0-1c-.841-.621-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.442.58 2.5 3c.058 2.41-.159 2.379-1 3-.229.59 0 1 0 1s1.549.711 2.42 2.088C9.196 9.369 10 8.999 10 8.999s.229-.409 0-1c-.841-.62-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.437.581 2.495 3c.059 2.41-.158 2.38-1 3-.229.59 0 1 0 1s3.005 1.366 3.005 4z"/></svg> |
| <span class="num text-emphasized"></span> |
| Fetching contributors |
| </a> |
| </include-fragment> </li> |
|
|
| <li> |
| <a href="/ying32/htmlparser/blob/master/LICENSE"> |
| <svg class="octicon octicon-law" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7 4c-.83 0-1.5-.67-1.5-1.5S6.17 1 7 1s1.5.67 1.5 1.5S7.83 4 7 4zm7 6c0 1.11-.89 2-2 2h-1c-1.11 0-2-.89-2-2l2-4h-1c-.55 0-1-.45-1-1H8v8c.42 0 1 .45 1 1h1c.42 0 1 .45 1 1H3c0-.55.58-1 1-1h1c0-.55.58-1 1-1h.03L6 5H5c0 .55-.45 1-1 1H3l2 4c0 1.11-.89 2-2 2H2c-1.11 0-2-.89-2-2l2-4H1V5h3c0-.55.45-1 1-1h4c.55 0 1 .45 1 1h3v1h-1l2 4zM2.5 7L1 10h3L2.5 7zM13 10l-1.5-3-1.5 3h3z"/></svg> |
| MIT |
| </a> |
| </li> |
| </ul> |
| </div> |
|
|
| <details class="details-reset"> |
| <summary title="Click for language details" data-ga-click="Repository, language bar stats toggle, location:repo overview"> |
| <div class="d-flex repository-lang-stats-graph"> |
| <span class="language-color" aria-label="Pascal 100.0%" style="width:100.0%; background-color:#E3F171;" itemprop="keywords">Pascal</span> |
| </div> |
| </summary> |
| <div class="repository-lang-stats"> |
| <ol class="repository-lang-stats-numbers"> |
| <li> |
| <a href="/ying32/htmlparser/search?l=pascal" data-ga-click="Repository, language stats search click, location:repo overview"> |
| <span class="color-block language-color" style="background-color:#E3F171;"></span> |
| <span class="lang">Pascal</span> |
| <span class="percent">100.0%</span> |
| </a> |
| </li> |
| </ol> |
| </div> |
| </details> |
|
|
|
|
|
|
|
|
|
|
|
|
| <div class="file-navigation in-mid-page d-flex flex-items-start"> |
| |
| <details class="details-reset details-overlay branch-select-menu " id="branch-select-menu"> |
| <summary class="btn btn-sm css-truncate" |
| data-hotkey="w" |
| title="Switch branches or tags"> |
| <i>Branch:</i> |
| <span class="css-truncate-target" data-menu-button>master</span> |
| <span class="dropdown-caret"></span> |
| </summary> |
|
|
| <details-menu class="SelectMenu SelectMenu--hasFilter" src="/ying32/htmlparser/refs/master?source_action=disambiguate&source_controller=files" preload> |
| <div class="SelectMenu-modal"> |
| <include-fragment class="SelectMenu-loading" aria-label="Menu is loading"> |
| <svg class="octicon octicon-octoface anim-pulse" height="32" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M14.7 5.34c.13-.32.55-1.59-.13-3.31 0 0-1.05-.33-3.44 1.3-1-.28-2.07-.32-3.13-.32s-2.13.04-3.13.32c-2.39-1.64-3.44-1.3-3.44-1.3-.68 1.72-.26 2.99-.13 3.31C.49 6.21 0 7.33 0 8.69 0 13.84 3.33 15 7.98 15S16 13.84 16 8.69c0-1.36-.49-2.48-1.3-3.35zM8 14.02c-3.3 0-5.98-.15-5.98-3.35 0-.76.38-1.48 1.02-2.07 1.07-.98 2.9-.46 4.96-.46 2.07 0 3.88-.52 4.96.46.65.59 1.02 1.3 1.02 2.07 0 3.19-2.68 3.35-5.98 3.35zM5.49 9.01c-.66 0-1.2.8-1.2 1.78s.54 1.79 1.2 1.79c.66 0 1.2-.8 1.2-1.79s-.54-1.78-1.2-1.78zm5.02 0c-.66 0-1.2.79-1.2 1.78s.54 1.79 1.2 1.79c.66 0 1.2-.8 1.2-1.79s-.53-1.78-1.2-1.78z"/></svg> |
| </include-fragment> |
| </div> |
| </details-menu> |
| </details> |
|
|
|
|
| <button type="button" class="btn btn-sm disabled tooltipped tooltipped-n new-pull-request-btn" aria-label="You must be signed in to create a pull request"> |
| New pull request |
| </button> |
|
|
| <div class="breadcrumb flex-auto"> |
| |
| </div> |
|
|
| <div class="BtnGroup"> |
|
|
| <a class="btn btn-sm empty-icon float-right BtnGroup-item" data-hydro-click="{"event_type":"repository.click","payload":{"target":"FIND_FILE_BUTTON","repository_id":73793225,"originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="b06c7dbdd06ab6ba8adb5e5a68ef08325c890a521e0a269298525f2828967be0" data-ga-click="Repository, find file, location:repo overview" data-hotkey="t" data-pjax="true" href="/ying32/htmlparser/find/master">Find file</a> |
| </div> |
|
|
| |
|
|
|
|
| |
|
|
| <details class="get-repo-select-menu js-get-repo-select-menu js-anon-get-repo-select-menu position-relative details-overlay details-reset"> |
| <summary class="btn btn-sm ml-2 btn-primary" data-hydro-click="{"event_type":"repository.click","payload":{"repository_id":73793225,"target":"CLONE_OR_DOWNLOAD_BUTTON","originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="5248726bacd35092bb213f5fd8722e1a6b993b79651df3941969ab051d31d0e6"> |
| Clone or download |
| <span class="dropdown-caret"></span> |
| </summary> <div class="position-relative"> |
| <div class="get-repo-modal dropdown-menu dropdown-menu-sw pb-0 js-toggler-container js-get-repo-modal"> |
|
|
| <div class="get-repo-modal-options"> |
| <div class="clone-options https-clone-options"> |
|
|
| <h4 class="mb-1"> |
| Clone with HTTPS |
| <a class="muted-link" href="https://help.github.com/articles/which-remote-url-should-i-use" target="_blank" title="Which remote URL should I use?"> |
| <svg class="octicon octicon-question" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M6 10h2v2H6v-2zm4-3.5C10 8.64 8 9 8 9H6c0-.55.45-1 1-1h.5c.28 0 .5-.22.5-.5v-1c0-.28-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5V7H4c0-1.5 1.5-3 3-3s3 1 3 2.5zM7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 011.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7z"/></svg> |
| </a> |
| </h4> |
| <p class="mb-2 get-repo-decription-text"> |
| Use Git or checkout with SVN using the web URL. |
| </p> |
|
|
| <div class="input-group"> |
| <input type="text" class="form-control input-monospace input-sm" data-autoselect value="https://github.com/ying32/htmlparser.git" aria-label="Clone this repository at https://github.com/ying32/htmlparser.git" readonly> |
| <div class="input-group-button"> |
| <clipboard-copy value="https://github.com/ying32/htmlparser.git" aria-label="Copy to clipboard" class="btn btn-sm" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"COPY_URL","git_repository_type":"REPOSITORY","repository_id":73793225,"originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="720bd51e03289078ddf4b8b1e97cb7b754321ae96df6d42755cd9152cd0f2de7"><svg class="octicon octicon-clippy" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"/></svg></clipboard-copy> |
| </div> |
| </div> |
|
|
| </div> |
|
|
| <div class="mt-2"> |
| <a class="btn btn-outline get-repo-btn tooltipped tooltipped-s tooltipped-multiline js-remove-unless-platform js-get-repo" aria-label="Clone ying32/htmlparser to your computer and use it in GitHub Desktop." data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"OPEN_IN_DESKTOP","git_repository_type":"REPOSITORY","repository_id":73793225,"originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="b7161746a671437e4a06a4e88506bfb78725e1e0dfd73af78962b2cd49a7a307" data-platforms="windows,mac" href="https://desktop.github.com">Open in Desktop</a> |
|
|
| <a class="btn btn-outline get-repo-btn js-anon-download-zip-link " rel="nofollow" data-hydro-click="{"event_type":"clone_or_download.click","payload":{"feature_clicked":"DOWNLOAD_ZIP","git_repository_type":"REPOSITORY","repository_id":73793225,"originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="d987780dc90b73bceae98511abaa1845c330269e19464d417c52ecc650320230" data-ga-click="Repository, download zip, location:repo overview" href="/ying32/htmlparser/archive/master.zip">Download ZIP</a> |
|
|
| </div> |
| </div> |
|
|
| <div class="js-modal-downloading" hidden> |
| <div class="py-2 px-3"> |
| <h4 class="lh-condensed mb-3">Downloading<span class="AnimatedEllipsis"></span></h4> |
| <p class="text-gray"> |
| Want to be notified of new releases in |
| <span class="text-bold">ying32/htmlparser</span>? |
| </p> |
| </div> |
| <div class="width-full d-flex"> |
| <a rel="nofollow" class="get-repo-btn btn btn-outline" style="width: 50%" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"download popover","repository_id":73793225,"auth_type":"LOG_IN","originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="61ec2e03cc15d8b76948266f6f0cec971f909b45fca615df41e88cc9c0dd56f9" href="/login?return_to=https%3A%2F%2Fgithub.com%2Fying32%2Fhtmlparser">Sign in</a> |
| <a rel="nofollow" class="get-repo-btn btn btn-primary" style="width: 50%" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"download popover","repository_id":73793225,"auth_type":"SIGN_UP","originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" data-hydro-click-hmac="563d04cac1118acaadec2108d2f3bb0fd7bca72731365686a5473a360d931151" href="/join?branch=master&source=download&source_repo=ying32%2Fhtmlparser">Sign up</a> |
| </div> |
| </div> |
|
|
| <div class="js-modal-download-mac py-2 px-3 d-none"> |
| <h4 class="lh-condensed mb-3">Launching GitHub Desktop<span class="AnimatedEllipsis"></span></h4> |
| <p class="text-gray">If nothing happens, <a href="https://desktop.github.com/">download GitHub Desktop</a> and try again.</p> |
| <p><button class="btn-link js-get-repo-modal-download-back">Go back</button></p> |
| </div> |
|
|
| <div class="js-modal-download-windows py-2 px-3 d-none"> |
| <h4 class="lh-condensed mb-3">Launching GitHub Desktop<span class="AnimatedEllipsis"></span></h4> |
| <p class="text-gray">If nothing happens, <a href="https://desktop.github.com/">download GitHub Desktop</a> and try again.</p> |
| <p><button class="btn-link js-get-repo-modal-download-back">Go back</button></p> |
| </div> |
|
|
| <div class="js-modal-download-xcode py-2 px-3 d-none"> |
| <h4 class="lh-condensed mb-3">Launching Xcode<span class="AnimatedEllipsis"></span></h4> |
| <p class="text-gray">If nothing happens, <a href="https://developer.apple.com/xcode/">download Xcode</a> and try again.</p> |
| <p><button class="btn-link js-get-repo-modal-download-back">Go back</button></p> |
| </div> |
|
|
| <div class="js-modal-download-visual-studio py-2 px-3 d-none"> |
| <h4 class="lh-condensed mb-3">Launching Visual Studio<span class="AnimatedEllipsis"></span></h4> |
| <p class="text-gray">If nothing happens, <a href="https://visualstudio.github.com/">download the GitHub extension for Visual Studio</a> and try again.</p> |
| <p><button class="btn-link js-get-repo-modal-download-back">Go back</button></p> |
| </div> |
|
|
| </div> |
| </div> |
| </details> |
|
|
|
|
| </div> |
|
|
|
|
|
|
| <div class="Box mb-3 Box--condensed"> |
| <div class="Box-header Box-header--blue position-relative " |
| style="margin-bottom:-1px;"> |
| <h2 class="sr-only">Latest commit</h2> |
| <div class="commit-tease js-details-container Details d-flex rounded-top-1 flex-auto" data-issue-and-pr-hovercards-enabled> |
| |
| |
| <div class="AvatarStack flex-self-start "> |
| <div class="AvatarStack-body" aria-label="ying32"> |
| <a class="avatar" data-skip-pjax="true" data-hovercard-type="user" data-hovercard-url="/users/ying32/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/ying32"> |
| <img height="20" width="20" alt="@ying32" src="https://avatars1.githubusercontent.com/u/7037165?s=60&v=4" /> |
| </a> </div> |
| </div> |
|
|
| <div class="flex-auto f6 mr-3"> |
| |
| <a href="/ying32/htmlparser/commits?author=ying32" |
| class="commit-author tooltipped tooltipped-s user-mention" |
| aria-label="View all commits by ying32">ying32</a> |
|
|
|
|
| |
|
|
|
|
| <a data-pjax="true" title="Merge pull request #8 from edwinyzh/master |
|
|
| Fixed: a range check error in Init which is called by the unit's init…" class="message text-inherit" href="/ying32/htmlparser/commit/1bafa5a9be1b44e8dee1b2bb4c2ab6299d3bdce2">Merge pull request</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="565719173" data-permission-text="Title is private" data-url="https://github.com/ying32/htmlparser/issues/8" data-hovercard-type="pull_request" data-hovercard-url="/ying32/htmlparser/pull/8/hovercard" href="https://github.com/ying32/htmlparser/pull/8">#8</a> <a data-pjax="true" title="Merge pull request #8 from edwinyzh/master |
|
|
| Fixed: a range check error in Init which is called by the unit's init…" class="message text-inherit" href="/ying32/htmlparser/commit/1bafa5a9be1b44e8dee1b2bb4c2ab6299d3bdce2">from edwinyzh/master</a> |
| <span class="hidden-text-expander inline"> |
| <button type="button" class="ellipsis-expander js-details-target" aria-expanded="false">…</button> |
| </span> |
|
|
| <div class="commit-desc"><pre class="text-small">Fixed: a range check error in Init which is called by the unit's init…</pre></div> |
| </div> |
| <div class="no-wrap d-flex flex-self-start flex-items-baseline"> |
| <span class="mr-2 flex-self-center"> |
| <include-fragment accept="text/fragment+html" src="/ying32/htmlparser/commit/1bafa5a9be1b44e8dee1b2bb4c2ab6299d3bdce2/rollup" class="d-inline"></include-fragment> |
| </span> |
| <span class="mr-1">Latest commit</span> |
| <a class="commit-tease-sha mr-1" href="/ying32/htmlparser/commit/1bafa5a9be1b44e8dee1b2bb4c2ab6299d3bdce2" data-pjax> |
| 1bafa5a |
| </a> |
| <span itemprop="dateModified"><relative-time datetime="2020-03-04T08:45:09Z" class="no-wrap">Mar 4, 2020</relative-time></span> |
| </div> |
| </div> |
| </div> |
| <h2 id="files" class="sr-only">Files</h2> |
| |
|
|
| <include-fragment src="/ying32/htmlparser/file-list/master"> |
| <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/ying32/htmlparser/tree/1bafa5a9be1b44e8dee1b2bb4c2ab6299d3bdce2">Permalink</a> |
|
|
| <table class="files js-navigation-container js-active-navigation-container" data-pjax> |
| <thead> |
| <tr> |
| <th><span class="sr-only">Type</span></th> |
| <th><span class="sr-only">Name</span></th> |
| <th><span class="sr-only">Latest commit message</span></th> |
| <th><span class="sr-only">Commit time</span></th> |
| </tr> |
| </thead> |
|
|
|
|
| <tbody> |
| <tr class="warning include-fragment-error"> |
| <td class="icon"><svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 000 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 00.01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg></td> |
| <td class="content" colspan="3">Failed to load latest commit information.</td> |
| </tr> |
|
|
| <tr class="js-navigation-item"> |
| <td class="icon"> |
| <svg aria-label="file" class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" role="img"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg> |
| <img width="16" height="16" class="spinner" alt="" src="https://github.githubassets.com/images/spinners/octocat-spinner-32.gif" /> |
| </td> |
| <td class="content"> |
| <span class="css-truncate css-truncate-target"><a class="js-navigation-open " title=".gitignore" id="a084b794bc0759e7a6b77810e01874f2-19864c6bbefbdfa7da3dfba8c41b193faa245a7e" href="/ying32/htmlparser/blob/master/.gitignore">.gitignore</a></span> |
| </td> |
| <td class="message"> |
| <span class="css-truncate css-truncate-target"> |
| <a data-pjax="true" title="Initial commit" class="link-gray" href="/ying32/htmlparser/commit/a9714d64bc7a488ff23a833ca4f77ab848571015">Initial commit</a> |
| </span> |
| </td> |
| <td class="age"> |
| <span class="css-truncate css-truncate-target"><time-ago datetime="2016-11-15T08:35:09Z" class="no-wrap">Nov 15, 2016</time-ago></span> |
| </td> |
| </tr> |
| <tr class="js-navigation-item"> |
| <td class="icon"> |
| <svg aria-label="file" class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" role="img"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg> |
| <img width="16" height="16" class="spinner" alt="" src="https://github.githubassets.com/images/spinners/octocat-spinner-32.gif" /> |
| </td> |
| <td class="content"> |
| <span class="css-truncate css-truncate-target"><a class="js-navigation-open " title="HtmlParserEx.pas" id="3973f6fe8e84fd1be3aa775e3a68f4e4-9061f54bbecbddd19017e22c07f7ea6c0bd8560a" href="/ying32/htmlparser/blob/master/HtmlParserEx.pas">HtmlParserEx.pas</a></span> |
| </td> |
| <td class="message"> |
| <span class="css-truncate css-truncate-target"> |
| <a data-pjax="true" title="Fixed: a range check error in Init which is called by the unit's initialization section." class="link-gray" href="/ying32/htmlparser/commit/48f074e1eef7064a9056e8f606e27feb042c868c">Fixed: a range check error in Init which is called by the unit's init…</a> |
| </span> |
| </td> |
| <td class="age"> |
| <span class="css-truncate css-truncate-target"><time-ago datetime="2020-02-15T08:51:37Z" class="no-wrap">Feb 15, 2020</time-ago></span> |
| </td> |
| </tr> |
| <tr class="js-navigation-item"> |
| <td class="icon"> |
| <svg aria-label="file" class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" role="img"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg> |
| <img width="16" height="16" class="spinner" alt="" src="https://github.githubassets.com/images/spinners/octocat-spinner-32.gif" /> |
| </td> |
| <td class="content"> |
| <span class="css-truncate css-truncate-target"><a class="js-navigation-open " title="LICENSE" id="9879d6db96fd29134fc802214163b95a-a8fc85148989bb19ca3c1b7b1b617fa087f2d862" itemprop="license" href="/ying32/htmlparser/blob/master/LICENSE">LICENSE</a></span> |
| </td> |
| <td class="message"> |
| <span class="css-truncate css-truncate-target"> |
| </span> |
| </td> |
| <td class="age"> |
| <span class="css-truncate css-truncate-target"></span> |
| </td> |
| </tr> |
| <tr class="js-navigation-item"> |
| <td class="icon"> |
| <svg aria-label="file" class="octicon octicon-file" viewBox="0 0 12 16" version="1.1" width="12" height="16" role="img"><path fill-rule="evenodd" d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg> |
| <img width="16" height="16" class="spinner" alt="" src="https://github.githubassets.com/images/spinners/octocat-spinner-32.gif" /> |
| </td> |
| <td class="content"> |
| <span class="css-truncate css-truncate-target"><a class="js-navigation-open " title="README.md" id="04c6e90faac2675aa89e2176d2eec7d8-0d0279a36d698de42a10b3c045993de21b418a34" href="/ying32/htmlparser/blob/master/README.md">README.md</a></span> |
| </td> |
| <td class="message"> |
| <span class="css-truncate css-truncate-target"> |
| </span> |
| </td> |
| <td class="age"> |
| <span class="css-truncate css-truncate-target"></span> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
|
|
| </include-fragment> |
|
|
|
|
|
|
| </div> |
|
|
| <div id="readme" class="Box Box--condensed md js-code-block-container"> |
| <div class="Box-header d-flex flex-items-center flex-justify-between "> |
| <h2 class="Box-title pr-3"> |
| <svg class="octicon octicon-book" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z"/></svg> |
| README.md |
| </h2> |
| </div> |
| <div class="Popover anim-scale-in js-tagsearch-popover" |
| hidden |
| data-tagsearch-url="/ying32/htmlparser/find-symbols" |
| data-tagsearch-ref="master" |
| data-tagsearch-path="README.md" |
| data-tagsearch-lang="Markdown" |
| data-hydro-click="{"event_type":"code_navigation.click_on_symbol","payload":{"action":"click_on_symbol","repository_id":73793225,"ref":"master","language":"Markdown","originating_url":"https://github.com/ying32/htmlparser","user_id":null}}" |
| data-hydro-click-hmac="3fb42343354f8e7eb9403d88747e36b00b4f4ee74b48edc3af9cb2318d58cbcd"> |
| <div class="Popover-message Popover-message--large Popover-message--top-left TagsearchPopover mt-1 mb-4 mx-auto Box box-shadow-large"> |
| <div class="TagsearchPopover-content js-tagsearch-popover-content overflow-auto" style="will-change:transform;"> |
| </div> |
| </div> |
| </div> |
|
|
| <div class="Box-body"> |
| <article class="markdown-body entry-content p-5" itemprop="text"><h1><a id="user-content-htmlparser" class="anchor" aria-hidden="true" href="#htmlparser"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>htmlparser</h1> |
| <p>delphi html parser</p> |
| <p>代码是改自原wr960204的<a href="http://www.raysoftware.cn/?p=370" rel="nofollow">HtmlParser</a>,因为自己的需求需要对html进行修改操作,但无奈只支持读取操作,所以在此基础上做了修改并命名为HtmlParserEx.pas与之区别。</p> |
| <h4><a id="user-content-使用" class="anchor" aria-hidden="true" href="#使用"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>使用</h4> |
| <div class="highlight highlight-source-pascal"><pre><span class="pl-c"><span class="pl-c">//</span> 从文件加载示例</span> |
| <span class="pl-k">procedure</span> <span class="pl-en">Test</span>; |
| <span class="pl-k">var</span> |
| LHtml: IHtmlElement; |
| LList: IHtmlElementList; |
| LStrStream: TStringStream; |
| <span class="pl-k">begin</span> |
| LStrStream := TStringStream.Create(<span class="pl-s"><span class="pl-pds">'</span><span class="pl-pds">'</span></span>, TEncoding.UTF8); |
| <span class="pl-k">try</span> |
| LStrStream.LoadFromFile(<span class="pl-s"><span class="pl-pds">'</span>view-source_https___github.com_ying32_htmlparser.html<span class="pl-pds">'</span></span>); |
| LHtml := ParserHTML(LStrStream.DataString); |
| <span class="pl-k">if</span> LHtml <> <span class="pl-k">nil</span> <span class="pl-k">then</span> |
| <span class="pl-k">begin</span> |
| LList := LHtml.SimpleCSSSelector(<span class="pl-s"><span class="pl-pds">'</span>a<span class="pl-pds">'</span></span>); |
| <span class="pl-k">for</span> LHtml <span class="pl-k">in</span> LList <span class="pl-k">do</span> |
| Writeln(<span class="pl-s"><span class="pl-pds">'</span>url:<span class="pl-pds">'</span></span>, lhtml.Attributes[<span class="pl-s"><span class="pl-pds">'</span>href<span class="pl-pds">'</span></span>]); |
| <span class="pl-k">end</span>; |
| <span class="pl-k">finally</span> |
| LStrStream.Free; |
| <span class="pl-k">end</span>; |
| <span class="pl-k">end</span>;</pre></div> |
| <h4><a id="user-content-修改记录" class="anchor" aria-hidden="true" href="#修改记录"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>修改记录</h4> |
| <p>ying32修改记录:<br> |
| Email:<a href="mailto:1444386932@qq.com">1444386932@qq.com</a></p> |
| <p>2017年05月04日</p> |
| <p>1、去除RegularExpressions单元的引用,不再使用TRegEx改使用RegularExpressionsCore单元中的TPerlRegEx</p> |
| <p>2017年04月19日</p> |
| <p>1、增加使用XPath功能的编译指令"UseXPath",默认不使用XPath,个人感觉没什么用</p> |
| <p>2016年11月23日</p> |
| <p>1、简单支持XPath,简单的吧,利用xpath转css selector,嘿<br> |
| xpath转换的代码改自<a href="https://github.com/santiycr/cssify/blob/master/cssify.py">python版本</a></p> |
| <blockquote> |
| <p>IHtmlElement</p> |
| </blockquote> |
| <div class="highlight highlight-source-pascal"><pre> LHtml.FindX(<span class="pl-s"><span class="pl-pds">'</span>/html/head/title<span class="pl-pds">'</span></span>).Each( |
| procedure(AIndex: Integer; AEl: IHtmlElement) |
| <span class="pl-k">begin</span> |
| Writeln(<span class="pl-s"><span class="pl-pds">'</span>xpath index=<span class="pl-pds">'</span></span>, AIndex, <span class="pl-s"><span class="pl-pds">'</span>, a=<span class="pl-pds">'</span></span>, AEl.Text); |
| <span class="pl-k">end</span> |
| ); |
| </pre></div> |
| <p>2016年11月15日</p> |
| <blockquote> |
| </blockquote> |
| <p>IHtmlElement和THtmlElement的改变:<br> |
| 1、Attributes属性增加Set方法<br> |
| 2、TagName属性增加Set方法<br> |
| 3、增加Parent属性<br> |
| 4、增加RemoveAttr方法<br> |
| 5、增加Remove方法<br> |
| 6、增加RemoveChild方法<br> |
| 7、增加Find方法,此为SimpleCSSSelector的一个另名<br> |
| 8、_GetHtml不再直接附加FOrignal属性值,而是使用GetSelfHtml重新对修改后的元素进行赋值操作,并更新FOrignal的值<br> |
| 9、增加Text属性<br> |
| 10、修改InnerText与Text属性增加write功能 |
| 11、增加AppedChild方法</p> |
| <blockquote> |
| </blockquote> |
| <p>IHtmlElementList和THtmlElementList的改变:<br> |
| 1、增加RemoveAll方法<br> |
| 2、增加Remove方法<br> |
| 3、增加Each方法<br> |
| 4、增加Text属性</p> |
| <h4><a id="user-content-修改后的新功能的一些使用法" class="anchor" aria-hidden="true" href="#修改后的新功能的一些使用法"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>修改后的新功能的一些使用法</h4> |
| <blockquote> |
| <p>IHtmlElement</p> |
| </blockquote> |
| <div class="highlight highlight-source-pascal"><pre> <span class="pl-c"><span class="pl-c">//</span> 修改属性</span> |
| EL.Attributes[<span class="pl-s"><span class="pl-pds">'</span>class<span class="pl-pds">'</span></span>] := <span class="pl-s"><span class="pl-pds">'</span>xxxx<span class="pl-pds">'</span></span>; |
| <span class="pl-c"><span class="pl-c">//</span> 修改标记</span> |
| EL.TagName = <span class="pl-s"><span class="pl-pds">'</span>a<span class="pl-pds">'</span></span>; |
| <span class="pl-c"><span class="pl-c">//</span> 移除自己</span> |
| EL.Remove; |
| <span class="pl-c"><span class="pl-c">//</span> 移除子结点</span> |
| EL.RemoveChild(El2); |
| <span class="pl-c"><span class="pl-c">//</span> css选择器查找,简化用</span> |
| El.Find(<span class="pl-s"><span class="pl-pds">'</span>a<span class="pl-pds">'</span></span>); |
| <span class="pl-c"><span class="pl-c">//</span> 附加一个新的元素</span> |
| el2 := El.AppendChild(<span class="pl-s"><span class="pl-pds">'</span>a<span class="pl-pds">'</span></span>); |
| |
| </pre></div> |
| <blockquote> |
| <p>IHtmlElementList</p> |
| </blockquote> |
| <div class="highlight highlight-source-pascal"><pre> <span class="pl-c"><span class="pl-c">//</span> 移除选择的元素</span> |
| LHtml.Find(<span class="pl-s"><span class="pl-pds">'</span>a<span class="pl-pds">'</span></span>).RemoveAll; |
|
|
| <span class="pl-c"><span class="pl-c">//</span> 查找并遍沥</span> |
| LHtml.Find(<span class="pl-s"><span class="pl-pds">'</span>a<span class="pl-pds">'</span></span>).Each( |
| procedure(AIndex: Integer; AEl: IHtmlElement) |
| <span class="pl-k">begin</span> |
| Writeln(<span class="pl-s"><span class="pl-pds">'</span>Index=<span class="pl-pds">'</span></span>, AIndex, <span class="pl-s"><span class="pl-pds">'</span>, href=<span class="pl-pds">'</span></span>, AEl.Attributes[<span class="pl-s"><span class="pl-pds">'</span>href<span class="pl-pds">'</span></span>]); |
| <span class="pl-k">end</span>); |
|
|
| <span class="pl-c"><span class="pl-c">//</span> 直接输出,仅选中的第一个元素</span> |
| Writeln(LHtml.Find(<span class="pl-s"><span class="pl-pds">'</span>title<span class="pl-pds">'</span></span>).Text); |
| </pre></div> |
| </article> |
| </div> |
| </div> |
|
|
|
|
|
|
|
|
| </div> |
| </div> |
|
|
| </main> |
| </div> |
| |
|
|
| </div> |
|
|
| |
| <div class="footer container-lg width-full px-3" role="contentinfo"> |
| <div class="position-relative d-flex flex-justify-between pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light "> |
| <ul class="list-style-none d-flex flex-wrap "> |
| <li class="mr-3">© 2020 GitHub, Inc.</li> |
| <li class="mr-3"><a data-ga-click="Footer, go to terms, text:terms" href="https://github.com/site/terms">Terms</a></li> |
| <li class="mr-3"><a data-ga-click="Footer, go to privacy, text:privacy" href="https://github.com/site/privacy">Privacy</a></li> |
| <li class="mr-3"><a data-ga-click="Footer, go to security, text:security" href="https://github.com/security">Security</a></li> |
| <li class="mr-3"><a href="https://githubstatus.com/" data-ga-click="Footer, go to status, text:status">Status</a></li> |
| <li><a data-ga-click="Footer, go to help, text:help" href="https://help.github.com">Help</a></li> |
| </ul> |
|
|
| <a aria-label="Homepage" title="GitHub" class="footer-octicon d-none d-lg-block mx-lg-4" href="https://github.com"> |
| <svg height="24" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg> |
| </a> |
| <ul class="list-style-none d-flex flex-wrap "> |
| <li class="mr-3"><a data-ga-click="Footer, go to contact, text:contact" href="https://github.com/contact">Contact GitHub</a></li> |
| <li class="mr-3"><a href="https://github.com/pricing" data-ga-click="Footer, go to Pricing, text:Pricing">Pricing</a></li> |
| <li class="mr-3"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li> |
| <li class="mr-3"><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li> |
| <li class="mr-3"><a href="https://github.blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li> |
| <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li> |
|
|
| </ul> |
| </div> |
| <div class="d-flex flex-justify-center pb-6"> |
| <span class="f6 text-gray-light"></span> |
| </div> |
| </div> |
|
|
|
|
|
|
| <div id="ajax-error-message" class="ajax-error-message flash flash-error"> |
| <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 000 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 00.01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg> |
| <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> |
| <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> |
| </button> |
| You can’t perform that action at this time. |
| </div> |
|
|
|
|
| <script crossorigin="anonymous" async="async" integrity="sha512-o4vS4IKrjdy/HD+xr2+VhO6DxQmj5jikhHbEGrd8+JGhpmIOxRrpT1Qo5k3IhKimm8VXIu3pyYejLtOAkm+OsQ==" type="application/javascript" id="js-conditional-compat" data-src="https://github.githubassets.com/assets/compat-bootstrap-a38bd2e0.js"></script> |
| <script crossorigin="anonymous" async="async" integrity="sha512-3yNijdFdVDBZQDWrBvMeD2J9gyXwI5MKUMJSWdEGP44DgS4NEPQw2TmVlDdNAWrseJO5C/sXBSTrL24DvGMDJw==" type="application/javascript" src="https://github.githubassets.com/assets/vendor-df23628d.js"></script> |
| <script crossorigin="anonymous" integrity="sha512-ErVR7Hs5zp1WKKgkbfEWJjRoheL3F6ehWfHkn619JSMi+H6yLFyDOwE9HjduoQ0UA5joyVRN58NQjql/GtMa4g==" type="application/javascript" src="https://github.githubassets.com/assets/frameworks-12b551ec.js"></script> |
| |
| <script crossorigin="anonymous" async="async" integrity="sha512-1xorBK+F+SFsIgtT8Y+s4bhy4nWRfOASzvKOspAeM8z9Xr613S0HbYOnDmxrDi1JG9I27lonJnMG+JrRTbY2YQ==" type="application/javascript" src="https://github.githubassets.com/assets/github-bootstrap-d71a2b04.js"></script> |
| |
| |
| |
| <div class="js-stale-session-flash flash flash-warn flash-banner" hidden |
| > |
| <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 000 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 00.01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg> |
| <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> |
| <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> |
| </div> |
| <template id="site-details-dialog"> |
| <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark hx_rsm" open> |
| <summary role="button" aria-label="Close dialog"></summary> |
| <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> |
| <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> |
| <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> |
| </button> |
| <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> |
| </details-dialog> |
| </details> |
| </template> |
|
|
| <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> |
| <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;"> |
| </div> |
| </div> |
|
|
| <div aria-live="polite" class="js-global-screen-reader-notice sr-only"></div> |
|
|
| </body> |
| </html> |
|
|
| |