Coder Social home page Coder Social logo

notcanvas's Introduction

<link crossorigin="anonymous" media="all" integrity="sha512-KbB4y5unNzDOOHlrNh7nGziPvcXtv0seLXOC5S4Mw0EqTtXhxqmDCEvb/ZV9T1m9sth14CbzrxLoBD9/VEMuNA==" rel="stylesheet" href="https://github.githubassets.com/assets/github-29b078cb9ba73730ce38796b361ee71b.css" />
<title>NotCanvas/README.md at christophe · Ch-oi/NotCanvas</title>
<meta name="twitter:image:src" content="https://avatars3.githubusercontent.com/u/57091220?s=400&amp;v=4" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary" /><meta name="twitter:title" content="Ch-oi/NotCanvas" /><meta name="twitter:description" content="This is not a canvas project. Contribute to Ch-oi/NotCanvas development by creating an account on GitHub." />
<meta property="og:image" content="https://avatars3.githubusercontent.com/u/57091220?s=400&amp;v=4" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="Ch-oi/NotCanvas" /><meta property="og:url" content="https://github.com/Ch-oi/NotCanvas" /><meta property="og:description" content="This is not a canvas project. Contribute to Ch-oi/NotCanvas development by creating an account on GitHub." />

<meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">

<meta name="google-analytics" content="UA-3769691-2">
  <meta name="hostname" content="github.com">
<meta name="user-login" content="Ch-oi">

  <meta name="expected-hostname" content="github.com">

  <meta name="js-proxy-site-detection-payload" content="OTk2ODNlNDJjMDE3ZjE5OGUzZDhiY2E2MTljNDA1NDA3MzdmOWRhYzQwMmFjNGRmN2E4ZWFiMDM1NzA3ZGRiNHx7InJlbW90ZV9hZGRyZXNzIjoiMTE2LjQ5Ljg5LjE5IiwicmVxdWVzdF9pZCI6IkUzNTY6NzRCODpBQTI5OjExNjM4OjVFQTc3NTZBIiwidGltZXN0YW1wIjoxNTg4MDMyOTE1LCJob3N0IjoiZ2l0aHViLmNvbSJ9">

<meta name="enabled-features" content="MARKETPLACE_SOCIAL_PROOF_CUSTOMERS,MARKETPLACE_TRENDING_SOCIAL_PROOF,MARKETPLACE_RECOMMENDATIONS,MARKETPLACE_PENDING_INSTALLATIONS,GHE_CLOUD_TRIAL,PAGE_STALE_CHECK">
  <link href="https://github.com/Ch-oi/NotCanvas/commits/christophe.atom" rel="alternate" title="Recent Commits to NotCanvas:christophe" type="application/atom+xml">

<link rel="canonical" href="https://github.com/Ch-oi/NotCanvas/blob/christophe/README.md" data-pjax-transient>
<div class="position-relative js-header-wrapper ">
  <a href="#start-of-content" class="p-3 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 py-lg-0 js-details-container Details flex-wrap flex-lg-nowrap p-responsive" role="banner">
        <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
  • No suggested jump to results
        </div>
  </label>
<nav class="d-flex flex-column flex-lg-row flex-self-stretch flex-lg-self-auto" aria-label="Global">
<a class="Header-link py-lg-3 d-block d-lg-none py-2 border-top border-lg-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:dashboard:user" aria-label="Dashboard" href="/dashboard">
  Dashboard
Pull requests Issues
<div class="mr-0 mr-lg-3 py-2 py-lg-0 border-top border-lg-top-0 border-white-fade-15">
  <a class="js-selected-navigation-item Header-link py-lg-3 d-inline-block" data-ga-click="Header, click, Nav menu - item:marketplace context:user" data-octo-click="marketplace_click" data-octo-dimensions="location:nav_bar" data-selected-links=" /marketplace" href="/marketplace">
    Marketplace
