The Core

Why We Are Here => Hardware & Technology => Topic started by: bill on January 18, 2017, 02:01:55 AM

Title: Goodbye Feedly. Hello InoReader.
Post by: bill on January 18, 2017, 02:01:55 AM
When Google dropped Reader, and the developer of FeedDemon ended the project, I was a bit lost for a good RSS feed reader.  Like a lot of people I jumped on Feedly. I even got in early on the paid Pro version and snagged a lifetime subscription. I'm a heavy RSS user and wanted the most features possible.

Fast forward a few years, and Feedly development doesn't seem to be going anywhere. You can't even make a keyword feed or filter keywords out of a feed. The interface is nice, but they just don't let me fine tune my feeds.

Always looking for an alternative that's better, even if I do have a Pro Feedly account, I came across InoReader. This is a feed reader on steroids. The options menu alone had me hooked. They's got the basics down pat, and have an extensive set of rules and filters so that I can keep all of my thousands of feeds yet only have them show relevant information. Not sure why Feedly couldn't have done this from day 1. I'm finally enjoying curating my RSS feed collection again.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: Rooftop on January 18, 2017, 01:54:15 PM
Thanks for the reminder.  InoReader is on my "to check out" list, but I hadn't got around to it.  I've become frustrated with elements of feedly so have been meaning to find an alternative.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: ergophobe on January 18, 2017, 05:18:37 PM
Thanks Bill... since Feedly is the big player, does Ino have a means of importing Feedly meta data (i.e. tags you've added or items you've favorited)?

Feedly has a public API, so I would think Ino would use that....
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: bill on January 19, 2017, 01:42:50 AM
Quote from: ergophobe on January 18, 2017, 05:18:37 PM
Thanks Bill... since Feedly is the big player, does Ino have a means of importing Feedly meta data (i.e. tags you've added or items you've favorited)?

Feedly has a public API, so I would think Ino would use that....

I exported my Feedly OPML, imported it into InoReader, and was operational in minutes. I didn't use tags in Feedly or have a lot of favorites, but they're available in InoReader. What other sort of Feedly extras are you using?

There is a specific Feedly import
QuoteUse this functionality to import your subscriptions from Feedly.
You will need to obtain a developer access token from here. A link will be sent to your email registered with Feedly.
I assume that will pull in everything.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: ergophobe on January 19, 2017, 03:38:11 AM
Quote from: bill on January 19, 2017, 01:42:50 AM
What other sort of Feedly extras are you using?

Mostly just tags to categorize things. I'd probably be just as well of to simply lose that info to be honest, but was just curious
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: bill on January 19, 2017, 08:13:58 AM
I highly suggest you give it a try. I liked it so much I went for the Pro version. Even at the free tier I think they have some benefits over Feedly.

I think you'll like the feed health checking. I was able to cull a bunch of inactive feeds, and found a whole bunch that were failing for one reason or another. Feedly just doesn't show you that. I didn't realize how many old SEO feeds had died or hadn't been updated in years.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: ergophobe on January 19, 2017, 05:43:23 PM
No issues with long lags and loads as a heavy user?
http://forum.inoreader.com/index.php?/topic/6649-considering-switch-back-to-feedly-here-are-my-issues/

I'm also generally pissed that they don't post pricing. I did a Google search for pricing and "pro" and they both took me to pages that required a login to see pricing. That just infuriates me.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: bill on January 19, 2017, 10:56:33 PM
I really haven't noticed a speed difference.  They seem similar to me, but I'm coming from Japan.

I also like the somewhat old-school design of InoReader. Feedly has that new fangled sparse design which feels like a lot of wasted space when I check back.

I didn't notice the lack of pricing on the public facing pages, That's surfaced once you have a free account. (Starter: $14.99/yr, Plus: $29.99/yr, Pro: $49.99/yr) I agree that shouldn't be hidden.

The paid options really just surface more filters and rules, which is what Feedly lacks.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 20, 2017, 01:29:27 AM
Pretty nice. Just what I need, another addiction.

It needs a way to quickly build filters, maybe a context menu pop-up rule. EX: I'd have liked to kill "Uber" temporarily, as their $20M fine was making everybody's feed and clogging up the reader.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 20, 2017, 12:50:33 PM
>needs a way to quickly build filters

I'm adapting my TMonkey scripts to overlay inoreader.  Looks like it's going to work.

>pay

Screw that.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 20, 2017, 11:48:02 PM

