From: Andrew Dolgov Date: Wed, 31 Jul 2013 14:58:56 +0000 (+0400) Subject: add experimental plugin to shorten articles which are too damn long in expanded cdm X-Git-Tag: 1.10~51 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=2fdbff069f93a60db19f70d95a8f7c69d826bf53;p=tt-rss.git add experimental plugin to shorten articles which are too damn long in expanded cdm --- diff --git a/plugins/shorten_expanded/init.css b/plugins/shorten_expanded/init.css new file mode 100644 index 00000000..5e1bfa8f --- /dev/null +++ b/plugins/shorten_expanded/init.css @@ -0,0 +1,9 @@ +div.contentSizeWrapper { + overflow : hidden; + text-overflow: ellipsis; + height : 700px; +} + +button.expandPrompt { + margin-top : 20px; +} diff --git a/plugins/shorten_expanded/init.js b/plugins/shorten_expanded/init.js new file mode 100644 index 00000000..ba82b643 --- /dev/null +++ b/plugins/shorten_expanded/init.js @@ -0,0 +1,45 @@ +var _shorten_expanded_threshold = 900; //px, longer than css height so that we would only clip articles significantly longer than limit + +function expandSizeWrapper(id) { + try { + var row = $(id); + + console.log(row); + + if (row) { + var content = row.select(".contentSizeWrapper")[0]; + var link = row.select(".expandPrompt")[0]; + + if (content) content.removeClassName("contentSizeWrapper"); + if (link) Element.hide(link); + + } + } catch (e) { + exception_error("expandSizeWrapper", e); + } + + return false; + +} + +dojo.addOnLoad(function() { + PluginHost.register(PluginHost.HOOK_ARTICLE_RENDERED_CDM, function(row) { + if (getInitParam('cdm_expanded')) { + + window.setTimeout(function() { + if (row) { + if (row.offsetHeight >= _shorten_expanded_threshold) { + var content = row.select(".cdmContentInner")[0]; + + if (content) { + content.innerHTML = "
" + + content.innerHTML + "
"; + + } + } + } + }, 150); + } + }); +}); diff --git a/plugins/shorten_expanded/init.php b/plugins/shorten_expanded/init.php new file mode 100644 index 00000000..1d0c99ec --- /dev/null +++ b/plugins/shorten_expanded/init.php @@ -0,0 +1,29 @@ +host = $host; + + } + + function get_css() { + return file_get_contents(__DIR__ . "/init.css"); + } + + function get_js() { + return file_get_contents(__DIR__ . "/init.js"); + } + + function api_version() { + return 2; + } + +} +?>