/scrst

Аплоад скриншотов в Amazon S3 и красивое отображение их на странице.

Primary LanguagePython

ScrSt (ScreenShots)

Аплоад скриншотов в Amazon S3 и красивое отображение их на странице.

Зачем это всё?

  1. Just for fun (проект выходного дня).

  2. Простой способ обмениться скриншотами, сделанными на макбуках с ретиной с корректным отображением полученных изображений как на обычных экранах, так и на ретине.

  3. Кроме того, здесь нет никакой рекламы, а в браузере не отображается ничего, кроме сделанного скриншота - никаких лишних панелей на полэкрана, никакой бесполезной информации.

  4. Ещё скрипт умеет Open Graph и полученный скриншот нормально отображается, например, в Facebook или Slack. Имеется возможность задать любое название полученному скриншоту.

Минусы, подводные камни

  1. Нет аннотаций скриншотов с помощью стрелок, подписей и прочей графики. Пока нет.

  2. Нужен аккаунт в Amazon S3 и хостинг для запуска фронтенда для отображения скриншотов.

  3. Всё. Остальное - сплошной профит!

Установка

  1. Ставим скрипт:

     brew install dreadatour/formulas/scrst
    
  2. Настраиваем:

     ➜ /usr/local/bin/scrst --setup
     Amazon S3 configuration
     -----------------------
     Access key ID: BURD4JFDIW19HU2CGHN6
     Secret access key: Edj3LXlBnyStd0A6LVEwQzeCAwyDjzDCkiWVyTgr
     Bucket name: scrst
    
     ScrSt configuration
     -------------------
     Enter URL for uploaded screenshots: http://scr.st/
     Use long names for taken screenshots? (yes/no) no
     Keep file extension un result URL? (yes/no) no
     Do you want to install OS X services? (yes/no) yes
       Install service 'Create screenshot and upload'.
         Press Enter to continue...
       Install service 'Create screenshot with title and upload'.
         Press Enter to continue...
       Install service 'Rename last uploaded screenshot'.
         Press Enter to continue...
     Do you want to install Dropzone 3 action? (yes/no) yes
       Install Dropzone 3 action.
    

    При необходимости настройки можно изменить в файле /usr/local/etc/scrst.cfg.

  3. После установки сервисов переходим в настройки клавиатуры и настраиваем горячие кнопки для вызова скрипта:

    Setup shortcuts

Использование

  1. Параметры командной строки скрипта для загрузки скриншотов:

     ➜ /usr/local/bin/scrst --help
     usage: scrst [-h] [-c CONFIG] [-s] [-a] [-t TITLE] [-r] [-q] [-v] [image_file]
    
     Screenshot uploader
    
     positional arguments:
       image_file
    
     optional arguments:
       -h, --help            show this help message and exit
       -c CONFIG, --config CONFIG
                             config file, default: /usr/local/etc/scrst.cfg
       --setup               run interactive setup
       -a, --ask-title       ask user for screenshot title before upload
       -t TITLE, --title TITLE
                             screenshot title
       -r, --rename-last-screenshot
                             rename last uploaded screenshot
       -q, --quiet           do not show OS X notify
       -v, --verbose         verbose output
    
  2. Пробуем запустить без параметров:

     /usr/local/bin/scrst
    

    Или нажимаем сочетание клавиш Cmd+Shift+5.

    Выделяем область экрана. Скриншот загрузится на сервер AWS S3, ссылка на него будет скопирована в буфер обмена и появится нотифай об успешно загруженном файле:

    Notify

    Если кликнуть по нотифаю - в браузере откроется страница с загруженным скриншотом.

    В консоли будет выведена информация о загруженном скриншоте:

     ➜ /usr/local/bin/scrst
     Screenshot uploaded: http://scr.st/yfcmt1
    
  3. Для того, чтобы задать название загруженному файлу, добавляем параметр --ask-title:

     /usr/local/bin/scrst --ask-title
    

    Или нажимаем сочетание клавиш Cmd+Alt+Shift+5.

    Выделяем область экрана. Появится окно с предложением ввести название для снятого скриншота:

    Enter title

    После нажатия на кнопку OK будет показан нотифай об успешно загруженном файле:

    Notify with title

  4. Для того, чтобы переименовать последний загруженный скриншот, добавляем параметр --rename-last-screenshot:

     /usr/local/bin/scrst --rename-last-screenshot
    

    Или нажимаем сочетание клавиш Cmd+Ctrl+Alt+Shift+5.

    Появится окно с предложением изменить название последнего загруженного скриншота:

    Edit title

    После нажатия на кнопку OK будет показан нотифай об успешно изменённом названии:

    Notify with title edited

  5. Для загрузки существующего файла без уведомлений о загрузке с указанием названия, добавляем параметры --quiet и --title и указываем имя файла, который нужно загрузить:

     ➜ /usr/local/bin/scrst --quiet --title "Киска" ~/Desktop/image.png
     File uploaded: http://scr.st/GdrN36
    
  6. Если установлен Dropzone и действие для него, можно просто перетащить любую картинку на иконку "Scr.st" в окне Dropzone:

    Dropzone window

    И она автоматичеки будет загружена.

Запускаем фронтенд для отображения скриншотов

  1. Клонируем репозиторий:

     git clone git@github.com:dreadatour/scrst.git
     cd scrst/frontend
    
  2. Создаём virtualenv:

     mkvirtualenv scrst
    
  3. Ставим зависимости:

     pip install -r requirements.txt
    
  4. Создаём и редактируем конфиг (задаём название bucket в Amazon S3):

     cp config.py-dist config.py
     vim config.py
    
  5. Запускаем:

     python app.py
    
  6. Открываем в браузере: http://127.0.0.1:5000/

  7. Открываем закачанный скриншот, например: http://127.0.0.1:5000/LUzCJo (где LUzCJo.png - название файла, сгенерированного скриптом scrst).

  8. ...

  9. Profit!

    Browser window