<commit_before><!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Photo Layout Editor for React</title>
  <link rel="stylesheet" href="./build/PhotoLayoutEditor.css">
  <link rel="stylesheet" href="./index.css">
</head>
<body>
<main>
  <header class="layout-header">
    <h1>Photo layut editor for react</h1>
    <p>
      This is a PhotoLayoutEditor project demo page.
    </p>
  </header>
  <div id="app"></div>

  <article class="api-control">
    <section>
      <h1>Side</h1>
      <nav>
        <p>
          <button type="button" onclick="action('side.add')">add files</button>
          <button type="button" onclick="action('side.selectedRemoveItems')">remove items</button>
          <button type="button" onclick="action('side.clear')">clear</button>
          <button type="button" onclick="action('side.attachToGrid')">attach to grid</button>
          <button type="button" onclick="action('side.selection')">selection</button>
          <button type="button" onclick="action('side.select')">select</button>
          <button type="button" onclick="action('side.toggleSelectAll')">toggle select all</button>
          <button type="button" onclick="action('side.getItems')">get items</button>
          <button type="button" onclick="action('side.getImages')">get images</button>
        </p>
        <p>
          <label>
            <strong>upload image</strong><br/>
            <input type="file" multiple onchange="action('side.upload', this)"/>
          </label>
        </p>
      </nav>
    </section>
    <section>
      <h1>Grid</h1>
      <nav>
        <p>
          <button type="button" onclick="action('grid.getKeys')">get keys</button>
          <button type="button" onclick="action('grid.getBlocks')">get blocks</button>
          <button type="button" onclick="action('grid.getPreference')">get preference</button>
          <button type="button" onclick="action('grid.setPreference')">set preference</button>
          <button type="button" onclick="action('grid.update')">update</button>
          <button type="button" onclick="action('grid.add')">add</button>
          <button type="button" onclick="action('grid.remove')">remove</button>
          <button type="button" onclick="action('grid.shuffle')">shuffle</button>
          <button type="button" onclick="action('grid.assignImages')">assign images</button>
          <button type="button" onclick="action('grid.assignImage')">assign image</button>
          <button type="button" onclick="action('grid.duplicate')">duplicate</button>
          <button type="button" onclick="action('grid.select')">select</button>
          <button type="button" onclick="action('grid.unselect')">unselect</button>
          <button type="button" onclick="action('grid.toggleSelectAll')">toggle select all</button>
        </p>
      </nav>
    </section>
    <section>
      <h1>Util</h1>
      <nav>
        <p>
          <button type="button" onclick="action('util.toggleSide')">Toggle side</button>
        </p>
        <p>
          <button type="button" onclick="action('util.export.side')">Export(side)</button>
          <button type="button" onclick="action('util.export.grid')">Export(grid)</button>
          <button type="button" onclick="action('util.export.preference')">Export(preference)</button>
          <button type="button" onclick="action('util.export.all')">Export(all)</button>
          <button type="button" onclick="action('util.makeImage')">Make image</button>
        </p>
        <p>
          <button type="button" onclick="action('util.import.side')">Import(side)</button>
          <button type="button" onclick="action('util.import.grid')">Import(grid)</button>
          <button type="button" onclick="action('util.import.preference')">Import(preference)</button>
          <button type="button" onclick="action('util.import.all')">Import(all)</button>
        </p>
      </nav>
    </section>
    <section>
      <h1>Make image area</h1>
      <figure id="makeImageArea"></figure>
    </section>
  </article>
</main>

<a href="https://github.com/redgoose-dev/react-photo-layout-editor" class="github-corner"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#222222; color:#fff; position: absolute; top: 0; border: 0; right: 0;"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>

<script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<!--<script crossorigin src="https://unpkg.com/jquery@3.4.1/dist/jquery.slim.min.js"></script>-->
<script src="./build/PhotoLayoutEditor.js"></script><commit_msg>jquery 로드 추가<commit_after><!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Photo Layout Editor for React</title>
  <link rel="stylesheet" href="./build/PhotoLayoutEditor.css">
  <link rel="stylesheet" href="./index.css">
</head>
<body>
<main>
  <header class="layout-header">
    <h1>Photo layut editor for react</h1>
    <p>
      This is a PhotoLayoutEditor project demo page.
    </p>
  </header>
  <div id="app"></div>

  <article class="api-control">
    <section>
      <h1>Side</h1>
      <nav>
        <p>
          <button type="button" onclick="action('side.add')">add files</button>
          <button type="button" onclick="action('side.selectedRemoveItems')">remove items</button>
          <button type="button" onclick="action('side.clear')">clear</button>
          <button type="button" onclick="action('side.attachToGrid')">attach to grid</button>
          <button type="button" onclick="action('side.selection')">selection</button>
          <button type="button" onclick="action('side.select')">select</button>
          <button type="button" onclick="action('side.toggleSelectAll')">toggle select all</button>
          <button type="button" onclick="action('side.getItems')">get items</button>
          <button type="button" onclick="action('side.getImages')">get images</button>
        </p>
        <p>
          <label>
            <strong>upload image</strong><br/>
            <input type="file" multiple onchange="action('side.upload', this)"/>
          </label>
        </p>
      </nav>
    </section>
    <section>
      <h1>Grid</h1>
      <nav>
        <p>
          <button type="button" onclick="action('grid.getKeys')">get keys</button>
          <button type="button" onclick="action('grid.getBlocks')">get blocks</button>
          <button type="button" onclick="action('grid.getPreference')">get preference</button>
          <button type="button" onclick="action('grid.setPreference')">set preference</button>
          <button type="button" onclick="action('grid.update')">update</button>
          <button type="button" onclick="action('grid.add')">add</button>
          <button type="button" onclick="action('grid.remove')">remove</button>
          <button type="button" onclick="action('grid.shuffle')">shuffle</button>
          <button type="button" onclick="action('grid.assignImages')">assign images</button>
          <button type="button" onclick="action('grid.assignImage')">assign image</button>
          <button type="button" onclick="action('grid.duplicate')">duplicate</button>
          <button type="button" onclick="action('grid.select')">select</button>
          <button type="button" onclick="action('grid.unselect')">unselect</button>
          <button type="button" onclick="action('grid.toggleSelectAll')">toggle select all</button>
        </p>
      </nav>
    </section>
    <section>
      <h1>Util</h1>
      <nav>
        <p>
          <button type="button" onclick="action('util.toggleSide')">Toggle side</button>
        </p>
        <p>
          <button type="button" onclick="action('util.export.side')">Export(side)</button>
          <button type="button" onclick="action('util.export.grid')">Export(grid)</button>
          <button type="button" onclick="action('util.export.preference')">Export(preference)</button>
          <button type="button" onclick="action('util.export.all')">Export(all)</button>
          <button type="button" onclick="action('util.makeImage')">Make image</button>
        </p>
        <p>
          <button type="button" onclick="action('util.import.side')">Import(side)</button>
          <button type="button" onclick="action('util.import.grid')">Import(grid)</button>
          <button type="button" onclick="action('util.import.preference')">Import(preference)</button>
          <button type="button" onclick="action('util.import.all')">Import(all)</button>
        </p>
      </nav>
    </section>
    <section>
      <h1>Make image area</h1>
      <figure id="makeImageArea"></figure>
    </section>
  </article>
</main>

<a href="https://github.com/redgoose-dev/react-photo-layout-editor" class="github-corner"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#222222; color:#fff; position: absolute; top: 0; border: 0; right: 0;"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>

<script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<script crossorigin src="https://unpkg.com/jquery@3.4.1/dist/jquery.slim.min.js"></script>
<script src="./build/PhotoLayoutEditor.js"></script>
{'fraction_non_alphanumeric': 0.20250573206681952, 'fraction_numerical': 0.0908942024238454, 'mean_word_length': 3.7763003519749705, 'pattern_counts': {'":': 0, '<': 308, '<?xml version=': 0, '>': 308, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5539275', 'n_tokens_mistral': 4832, 'n_tokens_neox': 4212, 'n_words': 659}