index.ejs 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <section id="hero" class="IndexHero">
  2. <img class="IndexHero-logo" title="Uppy" alt="Uppy" src="<%- config.logo_medium %>">
  3. <h1 class="IndexHero-title">
  4. Sleek, modular open source JavaScript file uploader
  5. </h1>
  6. <div class="IndexHero-description">
  7. <%- config.description %>
  8. </div>
  9. <div class="IndexHero-buttons">
  10. <a href="/docs/" class="button button--cta">Get Started</a>
  11. <a href="https://github.com/transloadit/uppy" class="button button--secondary">
  12. Uppy on GitHub
  13. <span class="GithubStars">★ <%- partial('partials/generated_stargazers') %></span>
  14. </a>
  15. </div>
  16. </section>
  17. <section class="IndexLogos">
  18. <div class="IndexLogos-container">
  19. <h2 class="IndexLogos-title">Used by:</h2>
  20. <div class="IndexLogos-logos">
  21. <a href="https://www.coursera.org/" class="IndexLogos-item IndexLogos-item--coursera">
  22. <%- inline_svg('/images/featured-customers/coursera.svg') %>
  23. </a>
  24. <a href="https://www.photobox.com/" class="IndexLogos-item IndexLogos-item--photobox">
  25. <%- inline_svg('/images/featured-customers/photobox.svg') %>
  26. </a>
  27. <a href="https://issuu.com/" class="IndexLogos-item IndexLogos-item--issuu">
  28. <%- inline_svg('/images/featured-customers/issuu.svg') %>
  29. </a>
  30. <a href="https://zulipchat.com/" class="IndexLogos-item IndexLogos-item--zulip">
  31. <%- inline_svg('/images/featured-customers/zulip.svg') %>
  32. </a>
  33. </div>
  34. <div class="IndexLogos-join">
  35. Using Uppy in your project? <a href="https://github.com/transloadit/uppy/issues/769" rel="noreferrer noopener" target="_blank">Let us know ›</a>
  36. </div>
  37. </div>
  38. </section>
  39. <section class="IndexDemo">
  40. <div class="IndexDemo-tabContent">
  41. <div class="TabPane TabPane--active" id="live-demo">
  42. <div class="IndexDemo-uppyWrapper">
  43. <div class="IndexDemo-uppy" id="demo"></div>
  44. </div>
  45. </div> <!-- /live-demo -->
  46. <div class="TabPane" id="video">
  47. <div class="IndexDemo-video">
  48. <video autoplay loop muted playsinline>
  49. <source src="/images/uppy-demo-oct-2018.mp4" type="video/mp4">
  50. Your browser does not support the video tag, you can <a href="/images/uppy-demo-oct-2018.mp4">download the video</a>
  51. to watch it.
  52. </video>
  53. </div>
  54. </div> <!-- /video -->
  55. <div class="TabPane" id="code">
  56. <div class="IndexDemo-code">
  57. <%- partial('partials/frontpage-code-sample') %>
  58. </div>
  59. </div> <!-- /code -->
  60. </div>
  61. <ul class="Tabs">
  62. <li class="Tabs-item">
  63. <a class="Tabs-link Tabs-link--active" href="#live-demo">
  64. <span class="Tabs-icon">
  65. <svg width="11" height="15" viewBox="0 0 11 15">
  66. <path d="M0 0v12.5L3.667 9l3.143 6 2.619-1.5L5.762 8 11 7.5z" fill-rule="evenodd" />
  67. </svg>
  68. </span>
  69. Live demo
  70. </a>
  71. </li>
  72. <li class="Tabs-item">
  73. <a class="Tabs-link" href="#video">
  74. <span class="Tabs-icon">
  75. <svg width="19" height="19" viewBox="0 0 19 19">
  76. <path
  77. d="M9.5 19a9.5 9.5 0 1 1 0-19 9.5 9.5 0 0 1 0 19zm0-2a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15zM14 9.5l-6.75 3.897V5.603L14 9.5z"
  78. fill-rule="nonzero" />
  79. </svg>
  80. </span>
  81. Video
  82. </a>
  83. </li>
  84. <li class="Tabs-item">
  85. <a class="Tabs-link" href="#code">
  86. <span class="Tabs-icon">
  87. <svg width="29" height="17" viewBox="0 0 29 17">
  88. <path
  89. d="M8.45 5.748L2.402 8.484 8.45 11.22v2.16L.17 9.6V7.44l8.28-3.78v2.088zm11.34 5.544l6.048-2.736L19.79 5.82V3.66l8.28 3.78V9.6l-8.28 3.78v-2.088zm-9.7 5.308L15.85.4h2.16l-5.76 16.2h-2.16z"
  90. fill-rule="nonzero" />
  91. </svg>
  92. </span>
  93. Code
  94. </a>
  95. </li>
  96. </ul>
  97. </section>
  98. <section class="IndexFeatures">
  99. <h2>Features</h2>
  100. <ul class="IndexFeatures-list">
  101. <li><strong>Lightweight</strong> and modular, plugin-based architecture, easy on dependencies <img width="16" align="absmiddle" src="/images/emojis/zap.png" /></li>
  102. <li>Large uploads survive network hiccups thanks to <strong>resumable file uploads</strong> via the open <strong><a href="https://tus.io/">tus</a></strong> standard</li>
  103. <li><img width="16" align="absmiddle" src="/images/emojis/battery.png" /> Saves battery and data plan by letting users pick files from <strong>Webcam, Dropbox, Google Drive and Instagram</strong>, while letting servers do the heavy lifting via <strong><a href="/docs/companion/">Companion</a></strong></li>
  104. <li>Works great with the file encoding and processing backend from <strong><a href="https://transloadit.com/">Transloadit</a></strong>, but also works great without <img width="16" align="absmiddle" src="/images/emojis/transloadit.png" /></li>
  105. <li><strong>Open source and driven by the community</strong> We listen closely and adjust the project based on your feedback <img width="16" align="absmiddle" src="/images/emojis/heart.png" /></li>
  106. <li><strong>Sleek user interface <img width="16" align="absmiddle" src="/images/emojis/sparkles.png" /></strong></li>
  107. <li>File recovery (after a browser crash or accidental navigation) via <strong><a href="/docs/golden-retriever/">Golden Retriever</a></strong></li>
  108. <li>Speaks <strong><a href="/docs/locales/#List-of-locale-packs">multiple languages</a></strong> (i18n) <img width="16" align="absmiddle" src="/images/emojis/earth_africa.png" /></li>
  109. <li>Built with accessibility in mind</li>
  110. <li><strong>Free to the world, forever</strong></li>
  111. <li>Cute as a puppy, also accepts cat pictures <img width="16" align="absmiddle" src="/images/emojis/dog.png" /></li>
  112. </ul>
  113. </section>
  114. <section class="IndexReviews">
  115. <ul class="IndexReviews-list">
  116. <li class="IndexReviews-item">
  117. <a class="IndexReviews-link" href="https://books.producthunt.com/bestof2017" target="_blank"
  118. rel="noreferrer noopener">
  119. <div class="IndexReviews-imgWrapper">
  120. <img class="IndexReviews-img" src="/images/testimonials/producthunt.png"
  121. srcset="/images/testimonials/producthunt@2x.png 2x" alt="Product Hunt">
  122. </div>
  123. The Best Product Launches
  124. </a>
  125. </li>
  126. <li class="IndexReviews-item">
  127. <a class="IndexReviews-link" href="https://stackshare.io/posts/top-developer-tools-2017" target="_blank" rel="noreferrer noopener">
  128. <div class="IndexReviews-imgWrapper">
  129. <img class="IndexReviews-img" src="/images/testimonials/stackshare.png" srcset="/images/testimonials/stackshare@2x.png 2x" alt="StackShare">
  130. </div>
  131. Top 10 tools of the year
  132. </a>
  133. </li>
  134. <li class="IndexReviews-item">
  135. <a class="IndexReviews-link" href="https://twitter.com/smashingmag/status/1097870169043546112" target="_blank" rel="noreferrer noopener">
  136. <div class="IndexReviews-imgWrapper">
  137. <img class="IndexReviews-img" src="/images/testimonials/smashing-magazine.png" srcset="/images/testimonials/smashing-magazine@2x.png 2x" alt="Smashing Magazine">
  138. </div>
  139. “Soooo useful”
  140. </a>
  141. </li>
  142. </ul>
  143. </section>
  144. <section class="IndexActivity">
  145. <h2>Activity Feed</h2>
  146. <div class="on-the-githubs" data-event-source="repos/transloadit/uppy">Loading...</div>
  147. </section>
  148. <section>
  149. <%- partial('partials/social') %>
  150. </section>
  151. <footer class="IndexFooter">
  152. <p><img class="IndexFooter-logo" title="Uppy" alt="Uppy" src="<%- config.logo_medium %>"></p>
  153. <p>Released under the <a href="http://opensource.org/licenses/MIT" rel="noreferrer noopener" target="_blank">MIT License</a> ⋅ <a href="/privacy-policy/">Privacy Policy</a></p>
  154. <p>© <%- date(Date.now(), 'YYYY') %> <a href="https://transloadit.com" target="_blank">Transloadit</a></p>
  155. </footer>
  156. <link href="https://transloadit.edgly.net/releases/uppy/v1.17.0/uppy.min.css" rel="stylesheet">
  157. <script src="https://transloadit.edgly.net/releases/uppy/v1.17.0/uppy.min.js"></script>
  158. <script>
  159. var TUS_ENDPOINT = 'https://master.tus.io/files/'
  160. var COMPANION_ENDPOINT = 'http://localhost:3020'
  161. if (location.hostname === 'uppy.io') {
  162. COMPANION_ENDPOINT = '//companion.uppy.io'
  163. }
  164. var uppy = Uppy.Core({ debug: true })
  165. .use(Uppy.Dashboard, {
  166. target: '#demo',
  167. inline: true,
  168. replaceTargetContent: true,
  169. metaFields: [
  170. { id: 'license', name: 'License', placeholder: 'specify license' },
  171. { id: 'caption', name: 'Caption', placeholder: 'describe what the image is about' }
  172. ]
  173. })
  174. .use(Uppy.GoogleDrive, { target: Uppy.Dashboard, companionUrl: COMPANION_ENDPOINT })
  175. .use(Uppy.Instagram, { target: Uppy.Dashboard, companionUrl: COMPANION_ENDPOINT })
  176. .use(Uppy.Dropbox, { target: Uppy.Dashboard, companionUrl: COMPANION_ENDPOINT })
  177. .use(Uppy.Facebook, { target: Uppy.Dashboard, companionUrl: COMPANION_ENDPOINT })
  178. .use(Uppy.OneDrive, { target: Uppy.Dashboard, companionUrl: COMPANION_ENDPOINT })
  179. .use(Uppy.Webcam, { target: Uppy.Dashboard })
  180. .use(Uppy.Url, { target: Uppy.Dashboard, companionUrl: COMPANION_ENDPOINT })
  181. .use(Uppy.Tus, { endpoint: TUS_ENDPOINT})
  182. uppy.on('success', function (files) {
  183. console.log('Upload complete! We’ve uploaded these files:', files)
  184. })
  185. </script>