X-Git-Url: https://vcs.fsf.org/?p=rainbowstream.git;a=blobdiff_plain;f=docs%2Findex.rst;h=d32f5102a241bc86e600a4c1d0190310fc914a30;hp=4f148544344fbb112a882271938674a80a46f9bb;hb=b89ece54202908028fcf174b190fda321db63394;hpb=8b2299e3baf283312bc417fcd6726cc5e41ab675 diff --git a/docs/index.rst b/docs/index.rst index 4f14854..d32f510 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,26 +10,62 @@ Rainbow Stream Terminal-based Twitter Client. Realtime tweetstream, compose, search , favorite … and much more fun directly from terminal. -This package is built on the top of `Python Twitter Tool`_ and `Twitter API`_. +This package is built on the top of `Python Twitter Tool`_ and `Twitter API`_, +can run on Python 2.7.x and 3.x . Install ------- -You will need Python 2.7+ and pip. +The quick way +^^^^^^^^^^^^^ + +You will need Python and pip (2.7.x or 3.x). .. code:: bash sudo pip install rainbowstream - -or try with a virtualenv + # Python 3 users: sudo pip3 install rainbowstream + +The recommended way +^^^^^^^^^^^^^^^^^^^ + +Use `virtualenv`_ .. code:: bash - sudo pip install virtualenv # skip if you already have virtualenv - virtualenv venv - source venv/bin/activate # use the brand new virtualenv. + virtualenv venv + # Python 3 users : use -p to specify your Python 3 localtion as below + # virtualenv -p /usr/bin/python3 venv + source venv/bin/activate pip install rainbowstream +Troubleshooting +^^^^^^^^^^^^^^^ + +If you use Linux, you might need to install some packages if you haven't already. +For debian-based distros, these can be installed with + +.. code:: bash + + sudo apt-get install python-dev libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev + +Besides, Mac OSX Maverick with Xcode 5.1 has a well-known `clang unknown argument`_ problem with +the ``Pillow`` package installation - a dependency of this app. +If you are in this case, I recommend taking a look at `Issue #10`_ and let me know if this workaround doesn't work for you. + +.. code:: bash + + export ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future + +If installation in *the quick way* doesn't work: + +- ``sudo pip uninstall rainbowstream`` +- use the *virtualenv way* above +- `create an issue`_ and provide: + + + Your OS + + Your Python version + Usage ----- @@ -40,7 +76,7 @@ Just type .. code:: bash - rainbow + rainbowstream and see your stream. @@ -49,7 +85,13 @@ You can try it with: .. code:: bash - rainbow -iot # Or rainbow --image-on-term + rainbowstream -iot # Or rainbowstream --image-on-term + +You also can change the config key ``IMAGE_ON_TERM`` to ``True`` inside the app +to enable above feature, +change ``IMAGE_SHIFT`` to set image's margin (relative to your terminal's width) +or ``IMAGE_MAX_HEIGHT`` to control max height of every image. +(see `config management`_ section). In the first time you will be asked for authorization of Rainbow Stream app at Twitter. Just click the “Authorize access” button and paste PIN @@ -85,8 +127,8 @@ Here is full list of supported command: - ``view @mdo`` will show @mdo ’s timeline. ``view @dmo 9`` will print exactly 9 tweets. -- ``s #noah`` will search the word *‘noah’*. Result will come back with - highlight. +- ``s noah`` will search the word *‘noah’*. Result will come back with + highlight. Search can be performed with or without hashtag. **Tweet Commands** @@ -96,6 +138,9 @@ Here is full list of supported command: - ``rt 12`` will retweet the tweet with *[id=12]*. You can see id of each tweet beside the time. +- ``quote 12`` will quote the tweet with *[id=12]*. If no extra text is added, + the quote will be cancelled. + - ``allrt 12 20`` will list 20 newest retweets of the tweet with *[id=12]*. If the number of retweets is not specified, 5 newest retweets will be listed instead. - ``rep 12 Really`` will reply *‘Really’* to the tweet with *[id=12]*. @@ -109,6 +154,9 @@ Here is full list of supported command: - ``show image 12`` will show the image in tweet with *[id=12]* in your OS’s image viewer. +- ``open 12`` will open url in tweet with *[id=12]* in your + OS’s default browser. + **Direct Messages Commands** - ``inbox`` will show inbox messages. ``inbox 7`` will show newest 7 @@ -144,6 +192,32 @@ Here is full list of supported command: - ``report @dtvd88`` will report @dtvd88 as a spam account. +**Twitter list** + +- ``list`` will show all lists you are belong to. + +- ``list home`` will show timeline of list. You will be asked for list's name. + +- ``list all_mem`` will show list's all members. + +- ``list all_sub`` will show list's all subscribers. + +- ``list add`` will add specific person to a list owned by you. + +- ``list rm`` will remove specific person from a list owned by you. + +- ``list sub`` will subscribe you to a specific list. + +- ``list unsub`` will unsubscribe you from a specific list. + +- ``list own`` will show all list owned by you. + +- ``list new`` will create a new list. + +- ``list update`` will update a list owned by you. + +- ``list del`` will delete a list owned by you. + **Switching Stream Commands** - ``switch public #AKB48`` will switch current stream to public stream @@ -170,16 +244,174 @@ Here is full list of supported command: + Even ``cal`` will show the calendar for current month. + Put ``order_rainbow('anything')`` or ``random_rainbow('wahahaha')`` will make more fun :) +**Config Management** + +- ``theme`` will list available themes. + + + ``theme monokai`` will apply *monokai* theme immediately. + + Changed theme will be remember as the next time's default theme. + +- ``config`` will list all config key. + + + ``config ASCII_ART`` will output current value of *ASCII_ART* config key. + + ``config TREND_MAX default`` will output default value of *TREND_MAX* config key. + + ``config CUSTOM_CONFIG drop`` will drop *CUSTOM_CONFIG* config key. + + ``config IMAGE_ON_TERM = true`` will set value of *IMAGE_ON_TERM* config key to *True*. + **Screening Commands** - ``h`` will show the help. +- ``p`` will pause the stream. + +- ``r`` will unpause the stream. + - ``c`` will clear the screen. - ``q`` will quit. +Theme customization +^^^^^^^^^^^^^^^^^^^ + +Rainbow Stream is shipped with some default themes. +You can either change theme by ``theme`` command or create your favorite one. + +Theme’s screenshot: + +- Monokai + +.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/themes/Monokai.png + :alt: monokai +- Solarized +.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/themes/Solarized.png + :alt: solarized +- Tomorrow Night + +.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/themes/TomorrowNight.png + :alt: tomorrownight + +- Larapaste + +.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/themes/larapaste.png + :alt: larapaste + +For detaile information, see `theme usage and customization`_. + +Config explanation +^^^^^^^^^^^^^^^^^^ + +Rainbow Stream has a config file located at ``~/.rainbow_config.json``. +You can view or set a new value of every config key by ``config`` command (See **Interactive mode** section above). + +- ``HEARTBEAT_TIMEOUT``: after this timeout (count by minutes), the stream will automatically hangup. + +- ``IMAGE_ON_TERM``: display tweet's image directly on terminal. + +- ``THEME``: current theme. + +- ``ASCII_ART``: diplay your twitter name by ascii art at stream begin or not. + +- ``HIDE_PROMPT``: hide prompt after receiving a tweet or not. + +- ``PREFIX``: display string of prompt. + +- ``SEARCH_MAX_RECORD``: max tweets can display on 'search' command. + +- ``HOME_TWEET_NUM``: default tweets to display on 'home' command. + +- ``RETWEETS_SHOW_NUM``: default tweets to display on 'allrt' command. + +- ``QUOTE_FORMAT``: format when quote a tweet + + + ``#comment``: Your own comment about the tweet + + ``#owner``: owner's username with '@' + + ``#tweet``: original tweet + +- ``MESSAGES_DISPLAY``: default messages to display on 'inbox' or 'sent' command. + +- ``TREND_MAX``: default trends to display on 'trend' command. + +- ``LIST_MAX``: default tweets to display on 'list home' command. + +- ``ONLY_LIST``: filter list on 'switch' command. + +- ``IGNORE_LIST``: ignore list on 'switch' command. + +- ``HISTORY_FILENAME``: name of file which stores input history. + +- ``IMAGE_SHIFT``: left and right margin of image in '-iot'/'--image-on-term' mode. + +- ``IMAGE_MAX_HEIGHT``: max height of image in '-iot'/'--image-on-term' mode. + +- ``USER_DOMAIN``: user URL of Twitter Streaming API. + +- ``PUBLIC_DOMAIN``: public URL of Twitter Streaming API. + +- ``SITE_DOMAIN``: site URL of Twitter Streaming API. + +- ``FORMAT``: display format for tweet and message. + + + ``CLOCK_FORMAT``: time format, see `Python's strftime format`_. + + ``DISPLAY``: decide how tweet will be printed. + + + ``#name``: Twitter's name + + ``#nick``: Twitter's screen name + + ``#clock``: Datetime + + ``#rt_count``: retweets count + + ``#fa_count``: favorites count + + ``#id``: ID + + ``#fav``: favorited symbol + + ``#fav``: favorited symbol + + ``#tweet``: Tweet's content + + ``#sender_name``: Message's sender name + + ``#sender_nick``: Message's sender screen name + + ``#to``: '>>>' symbol + + ``#recipient_name``: Message's recipient name + + ``#recipient_nick``: Message's recipient screen name + + +Development +----------- + +If you want to build a runnable version yourself, follow these simple +steps + +- `Create your own Twitter Application`_ +- Get your Twitter application’s API key and secret +- Fork github's repo and clone in your system. +- Create a file ``consumer.py`` in ```rainbowstream```_ folder with + following content + + .. code:: python + + # Consumer information + CONSUMER_KEY = 'APIKey' # Your Twitter application's API key + CONSUMER_SECRET = 'APISecret' # Your Twitter application's API secret + +- Use pip to install in local + + .. code:: bash + + # cd to directory which contains setup.py (cloned directory) + virtualenv venv # Python3 users: use -p to specify python3 + source venv/bin/activate + pip install -e . + which rainbowstream # /this-directory/venv/bin/rainbowstream + pip list | grep rainbowstream # rainbowstream (0.x.x, /this-directory) + # Remove ~/.rainbow_oauth if exists + rainbowstream # local version of rainbowstream + +.. _Create your own Twitter Application: https://apps.twitter.com/app/new +.. _``rainbowstream``: https://github.com/DTVD/rainbowstream/tree/master/rainbowstream .. _Python Twitter Tool: http://mike.verdone.ca/twitter/ .. _Twitter API: https://dev.twitter.com/docs/api/1.1 +.. _theme usage and customization: https://github.com/DTVD/rainbowstream/blob/master/theme.md +.. _virtualenv: http://docs.python-guide.org/en/latest/dev/virtualenvs/ +.. _config management: http://rainbowstream.readthedocs.org/en/latest/#config-explanation +.. _Python's strftime format: https://docs.python.org/2/library/time.html#time.strftime +.. _clang unknown argument: http://kaspermunck.github.io/2014/03/fixing-clang-error/ +.. _Issue #10: https://github.com/DTVD/rainbowstream/issues/10 +