Jelajahi Sumber

fixup! website: update links to work under the new URL

Antoine du Hamel 2 tahun lalu
induk
melakukan
0dd35a957f
92 mengubah file dengan 297 tambahan dan 297 penghapusan
  1. 3 3
      website/_config.yml
  2. 1 1
      website/src/_posts/2016-06-uppy-begins.md
  3. 2 2
      website/src/_posts/2016-08-0.8.0.md
  4. 4 4
      website/src/_posts/2016-08-0.9.0.md
  5. 3 3
      website/src/_posts/2016-09-0.10.md
  6. 3 3
      website/src/_posts/2016-11-0.11.md
  7. 1 1
      website/src/_posts/2016-12-0.12.md
  8. 5 5
      website/src/_posts/2017-02-0.14.md
  9. 1 1
      website/src/_posts/2017-03-0.15.md
  10. 3 3
      website/src/_posts/2017-05-0.16.md
  11. 4 4
      website/src/_posts/2017-05-0.17.md
  12. 6 6
      website/src/_posts/2017-07-golden-retriever.md
  13. 2 2
      website/src/_posts/2017-08-0.18.md
  14. 2 2
      website/src/_posts/2017-09-0.19.md
  15. 4 4
      website/src/_posts/2017-10-0.20.md
  16. 3 3
      website/src/_posts/2017-12-0.22.md
  17. 1 1
      website/src/_posts/2018-02-0.23.md
  18. 9 9
      website/src/_posts/2018-04-0.24.md
  19. 3 3
      website/src/_posts/2018-06-0.25.md
  20. 2 2
      website/src/_posts/2018-07-0.26.md
  21. 10 10
      website/src/_posts/2018-08-0.27.md
  22. 6 6
      website/src/_posts/2018-10-0.28.md
  23. 3 3
      website/src/_posts/2018-12-0.29.md
  24. 3 3
      website/src/_posts/2019-03-0.30.md
  25. 1 1
      website/src/_posts/2019-03-liftoff-01.md
  26. 3 3
      website/src/_posts/2019-03-liftoff-02.md
  27. 3 3
      website/src/_posts/2019-03-liftoff-03.md
  28. 3 3
      website/src/_posts/2019-03-liftoff-04.md
  29. 1 1
      website/src/_posts/2019-03-liftoff-05.md
  30. 1 1
      website/src/_posts/2019-03-liftoff-06.md
  31. 5 5
      website/src/_posts/2019-04-1.0.md
  32. 5 5
      website/src/_posts/2019-04-liftoff-07.md
  33. 6 6
      website/src/_posts/2019-04-liftoff-08.md
  34. 2 2
      website/src/_posts/2019-04-liftoff-09.md
  35. 4 4
      website/src/_posts/2019-04-liftoff-10.md
  36. 2 2
      website/src/_posts/2019-04-liftoff-11.md
  37. 1 1
      website/src/_posts/2019-04-liftoff-12.md
  38. 1 1
      website/src/_posts/2019-04-liftoff-13.md
  39. 2 2
      website/src/_posts/2019-04-liftoff-14.md
  40. 3 3
      website/src/_posts/2019-04-liftoff-15.md
  41. 2 2
      website/src/_posts/2019-04-liftoff-16.md
  42. 7 7
      website/src/_posts/2019-04-liftoff-17.md
  43. 2 2
      website/src/_posts/2019-04-liftoff-18.md
  44. 1 1
      website/src/_posts/2019-04-liftoff-19.md
  45. 1 1
      website/src/_posts/2019-04-liftoff-20.md
  46. 3 3
      website/src/_posts/2019-04-liftoff-21.md
  47. 5 5
      website/src/_posts/2019-04-liftoff-22.md
  48. 2 2
      website/src/_posts/2019-04-liftoff-23.md
  49. 3 3
      website/src/_posts/2019-04-liftoff-24.md
  50. 1 1
      website/src/_posts/2019-04-liftoff-25.md
  51. 1 1
      website/src/_posts/2019-04-liftoff-26.md
  52. 1 1
      website/src/_posts/2019-04-liftoff-27.md
  53. 1 1
      website/src/_posts/2019-04-liftoff-28.md
  54. 2 2
      website/src/_posts/2019-04-liftoff-29.md
  55. 4 4
      website/src/_posts/2019-04-liftoff-30.md
  56. 3 3
      website/src/_posts/2019-08-1.3.md
  57. 4 4
      website/src/_posts/2019-10-1.5.md
  58. 3 3
      website/src/_posts/2019-12-1.7.md
  59. 2 2
      website/src/_posts/2020-03-1.9.md
  60. 2 2
      website/src/_posts/2020-03-custom-providers.md
  61. 3 3
      website/src/_posts/2020-04-1.10.md
  62. 4 4
      website/src/_posts/2020-04-1.13.md
  63. 5 5
      website/src/_posts/2020-07-1.18-image-editor.md
  64. 4 4
      website/src/_posts/2020-10-1.22.md
  65. 5 5
      website/src/_posts/2020-11-1.23.md
  66. 3 3
      website/src/_posts/2020-12-1.24.md
  67. 5 5
      website/src/_posts/2021-01-1.25.md
  68. 5 5
      website/src/_posts/2021-02-1.26.md
  69. 6 6
      website/src/_posts/2021-04-1.27.md
  70. 9 9
      website/src/_posts/2021-04-1.29.md
  71. 4 4
      website/src/_posts/2021-07-1.30.md
  72. 7 7
      website/src/_posts/2021-08-2.0.md
  73. 4 4
      website/src/_posts/2021-12-2.1-2.3.md
  74. 3 3
      website/src/_posts/2022-03-2.4-2.7.md
  75. 4 4
      website/src/_posts/2022-09-3.0.md
  76. 4 4
      website/src/_posts/2022-12-3.3.md
  77. 2 2
      website/src/docs/dashboard.md
  78. 1 1
      website/src/docs/react-native.md
  79. 1 1
      website/src/docs/robodog.md
  80. 1 1
      website/src/examples/dashboard/app.html
  81. 1 1
      website/src/examples/dragdrop/app.html
  82. 1 1
      website/src/examples/markdown-snippets/app.html
  83. 1 1
      website/src/examples/statusbar/app.html
  84. 1 1
      website/src/examples/transloadit/app.html
  85. 1 1
      website/src/examples/xhrupload/app.html
  86. 1 1
      website/themes/uppy/layout/example.ejs
  87. 21 21
      website/themes/uppy/layout/index.ejs
  88. 4 4
      website/themes/uppy/layout/layout.ejs
  89. 1 1
      website/themes/uppy/layout/partials/blog.ejs
  90. 6 6
      website/themes/uppy/layout/partials/main_menu.ejs
  91. 1 1
      website/themes/uppy/layout/partials/social.ejs
  92. 1 1
      website/themes/uppy/layout/post.ejs

+ 3 - 3
website/_config.yml

@@ -8,9 +8,9 @@ root_domain: transloadit.github.io
 # Site
 title: Uppy
 subtitle: "Almost as cute as a puppy"
-logo_large: /images/logos/uppy-dog-full.svg
-logo_medium: /images/logos/uppy-logo-2019.svg
-logo_icon: /images/logos/uppy-dog-head-arrow.png
+logo_large: /uppy/images/logos/uppy-dog-full.svg
+logo_medium: /uppy/images/logos/uppy-logo-2019.svg
+logo_icon: /uppy/images/logos/uppy-dog-head-arrow.png
 description: >
   Uppy fetches files locally and from remote places like Dropbox or Instagram.
   With its seamless integration, reliability and ease of use,

+ 1 - 1
website/src/_posts/2016-06-uppy-begins.md

@@ -6,7 +6,7 @@ author: arturi
 
 For the past six months, we have been working hard on uppy.io. We feel that it is high time we gave you a look behind the scenes: what are we working on, and why.
 
-<img src="/images/blog/uppy-begins/uppy-dashboard.jpg">
+<img src="/uppy/images/blog/uppy-begins/uppy-dashboard.jpg">
 
 The way uploading works has not changed in a meaningful way since the days of our trusty old 56 kbit/s modems. Of course, files have gotten bigger and speeds have increased, but that is more or less all there is to say. If it were up to us – and we hope it is – that is all about to change.
 

+ 2 - 2
website/src/_posts/2016-08-0.8.0.md

@@ -11,13 +11,13 @@ We have just released Uppy 0.8.0 and we can't wait to tell you more about it. Al
 
 While fetching your files, Uppy is now also able to supply some custom metadata to go along with them. So far, there are three components in place for that: Core API (`core:update-meta` event), `MetaData` plugin, and a new panel in Dashboard UI called File Card, which looks like this:
 
-<img alt="metadata dashboard UI, editing file name, future size and adding description" src="/images/blog/0.8/metadata-dashboard.jpg" class="border">
+<img alt="metadata dashboard UI, editing file name, future size and adding description" src="/uppy/images/blog/0.8/metadata-dashboard.jpg" class="border">
 
 <!-- more -->
 
 To summon this panel, all you have to do is click the edit button on the Dashboard:
 
-<img alt="metadata dashboard UI, editing file name, future size and adding description" src="/images/blog/0.8/uppy-dashboard-ui.jpg" class="border">
+<img alt="metadata dashboard UI, editing file name, future size and adding description" src="/uppy/images/blog/0.8/uppy-dashboard-ui.jpg" class="border">
 
 By default, the only active metadata field is `Name`. However, if you want to add other fields you can utilize our new and easy to use `MetaData` plugin:
 

+ 4 - 4
website/src/_posts/2016-08-0.9.0.md

@@ -12,9 +12,9 @@ We have just released Uppy 0.9.0. This release features some changes that we thi
 ## Ability to pause uploads, progress indicators & ETA
 The most visible feature that has been added is the ability to pause and resume file uploads.
 
-<img alt="dashboard UI with paused uploads" src="/images/blog/0.9/upload-pause.jpg" class="border">
+<img alt="dashboard UI with paused uploads" src="/uppy/images/blog/0.9/upload-pause.jpg" class="border">
 
-<img alt="dashboard UI with files uploading and a pause all button" src="/images/blog/0.9/upload-resume.jpg" class="border">
+<img alt="dashboard UI with files uploading and a pause all button" src="/uppy/images/blog/0.9/upload-resume.jpg" class="border">
 
 The upload dashboard now contains more information about uploads, such as the time remaining until an upload is finished. We have also added circular progress indicators to give better visual feedback on an upload's progress.
 
@@ -28,11 +28,11 @@ bus.emit('informer', message, type, duration)
 ```
  and displays a message bubble for a certain amount of time. It will be useful to notify you when the internet connection is (a licky boom-boom) down (or back up):
 
-<img alt="info: no connection" src="/images/blog/0.9/info-no-connection.jpg" class="border">
+<img alt="info: no connection" src="/uppy/images/blog/0.9/info-no-connection.jpg" class="border">
 
 Or when Uppy has successfully uploaded your files:
 
-<img alt="info: upload successful" src="/images/blog/0.9/info-upload-success.jpg" class="border">
+<img alt="info: upload successful" src="/uppy/images/blog/0.9/info-upload-success.jpg" class="border">
 
 
 ## Webcam: Say Cheese!

+ 3 - 3
website/src/_posts/2016-09-0.10.md

@@ -31,13 +31,13 @@ You are, of course, more than welcome to chime in on other issues or to open new
 
 In an attempt to be brave and keep things simple, we have removed the dashed border from inside the Dashboard, rewritten its layout with flexbox, and tried out a new [blend-in-with-the-background-and-blur](https://cloud.githubusercontent.com/assets/1199054/18763191/35d31ddc-80da-11e6-9a2c-c46388857135.png) mode.
 
-<img alt="Refreshed Dashboard UI" src="/images/blog/0.10/dashboard-sep-27-2016.jpg">
+<img alt="Refreshed Dashboard UI" src="/uppy/images/blog/0.10/dashboard-sep-27-2016.jpg">
 
 Uppy now also has the option to render the Dashboard inline on the page, instead of the default full modal dialog. To try it out, set `inline: true` in options, like this: `uppy.use(Dashboard, {target: '.myContainer', inline: true})`.
 
 We have also added a circular progress bar that shows total upload progress, combined with a pause all / resume all button, and an info panel that shows speed, ETA and status for all uploads currently in progress. So you'll have something fun and useful to look at while you are waiting!
 
-<img alt="Dashboard UI with global pause/resume buttons and a status bar — progress speed & ETA" src="/images/blog/0.10/dashboard-pause-resume-sep-27-2016.jpg">
+<img alt="Dashboard UI with global pause/resume buttons and a status bar — progress speed & ETA" src="/uppy/images/blog/0.10/dashboard-pause-resume-sep-27-2016.jpg">
 
 Be sure not to miss out on the new Copy Link button that appears after a successful upload, right where the edit button usually is. We know, that’s pretty exciting! And it gets even better: when you click on it, the link is copied to your clipboard. Or, in less capable browsers, a window pops up with a text link, so you can copy it yourself. Bananas!
 
@@ -45,7 +45,7 @@ Be sure not to miss out on the new Copy Link button that appears after a success
 
 The UI for Google Drive has received a fresh new redesign.  Check it out!
 
-<img alt="The redesigned file browser UI for Google Drive" src="/images/blog/0.10/google-drive-ui-sep-27-2016.jpg">
+<img alt="The redesigned file browser UI for Google Drive" src="/uppy/images/blog/0.10/google-drive-ui-sep-27-2016.jpg">
 
 ## Listen to events
 

+ 3 - 3
website/src/_posts/2016-11-0.11.md

@@ -27,15 +27,15 @@ Here's what we have been up to, in some more detail.
 - toggling the `autoProceed` option that starts uploads automatically, without waiting for a click on the “upload” button;
 - enabling/disabling acquire plugins, like Google Drive and Webcam.
 
-<img src="/images/blog/0.11/dashboard-example-options.png">
+<img src="/uppy/images/blog/0.11/dashboard-example-options.png">
 
 **StatusBar** is a – you guessed it – bar that appears on the bottom of the Dashboard and unifies progress with pause/resume buttons.
 
 **Dashboard UI** has undergone minor improvements, such as: a new “drag files here” icon and tagline. Furthermore, the text before “acquire” icons on the top — Local Disk, Google Drive, Webcam — has been removed (it used to say “Import files from:”). We also added new “remove file” icons. You know, small things, big difference. :sunglasses:
 
-<img src="/images/blog/0.11/uppy-dashboard-oct-2016-1.jpg" alt="Dashboard UI, no files. Text: Drop files here, paste or import from one of the locations above">
+<img src="/uppy/images/blog/0.11/uppy-dashboard-oct-2016-1.jpg" alt="Dashboard UI, no files. Text: Drop files here, paste or import from one of the locations above">
 
-<img src="/images/blog/0.11/uppy-dashboard-oct-2016-2.jpg" alt="Dashboard UI, file upload in progress. StatusBar with pause/resume button and progress">
+<img src="/uppy/images/blog/0.11/uppy-dashboard-oct-2016-2.jpg" alt="Dashboard UI, file upload in progress. StatusBar with pause/resume button and progress">
 
 ## HTTPS
 

+ 1 - 1
website/src/_posts/2016-12-0.12.md

@@ -11,7 +11,7 @@ Hello! Here’s what’s new in Uppy 0.12.
 
 Prior to this release, we’ve optimized the Dashboard for usage with multiple “acquire plugins”, say Webcam + Google Drive. But sometimes all you need is “local disk” with drag & drop support, nice file previews and progress. And now the Dashboard UI works great with that use case out of the box. When you don’t add (.use) any acquire plugins, it looks like this:
 
-<figure class="wide"><img src="/images/blog/0.12/uppy-dashboard-local.jpg"></figure>
+<figure class="wide"><img src="/uppy/images/blog/0.12/uppy-dashboard-local.jpg"></figure>
 
 Also (prior to this release), we’ve built the Dashboard to work well with [tus resumable uploads](http://tus.io). That’s why you can pause and resume individual uploads, as well as all at once. But if you use an endpoint that is not yet ready for the future and upload resumability (here’s [how](https://github.com/tus/tus-node-server) to [fix that](https://github.com/tus/tusd), by the way), the Dashboard UI will show regular “cancel” buttons instead of pause/resume.
 

+ 5 - 5
website/src/_posts/2017-02-0.14.md

@@ -26,12 +26,12 @@ Uppy Server can now be plugged into your existing Express/Koa server app, but yo
 **Smooth authentication**
 It used to be the case that when you clicked that stylish “authenticate” \[with Google Drive] button, you were taken away from the page, and things tended to get lost. That has now all been made silky smooth: upon clicking the button, a fresh tab will open in your browser, which will take you to the authentication page – be it on Google Drive, Dropbox, or somewhere else. When you are done, this tab is automagically closed, and you are back where you were, authenticated, with all your remote files at hand.
 
-<img class="border" src="/images/blog/0.14/smooth-auth.png">
+<img class="border" src="/uppy/images/blog/0.14/smooth-auth.png">
 
 **Dropbox plugin**
 Dropbox support made it into Uppy this release! 🎉 [Ife](https://github.com/ifedapoolarewaju) rocks like that. (A shoutout here as well to [Harry](https://github.com/hedgerh) for the initial work on Uppy Server and the Google Drive plugin!) Why don't you [give it a try](/uppy/examples/dashboard/)!
 
-<img class="border" src="/images/blog/0.14/uppy-dropbox.png">
+<img class="border" src="/uppy/images/blog/0.14/uppy-dropbox.png">
 
 What’s more, the client-side code of Google Drive and Dropbox plugins is slowly being refactored into a generic provider view that can be shared among all services.
 
@@ -53,14 +53,14 @@ We are not using media queries here, but have instead added a `UppyDashboard--wi
 
 When there is little space available, the file grid view that you have become used to, will turn into a new compact list view.
 
