vietnamese Tiếng Việt english English
Hôm nay:

Hoạt hình Mr Bean

06:15 |
Read more…

Hoạt hình hãy đợi đấy

05:45 |
Read more…

FDNav - Phân trang cho blogspot

22:00 |
Trước kia mình đã từng giới thiệu thủ thuật phân trang cho blogspot, nhưng chỉ là phạm vi ở trang chủ, do đó 1 tiện ích này còn được ít người sử dụng. Hôm nay mình sẽ nâng cấp thủ thuật này lên cho toàn bộ blog.


* Một số tính năng mới :
- Hiển thị phân trang cho toàn bộ blog (trừ trang Archive).
- Hiển thị trang báo lỗi 404 khi trang tìm kiếm không tồn tại.
- Hiện thị 2 dạng list và dạng thumbnail.
* Nhược điểm :
- Không hiện thị được với trang Archive. Vì thế ai dùng thủ thuật này sẽ phải chấp nhận đóng các trang Archive lại.
- Thanh Navigation hiện thị trên đầu khi truy cập blog từ IE6 và Opera.

- Bên dưới là hình minh họa trang báo lỗi (ví dụ 1 nhãn chỉ có 50 trang, mà bạn tự truy cập vào trang có giá trị page là 51 thì tiện ích sẽ báo lỗi)

Để thực hiện thủ thuật này, các bạn vào bài viết "Phân trang cho trang chủ" để tham khảo cách thực hiện.

Cách thực hiện tương tự như bài trước, vào chỉ việc thay thế các code ở các bước như bên dưới:
- Sửa lại code ở bước 1 như bên dưới :
...
...
<style type='text/css'>
<b:if cond='data:blog.url != "item"'>
#Blog1 {display:none;}
</b:if>
</style>
- tiếp theo là ẩn nội dung bài viết : tìm đọan code như bên dưới :
<div class='post-header-line-1'/>
<div class='post-body entry-content'>
...
xuống bên dưới vài dòng ta sẽ thấy đọan code như bên dưới
...
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->

</div>
- phần code này chính là nội dung của mỗi bài viết.
- và chèn thêm code như bên dưới :
<div class='post-header-line-1'/>
<div class='post-body entry-content'>
<b:if cond='data:blog.url == "item"'>
...
xuống bên dưới vài dòng ta sẽ thấy đọan code như bên dưới
...
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->
</b:if>

</div>

