Skip to content

Open source product evaluator

Greg Swindle edited this page May 8, 2019 · 2 revisions

Assess community engagement, issue resolution, and pull request activity for a GitHub project.


GitHub only Only GitHub projects are currently supported. This tool is currently restricted to GitHub projects.

Neither Bitbucket nor Gitlab projects are supported.


Source code

<style type="text/css">
    input {font-size: 1.2em; height: 30px; width: 500px}
  </style>
<fieldset>
  <legend for="github-project-url">
    <h2 class="wiki-content">Enter a GitHub Project URL</h2>
  </legend>
  <p><img alt="info" align="bottom" src="https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/info.svg"> Type a valid GitHub project URL and select the "Evaluate" button to generate status badges.</p>
  <br>
  <input id="github-project-url" name="github-project-url" type="text" placeholder="E.g., https://github.com/apache/spark" onchange="project.event.inputOnChange()">

  <div class="save-button-container">
    <br>
    <button class="aui-button aui-button-primary default-submit" id="evalute" name="evaluate" onclick="generateTable()">Evaluate</button>
    <a id="libraries-io" href="#" target="librariesIo">Search on Libraries.io</a>
</div>
</fieldset>

<hr>

<div id="project-table"></div>


<h3>Project evaluation HTML</h3>
<p><img alt="Clipboard" src="https://camo.githubusercontent.com/515891f62f4614459c03a08798d36e22769db6c7/68747470733a2f2f63646e6a732e636c6f7564666c6172652e636f6d2f616a61782f6c6962732f6f637469636f6e732f342e342e302f7376672f636c697070792e7376673f73616e6974697a653d74727565" height="25" width="25" data-canonical-src="https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clippy.svg?sanitize=true"> Copy the following "project evaluation table HTML" and paste it into your HTML and Markdown documents.</p>


<p><fieldset for="project-table-html">
  <legend>
</legend>


<textarea id="project-table-html" rows="20" cols="80"></textarea>

</fieldset></p>


<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js" integrity="sha256-/GKyJ0BQJD8c8UYgf7ziBrs/QgcikS7Fv/SaArgBcEI="
  crossorigin="anonymous"></script>