-<figure class="wide"><img src="/images/blog/0.14/dashboard-grid-list.jpg"></figure>
+<figure class="wide"><img src="/uppy/images/blog/0.14/dashboard-grid-list.jpg"></figure>
 
 We are also adding more file type icons and trying to be smarter about detecting them. We have new icons for video, audio, text, and PDF for you to enjoy.
 
 **Total / uploaded sizes**
 Total and uploaded sizes have been added to the StatusBar, allowing you and your users to keep track of all those bits and bytes.
 
-<img src="/images/blog/0.14/statusbar-uploaded-total-size.png">
+<img src="/uppy/images/blog/0.14/statusbar-uploaded-total-size.png">
 
 You can play with all of these new features on [the Dashboard example page](/uppy/examples/dashboard/).
 
@@ -82,7 +82,7 @@ uppy.use(DragDrop, {
 })
 ```
 
-<img src="/images/blog/0.14/dnd-fi.png">
+<img src="/uppy/images/blog/0.14/dnd-fi.png">
 
 And just like that, your Drag&Drop plugin now speaks Finnish! *Hyvää huomenta!* This feature is a work in progress, we are trying to find the sweet spot between [bundling a whole bunch of strings in packs](https://github.com/transloadit/uppy/blob/8c6252933813af69c1b71ec4621a7fc14dfb3ab0/src/locales/pt_BR.js), which might be redundant (i.e. if you only use the Drag&Drop, you don’t need strings from the Dashboard), and making you choose or set language strings for each UI plugin. We’d love to [hear what you think](https://github.com/transloadit/uppy/issues/42).
 

+ 1 - 1
website/src/_posts/2017-03-0.15.md

@@ -36,7 +36,7 @@ Informer will now be able to change the way it looks depending on the `type` arg
 uppy.emit('informer', 'Connected!', 'success', 3000)
 ```
 
-<img src="/images/blog/0.15/informer.png">
+<img src="/uppy/images/blog/0.15/informer.png">
 
 This supports the following `type`s: `info`, `warning`, `error`, `success`, all with their own colors!
 

+ 3 - 3
website/src/_posts/2017-05-0.16.md

