2014-01-17 13:59:38 -05:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< title > TwitRSS.me - rss of twitter user feeds by screenscraping with perl< / title >
< meta name = "viewport" content = "width=device-width,initial-scale=1.0" >
< link href = "//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" rel = "stylesheet" >
< link href = "css/twitrss.css" rel = "stylesheet" >
< / head >
< body >
2015-01-28 13:21:41 -05:00
< div id = "js-version" style = "width:10em;right:0;top:50%;padding:5px;background-color:#333;color:#ddd;position:fixed;display:none;text-align:right;z-index:9999" >
< p > < strong > Tip< / strong > : There is a < a href = "http://ox4.li/2cl" > Javascript version< / a > for building widgets.< / p >
< / div >
2014-01-17 13:59:38 -05:00
< nav class = "navbar navbar-default navbar-fixed-top" role = "navigation" >
< div class = "container" >
< div class = "navbar-header" >
2015-01-28 13:21:41 -05:00
2014-01-17 13:59:38 -05:00
< button type = "button" class = "navbar-toggle" data-toggle = "collapse" data-target = ".navbar-ex1-collapse" >
< span class = "icon-bar" > < / span >
< span class = "icon-bar" > < / span >
< span class = "icon-bar" > < / span >
< / button >
< a class = "navbar-brand nav-link" href = "#top" > TwitRSS.me< / a >
< / div > <!-- /.navbar - header -->
< div class = "collapse navbar-collapse navbar-ex1-collapse" >
< ul class = "nav navbar-nav navbar-right" >
2016-08-07 13:58:13 -04:00
< li > < a href = "#top" class = "nav-link" > Get Twitter RSS< / a > < / li >
2016-02-05 08:14:28 -05:00
< li > < a href = "#sponsors" class = "nav-link" > Sponsors< / a > < / li >
2014-01-17 13:59:38 -05:00
<!-- li><a href="#code" class="nav - link">Get Code</a></li -->
< li > < a href = "#about" class = "nav-link" > About< / a > < / li >
< / ul >
< / div > <!-- /.navbar - collapse -->
< / div > <!-- /.container -->
< / nav > <!-- /.navbar -->
2015-01-28 13:21:41 -05:00
2014-01-17 13:59:38 -05:00
< div id = "top" class = "jumbotron" >
< div class = "container" >
< h1 > TwitRSS.me< / h1 >
2016-08-08 12:16:08 -04:00
< h2 > Get your twitter user feed as RSS< / h2 >
2015-01-28 13:21:41 -05:00
< p >
< form action = "/twitter_user_to_rss/" method = "get" >
< label for = "screen_name" > Twitter User:< / label > < br / >
2017-06-21 15:52:18 -04:00
@< input name = "user" id = "screen_name" type = "text" class = "input" maxlength = "140" size = "20" value = "" placeholder = "ciderpunx" / > < br / > < br / >
< label for = "submit" class = "hid" > < / label >
2015-01-28 13:21:41 -05:00
< input id = "fetch" type = "submit" value = " Fetch RSS " class = "btn btn-primary btn-lg" / >
< / form >
< / p >
2016-08-08 12:16:08 -04:00
< h2 style = "padding-top:2em" > < span style = "font-weight:900;font-style:normal;font-size:1.8em" > OR< / span > < br / > < br / >
< em > Get a twitter "live" search as RSS< / em >
< / h2 >
2016-08-07 13:58:13 -04:00
< form action = "/twitter_search_to_rss/" method = "get" >
< label for = "search_term" > Twitter Search:< / label > < br / >
< input name = "term" id = "search_term" type = "text" class = "input" maxlength = "140" size = "20" value = "" placeholder = "Your search term" / > < br / >
< label class = "hid" for = "submit" > < / label > < br / >
< input id = "fetch" type = "submit" value = " Fetch Search RSS " class = "btn btn-primary btn-lg" / >
< / form >
< / p >
2014-01-17 13:59:38 -05:00
< / div > <!-- /.container -->
< / div > <!-- /.jumbotron -->
< div class = "container" >
2015-10-08 16:00:11 -04:00
< h3 id = "sponsors" class = "subhead" > Sponsors< / h3 >
2014-01-17 13:59:38 -05:00
< div class = "row" >
< div class = "col-md-8 col-sm-6 benefit" >
<!-- div class="benefit - ball">
< span class = "glyphicon glyphicon-home" > < / span >
< / div-- >
2015-10-08 16:00:11 -04:00
< h3 > TwitRSS.me is free. Thanks Bytemark!< / h3 >
< p > In September 2015, Bytemark generously offered to host TwitRSS.me for free on their < a href = "http://www.bigv.io/?utm_source=twitrssme" > Big V< / a > platform. That means that I have been able to drop the cache time, so that feeds update more often and provide a generally more reliable service. < / p >
< h3 > Traffic stats< / h3 >
< p >
<!-- #include virtual="/include/varnishstat" -->
< / p >
2014-01-17 13:59:38 -05:00
< / div > <!-- /.benefit -->
< div class = "col-md-4 col-sm-6 benefit" >
2015-10-08 16:00:11 -04:00
< a href = "http://www.bigv.io/?utm_source=twitrssme" >
< div style = "background-image:url(/img/bigv.svg);height:200px;width:320px;margin-top:2.2em" > < / div >
< / a >
2014-01-17 13:59:38 -05:00
< / div > <!-- /.benefit -->
< / div > <!-- /.row -->
< / div > <!-- /.container -->
< div class = "container-alternate" >
< div class = "container" >
< h3 id = "about" class = "subhead" > About TwitRSS.me< / h3 >
< div class = "row about" >
< div class = "col-md-10 col-md-offset-1 text-center" >
< p >
2015-01-28 13:21:41 -05:00
Way back in the mists of time twitter used to have RSS feeds. It was great and people used them. I even made a
< a href = "http://charlieharvey.org.uk/page/twitter_rss" > twitter RSS getter< / a > form for my website so you could locate your feed.
But in June 2013 they killed the RSS feeds. Fuckers.
< / p >
< p >
So, I < a href = "http://perlmonks.org/?node_id=1039382" > wrote a script< / a > that would fetch a twitter search as an RSS feed, which
was a thing I needed to do. Rather than use the api, I just screen scraped the open web for the data.
2014-01-17 13:59:38 -05:00
< / p >
< p >
2015-01-28 13:21:41 -05:00
I realized that the same idea would work for user timelines and so I built a script and modded my twitter
rss getter to use that instead. It proved popular (and killed my server a few times). So I put it on its own
2015-10-08 16:00:11 -04:00
domain name and wrote a frontend. This dear reader is that. And if you are still reading, maybe you should stop.
2014-01-17 13:59:38 -05:00
< / p >
< / div > <!-- /.col - md - 10 -->
< / div > <!-- /.row -->
< / div > <!-- /.container -->
< / div > <!-- /.container - alternate -->
< footer >
< div class = "container clearfix" >
< p class = "pull-left" >
2017-01-26 12:49:54 -05:00
Website content © < a href = "http://charlieharvey.org.uk" > Charlie Harvey< / a > 2014-2017. Use it under BY-NC-SA if you want. < a href = "https://github.com/ciderpunx/twitrssme" > TwitRSS.me code< / a > on GitHub (GPLv2 licence).
2014-01-17 13:59:38 -05:00
< / p >
< p class = "pull-right" > Template by < a href = "http://coverstrap.com" > Coverstrap< / a > . Mistakes are all my own.
< / p >
< / div > <!-- /.container -->
< / footer >
2015-01-28 13:21:41 -05:00
< script src = "//code.jquery.com/jquery-1.10.2.min.js" > < / script >
< script src = "//netdna.bootstrapcdn.com/bootstrap/3.0.2/js/bootstrap.min.js" > < / script >
< script >
$(".nav-link").click(function(e) {
e.preventDefault();
var link = $(this);
var href = link.attr("href");
$("html,body").animate({scrollTop: $(href).offset().top - 80}, 500);
link.closest(".navbar").find(".navbar-toggle:not(.collapsed)").click();
});
2015-06-29 12:06:36 -04:00
/* $(window).scroll(function() {
2015-01-28 13:21:41 -05:00
if ($(this).scrollTop() < 150 ) {
$("#js-version").slideUp();
}
else {
$("#js-version").slideDown();
}
});
2015-06-29 12:06:36 -04:00
*/
2015-01-28 13:21:41 -05:00
< / script >
< script type = "text/javascript" >
var _paq = _paq || [];
_paq.push(["setDocumentTitle", document.domain + "/" + document.title]);
_paq.push(["setCookieDomain", "*.twitrss.me"]);
_paq.push(["setDomains", ["*.twitrss.me","*.www.twitrss.me"]]);
_paq.push(["trackPageView"]);
_paq.push(["enableLinkTracking"]);
2014-01-17 13:59:38 -05:00
2015-01-28 13:21:41 -05:00
(function() {
var u=(("https:" == document.location.protocol) ? "https" : "http") + "://piwik.charlieharvey.org.uk/";
_paq.push(["setTrackerUrl", u+"piwik.php"]);
_paq.push(["setSiteId", "6"]);
var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
})();
< / script >
2014-01-17 13:59:38 -05:00
< / body >
< / html >