// ==UserScript==
// @name     InoReader|HIDE Feed ITEMS by Keyword
// @match        https://www.inoreader.com/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
   introduced in GM 1.0.   It restores the sandbox.
*/
var keywords    = [
   'alleppo','berlin','brexit','Chapo','censorship','clinton','duterte','extradition','fillon','francis','march on','Women\'s March',
       '<===#_TEMP_#==',
       'abduct','abortion',' abus','accident','accuse','addict','afghan','africa','airstrik','alert','ambush',
       'Apple','arctic','argenti','arrest','assange','assault','Asus','asylum','athelet','attack','austral','austria','authori',
       'babies','baby','basebal','basketbal','battle','beating','beer','biebe','blackberr','blm ','blood','border','bomb',
       'boxing','breitbart','brazil','browns','brutal','burka',
       'canad','cancer','cannab','carbon','charged','christ','cleric','climate','coach','colomb','confront','convict','cowboys',
       'crash','cricke','crime','cruel',' cuba','custody',
       'day-care','daycare','day care','dead','death','decapi','derail','destr',' died',' dies ','drown','drunk','dutch','dying',
       'eagles','endangered','enforce','ethnic','evacuat','execute','execution','explode','explosi','extinct',
       'f1 ',' fans ','fantasy','fatal','footbal','formula one','funeral',
       'gaga ','gambia','game','gaming',' gay ','german','ghana','Google','greece','greek','guilt',' gun ','gunman',
       'haiti','heartbreak','heroin','hijab','homeless','homici','Huawei',
       'illegal','immigra','impeach','india','indict','indones','infan','injur','investi','iphone','iran','iraq','isis','islam','israel','italy','japan',
       'kardash','kany','kenya','kickbox','kidnap',' killed','killer','killing','kills','korea','kuwait',
       'lebanon','libya',' lions','lives matter','lockdown','lottery',
       'madagas','malays','malta','marij','marriage','marry',' mars','mayor','migrant','missle','mls ',
        'mongol','morocc','mosque','mosul','movie','mourn','murder','muslim','myanmar',
       'nascar','nba ','ncaa ','new zea','nfl ','nhl ','Nintendo','Obama','offend','offens','olymp','overdose','opec',
       'packers','pakistan','panthers','patriot','pepper','philipp','player','playoff','PlayStation','plead','poacher','pokemon','pope fra','powerball',
       'prison',' prix','prostitu','protest','punch',
       'racial','racis','raiders',' rams ',' rape ','refugee','rescu','rights','robbed','rosie ','russia',
       'saints','saudi','school bus','season','self.','sentence','severed','shoot',' shot ','singap','slaught','slaying','smuggle','socce','soldier',
       'stabbed','starv','stole','student lo','suicid','surviv','suspend','suspici','swat','swede','syria',
       'Taiwan','terror','thai','theft','thief','threat','toddle','trafficker','trailer',' troll','Trump','turkey',
       'uber ','ufc ','uganda','ukrain','unarmed','upset','venezu','veteran','victim','violen','violat',
       'weapon','white house','world cu','wreck','wwe ','Xbox','yemen','zika ','zimbab',

];
var keyW_Regex  = new RegExp (keywords.join('|'), "i"); //-- The "i" makes it case insensitive.

waitForKeyElements (
    ".article_tile_content_wraper", hideTarget
);

function hideTarget (jNode) {
   if (keyW_Regex.test (jNode.text () ) ) {
       jNode.parent ().hide ();
   }
}

Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 21, 2017, 12:50:29 AM
<added>

AdBlock script

https://greasyfork.org/en/scripts/7586-remove-inoreader-ads
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: bill on January 21, 2017, 04:53:12 AM
> pay

My company will pay for this for me as I use it for work. Otherwise I'd take advantage of that awesome GreaseMonkey script. I am adding those keywords to my filters now. Quite a few I didn't have.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 21, 2017, 01:52:24 PM
I modified the above adblock script to nuke the inline ads.

// ==UserScript==
// @name InoReader ADBLOCK
// @description Remove inoreader.com's advertisement in reading list, upgrade button, and inline ads.
// @author         Greasyfork script + RCJ mod for inline ads
// @include *.inoreader.com/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/

var keywords    = [
    'remove ads',
        '<===#_ADVERTISING-Related-Keywords-In-Article-FOOTER_#==',
];
var keyW_Regex  = new RegExp (keywords.join('|'), "i"); //-- The "i" makes it case insensitive.

waitForKeyElements (
  ".article_tile_footer", hideTarget //works for inline AD blocking
);

