рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣рдмрд╕реНрдЯреНрд░реЙрдЬрд╝ рдмреБрдХрдорд╛рд░реНрдХ рдХреЛ рджреЗрдЦрдХрд░ рдердХ рдЧрдпрд╛ред рдФрд░ рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ ...

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ MacOS рдХреЗ рд▓рд┐рдП рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдБ - рдСрдЯреЛрдореЗрдХрд░ рдФрд░ AppleScriptред
рд╣рдо рдСрдЯреЛрдореЗрдЯрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдкреНрд░рдХрд╛рд░ - рд╕реЗрд╡рд╛ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред

рдбреНрд░реЙрдк-рдбрд╛рдЙрди рдореЗрдиреВ рдореЗрдВ рд╣рдо рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕реЗрд╡рд╛ рдЦреЛрдЬрдХ рдореЗрдВ рдХреЗрд╡рд▓ рдЧреНрд░рд╛рдлрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░реЗ:

рдЦреЛрдЬ рдореЗрдВ рдмрд╛рдИрдВ рдУрд░, "Apple рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ" рдХреНрд░рд┐рдпрд╛ рдвреВрдВрдвреЗрдВ рдФрд░ рдЗрд╕реЗ рдХрд╛рд░реНрдп рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЦреАрдВрдЪреЗрдВ:

рд╣рдо рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ:

on run tell application "Finder" return POSIX path of (selection as alias) end tell end run
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рд╣реЛрддрд╛ рд╣реИ:
рдПрдкреНрд▓рд┐рдХреЗрд╢рди "рдлрд╛рдЗрдВрдбрд░" рдмрддрд╛рдПрдВ - рдлрд╛рдЗрдВрдбрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ
POSIX рдкрде рдХреЛ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ (рдЙрдкрдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЪрдпрди) - рд╕реНрдХреНрд░рд┐рдкреНрдЯ POSIX рд╢реИрд▓реА рдореЗрдВ рдЪрдпрдирд┐рдд рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрддрд╛ рджреЗрддрд╛ рд╣реИ (рдпрджрд┐ рдЖрдк рдмрд╕ рд░рд╛рд╕реНрддрд╛ рдкреВрдЫрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмреГрд╣рджрд╛рдиреНрддреНрд░ рд╡рд┐рднрд╛рдЬрдХреЛрдВ рдХреЗ рд╕рд╛рде рдкрддрд╛ рд▓реМрдЯрд╛ рджреЗрдЧрд╛)ред
рдЕрдм рд╕рд╛рдЗрдб рдореЗрдВ "рд░рди рд╢реИрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ" рдвреВрдВрдвреЗрдВ рдФрд░ рдЗрд╕реЗ рдХрд╛рд░реНрдп рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рднреА рдЦреАрдВрдЪреЗрдВред рд╣рдо рдореЗрдиреВ рдореЗрдВ "рдЯреНрд░рд╛рдВрд╕рдлрд░ рдЗрдирдкреБрдЯ: рджрд▓реАрд▓ рдХреЗ рд░реВрдк рдореЗрдВ" рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╢реАрд░реНрд╖ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рд░рд┐рдЯрд░реНрди рдХрд░рддреА рд╣реИ рд╡рд╣ рдорд╛рдирдХ рдЗрдирдкреБрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рдХрд┐ рд╣рдо рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ рд░рд╣реЗ рдереЗ (рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдкрде рд╣реИ)

рд╣рдо рдЗрд╕реЗ рдЗрд╕рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
curl -F "Filedata=@$1" "http://habrastorage.org/uploadController/?username=vvzvlad&userkey=7a25d94cde460365b6f7ce137675c623ec" | json_pp | grep url | awk -F '"' '{print $4}'
рдореБрдЭреЗ
рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдЗрд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдорд┐рд▓реАред рдкрд╣рд▓рд╛ рднрд╛рдЧ рд╣рдорд╛рд░реА рдлрд╛рдЗрд▓ рдХреЗ рдлрд╛рдЗрд▓рдбреЗрдЯрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ POST рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИред $ 1 - рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рддрд░реНрдХ рд╣реИ рдЬреЛ рд╢реАрд░реНрд╖ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ - рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрддрд╛ред рдпрд╣реА рд╣реИ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
curl -F "Filedata=@/Users/vvzvlad/Documents/REVIEWS/alpha\ mio/foto/003.jpg" "http://habrastorage.org/uploadController/?username=vvzvlad&userkey=7a25d94cde460365b6f7ce137675c623ec"
рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП userkey рдореИрдЬрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд
рд╣реИ ред рдкрддреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
habrahabr.ru/whoami рд▓реЗрдХрд┐рди рди рдХреЗрд╡рд▓ рдЙрд╕ рддрд░рд╣, рдмрд▓реНрдХрд┐ рд░реЗрдлрд░реЗрдиреНрд╕ рд╣реИрд░рд╛рд╕реНрдЯреНрд░реЙрдЬ рдХреЗ рд╕рд╛рдеред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ: habrastorage.org рдкрд░ рдЬрд╛рдПрдВ, рд╕реЛрд░реНрд╕ рдХреЛрдб рджреЗрдЦреЗрдВ, рд▓рд╛рдЗрди рдвреВрдВрдвреЗрдВ (рдореЗрд░реЗ рдкрд╛рд╕ 13 рд╣реИрдВ), рдФрд░ рдЙрд╕ рдкрд░ рдкреЛрдХ рдХрд░реЗрдВред