@@ -13,8 +13,8 @@ Hello there! Missed us much? :) We're chomping at the bits, at least, to tell yo
 Yes, you read that right! We now have an easily integrable [Transloadit](https://transloadit.com) plugin. It was a big push indeed and we owe a big debt of thanks to [Renée](https://github.com/goto-bus-stop) for going fully beast mode on this. The plugin is still in beta, but it works - and it's awesome. That said, of course it is entirely optional: if you don't use Transloadit, you don't have to bundle the plugin.
 
 <video alt="Demo video showing the Transloadit upload plugin in action." muted autoplay loop>
-  <source src="/images/blog/0.16/transloadit.webm" type="video/webm">
-  <source src="/images/blog/0.16/transloadit.mp4" type="video/mp4">
+  <source src="/uppy/images/blog/0.16/transloadit.webm" type="video/webm">
+  <source src="/uppy/images/blog/0.16/transloadit.mp4" type="video/mp4">
 </video>
 
 The Transloadit plugin for Uppy handles creating an "Assembly" (a file conversion job) before uploading files, and can optionally wait for file conversions to complete before showing the uploads as successful, as shown above. Listen for the `core:success` event to respond to upload completion, just like you would without the Transloadit plugin.
@@ -49,7 +49,7 @@ Multiple necessary chores (the kind you don’t like to talk about at parties),
 - We reviewed the uppy-server README to be more elaborate when getting started.
 - The Service logo is now visible on the corresponding file in the Dashboard. For example if a file is being uploaded from Google Drive you would see a Google Drive logo easily identifying where the file is from. Take a look!
 
-<img src="/images/blog/0.16/service-logos.png">
+<img src="/uppy/images/blog/0.16/service-logos.png">
 
 ## Release Notes
 

+ 4 - 4
website/src/_posts/2017-05-0.17.md

@@ -67,14 +67,14 @@ uppy.use(Dashboard, {
 })
 ```
 
-<img class="border" src="/images/blog/0.17/restrictions-note.jpg">
+<img class="border" src="/uppy/images/blog/0.17/restrictions-note.jpg">
 
 ## 📸 Instagram plugin and UI overhaul
 
 Yes, Instagram is now supported in Uppy, so you can easily import all of your cat, dog and food pictures!
 
 <figure class="wide">
-  <img class="border" src="/images/blog/0.17/instagram-ui.jpg">
+  <img class="border" src="/uppy/images/blog/0.17/instagram-ui.jpg">
 </figure>
 
 You can try it live in the [Dashboard example](/uppy/examples/dashboard/).
@@ -83,7 +83,7 @@ The UI for all “provider” plugins, which is the way we call Google Drive, Dr
 
 Files are now selected, or added, on click/tap, rather than double click, which is easier and also works on mobile. 🙀
 
-<img class="border" src="/images/blog/0.17/provider-search.jpg">
+<img class="border" src="/uppy/images/blog/0.17/provider-search.jpg">
 
 ## StatusBar
 
@@ -123,7 +123,7 @@ Here is the full list of changes for version 0.17:
 - core: added `uppy.reset()` as discussed in #179 (@arturi)
 - core: added nanoraf <https://github.com/yoshuawuyts/choo/pull/135/files?diff=unified> (@goto-bus-stop, @arturi)
 - core: file type detection: archives, markdown (possible modules: file-type, identify-filetype) example: <http://requirebin.com/?gist=f9bea9602030f1320a227cf7f140c45f>, <http://stackoverflow.com/a/29672957> (@arturi)
-- dashboard: made file icons prettier: </uppy/images/blog/0.16/service-logos.png> (@arturi, @nqst / #215)
+- dashboard: made file icons prettier: </uppy/uppy/images/blog/0.16/service-logos.png> (@arturi, @nqst / #215)
 - fileinput: allow retrieving fields/options from form (@arturi #153)
 - server: configurable server port (@ifedapoolarewaju)
 - server: added support for custom providers (@ifedapoolarewaju)

+ 6 - 6
website/src/_posts/2017-07-golden-retriever.md

@@ -2,7 +2,7 @@
 title: "The Golden Retriever: Making uploads survive browser crashes"
 date: 2017-07-31
 author: arturi
-image: "http://uppy.io/images/blog/golden-retriever/uppy-team-kong.jpg"
+image: "http://uppy.io/uppy/images/blog/golden-retriever/uppy-team-kong.jpg"
 published: true
 ---
 
@@ -22,7 +22,7 @@ If action games have had checkpoints since 1687 — why can’t file uploaders?
 
 First off, let’s show you a demo 📹 of Uppy surviving a browser crash and picking up right where we left it:
 
-<figure class="wide"><video alt="Demo video showing the Golden Retriever file restoring plugin in action" controls><source src="/images/blog/golden-retriever/uppy-golden-retriever-crash-demo-2.mp4" type="video/mp4">Your browser does not support the video tag, you can <a href="/images/blog/golden-retriever/uppy-golden-retriever-crash-demo-2.mp4">download the video</a> to watch it.</video></figure>
+<figure class="wide"><video alt="Demo video showing the Golden Retriever file restoring plugin in action" controls><source src="/uppy/images/blog/golden-retriever/uppy-golden-retriever-crash-demo-2.mp4" type="video/mp4">Your browser does not support the video tag, you can <a href="/uppy/images/blog/golden-retriever/uppy-golden-retriever-crash-demo-2.mp4">download the video</a> to watch it.</video></figure>
 
 <a name="uppy"></a>
 
@@ -34,7 +34,7 @@ For those of you who are new here, Uppy is the next-gen open source file uploade
 
 Our core team is spread across three continents and five cities, and most of us have never met in person, with the majority of communication happening in GitHub and Slack. Just last week, we got together in Berlin for a crazy week of pink limo rides, Indian food and Mario Kart 64. More on that on the [Transloadit blog](https://transloadit.com/blog/2017/08/team-meetup-2017/).
 
-<figure class="wide"><img src="/images/blog/golden-retriever/uppy-team-kong.jpg"></figure>
+<figure class="wide"><img src="/uppy/images/blog/golden-retriever/uppy-team-kong.jpg"></figure>
 
 While enjoying some world-famous-in-Germany “Flammkuchen”, we were thinking about even more ways to make file uploading better (yes, we really can’t stop thinking about that). We then sat together in one room for a few days of hacking and came up with something neat. 
 
@@ -42,13 +42,13 @@ While enjoying some world-famous-in-Germany “Flammkuchen”, we were thinking
 
 Uppy has a new friend to play with. Meet the Golden Retriever, our file recovery plugin:
 
-<center><img src="/images/blog/golden-retriever/catch-fail-2.gif" alt="Golden Retriever failing to catch something" title="Good try, girl!"></center>
+<center><img src="/uppy/images/blog/golden-retriever/catch-fail-2.gif" alt="Golden Retriever failing to catch something" title="Good try, girl!"></center>
 
 As you can see, we’re not yet fully done with training her, but we’re getting there! 😄
 
 But wait, we can hear you think, didn't [tus.io](https://tus.io) already make resumable uploads possible? Yes indeed, and it does an awesome job at recovering from poor network conditions. However, if your browser suddenly decided to crash, Uppy would have no idea about what it was doing before, and you would have to re-select and edit your files all over. 
 
-<center><img src="/images/blog/golden-retriever/no-idea-dog-3.gif" alt="Dog has no idea what he is doing" title="Keep trying, buddy!"></center>
+<center><img src="/uppy/images/blog/golden-retriever/no-idea-dog-3.gif" alt="Dog has no idea what he is doing" title="Keep trying, buddy!"></center>
 
 For those cases, our Golden Retriever now comes to the rescue! It saves Uppy’s memory (state) in browser cache with every move you make. This means that when Uppy suddenly crashes for whatever reason, our plugin will be able to retrieve this memory upon restart, and offer to resume where you left off. Sounds simple enough right? So why hasn't anybody attempted this before?
 
@@ -80,7 +80,7 @@ In some cases (very large files or a complete browser crash), we won’t be able
 
 Our current idea is that we could present the user with “ghost files” for these edge cases, and ask them to re-add such files. Here’s an early mockup, but we would love more feedback on this:
 
-<img src="/images/blog/golden-retriever/desktop-ghost.png" alt="Design mockup with ghosts" title="Design mockup with ghosts">
+<img src="/uppy/images/blog/golden-retriever/desktop-ghost.png" alt="Design mockup with ghosts" title="Design mockup with ghosts">
 
 For the remaining cases, if an upload was already in progress before the crash/refresh, and especially if it was resumable (via [tus](https://tus.io), for example), Golden Retriever just picks up from where it all went south. Our Golden Retriever will also clean up after herself: when files are successfully uploaded, or you decide to delete them, they will be removed from all “permanent” storages.
 

+ 2 - 2
website/src/_posts/2017-08-0.18.md

@@ -1,6 +1,6 @@
 ---
 title: "Uppy 0.18: Dogumentation and The GoldenRetriever"
-image: "http://uppy.io/images/blog/0.18/golden-retriever.jpg"
+image: "http://uppy.io/uppy/images/blog/0.18/golden-retriever.jpg"
 date: 2017-09-15
 author: arturi
 published: true
@@ -18,7 +18,7 @@ Documentation for Uppy has been re-written, and now features chapters on Uppy’
 
 The GoldenRetriever has been released as a public beta. For details, please refer to the previous post, [The GoldenRetriever: Making uploads survive browser crashes](/uppy/blog/2017/07/golden-retriever/), but the gist is: when enabled, this plugin will save uppy-state to localStorage on every change, and then if your browser crashes, or you accidentaly navigate away from a tab,later when you return, your uploads will resume like nothing happened. Spoiler: it uses Service Workers and IndexedDB.
 
-<img class="border" src="/images/blog/0.18/golden-retriever.jpg">
+<img class="border" src="/uppy/images/blog/0.18/golden-retriever.jpg">
 
 <!-- more -->
 

+ 2 - 2
website/src/_posts/2017-09-0.19.md

@@ -1,6 +1,6 @@
 ---
 title: "Uppy 0.19: Tests, Informer details and better APIs"
-image: "/uppy/images/blog/0.19/informer-details.jpg"
+image: "/uppy/uppy/images/blog/0.19/informer-details.jpg"
 date: 2017-09-21
 author: arturi
 published: true
@@ -46,7 +46,7 @@ Check out [the docs](/uppy/docs/dashboard/#Methods).
 
 Informer supports “explanations”, a questionmark (?) button that shows more info on hover / click.
 
-<img class="border" src="/images/blog/0.19/informer-details.jpg">
+<img class="border" src="/uppy/images/blog/0.19/informer-details.jpg">
 
 ## Misc good stuff
 

+ 4 - 4
website/src/_posts/2017-10-0.20.md

@@ -1,6 +1,6 @@
 ---
 title: "Uppy 0.20: React, Retry & Time Travel"
-image: "/uppy/images/blog/0.20/dnd-gray.jpg"
+image: "/uppy/uppy/images/blog/0.20/dnd-gray.jpg"
 date: 2017-10-05
 author: renee
 published: true
@@ -77,7 +77,7 @@ uppy.use(ReduxStore, {
 
 Even if you're not using Redux in your application, there's some Redux-related news! Uppy now has a new plugin, `ReduxDevTools`, which adds debug support for Redux DevTools and allows you to time travel while debugging Uppy:
 
-<figure class="wide"><video alt="Demo video showing Uppy with Redux Dev Tools and time traveling" controls autoplay><source src="/images/blog/0.20/uppy-reduxdevtools.mp4" type="video/mp4">Your browser does not support the video tag, you can <a href="/images/blog/0.20/uppy-reduxdevtools.mp4">download the video</a> to watch it.</video></figure>
+<figure class="wide"><video alt="Demo video showing Uppy with Redux Dev Tools and time traveling" controls autoplay><source src="/uppy/images/blog/0.20/uppy-reduxdevtools.mp4" type="video/mp4">Your browser does not support the video tag, you can <a href="/uppy/images/blog/0.20/uppy-reduxdevtools.mp4">download the video</a> to watch it.</video></figure>
 
 To try it, add the plugin:
 
@@ -95,7 +95,7 @@ See [#373](https://github.com/transloadit/uppy/pull/373) for details and discuss
 
 We’ve added a retry UI to the `Dashboard`. If some of your uploads fail—maybe the network is down or the endpoint is unresponsive—you’ll see this:
 
-<img alt="Uppy Dashboard retry UI with individual retry buttons and “retry all”" src="/images/blog/0.20/retry.jpg">
+<img alt="Uppy Dashboard retry UI with individual retry buttons and “retry all”" src="/uppy/images/blog/0.20/retry.jpg">
 
 From here it’s easy to retry individual uploads or all at once. This feature currenty works best with `Tus10` plugin, and has basic `XHRUpload` support, but we’ll improve on the latter in the future releases.
 
@@ -107,7 +107,7 @@ The old trustly `DragDrop` plugin has been re-designed by [@arturi](https://gith
 - New sizing options: `width` and `height` (both `100%` by default to fill the entire container space);
 - A `note` option, like in the `Dashboard`, to add info about restrictions or anything else you would like your users to know.
 
-<img class="border" src="/images/blog/0.20/dnd-gray.jpg">
+<img class="border" src="/uppy/images/blog/0.20/dnd-gray.jpg">
 
 **[Check it out](/examples/dragdrop/)**
 

+ 3 - 3
website/src/_posts/2017-12-0.22.md

@@ -2,7 +2,7 @@
 title: "Uppy 0.22: Preact, Form, Improved Dashboard, Custom Stores"
 date: 2017-12-23
 author: arturi
-image: "/uppy/images/blog/0.22/uppy-dashboard-updated.jpg"
+image: "/uppy/uppy/images/blog/0.22/uppy-dashboard-updated.jpg"
 published: true
 ---
 
@@ -34,7 +34,7 @@ See [#451 PR](https://github.com/transloadit/uppy/pull/451) for details on why w
 
 ## Refreshed Dashboard UI
 
-![Uppy Dashboard UI with 3 files selected](/images/blog/0.22/uppy-dashboard-updated.jpg)
+![Uppy Dashboard UI with 3 files selected](/uppy/images/blog/0.22/uppy-dashboard-updated.jpg)
 
 - File cards are simpler, we’ve removed the excess white backgrounds, improved the remove icon, reduced paddings, added slight shadows.
 - Cicular upload button in the Dashboard has been moved to the StatusBar. It’s also not circular anymore, and there’s no cloud icon. Plain and simple.
@@ -47,7 +47,7 @@ See [#434 PR](https://github.com/transloadit/uppy/pull/451) for more screenshots
 
 Thanks to [@sadovnychyi](https://github.com/sadovnychyi), you can now select multiple files from remote providers like Google Drive and Instagram. You can also select folders, and even range of files by holding `shift` key when clicking on first and last item in range.
 
-![Uppy Dashboard UI with 3 files selected](/images/blog/0.22/uppy-dashboard-provider-select.jpg)
+![Uppy Dashboard UI with 3 files selected](/uppy/images/blog/0.22/uppy-dashboard-provider-select.jpg)
 
 [Check it out →](/uppy/examples/dashboard/)
 

+ 1 - 1
website/src/_posts/2018-02-0.23.md

@@ -15,7 +15,7 @@ Meet our new “Provider” plugin, `Url`. It’s simple, yet powerful: paste a
 uppy.use(Url, { target: Dashboard, host: YOUR_UPPY_SERVER_URL })
 ```
 
-<figure class="wide"><video alt="Demo video showing Uppy with Url plugin that imports files from urls" controls autoplay><source src="/images/blog/0.23/uppy-url-demo.mp4" type="video/mp4">Your browser does not support the video tag, you can <a href="/images/blog/0.23/uppy-url-demo.mp4">download the video</a> to watch it.</video></figure>
+<figure class="wide"><video alt="Demo video showing Uppy with Url plugin that imports files from urls" controls autoplay><source src="/uppy/images/blog/0.23/uppy-url-demo.mp4" type="video/mp4">Your browser does not support the video tag, you can <a href="/uppy/images/blog/0.23/uppy-url-demo.mp4">download the video</a> to watch it.</video></figure>
 
 <!--more-->
 

+ 9 - 9
website/src/_posts/2018-04-0.24.md

@@ -2,7 +2,7 @@
 title: "Uppy 0.24: Refreshed Dashboard, StatusBar and Provider UI, revamped XHR Response Handling"
 date: 2018-04-17
 author: arturi
-image: "/uppy/images/blog/0.24/uppy-screenshot.jpg"
+image: "/uppy/uppy/images/blog/0.24/uppy-screenshot.jpg"
 published: true
 ---
 
@@ -14,21 +14,21 @@ Uppy 0.24.2 brings a refreshed UI in the Dashboard and StatusBar plugins, a sync
 
 As always, we are trying to simplify and improve the UI of Uppy plugins. In this release, Dashboard’s design has been refreshed, check this out:
 
-<img class="border" src="/images/blog/0.24/dashboard-main.jpg">
+<img class="border" src="/uppy/images/blog/0.24/dashboard-main.jpg">
 
-<img class="border" src="/images/blog/0.24/uppy-screenshot.jpg">
+<img class="border" src="/uppy/images/blog/0.24/uppy-screenshot.jpg">
 
 Meta editing screen:
 
-<img class="border" src="/images/blog/0.24/dashboard-meta-edit.jpg">
+<img class="border" src="/uppy/images/blog/0.24/dashboard-meta-edit.jpg">
 
 Camera screen:
 
-<img class="border" src="/images/blog/0.24/import-from-camera.jpg">
+<img class="border" src="/uppy/images/blog/0.24/import-from-camera.jpg">
 
 Import from URL (Link):
 
-<img class="border" src="/images/blog/0.24/import-from-url.jpg">
+<img class="border" src="/uppy/images/blog/0.24/import-from-url.jpg">
 
 And more, check out the [Dashboard example page](/uppy/examples/dashboard/).
 
@@ -36,11 +36,11 @@ And more, check out the [Dashboard example page](/uppy/examples/dashboard/).
 
 The StatusBar plugin used to show a lot of progress details. This has been simplified so that by default it will only show a percentage:
 
-<img src="/images/blog/0.24/statusbar-2.jpg">
+<img src="/uppy/images/blog/0.24/statusbar-2.jpg">
 
 But there’s an option `showProgressDetails: true` for both the StatusBar and Dashboard (which passes it to StatusBar included in the Dashboard) to bring back this detailed information, spread over two lines:
 
-<img src="/images/blog/0.24/statusbar-1.jpg">
+<img src="/uppy/images/blog/0.24/statusbar-1.jpg">
 
 ```js
 uppy.use(StatusBar, { ..., showProgressDetails: true })
@@ -92,7 +92,7 @@ If you don't want to do this indefinitely, consider doing this initially, just t
 
 But, Uppy is also free as in freedom. And so if you can't help our cause, set `proudlyDisplayPoweredByUppy` to `false` to hide te Uppy logo.
 
-<img src="/images/blog/0.24/powered-by-1.jpg">
+<img src="/uppy/images/blog/0.24/powered-by-1.jpg">
 
 ## Server News
 

+ 3 - 3
website/src/_posts/2018-06-0.25.md

@@ -2,7 +2,7 @@
 title: "Uppy 0.25: Drag & Drop Links Urls & Images, Improved File Selecting in Providers, Interactive Components In i18n"
 date: 2018-06-07
 author: arturi
-image: "/uppy/images/blog/0.25/new-select-provider.jpg"
+image: "/uppy/uppy/images/blog/0.25/new-select-provider.jpg"
 published: true
 ---
 
@@ -12,7 +12,7 @@ Uppy 0.25 comes with a couple of new features, like drag-and-dropping URLs and i
 
 ## Select In Providers
 
-<img src="/images/blog/0.25/new-select-provider.jpg">
+<img src="/uppy/images/blog/0.25/new-select-provider.jpg">
 
 Selecting files doesn’t add files to Uppy immediately anymore. Instead a “Select” button appears (with a counter), and pressing that adds all the files with checked checkboxes and closes the Instagram or Google Drive overlay. Cancel discards the selection and also closes the overlay.
 
@@ -22,7 +22,7 @@ This addresses an undesirable case where `autoProceed: true` would begin uploadi
 
 If you use the [Url plugin](/docs/url/) with the [Dashboard](/docs/dashboard), you can now drop or paste URLs into the main Dashboard area. They will automatically be imported by the Url plugin:
 
-<figure class="wide"><video alt="Demo video showing Uppy with Url plugin that accepts drag and dropped urls" autoplay loop muted playsinline><source src="/images/blog/0.25/link-drop-demo.mp4" type="video/mp4">Your browser does not support the video tag, you can <a href="/images/blog/0.25/link-drop-demo.mp4">download the video</a> to watch it.</video></figure>
+<figure class="wide"><video alt="Demo video showing Uppy with Url plugin that accepts drag and dropped urls" autoplay loop muted playsinline><source src="/uppy/images/blog/0.25/link-drop-demo.mp4" type="video/mp4">Your browser does not support the video tag, you can <a href="/uppy/images/blog/0.25/link-drop-demo.mp4">download the video</a> to watch it.</video></figure>
 
 ## i18n Strings with Interactive Components
 

+ 2 - 2
website/src/_posts/2018-07-0.26.md

@@ -2,13 +2,13 @@
 title: "Uppy 0.26: Lerna"
 date: 2018-07-12
 author: renee
-image: "/uppy/images/blog/0.26/uppy-multiple-packages.png"
+image: "/uppy/uppy/images/blog/0.26/uppy-multiple-packages.png"
 published: true
 ---
 
 Uppy 0.26 replaces the monolithic Uppy package with a separate npm package for every plugin.
 
-<img width="448" src="/images/blog/0.26/uppy-multiple-packages.png">
+<img width="448" src="/uppy/images/blog/0.26/uppy-multiple-packages.png">
 
 <!--more-->
 

+ 10 - 10
website/src/_posts/2018-08-0.27.md

@@ -2,10 +2,10 @@
 title: "Uppy 0.27: First Swing at React Native Support"
 date: 2018-08-23
 author: ife
-image: "/uppy/images/blog/0.27/uppy-add-initial.jpg"
+image: "/uppy/uppy/images/blog/0.27/uppy-add-initial.jpg"
 ---
 
-<img src="/images/blog/0.27/uppy-add-initial.jpg">
+<img src="/uppy/images/blog/0.27/uppy-add-initial.jpg">
 
 In `0.27`, we have some more iterations on the Dashboard UI for you in store again. We are getting rid of the permanent tab bar and made tons of other improvements!
 
@@ -15,25 +15,25 @@ In `0.27`, we have some more iterations on the Dashboard UI for you in store aga
 
 Uppy used to always display the tab bar (the one you use to select between importing files from Instagram, Webcam, local disk, etc.). This ended up not working well with the growing list of supported sources, especially on mobile.
 
-<img src="/images/blog/0.27/uppy-with-tabs.jpg">
+<img src="/uppy/images/blog/0.27/uppy-with-tabs.jpg">
 
 So in `0.27`, we are iterating on the UI again:
 
-<img src="/images/blog/0.27/uppy-add-initial.jpg">
+<img src="/uppy/images/blog/0.27/uppy-add-initial.jpg">
 
 The providers are now visible as a list of icons on the initial screen (plus, we’ve added colors!), but when you complete the inital selection, it is hidden behind the “plus” button:
 
-<img src="/images/blog/0.27/uppy-files-selected.jpg">
+<img src="/uppy/images/blog/0.27/uppy-files-selected.jpg">
 
 You can always add more:
 
-<img src="/images/blog/0.27/uppy-add-more.jpg">
+<img src="/uppy/images/blog/0.27/uppy-add-more.jpg">
 
 The StatusBar that shows progress has been “lightened”:
 
-<img src="/images/blog/0.27/uppy-upload-in-progress.jpg">
+<img src="/uppy/images/blog/0.27/uppy-upload-in-progress.jpg">
 
-<img src="/images/blog/0.27/uppy-upload-complete.jpg">
+<img src="/uppy/images/blog/0.27/uppy-upload-complete.jpg">
 
 We have decided to drop multiple-color support, so Informer messages will now always appear in a gray, round bubble. Apart from that, we have made tons of small fixes, such as better animations, colors, font sizes, and more. [Check out the PR #942](https://github.com/transloadit/uppy/pull/942) for details.
 
@@ -41,7 +41,7 @@ We are aiming to make the UI less heavy, so that Uppy can easier fit within your
 
 The mobile version is now much more refined as well:
 
-<img src="/images/blog/0.27/uppy-mobile.jpg">
+<img src="/uppy/images/blog/0.27/uppy-mobile.jpg">
 
 As always, feel free to [try Uppy live on the Dashboard example](/uppy/examples/dashboard/).
 
@@ -72,7 +72,7 @@ Built-in React Native support has been a 1.0 goal from the start. We have had ma
 
 We now have a cool table showing mingzipped bundle sizes for each individual Uppy package, [check it out](/uppy/docs/stats/#bundle-sizes):
 
-<img width="400" src="/images/blog/0.27/uppy-sizes.png">
+<img width="400" src="/uppy/images/blog/0.27/uppy-sizes.png">
 
 ## "Uppy Server" is now "Companion"
 

+ 6 - 6
website/src/_posts/2018-10-0.28.md

@@ -2,11 +2,11 @@
 title: "Uppy 0.28: A look behind the scenes"
 date: 2018-11-05
 author: renee
-image: "/uppy/images/blog/0.28/dashboard-uploading.jpg"
+image: "/uppy/uppy/images/blog/0.28/dashboard-uploading.jpg"
 published: true
 ---
 
-<img class="border" src="/images/blog/0.28/dashboard-uploading.jpg">
+<img class="border" src="/uppy/images/blog/0.28/dashboard-uploading.jpg">
 
 In `0.28`, we are introducing a new “Single Upload” mode, improving on the Status Bar plugin with a spinner and different pause/resume/cancel buttons. We'll also share some progress on bringing back unified locale packs and a Transloadit Preset 🍁
 
@@ -30,13 +30,13 @@ Speaking of the Dashboard, it now also shows more statuses in the title bar: “
 - The Status Bar now features a spinner animation when upload is in progress.
 - Encoding (with the Transloadit plugin, for example) and uploading progress now get different colors, so it’s easier to tell what’s happening, visually.
 
-<img class="border" style="border-top: 0;" src="/images/blog/0.28/status-bar-uploading.png">
+<img class="border" style="border-top: 0;" src="/uppy/images/blog/0.28/status-bar-uploading.png">
 
-<img class="border" style="border-top: 0;"  src="/images/blog/0.28/status-bar-paused.png">
+<img class="border" style="border-top: 0;"  src="/uppy/images/blog/0.28/status-bar-paused.png">
 
-<img class="border" style="border-top: 0;" src="/images/blog/0.28/status-bar-encoding.png">
+<img class="border" style="border-top: 0;" src="/uppy/images/blog/0.28/status-bar-encoding.png">
 
-<img class="border" style="border-top: 0;" src="/images/blog/0.28/status-bar-complete.png">
+<img class="border" style="border-top: 0;" src="/uppy/images/blog/0.28/status-bar-complete.png">
 
 ## Locale packs
 

+ 3 - 3
website/src/_posts/2018-12-0.29.md

@@ -2,11 +2,11 @@
 title: "Uppy 0.29: separate Core and Plugin styles, React Native in tus-js-client"
 date: 2018-12-11
 author: arturi
-image: "/uppy/images/blog/0.29/uppy-core-plugins-separate-styles.jpg"
+image: "/uppy/uppy/images/blog/0.29/uppy-core-plugins-separate-styles.jpg"
 published: true
 ---
 
-<img src="/images/blog/0.29/uppy-core-plugins-separate-styles.jpg">
+<img src="/uppy/images/blog/0.29/uppy-core-plugins-separate-styles.jpg">
 
 `0.29` brings bug fixes and improvements, while we are busy working on Uppy React Native support (which first had to [land in the js client for our resumable file upload protocol: tus.io](https://github.com/tus/tus-js-client#react-native-support)) and a Preset (still debating the name) which will make it easier to leverage Transloadit's encoding platform, and offer a smooth migration path for users not yet on Uppy. The highlights of this release are: separating Core and Plugin styles, more accurate progress reporting by factoring in sizes across files, adding a `responseType` option for XHR Upload, and fixing visual Webcam bugs.
 
@@ -68,7 +68,7 @@ Some internal details, if you are interested:
 1. If there are files without sizes, the average size of all other files is assumed for the unsized files.
 2. If there are no files with sizes, the percentage is just based on the percentages of the unsized files.
 
-<img src="/images/blog/0.29/progress-size-calculation.jpg">
+<img src="/uppy/images/blog/0.29/progress-size-calculation.jpg">
 
 ## `responseType` For XHR Upload
 

+ 3 - 3
website/src/_posts/2019-03-0.30.md

@@ -2,13 +2,13 @@
 title: "Uppy 0.30: Introducing Robodog"
 date: 2019-03-06
 author: renee
-image: "/uppy/images/blog/0.30/robodog-assemble.jpg"
+image: "/uppy/uppy/images/blog/0.30/robodog-assemble.jpg"
 published: true
 ---
 
 In `0.30`, we are introducing a new friend for Uppy — the Robodog.
 
-<img src="/images/blog/0.30/robodog-assemble.jpg">
+<img src="/uppy/images/blog/0.30/robodog-assemble.jpg">
 <small>Robodog: easy to assemble</small>
 
 <!--more-->
@@ -58,7 +58,7 @@ As usual, we are making constant iterations and improvements to the Dashboard pl
 
 We’ve improved how the StatusBar behaves when no progress reporting is available (which is [the case for MS Edge](https://github.com/transloadit/uppy/pull/1184)):
 
-<img src="/images/blog/0.30/unknown-progress.gif">
+<img src="/uppy/images/blog/0.30/unknown-progress.gif">
 
 ## Upload Success
 

+ 1 - 1
website/src/_posts/2019-03-liftoff-01.md

@@ -2,7 +2,7 @@
 title: "Day 1"
 author: [kvz, aj]
 date: 2019-03-26
-image: "/uppy/images/blog/30daystoliftoff/day1.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day1.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 alias: '/blog/2019/03/26-30daystoliftoff-day1/'

+ 3 - 3
website/src/_posts/2019-03-liftoff-02.md

@@ -2,7 +2,7 @@
 title: "Day 2"
 date: 2019-03-27
 author: samuel
-image: "/uppy/images/blog/30daystoliftoff/day2.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day2.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 alias: /blog/2019/03/27-30daystoliftoff-day2/
@@ -14,7 +14,7 @@ Yesterday, marked the beginning of our thirty-day blog post challenge to keep yo
 
 Our big coding speedrun towards for 1.0 starts April 1, so we are mostly busy with tying up loose ends, busting issues, and planning our work ahead.
 
-<center><img width="400" src="/images/blog/30daystoliftoff/day2.jpg"><br /></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/day2.jpg"><br /></center>
 
 ## Our roadmap for 1.0
 
@@ -26,7 +26,7 @@ We've discussed our [Changelog](https://github.com/transloadit/uppy/blob/master/
 
 We didn't manage to fit all of those *To Do*s in the picture, but here is a screenshot of what our board looks like at the moment:
 
-<center><img src="/images/blog/30daystoliftoff/2019-03-27-board02.png"></center>
+<center><img src="/uppy/images/blog/30daystoliftoff/2019-03-27-board02.png"></center>
 
 Aside from planning, we've also been busy onboarding [Evgenia](https://github.com/lakesare) so she can hit the ground running April 1st.
 

+ 3 - 3
website/src/_posts/2019-03-liftoff-03.md

@@ -2,7 +2,7 @@
 title: "Day 3"
 date: 2019-03-28
 author: samuel
-image: "/uppy/images/blog/30daystoliftoff/day3.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day3.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
@@ -13,7 +13,7 @@ Two days ago, we announced the **upcoming launch of Uppy 1.0 on April 25**, kick
 
 We're still mostly busy tying up any remaining loose ends before April 1, when we'll really start our coding speedrun towards 1.0:
 
-<center><img width="400" src="/images/blog/30daystoliftoff/day3.jpg"><br /></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/day3.jpg"><br /></center>
 
 ## Done
 
@@ -29,7 +29,7 @@ We also celebrated Evgenia submitting her first two PRs: [one](https://github.co
 
 Renée is working hard to fix outdated warnings in our examples. Other than that, the team has been dealing with a Companion issue that invalid access tokens are given out when you select a provider to receive your file from. The aim is to return 401 for invalid access tokens, so that the `/authorized` endpoint can be deprecated. You can track the progress of this issue in its [pull request](https://github.com/transloadit/uppy/pull/1298).
 
-<center><img src="/images/blog/30daystoliftoff/2019-03-27-board02.png"></center>
+<center><img src="/uppy/images/blog/30daystoliftoff/2019-03-27-board02.png"></center>
 
 ## To Do
 

+ 3 - 3
website/src/_posts/2019-03-liftoff-04.md

@@ -2,7 +2,7 @@
 title: "Day 4"
 date: 2019-03-29
 author: tyler
-image: "/uppy/images/blog/30daystoliftoff/day4.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day4.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 alias: /blog/2019/03/27-30daystoliftoff-day4/
@@ -12,7 +12,7 @@ Today marks the fourth day of our ongoing thirty-day blog post challenge, giving
 
 <!--more-->
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/day4.jpg"><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/day4.jpg"><br /></center>
 
 ## Done
 
@@ -25,7 +25,7 @@ We haven't even hit April 1 yet and the 'Done' section of the project dashboard
 
 One of the more exciting updates of this day was also contributed by Alex, with his impressive pre-alpha sketch of a new homepage for Uppy. Despite only being a work in progress, the entire team has been overjoyed with how it's turning out! Take a look for yourself (click to see the full page):
 
-<center><a rel="noreferrer noopener" target="_blank" href="/images/blog/30daystoliftoff/2019-03-liftoff-04b.png"><img width="400" src="/images/blog/30daystoliftoff/2019-03-liftoff-04a.png"></a></center>
+<center><a rel="noreferrer noopener" target="_blank" href="/uppy/images/blog/30daystoliftoff/2019-03-liftoff-04b.png"><img width="400" src="/uppy/images/blog/30daystoliftoff/2019-03-liftoff-04a.png"></a></center>
 
 [Ife](https://github.com/ifedapoolarewaju) has been focused on [fixing hanging Instagram files uploaded through Companion](https://github.com/transloadit/uppy/pull/1274/files) and our content team's own [Samuel](https://github.com/samuelayo) added examples for [handling uploads in Node.js, and in Python (using the Flask microframework)](https://github.com/transloadit/uppy/pull/1389). 
 

+ 1 - 1
website/src/_posts/2019-03-liftoff-05.md

@@ -2,7 +2,7 @@
 title: "Day 5"
 date: 2019-03-30
 author: kvz
-image: "/uppy/images/blog/30daystoliftoff/15.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/15.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---

+ 1 - 1
website/src/_posts/2019-03-liftoff-06.md

@@ -2,7 +2,7 @@
 title: "Day 6"
 date: 2019-03-31
 author: aj
-image: "/uppy/images/blog/30daystoliftoff/day3.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day3.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---

+ 5 - 5
website/src/_posts/2019-04-1.0.md

@@ -2,13 +2,13 @@
 title: "Uppy 1.0: Your best friend in file uploading"
 date: 2019-04-25
 author: arturi
-image: "/uppy/images/blog/1.0/uppy-dashboard-1.png"
+image: "/uppy/uppy/images/blog/1.0/uppy-dashboard-1.png"
 published: true
 ---
 
 Today, after three years of development, we are launching version 1.0 of Uppy, our file uploader for web browsers.
 
-<img src="/images/blog/1.0/uppy-dashboard-1.png">
+<img src="/uppy/images/blog/1.0/uppy-dashboard-1.png">
 
 ## A little history
 
@@ -46,7 +46,7 @@ I was mostly working on the frontend and building what is known today as the [Da
 
 In 2016, the Transloadit team had a meetup in Amsterdam, where I ended up being [present](https://mobile.twitter.com/arturi/status/701394760796229632) in a most unusual way (in the center):
 
-<img src="/images/blog/1.0/amsterdam-team-meetup.jpg">
+<img src="/uppy/images/blog/1.0/amsterdam-team-meetup.jpg">
 
 Later that year, [Ife](https://github.com/ifedapoolarewaju) joined the Uppy team as well and took over all Companion work.
 
@@ -56,7 +56,7 @@ Around that time, [Alex](https://zaytsev.io/) also joined in to advise us on the
 
 In the summer of 2017, the Transloadit team had another meeting. This time in Berlin, where we worked on the [Golden Retriever](/docs/golden-retriever/) plugin that helps recover files after browser crashes. We also played Mario Kart (I lost, despite all the practice!) and dressed up as characters from the game:
 
-<img src="/images/blog/1.0/uppy-team-kong.jpg">
+<img src="/uppy/images/blog/1.0/uppy-team-kong.jpg">
 
 Read more [about Golden Retriever and that team meetup](/uppy/blog/2017/07/golden-retriever/). Golden Retriever got good press on Reddit and Hacker News because it goes above and beyond to make things absurdly reliable. In the demo video, you see us `kill -9` our browser, restart, and the upload just picks right up where it left off. A first!
 
@@ -66,7 +66,7 @@ We had been postponing the 1.0 release for quite some time. There’s always jus
 
 So, about a month ago, we decided to pull the trigger and [announced an Uppy Month](/uppy/blog/2019/03/liftoff-01/) within Transloadit. This meant that all team members, including those not working primarily on Uppy — the Tus core team, our SDK teams, as well as our infra and API engineers, designers, content writers, and the founders themselves — all chipped in and did their part to ensure liftoff in thirty days. We also asked [Evgenia](http://github.com/lakesare) to join us for the month to lend a hand with frontend work. Every week, we had a call where we looked at the Uppy 1.0 project board and talked about our progress:
 
-<img src="/images/blog/30daystoliftoff/15-dashboard.png">
+<img src="/uppy/images/blog/30daystoliftoff/15-dashboard.png">
 
 Here are some highlights of what we’ve managed to deliver during one month of Everything Uppy:
 

+ 5 - 5
website/src/_posts/2019-04-liftoff-07.md

@@ -2,7 +2,7 @@
 title: "Day 7"
 date: 2019-04-01
 author: kvz
-image: "/uppy/images/blog/30daystoliftoff/day07.png"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day07.png"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
@@ -13,7 +13,7 @@ We still have some updates from the end of last week to share with you, and our
 
 <!--more-->
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/day07.png"><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/day07.png"><br /></center>
 
 ## Done
 
@@ -24,9 +24,9 @@ We still have some updates from the end of last week to share with you, and our
 - [Evgenia](https://github.com/lakesare) has [removed the jumpiness](https://github.com/transloadit/uppy/pull/1383) that occurred when Uppy was loading.
 - [Alex](https://transloadit.com/about/#alex) improved the design of the statusbar for cases where the upload fails. <br />
 Before:<br />
-<center><img width="400" src="/images/blog/30daystoliftoff/2019-04-liftoff-07a.png"></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/2019-04-liftoff-07a.png"></center>
 After:<br />
-<center><img width="400" src="/images/blog/30daystoliftoff/2019-04-liftoff-07b.png"></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/2019-04-liftoff-07b.png"></center>
 
 ## In Progress
 
@@ -37,6 +37,6 @@ After:<br />
 - Evgenia is working on the dashboard, improving how file previews are justified and testing browser compatibility.
 - [Alex Kolodko](https://github.com/alexkolodko) (yes, that is indeed a different [Alex](https://github.com/nqst) :smile:) has been drafting up some sketches for an iteration on our logo:
 
-<center><img width="400" src="/images/blog/30daystoliftoff/2019-04-liftoff-07c.png"></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/2019-04-liftoff-07c.png"></center>
 
 And that's all the news we have for you today! Catch up with us [tomorrow](/blog/2019/04/liftoff-08/) for more progress on our 30 Days to Liftoff! And of course, if you want to make sure you're not missing out on anything, feel free to subscribe to our [RSS feed](/uppy/atom.xml) :rocket:

+ 6 - 6
website/src/_posts/2019-04-liftoff-08.md

@@ -2,14 +2,14 @@
 title: "Day 8"
 date: 2019-04-02
 author: samuel
-image: "/uppy/images/blog/30daystoliftoff/day08.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day08.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
 
 Welcome to Day 8 of our ongoing thirty-day blog post challenge toward the **Uppy 1.0 release on April 25**! Yesterday was the 1st of April, but we had no time for fooling around! The entire team was present for our weekly call, which was again fully dedicated to discussing Uppy progress.
 
-<center><img width="400" src="/images/blog/30daystoliftoff/day08.jpg"><br /><br /></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/day08.jpg"><br /><br /></center>
 
 During the call, a lot of cards were moved from the *To Do* lane into the *In Progress* lane — and some are even already *Done*. We also added a few *New* tasks mostly related to language packs for Uppy, where we'll be asking our own team members to update a locale of their own language. We hope other languages will be picked up by the community! 
 
@@ -17,7 +17,7 @@ During the call, a lot of cards were moved from the *To Do* lane into the *In Pr
 
 This is what our board currently looks like:
 
-<center><img src="/images/blog/30daystoliftoff/2019-04-board.png"><br /><br /></center>
+<center><img src="/uppy/images/blog/30daystoliftoff/2019-04-board.png"><br /><br /></center>
 
 
 Let's take a look at the updates we can share with you today.
@@ -28,9 +28,9 @@ Let's take a look at the updates we can share with you today.
 - [Alex](https://transloadit.com/about/#alex) improved the design of the drag-to-upload stage. <br />
 
 Before:<br />
-<center><img width="400" src="/images/blog/30daystoliftoff/2019-04-02-before.png"></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/2019-04-02-before.png"></center>
 After:<br />
-<center><img width="400" src="/images/blog/30daystoliftoff/2019-04-02-after.png"></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/2019-04-02-after.png"></center>
 
 - [Evgenia](https://github.com/lakesare) made sure that [file previews now form an even spread](https://github.com/transloadit/uppy/pull/1398) across the width of the dashboard.
 
@@ -42,7 +42,7 @@ After:<br />
 
 - We have our first WIP screenshot for the React Native implementation:
 
-<center><img width="400" src="/images/blog/30daystoliftoff/2019-04-02-wip-react-native.png"></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/2019-04-02-wip-react-native.png"></center>
 
 - [Abdel](https://transloadit.com/about/#abdel) is busy fixing the serverless examples where WebSockets are terminated when Uppy is deployed to Lambda
 

+ 2 - 2
website/src/_posts/2019-04-liftoff-09.md

@@ -2,7 +2,7 @@
 title: "Day 9"
 date: 2019-04-03
 author: tyler
-image: "/uppy/images/blog/30daystoliftoff/day09.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day09.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
@@ -11,7 +11,7 @@ seriesSuffix: 'of 30'
 
 The entire team is starting to get into its groove as the Uppy channel in our Slack workspace is looking livelier than ever. Let's dive straight into Day 9 of our 30 Days to Liftoff!
 
-<center><img width="400" src="/images/blog/30daystoliftoff/day09.jpg"><br /><br /></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/day09.jpg"><br /><br /></center>
 
 Everyone is moving at a comfortable pace, working on the various *In Progress* cards sitting neatly on our Uppy board, so here's a quick update on the progress towards **Uppy 1.0, coming April 25**!
 

+ 4 - 4
website/src/_posts/2019-04-liftoff-10.md

@@ -2,14 +2,14 @@
 title: "Day 10"
 date: 2019-04-04
 author: tyler
-image: "/uppy/images/blog/30daystoliftoff/day10.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day10.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
 
 Today marks the tenth day in our 30 Days to Liftoff! **April 25** is still in our sights as we work towards the **Uppy 1.0** release. The end of the working week is almost upon us, but there's no sign of slowing down yet.  
 
-<center><img width="400" src="/images/blog/30daystoliftoff/day10.jpg"><br /></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/day10.jpg"><br /></center>
 
 Things are looking up(py) on our project board as the team has been working on tasks at a steady pace. A quick status update will give us a little insight into how things are going concerning all things Uppy.
 
@@ -23,7 +23,7 @@ Things are looking up(py) on our project board as the team has been working on t
 
 - [Kevin](https://github.com/kvz) started working on the [new documentation menu structure](https://github.com/transloadit/uppy/pull/1405) for the site and we can already show a [live example](https://5ca5233bfd8bcc00085152a8--uppy.netlify.com/docs/)of it. Take a look at the main differences below:
 
-<center><img width=400 src="/images/blog/30daystoliftoff/2019-04-04-docs.png"><br /><br /></center>
+<center><img width=400 src="/uppy/images/blog/30daystoliftoff/2019-04-04-docs.png"><br /><br /></center>
 
 ## Done
 
@@ -35,6 +35,6 @@ Things are looking up(py) on our project board as the team has been working on t
 
 While not strictly related to our Uppy 1.0 release, we have managed to reach over 6000 commits to our master branch and 99 contributors in the [Uppy repo](https://github.com/transloadit/uppy). We would like to give a huge thank you to everyone offering their support!
 
-<center><img src="/images/blog/30daystoliftoff/2019-04-04.png"><br /></center>
+<center><img src="/uppy/images/blog/30daystoliftoff/2019-04-04.png"><br /></center>
  
 On that note, Day 10 of our thirty-day challenge comes to an end. Friday looks like it will be another exciting day, so don't hesitate to keep checking up on us via [Twitter](https://twitter.com/uppy_io) or [RSS](/uppy/atom.xml)!

+ 2 - 2
website/src/_posts/2019-04-liftoff-11.md

@@ -2,14 +2,14 @@
 title: Day 11
 date: 2019-04-05
 author: samuel
-image: /uppy/images/blog/30daystoliftoff/day11.jpg
+image: /uppy/uppy/images/blog/30daystoliftoff/day11.jpg
 series: 30 Days to Liftoff
 seriesSuffix: of 30
 ---
 
 And another week bites the dust! With the weekend right around the corner, we're busy getting as much as possible done before heading off for some well-deserved rest & relaxation. Here is what we've been up to!   
 
-<center><img width="400" src="/images/blog/30daystoliftoff/day11.jpg"><br /></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/day11.jpg"><br /></center>
 
 <!--more-->
 

+ 1 - 1
website/src/_posts/2019-04-liftoff-12.md

@@ -2,7 +2,7 @@
 title: "Day 12"
 date: 2019-04-06
 author: aj
-image: "/uppy/images/blog/30daystoliftoff/discodog.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/discodog.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---

+ 1 - 1
website/src/_posts/2019-04-liftoff-13.md

@@ -2,7 +2,7 @@
 title: "Day 13"
 date: 2019-04-07
 author: aj
-image: "/uppy/images/blog/30daystoliftoff/discodog.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/discodog.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---

+ 2 - 2
website/src/_posts/2019-04-liftoff-14.md

@@ -2,7 +2,7 @@
 title: "Day 14"
 date: 2019-04-08
 author: kvz
-image: "/uppy/images/blog/30daystoliftoff/day14.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day14.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
@@ -13,7 +13,7 @@ Today marks the fourteenth day in our '30 Days to Liftoff' blog post challenge,
 
 Let's jump right in!
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/day14.jpg"><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/day14.jpg"><br /></center>
 
 ## Done
 

+ 3 - 3
website/src/_posts/2019-04-liftoff-15.md

@@ -2,7 +2,7 @@
 title: "Day 15"
 date: 2019-04-09
 author: samuel
-image: "/uppy/images/blog/30daystoliftoff/rockdog.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/rockdog.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
@@ -11,7 +11,7 @@ seriesSuffix: 'of 30'
 
 Let's see what is Uppy today!
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/rockdog.jpg"><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/rockdog.jpg"><br /></center>
 
 <!--more-->
 
@@ -21,7 +21,7 @@ We had our weekly call yesterday, during which we re-evaluated the Uppy 1.0 proj
 
 Here is a view of what our Asana board looks like this week:
 
-<center><br /><img src="/images/blog/30daystoliftoff/2019-04-09-asana-board.png"><br /></center>
+<center><br /><img src="/uppy/images/blog/30daystoliftoff/2019-04-09-asana-board.png"><br /></center>
 
 
 ## Done

+ 2 - 2
website/src/_posts/2019-04-liftoff-16.md

@@ -2,14 +2,14 @@
 title: "Day 16"
 date: 2019-04-10
 author: tyler
-image: "/uppy/images/blog/30daystoliftoff/day16.gif"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day16.gif"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
 
 Two weeks left in our '30 Days to Liftoff'! We're starting to home in on **Uppy 1.0's release on April 25**. Being in the middle of the week gives us a great opportunity to see how hard the team is working. Let's take a look at the new features, bug fixes and milestones that have been completed! :dog:
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/day16.gif"><br /><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/day16.gif"><br /><br /></center>
 
 Reminder: you can keep up with our [CHANGELOG](https://github.com/transloadit/uppy/blob/master/CHANGELOG.md) to see everything else we intend to complete for the official Uppy 1.0 release.
 

+ 7 - 7
website/src/_posts/2019-04-liftoff-17.md

@@ -2,14 +2,14 @@
 title: "Day 17"
 date: 2019-04-11
 author: samuel
-image: "/uppy/images/blog/30daystoliftoff/day17.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day17.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
 
 It's day 17 already of our '30 Days to Liftoff' blog post challenge and the **launch of Uppy 1.0 on April 25** is coming closer by the day. The Uppy team is dealing with the big tasks now, so the updates might seem a little scant!
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/day17.jpg"><br /><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/day17.jpg"><br /><br /></center>
 
 <!--more-->
 
@@ -17,16 +17,16 @@ It's day 17 already of our '30 Days to Liftoff' blog post challenge and the **la
 
 - [Artur](https://github.com/arturi) updated the [React Native](https://github.com/transloadit/uppy/pull/988) UI example. This is what the new UI looks like:
 
-<center><img width="400" src="/images/blog/30daystoliftoff/2019-04-11-react-native-ui-1.png"></center>
-<center><img width="400" src="/images/blog/30daystoliftoff/2019-04-11-react-native-ui-2.png"></center>
-<center><img width="400" src="/images/blog/30daystoliftoff/2019-04-11-react-native-ui-3.png"></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/2019-04-11-react-native-ui-1.png"></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/2019-04-11-react-native-ui-2.png"></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/2019-04-11-react-native-ui-3.png"></center>
 
 - [Alex](https://github.com/nqst) updated the focus styles on the Uppy Dashboard, making it look quite a bit sleeker than it did before. Here's a before and after view of the Dashboard focus styles:
 
 Before:<br />
-<center><img width="400" src="/images/blog/30daystoliftoff/2019-04-11-before-focus.gif"></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/2019-04-11-before-focus.gif"></center>
 After:<br />
-<center><img width="400" src="/images/blog/30daystoliftoff/2019-04-11-after-focus.gif"></center>
+<center><img width="400" src="/uppy/images/blog/30daystoliftoff/2019-04-11-after-focus.gif"></center>
 
 
 ## In Progress

+ 2 - 2
website/src/_posts/2019-04-liftoff-18.md

@@ -2,14 +2,14 @@
 title: "Day 18"
 date: 2019-04-12
 author: kvz
-image: "/uppy/images/blog/30daystoliftoff/day18.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day18.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
 
 Hi! You're reading our '30 Days to Liftoff' blog post challenge about the **launch of Uppy 1.0 on April 25**. Here's what we've been up to since yesterday's progress update.  
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/day18.jpg"><br /><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/day18.jpg"><br /><br /></center>
 
 <!--more-->
 

+ 1 - 1
website/src/_posts/2019-04-liftoff-19.md

@@ -2,7 +2,7 @@
 title: "Day 19"
 date: 2019-04-13
 author: aj
-image: "/uppy/images/blog/30daystoliftoff/dogdj.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/dogdj.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---

+ 1 - 1
website/src/_posts/2019-04-liftoff-20.md

@@ -2,7 +2,7 @@
 title: "Day 20"
 date: 2019-04-14
 author: aj
-image: "/uppy/images/blog/30daystoliftoff/coffeedog.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/coffeedog.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---

+ 3 - 3
website/src/_posts/2019-04-liftoff-21.md

@@ -2,20 +2,20 @@
 title: "Day 21"
 date: 2019-04-15
 author: tyler
-image: "/uppy/images/blog/30daystoliftoff/day21.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day21.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
 
 We're reaching the final stretch of our '30 Days to Liftoff' blog post challenge. After a refreshing weekend, the entire team is ready to give it their all over the next ten days to ensure that **Uppy 1.0 reaches its April 25** release date.
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/day21.jpg"><br /><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/day21.jpg"><br /><br /></center>
 
 Since we're starting the week strong and prepared, let's take a quick glance at how our Uppy dashboard is looking.
 
 <!--more-->
 
-<center><img width="" src="/images/blog/30daystoliftoff/15-dashboard.png"><br/><br/></center>
+<center><img width="" src="/uppy/images/blog/30daystoliftoff/15-dashboard.png"><br/><br/></center>
 
 There are still a few unique, and possibly daunting, tasks left for the remainder of the development cycle, but the team is taking each issue in stride and adding features with ease.
 

+ 5 - 5
website/src/_posts/2019-04-liftoff-22.md

@@ -2,24 +2,24 @@
 title: "Day 22"
 date: 2019-04-16
 author: kvz
-image: "/uppy/images/blog/30daystoliftoff/day22.png"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day22.png"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
 
 We will launch **Uppy 1.0 on April 25** and this is our '30 Days to Liftoff' blog post challenge where we share updates on our progress each day! Let's see what happened on Day 22.
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/day22.png"><br /><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/day22.png"><br /><br /></center>
 
 <!--more-->
 
 - [Artur](https://github.com/arturi) and [Kevin](https://github.com/kvz) have been pairing on [language packs](https://github.com/transloadit/uppy/pull/1443) and are nearly done with it. Très bien, magnifique!
 
-<center><img src="/images/blog/30daystoliftoff/localetodos.png"><br/><br/></center>
+<center><img src="/uppy/images/blog/30daystoliftoff/localetodos.png"><br/><br/></center>
 
 After this, it will be just as easy to maintain language/locale packs as it will be to switch Uppy to your favorite language. Fun fact: we experimented a bit with Google Sheets and Google Translate to automatically create a first swing for a few of the languages we want to launch with.
 
-<center><a rel="noreferrer noopener" target="_blank" href="/images/blog/30daystoliftoff/sheetstranslate.png"><img src="/images/blog/30daystoliftoff/sheetstranslate.png"></a></center>
+<center><a rel="noreferrer noopener" target="_blank" href="/uppy/images/blog/30daystoliftoff/sheetstranslate.png"><img src="/uppy/images/blog/30daystoliftoff/sheetstranslate.png"></a></center>
 
 It kinda worked! Google automatically translates to target languages in each column we add, for each change we make in the original! In the end, though, we decided this was not the way to go, as it really didn't save us any time. As it turns out, starting from a good English version of the text is _way_ easier than making sense of a broken Google translation. It was a fun experiment nonetheless and it's cool to see where this is all heading!
 
@@ -27,7 +27,7 @@ Artur will also be reviewing the many PRs that have been submitted by both Trans
 
 - [Alex](https://github.com/nqst) finished his redesign for the new website:
 
-<center><a rel="noreferrer noopener" target="_blank" href="/images/blog/30daystoliftoff/webdesign2.png"><img src="/images/blog/30daystoliftoff/webdesign2.png"></a></center>
+<center><a rel="noreferrer noopener" target="_blank" href="/uppy/images/blog/30daystoliftoff/webdesign2.png"><img src="/uppy/images/blog/30daystoliftoff/webdesign2.png"></a></center>
 
 ..and will start implementing it today! He also worked on more [design improvements for Uppy itself](https://github.com/transloadit/uppy/pull/1452).
 

+ 2 - 2
website/src/_posts/2019-04-liftoff-23.md

@@ -2,14 +2,14 @@
 title: "Day 23"
 date: 2019-04-17
 author: samuel
-image: "/uppy/images/blog/30daystoliftoff/day23.png"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day23.png"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
 
 Hello and welcome to Day 23 of our '30 Days to Liftoff' blog post challenge. The launch date for **Uppy 1.0** is still set for **April the 25th** and a lot of work is ongoing to make it happen. Let's take a look at the updates for today!
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/day23.png"><br /><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/day23.png"><br /><br /></center>
 
 <!--more-->
 

+ 3 - 3
website/src/_posts/2019-04-liftoff-24.md

@@ -3,7 +3,7 @@ title: "Day 24"
 date: 2019-04-18
 author: tyler
 published: true
-image: "/uppy/images/blog/30daystoliftoff/day24-1.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day24-1.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
@@ -12,7 +12,7 @@ Only six days remain in our '30 Days to Liftoff' blog post challenge toward **re
 
 Luckily, we're also very close to reaching all of our release goals. Let's take a look at where we are now!
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/day24.gif"><br /><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/day24.gif"><br /><br /></center>
 
 <!--more-->
 
@@ -20,7 +20,7 @@ Luckily, we're also very close to reaching all of our release goals. Let's take
 
 - [Alex's](https://github.com/nqst) [design facelift](https://github.com/transloadit/uppy/pull/1452) was completed after some testing by [Artur](https://github.com/arturi). Take a look at some of the improvements below:
 
-<center><br /><img src="/images/blog/30daystoliftoff/2019-04-18-design.png"><br /></center>
+<center><br /><img src="/uppy/images/blog/30daystoliftoff/2019-04-18-design.png"><br /></center>
 
 - [Tim](https://github.com/tim-kos) will be spending today thoroughly testing Uppy in preparation for the upcoming release. We think just about everything is working, so now it's time for someone to try and break it all! :hammer: Slight warning: we're in the process of making some big behind-the-scenes changes, so there may be some issues that crop up on our webpage. 
 

+ 1 - 1
website/src/_posts/2019-04-liftoff-25.md

@@ -2,7 +2,7 @@
 title: "Day 25"
 date: 2019-04-19
 author: aj
-image: "/uppy/images/blog/30daystoliftoff/gooddog.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/gooddog.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---

+ 1 - 1
website/src/_posts/2019-04-liftoff-26.md

@@ -2,7 +2,7 @@
 title: "Day 26"
 date: 2019-04-20
 author: aj
-image: "/uppy/images/blog/30daystoliftoff/sleepingdog.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/sleepingdog.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---

+ 1 - 1
website/src/_posts/2019-04-liftoff-27.md

@@ -2,7 +2,7 @@
 title: "Day 27"
 date: 2019-04-21
 author: aj
-image: "/uppy/images/blog/30daystoliftoff/easterdog1.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/easterdog1.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---

+ 1 - 1
website/src/_posts/2019-04-liftoff-28.md

@@ -2,7 +2,7 @@
 title: "Day 28"
 date: 2019-04-22
 author: aj
-image: "/uppy/images/blog/30daystoliftoff/easterdog2.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/easterdog2.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---

+ 2 - 2
website/src/_posts/2019-04-liftoff-29.md

@@ -3,7 +3,7 @@ title: "Day 29"
 date: 2019-04-23
 author: tyler
 published: true
-image: "/uppy/images/blog/30daystoliftoff/day-29.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day-29.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
@@ -12,7 +12,7 @@ With Easter behind us, only two days remain before the **Uppy 1.0 release!**. We
 
 In terms of progress and completed features, things are looking good. We don't have the entire team present today due to personal holidays and other commitments, but there's no slowing down as we approach our deadline! This afternoon, we're having our final Uppy 1.0 call where we'll make final decisions on what we will — and won't — get done before Thursday.
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/day-29.jpg"><br /><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/day-29.jpg"><br /><br /></center>
 
 <!--more-->
 

+ 4 - 4
website/src/_posts/2019-04-liftoff-30.md

@@ -2,14 +2,14 @@
 title: "Day 30"
 date: 2019-04-24
 author: kvz
-image: "/uppy/images/blog/30daystoliftoff/day30.jpg"
+image: "/uppy/uppy/images/blog/30daystoliftoff/day30.jpg"
 series: 30 Days to Liftoff
 seriesSuffix: 'of 30'
 ---
 
 And then there were none! Zero days left in our thirty-day blog post challenge. I can't believe this is already the final day of our push to get Uppy to 1.0. There's still a bunch of things that we'd like to finish before shipping, so let's dive right in.
 
-<center><br /><img width="400" src="/images/blog/30daystoliftoff/day30.jpg"><br /><br /></center>
+<center><br /><img width="400" src="/uppy/images/blog/30daystoliftoff/day30.jpg"><br /><br /></center>
 
 <!--more-->
 
@@ -21,13 +21,13 @@ And then there were none! Zero days left in our thirty-day blog post challenge.
 
 We also had a team call where we discussed which _To Do's_ we can leave behind for the launch, and which ones we'd really like to get in. To save time for actually working on these tasks, instead of typing, let me share a screenshot of what we agreed upon:
 
-<center><a rel="noreferrer noopener" target="_blank" href="/images/blog/30daystoliftoff/2019-04-day30-board.png"><img src="/images/blog/30daystoliftoff/2019-04-day30-board.png"></a><br /><br /></center>
+<center><a rel="noreferrer noopener" target="_blank" href="/uppy/images/blog/30daystoliftoff/2019-04-day30-board.png"><img src="/uppy/images/blog/30daystoliftoff/2019-04-day30-board.png"></a><br /><br /></center>
 
 It's gonna be a close call. [Ife](https://github.com/ifedapoolarewaju), especially, has a lot on his plate with that "[600MB issue](https://github.com/tus/tus-js-client/issues/146)" still untackled, but we did get [Marius](https://github.com/Acconut) on board with the way we want to solve it, so now it's full steam ahead.
 
 Before I'm going back to the team and help out where I can, I'd like to thank you for reading along with us for these past thirty days. To be honest, at times, we regretted making this commitment.
 
-<center><br /><img src="/images/blog/30daystoliftoff/2019-04-day30-posts.png"><br /><br /></center>
+<center><br /><img src="/uppy/images/blog/30daystoliftoff/2019-04-day30-posts.png"><br /><br /></center>
 
 A post a day can steal focus, but we learned a lot. It quickly became clear that in order to set ourselves up for success, we needed to plan ahead and establish some basic rules. Strict deadlines, for instance, helped out a lot: the first iteration needed to be in before lunch, with a second one done shortly after lunch. Otherwise, folks would end up working overtime or even on the next day, when it was already time for the next post. 
 

+ 3 - 3
website/src/_posts/2019-08-1.3.md

@@ -18,8 +18,8 @@ This post highlights the most important and exciting changes from those releases
 Our new team member, Evgenia, has been on a roll and together with Artur and Alex, she has been working hard on improving accessiblity in Uppy. Evgenia has come up with something called “superfocus”, which makes sure focus stays on the most relevant button or field in the current view. The `@uppy/provider-views` layouts have been refactored so that checkboxes and labels are accessible. Focus styles have also been improved.
 
 <video alt="Demo video showing Uppy focus management in action" muted autoplay loop>
-  <source src="/images/blog/1.3/uppy-focus-demo.webm" type="video/webm">
-  <source src="/images/blog/1.3/uppy-focus-demo.mp4" type="video/mp4">
+  <source src="/uppy/images/blog/1.3/uppy-focus-demo.webm" type="video/webm">
+  <source src="/uppy/images/blog/1.3/uppy-focus-demo.mp4" type="video/mp4">
 </video>
 
 Other notable accessiblity fixes and improvements:
@@ -76,7 +76,7 @@ Before this change, when you added a file to Uppy from a mobile device, you woul
 * Drag and drop has been refactored internally in both the Dashboard and DragDrop plugins. This means a more robust and cross-browser implementation, with a fancy “drop files here” screen when you drag over the Dashboard.
 * The `@uppy/drag-drop` plugin now renders an entirely clickable DnD area.
 
-![](/images/blog/1.3/drag-drop-focus.png)
+![](/uppy/images/blog/1.3/drag-drop-focus.png)
 
 See [#1440](https://github.com/transloadit/uppy/pull/1440), [#1565](https://github.com/transloadit/uppy/pull/1565) and [#1633](https://github.com/transloadit/uppy/pull/1633) for more details.
 

+ 4 - 4
website/src/_posts/2019-10-1.5.md

@@ -36,10 +36,10 @@ Files in the Dashboard no longer have an icon indicating where they came from (l
 ```
 
 The difference is very small. The icons used to be next to the file size, as seen here in Uppy v1.3:
-![Uppy Dashboard v1.3, with file source icon](/images/blog/1.5/with-source-icon.png)
+![Uppy Dashboard v1.3, with file source icon](/uppy/images/blog/1.5/with-source-icon.png)
 
 Now, in v1.5, they’re gone:
-![Uppy Dashboard v1.5, without file source icon](/images/blog/1.5/without-source-icon.png)
+![Uppy Dashboard v1.5, without file source icon](/uppy/images/blog/1.5/without-source-icon.png)
 
 Additionally:
 * Editing a file now fires `dashboard:file-edit-start` and `dashboard:file-edit-complete` events ([#1776](https://github.com/transloadit/uppy/pull/1776))
@@ -53,8 +53,8 @@ Our old approach to limiting the amount of simultaneous uploads had some problem
 PR [#1736](https://github.com/transloadit/uppy/pull/1736) addresses this by ripping out the old limiting code and replacing it with a new, cancellation-aware upload queue. We’ve also added a browser test to make sure that this thing stays resilient:
 
 <video alt="Demo video showing an automated Chaos Monkey session with Uppy" muted autoplay loop>
-  <source src="/images/blog/1.5/chaos-monkey.webm" type="video/webm">
-  <source src="/images/blog/1.5/chaos-monkey.mp4" type="video/mp4">
+  <source src="/uppy/images/blog/1.5/chaos-monkey.webm" type="video/webm">
+  <source src="/uppy/images/blog/1.5/chaos-monkey.mp4" type="video/mp4">
 </video>
 
 ## Lerna lerna lerna

+ 3 - 3
website/src/_posts/2019-12-1.7.md

@@ -3,7 +3,7 @@ title: "Uppy 1.7: A Small One"
 date: 2020-01-10
 author: renee
 published: true
-image: "/uppy/images/blog/1.7/cat-video-screen.jpg"
+image: "/uppy/uppy/images/blog/1.7/cat-video-screen.jpg"
 ---
 
 Uppy 1.7 was released last December! This release added Hebrew translations, a recording length timer for the `@uppy/webcam` plugin, and a collection of improvements to Companion.
@@ -15,8 +15,8 @@ Uppy 1.7 was released last December! This release added Hebrew translations, a r
 When recording audio or video using the `@uppy/webcam` plugin, this new option contributed by [@dominiceden](https://github.com/dominiceden) shows a timer in the bottom right, so your users can see how long they’ve been recording for.
 
 <video alt="Demo video showing Uppy Webcam video recording timer" muted autoplay loop>
-  <source src="/images/blog/1.7/cat-video-timer.webm" type="video/webm">
-  <source src="/images/blog/1.7/cat-video-timer.mp4" type="video/mp4">
+  <source src="/uppy/images/blog/1.7/cat-video-timer.webm" type="video/webm">
+  <source src="/uppy/images/blog/1.7/cat-video-timer.mp4" type="video/mp4">
 </video>
 
 ## Companion

+ 2 - 2
website/src/_posts/2020-03-1.9.md

@@ -24,7 +24,7 @@ Uppy 1.8, 1.9 and a few important security patches are out! Here are the highlig
 
 The Dashboard plugin has gained new file type icons: for images — useful before the preview is generated, or when there’s no preview at all, like with images from the Url plugin — and for archives.
 
-![](/images/blog/1.9/file-type-icons.png)
+![](/uppy/images/blog/1.9/file-type-icons.png)
 
 ## Types
 
@@ -78,7 +78,7 @@ function MyComponent () {
 
 Finally, the `locale` options and React props now have full typings. Your editor should now be able to provide autocompletion for language keys!
 
-![Screenshot showing VS Code autocompletion for a language key.](/images/blog/1.9/locale-type.png)
+![Screenshot showing VS Code autocompletion for a language key.](/uppy/images/blog/1.9/locale-type.png)
 
 We now also use `tsd`, so our typings are actually tested.
 

+ 2 - 2
website/src/_posts/2020-03-custom-providers.md

@@ -140,7 +140,7 @@ Head to Unsplash's [developer platform](https://unsplash.com/oauth/applications)
 
 Click "New Application" to create a new application. For the sake of this tutorial, I am naming my application "companion-provider". Once it is created, your page should look something like this:
 
-![](/images/blog/custom-providers/unsplash-api-dashboard.png)
+![](/uppy/images/blog/custom-providers/unsplash-api-dashboard.png)
 
 ### Writing the custom provider
 
@@ -556,7 +556,7 @@ module.exports = (api) => {
 
 You can now load the URL of your client on your browser to see it running. When I run mine, it looks something like this:
 
-![](/images/blog/custom-providers/dashboard-preview.png)
+![](/uppy/images/blog/custom-providers/dashboard-preview.png)
 
 In order to use this with our Companion implementation, we need to also start our Companion server by running `node server/index.js`.
 

+ 3 - 3
website/src/_posts/2020-04-1.10.md

@@ -7,7 +7,7 @@ published: true
 
 Uppy `1.10.1` adds long-awaited support for [Facebook](/docs/facebook/) and [OneDrive](/docs/onedrive/) 🎉
 
-![Screenshot showing Uppy file uploader with Facebook and OneDrive options](/images/blog/1.10/uppy-facebook-onedrive.png)
+![Screenshot showing Uppy file uploader with Facebook and OneDrive options](/uppy/images/blog/1.10/uppy-facebook-onedrive.png)
 
 ```js
 const uppy = Uppy()
@@ -30,11 +30,11 @@ You can also play with an interactive demo, enabling different Uppy options and
 
 OneDrive:
 
-![Screenshot showing Uppy file uploader with OneDrive file list](/images/blog/1.10/uppy-onedrive.png)
+![Screenshot showing Uppy file uploader with OneDrive file list](/uppy/images/blog/1.10/uppy-onedrive.png)
 
 Facebook:
 
-![Screenshot showing Uppy file uploader with Facebook file list](/images/blog/1.10/uppy-facebook.png)
+![Screenshot showing Uppy file uploader with Facebook file list](/uppy/images/blog/1.10/uppy-facebook.png)
 
 <!--more-->
 

+ 4 - 4
website/src/_posts/2020-04-1.13.md

@@ -2,7 +2,7 @@
 title: "Uppy 1.11 — 1.13: Dark Mode, custom meta fields and Google Docs in Companion"
 date: 2020-04-20
 author: arturi
-image: "/uppy/images/blog/1.13/uppy-dashboard-dark-mar-2020.png"
+image: "/uppy/uppy/images/blog/1.13/uppy-dashboard-dark-mar-2020.png"
 published: true
 ---
 
@@ -13,8 +13,8 @@ Releases 1.11 through 1.13 introduced a bunch of major new features and bugfixes
 A little while ago we’ve [announced work in progress](https://mobile.twitter.com/uppy_io/status/1221070643543838721) on Dark Mode for the Dashboard. We're happy to tell you it’s live now! You can try it out on [the Dashboard example page](/examples/dashboard/).
 
 <video alt="Demo video showing Uppy Dark Mode" muted autoplay loop>
-  <source src="/images/blog/1.13/dark-mode-auto.webm" type="video/webm">
-  <source src="/images/blog/1.13/dark-mode-auto.mp4" type="video/mp4">
+  <source src="/uppy/images/blog/1.13/dark-mode-auto.webm" type="video/webm">
+  <source src="/uppy/images/blog/1.13/dark-mode-auto.mp4" type="video/mp4">
 </video>
 
 There are three options available:
@@ -29,7 +29,7 @@ uppy.use(Dashboard, {
 })
 ```
 
-![](/images/blog/1.13/uppy-dashboard-dark-mar-2020.png)
+![](/uppy/images/blog/1.13/uppy-dashboard-dark-mar-2020.png)
 
 <!--more-->
 

+ 5 - 5
website/src/_posts/2020-07-1.18-image-editor.md

@@ -2,15 +2,15 @@
 title: "Image Editor 🌈"
 date: 2020-07-21
 author: arturi
-image: "/uppy/images/blog/1.18-image-editor/image-editor-dashboard.jpg"
+image: "/uppy/uppy/images/blog/1.18-image-editor/image-editor-dashboard.jpg"
 published: true
 ---
 
 One of the most-requested Uppy features, the [Image Editor](/docs/image-editor/), has landed (as beta) in 1.18.
 
-<video alt="Demo video showing Uppy with Image Editor plugin — cropping, rotating and resizing images" poster="/uppy/images/blog/1.18-image-editor/image-editor-dashboard.jpg" muted autoplay loop>
-  <source src="/images/blog/1.18-image-editor/image-editor-demo.mp4" type="video/mp4">
-  Your browser does not support the video tag: /uppy/images/blog/1.18-image-editor/image-editor-demo.mp4
+<video alt="Demo video showing Uppy with Image Editor plugin — cropping, rotating and resizing images" poster="/uppy/uppy/images/blog/1.18-image-editor/image-editor-dashboard.jpg" muted autoplay loop>
+  <source src="/uppy/images/blog/1.18-image-editor/image-editor-demo.mp4" type="video/mp4">
+  Your browser does not support the video tag: /uppy/uppy/images/blog/1.18-image-editor/image-editor-demo.mp4
 </video>
 
 <!--more-->
@@ -36,7 +36,7 @@ uppy.use(ImageEditor, {
 })
 ```
 
-![Uppy with Image Editor plugin screenshot — cropping, rotating and resizing images](/uppy/images/blog/1.18-image-editor/image-editor-dashboard.jpg)
+![Uppy with Image Editor plugin screenshot — cropping, rotating and resizing images](/uppy/uppy/images/blog/1.18-image-editor/image-editor-dashboard.jpg)
 
 The Image Editor plugin is meant to be used with the Dashboard UI, but in theory it can work without it, rendered somewhere else. This has not been tested, try at your own risk ;-)
 

+ 4 - 4
website/src/_posts/2020-10-1.22.md

@@ -2,7 +2,7 @@
 title: "🎃 Uppy 1.22: Webcam camera source, Unsplash and maxTotalFileSize"
 date: 2020-10-30
 author: arturi
-image: "/uppy/images/blog/1.22/unsplash.jpg"
+image: "/uppy/uppy/images/blog/1.22/unsplash.jpg"
 published: true
 ---
 
@@ -14,9 +14,9 @@ Uppy 1.22 (the spooky Halloween edition) adds a new Unsplash provider, Webcam ca
 
 If your device has multiple cameras, you can now choose which one you want to use (if you allow the [showVideoSourceDropdown](/uppy/docs/webcam/#showVideoSourceDropdown-false) option).
 
-![](/images/blog/1.22/webcam-dropdown-full.png)
+![](/uppy/images/blog/1.22/webcam-dropdown-full.png)
 
-![](/images/blog/1.22/webcam-dropdown-short.png)
+![](/uppy/images/blog/1.22/webcam-dropdown-short.png)
 
 ## maxTotalFileSize
 
@@ -34,7 +34,7 @@ const uppy = new Uppy({
 
 [Unsplash](https://unsplash.com/) is a popular website dedicated to sharing free stock photography. With a new Uppy plugin you can search for “trains”, “New York” or “Harry Potter” images and upload them where needed:
 
-![](/images/blog/1.22/unsplash.jpg)
+![](/uppy/images/blog/1.22/unsplash.jpg)
 
 The plugin launches in beta, but you can already try it out by installing `@uppy/unsplash` and upgrading `@uppy/companion` to the latest version (2.1.0).
 

+ 5 - 5
website/src/_posts/2020-11-1.23.md

@@ -2,13 +2,13 @@
 title: "Uppy 1.23: Vue.js, Box, Done button and cloud file restrictions"
 date: 2020-11-30
 author: arturi
-image: "/uppy/images/blog/1.23/vue-code-cover.png"
+image: "/uppy/uppy/images/blog/1.23/vue-code-cover.png"
 published: true
 ---
 
 Uppy 1.23 brings Vue.js components 💥, Box file service support, a “Done” button for the Status Bar + Dashboard, and a better cloud file restrictions UI.
 
-![Vue.js Uppy code sample](/images/blog/1.23/vue-code-cover.png)
+![Vue.js Uppy code sample](/uppy/images/blog/1.23/vue-code-cover.png)
 
 <!--more-->
 
@@ -67,15 +67,15 @@ Angular and Svelte support is on our list next.
 
 Dropbox, Instagram, Google Drive and other cloud providers now immediately gray out files that won’t pass Uppy restrictions set by the developer:
 
-![Google Drive restrictions example](/images/blog/1.23/restrictions-1.jpg)
+![Google Drive restrictions example](/uppy/images/blog/1.23/restrictions-1.jpg)
 
-![Instagram restrictions example](/images/blog/1.23/restrictions-2.jpg)
+![Instagram restrictions example](/uppy/images/blog/1.23/restrictions-2.jpg)
 
 ## Done Button
 
 If [`doneButtonHandler`](/uppy/docs/dashboard/#doneButtonHandler) option is passed to the Status Bar plugin, it will render a “Done” button in place of Pause/Resume/Cancel buttons, once the upload/encoding is done. The behaviour of the “Done” button is defined by the handler function — can be used to close file picker modals or clear the upload state.
 
-<img class="border" alt="Status Bar Done button UI" src="/images/blog/1.23/status-bar-done.jpg">
+<img class="border" alt="Status Bar Done button UI" src="/uppy/images/blog/1.23/status-bar-done.jpg">
 
 By default the Done button will close the Dashboard modal window and reset Uppy state.
 

+ 3 - 3
website/src/_posts/2020-12-1.24.md

@@ -2,13 +2,13 @@
 title: "Uppy 1.24: 🎅 Happy Holidays — Svelte, React hook, Auto Open Image Editor"
 date: 2020-12-24
 author: renee
-image: "/uppy/images/blog/1.24/uppy-svelte.png"
+image: "/uppy/uppy/images/blog/1.24/uppy-svelte.png"
 published: true
 ---
 
 Uppy 1.24 adds an experimental Svelte integration, additional React components, `autoOpenFileEditor` option for Dashboard, and a Norwegian (bokmål) translation!
 
-![](/images/blog/1.24/uppy-svelte.png)
+![](/uppy/images/blog/1.24/uppy-svelte.png)
 
 <!--more-->
 
@@ -83,7 +83,7 @@ const uppy = new Uppy()
   })
 ```
 
-<img class="border" src="/images/blog/1.24/image-editor-alone.jpg" alt="Uppy Image Editor in Dashboard">
+<img class="border" src="/uppy/images/blog/1.24/image-editor-alone.jpg" alt="Uppy Image Editor in Dashboard">
 
 ## Misc
 

+ 5 - 5
website/src/_posts/2021-01-1.25.md

@@ -2,7 +2,7 @@
 title: "Uppy 1.25: right-to-left scripts, Ukrainian translation, Companion improvements"
 date: 2021-01-29
 author: arturi
-image: "/uppy/images/blog/1.25/right-to-left.jpg"
+image: "/uppy/uppy/images/blog/1.25/right-to-left.jpg"
 published: true
 ---
 
@@ -10,7 +10,7 @@ Uppy 1.25 adds support for right-to-left scripts, Ukrainian translation and vari
 
 Just see how cool this looks, and read further for a video demo and some behind the scenes implementation sorcery:
 
-![Uppy Dashboard UI flipped for right-to-left Arabic language](/images/blog/1.25/right-to-left.jpg)
+![Uppy Dashboard UI flipped for right-to-left Arabic language](/uppy/images/blog/1.25/right-to-left.jpg)
 
 <!--more-->
 
@@ -18,9 +18,9 @@ Just see how cool this looks, and read further for a video demo and some behind
 
 Renée have improved support for right-to-left scripts (such as Arabic, Farsi, Hebrew). This means that Uppy UI can now be mirrored, like how you might see on sites like [Wikipedia](https://ar.wikipedia.org/wiki/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9).
 
-<video alt="Demo video showing Uppy with right-to-left mirrored UI" poster="/images/blog/1.25/right-to-left.jpg" muted autoplay loop>
-  <source src="/images/blog/1.25/right-to-left.mp4" type="video/mp4">
-  Your browser does not support the video tag: /uppy/images/blog/images/blog/1.25/right-to-left.mp4
+<video alt="Demo video showing Uppy with right-to-left mirrored UI" poster="/uppy/images/blog/1.25/right-to-left.jpg" muted autoplay loop>
+  <source src="/uppy/images/blog/1.25/right-to-left.mp4" type="video/mp4">
+  Your browser does not support the video tag: /uppy/uppy/images/blog/uppy/images/blog/1.25/right-to-left.mp4
 </video>
 
 HTML `dir` attribute can be used to set the direction — any parent element of the Dashboard may have it. It’s good practice for sites to add a dir attribute on `<html>` element, but for backwards compatibility the Dashboard will default to left-to-right rendering.

+ 5 - 5
website/src/_posts/2021-02-1.26.md

@@ -2,13 +2,13 @@
 title: "Uppy 1.26: Dashboard “disabled”, per-file headers"
 date: 2021-02-26
 author: arturi
-image: "/uppy/images/blog/1.26/dashboard-disabled.jpg"
+image: "/uppy/uppy/images/blog/1.26/dashboard-disabled.jpg"
 published: true
 ---
 
 Uppy 1.26 brings a new `disabled` option for the Dashboad, ability to set headers per file with XHR Upload, and fixes for the Transloadit plugin.
 
-![Uppy Dashboard UI with disabled state](/images/blog/1.26/dashboard-disabled.jpg)
+![Uppy Dashboard UI with disabled state](/uppy/images/blog/1.26/dashboard-disabled.jpg)
 
 <!--more-->
 
@@ -18,9 +18,9 @@ You can now specify a `disabled` option for the Dashboard, in order to make it n
 
 This is useful when you need to confitionally enable/disable file uploading or manipulation, based on a condition in your app.
 
-<video alt="Demo video showing Uppy with Dashboard disabled vs enabled state" poster="/images/blog/1.26/dashboard-disabled.jpg" muted autoplay loop>
-  <source src="/images/blog/1.26/dashboard-disabled-vs-enabled.mp4" type="video/mp4">
-  Your browser does not support the video tag: /uppy/images/blog/images/blog/1.26/dashboard-disabled-vs-enabled.mp4
+<video alt="Demo video showing Uppy with Dashboard disabled vs enabled state" poster="/uppy/images/blog/1.26/dashboard-disabled.jpg" muted autoplay loop>
+  <source src="/uppy/images/blog/1.26/dashboard-disabled-vs-enabled.mp4" type="video/mp4">
+  Your browser does not support the video tag: /uppy/uppy/images/blog/uppy/images/blog/1.26/dashboard-disabled-vs-enabled.mp4
 </video>
 
 This option can be set on init:

+ 6 - 6
website/src/_posts/2021-04-1.27.md

@@ -2,15 +2,15 @@
 title: "Uppy 1.27: Drop Target plugin, Vue 3 support, Dashboard dynamic meta fields, “Shared with me” in Google Drive"
 date: 2021-04-05
 author: arturi
-image: "/uppy/images/blog/1.27/drop-target.jpg"
+image: "/uppy/uppy/images/blog/1.27/drop-target.jpg"
 published: true
 ---
 
 In Uppy 1.27 we’ve added a new `@uppy/drop-target` plugin, enabled support for Vue 3, introduced dynamic `metaFields` option for Dashboard, Google Drive now lists documents that have been shared with you.
 
-<video alt="Demo video showing Uppy with Drop Target plugin which allows accepting drag and drop anywhere on a page" poster="/images/blog/1.26/dashboard-disabled.jpg" muted autoplay loop>
-  <source src="/images/blog/1.27/drop-target.mp4" type="video/mp4">
-  Your browser does not support the video tag: /uppy/images/blog/1.27/drop-target.mp4
+<video alt="Demo video showing Uppy with Drop Target plugin which allows accepting drag and drop anywhere on a page" poster="/uppy/images/blog/1.26/dashboard-disabled.jpg" muted autoplay loop>
+  <source src="/uppy/images/blog/1.27/drop-target.mp4" type="video/mp4">
+  Your browser does not support the video tag: /uppy/uppy/images/blog/1.27/drop-target.mp4
 </video>
 
 <!--more-->
@@ -19,7 +19,7 @@ In Uppy 1.27 we’ve added a new `@uppy/drop-target` plugin, enabled support for
 
 With `@uppy/drop-target` it is now possible to turn your whole app / page (or any other element, like `<textarea>`, for instance) into a drag-and-drop area:
 
-![Uppy Dashboard UI with drop target plugin](/images/blog/1.27/drop-target.jpg)
+![Uppy Dashboard UI with drop target plugin](/uppy/images/blog/1.27/drop-target.jpg)
 
 ```js
 uppy.use(DropTarget, {
@@ -31,7 +31,7 @@ uppy.use(DropTarget, {
 
 If you connect Uppy to Google Drive, you’ll now see a new virtual folder called “Shared with me” — there you’ll find (hard to guess, I know), documents that have been shared with you.
 
-![Google Drive “Shared with me” folder](/images/blog/1.27/shared-with-me.jpg)
+![Google Drive “Shared with me” folder](/uppy/images/blog/1.27/shared-with-me.jpg)
 
 [PR #2758](https://github.com/transloadit/uppy/pull/2758).
 

+ 9 - 9
website/src/_posts/2021-04-1.29.md

@@ -2,15 +2,15 @@
 title: "Uppy 1.29: Golden Retriever, disableLocalFiles, Webcam previews, uppy.logout"
 date: 2021-05-31
 author: arturi
-image: "/uppy/images/blog/1.29/golden-retriever-all-recovered.png"
+image: "/uppy/uppy/images/blog/1.29/golden-retriever-all-recovered.png"
 published: true
 ---
 
 In Uppy 1.29, we’ve revamped the Golden Retriever plugin with support for partially recovered “ghost” files, added a `disableLocalFiles` option to the Dashboard, enabled the ability to preview webcam videos before submitting and provided an `uppy.logout()` method, along with an assortment of Companion improvements.
 
 <video alt="Demo of Uppy Golden Retriever file restore plugin in action" muted autoplay loop>
-  <source src="/images/blog/1.29/ghosts-demo.mp4" type="video/mp4">
-  Your browser does not support the video tag: /uppy/images/blog/1.29/ghosts-demo.mp4
+  <source src="/uppy/images/blog/1.29/ghosts-demo.mp4" type="video/mp4">
+  Your browser does not support the video tag: /uppy/uppy/images/blog/1.29/ghosts-demo.mp4
 </video>
 
 <!--more-->
@@ -19,21 +19,21 @@ In Uppy 1.29, we’ve revamped the Golden Retriever plugin with support for part
 
 [Golden Retriever](/docs/golden-retriever/) (`@uppy/golden-retriever`) is Uppy’s innovative plugin that recovers users’ files after an accidentally closed tab/window or a browser crash. Golden Retriever was first [introduced a few years ago](/blog/2017/07/golden-retriever/), during Transloadit’s company meetup in Berlin, and now it finally underwent a proper refactor.
 
-![](/images/blog/1.29/golden-retriever-all-recovered.png)
+![](/uppy/images/blog/1.29/golden-retriever-all-recovered.png)
 
 In this release, we’re adding support for “ghosts” — files for which we’ve restored the metadata, but were unable to recover the data blob itself (usually due to its size). In this case, users will see a ghost icon over the file and a “Re-select” button to pick the file again.
 
-![](/images/blog/1.29/golden-retriever-ghost.png)
+![](/uppy/images/blog/1.29/golden-retriever-ghost.png)
 
 You can try Golden Retriever in action on [the Dashboard example page](/uppy/examples/dashboard/).
 
-<center><img src="/images/blog/golden-retriever/catch-fail-2.gif" alt="Golden Retriever failing to catch something" title="Good try, girl!"></center>
+<center><img src="/uppy/images/blog/golden-retriever/catch-fail-2.gif" alt="Golden Retriever failing to catch something" title="Good try, girl!"></center>
 
 ## Dashboard: `disableLocalFiles`
 
 The `disableLocalFiles: true` option will disable drag & drop, and hide the “Browse” and “My Device” buttons, allowing only uploads from plugins, such as Webcam, Screen Capture, Google Drive or Instagram.
 
-![](/images/blog/1.29/disableLocalFiles.png)
+![](/uppy/images/blog/1.29/disableLocalFiles.png)
 
 [Docs: disableLocalFiles](/uppy/docs/dashboard/#disableLocalFiles).
 
@@ -42,8 +42,8 @@ The `disableLocalFiles: true` option will disable drag & drop, and hide the “B
 When recording a video with the `@uppy/webcam` plugin, you will now be given the opportunity to play it back and review before submitting. If you happen to not like the crab mask you’ve used, you can re-record the video using a more appropriate baby Yoda or duckface mask.
 
 <video alt="Demo of Uppy Golden Retriever file restore plugin in action" muted autoplay loop>
-  <source src="/images/blog/1.29/webcam-preview-demo.mp4" type="video/mp4">
-  Your browser does not support the video tag: /uppy/images/blog/1.29/webcam-preview-demo.mp4
+  <source src="/uppy/images/blog/1.29/webcam-preview-demo.mp4" type="video/mp4">
+  Your browser does not support the video tag: /uppy/uppy/images/blog/1.29/webcam-preview-demo.mp4
 </video>
 
 ## uppy.logout()

+ 4 - 4
website/src/_posts/2021-07-1.30.md

@@ -52,17 +52,17 @@ See the [Angular docs](/docs/angular/) for more details.
 `@uppy/image-editor` plugin received a new option `granularRotate: true` that allows for granular image rotation: be it 12° or 59° — just adjust the slider to your liking.
 
 <video alt="" muted autoplay loop>
-  <source src="/images/blog/1.30/granular-rotation.mp4" type="video/mp4">
-  Your browser does not support the video tag: /uppy/images/blog/1.30/granular-rotation.mp4
+  <source src="/uppy/images/blog/1.30/granular-rotation.mp4" type="video/mp4">
+  Your browser does not support the video tag: /uppy/uppy/images/blog/1.30/granular-rotation.mp4
 </video>
 
 ## Google Drive Shortcuts
 
 Google Drive shortcuts, much like in a desktop OS, are pointers to files or folders that can be stored in another folder or drive. Uppy now supports shortcuts – you will see them alongside your usual files and folders.
 
-![](/images/blog/1.30/drive-shortcut.png)
+![](/uppy/images/blog/1.30/drive-shortcut.png)
 
-![](/images/blog/1.30/uppy-shortcut.png)
+![](/uppy/images/blog/1.30/uppy-shortcut.png)
 
 ## Misc
 

+ 7 - 7
website/src/_posts/2021-08-2.0.md

@@ -8,7 +8,7 @@ author:
   - renee
   - mifi
   - andrew
-image: /uppy/images/blog/2.0/uppy-2-0-cover.jpg
+image: /uppy/uppy/images/blog/2.0/uppy-2-0-cover.jpg
 published: true
 ---
 
@@ -16,7 +16,7 @@ Today, our tails are positively wagging with excitement about the release of Upp
 
 Chow down on all the juicy bits and pieces inside! And make sure to [try Uppy live demo](/uppy/examples/dashboard/).
 
-![Uppy 2.0 cover banner](/images/blog/2.0/uppy-2-0-cover.jpg)
+![Uppy 2.0 cover banner](/uppy/images/blog/2.0/uppy-2-0-cover.jpg)
 
 <!--more-->
 
@@ -30,7 +30,7 @@ Ever since the first introduction of Uppy [five years ago](/blog/2016/07/uppy-be
 
 With that in mind, we felt it was high time to give Uppy some more much-needed trimming. We want to take this opportunity to break with the past, to make the project leaner – and to pave the way for an even brighter future for Uppy!
 
-<img class="border" alt="Uppy 2.0 UI with files" src="/images/blog/2.0/uppy-ui-with-files.jpg">
+<img class="border" alt="Uppy 2.0 UI with files" src="/uppy/images/blog/2.0/uppy-ui-with-files.jpg">
 
 ## Table of Contents
 
@@ -46,8 +46,8 @@ With that in mind, we felt it was high time to give Uppy some more much-needed t
 - [That's it](#That’s-it)
 
 <video alt="Video demo showing updated Uppy 2.0 UI" muted autoplay loop>
-  <source src="/images/uppy-2-0-demo-aug-2021.mp4" type="video/mp4">
-  Your browser does not support the video tag: /uppy/images/uppy-2-0-demo-aug-2021.mp4
+  <source src="/uppy/images/uppy-2-0-demo-aug-2021.mp4" type="video/mp4">
+  Your browser does not support the video tag: /uppy/uppy/images/uppy-2-0-demo-aug-2021.mp4
 </video>
 
 ## Highlights since 1.0
@@ -111,11 +111,11 @@ This was made possible by avoiding having to re-render all the file components w
 
 Before optimizations:
 
-![](/images/blog/2.0/uppy-performance-before.gif)
+![](/uppy/images/blog/2.0/uppy-performance-before.gif)
 
 And after:
 
-![](/images/blog/2.0/uppy-performance-after.gif)
+![](/uppy/images/blog/2.0/uppy-performance-after.gif)
 
 ## Preact X and upgraded dependencies
 

+ 4 - 4
website/src/_posts/2021-12-2.1-2.3.md

@@ -6,7 +6,7 @@ author:
   - murderlon
   - arturi
   - mifi
-image: /uppy/images/blog/2.1-2.3/audio-cover.jpg
+image: /uppy/uppy/images/blog/2.1-2.3/audio-cover.jpg
 published: true
 ---
 
@@ -25,8 +25,8 @@ Last but not least, we got the issue count down from around 110 since 2.0.0 to a
 Uppy now has a new `@uppy/audio` plugin for recording audio memos, sounds, jingling bells, Christmas carols, and all your holiday cheer. Check it out on the [demo page](/uppy/examples/dashboard/).
 
 <video alt="Audio plugin demo" muted autoplay loop>
-  <source src="/images/blog/2.1-2.3/audio-demo.mp4" type="video/mp4">
-  Your browser does not support the video tag: /uppy/images/blog/2.1-2.3/audio-demo.mp4
+  <source src="/uppy/images/blog/2.1-2.3/audio-demo.mp4" type="video/mp4">
+  Your browser does not support the video tag: /uppy/uppy/images/blog/2.1-2.3/audio-demo.mp4
 </video>
 
 ## `@uppy/unsplash` is now production ready
@@ -56,7 +56,7 @@ The Status Bar plugin would get confused about upload errors in Uppy, and we’v
 * Improved the error details button styling in the Status Bar and the file info card.
 * Status Bar state is set to complete if the user manually removes the failed files.
 
-![status bar improvements screenshot](/images/blog/2.1-2.3/status-bar-improvements.jpg)
+![status bar improvements screenshot](/uppy/images/blog/2.1-2.3/status-bar-improvements.jpg)
 
 ## Internal housekeeping
 

+ 3 - 3
website/src/_posts/2022-03-2.4-2.7.md

@@ -6,13 +6,13 @@ author:
   - arturi
   - mifi
   - murderlon
-image: "/uppy/images/blog/2.4-2.7/compressor.jpg"
+image: "/uppy/uppy/images/blog/2.4-2.7/compressor.jpg"
 published: true
 ---
 
 We’re always looking for opportunities to teach Uppy cool new tricks, and the past few months have been no exception. Since our [most recent post](/uppy/blog/2021/12/2.1-2.3/) in December, Uppy has continued to receive a steady stream of updates. This post covers all the improvements made in Uppy versions 2.4 through 2.7. Changes and additions include: image compression, improved Transloadit rate limiting and a lighter Dashboard plugin. We’ve also moved our end-to-end tests to Cypress, and are slowly converting plugins to ES modules (ESM).
 
-<img class="border" alt="Uppy Compressor plugin showing compressed images notification" src="/images/blog/2.4-2.7/compressor.jpg">
+<img class="border" alt="Uppy Compressor plugin showing compressed images notification" src="/uppy/images/blog/2.4-2.7/compressor.jpg">
 
 <!--more-->
 
@@ -36,7 +36,7 @@ uppy.use(Compressor)
 
 It cannot be overstated that our [Transloadit-hosted](https://transloadit.com/docs/sdks/uppy/) [Companion Plugin](/uppy/docs/companion/) is the easiest secure way to allow your users pick files from cloud sources like Google Drive, Instagram, Box, etc. via Uppy. Up until now, however, that meant your users had to authenticate their cloud account with Transloadit, preventing you from showing your own logo instead. That has now been fixed! Head to `Transloadit Console` / `Credentials`, scroll down to `Third-party Credentials`, click on `Add new Credentials`, select `Companion OAuth`, and voilà!
 
-<img class="border" alt="Transloadit Companion 3rd party credentials" src="/images/blog/2.4-2.7/companion-3rd-party-oauth.jpg">
+<img class="border" alt="Transloadit Companion 3rd party credentials" src="/uppy/images/blog/2.4-2.7/companion-3rd-party-oauth.jpg">
 
 Try it out with the [free Transloadit Community Plan — 5GB / month and access to Companion](https://transloadit.com/pricing/).
 

+ 4 - 4
website/src/_posts/2022-09-3.0.md

@@ -6,11 +6,11 @@ author:
   - arturi
   - mifi
   - murderlon
-image: "/uppy/images/blog/3.0/uppy-3-0.jpg"
+image: "/uppy/uppy/images/blog/3.0/uppy-3-0.jpg"
 published: true
 ---
 
-![Screenshot of Uppy 3.0.0 UI](/images/blog/3.0/uppy-3-0.jpg)
+![Screenshot of Uppy 3.0.0 UI](/uppy/images/blog/3.0/uppy-3-0.jpg)
 
 > For those new to Uppy, coming from Reddit, Hacker News and Product Hunt today: Uppy is a popular open source file uploader for the browser. Pick files from local disk or camera, remote sources like Instagram, Unsplash, Dropbox etc, record audio and screencasts. Crop and tweak images with the image editor plugin. Supports resumable uploads to a tus.io server, AWS S3 (and many others with similar API like DigitalOcean), multipart. [Try it](/uppy/examples/dashboard)!
 
@@ -81,7 +81,7 @@ uppy.use(Webcam, {
 
 By default, it uses the [`is-mobile`](https://github.com/juliangruber/is-mobile) package to detect mobile devices, like smartphones and tablets, but you can manually set this option to `true` or `false` if you wish. When enabled, instead of the usual Camera/Webcam Uppy UI, users will be presented with buttons that open their device’s native camera interface:
 
-![Uppy native camera UI](/images/blog/3.0/native-camera.jpg)
+![Uppy native camera UI](/uppy/images/blog/3.0/native-camera.jpg)
 
 [`videoConstraints.facingMode`](/docs/webcam/#videoConstraints) is also supported by this option via the [`capture`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/capture) attribute (in the browsers and devices that respect it).
 
@@ -153,7 +153,7 @@ We have also replaced the deprecated [`request`](https://github.com/request/requ
 
 ***
 
-![Animate picture of a visibly happy dog getting a head massage](/images/blog/3.0/dog-enjoys.gif)
+![Animate picture of a visibly happy dog getting a head massage](/uppy/images/blog/3.0/dog-enjoys.gif)
 
 For more details, see the full [changelog](https://github.com/transloadit/uppy/blob/HEAD/CHANGELOG.md#1300) and the [migration guide](/docs/migration-guides.html).
 

+ 4 - 4
website/src/_posts/2022-12-3.3.md

@@ -6,11 +6,11 @@ author:
   - arturi
   - murderlon
   - mifi
-image: "/uppy/images/blog/3.1-3.3/dashboard-christmas.jpg"
+image: "/uppy/uppy/images/blog/3.1-3.3/dashboard-christmas.jpg"
 published: true
 ---
 
-![](/images/blog/3.1-3.3/dashboard-christmas.jpg)
+![](/uppy/images/blog/3.1-3.3/dashboard-christmas.jpg)
 
 🎅🐶 Ho-ho-ho, we are about to wrap up another year for Uppy! Three `minor` releases ago we’ve introduced Uppy 3.0. It’s time to give you an update on what’s been cooking in the Uppy-Transloadit headquarters (besides cranberry sauce) for the past couple of months.
 
@@ -28,7 +28,7 @@ We’ve refactored our internal queue mechanism to sign chunks right before we b
 
 Often times people only want to upload a single file (most commonly an image) via Uppy. But the Dashboard UI is tailored to handling many files at once, and it used to display the single image as a small, sad-looking block in the corner. This ends now! (Actually, it ended a few releases ago, figure of speech).
 
-<img src="/images/blog/3.1-3.3/single-file-mode.jpg" class="border" />
+<img src="/uppy/images/blog/3.1-3.3/single-file-mode.jpg" class="border" />
 
 With only one file selected, we’ll display it large and centered, and make sure to re-generate the image preview so it’s `600px` wide, looking nice and sleek on modern displays.
 
@@ -70,4 +70,4 @@ Uzbek language pack was added, while Polish and Ukrainian language packs were up
 
 That’s it for our updates! Stay tuned for more in 2023 and happy holidays (if you are celebrating)! Cheers. In the meantime, we are driving home, driving home for Christmas. Yeah.
 
-![](/images/blog/3.1-3.3/driving-home.gif)
+![](/uppy/images/blog/3.1-3.3/driving-home.gif)

+ 2 - 2
website/src/docs/dashboard.md

@@ -288,7 +288,7 @@ uppy.use(Dashboard, {
 })
 ```
 
-![](/images/uppy-dashboard-meta-fields.jpg)
+![](/uppy/images/uppy-dashboard-meta-fields.jpg)
 
 Note that this metadata will only be set on a file object if it’s entered by the user. If the user doesn’t edit a file’s metadata, it will not have default values; instead everything will be `undefined`. If you want to set a certain meta field to each file regardless of user actions, set [`meta` in the Uppy constructor options](/docs/uppy/#meta).
 
@@ -440,7 +440,7 @@ It supports the following values:
 * `dark`
 * `auto` — will respect the user’s system settings and switch automatically
 
-![Uppy dark mode screenshot](/images/uppy-dashboard-dark-mar-2020.png)
+![Uppy dark mode screenshot](/uppy/images/uppy-dashboard-dark-mar-2020.png)
 
 ### `autoOpenFileEditor: false`
 

+ 1 - 1
website/src/docs/react-native.md

@@ -13,7 +13,7 @@ category: "React"
 
 Make sure to check out the example in [examples/react-native-expo](https://github.com/transloadit/uppy/tree/main/examples/react-native-expo).
 
-<img width="400" src="/images/2019-04-11-react-native-ui-1.png">
+<img width="400" src="/uppy/images/2019-04-11-react-native-ui-1.png">
 
 ## Installation
 

+ 1 - 1
website/src/docs/robodog.md

@@ -69,7 +69,7 @@ resultPromise.then((bundle) => {
 })
 ```
 
-<img src="/images/temp-robodog-demo.gif" alt="Robodog File Picker Demo GIF">
+<img src="/uppy/images/temp-robodog-demo.gif" alt="Robodog File Picker Demo GIF">
 
 <a class="MoreButton" href="/docs/robodog/picker">View Documentation</a>
 

+ 1 - 1
website/src/examples/dashboard/app.html

@@ -1,5 +1,5 @@
 <!-- Basic Uppy styles -->
-<link rel="stylesheet" href="/uppy/uppy.min.css">
+<link rel="stylesheet" href="/uppy/uppy/uppy.min.css">
 
 <div class="DashboardOptions">
   <ul>

+ 1 - 1
website/src/examples/dragdrop/app.html

@@ -1,5 +1,5 @@
 <!-- Basic Uppy styles -->
-<link rel="stylesheet" href="/uppy/uppy.min.css">
+<link rel="stylesheet" href="/uppy/uppy/uppy.min.css">
 
 <section class="example-one">
   <h5>autoProceed is on</h5>

+ 1 - 1
website/src/examples/markdown-snippets/app.html

@@ -1,7 +1,7 @@
 <!-- Add Uppy styles. It is advisable to install Uppy from npm/yarn.
   But for experimenting, you can use also Transloadit’s CDN, Edgly:
   <link rel="stylesheet" href="https://releases.transloadit.com/uppy/v3.6.1/uppy.min.css"> -->
-  <link rel="stylesheet" href="/uppy/uppy.min.css">
+  <link rel="stylesheet" href="/uppy/uppy/uppy.min.css">
   <form id="new" class="form-snippet">
     <h2>Create a new snippet</h2>
     <label class="form-snippetTitle">

+ 1 - 1
website/src/examples/statusbar/app.html

@@ -1,5 +1,5 @@
 <!-- Basic Uppy styles -->
-<link rel="stylesheet" href="/uppy/uppy.min.css">
+<link rel="stylesheet" href="/uppy/uppy/uppy.min.css">
 
 <div class="grid">
   <div class="column-full">

+ 1 - 1
website/src/examples/transloadit/app.html

@@ -1,5 +1,5 @@
 <!-- Basic Uppy styles -->
-<link rel="stylesheet" href="/uppy/uppy.min.css">
+<link rel="stylesheet" href="/uppy/uppy/uppy.min.css">
 
 <div id="uppy-dashboard-container"></div>
 

+ 1 - 1
website/src/examples/xhrupload/app.html

@@ -1,5 +1,5 @@
 <!-- Basic Uppy styles -->
-<link rel="stylesheet" href="/uppy/uppy.min.css">
+<link rel="stylesheet" href="/uppy/uppy/uppy.min.css">
 
 <div class="Uppy">
   <form action="https://xhr-server.herokuapp.com/upload" method="post">

+ 1 - 1
website/themes/uppy/layout/example.ejs

@@ -8,7 +8,7 @@
 
   <hr>
 
-  <p>Hey there stranger! Uppy <img src="/images/emojis/dog.png" width="14" align="absmiddle">
+  <p>Hey there stranger! Uppy <img src="/uppy/images/emojis/dog.png" width="14" align="absmiddle">
     is actively developed and the example section
     is our playground. Things might not work, but we're working hard to improve.</p>
   <p>We're on a monthly release cycle and our latest version is

+ 21 - 21
website/themes/uppy/layout/index.ejs

@@ -20,16 +20,16 @@
     <h2 class="IndexLogos-title">Integrates well with</h2>
     <div class="IndexLogos-logos">
       <a class="IndexLogos-item IndexLogos-item--js" href="/docs/" title="Vanilla JS">
-        <%- inline_svg('/images/integrations/js.svg') %>
+        <%- inline_svg('/uppy/images/integrations/js.svg') %>
       </a>
       <a class="IndexLogos-item IndexLogos-item--react" href="/docs/react/" title="React">
-        <%- inline_svg('/images/integrations/react.svg') %>
+        <%- inline_svg('/uppy/images/integrations/react.svg') %>
       </a>
       <a class="IndexLogos-item IndexLogos-item--vue" href="/docs/vue/" title="Vue.js">
-        <%- inline_svg('/images/integrations/vue.svg') %>
+        <%- inline_svg('/uppy/images/integrations/vue.svg') %>
       </a>
       <a class="IndexLogos-item IndexLogos-item--svelte" href="/docs/svelte" title="Svelte">
-        <%- inline_svg('/images/integrations/svelte.svg') %>
+        <%- inline_svg('/uppy/images/integrations/svelte.svg') %>
       </a>
     </div>
   </div>
@@ -46,8 +46,8 @@
     <div class="TabPane" id="video">
       <div class="IndexDemo-video">
         <video autoplay loop muted playsinline>
-          <source src="/images/uppy-2-0-demo-aug-2021.mp4" type="video/mp4">
-          Your browser does not support the video tag, you can <a href="/images/uppy-2-0-demo-aug-2021.mp4">download the video</a>
+          <source src="/uppy/images/uppy-2-0-demo-aug-2021.mp4" type="video/mp4">
+          Your browser does not support the video tag, you can <a href="/uppy/images/uppy-2-0-demo-aug-2021.mp4">download the video</a>
           to watch it.
         </video>
       </div>
@@ -101,17 +101,17 @@
 <section class="IndexFeatures">
   <h2>Features</h2>
   <ul class="IndexFeatures-list">
-    <li><strong>Lightweight</strong> and modular, plugin-based architecture, easy on dependencies <img width="16" align="absmiddle" src="/images/emojis/zap.png" /></li>
+    <li><strong>Lightweight</strong> and modular, plugin-based architecture, easy on dependencies <img width="16" align="absmiddle" src="/uppy/images/emojis/zap.png" /></li>
     <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>
-    <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>
-    <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>
-    <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>
-    <li><strong>Sleek user interface <img width="16" align="absmiddle" src="/images/emojis/sparkles.png" /></strong></li>
+    <li><img width="16" align="absmiddle" src="/uppy/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>
+    <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="/uppy/images/emojis/transloadit.png" /></li>
+    <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="/uppy/images/emojis/heart.png" /></li>
+    <li><strong>Sleek user interface <img width="16" align="absmiddle" src="/uppy/images/emojis/sparkles.png" /></strong></li>
     <li>File recovery (after a browser crash or accidental navigation) via <strong><a href="/docs/golden-retriever/">Golden Retriever</a></strong></li>
-    <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>
+    <li>Speaks <strong><a href="/docs/locales/#List-of-locale-packs">multiple languages</a></strong> (i18n) <img width="16" align="absmiddle" src="/uppy/images/emojis/earth_africa.png" /></li>
     <li>Built with accessibility in mind</li>
     <li><strong>Free to the world, forever</strong></li>
-    <li>Cute as a puppy, also accepts cat pictures <img width="16" align="absmiddle" src="/images/emojis/dog.png" /></li>
+    <li>Cute as a puppy, also accepts cat pictures <img width="16" align="absmiddle" src="/uppy/images/emojis/dog.png" /></li>
   </ul>
 </section>
 
@@ -121,8 +121,8 @@
       <a class="IndexReviews-link" href="https://books.producthunt.com/bestof2017" target="_blank"
         rel="noreferrer noopener">
         <div class="IndexReviews-imgWrapper">
-          <img class="IndexReviews-img" src="/images/testimonials/producthunt.png"
-            srcset="/images/testimonials/producthunt@2x.png 2x" alt="Product Hunt">
+          <img class="IndexReviews-img" src="/uppy/images/testimonials/producthunt.png"
+            srcset="/uppy/images/testimonials/producthunt@2x.png 2x" alt="Product Hunt">
         </div>
         The Best Product Launches
       </a>
@@ -131,7 +131,7 @@
     <li class="IndexReviews-item">
       <a class="IndexReviews-link" href="https://stackshare.io/posts/top-developer-tools-2017" target="_blank" rel="noreferrer noopener">
         <div class="IndexReviews-imgWrapper">
-          <img class="IndexReviews-img" src="/images/testimonials/stackshare.png" srcset="/images/testimonials/stackshare@2x.png 2x" alt="StackShare">
+          <img class="IndexReviews-img" src="/uppy/images/testimonials/stackshare.png" srcset="/uppy/images/testimonials/stackshare@2x.png 2x" alt="StackShare">
         </div>
         Top 10 tools of the year
       </a>
@@ -140,7 +140,7 @@
     <li class="IndexReviews-item">
       <a class="IndexReviews-link" href="https://twitter.com/smashingmag/status/1097870169043546112" target="_blank" rel="noreferrer noopener">
         <div class="IndexReviews-imgWrapper">
-          <img class="IndexReviews-img" src="/images/testimonials/smashing-magazine.png" srcset="/images/testimonials/smashing-magazine@2x.png 2x" alt="Smashing Magazine">
+          <img class="IndexReviews-img" src="/uppy/images/testimonials/smashing-magazine.png" srcset="/uppy/images/testimonials/smashing-magazine@2x.png 2x" alt="Smashing Magazine">
         </div>
         “Soooo useful”
       </a>
@@ -153,16 +153,16 @@
     <h2 class="IndexLogos-title">Used by</h2>
     <div class="IndexLogos-logos">
       <a href="https://www.coursera.org/" class="IndexLogos-item IndexLogos-item--coursera">
-        <%- inline_svg('/images/featured-customers/coursera.svg') %>
+        <%- inline_svg('/uppy/images/featured-customers/coursera.svg') %>
       </a>
       <a href="https://www.photobox.com/" class="IndexLogos-item IndexLogos-item--photobox">
-        <%- inline_svg('/images/featured-customers/photobox.svg') %>
+        <%- inline_svg('/uppy/images/featured-customers/photobox.svg') %>
       </a>
       <a href="https://issuu.com/" class="IndexLogos-item IndexLogos-item--issuu">
-        <%- inline_svg('/images/featured-customers/issuu.svg') %>
+        <%- inline_svg('/uppy/images/featured-customers/issuu.svg') %>
       </a>
       <a href="https://zulipchat.com/" class="IndexLogos-item IndexLogos-item--zulip">
-        <%- inline_svg('/images/featured-customers/zulip.svg') %>
+        <%- inline_svg('/uppy/images/featured-customers/zulip.svg') %>
       </a>
     </div>
     <div class="IndexLogos-join">

+ 4 - 4
website/themes/uppy/layout/layout.ejs

@@ -1,7 +1,7 @@
 <% var isIndex = page.path === 'index.html' %>
 <% var title = page.title ? page.title + ' — ' + config.title : config.title %>
 <% var excerpt = page.excerpt ? page.excerpt.replace(/(<([^>]+)>)/ig, '').substring(0, 400) : config.description %>
-<% var image = page.image ? page.image : 'http://uppy.io/images/uppy-social-pink.png' %>
+<% var image = page.image ? page.image : 'http://transloadit.github.io/uppy/images/uppy-social-pink.png' %>
 <%
 if (page.series) {
   title = page.series + ': ' + page.title
@@ -42,10 +42,10 @@ if (page.series) {
       <div class="TransloaditBar js-TransloaditBar">
         <div class="TransloaditBar-about">
           <!-- <a class="TransloaditBar-logo" href="https://transloadit.com/" target="_blank" rel="noopener">
-            <img class="TransloaditBar-logoImg" src="/images/transloadit-white-glyph.svg" width="20" height="20" alt="Transloadit">
+            <img class="TransloaditBar-logoImg" src="/uppy/images/transloadit-white-glyph.svg" width="20" height="20" alt="Transloadit">
           </a> -->
           <!-- <span>Uppy is an open source project by <a class="TransloaditBar-link" href="https://transloadit.com/" target="_blank">Transloadit</a></span> -->
-          This website is no longer maintained, please visit <a href="//uppy.io">uppy.io</a> to get up-to-date info about Uppy.
+          This website is no longer maintained, please visit <a href="//uppy.io" style="color:inherit">uppy.io</a> to get up-to-date info about Uppy.
         </div>
       </div>
 
@@ -58,7 +58,7 @@ if (page.series) {
           <!-- <a class="MainLogo-announcement" href="/blog/2019/04/1.0/">
             1.0
             <span class="MainLogo-emoji">
-              <img src="/images/party-popper.png" srcset="/images/party-popper@2x.png 2x" alt="🎉">
+              <img src="/uppy/images/party-popper.png" srcset="/uppy/images/party-popper@2x.png 2x" alt="🎉">
             </span>
           </a> -->
         </span>

+ 1 - 1
website/themes/uppy/layout/partials/blog.ejs

@@ -6,7 +6,7 @@
       <h2>
           Recent Posts
           <a href="/atom.xml" rel="noreferrer noopener" target="_blank" style="vertical-align: middle; margin-left: 5px">
-              <img src="/images/feed.png" style="width:15px;height:15px">
+              <img src="/uppy/images/feed.png" style="width:15px;height:15px">
           </a>
       </h2>
       <ul>

+ 6 - 6
website/themes/uppy/layout/partials/main_menu.ejs

@@ -4,10 +4,10 @@
     <input type="text" id="search-query" class="MainMenu-searchQuery st-default-search-input">
   </form>
 </li> -->
-<!--li><a href="/guide/" class="nav-link<%- page.path.match(/guide/) ? ' current' : '' %>">Guide</a></li-->
-<li><a href="/docs/" class="nav-link<%- page.path.match(/docs/) ? ' current' : '' %>">Docs</a></li>
-<li><a href="/examples/dashboard/" class="nav-link<%- page.path.match(/examples/) ? ' current' : '' %>">Examples</a></li>
-<!--li><a href="/stats/" class="nav-link<%- page.path.match(/stats/) ? ' current' : '' %>">Stats</a></li-->
-<li><a href="/blog/" class="nav-link<%- page.path.match(/blog/) ? ' current' : '' %>">Blog</a></li>
-<li><a href="/support/" class="nav-link<%- page.path.match(/support/) ? ' current' : '' %>">Support</a></li>
+<!--li><a href="/uppy/guide/" class="nav-link<%- page.path.match(/guide/) ? ' current' : '' %>">Guide</a></li-->
+<li><a href="/uppy/docs/" class="nav-link<%- page.path.match(/docs/) ? ' current' : '' %>">Docs</a></li>
+<li><a href="/uppy/examples/dashboard/" class="nav-link<%- page.path.match(/examples/) ? ' current' : '' %>">Examples</a></li>
+<!--li><a href="/uppy/stats/" class="nav-link<%- page.path.match(/stats/) ? ' current' : '' %>">Stats</a></li-->
+<li><a href="/uppy/blog/" class="nav-link<%- page.path.match(/blog/) ? ' current' : '' %>">Blog</a></li>
+<li><a href="/uppy/support/" class="nav-link<%- page.path.match(/support/) ? ' current' : '' %>">Support</a></li>
 <li><a href="https://github.com/transloadit/uppy" class="nav-link">GitHub</a></li>

+ 1 - 1
website/themes/uppy/layout/partials/social.ejs

@@ -3,7 +3,7 @@
   <li><iframe src="https://ghbtns.com/github-btn.html?user=transloadit&repo=uppy&type=watch&count=true"
 allowtransparency="true" frameborder="0" scrolling="0" width="100" height="20"></iframe></li>
   <!-- to regenerate you can use this link: https://img.shields.io/badge/community-forum-d8006a.svg -->
-  <li><a href="https://community.transloadit.com/c/uppy"><img src="/images/community-forum-d8006a.svg" /> </a></li>
+  <li><a href="https://community.transloadit.com/c/uppy"><img src="/uppy/images/community-forum-d8006a.svg" /> </a></li>
   <li class="BuildBadge">
    <span class="wrapper">
      <a href="https://github.com/transloadit/uppy/actions"><img src="https://github.com/transloadit/uppy/workflows/End-to-end%20tests/badge.svg" alt="Build Status"></a>

+ 1 - 1
website/themes/uppy/layout/post.ejs

@@ -6,7 +6,7 @@
         <h2>
             Recent Posts
             <a href="/atom.xml" rel="noreferrer noopener" target="_blank" style="vertical-align: middle; margin-left: 5px">
-                <img src="/images/feed.png" style="width:15px;height:15px">
+                <img src="/uppy/images/feed.png" style="width:15px;height:15px">
             </a>
         </h2>