Giter VIP home page Giter VIP logo

figma_backup's Introduction

Figma backup

Утилита для создания локальных бекапов fig файлов


Для работы понадобятся:

  1. bash консоль
  2. Установленная NodeJS (проверено на версии v16.13.0)
  3. Для Full запуска, установленный python (проверено на Python 2.7.18)

Режимы запуска:

Light запуск

Предусмотрен вариант запуска в режиме простого скачивания. Для этого необходимо в корне проекта

  1. Установить зависимости node (команда npm i)
  2. Выполнить команду:
node download_figma_files
  figmaLogin=<ваш логин>
  figmaPassword=<ваш пароль>
  figmaUrl=<полный адрес файла, который необходимо скачать>

В случае если необходимо скачать несколько файлов, можно подготовить конфигурационный json файл следующего формата: [ { "key": "<ключ файла>", "project": "<название проекта>", "team": "<название команды>" }, ... { "key": "<ключ файла>", "project": "<название проекта>", "team": "<название команды>" } ] Загрузка файлов по конфигурационному файлу осуществляется командой:

node download_figma_files
  figmaLogin=<ваш логин>
  figmaPassword=<ваш пароль>
  figmaFilesList=<путь до файла>

В Light запуске все файлы будут сохранены в директорию ./process/_download. Если эта директория не пустая, существующие в ней файлы будут переименованы


Full запуск (Python)

Требует установленного python, отличается от Light версии следующим:

  1. Скачивает все файлы для команд, указанных в ./config/get_figme_files_list.yml
  2. Анализирует время изменения файла в figma и если файл не менялся с прошлого запуска пропускает их

Для запуска полной версии необходимо выполнить команду:

./manage.sh <ваш логин> <ваш пароль>

Файлы будут сохранены в ./store, если какие-то файлы были обновлены, предыдущие версии сохраняются в ./store/<дата запуска>

Настройки:

  1. ./config/download_settings.json - настройки таймаутов для скачивания файлов 1.1 downloadTimeout - ожидание скачивания файла в секундах. Если указан 0 - таймаут оключается 1.2 selectorTimeout - ожидание появления нужных пунктов меню на странице в миллисекундах 1.3 navigationTimeout - таймаут навигации в миллисекундах 1.4 launchTimeout - таймаут запуска headless хрома в миллисекундах 1.5 loginTimeout - таймаут ожидания логина в миллисекундах 1.6 pageOpenTimeout - таймаут открытия страницы в миллисекундах

  2. get_figme_files_list.yml - настройки для скачивания файлов команд 2.1 access_token - access token для вызовов методов figma api 2.2 teams - список идентификаторов команд (можно подсмотреть в урле https://www.figma.com/files/<...>/team/<нужный ид команды>/...)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.