function hideTarget (jNode) {
    if (keyW_Regex.test (jNode.text () ) ) {
        jNode.parent ().hide ();
    }
}

tools_div = document.getElementById('sb_rp_tools');
if (tools_div) {
  tools_div.style.right = '90px';
}
notifications_div = document.getElementById('sb_rp_notifications');
if (notifications_div) {
  notifications_div.style.right = '50px';
}
gear_div = document.getElementById('sb_rp_gear');
if (gear_div) {
  gear_div.style.right = '10px';
}
upgrade_div = document.getElementById('sb_rp_upgrade');
if (upgrade_div) {
  document.getElementById('sb_rp_upgrade').style.display = 'none';
}
reader_pane_div = document.getElementById('reader_pane');
if (reader_pane_div) {
  reader_pane_div.addEventListener('DOMNodeInserted', function (e) {
    if (e.originalTarget.id && e.originalTarget.id.indexOf('leaderboard_ad-') != - 1) {
      e.originalTarget.parentNode.removeChild(e.originalTarget);
    } else if (e.originalTarget.classList && e.originalTarget.classList.contains('ad_title')) {
      e.originalTarget.parentNode.removeChild(e.originalTarget);
    } else if (e.originalTarget.classList && e.originalTarget.classList.contains('dashboard_gadgets')) {
      //find and remove ads div in dashboard page
      sub_divs = e.originalTarget.getElementsByTagName('div');
      for (i = 0; i < sub_divs.length; ++i) {
        if (sub_divs[i].classList && sub_divs[i].classList.contains('header_control')) {
          if (!sub_divs[i].innerHTML.trim()) {
            e.originalTarget.parentNode.removeChild(e.originalTarget);
          }
        }
      }
    }
  }, false);
}
content_div = document.getElementById('three_way_contents');
if (content_div) {
  content_div.addEventListener('DOMNodeInserted', function (e) {
    if (e.originalTarget.id && e.originalTarget.id.indexOf('taboola_ad-') != - 1) {
      e.originalTarget.parentNode.removeChild(e.originalTarget);
    }
  }, false);
  content_div.addEventListener('scroll', function () {
    if (content_div.scrollTop !== 0 && !document.getElementById('_gm_hacksign_topbar_content')) {
      var topbar = document.createElement('div');
      topbar.id = '_gm_hacksign_topbar_content';
      topbar.style.background = 'rgba(0, 0, 0, 0.3) none repeat scroll 0px 0px';
      topbar.style.position = 'fixed';
      topbar.style.textAlign = 'center';
      topbar.style.right = '20px';
      topbar.style.bottom = '10px';
      topbar.style.lineHeight = '30px';
      topbar.style.cursor = 'pointer';
      topbar.style.width = '40px';
      topbar.style.height = '40px';
      topbar.className='icon-arrow_up_big';
      topbar.onclick = function () {
        var y = content_div.scrollTop;
        var timer = setInterval(function () {
          y = y - y / 6;
          if (y < 50) {
            y = 0;
            content_div.scrollTo(0, y);
            clearInterval(timer);
          }
          content_div.scrollTo(0, y);
        }, '25');
      };
      content_div.appendChild(topbar);
    } else if (content_div.scrollTop === 0 && document.getElementById('_gm_hacksign_topbar_content')) {
      content_div.removeChild(document.getElementById('_gm_hacksign_topbar_content'));
    }
  });
  content_div.addEventListener('DOMNodeInserted', function (e) {
    if (e.originalTarget.id && e.originalTarget.id.indexOf('article_full_contents') != - 1) {
      e.originalTarget.addEventListener('DOMNodeInserted', function (f) {
        if (f.originalTarget.classList && f.originalTarget.classList.contains('ad_title')) {
          f.originalTarget.parentNode.removeChild(f.originalTarget);
        }
        if (f.originalTarget.attributes.length === 0 && f.originalTarget.childNodes.length !== 0) {
          for (i = 0; i < f.originalTarget.childNodes.length; ++i) {
            if (f.originalTarget.childNodes[i].id.indexOf('inner_ad-') != - 1) {
              f.originalTarget.childNodes[i].style.display = 'none';
            }
          }
        }
        if (f.originalTarget.classList && f.originalTarget.classList.contains('ad_footer_remove')) {
          f.originalTarget.parentNode.removeChild(f.originalTarget);
        }
        if (f.originalTarget.classList && f.originalTarget.classList.contains('sinner_under_footer')) {
          f.originalTarget.parentNode.removeChild(f.originalTarget);
          e.originalTarget.style.paddingBottom = '20px';
        }
      }, false);
    }
  }, false);
}


Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 21, 2017, 02:00:11 PM
<added>