<script>
  (function (win) {

    function getHostedGitInfo(url) {
      var href = document.createElement('a')
      href.setAttribute('href', url)
      var segments = href.pathname.split('/')
      var OWNER = 1, REPO = 2
      var hostedInfo = {
        owner: segments[OWNER],
        pathname: href.pathname,
        repo: segments[REPO],
        toString: function () {
          return `${this.owner}/${this.repo}`
        }
      }
      delete href
      return hostedInfo
    }

    function tableFactory(badges) {
      var table = `<table class="confluenceTable">
  <colgroup>
    <col>
    <col>
  </colgroup>
  <tbody>
  <tr>
    <th class="confluenceTh">
      <h3 class="wiki-content">Measure</h3>
    </th>
    <th class="confluenceTh"><h3 class="wiki-content">Status/info</h3></th>
  </tr>
  <tr>
    <th class="confluenceTh">License</th>
    <td class="confluenceTd">
      <img src="<%= badges['github-license-image'] %>">
    </td>
  </tr>
  <tr>
    <th class="confluenceTh">Programming language(s)</th>
    <td class="confluenceTd">
      <img src="<%= badges['language-count-image'] %>"><br>
      <img src="<%= badges['language-top-image'] %>">
    </td>
  </tr>
  <tr>
    <th class="confluenceTh">Community engagement</th>
    <td class="confluenceTd">
      <img src="<%=  badges['contributor-count-image'] %>"><br>
      <img src="<%=  badges['author-image'] %>"><hr>
      <img src="<%=  badges['commit-activity-one-year-image'] %>"><br>
      <img src="<%=  badges['commit-last-image'] %>"><hr>
      <img src="<%=  badges['npm-downloads-month'] %>"><br>
      <img src="<%=  badges['used-by-image'] %>"><br>
      <img src="<%=  badges['github-forks-image'] %>"><br>
      <img src="<%=  badges['github-stars-image'] %>"><br>
      <img src="<%=  badges['github-watchers-image'] %>"><hr>
    </td>
  </tr>
  <tr>
    <th class="confluenceTh">Issues</th>
    <td class="confluenceTd">
    <img src="<%=  badges['issues-open-image'] %>"><br>
    <img src="<%=  badges['issues-closed-image'] %>"></td>
  </tr>
  <tr>
    <th class="confluenceTh">Pull requests and merges</th>
    <td class="confluenceTd">
      <img src="<%=  badges['pull-requests-open-image'] %>"><br>
      <img src="<%=  badges['pull-requests-closed-image'] %>">
    </td>
  </tr>
  <tr>
    <th class="confluenceTh">Releases, maintenance, and size</th>
    <td class="confluenceTd">
      <img src="<%=  badges['release-date-image'] %>"><br>
      <img src="<%=  badges['maintenance-image'] %>"><br>
      <img src="<%=  badges['code-size-bytes-image'] %>"><br>
      <img src="<%=  badges['repo-size-bytes-image'] %>"><br>
    </td>
  </tr>
  </tbody>
</table>
`
      var compiled = _.template(table)
      return compiled({ badges })
    }

    function updateLibrariesIoHref() {
      var url = document.getElementById('github-project-url').value
      var link = document.getElementById('libraries-io')
      var html = _.trim(link.innerHTML)
      if (!_.isEmpty(html)) {
        try {
          var hostedInfo = getHostedGitInfo(url)
          link.href = `https://libraries.io/search?q=${hostedInfo.repo}`
        } catch (err) {
          if (console) {
            console.warn(err)
          }
        }
      }
    }

    var project = {
      "badges": {
        factory: function (url) {
          var repoBadges = {}
          var hostedInfo = getHostedGitInfo(url)
          Object.keys(project.badges.templates).forEach(function (badge) {
            repoBadges[badge] =
              project.badges.templates[badge]
                .replace(':owner', hostedInfo.owner)
                .replace(':repo', hostedInfo.repo)
          })
          return repoBadges
        },
        "templates": {
          'author-image': 'https://img.shields.io/github/issues/detail/u/:owner/:repo/1.svg?style=social',
          'author-url': 'https://github.com/:owner',
          'code-size-bytes-image': 'https://img.shields.io/github/languages/code-size/:owner/:repo.svg?style=flat-square',
          'commit-activity-one-year-image': 'https://img.shields.io/github/commit-activity/y/:owner/:repo.svg?style=social',
          'commit-last-image': 'https://img.shields.io/github/last-commit/:owner/:repo.svg?style=social',
          'commit-last-url': 'https://github.com/:owner/:repo/graphs/commit-activity',
          'contributor-count-image': 'https://img.shields.io/github/contributors/:owner/:repo.svg?style=social',
          'contributor-count-url': 'https://github.com/:owner/:repo/graphs/contributors',
          'github-forks-image': 'https://img.shields.io/github/forks/:owner/:repo.svg?style=social&label=Forks',
          'github-forks-url': 'https://github.com/:owner/:repo/network/members',
          'github-license-image': 'https://img.shields.io/github/license/:owner/:repo.svg?style=flat-square',
          'github-stars-image': 'https://img.shields.io/github/stars/:owner/:repo.svg?style=social&label=Stars',
          'github-stars-url': 'https://github.com/:owner/:repo/stargazers',
          'github-languages-count-image': 'https://img.shields.io/github/languages/count/:owner/:repo.svg',
          'github-languages-top-image': 'https://img.shields.io/github/languages/top/:owner/:repo.svg',
          'github-watchers-image': 'https://img.shields.io/github/watchers/:owner/:repo.svg?style=social&label=Watchers',
          'github-watchers-url': 'https://github.com/:owner/:repo/watchers',
          'issues-closed-image': 'https://img.shields.io/github/issues-closed/:owner/:repo.svg?style=flat-square&colorB=D23240',
          'issues-closed-url': 'https://github.com/:owner/:repo/issues?q=is%3Aissue+sort%3Aupdated-desc+is%3Aclosed',
          'issues-open-breaking-change-image': 'https://img.shields.io/github/issues/:owner/:repo/type%3A%20breaking%20change.svg?style=flat-square&colorB=b60205',
          'issues-open-breaking-change-url': 'https://github.com/:owner/:repo/labels/type%3A%20breaking%20change',
          'issues-open-defect-image': 'https://img.shields.io/github/issues/:owner/:repo/type:%20defect.svg?style=flat-square&colorB=e99695',
          'issues-open-defect-url': 'https://github.com/:owner/:repo/labels/type%3A%20defect',
          'issues-open-feature-image': 'https://img.shields.io/github/issues/:owner/:repo/type:%20feature.svg?style=flat-square&colorB=0052cc',
          'issues-open-feature-url': 'https://github.com/:owner/:repo/labels/type%3A%20feature',
          'issues-open-image': 'https://img.shields.io/github/issues/:owner/:repo.svg?style=flat-square&colorB=249D3D',
          'issues-open-url': 'https://github.com/:owner/:repo/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc',
          'language-count-image': 'https://img.shields.io/github/languages/count/:owner/:repo.svg?style=flat-square',
          'language-top-image': 'https://img.shields.io/github/languages/top/:owner/:repo.svg?style=flat-square',
          'language-top-url': 'https://github.com/:owner/:repo/search?l=javascript',
          'maintenance-image': 'https://img.shields.io/maintenance/:repo/2018.svg?style=flat-square',
          'maintenance-image': 'https://img.shields.io/maintenance/:repo/2018.svg?style=flat-square',
          'npm-downloads-month': 'https://img.shields.io/npm/dm/:repo.svg?style=social',
          'npm-downloads-year': 'https://img.shields.io/npm/dy/:repo.svg?style=social',
          'pull-requests-closed-image': 'https://img.shields.io/github/issues-pr-closed/:owner/:repo.svg?style=flat-square&colorB=643AB9',
          'pull-requests-closed-url': 'https://github.com/:owner/:repo/pulls?q=is%3Apr+sort%3Aupdated-desc+is%3Aclosed',
          'pull-requests-open-image': 'https://img.shields.io/github/issues-pr/:owner/:repo.svg?style=flat-square&colorB=249D3D',
          'pull-requests-open-url': 'https://github.com/:owner/:repo/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc',
          'release-date-image': 'https://img.shields.io/github/release-date/:owner/:repo.svg?style=flat-square',
          'releases-url': 'https://github.com/:owner/:repo/releases',
          'repo-size-bytes-image': 'https://img.shields.io/github/repo-size/:owner/:repo.svg?style=flat-square',
          'semver-stability': 'https://img.shields.io/dependabot/semver/:owner/:repo.svg',
          'sourcegraph-ref-by': 'https://img.shields.io/sourcegraph/rrc/github.com/:owner/:repo.svg',
          'used-by-image': 'https://img.shields.io/sourcegraph/rrc/github.com/:owner/:repo.svg?style=social',
          'used-by-url': 'https://www.npmjs.com/browse/depended/:repo'
        }
      },
      event: {
        inputOnChange: updateLibrariesIoHref
      },
      toTable: function (badges) {
        return tableFactory(badges)
      }
    }

    win.project = project
    return project
  })(window)

  function generateTable() {
    var div = document.getElementById('project-table')
    var markdownDiv = document.getElementById('project-table-html')
    var url = document.getElementById('github-project-url').value
    var badges = project.badges.factory(url)
    var html = project.toTable(badges)

    div.innerHTML = html
    markdownDiv.innerHTML = html
  }