- Thay thế code ở bước 2 thành code như bên dưới :
<style type="text/css">
.clear {clear: both;}
.home-navi {width:500px;color:#000}
.home-navi h2 {border-bottom:1px solid #f70;padding-bottom:3px;margin-bottom:5px;}
.home-navi h2 a {text-decoration:none;color:#c65b00;}
.home-navi h2 a:hover {color:#eb8e41;}
.home-navi p {color:#000;}
.home-navi p span {color:#000}
.cat_tags {background:#FFF url(http://data.fandung.com/img/fd_category1.png) no-repeat;width:500px;}
.cat_tags_close {background:#FFF url(http://data.fandung.com/img/fd_category1.png) 0 -81px no-repeat;width:500px;}
.cat_tags{margin-top:10px;padding:8px 0 5px 10px;}
.cat_tags_close{max-height:3px;height:3px;margin-bottom:20px;}

.cat_tags .continue{float:right;padding-right:10px;width:90px;text-align:center;}
.cat_tags .category{float:left;color:#f70;width:360px;}
.cat_tags .category a {color:#}
.cat_tags a {color:#999;}
.cat_tags .continue a {color:#fff;text-decoration:none;}
.cat_tags .continue a:hover {text-decoration:underline;font-weight:bold;}

#page-rc-tooltip {font-weight:bold; padding-top:15px;margin-bottom:15px;text-align:center;}
#page-rc-tooltip a {text-decoration:none; border:1px solid #fcb353; padding:2px 5px;background:#fae9c8;}
#page-rc-tooltip a:hover {color:#f00;background:#fcc697;}
#page-rc-tooltip span {border:1px solid #ccc; padding:2px 5px;background:#fff;}
#page-rc-tooltip span.currentpage {background:#fcaa62;}

a.label-link {color:#555;text-decoration:none;}
a.label-link:hover {color:#000;text-decoration:underline;}

td.listtitle {padding-left:5px;width:405px;}
td.listtitle span {color:#888;font-size:85%;}
td.listtitle span a{color:#e70!important;}
td.listtitle span i{color:#000!important;}
td.listinfo {width:90px;text-align:right;font-size:85%;color:#888;}
td.listinfo span {color:#000;font-style:italic;}

</style>
<div style="margin-bottom:10px;padding:5px;font-weight:bold;border:1px solid #fcb353;-khtml-border-radius: 5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;background:#fae9c8;">
Dạng xem (<a href="?v=full">Full</a> | <a href="?v=list">List</a>)<img src="http://www.nepalguidetreks.com/images/new_animated.gif" /> - <i style="color:#f00;">Đang thử nghiệm</i></div>

<script type='text/javascript'>
//<![CDATA[
//page, view value

String.prototype.GetValue= function(para) {
var reg = new RegExp("(^|&)"+ para +"=([^&]*)(&|$)");
var r = this.substr(this.indexOf("\?")+1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
var str = location.href;
var page = str.GetValue("page");
var view = str.GetValue("v"); //lấy giá trị dạng xem
var homepageurl = "http://www.fandung.com/";
var urllength = homepageurl.length;
if (page==undefined) { page = "1"; }
if (view==undefined) { view = "full"; } //mặc định giá trị view là full

if (str.indexOf("search/label")!=-1) {
if (str.indexOf("?")!=-1){
var str1 = str.split("?")[0];
var label = str1.substring(urllength+13,str1.length);
}
else {
var label = str.substring(urllength+13,str.length);
}
var textlabel = "/-/"+label;
var textpage = "search/label/"+label;
}
else {var textlabel ="";var textpage = ""; }


// remove tags
function stripHtmlTags(s,max){
s=s.replace(/<br.*?>/ig, ' ');
return s.replace(/<.*?>/ig, '').split(/\s+/).slice(0,max-1).join(' ')
}

//get RSS FEED
function showrecentposts(json) {
img = new Array();
for (var i = 0; i < numposts; i++) {
var entry = json.feed.entry[i];
var posttitle = entry.title.$t;
var pcm ;
var posturl;
if (i == json.feed.entry.length) break;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
posturl = entry.link[k].href;
break;
}
}

for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'replies' && entry.link[k].type == 'text/html') {
pcm = entry.link[k].title.split(" ")[0];
break;
}
}
var plabel = new Array();
var cate = entry.category;
if(cate) {
for (var k = 0; k < entry.category.length; k++) {
plabel[k] = ' <a class="label-link" href="http://www.fandung.com/search/label/'+entry.category[k].term+'">'+entry.category[k].term+'</a> ';
}
}
else {plabel = "No label";}

var authpost = entry.author[0].name.$t;

var postdate = entry.published.$t;
var month = [1,2,3,4,5,6,7,8,9,10,11,12];
var month2 = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];

var day = postdate.split("-")[2].substring(0,2);
var m = postdate.split("-")[1];
var y = postdate.split("-")[0];
postDay = day+ "/" + m + "/" + y ;

if ("content" in entry) {
var postcontent = entry.content.$t;}
else
if ("summary" in entry) {
var postcontent = entry.summary.$t;}
else postcontent = "";

s = postcontent; a = s.indexOf("<img"); b = s.indexOf("src=\"",a); c = s.indexOf("\"",b+5); d = s.substr(b+5,c-b-5);

if((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!="")) {img[i] = d;} else {img[i]="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOvwhzdTejYUsMyMWpK1V1yr-3-mvB7w42mZ007rYjoRdqjy57awfJmjgXwiB6F9xt8gvzgRy1GS8UR9OzViTuZJr4oI1ovBM0TlSR415ejBhdPz3AH7B83r5OWWG-sQVMgbQZ4FNSFjw/s400/noimage.png";}

if (pcm==0) {var comment = " Chưa có nhận xét";}
//else if (pcm==1) {var comment = " "+ pcm + " Comment ";}
else {var comment = '<font style="color:#f80;">'+ pcm +'</font> Nhận xét';}

var td1 = '<div class="home-navi"><h2><a href="'+posturl+'">'+posttitle+'</a></h2><p style="font-size:85%;color:#888;"><span>by</span> '+authpost+' | <span>on</span> '+postDay+' | '+comment+'</p><p style="padding:10px 0px;"><img style="width:120px;padding:2px;border:1px solid #ccc;margin-right:5px;margin-bottom:5px;float:left;" src="'+img[i]+'" />'+stripHtmlTags(postcontent,90)+' ...</p> <div class="cat_tags clear"><span class="category">Nhãn : '+plabel+'</span><span class="continue"><a href="'+posturl+'">Xem thêm...</a></span><div class="clear"></div></div><div class="cat_tags_close"></div></div>';

var td2 = '<div style="border-bottom:1px dashed #f80;"><table><tr><td valign="top" class="listinfo">'+comment+'<br/><span>by</span> '+authpost+'<br/><span>on</span> '+postDay+'</td><td valign="top" class="listtitle"><a href="'+posturl+'"><b>'+posttitle+'</b></a><br/><span><i>Tags</i> : '+plabel+'</span></td></tr></table></div>';

if (view=="full") {document.write(td1);}
else {document.write(td2);}
}
}

// get total number of posts
function numberOfPosts(json) {
document.write('<script style=\"text/javascript\">var totalPosts= '+json.feed.openSearch$totalResults.$t+' ;<\/script>');
}
document.write('<script src=\"http://www.fandung.com/feeds/posts/default'+textlabel+'?alt=json-in-script&callback=numberOfPosts\"><\/script>');

//]]>
</script>

<script type='text/javascript'>

if (str.indexOf("archive.html")!=-1) {
document.write("<div style=\"text-align:center;padding:10px;background-color:#fae9c8;border:1px #fcb353 solid;\"><img src=\"http://data.fandung.com/img/404page-bg.png\" \/><br><br>Trang mà bạn đang tìm không tồn tại trên blog.<br> Click <a href=\"http://www.fandung.com\">vào đây<\/a> để trở về trang chủ.<\/div>"); }

else {
var rcpage = new Array();
if (view=="full") {
var numposts = 5; // số bài viết hiển thị trên 1 trang dạng thumbnail
}
else {var numposts = 20;} // số bài viết hiển thị trên 1 trang dạng list

var numpage=totalPosts/numposts;
var lastnum = totalPosts%numposts;
if (lastnum==0) {numpage=numpage+1;}

for (var m=1;m<numpage;m++) {
var start=numposts*(m-1)+1;
rcpage[m] ="<script src=\"http://www.fandung.com/feeds/posts/default"+textlabel+"?start-index="+start+"&max-results="+numposts+"&orderby=published&alt=json-in-script&callback=showrecentposts\"><\/script>";
}
if ((page>numpage)&&(page<numpage+1)&&(lastnum>0)) {
var numposts=lastnum;
start = totalPosts-lastnum+1;
document.write("<script src=\"http://www.fandung.com/feeds/posts/default"+textlabel+"?start-index="+start+"&max-results="+numposts+"&orderby=published&alt=json-in-script&callback=showrecentposts\"><\/script>");
}
else if ((page>numpage)||((page>numpage-1)&&(lastnum==0))){document.write("<div style=\"text-align:center;padding:20px 10px;background-color:#fae9c8;border:1px #fcb353 solid;\"><img src=\"http://data.fandung.com/img/404page-bg.png\" \/><br><br>Trang mà bạn đang tìm không tồn tại trên blog.<br>Click <a href=\"http://www.fandung.com\">vào đây<\/a> để trở về trang chủ.<\/div>"); }
else {document.write(rcpage[page]); }

// Create page navigation

if (lastnum==0) {var pagelist=totalPosts/numposts;} else {var pagelist=numpage+1;}
var pagelist1 = parseInt(pagelist);

var npage = parseFloat(page);

if (page<=parseInt(pagelist)) {

if ((pagelist>=2)&&(pagelist1<6)) {

document.write("<div id=\"page-rc-tooltip\">Page ("+page+"/"+parseInt(pagelist)+") : ");
for (var n=1;n<pagelist1+1;n++) {
if (n==npage) {var navpage=" <span class=\"currentpage\" >"+n+"<\/span>";} else {var navpage=" <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page="+n+"\">"+n+"<\/a>";}
document.write(navpage);
}
document.write("<\/div>");
}

if ((pagelist>=6)&&(page<4)) {
document.write("<div id=\"page-rc-tooltip\">Page ("+page+"/"+parseInt(pagelist)+") : ");
for (var n=1;n<6;n++) {
if (n==npage) {var navpage=" <span class=\"currentpage\" >"+n+"<\/span>";} else {var navpage=" <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page="+n+"\">"+n+"<\/a>";}
document.write(navpage);
}
if (parseInt(pagelist)>5) { document.write(" ... <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page="+parseInt(pagelist)+"\">Last<\/a><\/div>"); } else {document.write("<\/div>");}
}

else if ((pagelist>=6)&&(page>3)&&(page<parseInt(pagelist)-2)) {
var first = page-2;
var last = first+5;
document.write("<div id=\"page-rc-tooltip\">Page ("+page+"/"+parseInt(pagelist)+") : <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page=1\">First<\/a> ...");
for (var n=first;n<last;n++) {
if (n==npage) {var navpage=" <span class=\"currentpage\" >"+n+"<\/span>";} else {var navpage=" <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page="+n+"\">"+n+"<\/a>";}
document.write(navpage);
}
document.write(" ... <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page="+parseInt(pagelist)+"\">Last<\/a><\/div>");
}

else if ((pagelist>=6)&&(page>3)&&(page>parseInt(pagelist)-3)) {
var first = parseInt(pagelist)-4;
var last = parseInt(pagelist)+1;
document.write("<div id=\"page-rc-tooltip\">Page ("+page+"/"+parseInt(pagelist)+") : <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page=1\">First<\/a> ...");
for (var n=first;n<last;n++) {
if (n==npage) {var navpage=" <span class=\"currentpage\" >"+n+"<\/span>";} else {var navpage=" <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page="+n+"\">"+n+"<\/a>";}
document.write(navpage);
}
document.write("<\/div>");
}
}
} //kết thúc lệnh không cho phép hiện thị tiện ích trên trang archive
</script>
- Các giá trị numposts=5; numposts=20; lần lượt là số bài viết hiển thị trên 1 trang dạng thumbnail và dạng list.
- Thay www.fandung.com thành tên blog của bạn.
- Chú ý : code ở bước 2 là code mình chia sẻ, vì thế muốn cho tiện ích phù hợp với blog của các bạn thì các bạn nên tùy chỉnh lại code CSS. Thứ 2 nữa là giao diện hiển thị, các bạn có thể tùy chỉnh giao diện hiển thị bằng cách thay đổi code của biến td1td2 (với td1 là giao diện của dạng thumbnail, td2 là giao diện của dạng list.)

- Đến bước thứ 3: ta có đoạn code như thế này :
<b:if cond='data:blog.pageType == data:blog.homepageUrl'>
...
...
...
</b:if>
- thay thế nó bằng code như bên dưới:
<b:if cond='data:blog.pageType != "item"'>
...
...
...
</b:if>
- ở bài trước, tiện ích chỉ cho phép hiển thị ở trang chủ, bài này ta mở rộng cho nó hiển thị ở tất cả các trang trừ trang bài viết.

Như vậy mình đã giới thiệu xong. Chúc các bạn thành công.
Read more…

Quan niệm may rủi trong cuộc sống

19:41 |
"May - rủi" là hai từ ngữ được người ta sử dụng để áp đặt cho số phận và định mệnh mà họ cho rằng nó luôn chi phối vào cuộc sống của con người. May là tốt, rủi là xấu, nếu gặp may thì người ta vui mừng, gặp rủi thì người ta buồn khổ. Nhưng đời người ai tránh được thời rủi vận may đâu. Có khi chỉ trong một ngày may rủi đến nhiều như lá mùa thu rụng vàng trên mặt đất.


Cổ nhân cũng có câu: "Phước bất trùng lai, họa vô đơn chí" để nói cái lẽ tự nhiên trong cuộc sống được xem như một sự thật hẳn nhiên, một định luật bất di bất dịch của cuộc sống. Cái phước không đến hai lần, còn họa thì không bao giờ đi một mình mà nó ồ ập kéo đến và vây phủ lấy chúng ta khiến đôi lúc chúng ta không kịp hớp một hơi không khí để mà thở nữa.

May rủi cũng là hai tên gọi cho hai điều được và mất, hên và xui mà chúng ta vẫn thường hay sử dụng trong cuộc sống thường ngày hay nói theo tín ngưỡng dân gian còn gọi là họa và phúc. Con người thường có xu hướng cầu phúc lánh họa, cầu lành tránh dữ, đón may xua rủi... Nhưng đa số chúng ta toàn gây ra những điều tai họa nhiều hơn là tạo phúc và gây ra tội lỗi nhiều hơn là làm việc lành. Ấy vậy mà chúng ta luôn thiết tha cầu mong điều tốt đẹp đến cho mình trong cuộc sống. Không biết khi chúng ta gieo một hạt ớt xuống đất chúng ta nghĩ nó sẽ mọc lên cây sầu riêng chắc? Ở hiền thì gặp lành, ở ác thì gặp dữ, ông bà ta đã dạy thế rồi mà!

Vậy chúng ta còn cầu mong điều lành để làm gì trong khi chúng ta toàn làm những việc không đúng, không tốt nhỉ? Điều quan trọng chúng ta cần phải hiểu là muốn ăn trái ngọt, hưởng được hoa thơm thì phải gieo giống lành kia mà! Cầu xin thì có ích gì khi mà người khác luôn cầu xin mình đừng tổn hại họ, hãy ban phát và yêu thương họ những chúng ta nào có làm được điều đó cho ai đâu. Vậy tại sao điều chúng ta không hề làm cho mọi người mà chúng ta lại cầu nguyện ân trên làm cho chúng ta và cầu mong cuộc sống sẽ mang đến cho chúng ta nhỉ?

Người ta thường nói "Trong cái rủi luôn có cái may" và ngược lại "Trong cái may luôn có cái rủi". Sự may rủi chỉ là những khái niệm trừu tượng mang tính buông xuôi và bằng lòng với số phận của chính mình. Cái rủi là những điều không tốt, không đẹp mà thế gian không ai muốn có nhưng nó vẫn luôn luôn tìm đến và chi phối đời sống của con người. Còn cái may chính là những điều mà người ta luôn mong muốn, ham thích và tìm cầu. Vì nó mang lại cho con người niềm vui và hạnh phúc trong cuộc sống.

Con người thường có xu hướng tìm đến với những tặng phẩm quý giá trong cuộc sống, tặng phẩm tâm linh và tặng phẩm vật chất. Một tâm hồn thoải mái, nhẹ nhàng, một đời sống bình dị an vui mà không bị bất cứ ai hay thứ gì quấy rối và phiền nhiễu đó là tặng phẩm tâm linh. Còn tặng phẩm vật chất chính là sự đầy đủ, sung túc và thoải mái trong nhu cầu hưởng thụ vật chất và một đời sống giàu sang phú quý, đầy đủ danh vọng và địa vị trong xã hội. Người ta thích được nổi bật, thích được tỏa sáng trước mọi người dù có phải dấn thân vào hay đè bẹp hoặc bất chấp tất cả để có được điều họ mong muốn.

Nếu được toại nguyện thì người ta cho là may và ngược lại thì họ cho là rủi. May rủi chỉ là cách nhìn nhận đơn giản trong tâm trí của những người luôn tham cầu và mong mỏi. Họ cảm nhận sự may rủi, được mất bằng thành quả chứ không hề nhìn đến cái nguyên nhân đã tạo ra thành quả đó. Họ không hề thắc mắc là tại sao họ được may và tại sao họ bị rủi? Họ có thể đổ trút mọi trách nhiệm lên số phận, lên định mệnh và đôi khi họ còn đổ trút lên cả ông Trời vì họ nghĩ ông Trời đã ban cho và lấy đi hoặc chi phối và chuyển vận đời sống của họ.

Tội nghiệp ông Trời, tự dưng ai làm tội nấy mang, ai tạo phước nấy hưởng, thế mà họ không hiểu điều đó, cứ trăm dâu đổ đầu tằm thì quả thật là oan ức cho đấng bề trên quá! Họ có biết đâu, ông Trời mà họ cho là chi phối số phận và cuộc sống của họ cũng phải chịu trăm đắng nghìn cay, phải luân chuyển trầm luân cũng như họ, cũng phải nếm trải nỗi đau sanh ly tử biệt chứ có sung sướng gì đâu. Ngài có được cái địa vị ông Trời cũng vì Ngài đã phải làm biết bao điều tốt đẹp cho nhân gian nên Ngài mới được thừa hưởng thành quả mà Ngài đã dày công vun đắp, tạo dựng, chứ có phải Ngài sanh ra từ một ông Trời cha và kế thừa Thiên vị ông Trời mà cha Ngài truyền lại cho Ngài đâu (theo kinh điển Phật giáo).

Nhân gian đau khổ thì oán trách Ngài, thất tình bi lụy cũng oán trách Ngài, thất bại trên đường công danh, sự nghiệp cũng oán trách Ngài. Vậy còn Ngài, Ngài đau khổ, thất tình, bi lụy, thân bại danh liệt thì Ngài sẽ trách ai? Vì có ai cao hơn Ngài nữa đâu mà Ngài đổ lỗi cho người đó. Không lẽ Ngài lại đi trách Phật, vì Phật cao hơn Ngài? Phật có ăn nhằm gì đến ai đâu mà trách Phật.


Phật thì muôn đời luôn mong mỏi chúng sanh cố gắng lánh ác cận lành, tu tâm dưỡng tánh để tự mình mang đến cho mình những điều tốt đẹp và thanh cao nhất trong cuộc sống. Phật là người tu hành với chủ nghĩa vô thần, vô sản chính thống, Phật không có cái gì để cho và cũng chẳng lấy đi của ai thứ gì vì Ngài đâu có cần những thứ mà Ngài cho là "nước bọt đã phun ra không thể nuốt trở vào" là "cặn bã của đời sống Thánh thiện".

Tín ngưỡng là một điều tốt, nhưng tín ngưỡng không phải là tất cả. Chúng ta không thể đổ lỗi cho ông Trời, cho số phận và cho định mệnh hay nghiệp duyên của mình mà quên đi tác nhân quan trọng đó chính là bản thân mình. Nếu một người tham gia giao thông mà không hiểu luật giao thông, không biết tôn trọng tài sản và sức khỏe cũng như mạng sống của người khác hay chúng ta điều khiển phương tiện một cách hời hợt, lơ đễnh và không chú tâm thì tất nhiên là gây ra tai nạn cho chính chúng ta và mọi người. Điều xui rủi đó do chính chúng ta tạo nên chứ không có ông Trời hay số phận, định mệnh nào an bày cho chúng ta cả.

Con người mỗi ngày hút từ lòng đất lên bao nhiêu lít dầu, bao nhiêu khí đốt, bao nhiêu khoáng sản, chặt phá bao nhiêu cây rừng, ngăn dòng chảy của bao nhiêu con sông để làm thủy điện và khoan bao nhiêu cái giếng phá vỡ mạch nước ngầm, xây bao nhiêu tòa nhà cao tầng, đóng xuống đất bao nhiêu cừ bê tông, xả xuống sông, xuống biển bao nhiêu là chất thải độc hại? Tất cả những điều đơn giản đó đã gây ra biết bao thảm họa cho môi trường sống của chính chúng ta. Hôm nay động đất, ngày mai sống thần, ngày kia lũ lụt, ngày nọ sụp lún, sạt lở, sập nhà, vỡ đê, tràn dầu trên biển, núi lửa phun, thủng tầng ô zôn, ô nhiễm môi trường... Rồi chúng ta đổ thừa cho số phận và ông trời sao? Trong khi chúng ta chính là thủ phạm và cũng chính là nạn nhân của những điều sai trái đó.

Điều quan trọng chúng ta cần phải hiểu là chính chúng ta làm cho chúng ta trong sạch và cũng chính chúng ta làm cho chúng ta bị nhiễm ô. "Tịnh tại ngã, bất tịnh tại ngã. Linh tại ngã, bất linh tại ngã", câu nói này hàm ý sâu xa nhưng cũng thật là dễ hiểu. Phật trời chỉ là những biểu tượng thiêng liêng cho những gì tốt đẹp trên cõi đời này. Các ngài chỉ là những tấm gương để chúng ta soi vào và học hỏi chứ không phải là nơi để chúng ta cầu xin một ân sủng hay một phúc lành nào cả.

Nếu thật sự chúng ta mong muốn điều tốt lành cho cuộc sống của mình thì hãy sống thật lòng, sống thật tốt, thật gương mẫu với cuộc sống này thì tất nhiên cuộc sống sẽ đáp trả lại cho chúng ta những điều tốt đẹp. Nếu chúng ta giúp người thì sẽ được người giúp lại, sống đúng thì không sợ sai, sống đẹp không sợ xấu, sống sạch cũng chẳng cần phải sợ nhơ nhớp.


Nhạc sĩ Trịnh Công Sơn cũng đã viết: "Sống trong đời sống cần có một tấm lòng... để gió cuốn đi". Chúng ta chỉ biết sống cho thật tốt với đời, với người đó cũng chính là chúng ta đang sống tốt cho chính chúng ta vì chẳng ai muốn lấy nhọ nồi trét lên mặt mình bao giờ cả. Sống tốt để làm gì, cũng chỉ để gió cuốn đi thôi. Đó là tinh thần thi ân bất cầu báo, làm việc tốt không đòi hỏi kết quả và lợi nhuận của việc làm đó. Chúng ta chỉ biết làm để khiến cho chúng ta ngày càng tốt đẹp, có ý nghĩa, có giá trị và có ích hơn cho cuộc sống này và cho cuộc sống của chính chúng ta nữa.

Bài sưu tập từ BTV Muciu
Tác giả: Nghinh Phong
Theo : TCCL
Read more…

Tạo thumbnail cho ảnh với CSS

03:41 |
Thông thường khi muốn tạo ảnh thumbnail ta thường dùng cách bóp ảnh lại bằng việc sử dụng các lệnh width, height. Khi bóp ảnh như thế, nếu bóp theo 2 chiều (widthheight) thì ảnh thường bị méo dạng (không còn tỉ lệ với ảnh gốc), nếu không muốn gặp hiện tượng này thì chỉ nên bóp theo 1 chiều. Tuy nhiên, ở những phần, ví dụ như tiện ích recent post, các bạn muốn các ảnh thumbnail được đều nhau, và có cùng kích cỡ thì việc bóp ảnh theo 1 chiều không đáp ứng được. Và hôm nay mình sẽ giới thiệu cho các bạn 1 các để lấy ảnh thumbnail từ ảnh gốc mà chỉ cần dùng CSS.

Mình sẽ giải thích sơ về cách thức này. Giả sử ta có 1 tấm ảnh và 1 tờ giấy màu (màu đen chẳng hạn, và kích thước tờ giấy màu sẽ lớn hơn tấm ảnh), sau đó ta cắt 1 cái lỗ hình vuông trên tờ giấy màu, kích cỡ tùy ý (giả sử 200x200px). Rồi ta đặt tờ giấy màu trên tấm ảnh, khi đó ta sẽ nhìn được 1 phần tấm ảnh qua cái lỗ mà ta đã cắt trên tờ giấy màu. Và phần ảnh ta thấy được này sẽ là ảnh thumbnail. Để tùy chỉnh vùng ảnh để hiển thị ảnh thumbnail thì ta chỉ việc dịch chuyển tờ giấu hoặc dịch chuyển ảnh.

Bên dưới là ảnh minh họa

Còn đây là demo

Ảnh gốc

Ảnh thumbnail lấy được:

* Các bước thực hiện:
- đầu tiên các bạn chèn code CSS bên dưới vào trong code template (chèn vào trước dòng code ]]></b:skin> trong code template)
/* CSS thumbnail */

div.thumb{
margin:.5em 0;
margin-right:10px;
border:1px solid #999;
padding:2px;
}
div.thumb {
display:block;
width:100px;
height:100px;
line-height:100px;
overflow:hidden;
position:relative;
z-index:1;
}
div.thumb img{
position:absolute;
top:-20px;
left:-50px;
}

/* END CSS thumbnail */
- 1 số lưu ý về code CSS ở trên:
+ các giá trị width, height trong class div.thumb là chiều cao và độ rộng của ảnh thumbnail.
+ Các top, left trong class div.thumb img chính là vị trí góc trái trên của ảnh thumbnail (so với ảnh gốc).
+ Khi muốn hiển thị ảnh thumbnail thì bạn chỉ việc dùng code tương tự như bên dưới
<div class="thumb"><img src="Link ảnh" /></div>
+ Ngoài ra, nếu ảnh lớn quá, mà ta muốn lấy ảnh thumbnail nhỏ thì (vì khi đó ảnh thumbnail sẽ ko thể hiện hết được ảnh gốc) bạn có thể resize ảnh gốc nhỏ lại, ví dụ như bên dưới:
<div class="thumb"><img src="Link ảnh" width="200" /></div>

Chúc các bạn thành công.
Read more…

Album Nguyễn Đoàn

05:34 |
Read more…

Tạo banner quảng cáo dạng Popup

05:27 |
các bài viết trước, iTechPlus đã giới thiệu đến các bạn 2 thủ thuật tạo banner quảng cáo trượt dọcbanner quảng cáo hiển thị ngẫu nhiên cho Blogspot.
Tiếp tục chủ đề trên, hôm nay iTechPlus xin giới thiệu tiếp một style khác, đó là tạo banner quảng cáo hiển thị dạng popup – nghĩa là mẫu quảng cáo sẽ bật lên khi người đọc ghé thăm website của bạn.
Tạo banner quảng cáo dạng Popup
Hình minh họa
Cách thực hiện :
1. Vào Thiết kế > Phần tử trang
2. Tạo một widget HTML\JavaScripts và chèn vào code bên dưới :
  <style type="text/css">
            * html div#fl813691 {position: absolute; overflow:hidden;
            top:expression(eval(document.compatMode &&
            document.compatMode=='CSS1Compat') ?
            documentElement.scrollTop
            +(documentElement.clientHeight-this.clientHeight)
            : document.body.scrollTop
            +(document.body.clientHeight-this.clientHeight));}
            #fl813691{font: 12px Arial, Helvetica, sans-serif; color:#666; position:fixed; _position: absolute; right:0; bottom:0; height:150px; }
            #eb951855{ width:279px; padding-right:7px; background:url(http://img98.imageshack.us/img98/9400/rightp.gif) no-repeat right top;}
            #cob263512{background:url(http://img205.imageshack.us/img205/2176/fulld.gif) no-repeat left top; height:150px; padding-left:7px;}
            #coh963846{color:#690;display:block; height:20px; line-height:20px; font-size:11px; width:277px;}
            #coh963846 a{color:#690;text-decoration:none;}
            #coc67178{float:right; padding:0; margin:0; list-style:none; overflow:hidden; height:15px;}
                        #coc67178 li{display:inline;}
                        #coc67178 li a{background-image:url(http://img205.imageshack.us/img205/9837/closebutton.gif); background-repeat:no-repeat; width:30px; height:0; padding-top:15px; overflow:hidden; float:left;}
                            #coc67178 li a.close{background-position: 0 0;}
                            #coc67178 li a.close:hover{background-position: 0 -15px;}
                            #coc67178 li a.min{background-position: -30px 0;}
                            #coc67178 li a.min:hover{background-position: -30px -15px;}
                            #coc67178 li a.max{background-position: -60px 0;}
                            #coc67178 li a.max:hover{background-position: -60px -15px;}
            #co453569{display:block; margin:0; padding:0; height:123px;  border-style:solid; border-width:1px; border-color:#111 #999 #999 #111; line-height:1.6em; overflow:hidden;}
            </style>
             <div id="fl813691" style="height: 152px;">
                <div id="eb951855">
                <div id="cob263512">
                    <div id="coh963846">
                        <ul id="coc67178">
                            <li id="pf204652hide"><a class="min" href="javascript:pf204652clickhide();" title="&#7848;n &#273;i">&#7848;n</a></li>
                            <li id="pf204652show" style="display: none;"><a class="max" href="javascript:pf204652clickshow();" title="Hi&#7879;n l&#7841;i">Xem </a></li>
                        </ul>
                    &nbsp;Xem Phim Blog Trần Phúc Minh
                   </div>
                    <div id="co453569">
     <!-- code ads -->
<a target="_blank" href="http://www.youtube.com/p/19504296AFE44F36?hl=vi_VN&amp;fs=1" rel="nofollow"> <img style="margin:3px 1px 1px 3px;" border="0" width="264" src="http://img.aicoly.com/debate/2010/11/13/2551289615538.jpg" height="115" title="Blog thông tin tỏng hợp | Trần Phúc Minh Phòng Nông nghiệp & PTNT"/></a>
<!-- code ads --></div></div></div></div>
            <script>
            pf204652bottomLayer = document.getElementById('fl813691');
            var pf204652IntervalId = 0;
            var pf204652maxHeight = 150;//Chieu cao khung quang cao
            var pf204652minHeight = 20;
            var pf204652curHeight = 0;
            function pf204652show( ){
              pf204652curHeight += 2;
              if (pf204652curHeight > pf204652maxHeight){
                clearInterval ( pf204652IntervalId );
              }
              pf204652bottomLayer.style.height = pf204652curHeight+'px';
            }
            function pf204652hide( ){
              pf204652curHeight -= 3;
              if (pf204652curHeight < pf204652minHeight){
                clearInterval ( pf204652IntervalId );
              }
              pf204652bottomLayer.style.height = pf204652curHeight+'px';
            }
            pf204652IntervalId = setInterval ( 'pf204652show()', 5 );
            function pf204652clickhide(){
                document.getElementById('pf204652hide').style.display='none';
                document.getElementById('pf204652show').style.display='inline';
                pf204652IntervalId = setInterval ( 'pf204652hide()', 5 );
            }
            function pf204652clickshow(){
                document.getElementById('pf204652hide').style.display='inline';
                document.getElementById('pf204652show').style.display='none';
                pf204652IntervalId = setInterval ( 'pf204652show()', 5 );
            }
            function pf204652clickclose(){
                document.body.style.marginBottom = '0px';
                pf204652bottomLayer.style.display = 'none';
            }
            </script>Trong đoạn code trên :
  • Xem phim Blog Trần Phúc Minh : tiêu đề khung quảng cáo
  • http://www.youtube.com/p/19504296AFE44F36?hl=vi_VN&amp;fs=1 : liên kết đến website nhà quảng cáo
  • https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnn5Yx5AEqKixrRseOlRYFPpHcbiV2vddwQ3jqLp6EbjcnpUYOGOuuEORepySpAkBYHL9s4Xyk69MJTzsY8xOLOl8bOvfyqrSj7ID_arlkY1Q9AcHsQcUfLzj8OTO5bDucyYYfTmBKlNs/s1600/bannerfans_419401.jpg : hình ảnh quảng cáo
3. Save and Done.
Chúc các bạn thành công !
Read more…

Dùng Google Code,Google Site làm host chứa file js

17:59 |
Thường thì việc lưu trữ các file js tại các host free như 110mb tuy tốc độ nhanh nhưng không ổn định.Hôm nay mình xin giới thiệu với các bạn cách dùng GC(Google Code) và GS(Google Site)để làm nơi lưu trữ file js
1.Với Google Code

    Google Code là một trang web của Google trong đó tập trung các nhà phát triển các dự án phần mềm mã nguồn mở được hỗ trợ bởi Google. Trang có rất nhiều mã nguồn phần mềm và danh sách các dịch vụ có hỗ trợ các API công cộng để phục vụ cho việc phát triển các phần mềm hỗ trợ khác. (Wikipedia).

Các bước thực hiện: 

a. Đăng ký tài khoản Google (gmail, google adsense,….)

b. Đăng nhập Google Code 
c. Nhấn vào mục Creat a new project

d. Điền vào form đăng ký. Ô Version control system và Source code license thì tùy bạn lựa chọn. Dùng cho nhu cầu cá nhân thì không cần quan tâm.
e. Creat Project. Sau đó, bạn sẽ có 1 trang tương tự như: https://code.google.com/p/minhmeofiles/
f. Nhấn vào Tab Downloads >>> New download. Rồi lựa chọn files cần upload (không quá 100 MB)
g. Lựa chọn file lưu trữ là Js file.Up load file js của mình lên.
h. Upload xong, bạn có thấy đường link tải files bạn vừa up.


Download>New Download

Nhấp chuột trái vào file js lấy link download nhúng vào blog_> Ẹnjoy ^^

2.Đối với Google Site:
Tạo 1 tài khoản tại http://sites.google.com/ >Tạo trang web mới
Sau đó bạn upload file js lên>Tài liệu đính kèm>Tải lên

Lấy link file js (Chuột phải vào download chọn copy link) nhúng vào blog :)

Theo mình thì các bạn nên dùng GC vì tốc độ load rất nhanh !

Chúc các bạn thực hiện thành công!
Read more…

Update tiện ích recent posts

02:17 |
Từ trước đến giờ đa số các tiện ích recent posts có 1 hạn chế nhỏ mà mọi người dễ dàng thấy, đó là việc hiện thị summary cho bài viết ko được tốt cho lắm. Ở 1 số bài viết, phần summary bị mất chữ, nguyên nhân của việc này là do cách thức ta ngắt phần summary post.



Trước giờ ta hay dùng cách ngắt theo kí tự, tức là chọn 1 số kí tự nhất định để hiển thị ở phần summary. Do đó mà khi đủ số kí tự thì script sẽ ngắt, do đó mà ta sẽ hay gặp trường hợp chữ hiển thị không đủ. Để khắc phục điều này, ta sẽ dùng cách chọn số từ để hiển thị chứ không phải số kí tự. Thực ra nói số từ cũng ko đúng, nếu nói đúng hơn thì là cụm kí tự chứ không phải là "từ". Cụm kí tự ở đây mình nói là các chuỗi kí tự được cách nhau bằng dấu cách (khoảng trắng).
Ví dụ:
"... cũng ko đúng, nếu ..." - ta sẽ có 4 cụm kí tự, và cụm "đúng," không được xem là 1 từ.
Thực ra cách này đã có từ lâu, nhưng chưa có ai để ý để khắc phục cho tiện ích recent posts, thế nên hôm nay mình sẽ hướng dẫn các bạn cách khắc phục điều này.

Trong file js của các tiện ích recent posts ta hay gặp 1 hàm như bên dưới :

function removeHtmlTag(strx,chop){
var s = strx.split("<");
for(var i=0;i<s.length;i++){
if(s[i].indexOf(">")!=-1){
s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length);
}
}
s = s.join("");
s = s.substring(0,chop-1);
return s;

}

- Hàm này dùng để loại bỏ các thẻ HTML có trong phần nội dung của bài viết trên feed. Đồng thời giúp hiển thị phần rút gọn của bài viết. Giá trị chop ở đây chính là số kí tự sẽ hiển thị ở phần summary.

Các bạn thay hàm ở trên bằng hàm bên dưới:

function removeHtmlTag(s,max){
s=s.replace(/<br.*?>/ig, ' ');
return s.replace(/<.*?>/ig, '').split(/\s+/).slice(0,max-1).join(' ')
}


Và bây giờ các bạn chỉ cần thay giá trị của biến summaryPost lại là được. (đa số các tiện ích recent posts mình hay đặt tên biến để tùy chỉnh số kí tự hiển thị là summaryPost )

- Ví dụ : summaryPost = 30; giá trị 30 chính là số cụm kí tự (cách nhau bằng dấu khoảng trắng) sẽ được hiển thị là 30.

Chúc các bạn thành công.
Read more…

Tân cổ giao duyên

04:30 |

Read more…

Update bộ đếm số lần đọc bài viết cho blogspot - v3.1

03:56 |

Ở thủ thuật "Bộ đếm số lần đọc cho bài viết" (phiên bản 3.0), có 1 lỗi mà từ trước đến giờ các bộ đếm số lần đọc bài viết khác đều mắc phải, đó là khi ta comment ở 1 bài viết nào đó thì khi comment được xuất bản, thì blogger sẽ load trang lại với 1 link tương tự như link bài viết, nhưng được thêm vào 1 chuỗi để tạo permalink cho comment đó, ví dụ như link bên dưới :



http://www.fandung.com/2011/05/tao-bo-dem-so-lan-xem-bai-viet-cho.html?showComment=1305911787727#c6033716812105494950

Và khi load lại bài viết bằng link này thì bộ đếm sẽ hiểu đây là 1 link khác với link của bài viết, và như thế bộ đếm sẽ đếm lại bắt đầu bằng 1, thay vì cộng 1 vào số lần xem của bài viết đó. Và như thế số lần xem bài viết sẽ giảm đáng kể nếu như bài viết đó có nhiều comment. Ví dụ như ở blogtruyen.com, với 1 lượng người xem khá lớn, và các đọc giả luôn comment rất nhiệt tình thì số lần xem bài viết sẽ hiển thị không còn chính xác.

Lúc trước ban Ngân có nói về lỗi này ở bài viết trước, và do kiến thức php của mình còn quá cùi mía thì mình trả lời ngày là không biết, và sau vài ngày suy nghĩ và search các function của php thì mình đã may mắn test thành công. Thực ra việc này làm ở Javascript khá dễ, như do ở php mình còn hơi lạ nên phải mò. Thực chất của việc fix này là mình sẽ chia link sẽ đếm số lần đọc thành 2 phần qua dấu chấm hỏi (?) ở trong link, và khi đó ta sẽ có 2 chuỗi, lấy chuỗi đầu ta sẽ được link của bài viết. Và như thế bộ đếm sẽ tiếp tục cộng vào số lần đọc bài viết nếu như có ai đó comment ở bài viết đó.

Việc cập nhật này mình đã fix ngay trên file php trên server của mình, còn những bạn nào xài host riêng thì download file php này (fd-counter-fix.rar) về rồi thay thế file php cũ là được.
Read more…

Bảng mã màu dành cho Blogger

05:47 |
Trong quá trình thiết kế Blog, ngoài chỉnh sửa bố cục thì việc phối màu để make-up giao diện là công việc thường xuyên của các Blogger.
Dưới đây là bảng mã màu thập lục rất hữu ích dành cho các bạn.
.
Read more…

Game: Half Life 2 Total Mayhem

04:35 |
Read more…

Game: Samura Jack: Code of the Samurai

04:30 |
Read more…

Game: Penalty Fever

04:24 |
Read more…

Game Uphill Rush

03:33 |
Read more…

Tạo trang leech dễ dàng không cần host

01:12 |
Download từ Rapidshare khá khó khăn với nhiều người, tuy nhiên nếu biết cách chúng ta sẽ làm cho công việc ấy dễ dàng hơn. Một trong những phương pháp ấy chính là tự làm một trang web leech dành cho riêng mình. Không cần host, bạn vẫn có thể tạo trang leech cho riêng mình. Bài viết sau sẽ hướng dẫn bạn cách tạo web leech ngay trên máy tính của bạn…

Bước 1: DOWNLOAD RAPIDGET
Đầu tiên download mã nguồn PHP Rapidget bản mới nhất tại đây Hoặc cũng có thể dùng Rapidleech (download tại www.rapidleech.com) nhưng nó không hỗ trợ nhiều host bằng Rapidget nên bài viết này sẽ hướng dẫn cách cài đặt Rapidget (Rapidleech cũng tương tự như vậy) Sau khi down về, giải nén rồi để đấy (đặt tên cho thư mục vừa giải nén là rapidget), download tiếp chương trình tạo webserver ảo trên máy tính. Bước 2: CÀI ĐẶT APPSERV
Ở đây, tôi khuyên các bạn nên dùng Appserv vì nó rất dễ sử dụng, gọn nhẹ hơn XAMPP. Download Appserv 2.5.10 tại đây Cài đặt Appserv như sau (xin lấy vd cách cài đặt bản 2.5.7, bản 2.5.10 cài đặt tương tự) Chạy file vừa download, màn hình Welcome hiện ra như sau:

Chọn Next

Chọn I Agree

Bấm Browse… để chọn nơi cài đặt Appserv Xong nhấn Next

Chọn tất cả các mục vì có thể bạn sẽ cần đến chúng. Xong nhấn Next

Phần Server name ghi là localhost, Administrator’s Email Address: email của bạn, phần Port cứ để nguyên là 80. Next
qua bước tiếp theo

Điền Password và xác nhận password, đây sẽ là password tài khoản admin của bạn, hãy nhớ kỹ pass này. Next Quá trình cài đặt bắt đầu…

Cài xong, nhấn Next

Chọn Start Apache và Start SQL
Finish. Bây giờ bạn đã có thể bắt đầu công việc của mình. Mở trình duyệt lên, gõ vào khung Address địa chỉ localhost hoặc 127.0.0.1, nếu hiện ra thế này là bạn đã thành công

Muốn tạo thêm database mới truy cập vào localhost/phpmyadmin, Username: root, Pass: do bạn chọn lúc cài đặt

Bước 3: CÀI ĐẶT RAPIDGET
Cách cài đặt khá đơn giản, bạn chỉ việc copy thư mục rapidget ở bước 1 vào thư mục www của Appserv (mặc định là C:\Appserv\www). Thế là xong, bây giờ bạn mở trình duyệt lên gõ vào thanh address: localhost/rapidget. Nếu hiện ra trang này là được

Nếu có tài khoản Premium, bạn hãy chọn Option rồi điền acc vào, việc download sẽ diễn ra nhanh hơn.

CHÚ Ý:
  • Điểm khác biệt so với dùng Rapidget trên host là file bạn tải về sẽ nằm trong ổ cứng của máy bạn, nếu bạn có ý định download từ 1 file từ RS thì cứ việc copy link vào khung URL, nhấn Download file, file tải về sẽ nằm trong thư mục files (mặc định đường dẫn là C:\AppServ\www\Rapidget\files)
  • Nếu bạn không muốn tải file mà chỉ muốn lấy d-link thì cứ check vào hộp DirectLink, 1 cửa sổ hiện ra chứa d-link giúp bạn download nhanh chóng hơn.
Vậy là xong rồi, việc download từ RS sẽ không còn quá khó khăn đối với bạn
Read more…

Tiện ích “Thông tin cần biết” cho Blogger

16:59 |
“Thông tin cần biết” là tiện ích được sử dụng rất phổ biến trên các trang Web tin tức ở VN, như báo VNExpress, Vietnamnet,…dưới nhiều dạng thức khác nhau. Tuy nhiên, tựu trung lại cũng chỉ chứa các thông tin như giá vàng, thời tiết, giá chứng khoán,…vv…
Cho dù nội dung trên Blog của bạn không liên quan gì đến các lĩnh vực đó, nhưng theo iTechPlus bạn cũng nên trang bị cho Blog của mình bởi đó là những “thông tin cần biết”, không lúc này thì lúc khác.
Và trong bài viết bên dưới, iTechPlus sẽ hướng dẫn các bạn tạo một bảng nội dung như hình dưới chỉ với 3 bước đơn giản :
Tiện ích "Thông tin cần biết" giống iTechPlus.info
Thực hiện :
Bước 1 : Vào Thiết kế > Chỉnh sửa HTML

Bước 2 : Chèn đoạn code bên dưới vào trước thẻ đóng </b:skin>

    .thongtin img{width:24px;height:18px;margin:5px 5px -5px 0}
    .thongtin li{margin:10px 0 20px}

Bước 3 : Tạo một widget HTML\JavaScript và chèn vào đoạn code sau :

    <script language="JavaScript">
    function popUp(URL) {
    day = new Date();
    id = day.getTime();
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=500,height=350,left = 380,top = 180');");
    }
    </script>

    <table border="0" width="100%" align="left" cellspacing="0" cellpadding="0" class="thongtin" style="border-bottom:1px solid #ddd">      
    <tr><td align="left" valign="top" width="50%">
    <ul><li><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1dcSnKfrIXBfO7YpdHm4xFGIFuUYVyFZvgV2SHpODs6BxJ0IjNN4aTXOZzBlKNWmAJSB6P-U6W529dXa35h44YL8U6EAbsn5cRk80uFBDvosLjInai40RPbfMx4srGQAT6Wav2dh8AfQ/"/><a href="javascript:popUp('http://www.taichinhdientu.vn/services/infopage.aspx?svc=exchangerates')">Tỉ giá ngoại tệ</a></li>
    <li><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpSlHtULAR5cOr4ML6OjPtqv_s5xCPKnTzmKWXPvL1R5tugKs_G6Ev4su-LyRMu-nbgrGt3I7m7Yz4Ihu6dVRl6i2FTVADylg2jv73oytH7FCFCXmGi1kdvsz8ZqdS_HNWy10pkfaWz10/"/><a href="javascript:popUp('http://www.taichinhdientu.vn/services/infopage.aspx?svc=goldrates')">Bảng giá vàng</a></li>
    <li><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTkJkePzmKHhPCkP4e_rgp7vJER_TBHyy03Nb1MsZ3pDTiCt3FLi-6lK03RtieJUNoZulCqAEjbBnwrdKLN6gu4gBcSGg0QLznfRgVZ67UsmxPd3UuOd5QWWsAvp9cGcSSnStqyuc6-OU/"/><a href="javascript:popUp('http://www.taichinhdientu.vn/services/infopage.aspx?svc=oilrates')">Bảng giá dầu</a></li>
    <li><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir8kuXRPEjG0s86Z1UnlYXMhcIyvkc2rFcuVP84iy_LZaytNILbVpWyzECItVLxwxHi-r3Ei1Hd4XrBrksspE9vxHTw4qGaAwhXGttfTglOkarxhMUL9o535V1ZO8lhPRGOZ2CFJRm_EE/"/><a href="javascript:popUp('http://chungkhoan.24h.com.vn/chungkhoan.php')">Giá chứng khoán</a></li>
    <li><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2BLbifOPGF-JVW0WVO-aY6Cat4J7DYnRr-Hhom7zUEqVRnhWAicEChVkSB3CB3i1sMDYiMx7C_mD0MXzXlAmwVTu1NUMUg1Ord0SIPzNMeqkGqKVBqMeVbnuYjnaw2QBupGCj116HfGs/"/><a href="javascript:popUp('http://www.chieuphimquocgia.com.vn/lichphim/Default.aspx?MenuId=14')">Lịch chiếu phim</a></li>
    </ul></td>

    <td align="left" valign="top" width="50%">
    <ul><li><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjth0-8GOV9EK6meloDz1FThvZAl3uakVylY0dXIxZDq8mWj4bgmdZ-Z-hA6CqgjGfEbAQXu6QvrxYt5WESc4uK3uZXVFaMmaORUML7QSjeqCzI6YVYMxLqqRdOtS9xACuQWr8FwCczP8c/"/><a href="javascript:popUp('http://vovnews.vn/Services/Infopage.aspx?svc=lotteryresults')">Kết quả xổ số</a></li>
    <li><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1gUf7mL4M-2bZXKgcrKXhFYD5fWuQzkPIYYOGZTDExnSFLuECKH6KDKvPLBQZGjCthZBN0PlbEmboFxHtuybRQ1NtIbcuEAGXYkUVoSgX_PB4tm6g1wHjByfxKXaNfZ7pZvBI5xvYAVo/"/><a href="javascript:popUp('http://baobongda.com.vn/lich-thi-dau/league/')">Lịch bóng đá</a></li>
    <li><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjItD8-GZX4iSlCUfOTDuREhaL1PYgpa8BRqmD0tCJnFvHcJGtsc7QAMeaIr-zu3G0zM-A8VuHObE9htvC5QjzpqVL5BO5DH0Bk_fz-Zf7HSB_IwOlscHiz2-If2VF-dcCRWbDk6VLNprk/"/><a href="javascript:popUp('http://www.taichinhdientu.vn/services/infopage.aspx?svc=tvschedules')">Lịch truyền hình</a></li>
    <li><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT7LXmEaoOJsFBMn4JlSWpXvIpJmpEoHcN3pX32SZOnZGQ3A1AQtGZA-O_dOY8F9rJ-VI3dGFv0vr6iY6WTOd6XXtMazC5anwGGAJC6PSGUpwFlj1ZtM1BSh1ya4jg6HD3lse-wdHgxBU/"/><a href="javascript:popUp('http://vovnews.vn/Services/Infopage.aspx?svc=weathers')">Dự báo thời tiết</a></li>
    <li><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfrWvfacR5jSp4hgYmUV382jn7x-5Pfn3HfmMBxWqNIuYeqrSH-5gD_K_uzRRnxKgyofirOrnebmCizeV3qcnLUzKvWCwThqnMog5xoZ9_R3IvD1tySUyv5v4NKLxvjcMCxR3DKmiUeUg/"/><a href="javascript:popUp('http://service.thesaigontimes.vn/atm/tracuuatm.aspx')">Điểm đặt ATM</a></li>
    </ul></td></tr></table>

Lưu lại là bạn đã có tiện ích “Thông tin cần biết” giống iTechPlus rồi đó !

* Lưu ý : Các bạn nên download các file ảnh về và upload lên host riêng để sử dụng

Chúc các bạn thành công !
Read more…

Các Album Nhạc vàng tuyển chọn

06:31 |








Read more…

Liên khúc Tuấn Vũ

08:33 |










Read more…

Hướng dẫn SEO link cho Blogspot

07:26 |
Hôm nay mình sẽ giới thiệu cho các bạn 1 thủ thuật nhỏ về SEO link cho blogspot. Nói đơn giản ra là tạo link đẹp cho các bài viết của blog để giúp cho SEO blog, giúp cho các bộ máy tìm kiếm có thể tìm đến bài viết của bạn 1 cách dễ dang hơn.


Thủ thuật này cũng khá là đơn giản, cũng có thể có 1 số bạn đã biết tới, và cũng có thể 1 số khác chưa để ý tới, ngay như mình, đến gần đây mình mới chú ý tới việc này. Đó là khi ta tạo tiêu đề tiếng việt có dấu, sau đó blogger sẽ chuyển thành chuỗi ký tự không dấu để tạo link cho bài viết, nhưng việc tạo link này gặp 1 lỗi nhỏ, đó là chứ "đ" khi chuyển sang không dấu bị mất đi. Nếu 1 tiêu đề có quá nhiều chữ "đ" thì ta khó có thể đọc được từ link bài viết.
Ví dụ :
- Ta có tiêu đề bài viết là : "Tại sao đàn ông thích đi đá banh???"
- Và bài viết sẽ có link như thế này : "/tai-sao-an-ong-thich-i-a-banh.html"

và sẽ đẹp và dễ hiểu hơn nếu link như thế này "/tai-sao-dan-ong-thich-di-da-banh.html".

Để khắc phục việc này, ta nên tập thói quen tạo tiêu đề bài viết dạng tiếng việt không dấu, rồi xuất bản bài viết. Sau khi đã xuất bản, ta chọn ngay lại mục chỉnh sửa bài viết rồi gõ lại tiêu đề bằng tiếng việt có dấu. Như thế hơi mất công nhưng ta sẽ có được 1 link đẹp cho bài viết.

PS : Bài viết này gần giống như 1 bài nhắc nhở để tạo thói quen cho các bạn hơn là 1 bài thủ thuật.
Read more…

Tiện ích Recent Posts with 3 columns for Blogger

23:15 |
Recent Posts with 3 columns for Blogger
Chắc các bạn cũng thấy trên site iTechPlus.info ở sidebar có một trương mục là Bản quyền phần mềm, với bố cục là logo và tên của phần mềm được chia làm 3 cột hiển thị khá gọn gàng và đẹp mắt.
Tiện ích này rất thích hợp cho các trang giới thiệu phần mềm, ebook, quảng cáo sản phẩm,…kết hợp sử dụng tiện ích Multi Tabbed Widget For Blogger sẽ càng làm cho Blog của bạn trông ngăn nắp và chuyên nghiệp hơn.
Recent Posts with 3 columns + Multi Tabbed Widget
Hình minh họa | Demo
Thể theo yêu cầu của bạn Mobile, cũng như muốn chia sẻ với các bạn tiện ích hữu ích này, bài viết bên dưới iTechPlus sẽ hướng dẫn các bạn cách tạo widget Recent Posts with 3 columns for Blogger qua 2 bước đơn giản.
Thực hiện :
1. Vào Thiết kế > Phần tử trang
2. Tạo một widget HTML/JavaScript và dán code bên dưới vào :
    <style type="text/css">
    #itechplus-rc-3cot {width:320px;}
    table#itechplus-rc-3cot {border:1px solid #ccc;}
    #rc-3cot {padding:0 8px;width:30%;}
    #rc-3cot p{padding:0;margin:0 0 5px 0;}
    #rc-3cot img {margin:8px 0 2px; height:60px; width:50px; border:1px solid #ccc; padding:1px;}
    #rc-3cot a:link {font:normal 12px arial;}
    #itechplus-rc-3cot h2 {
    background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvcbGJtWEJdXmS_DLbgk1GOOXhpZsONWFJ_TRcegDRIG3Z6aQfYvbKGunF1Bzcu6o63dU7oip-fIXOUSpPgkEyeuGcCPDDc491SAPZJtmkE8-4gBMl5PCaStI8X8SAyh6KjgKh178CcYE/) no-repeat top left;
    padding:5px 0 14px 15px;
    font:bold 13px Verdana;
    margin:0px;
    color:#fff;
    }
    </style>
    <script type="text/javascript">
    home_page = "http://itechplus.info/";
    label = "License";
    numposts = 9;
    sumTitle = 24;
    colortitle = "#333";
    imgr = new Array();
    imgr[0] = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6QT1IYDE8qDNCAcrz8as8f3b43HMcQS9su0X1j9n8QTL5-VOqsKx8v1TouZGOGp7-HpEYxnxQI1XVOyffTwKZRB4ffhSV7KsANu3J9nsa6V5t0J1meLlYSSfDXNLtaflObtC9FjLbng0/";
    showRandomImg = true;
    </script>
    <div id="itechplus-rc-3cot">
    <h2>Recent Posts 3 column</h2>
    <script src="https://sites.google.com/site/itechroot/javascripts/itechplus-rc-3cot.txt" type="text/javascript"></script>
    <p style="float:right;margin:0;padding:3px">Xem tất cả<a href="http://www.itechplus.info/search/label/License?&max-results=8"> Phần mềm bản quyền &#187;</a></p>
    </div>

Trong đoạn code trên :

    width:320px; : chiều rộng của widget
    height:60px; width:50px; : chiều rộng và chiều cao của ảnh đại diện
    home_page = "http://itechplus.info/"; : địa chỉ blog của bạn
    label = "License"; : tên trương mục muốn hiển thị
    numposts = 9; : số bài viết sẽ hiển thị
    sumTitle = 24; : số ký tự dòng tiêu đề bài đăng
    colortitle = "#333"; : màu tiêu đề bài đăng
    imgr[0] = “…”; : hình đại diện cho bài viết không có ảnh

Các bạn thay đổi cho phù hợp. Hy vọng các bạn sẽ thích tiện ích này.

Chúc các bạn thành công !
Read more…

Hiển thị bài viết dạng list ở các trang Home, Label, Archive

20:53 |
Mình đã từng giới thiệu với các bạn thủ thuật chỉ hiển thị tiêu đề bài viết ở các trang Home, Label, Archive (xem thêm ở đây), hôm nay mình sẽ giới thiệu 1 cách hiển thị cũng tương tự, nhưng có hơi phức tạp hơn 1 chút. Cũng với dạng hiển thị dạng list, nhưng ở thủ thuật này sẽ bổ xung thêm phần ngày đăng, tác giả, nhãn...
Hình ảnh minh họa :

* Các bước để thực hiện thủ thuật:

- Bước 1 : Thiết lập lại ngày giờ hiển thị của bài đăng

Để hiển thị được ngày giờ như trong hình demo, các bạn thực hiện các bước sau:
- Vào Cài đặt » Định dạng » tới mục Định dạng dấu thời gian , và điều chỉnh lại như hình minh họa bên dưới :
- Bước 2 : Ẩn toàn bộ phần bài viết ở các trang Home, Label, Archive
Phần bài viết bạn sẽ có 3 chỗ phải ẩn, đó là Header bài viết, nội dung bài viết và phần Footer của bài viết.
- Phần Header bài viết : gồm có 2 phần, đó là tiêu đề và phần date-header (ngày đăng bài viết).
- Phần nội dung : chứa nội dung bài viết.
- Phần Footer : gồm ngày đăng, nhãn, tác giả...
Để hoàn thực bước 2 này, các bạn làm theo các bước bên dưới :
Vào Thiết kế > Chỉnh sửa HTML > Mở rộng mẫu tiện ích
- Chèn đoạn code bên dưới vào trước thẻ đóng </head> để ẩn phần header & footer của bài viết :

    <b:if cond='data:blog.pageType != "item"'>
    <style type='text/css'>
    .post-footer {display : none;}
    .date-header {display : none;}
    .post-title {display : none;}
    </style>
    </b:if>

- Tiếp tục tìm đoạn code bên dưới :

    <data:post.body/>

hoặc có thể là

    <p><data:post.body/></p>

và thêm đoạn code được in đậm vào như bên dưới để ẩn nội dung bài viết :

    <b:if cond='data:blog.pageType == "item"'>
    <data:post.body/>
    </b:if>

- Save template.

- Bước 3 : Thủ thuật chính

1. Trước tiên ta sẽ tạo header cho phần list này (xem hình minh họa)

=> Các bước thực hiện :

- Vào Thiết kế > Chỉnh sửa HTML  > Mở rộng mẫu tiện ích
- Tìm đoạn code bên dưới (hoặc tương tự):

    <b:includable id='main' var='top'>
    <!-- posts -->
    <div class='blog-posts hfeed'>
    <b:include data='top' name='status-message'/>
    <data:defaultAdStart/>
    <b:loop values='data:posts' var='post'>
    <b:if cond='data:post.dateHeader'>
    <h2 class='date-header'><data:post.dateHeader/></h2>
    </b:if>
    <b:include data='post' name='post'/>

- thêm đoạn code được in đậm như bên dưới:

    <b:includable id='main' var='top'>
    <!-- posts -->
    <div class='blog-posts hfeed'>
    <b:include data='top' name='status-message'/>

    <b:if cond='data:blog.pageType != "item"'>
    <table style='background:#eee; width:100%'>
    <tr>
    <td style='width:70%; text-align:center; font-weight:bold;'>Tiêu đề</td>
    <td style='width:15%; text-align:center; font-weight:bold;'>Tác Giả</td>
    <td style='width:15%; text-align:center; font-weight:bold;'>Ngày đăng</td>
    </tr>
    </table>
    </b:if>

    <data:defaultAdStart/>
    <b:loop values='data:posts' var='post'>
    <b:if cond='data:post.dateHeader'>
    <h2 class='date-header'><data:post.dateHeader/></h2>
    </b:if>
    <b:include data='post' name='post'/>

- Khoan Save template, tiếp tục thực hiện sang bước 2.

2. Tạo & trang trí cho list bài viết:

- Tìm đến đoạn code bên dưới:

    <div class='post-header-line-1'/>
    <div class='post-body entry-content'>

- Thêm đoạn code được in đậm như bên dưới:

    <div class='post-header-line-1'/>

    <b:if cond='data:blog.pageType != "item"'>
    <table style='border-bottom:1px solid #aaa; width:100%'>
    <tr>
    <td style='width:70%; font-weight:bold;'>
    [<span class='post-labels'>
    <b:if cond='data:post.labels'>
    <b:loop values='data:post.labels' var='label'>
    <a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if></b:loop> </b:if>
    </span>] <a expr:href='data:post.url'><data:post.title/></a>
    </td>
    <td style='width:15%; font-weight:bold; text-align:center;'>
    <span class='post-author vcard'>
    <b:if cond='data:top.showAuthor'>
    <span class='fn'><data:post.author/></span>
    </b:if>
    </span>
    </td>
    <td style='width:15%; font-weight:bold; text-align:center;'>
    <span class='post-timestamp'>
    <b:if cond='data:top.showTimestamp'>
    <data:post.timestamp/>
    </b:if>
    </span>
    </td>
    </tr>
    </table>
    </b:if>

    <div class='post-body entry-content'>


- Save template để hoàn tất .

Chúc các bạn thành công.
Read more…