</div>
Explore
<a class="Header-link d-block d-lg-none mr-0 mr-lg-3 py-2 py-lg-3 border-top border-lg-top-0 border-white-fade-15" href="https://github.com/Ch-oi">
  <img class="avatar avatar-user" height="20" width="20" alt="@Ch-oi" src="https://avatars0.githubusercontent.com/u/57091220?s=60&amp;v=4" />
  Ch-oi
Sign out
<a aria-label="You have no unread notifications" class="Header-link notification-indicator position-relative tooltipped tooltipped-sw js-socket-channel js-notification-indicator" data-hotkey="g n" data-ga-click="Header, go to notifications, icon:read" data-channel="notification-changed:57091220" href="/notifications">
    <span class="js-indicator-modifier mail-status "></span>
    <svg class="octicon octicon-bell" viewBox="0 0 15 16" version="1.1" width="15" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 12v1H0v-1l.73-.58c.77-.77.81-2.55 1.19-4.42C2.69 3.23 6 2 6 2c0-.55.45-1 1-1s1 .45 1 1c0 0 3.39 1.23 4.16 5 .38 1.88.42 3.66 1.19 4.42l.66.58H14zm-7 4c1.11 0 2-.89 2-2H5c0 1.11.89 2 2 2z"></path></svg>
@Ch-oi
  <span class="feature-preview-indicator js-feature-preview-indicator" hidden></span>
<span class="dropdown-caret"></span>
  <div class="pl-3 pr-3 f6 user-status-container js-user-status-context pb-1" data-url="/users/status?compact=1&amp;link_mentions=0&amp;truncate=1">
Clear status
Never
<ul class="dropdown-menu dropdown-menu-se pl-0 overflow-auto" style="width: 220px; max-height: 15.5em">
  <li>
    <button type="button" class="btn-link dropdown-item js-user-status-expire-button ws-normal" title="Never">
      <span class="d-inline-block text-bold mb-1">Never</span>
      <div class="f6 lh-condensed">Keep this status until you clear your status or edit your status.</div>
    </button>
  </li>
  <li class="dropdown-divider" role="none"></li>
    <li>
      <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 30 minutes" value="2020-04-28T08:45:15+08:00">
        in 30 minutes
      </button>
    </li>
    <li>
      <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 1 hour" value="2020-04-28T09:15:15+08:00">
        in 1 hour
      </button>
    </li>
    <li>
      <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 4 hours" value="2020-04-28T12:15:15+08:00">
        in 4 hours
      </button>
    </li>
    <li>
      <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="today" value="2020-04-28T23:59:59+08:00">
        today
      </button>
    </li>
    <li>
      <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="this week" value="2020-05-03T23:59:59+08:00">
        this week
      </button>
    </li>
</ul>
      <include-fragment class="js-user-status-org-picker" data-url="/users/status/organizations"></include-fragment>
    </div>
    <div class="d-flex flex-items-center flex-justify-between p-3 border-top">
      <button type="submit" disabled class="width-full btn btn-primary mr-2 js-user-status-submit">
        Set status
      </button>
      <button type="button" disabled class="width-full js-clear-user-status-button btn ml-2 ">
        Clear status
      </button>
    </div>
  </div>
  <div role="none" class="dropdown-divider"></div>

<a role="menuitem" class="dropdown-item" href="/Ch-oi" data-ga-click="Header, go to profile, text:your profile">Your profile</a>

<a role="menuitem" class="dropdown-item" href="/Ch-oi?tab=repositories" data-ga-click="Header, go to repositories, text:your repositories">Your repositories</a>

<a role="menuitem" class="dropdown-item" href="/Ch-oi?tab=projects" data-ga-click="Header, go to projects, text:your projects">Your projects</a>

<a role="menuitem" class="dropdown-item" href="/Ch-oi?tab=stars" data-ga-click="Header, go to starred repos, text:your stars">Your stars</a>
  <a role="menuitem" class="dropdown-item" href="https://gist.github.com/mine" data-ga-click="Header, your gists, text:your gists">Your gists</a>





