curl -L https://gist.githubusercontent.com/tl86br/15ed0b827958fe392b84b07783c31928/raw/ec6a2805d3a8b70a737dc2c8d66cf8c3ca093a79/sketch-app-plugins-script.sh | sh
Last active
January 27, 2020 12:23
-
-
Save aguiarsouzatiz/15ed0b827958fe392b84b07783c31928 to your computer and use it in GitHub Desktop.
Sketch App - Plugins
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
https://medium.com/sketch-app-sources/sketch-tools-for-managing-a-design-system-2-7f11d2c5faeb | |
https://medium.com/sketch-app-sources/sketch-tools-for-managing-a-design-system-2-7f11d2c5faeb= | |
# -------------------------------------------------- | |
# app issues | |
# -------------------------------------------------- | |
# Sketch Cache Cleaner | |
https://github.com/yo-op/sketchcachecleaner/releases | |
# -------------------------------------------------- | |
# packages - manage | |
# -------------------------------------------------- | |
# Sketchpacks | |
https://sketchpacks-releases.herokuapp.com/download | |
# -------------------------------------------------- | |
# elements - manage | |
# -------------------------------------------------- | |
# Runner Fast search to speed up the workflow | |
https://sketchrunner.github.io/runner-info/Runner.zip | |
# shortcut: cmd + ' | |
# settings 'always start with: insert' | |
# Search everywhere | |
https://github.com/MrPeak/sketch-search-everywhere/archive/master.zip | |
# Overrideit - Overrideit is sketch plugin that allow designers to search in overridelist and overrides dropdowns, and with many other features | |
https://github.com/ahmedmigo/overrideit-sketchplugin/archive/master.zip | |
# Symbol Name Autocomplete - This Sketch plugin gives you autocompletion of symbol names when creating a symbol | |
https://github.com/griffin-stewie/SymbolNameAutocomplete/releases/latest | |
# Sketch plugin to replace symbols in an existing documents with library symbols | |
https://github.com/zeroheight/library-symbol-replacer | |
# SVG-Insert - A plugin for sketch to insert svg code into sketch | |
https://github.com/tankxu/SVG-Insert/releases | |
# Symbol Swapper - Swap the selected symbols and/or symbol instances to a master of the same name in a library | |
https://github.com/sonburn/symbol-swapper/archive/master.zip | |
# -------------------------------------------------- | |
# elements - manipulation | |
# -------------------------------------------------- | |
# Looper - duplicate, rotate and scale the smart way | |
https://github.com/sureskumar/Looper/archive/master.zip | |
# Relabel Button - automated padding, spacing and alignment for your Sketch layers | |
https://github.com/kenmoore/sketch-relabel-button/archive/master.zip | |
# Paddy - automated padding, spacing and alignment for your Sketch layers | |
https://github.com/DWilliames/paddy-sketch-plugin/archive/master.zip | |
# Anima App - Create Responsive and Interactive High-Fidelity Prototypes, All Inside Sketch | |
https://animaapp.s3.amazonaws.com/sketchplugin/toolkit/AnimaToolkitPlugin.zip | |
# Sketch Measure - create spec | |
https://github.com/utom/sketch-measure/archive/master.zip | |
# Map Generator | |
https://github.com/eddiesigner/sketch-map-generator/archive/master.zip | |
# -------------------------------------------------- | |
# layer/artboard/element/style - manage | |
# -------------------------------------------------- | |
# Automate Sketch | |
https://github.com/Ashung/Automate-Sketch/archive/master.zip | |
# RenameIt - keep your Sketch files organized, batch rename layers and artboards | |
# https://github.com/rodi01/RenameIt/releases/latest | |
https://github.com/rodi01/RenameIt/archive/master.zip | |
# Relabel Button - prompts for a button's new label then applies the text, resizes and repositions while maintaining the padding | |
https://github.com/kenmoore/sketch-relabel-button/archive/master.zip | |
# Symbol Organizer - Organize your symbols page alphabetically (including layer list) and into groupings determined by your symbol names | |
https://github.com/sonburn/symbol-organizer/archive/master.zip | |
# Style Inventory for Sketch | |
https://github.com/getflourish/Sketch-Style-Inventory/archive/master.zip | |
# Convert to Grayscale | |
https://github.com/mheesakkers/sketch-plugin-convert-to-grayscale/archive/master.zip | |
# Sketch select - Make it much more convenient to select layers with similar attributes | |
https://github.com/canisminor1990/sketch-select | |
# Distributor - Sketch plugin that distributes selected objects vertically or horizontally with a given spacing | |
https://github.com/PEZ/SketchDistributor/archive/master.zip | |
# -------------------------------------------------- | |
# text/font - manage | |
# -------------------------------------------------- | |
# Font Packer - collect font files you used in your sketch file | |
https://github.com/bigxixi/Font-Packer/archive/master.zip | |
# Font Finder - find font items in a current page | |
https://github.com/ukn530/FontFinder/archive/master.zip | |
# Counter — counting characters and words in a text layer | |
https://github.com/Volorf/Counter/archive/master.zip | |
# Shared Text Styles | |
https://github.com/nilshoenson/shared-text-styles/archive/master.zip | |
# Syntax highlighter | |
https://github.com/danielguillan/sketch-syntax-highlighter/releases/latest | |
# -------------------------------------------------- | |
# color - manage | |
# -------------------------------------------------- | |
# Chain Create dynamic color relations in Sketch | |
https://github.com/LaloMrtnz/Chain/releases/latest | |
# Sketch Palettes - Exporting and importing fill presets (colors, gradients, and pattern fills) | |
https://github.com/andrewfiorillo/sketch-palettes/archive/master.zip | |
# Stark - Ensure your design is accessible and high contrast for every type of color blindness | |
https://github.com/stark-contrast/stark-sketch-plugin/archive/master.zip | |
# -------------------------------------------------- | |
# grid | |
# -------------------------------------------------- | |
# Nudged - edit your nudge distance settings | |
https://github.com/KevinWoodhouse/sketch-nudged/archive/master.zip | |
# -------------------------------------------------- | |
# chart | |
# -------------------------------------------------- | |
# Chart - create the most popular types of charts by real or random data | |
https://github.com/pavelkuligin/chart/archive/master.zip | |
# -------------------------------------------------- | |
# sync - content/elements/styles | |
# -------------------------------------------------- | |
# Library Styles Sync | |
https://www.sketchpacks.com/zeroheight/library-styles-sync/install | |
# Craft - Invision | |
http://craft-assets.invisionapp.com/CraftManager/production/CraftManager.zip | |
# Sync to Slides | |
https://websiddu.github.io/sync-to-slides/files/builds/sync-to-slides.v.2.2.zip | |
# Google Sheets content sync | |
https://github.com/DWilliames/Google-sheets-content-sync-sketch-plugin/archive/master.zip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/bash | |
urls=( | |
"https://sketchrunner.github.io/runner-info/Runner.zip" | |
"https://github.com/MrPeak/sketch-search-everywhere/archive/master.zip" | |
"https://github.com/ahmedmigo/overrideit-sketchplugin/archive/master.zip" | |
"https://github.com/Ashung/Automate-Sketch/archive/master.zip" | |
"https://github.com/kenmoore/sketch-relabel-button/archive/master.zip" | |
# "https://github.com/kenmoore/sketch-relabel-button/files/2875080/Relabel.Button.1.7.sketchplugin.zip" | |
"https://github.com/rodi01/RenameIt/archive/master.zip" | |
"https://animaapp.s3.amazonaws.com/sketchplugin/toolkit/AnimaToolkitPlugin.zip" | |
"https://github.com/Volorf/Counter/archive/master.zip" | |
"https://github.com/andrewfiorillo/sketch-palettes/archive/master.zip" | |
"http://craft-assets.invisionapp.com/CraftManager/production/CraftManager.zip" | |
"https://github.com/sonburn/symbol-organizer/archive/master.zip" | |
"https://github.com/sonburn/symbol-swapper/archive/master.zip" | |
"https://api.github.com/repos/griffin-stewie/SymbolNameAutocomplete/releases/latest" | |
"https://github.com/wonderbit/sketch-select-similar-layers/archive/master.zip" | |
"https://api.github.com/repos/BohemianCoding/unsplash-sketchplugin/releases/latest" | |
"https://github.com/PEZ/SketchDistributor/archive/master.zip" | |
"https://github.com/eddiesigner/sketch-map-generator/archive/master.zip" | |
"https://github.com/stark-contrast/stark-sketch-plugin/archive/master.zip" | |
"https://github.com/utom/sketch-measure/archive/master.zip" | |
"https://github.com/zeroheight/library-symbol-replacer/releases/download/1.0.16/library-symbol-replacer.sketchplugin.zip" | |
"https://github.com/tankxu/SVG-Insert/releases/latest" | |
) | |
function createDownloadFolder { | |
cd ./ && mkdir "${local_download_folder}" | |
} | |
function setupDownloadFolder { | |
if [ -d $HOME/Downloads ] | |
then | |
createDownloadFolder | |
else | |
echo "There is no Downloads directory!" | |
echo "Creating a root Downloads directory ..." | |
cd ./ && mkdir Downloads | |
createDownloadFolder | |
fi | |
} | |
function goToDownloadFolder { | |
cd "${local_download_folder}" | |
} | |
divider="/" | |
local_download_folder="$HOME/Downloads/temp downloaded files" | |
function getAppName { | |
local name="${app:2:${#app} - 6}" | |
echo "${name}" | |
} | |
function getAllAppNames { | |
local declare app_names | |
goToDownloadFolder | |
for app in ./*app | |
do | |
app_names+=("$(getAppName ${app})${divider}") | |
done | |
echo "${app_names[@]}" | |
} | |
function openApps { | |
local IFS=${divider} | |
echo $app_names | |
for app_name in ${app_names} | |
do | |
cd /Applications && open -a ${app_name:1} | |
done | |
} | |
function movieAppsToAplicationsFolder { | |
goToDownloadFolder | |
mv ./*.app /Applications | |
} | |
function installAppExtensions { | |
goToDownloadFolder | |
app_names="$(getAllAppNames)" | |
movieAppsToAplicationsFolder | |
openApps ${app_names} | |
} | |
function installSketchExtensions { | |
goToDownloadFolder | |
find . -name "*.sketchplugin" -exec open {} \; | |
} | |
function installDmgExtensions { | |
goToDownloadFolder | |
find . -name "*.dmg" -exec open {} \; | |
} | |
function installPlugins { | |
echo "Installing plugins..." | |
installAppExtensions | |
installSketchExtensions | |
installDmgExtensions | |
} | |
function deleteDownloadFolder { | |
echo "Deleting downloaded files folder..." | |
rm -r "${local_download_folder}" | |
} | |
function getLatestFileReleaseUrl { | |
local url_latest_json_property=$(curl --silent ${url} | grep '"browser_download_url":') | |
url_latest_json_property=${url_latest_json_property/'"browser_download_url":'/} | |
local browser_download_url=${url_latest_json_property#${url_latest_json_property%%[![:space:]]*}} | |
browser_download_url=${browser_download_url//\"/} | |
echo $browser_download_url | |
} | |
function downloadSpecific { | |
curl -L -O ${url_file} | |
} | |
function decompressFileAndClean { | |
unzip *.zip | |
removeZipsToAvoidFileReplaces | |
} | |
function removeZipsToAvoidFileReplaces { | |
rm *.zip #it is needed to avoid undesired file replaces | |
} | |
function downloadUrlsFiles { | |
echo "------------------------------------------------------------" | |
echo "------------------------------------------------------------" | |
echo "url_file ${url_file}" | |
for url in ${urls[*]} | |
do | |
echo "URL: ${url}" | |
goToDownloadFolder | |
case "${url}" in | |
*zip | *dmg) | |
echo "Url file founded" | |
url_file="${url}" | |
;; | |
*releases/latest) | |
echo "Finding lastest release file url..." | |
url_file=$(getLatestFileReleaseUrl ${url}) | |
;; | |
*) | |
echo "There are not file associated to this url" | |
echo "Check if url is correct" | |
;; | |
esac | |
echo "Downloading: ${url_file}" | |
goToDownloadFolder && downloadSpecific ${url_file} | |
decompressFileAndClean | |
echo "------------------------------------------------------------" | |
echo "------------------------------------------------------------" | |
done | |
} | |
function offerOptionToRemoveDownloadFolder { | |
echo "Would you like to remove the download folder '${local_download_folder}'?" | |
echo -e "Type 'yes' to confirm or anything to cancel: \c" | |
read answer | |
case ${answer} in | |
"yes") | |
deleteDownloadFolder | |
;; | |
*) | |
echo "ok leave as it is" | |
;; | |
esac | |
} | |
setupDownloadFolder | |
downloadUrlsFiles | |
installPlugins | |
open "${local_download_folder}" | |
offerOptionToRemoveDownloadFolder |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment