Skip to content

Commit

Permalink
Fixed Piano detection and articles loading
Browse files Browse the repository at this point in the history
  • Loading branch information
viliampucik committed Nov 14, 2015
1 parent 3c1217f commit 1739b2f
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 35 deletions.
2 changes: 2 additions & 0 deletions firefox/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#Nepi Jano!
Read paid content on www.sme.sk
48 changes: 22 additions & 26 deletions firefox/data/nepijano.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
/**
* @fileOverview Nepi Jano Firefox extension
* @author Miroslav Magda, http://blog.ejci.net
* @version 0.10.0
* @author Viliam Pucik, http://viliampucik.blogspot.com/
* @version 0.11.0
*/

/**
Expand All @@ -27,7 +28,7 @@ utils.urlParam = function(name, url) {
};

/**
* Remove elemtns with selector from document
* Remove elements with selector from document
*/
utils.removeSelector = function(doc, selector) {
var elements = doc.querySelectorAll(selector);
Expand Down Expand Up @@ -75,47 +76,42 @@ utils.fixVideos = function(doc) {
* Get article id from url
*/
utils.articleId = function() {
var articleId = document.location.pathname.split('/')[2];
if (parseInt(articleId, 10) == articleId) {
return articleId;
} else {
return false;
}
return false;
return document.location.pathname.split('/')[2];
};

/**
* Get article id from url
* Detect Piano article
*/
utils.isPiano = function() {
var ret = false;
var selectors = [];
selectors.push('#article-box #itext_content .art-perex-piano');
selectors.push('#article-box #itext_content .art-nexttext-piano');
selectors.push('#article-box div[id^=pianoArticle]');
for (var i = 0, l = selectors.length; i < l; i++) {
ret = ret || (document.querySelectorAll(selectors[i]).length != 0);
}
return ret;
return document.querySelector('.sme_piano_art_promo');
};

if (/sme.sk\/c\//i.test(document.location)) {
if (/\.sme\.sk\/c\/\d+\/.*/.test(document.location)) {
if (utils.isPiano()) {
var articleId = utils.articleId();
self.port.emit('loadPage', 'http://s.sme.sk/export/ma/?c=' + articleId);
self.port.emit('loadPage', 'http://s.sme.sk/export/ma/?c=' + utils.articleId());
}
}

self.port.on("rewritePage", function(responseText) {
responseText = responseText.replace(/<script/g, '<!--script');
responseText = responseText.replace(/<\/script/g, '</script--');
var doc = document.querySelector('#article-box #itext_content');
doc.innerHTML = responseText;
doc.innerHTML = doc.querySelector('.articlewrap').innerHTML;

var doc;
/* articles */
if (doc = document.querySelector('#article-box #itext_content')) {
doc.innerHTML = responseText;
doc.innerHTML = doc.querySelector('.articlewrap').innerHTML;
doc = utils.removeSelector(doc, '.button-bar');
}
/* tech articles */
else if (doc = document.querySelector('article')) {
doc.innerHTML = responseText;
doc.innerHTML = doc.querySelector('article').innerHTML + doc.querySelector('.button-bar').innerHTML;
}

doc = utils.removeSelector(doc, 'script');
doc = utils.removeSelector(doc, 'link');
doc = utils.removeSelector(doc, 'style');
doc = utils.removeSelector(doc, '.button-bar');
doc = utils.fixAnchors(doc);
doc = utils.fixVideos(doc);
});
9 changes: 4 additions & 5 deletions firefox/lib/main.js → firefox/index.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
var data = require("sdk/self").data;
var articleMod = require("sdk/page-mod").PageMod;
var videoMod = require("sdk/page-mod").PageMod;
var pageMod = require("sdk/page-mod").PageMod;
var request = require("sdk/request").Request;

articleMod({
include : /.*.sme.sk\/c\/.*/,
contentScriptFile : [data.url("nepijano.js")],
pageMod({
include : /.*\.sme\.sk\/c\/\d+\/.*/,
contentScriptFile : data.url("nepijano.js"),
onAttach : function(worker) {
worker.port.on("loadPage", function(url) {
request({
Expand Down
15 changes: 11 additions & 4 deletions firefox/package.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
{
"name": "nepi-jano",
"title": "Nepi Jano!",
"id": "nepi-jano@viliampucik",
"name": "nepi-jano",
"version": "0.11.0",
"description": "Read paid content on www.sme.sk",
"main": "index.js",
"author": "Miroslav Magda, Viliam Pucik",
"homepage": "https://github.com/ejci/nepi-jano",
"license": "MPL 2.0",
"version": "0.10.0",
"engines": {
"firefox": ">=38.0a1",
"fennec": ">=38.0a1"
},
"license": "MPL-2.0",
"keywords": [
"jetpack"
],
"permissions": {
"cross-domain-content": ["http://s.sme.sk/"]
}
Expand Down

0 comments on commit 1739b2f

Please sign in to comment.