>needs a way to quickly build filters, maybe a context menu pop-up

TM ext in G Chrome gives me this. You can easily open the dashboard from the browser and then KEEP the script open for realtime kw editing in a separate tab.

<added2>
Also TM ext provides an off/on slider for each filter it's applying to an url right in the extension icon. It's easy to turn off a filter if you want the full stream.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 21, 2017, 06:39:03 PM
This is a great feed engine, Bill, thanks for the headzup.

Now that I'm (mostly) through carving up the front-end to my liking, I need to spend more time in the settings.  I'm particularly interested in how to adjust the timing of the call to the feed --I don't much care for having others 'boost' my times. Might not be do-able in the free version without some acrobatics, though.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: bill on January 21, 2017, 11:47:37 PM
Impressive work there RC. You've even got me reconsidering my aversion to Google Chrome with all that, although I'm sure similar can be done in FF.

Did you ever try to work your filtering magic on Feedly?

The more I use InoReader and dig into the options, the more I wonder why I put up with Feedly's anemic feature set for so long. Even my old, no longer developed, FeedDemon out-performs Feedly.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 22, 2017, 02:39:21 AM
>FF

Scripts should work with GM on FF, AFAIK.

>Did you ever try to work your filtering magic on Feedly?

No, I quickly dismissed Feedly --but I was in my self-hosted mindset back then. I went straight from FeedDemon to writing my own feed engine on my servers.  It was FeedDemon that whetted my appetite for feeds, but it was tackling Craigslist with my custom reader that got me into extensive filtering (to do CL right, it requires layers of both positive and negative filters).

Title: Re: Goodbye Feedly. Hello InoReader.
Post by: ergophobe on January 22, 2017, 03:25:58 AM
Quote from: bill on January 21, 2017, 11:47:37 PM
reconsidering my aversion to Google Chrome

RC's scripts should work for you in FF

https://tampermonkey.net/
https://addons.mozilla.org/en-Us/firefox/addon/tampermonkey/

QuoteTampermonkey is a free browser extension and the most popular userscript manager. It's available for Chrome, Microsoft Edge, Safari, Opera Next, and Firefox.

So avert to your heart's content.

Tampermonkey is really (AFAIK), just an effort to bring Greasemonkey to Chrome. I think the scripts usually work fine in both places.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: bill on January 23, 2017, 07:35:55 AM
Thanks. I saw TM and just assumed it was a Chrome only GM thing.

As I already paid for InoReader I don't really need RC's scripts now, but I'm sure others will find them helpful. (However, that keyword filter might be easier to maintain.)
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 23, 2017, 01:15:48 PM
> keyword filter might be easier to maintain

The underlying reasons I didn't subscribe are [1] it's a subscription rather than a purchase, [2] I don't like dependencies, [3] I tend to evolve out of feed readers after I cannibalize the features I like, and [4] -for me- custom filtering *must* be one of the primary features of the system, front-and-center rather than buried 2 or 3 clicks down in settings.

>custom filtering

But, I've also found that creeping elegance is a problem with filtering, so the single array for negative kws -while unwieldy- is the best KISS.

>creeping elegance

I will probably add a filter for positive terms while I'm still familiar with the logic & code.  I see a small need.
EX: In tech news, I'd like to filter positively for Samsung Note 8 while nuking the rest of Samsung articles.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 23, 2017, 01:38:51 PM
<added>

I suspect my volume of reading is off-the-scale for most users.  I'm dealing more with scaling issues than basic functionality & UI.  But, in the case of Inoreader, its UI and functionality DO support my high-volume needs (and habits) very, very well. I'd conservatively estimate that I'm currently pulling in 2000-2500 articles/day (gross total, prior to filtering). Of the gross, probably 500-700 make it past the filters where headlines & teasers are skimmed by me. I estimate I only need to open 100-150 of these per day for deep reading. (As the gross volume increases, the subject matter is increasingly covered by the headlines and blurbs --it becomes an ad hoc Executive Summary reader.)
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 23, 2017, 02:02:08 PM
<added 2>

From another thread:
>pattern matching
> "I'm good with patterns."