</script>

<!-- ⛔️ Do not remove this line or anything under it. ⛔️  -->

[octicon-alert]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/alert.svg
[octicon-arrow-down]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/arrow-down.svg
[octicon-arrow-left]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/arrow-left.svg
[octicon-arrow-right]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/arrow-right.svg
[octicon-arrow-small-down]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/arrow-small-down.svg
[octicon-arrow-small-left]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/arrow-small-left.svg
[octicon-arrow-small-right]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/arrow-small-right.svg
[octicon-arrow-small-up]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/arrow-small-up.svg
[octicon-arrow-up]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/arrow-up.svg
[octicon-beaker]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/beaker.svg
[octicon-bell]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/bell.svg
[octicon-bold]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/bold.svg
[octicon-book]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/book.svg
[octicon-bookmark]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/bookmark.svg
[octicon-briefcase]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/briefcase.svg
[octicon-broadcast]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/broadcast.svg
[octicon-browser]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/browser.svg
[octicon-bug]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/bug.svg
[octicon-calendar]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/calendar.svg
[octicon-check]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/check.svg
[octicon-checklist]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/checklist.svg
[octicon-chevron-down]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/chevron-down.svg
[octicon-chevron-left]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/chevron-left.svg
[octicon-chevron-right]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/chevron-right.svg
[octicon-chevron-up]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/chevron-up.svg
[octicon-circle-slash]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/circle-slash.svg
[octicon-circuit-board]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/circuit-board.svg
[octicon-clippy]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/clippy.svg
[octicon-clock]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/clock.svg
[octicon-cloud-download]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/cloud-download.svg
[octicon-cloud-upload]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/cloud-upload.svg
[octicon-code]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/code.svg
[octicon-comment-discussion]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/comment-discussion.svg
[octicon-comment]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/comment.svg
[octicon-credit-card]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/credit-card.svg
[octicon-dash]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/dash.svg
[octicon-dashboard]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/dashboard.svg
[octicon-database]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/database.svg
[octicon-desktop-download]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/desktop-download.svg
[octicon-device-camera-video]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/device-camera-video.svg
[octicon-device-camera]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/device-camera.svg
[octicon-device-desktop]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/device-desktop.svg
[octicon-device-mobile]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/device-mobile.svg
[octicon-diff-added]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/diff-added.svg
[octicon-diff-ignored]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/diff-ignored.svg
[octicon-diff-modified]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/diff-modified.svg
[octicon-diff-removed]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/diff-removed.svg
[octicon-diff-renamed]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/diff-renamed.svg
[octicon-diff]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/diff.svg
[octicon-ellipses]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/ellipses.svg
[octicon-ellipsis]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/ellipsis.svg
[octicon-eye]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/eye.svg
[octicon-file-binary]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/file-binary.svg
[octicon-file-code]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/file-code.svg
[octicon-file-directory]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/file-directory.svg
[octicon-file-media]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/file-media.svg
[octicon-file-pdf]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/file-pdf.svg
[octicon-file-submodule]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/file-submodule.svg
[octicon-file-symlink-directory]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/file-symlink-directory.svg
[octicon-file-symlink-file]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/file-symlink-file.svg
[octicon-file-text]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/file-text.svg
[octicon-file-zip]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/file-zip.svg
[octicon-file]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/file.svg
[octicon-flame]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/flame.svg
[octicon-fold]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/fold.svg
[octicon-gear]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/gear.svg
[octicon-gift]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/gift.svg
[octicon-gist-secret]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/gist-secret.svg
[octicon-gist]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/gist.svg
[octicon-git-branch]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/git-branch.svg
[octicon-git-commit]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/git-commit.svg
[octicon-git-compare]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/git-compare.svg
[octicon-git-merge]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/git-merge.svg
[octicon-git-pull-request]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/git-pull-request.svg
[octicon-globe]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/globe.svg
[octicon-grabber]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/grabber.svg
[octicon-graph]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/graph.svg
[octicon-heart]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/heart.svg
[octicon-history]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/history.svg
[octicon-home]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/home.svg
[octicon-horizontal-rule]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/horizontal-rule.svg
[octicon-hubot]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/hubot.svg
[octicon-inbox]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/inbox.svg
[octicon-info]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/info.svg
[octicon-issue-closed]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/issue-closed.svg
[octicon-issue-opened]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/issue-opened.svg
[octicon-issue-reopened]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/issue-reopened.svg
[octicon-italic]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/italic.svg
[octicon-jersey]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/jersey.svg
[octicon-key]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/key.svg
[octicon-keyboard]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/keyboard.svg
[octicon-law]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/law.svg
[octicon-light-bulb]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/light-bulb.svg
[octicon-link-external]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/link-external.svg
[octicon-link]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/link.svg
[octicon-list-ordered]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/list-ordered.svg
[octicon-list-unordered]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/list-unordered.svg
[octicon-location]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/location.svg
[octicon-lock]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/lock.svg
[octicon-logo-gist]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/logo-gist.svg
[octicon-logo-github]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/logo-github.svg
[octicon-mail-read]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/mail-read.svg
[octicon-mail-reply]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/mail-reply.svg
[octicon-mail]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/mail.svg
[octicon-mark-github]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/mark-github.svg
[octicon-markdown]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/markdown.svg
[octicon-megaphone]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/megaphone.svg
[octicon-mention]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/mention.svg
[octicon-milestone]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/milestone.svg
[octicon-mirror]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/mirror.svg
[octicon-mortar-board]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/mortar-board.svg
[octicon-mute]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/mute.svg
[octicon-no-newline]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/no-newline.svg
[octicon-octoface]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/octoface.svg
[octicon-organization]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/organization.svg
[octicon-package]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/package.svg
[octicon-paintcan]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/paintcan.svg
[octicon-pencil]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/pencil.svg
[octicon-person]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/person.svg
[octicon-pin]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/pin.svg
[octicon-plug]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/plug.svg
[octicon-plus-small]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/plus-small.svg
[octicon-plus]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/plus.svg
[octicon-primitive-dot]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/primitive-dot.svg
[octicon-primitive-square]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/primitive-square.svg
[octicon-pulse]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/pulse.svg
[octicon-question]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/question.svg
[octicon-quote]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/quote.svg
[octicon-radio-tower]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/radio-tower.svg
[octicon-reply]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/reply.svg
[octicon-repo-clone]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/repo-clone.svg
[octicon-repo-force-push]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/repo-force-push.svg
[octicon-repo-forked]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/repo-forked.svg
[octicon-repo-pull]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/repo-pull.svg
[octicon-repo-push]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/repo-push.svg
[octicon-repo]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/repo.svg
[octicon-rocket]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/rocket.svg
[octicon-rss]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/rss.svg
[octicon-ruby]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/ruby.svg
[octicon-search]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/search.svg
[octicon-server]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/server.svg
[octicon-settings]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/settings.svg
[octicon-shield]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/shield.svg
[octicon-sign-in]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/sign-in.svg
[octicon-sign-out]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/sign-out.svg
[octicon-smiley]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/smiley.svg
[octicon-squirrel]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/squirrel.svg
[octicon-star]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/star.svg
[octicon-stop]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/stop.svg
[octicon-sync]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/sync.svg
[octicon-tag]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/tag.svg
[octicon-tasklist]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/tasklist.svg
[octicon-telescope]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/telescope.svg
[octicon-terminal]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/terminal.svg
[octicon-text-size]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/text-size.svg
[octicon-three-bars]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/three-bars.svg
[octicon-thumbsdown]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/thumbsdown.svg
[octicon-thumbsup]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/thumbsup.svg
[octicon-tools]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/tools.svg
[octicon-trashcan]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/trashcan.svg
[octicon-triangle-down]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/triangle-down.svg
[octicon-triangle-left]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/triangle-left.svg
[octicon-triangle-right]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/triangle-right.svg
[octicon-triangle-up]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/triangle-up.svg
[octicon-unfold]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/unfold.svg
[octicon-unmute]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/unmute.svg
[octicon-unverified]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/unverified.svg
[octicon-verified]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/verified.svg
[octicon-versions]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/versions.svg
[octicon-watch]:
  https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/watch.svg
[octicon-x]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.3.0/svg/x.svg

Git Git logo

Terminal CLI snippets for git.

  1. Git tips
  2. Git notes

verified Openly declare the health of your product, project, community, and source code with these essential badges. (GitHub SaaS only.)

  1. Badges by category: even more badges, arranged for your pleasure.
  2. Repo status badges 🌟 : a recommended suite of badges for your README, Project Dashboard, PULL_REQUEST_TEMPLATE (or merge_request_template), CONTRIBUTING guidelines, as well as the status checks behind them.

UX Cheat-sheets

Info Icons, images, gists, code snippets, etc.

  1. Architecture Decision Record status labels
  2. Octicon cheatsheet
  3. TechRadar labels

Telescope Stellar languages, frameworks, platform, techniques, and tools.

Clone this wiki locally