An open API service indexing awesome lists of open source software.

https://github.com/garno/catalog

Catalog prevents your download folder from being a mess on your Mac.
https://github.com/garno/catalog

Last synced: about 2 months ago
JSON representation

Catalog prevents your download folder from being a mess on your Mac.

Awesome Lists containing this project

README

          

# Catalog
*Catalog prevents your download folder from being a mess on your Mac.*

## The problem

The *Downloads* folder on a Mac is the most cluttered folder there is. Even with the best intentions, we end up not cleaning it as often as we should.

*Catalog* allow us to create rules to automatically organize your downloads based on their origin (*i.e. http://someurl.com/path/to/file.pdf*).

## Installation

```bash
# Install `catalog` gem
$ gem install catalog

# Create the configuration file
$ touch ~/.catalog
```

## State of project

The current version **doesn't include a CLI**. You'll have to use it through IRB as you can see in the [How to use](#how-to-use) section. The next step will be to provide a CLI and a way to easily deamonize this.

## How to use

As mentionned above, *catalog* does not offer a CLI at the moment. You have to load it with IRB.

```ruby
> require 'catalog'
=> true

# Default location is ~/Downloads
> Catalog::Organizer.new.run!
=> true

# However, you can specify your own
> Catalog::Organizer.new(base_path: '/Volumes/Downloads/').run!
=> true
```

#### `~/.catalog` example

```yaml
drawers:
# Basecamp related files
- rule: basecamp.com\/39\/projects\/12837347\/
path: /Users/garno/Downloads/Basecamp/ProjectName/
- rule: basecamp.com
path: /Users/garno/Downloads/Basecamp/

# DMGs
- rule: \.(?:dmg)$
path: /Users/garno/Downloads/DMGs/

# Alfred workflows
- rule: \.(?:alfredworkflow)$
path: /Users/garno/Downloads/Alfred workflows/
```

**Rules order is really important** since a file will be moved according to the first matched rule.

## License

Catalog is © 2014 Samuel Garneau and may be freely distributed under the MIT license. See the LICENSE.md file for more information.