Skip to content

gtuckerkellogg/org-status

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

Summary

org-status provides a simple mechanism for you to tweet from anywhere you have `org-mode’ or can use org-capture. Currently, org-status only supports a single Twitter account. Your tweets can be written and stored in any org-mode file.

Configuration

  1. Download and install org-status.el somewhere in your load-path.
  2. Either download and install org-status’s dependency defhook or modify the defhook calls in the org-status.el so that it doesn’t call defhook.
  3. Download, install, and configure t, following the instructions at http://bit.ly/KGlf2s.
  4. In Emacs, customize the org-status group with the command M-x customize-group with the argument of org-status. You will likely need to change the org-status-twitter-command option to point to the installed path of t.
  5. Optionally, create an org-capture template in by modifying the variable org-capture-templates.
  6. If you are unfamiliar with org-capture, you should probably glance at its Capture documentation.

Authoring Your Tweets

Create one or more org-mode file that ends with -status.org. In the template above I use the file ~/Documents/my-status.org. A tweet is any `org-mode’ heading that has a tag of TWEET and the todo status of POST.

* POST                                               :TWEET: 
  This is the minimum for a tweet.

In addition to the prescribed minimum above, you can add more data to the tweet heading. I like to add a brief title as a summary in addition to the date.

* POST Brilliant Title [2012-06-03 Sun 15:26]        :TWEET: 
  This is a much richer tweet entry.

In general, you can add any additional information to the org-mode heading or to an org-mode drawer associated with the heading.

This is the template that I use by adding it to org-capture-templates:

("s" "Status" 
     entry (file+datetree "~/Documents/my-status.org") 
     "* POST %^{Title } %U :TWEET:\n%? %A\n" :prepend nil :empty-lines nil)

In addition to adding extra data in the headings, it stores tweets in an org-mode datetree. Very handy.

Tweeting

Once you’ve authored one or more tweets, you publish them by saving the file that contains them. Because tweeting involves talking to Twitter’s servers, saving the file can take several seconds for each tweet that must be published.

When everything works correctly, you will get a buffer that contains the output from t. It tells you that the tweet was successful and gives you some information specific to t. If there is a problem, you will receive an error message.

While I’m certain there are many more possible errors, the only ones that I’ve seen are:

  1. A tweet greater than 140 characters. If this happens, shorten your tweet.
  2. A network error if t can’t connect to the Twitter servers. If this happens, try again to see if it is just a short-term problem with Twitter. If not, fix your network problems.
  3. A duplicate tweet error message from t if t feels that you are duplicating a tweet. When this happens, the first thing you should do is confirm that your tweet is a duplicate. If it is not a duplicate, file a bug on t’s issue page. If it is a duplicate tweet, then you must manually change the POST todo status to the DONE todo status. You can simply edit the tweet’s heading or use org-todo, typically \C-c\C-t, to change the heading to done.

Support

I encourage you to file bugs, questions, or suggestions on org-status’s issue page. No promises, but I’ll do the best that I can.

Futures

Assuming I find the time and motivation, I would like to add more functionality to org-status. For the moment, the top of my list of new features are:

  • Add support for updating Facebook status.
  • Add support for updating Facebook Pages.
  • Add support for multiple Twitter accounts.

Please feel free to vote for your favorites or ask for other features using org-status’s issue page.

I would also appreciate pointers to any other CLIs for social websites. My guess is that once I’ve added a second service to org-status, adding additional services will be easy.

Warnings

Nested Tweets

org-mode encourages and facilitates deeply nested outlines. I think that’s great. But I would strongly recommend against making a tweet anything other than a leaf node. If you’re lucky, org-status or t will fail on the submit because your tweet is too long. The remaining possibilities seem likely to involve the rushed deletion of tweets. Never a pretty sight.

Twitterese, Not Org Mode

While org-status allows you to author, edit, post, and archive your tweets from within org-mode your tweet should be plain text and not contain any org-mode markup. org-mode’s automatic highlighting of URLs within your tweet is fine provided that they are just plain URLs.

This tweet will look weird on Twitter [http://bit.ly/Le5uBP].
And this one will look [[http://bit.ly/Le5Zvu][ever weirder]].
But this tweet will look great http://bit.ly/Le50M2

Multiple-Line Tweets

Being as I haven’t tested for tweets that have newlines in them, you should use them at your own risk. Auto-filling is fine but inserting newlines is not.

Miscellanea

While not required for tweeting, you may find Emacs’ bitly extension useful.

About

Generate tweets using org-mode in Emacs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published