Debbie whispered that the logic of the news reader filter could be modified without too much work to de-clutter the overwhelming number of Stations, Genres, and 3rd party services (Spotify, Pandora, etc) in the Alexa app for Amazon Prime Music. Poof! Gone.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 23, 2017, 06:11:27 PM
Jesus, what a fire hose!  Until I get this reigned in, feel free to picture me as so:
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 23, 2017, 08:41:37 PM
Now with positive filter overriding negative.  EXs included in kws below: positive "Note 8" showing up though "Samsung" is in the negatives.  "Tidal" overrides "Sprint."  Tested for a couple of hours, seems to work.


// ==UserScript==
// @name     InoReader|SHOW/HIDE ARTICLES by Keyword
// @match        *.inoreader.com/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/

// HIDE when containing these keywords
var HIDEkeywords    = [
    'Alleppo','Berlin','Brexit','Chapo','censorship','Clinton','Duterte','extradition','Elizabeth W','Fillon','Francis','Galaxy S','George H','Lavabit','Lineage',
    'march on','Women\'s March','Note ','Samsung','solidar','Sprint','Sundance',
        '<===#_TEMP_#==',
        'abduct','abortion',' abus','accident','accuse','actress','actor','addict','Afghan','Africa','airstrik','album','alert','ambush','Apple','Arctic','Argenti',
        'arrest','Assange','assault','Asus','asylum','athelet','attack','Austral','Austria','authori','avalanc',
        'babies','baby','Baltim','basebal','basketbal','battle','beating','beer','biebe','blackberr','BLM ','blood','border','bomb','bowl',
        'box off','boxing','Breitbart','Brazil','Browns','brutal','burka',
        'Canad','cancer','cannab','carbon','celebrit','charged','Chicag','Christ','Chromebo','cleric','climate','coach','Colomb',
        'confront','convict','cosplay','cowboys','crash','cricke','crime','cruel',' Cuba','custody',
        'day-care','daycare','day care','dead',' deal ','deals','death','decapi','derail','destr',' died',' dies ','drown','drunk','Dutch','dying',
        'Eagle','endangered','enforce','ethnic','evacuat','execute','execution','explod','explosi','extinct',
        'F1 ',' fans ','fantasy','fatal','footbal','formula one','friend','funeral',
        'Gaga ','Gambia','game','gaming',' gay ','German','Ghana','Google','Greece','Greek','guilt',' gun ','gunman',
        'Haiti','heartbreak','heroin','hijab','homeless','homici','hottest','HTC ','Huawei',
        'illegal','immigra','impeach','India','indict','Indones','infan','injur','investi','Iphone','Iran','Iraq','Isis','Islam','Israel','Italy',
        'Jay Z','Japan','Kardash','Kany','Kenya','kickbox','kidnap',' killed','killer','killing','kills','Korea','Kurd','Kuwait',
        'Lebanon','Libya',' Lions','Lives Matter','lockdown','lottery',
        'Madagas','Madonn','Malays','Malta','marches','marching','marij','marriage','marry',' mars','Maurit','mayor','migrant','missle','MLS ',
        'Mongol','Morocc','mosque','Mosul','Motorola','movie','mourn','murder','music','Muslim','Myanmar',
        'NASCAR','NBA ','NCAA ','New Zea','NFL ','NHL ','Nintendo','Nokia','Obama','offend','offens','Olymp','Oracle','overdose','OPEC','Oscar',
        'Packers','Pakistan','Panthers','Patriot','pepper','Philipp','player','playoff','PlayStation','plead','poacher','Pokemon','Pope Fra','POTUS','Powerball',
        'prison',' prix','prostitu','protest','punch',
        'racial','racis','Raiders',' rall',' Rams ',' rape ','refugee','rescu','rights','robbed','Rosie ','rumor','Russia',
        'Saints','Saudi','save $','school bus','season','self.','sentence','severed','shoot',' shot ','Singap','singer','slaught','slaying','smuggle','socce','soldier','Sony',
        'sport','stabbed',' star ','starv','stole','student lo','suicid','surviv','suspend','suspici','swat','Swede','Syria',
        'T-Mobile','Taiwan','tease','tennis','terror','Tesla','Thai','theft','thief','this week','threat','toddle','today!','trafficker','trailer','Trek',' troll','Trump','turkey',
        'Uber ','Ubisoft','UFC ','Uganda','Ukrain','unarmed','upset','Venezu','veteran','victim','violen','violat',
        'watch','weapon','weekend','White House','World Cu','wreck','WWE ','Xbox','Xiaomi','Xperia','Yemen','zika ','Zimbab',
];
var keyHIDE_Regex  = new RegExp (HIDEkeywords.join('|'), "i"); //-- The "i" makes it case insensitive.


