This library is no longer being maintained.
macOS Sharing Services... as a Service
Mac OS X 10.8 Mountain Lion introduced built-in sharing as a system-level feature
with programmatic access provided via the
NSSharingService
APIs.
terminal-share
extends access to these APIs
by proxying through a simple command-line application.
Install terminal-share
by running the following command from Terminal:
$ gem install terminal-share
This will also install the terminal-share
executable.
require 'terminal-share'
TerminalShare.share(:twitter, text: "This was shared from the command-line, courtesy of terminal-share, by @mattt", url: "https://github.com/mattt/terminal-share")
$ terminal-share -service NAME \
[-text text] \
[-image /path/to/image] \
[-video /path/to/video] \
[-url "http://example.com"]
service
: (Required) A short string corresponding to the name of a particularNSSharingService
to be used. Available values:twitter
-NSSharingServiceNamePostOnTwitter
sinaweibo
-NSSharingServiceNamePostOnSinaWeibo
email
-NSSharingServiceNameComposeEmail
message
-NSSharingServiceNameComposeMessage
airdrop
-NSSharingServiceNameSendViaAirDrop
readinglist
-NSSharingServiceNameAddToSafariReadingList
iphoto
-NSSharingServiceNameAddToIPhoto
aperture
-NSSharingServiceNameAddToAperture
facebook
-NSSharingServiceNamePostOnFacebook
flickr
-NSSharingServiceNamePostImageOnFlickr
vimeo
-NSSharingServiceNamePostVideoOnVimeo
youku
-NSSharingServiceNamePostVideoOnYouku
tudou
-NSSharingServiceNamePostVideoOnTudou
text
: (optional) Text to be shared.image
: (optional) File path to an image to be shared.video
: (optional) File path to a video to be shared.url
: (optional) URL to be shared.
Not all services support sharing of all types of content. See the NSSharingService Documentation for additional guidelines.
$ terminal-share -service twitter \
-text "This was shared from the command-line, \
courtesy of terminal-share, by @mattt" \
-url "https://github.com/mattt/terminal-share"
Mattt (@mattt)
Thanks to Eloy Durán for his work on
terminal-notifier
,
which provides a great example of how to use the Script Bridge APIs.
terminal-share is available under the MIT license. See the LICENSE file for more info.