<div role="none" class="dropdown-divider"></div>
Feature preview
<a role="menuitem" class="dropdown-item" href="https://help.github.com" data-ga-click="Header, go to help, text:help">Help</a>
<a role="menuitem" class="dropdown-item" href="/settings/profile" data-ga-click="Header, go to settings, icon:settings">Settings</a>
<!-- '"` --><!-- </textarea></xmp> --></option></form><form class="logout-form" action="/logout" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="nYx61NW+isi8LIgI4ypRfwrOn1lG1E99t57T5F6ygXjfTloYW/lN/CqLuLbOH2HMSJUhHQ4XPZICZans/M9iMw==" />
  
  <button type="submit" class="dropdown-item dropdown-signout" data-ga-click="Header, sign out, icon:logout" role="menuitem">
    Sign out
  </button>
  <input type="text" name="required_field_7274" hidden="hidden" class="form-control" /><input type="hidden" name="timestamp" value="1588032915296" class="form-control" /><input type="hidden" name="timestamp_secret" value="8fbb3f0394c5f6eee800b8189cf8c27d63a4977ca00a7596f7856b740dbf6cde" class="form-control" />
</div>
<div id="js-flash-container">
  <div class="js-flash-template-message"></div>

<div class="d-flex container-lg mb-4 p-responsive d-none d-lg-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 ">
/ NotCanvas
  </div>

  <ul class="pagehead-actions flex-shrink-0 " >
  • <!-- '"` --><!-- </textarea></xmp> --></option></form><form data-remote="true" class="clearfix js-social-form js-social-container" action="/notifications/subscribe" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="9kcy5HUP8RyMxW+BMCNrhdUpLcIxnUWoUJwnZNhFWYuc2UUuN+SHmVRL3Nfr6qqd7GCTiIXUqE/tWQRGLrl9lA==" />      <input type="hidden" name="repository_id" value="257155168">
    
      <details class="details-reset details-overlay select-menu float-left">
        <summary class="select-menu-button float-left btn btn-sm btn-with-count" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;WATCH_BUTTON&quot;,&quot;repository_id&quot;:257155168,&quot;originating_url&quot;:&quot;https://github.com/Ch-oi/NotCanvas/blob/christophe/README.md&quot;,&quot;user_id&quot;:57091220}}" data-hydro-click-hmac="e87e41f3e42b224f43472625e7178212e2a0a3ccee5765bdf252471cc6cb5ad6" data-ga-click="Repository, click Watch settings, action:blob#show">          <span data-menu-button>
              <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"></path></svg>
              Unwatch
          </span>
    
    Notifications
    Not watching Be notified only when participating or @mentioned. Watch
            <button type="submit" name="do" value="release_only" class="select-menu-item width-full" aria-checked="false" role="menuitemradio">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
              <div class="select-menu-item-text">
                <span class="select-menu-item-heading">Releases only</span>
                <span class="description">Be notified of new releases, and when participating or @mentioned.</span>
                <span class="hidden-select-button-text" data-menu-button-contents>
                  <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"></path></svg>
                  Unwatch releases
                </span>
              </div>
            </button>
    
            <button type="submit" name="do" value="subscribed" class="select-menu-item width-full" aria-checked="true" role="menuitemradio">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
              <div class="select-menu-item-text">
                <span class="select-menu-item-heading">Watching</span>
                <span class="description">Be notified of all conversations.</span>
                <span class="hidden-select-button-text" data-menu-button-contents>
                  <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"></path></svg>
                  Unwatch
                </span>
              </div>
            </button>
    
            <button type="submit" name="do" value="ignore" class="select-menu-item width-full" aria-checked="false" role="menuitemradio">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
              <div class="select-menu-item-text">
                <span class="select-menu-item-heading">Ignoring</span>
                <span class="description">Never be notified.</span>
                <span class="hidden-select-button-text" data-menu-button-contents>
                  <svg class="octicon octicon-mute 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 2.81v10.38c0 .67-.81 1-1.28.53L3 10H1c-.55 0-1-.45-1-1V7c0-.55.45-1 1-1h2l3.72-3.72C7.19 1.81 8 2.14 8 2.81zm7.53 3.22l-1.06-1.06-1.97 1.97-1.97-1.97-1.06 1.06L11.44 8 9.47 9.97l1.06 1.06 1.97-1.97 1.97 1.97 1.06-1.06L13.56 8l1.97-1.97z"></path></svg>
                  Stop ignoring
                </span>
              </div>
            </button>
          </div>
        </details-menu>
      </details>
        <a class="social-count js-social-count"
          href="/Ch-oi/NotCanvas/watchers"
          aria-label="1 user is watching this repository">
          1
        </a>
    
  •     Unstar
    

    0

        Star
    

    0

  • Fork
    </button>
    <h3 class="Box-title">Fork NotCanvas</h3>
    
              <div class="text-center ml-n3 mr-n3">
                <include-fragment>
                  <div class="octocat-spinner my-3" aria-label="Loading..."></div>
                  <p class="f5 text-gray">If this dialog fails to load, you can visit <a href="/Ch-oi/NotCanvas/fork">the fork page</a> directly.</p>
                </include-fragment>
              </div>
    
    <a href="/Ch-oi/NotCanvas/network/members" class="social-count"
       aria-label="0 users forked this repository">
      0
    </a>
    
  • </div>
    
    <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 /Ch-oi/NotCanvas/issues" href="/Ch-oi/NotCanvas/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"></path></svg></div>
        <span itemprop="name">Issues</span>
        <span class="Counter">0</span>
        <meta itemprop="position" content="2">
    

    <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 /Ch-oi/NotCanvas/actions" href="/Ch-oi/NotCanvas/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"></path></svg></div>
        Actions
    
    <a data-hotkey="g b" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /Ch-oi/NotCanvas/projects" href="/Ch-oi/NotCanvas/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"></path></svg></div>
      Projects
      <span class="Counter">0</span>
    
    Wiki
    Security
    Insights
    Settings
    <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
      <a class="js-selected-navigation-item selected reponav-item" itemprop="url" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /Ch-oi/NotCanvas/tree/christophe" href="/Ch-oi/NotCanvas/tree/christophe">
        <span itemprop="name">Code</span>
        <meta itemprop="position" content="1">
    

      <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
        <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /Ch-oi/NotCanvas/issues" href="/Ch-oi/NotCanvas/issues">
          <span itemprop="name">Issues</span>
          <span class="Counter">0</span>
          <meta itemprop="position" content="2">
    

    <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
      <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /Ch-oi/NotCanvas/pulls" href="/Ch-oi/NotCanvas/pulls">
        <span itemprop="name">Pull requests</span>
        <span class="Counter">0</span>
        <meta itemprop="position" content="4">
    

      <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
        <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /Ch-oi/NotCanvas/projects" href="/Ch-oi/NotCanvas/projects">
          <span itemprop="name">Projects</span>
          <span class="Counter">0</span>
          <meta itemprop="position" content="5">
    

      <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
        <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_actions /Ch-oi/NotCanvas/actions" href="/Ch-oi/NotCanvas/actions">
          <span itemprop="name">Actions</span>
          <meta itemprop="position" content="6">
    

      <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
        <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_wiki /Ch-oi/NotCanvas/wiki" href="/Ch-oi/NotCanvas/wiki">
          <span itemprop="name">Wiki</span>
          <meta itemprop="position" content="7">
    

      <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="security overview alerts policy token_scanning code_scanning /Ch-oi/NotCanvas/security" href="/Ch-oi/NotCanvas/security">
        <span itemprop="name">Security</span>
            <span class="Counter js-security-deferred-tab-count" hidden></span>
        <meta itemprop="position" content="8">
    
    Pulse

    <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/Ch-oi/NotCanvas/blob/bb849579b4e4eebd84290bffe8f4e510713e0991/README.md">Permalink</a>
    
    <!-- blob contrib key: blob_contributors:v22:7d0d5ab386be3775a64fcaf30151c59e -->
    
    
    <div class="d-flex flex-items-start flex-shrink-0 flex-column flex-md-row pb-3">
      <span class="d-flex flex-justify-between width-full width-md-auto">
    
    Branch: christophe
        <div class="BtnGroup flex-shrink-0 d-md-none">
          <a href="/Ch-oi/NotCanvas/find/christophe"
                class="js-pjax-capture-input btn btn-sm BtnGroup-item"
                data-pjax
                data-hotkey="t">
            Find file
          </a>
          <clipboard-copy value="README.md" class="btn btn-sm BtnGroup-item">
            Copy path
          </clipboard-copy>
        </div>
      </span>
      <h2 id="blob-path" class="breadcrumb flex-auto min-width-0 text-normal flex-md-self-center ml-md-2 mr-md-3 my-2 my-md-0">
        <span class="js-repo-root text-bold"><span class="js-path-segment"><a data-pjax="true" href="/Ch-oi/NotCanvas/tree/christophe"><span>NotCanvas</span></a></span></span><span class="separator">/</span><strong class="final-path">README.md</strong>
      </h2>
    
      <div class="BtnGroup flex-shrink-0 d-none d-md-inline-block">
        <a href="/Ch-oi/NotCanvas/find/christophe"
              class="js-pjax-capture-input btn btn-sm BtnGroup-item"
              data-pjax
              data-hotkey="t">
          Find file
        </a>
        <clipboard-copy value="README.md" class="btn btn-sm BtnGroup-item">
          Copy path
        </clipboard-copy>
      </div>
    </div>
    
    <div class="Box-body d-flex flex-items-center flex-auto f6 border-bottom-0 flex-wrap" >
      <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark float-left mr-2" id="blob_contributors_box">
        <summary class="btn-link">
          <span><strong>2</strong> contributors</span>
        </summary>
        <details-dialog
          class="Box Box--overlay d-flex flex-column anim-fade-in fast"
          aria-label="Users who have contributed to this file"
          src="/Ch-oi/NotCanvas/contributors-list/christophe/README.md" preload>
          <div class="Box-header">
            <button class="Box-btn-octicon btn-octicon float-right" 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"></path></svg>
            </button>
            <h3 class="Box-title">
              Users who have contributed to this file
            </h3>
          </div>
          <include-fragment class="octocat-spinner my-3" aria-label="Loading..."></include-fragment>
        </details-dialog>
      </details>
        <span class="">
    <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/users/Ch-oi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/Ch-oi/NotCanvas/commits/christophe/README.md?author=Ch-oi">
      <img class="avatar mr-1 avatar-user" src="https://avatars3.githubusercontent.com/u/57091220?s=40&amp;v=4" width="20" height="20" alt="@Ch-oi" /> 
    

    @chris2058

    </div>
    
    <div class="Box mt-3 position-relative
      ">
    
      109 lines (88 sloc)
      <span class="file-info-divider"></span>
    4.08 KB
    
    <div class="BtnGroup">
      <a id="raw-url" class="btn btn-sm BtnGroup-item" href="/Ch-oi/NotCanvas/raw/christophe/README.md">Raw</a>
        <a class="btn btn-sm js-update-url-with-hash BtnGroup-item" data-hotkey="b" href="/Ch-oi/NotCanvas/blame/christophe/README.md">Blame</a>
      <a rel="nofollow" class="btn btn-sm BtnGroup-item" href="/Ch-oi/NotCanvas/commits/christophe/README.md">History</a>
    </div>
    
    
    <div>
          <a class="btn-octicon tooltipped tooltipped-nw js-remove-unless-platform"
             data-platforms="windows,mac"
             href="https://desktop.github.com"
             aria-label="Open this file in GitHub Desktop"
             data-ga-click="Repository, open with desktop">
              <svg class="octicon octicon-device-desktop" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M15 2H1c-.55 0-1 .45-1 1v9c0 .55.45 1 1 1h5.34c-.25.61-.86 1.39-2.34 2h8c-1.48-.61-2.09-1.39-2.34-2H15c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm0 9H1V3h14v8z"></path></svg>
          </a>
    
          <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="inline-form js-update-url-with-hash" action="/Ch-oi/NotCanvas/edit/christophe/README.md" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="ACHzD3bXB9f0R/c9OvrLYVxT7GrV0Dp5bEJ5uDqpSq8EQx3zU0VWRfi3CBQchoU5XEt8fXXm/9Qs4M4nzNomlQ==" />
            <button class="btn-octicon tooltipped tooltipped-nw" type="submit"
              aria-label="Edit this file" data-hotkey="e" data-disable-with>
              <svg class="octicon octicon-pencil" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 12v3h3l8-8-3-3-8 8zm3 2H1v-2h1v1h1v1zm10.3-9.3L12 6 9 3l1.3-1.3a.996.996 0 011.41 0l1.59 1.59c.39.39.39 1.02 0 1.41z"></path></svg>
            </button>
    

    NotCanvas

    PROJECT NAME/TITLE							
    	The app is called 'NotCanvas'.						
    	This document gives a high-level overview of how the app is set up.						
    REQUIREMENTS:							
    	The app serves as a tool for manually creating images.						
    	The app is designed to operate independently of any text-based information for the user, relying on intuitiveness.						
    USER NOTES:							
    	The app has five main buttons at the top of the page:						
    	Button			Element			
    	1	Style	clicking opens a dropdown menu:				
    				1	Slider	choose line width	
    				2	Button	70% canvas opacity	
    				3	Button	100% canvas opacity	
    				4	Button	fill colour tool	
    				5	Button	use colour (after mixing colour or selecting colour below)	
    				6	Slider	add colour to mix (red)	
    				7	Slider	add colour to mix (green)	
    				8	Slider	add colour to mix (blue)	
    				9	Panel	view mixed colour/currently selected colour	
    				10	Button Group	panel of default colours which can be selected on-click.	
    	2	Draw	clicking opens a dropdown menu:				
    				1	Button	free draw	
    				2	Button	draw straight line	
    				3	Button	draw curve	
    				4	Button	draw rectangle	
    				5	Button	draw circle	
    				6	Button	draw triangle	
    				7	Button	create text box	
    				8	Button	eraser	
    	3	Undo	undo last edit made to the canvas				
    	4	Redo	redo last edit made to the canvas				
    	5	Settings	clicking opens a dropdown menu:  (clicking 10 times reveals hidden button)				
    				1	Button	clear canvas	
    				2	Button	upload background image	
    				3	Button	save canvas as png file	
    				4	Button	animation for drawn circles	
    					Hidden Button	start hidden game:	
    							survive by manouevring the black circle with the mouse, so that it avoids all the moving red viruses !
    PROJECT NOTES:							
    
    As of 28th April 2019:						
    	Use of latest Fontawesome 5 icons restricted , apparently due to the CDN link tags being out of date.
    	So choice of icons was limited, necessitating use of google icons with an additional Google CDN link. This needs more investigation.					
    

    DESIGN NOTES: HTML: external scripts should be placed in the header or the bottom of the body section. local scripts in the bottom of the body section. all buttons and controls are to be situated in the large nav bar section, leaving the rest of the body section contianing only the canvas. the aim is to have no written text on the HTML page, so the code for each button should be marked with a comment in the HTML sheet, for readability. as little JS as possible on the HTML page The only JS on the HTML page is currently two page-load functions: draw image: instructs a snapshot to be taken of the canvas as a clean, blank, white JPG image. current function: instructs that the drawing tool be default on page-load. JS: Component-based approach, with separate JS files containing the code for each tool. Separate JS file named 'init' contains all 'click' event listeners and handlers for the buttons on the HTML page. Separate JS file named 'canvas-common' contains code related to global mouse tracking and mouse click-activated toggle variables. CSS: Separate CSS local style sheet named 'style', with the general aim being to keep all CSS on this sheet and off the HTML sheet. SOURCE JS FILES: External scripts: Fontawesome JS Bootstrap JS Google Icons Jquery Tether Local scripts (Including:) Canvas-common Init Drawing Drawing-line Drawing-curve Drawing-circle Drawing-rectangle Drawing-triangle Text Fill Color-picker Pick-color Eraser Undo-redo Upload-background Save CSS/SASS FILES: Fontawesome CSS Bootstrap CSS CREDITS: Built & designed by Choi Kin Lung (Jacky) and Christophe Elisha

    </div>
    
    Go
    <div class="Popover anim-scale-in js-tagsearch-popover"
     hidden
     data-tagsearch-url="/Ch-oi/NotCanvas/find-symbols"
     data-tagsearch-ref="christophe"
     data-tagsearch-path="README.md"
     data-tagsearch-lang="Markdown"
     data-hydro-click="{&quot;event_type&quot;:&quot;code_navigation.click_on_symbol&quot;,&quot;payload&quot;:{&quot;action&quot;:&quot;click_on_symbol&quot;,&quot;repository_id&quot;:257155168,&quot;ref&quot;:&quot;christophe&quot;,&quot;language&quot;:&quot;Markdown&quot;,&quot;originating_url&quot;:&quot;https://github.com/Ch-oi/NotCanvas/blob/christophe/README.md&quot;,&quot;user_id&quot;:57091220}}"
     data-hydro-click-hmac="731c5420149e79180d4bc1c2f167a5eabf35deca23a634b7db1922ea9727f7d1">
    
    </main>
    
    • © 2020 GitHub, Inc.
    • Terms
    • Privacy
    • Security
    • Status
    • Help
    • </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"></path></svg>
      
    You can’t perform that action at this time.
    <script crossorigin="anonymous" async="async" integrity="sha512-WcQmT2vhcClFVOaaAJV/M+HqsJ2Gq/myvl6F3gCVBxykazXTs+i5fvxncSXwyG1CSfcrqmLFw/R/bmFYzprX2A==" type="application/javascript" id="js-conditional-compat" data-src="https://github.githubassets.com/assets/compat-bootstrap-59c4264f.js"></script>
    <script crossorigin="anonymous" integrity="sha512-CcHu7jzfxvBELN006wvfUN0tIOU83OJNyclvF0p+gQll1M1DjIioWsRbGZMgDL3zruW1D7dRxdbJqXM6P57PbA==" type="application/javascript" src="https://github.githubassets.com/assets/environment-bootstrap-09c1eeee.js"></script>
      <script crossorigin="anonymous" async="async" integrity="sha512-327XCyOytNBlvvFRes7NYmY/gSME67CreRw+pR2DhNKBfEb2Sv0pe/XkZUSqYYlgGdDnaGIKUAb4oRZBLdKBfw==" type="application/javascript" src="https://github.githubassets.com/assets/vendor-df6ed70b.js"></script>
      <script crossorigin="anonymous" async="async" integrity="sha512-9n5xp5Xpg6WScuVJvJN/VvUHz+F81pfCOw9cRsQn7X/xQCCZnHE3UYKyp4hGazMP9+DId5MlTweHJCV0F4b/KA==" type="application/javascript" src="https://github.githubassets.com/assets/frameworks-f67e71a7.js"></script>
    
    <script crossorigin="anonymous" async="async" integrity="sha512-N666G/HyOSFV9HPnw/Ph4ufz00JU2x9wqs/DE/n3Ogp7uuMY02EzbWen/HON2xgp8h1DhFoFKIuCwc0njprM5A==" type="application/javascript" src="https://github.githubassets.com/assets/github-bootstrap-37aeba1b.js"></script>
    
    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

    notcanvas's People

    Contributors

    jackychoi26 avatar

    Watchers

     avatar

    Recommend Projects

    • React photo React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo Vue.js

      🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo Django

      The Web framework for perfectionists with deadlines.

    • D3 photo D3

      Bring data to life with SVG, Canvas and HTML. 📊📈🎉

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo Microsoft

      Open source projects and samples from Microsoft.

    • Google photo Google

      Google ❤️ Open Source for everyone.

    • D3 photo D3

      Data-Driven Documents codes.