// SHOW when containing these keywords (Use to override negative filter)
var SHOWkeywords    = [
'Note8','Note 8','Tidal',
];
var keySHOW_Regex  = new RegExp (SHOWkeywords.join('|'), "i"); //-- The "i" makes it case insensitive.


function showTarget (jNode) {
    if (keySHOW_Regex.test (jNode.text () ) ) {
        jNode.parent ().show ();
        } else {
    if (keyHIDE_Regex.test (jNode.text () ) ) {
        jNode.parent ().hide ();
        }        }
    }

function unfilteredTarget (jNode) {
    if (keySHOW_Regex.test (jNode.text () ) ) {
        jNode.parent ().show ();
        }
    }

// SHOW filtered articles ONLY in "All Articles" view. Viewing in individual feed folders does NOT apply filters.
/* ####### NOTE: MUST RELOAD PAGE in each view to break filtering cache (Ajax) ####### */
if ( document.location.href.indexOf('all_articles') > -1 ) {
        waitForKeyElements (
            ".article_tile_content_wraper", showTarget
);
}

Title: Re: Goodbye Feedly. Hello InoReader.
Post by: bill on January 24, 2017, 01:18:18 AM
I've been going nuts adding feeds, so picture me sitting next to RC... I think I may be overdoing it a bit.
InoReader accepts regular expressions for filters too, so that has opened another pandora's box.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on January 25, 2017, 12:12:16 PM
>accepts regular expressions for filters too, so that has opened another pandora's box.

Yeah, I've been scratching around in StackOverflow looking for how to load regex'd kws in the array but I know this would become a rat king.  Better to keep the array flat and readable.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on February 01, 2017, 01:29:47 PM
kw training going extremely well, Bill.  With TM scripts being so accessible, I'm able to toggle my huge (600+/-) morning aggregated feed and check for false-positive deletions. The aggregated feed is reasonable to manage now.

Some of Inoreader's core functionality & UI would be hard to give up if I migrated away. For instance, combining starred articles with list view gives me a great worksheet from which to post and/or email articles.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: bill on February 02, 2017, 05:31:16 AM
Quote from: rcjordan on February 01, 2017, 01:29:47 PM
kw training going extremely well, Bill.  With TM scripts being so accessible, I'm able to toggle my huge (600+/-) morning aggregated feed and check for false-positive deletions. The aggregated feed is reasonable to manage now.

How are you managing the false-positive checks with the TM scripts? Do you just toggle them on and off? Or do you toggle them to show what has been culled? I may need to look into TM scripts closer as the InoReader filter settings are not convenient to access and toggle, and false-positive checking is nearly impossible.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on February 02, 2017, 01:30:02 PM
I wrote the script to filter ONLY when on the 'show all unread' page, so I can go to the folders individually,  hit reload (because it's ajax), and that folder's content is shown UNfiltered.  But, I've found an much more simple process.

I open the 'All unread' with filter on in card view. As I scan each card I click it individually,  which marks it as read. When I've finished,  I turn off the filter with the switch in the handy TM extension drop-down, then reload the page. Voila,  now I'm viewing the articles caught in the filter.

Remember that this is "One Filter To Rule Them All" rather than flters for each feed. With the subscription,  you might be able to use a combination of my global filtering for the quick & easy kill and the paid filters for granularity.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: bill on February 03, 2017, 03:00:22 AM
I have some feed groups that will gather several thousand posts in a few hours. (General News) I'm wondering if this would work on a firehose like that. I wouldn't want to have to manually select each post though. That would be time consuming. Would a select-all/mark-as-read of the visible feeds work in a case like that? Or would I catch all of the 'filtered' articles as well?
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on February 03, 2017, 02:02:33 PM
It catches the filtered, too.

You only spend the time whenever you feel like spot-checking.  As I get comfortable with the flow, I move away from tending it.  As we've discussed before, to keep from becoming cloistered behind the filter wall I venture outside, too.  Because of that, I don't worry too much about perpetually missing an important piece of news.
Title: Re: Goodbye Feedly. Hello InoReader.
Post by: rcjordan on February 15, 2017, 12:27:29 PM
For my main reading machines (both are Win laptops) I've found that I like using the Inoreader UI as a reservoir for articles I want to read|reference later.  Many times, I find other articles while in 'full browser' reading mode outside of the rss feeds.  'Save as web page bookmarklet' does the job.

http://blog.inoreader.com/2015/02/save-web-pages-straight-to-inoreader.html