2013/05/24

Article mobilizer plugin for tt-rss

One feature that i've always missed in Gooogle Reader was ability to open mobilized version of article link right in feed list (As it is done in gReader and JustReader mobile clients). What was problem for Google Reader is not a problem to implement for Tiny Tiny RSS - open source alternative of Google's product. This is my plugin which makes possible to read mobilized version of full-article linked from RSS-feed.

For now you can choose from those mobilizing services for each feed separately:
  • Readability (default option)
  • Instapaper
  • Google Mobilizer
  • Stripped Original (original article without styles and images)
  • Original (full original article)

This can be configured right from tt-rss feed config popup:


Note about displaying "Original" article:
Article content is displayed inside iframe. But nested site can block displaying itself inside iframe by setting "X-Frame-Options: SAMEORIGIN" response header. Such is used at google.com, yandex.ru, habrahabr.ru and many more different sites. So "Original" display mode wouldn't work for them. Though all mobilizers and "Original Striped" will work ok, cause they are passing thru stripping backend.

Installation:
  • Download mobilize.zip plugin
    Or checkout the https://github.com/sepich/tt-rss-mobilize
  • Put /mobilize/ folder from archive to your /tt-rss/plugins/ folder
  • Open tt-rss -> Preferences -> Plugins and activate Mobilize plugin
  • To open mobilized article press "zoom" button at article toolbar, or use hotkey "V"

Thanks:
To macfly for his plugin 'auto_embed_original' which was great base for my plugin.

5 comments:

  1. This looks really interesting, but I was not able to get it working. When looking at the code it appears that you have written this to work with MySQL, but I'm using PostgreSQL. Is there any chance you might be able to recode to make it work the PostgreSQL as this is the recommended DB for TT-RSS?

    Thanks

    ReplyDelete
    Replies
    1. Ok, I'll look into this when get some free time

      Delete
  2. Hi, I had the same pb and resolved it by manually creating the tables:

    psql -d ttrss_db -U postgres

    then:
    CREATE TABLE "plugin_mobilize_feeds" ( "id" int NOT NULL, "owner_uid" int NOT NULL, "mobilizer_id" int NOT NULL, PRIMARY KEY ("id","owner_uid") ) ;
    ALTER TABLE "plugin_mobilize_feeds" OWNER TO "ttrss_user" ;

    CREATE TABLE "plugin_mobilize_mobilizers" ( "id" int NOT NULL, "description" varchar(255) NOT NULL, "url" varchar(1000) NOT NULL, PRIMARY KEY ("id") ) ;
    ALTER TABLE "plugin_mobilize_mobilizers" OWNER TO "ttrss_user" ;

    INSERT INTO "plugin_mobilize_mobilizers" ( "id", "description", "url") VALUES
    (0, 'Readability', 'http://www.readability.com/m?url=%s'),
    (1, 'Instapaper', 'http://www.instapaper.com/m?u=%s'),
    (2, 'Google Mobilizer', 'http://www.google.com/gwt/x?u=%s'),
    (3, 'Original Stripped', 'http://strip=%s'),
    (4, 'Original', '%s');

    And now, the plugin works for me.

    Thank you for your work!!

    ReplyDelete
  3. Too bad it's MySQL-only. Maybe put it on github and let the community do the work? :)

    ReplyDelete
    Replies
    1. Great idea!
      https://github.com/sepich/tt-rss-mobilize
      I've updated the article

      Delete