Skip to content

Ahipeau/thenoun-uploader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

thenoun uploader

A tool that helps you upload to Wikimedia Commons icons that were previously downloaded from The Noun Project.

Description

On The Noun Project icon page url follow a certain pattern. Eg: https://thenounproject.com/icon/145926 with the digit part of the url being the unique ID of the icon. The page contains description such as author name, author url, license, etc.

thenoun uploader is a tool that helps people upload to Commons icons previously downloaded from The Noun Project. The tool should allow to upload one or many icons as needed whilst making sure the upload adds relevant information to the file on Commons.

When downloaded from The Noun Project, icons in SVG format or PNG have file names with the following a certain pattern. Eg: noun_145926.svg

Requirements

You need to have npm installed. You can get npm from here

Install

# clone the repository
git clone https://github.com/samuelguebo/thenoun-uploader.git

# install dependencies
npm install

Start the tool

# instead, you can specify wich script to run
npm start

Development stages (List of todos)

  1. Set up a basic Nodejs server using Express
    • Add a minimalist HTML5 layout with an upload form or area, maybe use awmd stats layout
  2. Implement file upload in form and validation logic
    • Add drag and drop feature for 1 or more images
    • Extract image ID from its title
    • Preliminary validation on drag and drop: check title and file format.
    • Second validation: make sure image does not already exist on Commons
    • Third licence check: if image has CC BY-SA credit within the file SVG file, remove it as the info added to the icon during upload already includes credit: name, author, link, etc.
  3. Fetch details for each image, based on its ID, by querying thenounproject.com (eg:https://thenounproject.com/icon/145926)
  4. Implement image upload to Commons
    • Upload to Commons
    • Notify user regarding the upload status
    • Add necessary description to image, similarly to what wikibot-nodejs used to do.
    • Notify user regarding the description update process
    • Notify user regarding the final upload url on Commons
  5. Allow user to start another process
  6. Unit tests with Mocha or Jazmine

links

Coding convention

This project will use the Airbnb javascript style guide

Contributors

About

The Noun Project icons uploader to Commons

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 50.2%
  • JavaScript 49.8%