Changeset 34816
- Timestamp:
- 08/08/09 03:48:13 (4 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/javascript/HatenaPresentation/hatena_presen.js
r34811 r34816 1 1 // Hatena Diary Presentation (c)2009 Nakatani Shuyo 2 2 // This script makes a presentation of Hatena Diary's page when load by Bookmarklet. 3 // Bookmarklet Sample: javascript:(function(){var e=document.createElement('script');e.type='text/javascript';e.src="http://sample.com/hatena_presen.js";document.body.appendChild(e);})();var HATEP_AUTHOR="YOUR NAME"; 3 4 // Bookmarklet Sample: 5 // javascript:var HATEP_AUTHOR="YOUR NAME";(function(){var e=document.createElement('script');e.type='text/javascript';e.src='http://sample.com/hatena_presen.js';document.body.appendChild(e);})(); 4 6 5 7 var HatenaPresentaion = function(){ … … 20 22 return e; 21 23 }, 22 setStyle: function(path, rule) {23 var element = document.createElement('style');24 element.appendChild(document.createTextNode(''));25 document.getElementsByTagName('head')[0].appendChild(element);26 var sheet = element.sheet;27 var pathes = path.split(',');28 for(var i=0;i<pathes.length;++i) {29 sheet.insertRule(pathes[i]+" {"+rule+"}", sheet.cssRules.length);30 }31 },32 getElementsByClass: function(tagname, classname, node) {33 var candidates = (node || document.getElementById('days')).getElementsByTagName(tagname);34 var list = [];35 for(var i=0;i<candidates.length;++i) {36 if (candidates[i].className == classname) list.push(candidates[i]);37 }38 return list;39 },40 24 init: function() { 41 25 var r=this; … … 48 32 r.setStyle("img.tex", "vertical-align:middle"); 49 33 r.setStyle("span.footnote a","font-size:70%;vertical-align:super"); 34 r.setStyle("p.sectionheader", "font-size:50%") 35 r.setStyle("p.sectionheader a", "font-color:#ccd") 50 36 37 r.setStyle("#presentation", "position:absolute;top:0;left:0;background-color:#eeeeee;width:100%;height:100%;"); 51 38 r.setStyle("div.htnp_page","position:absolute;margin:0;padding:0;border:1px solid black;left:0;top:0;width:100%;height:100%;background-color:#ffe"); 39 r.setStyle("div.htnp_body", "margin:0;border:0;padding:0.5ex;line-height:100%;float:left;"); 52 40 r.setStyle("div.htnp_footnote","border-top:1px dashed #ccb;padding:0.5ex 2ex;clear:left;font-size:80%;text-align:right;"); 53 41 … … 61 49 document.onkeydown = function(e){ r.onkeydown(e); }; 62 50 window.onresize = function(e){ r.adjustPage(r.container[r.current_page]); }; 63 //window.setTimeout(function(){ r.adjustContainer(); }, 1); 64 }, 51 }, 52 setStyle: function(path, rule) { 53 var element = document.createElement('style'); 54 element.appendChild(document.createTextNode('')); 55 document.getElementsByTagName('head')[0].appendChild(element); 56 var sheet = element.sheet; 57 var pathes = path.split(','); 58 for(var i=0;i<pathes.length;++i) { 59 sheet.insertRule(pathes[i]+" {"+rule+"}", sheet.cssRules.length); 60 } 61 }, 62 getElementsByClass: function(tagname, classname, node) { 63 var candidates = (node || document.getElementById('days')).getElementsByTagName(tagname); 64 var list = []; 65 for(var i=0;i<candidates.length;++i) { 66 if (candidates[i].className == classname) list.push(candidates[i]); 67 } 68 return list; 69 }, 65 70 displayContainer: function(container) { 66 71 var display = document.createElement('div'); 67 72 display.id = 'presentation'; 68 var s=display.style;69 s.position = 'absolute';70 s.top = 0;71 s.left = 0;72 s.background = '#eeeeee';73 s.width = "100%";74 s.height = "100%";75 76 73 for(var i=container.length-1;i>=0;--i) display.appendChild(container[i]); 77 74 document.body.appendChild(display); … … 123 120 appendPage: function(body) { 124 121 if (body.childNodes.length<=0) return; 125 var s=body.style; 126 s.margin = 0; 127 s.border = 0; 128 s.padding = '0.5ex'; 129 s.lineHeight = '100%'; 130 s.cssFloat = 'left'; 122 body.className = 'htnp_body'; 131 123 132 124 var page = document.createElement('div');
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)