-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: Antoine du Hamel <[email protected]>
- Loading branch information
Showing
298 changed files
with
9,805 additions
and
168 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
blog/201* | ||
blog/2020-* | ||
blog/2021-0* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
// Adds `slug: '{filename-without-extension}'` to all blog posts in /blog | ||
|
||
import globby from 'globby'; | ||
import { basename } from 'path'; | ||
import { readFile, writeFile } from 'node:fs/promises'; | ||
|
||
const paths = await globby('./blog/*.md'); | ||
|
||
for (const path in paths) { | ||
const file = await readFile(paths[path], { encoding: 'utf-8' }); | ||
|
||
let slug = basename(paths[path], '.md').replace(/-/g, '/'); | ||
console.log(slug); | ||
|
||
const fileWithSlug = file.replace(/\n---/, `\nslug: "${slug}"\n---`); | ||
console.log(fileWithSlug); | ||
await writeFile(paths[path], fileWithSlug, { encoding: 'utf-8' }); | ||
} | ||
|
||
// console.log(paths) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
--- | ||
title: 'Uppy: let’s teach an old dog some new tricks' | ||
date: 2016-07-15 | ||
authors: ['arturi'] | ||
slug: '2016/06/uppy/begins' | ||
--- | ||
|
||
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="/img/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. | ||
|
||
We at [Transloadit](https://transloadit.com/) are on a mission to change the way | ||
the world does uploading. To accomplish this, our first step has been to develop | ||
an open protocol for resumable file uploads, called [‘tus’](http://tus.io/). | ||
Finally, that 2GB video upload from your smartphone doesn’t have to start over | ||
when your train passes through a tunnel! The protocol got | ||
[Hacker News excited](https://news.ycombinator.com/item?id=10591348) on several | ||
occasions and is being deployed by, among others, our friends at Vimeo. Now that | ||
a stable version 1.0 of ‘tus’ has been released, it is time to put it to the | ||
test. A protocol without real-world applications is nothing more than a | ||
meaningless document, after all. | ||
|
||
We are therefore excited to tell you about Uppy: the file uploader that will | ||
certainly fetch more than just your newspaper. | ||
|
||
<!--truncate--> | ||
|
||
## Why the need for another file uploader? | ||
|
||
It is true, there are indeed already a good few file uploading solutions out | ||
there ([Dropzone](http://www.dropzonejs.com/), for instance, is quite good). And | ||
– for the most part – they do their job. Nevertheless, they are quite limited in | ||
their functionality: | ||
|
||
- You can drag and drop files from local disk, but uploaders that supports | ||
Instagram, Dropbox or Google Drive are scarce. The ones out there lock you in | ||
with vendors and are hard to customize for own use. | ||
|
||
- File uploaders are seldom mindful of the existence of encoding and processing | ||
backends, while the reality is that files often require some form of | ||
processing and that the end user would like to receive progress updates with | ||
regard to that. | ||
|
||
- None of the currently available file uploaders make use of the standardized | ||
resumability that ‘tus’ provides, which makes them less than ideal for | ||
handling larger files. | ||
|
||
- Lastly, we feel that the current solutions are sometimes dropping the ball | ||
when it comes to a polished user experience. We aim to fix that. | ||
|
||
All in all, we think there is definitely some ‘trouble at the old mill’ here and | ||
it’s time to let Uppy take care of that! | ||
|
||
## Our plans for Uppy | ||
|
||
Uppy will be a JavaScript file uploader that allows you to fetch files, not only | ||
from your local disk, but also from places like Dropbox, Instagram, Google | ||
Drive, webcams and remote URLs. It will have a modular, plugin-based design, | ||
making it lightweight and customizable. | ||
|
||
Cute on the outside, the core of Uppy is very robust – thanks to resumability | ||
through 'tus'. We are confident that Uppy will be able to send even the biggest | ||
of files over the smallest of tubes. | ||
|
||
Uppy will also offer first class support for accessing Transloadit’s uploading | ||
and encoding backend, making it incredibly versatile. Of course, these are all | ||
ultimately just plugins, and Uppy can just as easily be used with your own | ||
backend – meaning no need to pay any subscription fees. | ||
|
||
We are intent on making the user experience as smooth and satisfying as | ||
possible, in terms of both functionality and visual design. Uppy will have a | ||
beautiful, themeable UI and it will look – and work – great on mobile platforms | ||
as well. While we hope that advanced users will love the customizable nature of | ||
Uppy, an ample selection of presets will also be there to make sure that novice | ||
users are not going to be lost in the woods. | ||
|
||
Lastly, and this is a point of special significance to us, Uppy will be | ||
completely open source. When Uppy is finished, you will be free to use it for | ||
whatever you like. Until that time, we very much welcome your ideas and | ||
contributions. There are still a lot of decisions to be made and this is the | ||
perfect time to come and influence the end product. | ||
|
||
We are going to work hard on bringing you the best file uploader possible and | ||
we’ll keep you informed about the development process on | ||
[uppy.io](http://uppy.io/). We can’t wait for you to meet Uppy! | ||
|
||
> We were on the [Hacker News](https://news.ycombinator.com/item?id=12109410) | ||
> and [Product Hunt](https://www.producthunt.com/posts/uppy) frontpages. | ||
> Comments welcome there. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
--- | ||
title: 'Uppy version 0.8 released: The Webcam Edition and Meta Data' | ||
date: 2016-08-17 | ||
authors: ['arturi'] | ||
published: true | ||
slug: '2016/08/0.8.0' | ||
--- | ||
|
||
We have just released Uppy 0.8.0 and we can't wait to tell you more about it. | ||
Along with various under-the-hood improvements, this release also contains some | ||
very visible upgrades. You can read below for further details. | ||
|
||
## Including Meta Data | ||
|
||
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="/img/blog/0.8/metadata-dashboard.jpg" className="border" /> | ||
|
||
<!--truncate--> | ||
|
||
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="/img/blog/0.8/uppy-dashboard-ui.jpg" className="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: | ||
|
||
```javascript | ||
const uppy = new Uppy().use(Dashboard).use(MetaData, { | ||
fields: [ | ||
{ | ||
id: 'resizeTo', | ||
name: 'Resize to', | ||
value: 1200, | ||
placeholder: 'specify future image size', | ||
}, | ||
{ | ||
id: 'description', | ||
name: 'Description', | ||
value: '', | ||
placeholder: 'describe what the file is for', | ||
}, | ||
], | ||
}); | ||
``` | ||
|
||
And just like that, we have added two fields: `Resize` and `Description`. All | ||
metadata is sent along with both [tus](http://tus.io) and multipart uploads. | ||
|
||
## Webcam Support | ||
|
||
We have also added a basic `Webcam` plugin, which allows you to acquire images | ||
directly from your own webcam. This is still a work in progress and we will be | ||
improving it in the next release. | ||
|
||
## Mime Types and File Icons | ||
|
||
Uppy now includes a [mime-type](https://www.npmjs.com/package/mime-types) | ||
library that helps us figure out file types by extension. | ||
|
||
Having proper file types also means that we need the right corresponding file | ||
icons for the Dashboard UI. We have already added a few and we will soon supply | ||
more icons for audio, video, text, PDF and other common file types. | ||
|
||
## Previously on Uppy: File Previews, Remote File Handling, Accessibility and Acceptance Tests Stats | ||
|
||
We thought it might be worth taking a moment to list a few highlights from the | ||
previous versions as well: | ||
|
||
- If a file you selected is an image, its preview thumbnail data URL will be | ||
generated and added to `file.preview` in Uppy’s state. This URL can be used | ||
later to render a preview with any plugin. Currently, this is done by the | ||
mighty Dashboard. | ||
- It is now also possible to select remote files in Uppy. Simply double-click a | ||
file from, for instance, Google Drive, and Uppy will then show it in a preview | ||
area. | ||
- We have been doing some more work on accessibility: from now on, when you | ||
switch tabs in Modal, it will focus on the first input in that tab. We have | ||
also added proper labels and titles, and are doing more research in this area. | ||
- Everybody likes to see stats. That is why, on our website, you can now | ||
[view stats](http://uppy.io/stats) that show how acceptance tests are | ||
performing in various browsers. If a test is successful, that means Uppy will | ||
likely be able to load and upload files in that particular browser. | ||
- The Dashboard UI is now way better looking and easier to work with. It | ||
replaced the old `Modal` plugin and it can accept files via drag & drop, local | ||
disk and paste (experimental, WIP). It has become our main source of truth and | ||
the basic acquire plugin for local files. The DragDrop plugin is still | ||
available as a lighter alternative. | ||
|
||
## Release Notes | ||
|
||
Here is the full list of changes for version 0.8.0. | ||
|
||
- core: fix bug: no meta information from uppy-server files | ||
([@hedgerh](https://github.com/hedgerh)) | ||
- core: fix bug: uppy-server file is treated as local and directly uploaded | ||
([@hedgerh](https://github.com/hedgerh)) | ||
- uppy-server: hammering out websockets/oauth | ||
([@hedgerh](https://github.com/hedgerh), | ||
[@acconut](https://github.com/acconut)) | ||
- debugger: introduce MagicLog as a way to debug state changes in Uppy | ||
([@arturi](https://github.com/arturi)) | ||
- modifier: A MetaData plugin to supply meta data (like width, tag, filename, | ||
user_id) ([@arturi](https://github.com/arturi)) | ||
- modifier: pass custom metadata with non-tus-upload. Maybe mimic meta behavior | ||
of tus here, too ([@arturi](https://github.com/arturi)) | ||
- modifier: pass custom metadata with tus-upload with tus-js-client | ||
([@arturi](https://github.com/arturi)) | ||
- webcam: initial version: webcam light goes on | ||
([@hedgerh](https://github.com/hedgerh)) | ||
- progress: better icons, styles ([@arturi](https://github.com/arturi)) | ||
- core: better mime/type detection (via mime + extension) | ||
([@arturi](https://github.com/arturi)) | ||
- core: add deep-freeze to getState so that we are sure we are not mutating | ||
state accidentally ([@arturi](https://github.com/arturi)) | ||
- meta: release “Uppy Begins” post ([@arturi](https://github.com/arturi) | ||
[@kvz](https://github.com/kvz)) | ||
- meta: better readme on GitHub and NPM ([@arturi](https://github.com/arturi)) | ||
- test: add pre-commit & lint-staged ([@arturi](https://github.com/arturi)) | ||
- test: add next-update <https://www.npmjs.com/package/next-update> to check if | ||
packages we use can be safely updated ([@arturi](https://github.com/arturi)) | ||
- website: blog polish — add post authors and their gravatars | ||
([@arturi](https://github.com/arturi)) | ||
- dashboard: UI revamp, more prototypes, background image, make dashboard nicer | ||
([@arturi](https://github.com/arturi)) | ||
- dashboard: try a workflow where import from external service slides over and | ||
takes up the whole dashboard screen ([@arturi](https://github.com/arturi)) | ||
- modal: merge modal and dashboard ([@arturi](https://github.com/arturi)) | ||
|
||
We hope you will enjoy this latest release. Uppy is still improving every day | ||
and we hope to bring you more news about our progress soon! | ||
|
||
The Uppy Team |
Oops, something went wrong.