рд╣рдореЗрдВ рдпрд╣ рд▓рд╛рдЗрди рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ:

рд╢реЗрд╖ рдкрдВрдХреНрддрд┐:
| json_pp | grep url | awk -F '"' '{print $4}'
рдпрд╣ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдПрдХ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ рдлрд╛рдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдП рдХрд┐ рд╣рдореЗрдВ рдХреНрдпрд╛ рд░реБрдЪрд┐рдпрд╛рдВ рд╣реИрдВ - рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдЫрд╡рд┐ рдХрд╛ URLред
рдЕрдм рд╣рдореЗрдВ рдкрддрд╛ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВред рд╕рдВрдкрд╛рджрдХ рдореЗрдВ Apple рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдФрд░ рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝реЗрдВ:

рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ:
on run {input} set the clipboard to "<img src=\"" & input & "\" alt=\"image\"/>" display notification input with title "Habrastorage" subtitle " " end run
рдЪрд╛рд▓реВ {рдЗрдирдкреБрдЯ} - рдкрд┐рдЫрд▓реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдкрддреЗ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХреЛ "<img src = \" "рдФрд░ рдЗрдирдкреБрдЯ рдФрд░" \ "alt = \" рдЫрд╡рд┐ \ "/> рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ - рдЗрд╕реЗ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ, рдЙрд╕реА рд╕рдордп рдЗрд╕реЗ img рдЯреИрдЧ рдореЗрдВ рд▓рдкреЗрдЯрдХрд░
"рд╣рдмрд╕реНрдЯреНрд░реЗрдЬ" рд╢реАрд░реНрд╖рдХ "рдЗрдореЗрдЬ рдЕрдкрд▓реЛрдб" рд╢реАрд░реНрд╖рдХ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдЗрдирдкреБрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ рдФрд░ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдордЭреЗ рдХрд┐ рдЫрд╡рд┐ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рд╣реИ, рдФрд░ рдЗрд╕реЗ рдкрд╛рда рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдм рдХреБрдЫ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдЖрдк рдлрд╛рдЗрдВрдбрд░ рд╕реЗ рддреБрд░рдВрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрдЧрд╝реА рдлреНрд▓реИрд╢ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЫреВрдиреЗ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреИрдм рдХреЛ рдЦреЛрд▓реЗ рдмрд┐рдирд╛ред
рд╕рд╛рдордЧреНрд░реА:
рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП AppleScriptрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреБрдж
рдпрд╣рд╛рдВ рд░рд╣рддреА рд╣реИ ред
рдЗрд╕реЗ рдЕрдирдкреИрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлреЛрд▓реНрдбрд░ / рдпреВрдЬрд░реНрд╕ / рдпреВрдЬрд░ / рд▓рд╛рдЗрдмреНрд░реЗрд░реА / рд╕рд░реНрд╡рд┐рд╕реЗрдЬ / рдореЗрдВ рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдкрдиреА рд▓рд╛рдЗрди рдХреЛ рдЕрдВрджрд░ рдбрд╛рд▓рдирд╛ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреАрдПрд╕ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдк рдПрдХ Apple рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдбреЛрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрджрд░ рддрд░реНрдХ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╡рд╣рд╛рдВ рдХреЗ рдкрд╛рддреНрд░реЛрдВ рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛ рдЬрд╛рдПред
рдкреАрдкреАрдПрд╕ рд▓реЗрдЦ рдореЗрдВ, рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдЪрд┐рддреНрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВред