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.
- Host: GitHub
- URL: https://github.com/garno/catalog
- Owner: garno
- License: mit
- Created: 2014-09-03T02:28:00.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2014-09-22T04:02:10.000Z (over 11 years ago)
- Last Synced: 2026-03-25T06:54:35.175Z (3 months ago)
- Language: Ruby
- Homepage:
- Size: 203 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
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.