FDNav - Phân trang cho blogspot

Người đăng: Unknown on Thứ Hai, 30 tháng 5, 2011

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/AVvXsEhuXP18Mhhb0XRdT4Tw5_2p4w7K3Lz_oqmCCZapU-vApSLmuRHG46F3Zg5VuOla4miKxRA8_98i9xvZyWvBEeRDYPed6stdfIS8A4HNYIhvMyk2jSJSzhybWHaj9SSUycxNX-PqMc_BXIk/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.
More about

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

Người đăng: Unknown

"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
More about

Tạo thumbnail cho ảnh với CSS

Người đăng: Unknown

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.
More about

HIỂN THỊ NGÀY GIỜ TRÊN THANH TIÊU ĐỀ BLOGGER

Người đăng: Unknown on Thứ Bảy, 28 tháng 5, 2011

Thanh tiêu đề Blog là thanh nằm ngang trên cùng của trang web/blog, bạn có thể hiển thị THỨ, NGÀY THÁNG NĂM VÀ GIỜ HIỆN TẠI trên thanh này với một thao tác đơn giản như sau:
Đầu tiên, bạn đăng nhập vào Blog > chọn Thiết kế > chọn Thêm tiện ích > thêm HTML/Javacript rồi dán đoạn code này vào



Sau đó Lưu lại và trở lại Blog xem kết quả
More about

TẠO CHỮ ĐỘNG CHO BLOGGER

Người đăng: Unknown on Thứ Sáu, 27 tháng 5, 2011

Mời các bạn xem các dòng chữ dưới đây:











Để làm các chữ này, bạn VÀO ĐÂY, sau đó gõ chữ mình cần tạo, chọn Font, chọn kiểu động, chọn cỡ chữ và cuối cùng bấm phải vào hình chọn Save as... để tải về máy, nếu cần dán vào Web/Blog thì bấm vào bước 4 để lấy mã code.





More about

Update tiện ích recent posts

Người đăng: Unknown on Thứ Tư, 25 tháng 5, 2011

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.
More about

MENU NGANG CÓ HIỆU ỨNG ĐỘNG KHI RÊ CHUỘT

Người đăng: Unknown on Thứ Ba, 24 tháng 5, 2011

Hôm nay, tôi chia sẻ đến với các bạn cách tạo menu ngang có hiệu ứng động khi rê chuột (không có menu con). Với menu này khi bạn rê chuột đến một thẻ bất kỳ trên menu thì thẻ đó sẽ tự động đổi màu khác khá đẹp. Mời bạn bấm vào Xem thử để trải nghiệm






Xem thử




Đầu tiên, bạn đăng nhập vào Blog > chọn Thiết kế > chọn Chỉnh sửa HTML, bạn bấm đồng thời cặp phím Ctrl+F để mở hộp tìm kiếm và gõ vào lệnh ]]></b:skin>, sau đó dán đoạn code phía dưới trước dòng lệnh đó.

ul#topnav {
margin: 0px 0 0px;
padding: 0;
list-style: none;
font-size: 1.1em;
clear: both;
float: left;
width: 650px; /*độ rộng của menu*/
}
ul#topnav li{
margin: 0;
padding: 0;
overflow: hidden;
float: left;
height:40px; /*chiều cao của menu*/
}
ul#topnav a, ul#topnav span {
padding: 10px 20px;
float: left;
text-decoration: none;
color: #fff; /*màu text của menu*/
text-transform: uppercase;
clear: both;
height: 20px;
line-height: 20px;
background: #1d1d1d;
}
ul#topnav a { color: #7bc441; }
ul#topnav span {
display: none;
}

ul#topnav.v2 span{
background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgenzUGasBicRtZawA_MoDbwjoBfVmyZ8fDtUcTpoecGRuoYz9X9Zu-ZINAvTKEqvAdHVqM4F3SAGtRn9AqWaUXTcLxhLaDatDpS-r0XtTVr6834iRXhosOdqrNOVBho7XD-2aYo6Q15WnF/) repeat-x left top; /*màu nền của menu*/
}
ul#topnav.v2 a{
color: #555;
background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgenzUGasBicRtZawA_MoDbwjoBfVmyZ8fDtUcTpoecGRuoYz9X9Zu-ZINAvTKEqvAdHVqM4F3SAGtRn9AqWaUXTcLxhLaDatDpS-r0XtTVr6834iRXhosOdqrNOVBho7XD-2aYo6Q15WnF/)repeat-x left bottom; /*màu nền của menu*/
}



 Tiếp tục, trong khung tìm kiếm nhỏ bạn thay dòng lệnh ]]></b:skin> bằng lệnh <head> và dán đoạn code dưới đây vào sau nó.

<script src='http://dl.dropbox.com/u/66348944/jquery.min.js' type='text/javascript'/>
<script src='http://dl.dropbox.com/u/66348944/ani_menu.js' type='text/javascript'/>
Cuối cùng bấm Lưu lại. Bây giờ, bạn trở lại trang thiết kế > Thêm tiện ích > Thêm HTML/Javacript rồi dán đoạn code phía dưới vào.
 

<ul id="topnav" class="v2">
<li><a href="URL Menu 1">MENU 1</a></li>
<li><a href="URL Menu 2">MENU 2</a></li>
<li><a href="URL Menu 3">MENU 3</a></li>
<li><a href="URL Menu 4">MENU 4</a></li>
<li><a href="URL Menu 5">MENU 5</a></li>
<li><a href="URL Menu 6">MENU 6</a></li>
<li><a href="URL Menu 5">MENU 5</a></li>
<li><a href="URL Menu 6">MENU 6</a></li>
</ul>

Bạn thay đổi các dòng màu đỏ và màu xanh theo ý mình và bấm Lưu lại.
Bạn trở lại vào Blog sẽ thấy có một menu ngang màu đỏ và khi bạn rê chuột vào menu này sẽ có hiệu ứng chuyển động tuyệt đẹp.
Chúc bạn thành công
More about

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

Người đăng: Unknown on Thứ Hai, 23 tháng 5, 2011


Ở 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.
More about

ẨN HIỆN THANH ĐIỀU HƯỚNG

Người đăng: Unknown on Chủ Nhật, 22 tháng 5, 2011

Thanh điều hướng là thanh nằm trên cùng trang Blog của bạn, bạn có thể cho ẩn và khi rê chuột đến đầu trang Blog thanh điều hướng này sẽ xuất hiện để cho bạn thao tác sử dụng...



Đầu tiên, bạn đăng nhập Blog > Chọn thiết kế > chọn Chỉnh sửa HTML, sau đó bấm đồng thời cặp phím Ctrl+F để mở hộp tìm kiếm và gõ vào dòng lệnh  ]]></b:skin>
Bạn copy đoạn code này và dán trên dòng lệnh đó.



Cuối cùng bấm Lưu lại để hoàn tất. Bây giờ bạn trở lại vào Blog xem kết quả nha.
Chúc các bạn thành công.

More about

Tạo bộ đếm số lần xem bài viết cho blogspot v3.0

Người đăng: Unknown on Thứ Sáu, 20 tháng 5, 2011

Ở 2 bài viết trước về bộ đếm số lần xem bài viết, mình có giới thiệu cho các bạn 1 số cách để xem số lần xem bài viết của blog, tuy nhiên các bộ đếm đó thường "chết sớm". Hôm nay mình sẽ giới thiệu cho các bạn cách tạo bộ đếm này (cách này chỉ dùng cho nhưng bạn nào có host riêng). Còn những bạn nào không có host riêng, mình sẽ cho sử dụng thử bộ đếm từ host của mình, sở dĩ mình nói thử là vì chưa biết sẽ như thế nào nếu quá nhiều người sử dụng nó.


Hiện tại Blogger cũng có thể cho ta xem số lần xem bài viết, nhưng chỉ là đối với 10 bài xem nhiều nhất, và thống kê này chỉ mình admin của blog mới có thể xem được, còn khách thì họ chỉ có thể xem tổng số lần xem trang của blog. Trong tương lai không biết blogger có nâng cấp hệ thống này lên ko, ví dụ như thêm hẳn 1 tiện ích cho phép add "số lần xem bài viết" vào mỗi bài viết chẳng hạn. Còn hiện tại cách dùng 1 host trung gian để tạo bộ đếm vẫn còn có ích đối với 1 số bạn, thế nên hôm nay mình tiếp tục cập nhật về vấn đề này.

A. Cách tạo cơ sở dữ liệu trên host:
- Đầu tiên, các bạn tạo mới 1 Database (hoặc cũng có thể sử dụng 1 database có sẵn), ví dụ ở đây mình sẽ gọi nó là fd_database. Sau đó add user vào database này, ví dụ user là : fandung và pass là 123456
- Tiếp tục tạo 1 table có giá trị như bên dưới (ta tạm đặt tên cho table này là fd_counter).
(trong phpMyAdmin, các bạn chọn vào thẻ SQL, rồi dán code bên dưới vào ta sẽ có 1 table)

CREATE TABLE `fd_database`.`fd_counter` (

`SN` BIGINT NOT NULL AUTO_INCREMENT ,

`name` VARCHAR( 1000 ) NOT NULL ,

`hit` BIGINT NOT NULL DEFAULT '1',

PRIMARY KEY ( `SN` )

) ENGINE = MYISAM

- Sau khi thực hiên các bước cần thiết, các bạn download file php này về (fd-counter.rar). Giả nén ra, sau đó dùng Notepad để chỉnh sửa các thông số lại như bên dưới :

$username = "fandung"; // Enter Your Username and Password Here
$password = '123456'; // Enter Your Username and Password Here
$database = 'fd_database'; //Enter Your Database Name Here
$table = "fd_counter"; //Enter Your Counter Table Name Here

Ngoài ra các bạn cần thay đổi 1 vài chỗ nhỏ nữa. Các bạn tìm các dòng code như bên dưới trong file php, và đổi chữ counter thành fd_counter:

...
$query = "Insert into counter (name) values ('$url')";
...
...
$query = "Update counter set hit = $hitcount where name = '$url'";

thay đổi thành :

...
$query = "Insert into fd_counter (name) values ('$url')";
...
...
$query = "Update fd_counter set hit = $hitcount where name = '$url'";

- Lưu ý các giá trị này là các giá trị mẫu như mình nêu ở trên, khi thực hiện trên host của mình các bạn phải thay đổi nó cho phù hợp.
- Sau khi thực hiện xong các bạn up lên host của mình, và các bạn sẽ có 1 file php tương tự như của mình : http://data.fandung.com/blog/fd-counter.php


B. Chèn bộ đếm vào blog:
- Các bạn thực hiện việc chèn code vào blog như ở bài viết này (bộ đếm số lần xem bài viết v2.0)
- Chỉ cần thay code ở bước 5 thành code như bên dưới là được :

<b:if cond='data:blog.pageType == "item"'>
<div id='hit-counter'>
<b>Đã xem :</b> <i><font color='#f00'><script src='http://data.fandung.com/blog/fd-counter.php' type='text/javascript'/> Lần </font></i>
</div>
</b:if>


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

KHẮC PHỤC LỖI SHORTCUT CHẠY CÙNG MỘT ỨNG DỤNG

Người đăng: Unknown

Hiện nay có khá nhiều bạn gặp phải trường hợp là khi bấm đúp chuột vào shortcut trên hệ thống đều chạy cùng một chương trình ứng dụng khi được kích hoạt. Nguyên nhân này là do các virus Spyware trá hình ở các trang Web (đa số là trang Web nước ngoài) xâm nhập vào hệ thống gây ra. Chúng làm thay đổi Key điều khiển chính trong Registry, chính vì vậy dù bạn có diệt hết các Spyware này thì vẫn không khắc phục được tình trạng trên.
Nếu gặp phải trường hợp này, bạn cứ tuần tự làm các bước sau đây:
1/ Ngắt kết nối mạng, dùng các chương trình chuyên dụng để quét Spyware toàn diện hệ thống.
2/ Tải file sửa lỗi Registry TẠI ĐÂY (dung lượng 274KB)
3/ Giải nén file vừa tải về rồi kích hoạt để cập nhật lại hệ thống. Khởi động lại máy, chắc chắn lỗi trên sẽ được khắc phục.
Chúc các bạn thành công.
More about

Lại chuyện gì nữa đây???

Người đăng: Unknown on Thứ Tư, 18 tháng 5, 2011

Hôm nay không biết là ngày gì, vô blog có chuyện, giờ vào yahoo lại thêm 1 chuyện nữa.


Dạo trước có người ganh ghét vô blog comment bậy bạ, giờ lại có người gửi tin nhắn theo kiểu "hù dọa". Người này nói "chúng mày" chắc ám chỉ đến mothuthuat.com, rồi lại còn nhắn là "tao đã lấy sạch data của chúng mày rồi". Không hiểu muốn nói gì, chắc nói đến mấy bài viết, mà bài viết của mình đâu có cấm sao chép, copy gì đâu nhỉ. Lấy thì được gì, chắc muốn tạo 1 trang web nhái với toàn nội dung bài viết của mothuthuat.com đây. Haizzz, thiệt là ...

Từ ngày viết blog đến giờ, mình cũng có kha khá người ủng hộ, bên cạnh đó thì cũng có 1 số có thái độ trái ngược, không biết vì lý do gì, không biết họ làm thế với mục đích gì. Nhưng thôi, viết blog với đam mê là chính, nên ta cứ viết, mặc cho ai làm gì thì làm.
More about

Phát hiện có người sử dụng subdomain của fandung để câu đọc giả

Người đăng: Unknown

Hôm nay đi làm về, như thường lệ mình mở Chrome để vào blog mình, khi truy cập vào blog với tên miền chính (fandung.com) thì mình tá hỏa ra là nó bị chuyển hướng tới 1 subdomain khác của mình (subdomain này mình chưa từng sử dụng trước đây), và subdomain này lại tự động chuyển hướng tới 1 trang web của 1 bạn nào đó (cũng dùng blogspot). Ở đây mình xin được không công bố trang web của bạn này.

Ngay lúc đó chưa kịp suy nghĩ ra chuyện gì đang xảy ra. 1 hồi trấn tĩnh lại mới biết là do sơ xuất của mình mà để cho người khác lợi dụng để trục lợi riêng. Mình xin nói rõ hơn 1 chút cho mọi người biết.
Khi mua tên miền fandung.com, ban đầu ở phần CNAME Records mình đã tạo 1 Name là *.fandung.com với giá trị là ghs.google.com, việc tạo CNAME này sẽ làm cho tất cả subdomain của fandung.com sẽ mặc định được chuyển hướng đến google. Sở dĩ mình làm như vậy là sau này, khi muốn dùng 1 subdomain nào đó cho 1 blog phụ nào đó, thì mình chỉ cần cài đặt trong bảng điều khiển của blogger là xong, không cần phải mất công đăng nhập vào trang domain để tạo 1 CNAME cho nó.
Biết được điều này, đã có người sử dụng nó để PR cho blog của mình. Người này đã tạo 1 blog rác (có thể nói như vậy), rồi vào phần cài đặt để chuyển hướng tới subdomain của mình. Và người này đã sử dụng luôn 1 chức năng của blogger, đó là chuyển hướng từ tên miền chính tới subdomain sẽ sử dụng. Và như thế khi truy cập từ domain fandung.com sẽ tự động nhảy tới subdomain này. Và cuối cùng là người này sẽ dùng blog rác này chuyển hướng 1 lần nữa tới blog chính của mình. Việc này khá là đơn giản, chỉ với 1 đoạn script là ta có thể thực hiện được.
Hiện nay mình đã chỉnh lại các CNAME trong trang domain của mình, khoảng vài tiếng sau thì việc thay đổi này mới có tác dụng.

Cuối cùng mình xin có 1 câu cho bạn đã dùng trái phép doamin của mình : "Nếu muốn người khác biết đến blog của mình, hãy xây dựng blog bằng chính khả năng của mình."
More about

ĐỔI GIAO DIỆN CHO YAHHO MESSENGER

Người đăng: Unknown on Thứ Ba, 17 tháng 5, 2011

Yahoo Massenger là phần mềm chat nổi tiếng và được nhiều người ưa chuộng sử dụng, nếu bạn là "tín đồ" của Y!M bạn có thể thay đổi giao diện "cũ kỹ" của nó thành giao diện giống iPhone (màu đen tuyệt đẹp).




Đầu tiên, bạn tải giao diện Y!M TẠI ĐÂY. (dung lượng chưa đến 1MB, sử dụng tiếng Việt và hoàn toàn miễn phí)
Sau khi tải về, bạn kích đôi file thực thi để cài đặt, một bảng nhỏ hướng dẫn hiện ra, mặc định Y!M được cài đặt ở ổ C (thường là C:\Program files\Yahoo\Messenger) sau đó bạn nhấn Install, còn nếu bạn cài đặt Y!M ở ổ khác thì bạn phải nhấn thẻ Chọn đường dẫn để kiếm nơi cài đặt Y!M và nhấn Install.


Bây giờ, bạn đăng nhập Y!M sẽ thấy Y!M đã khoác lên mình một giao diện màu đen tuyệt đẹp.

Chúc bạn thành công

More about

Hướng dẫn SEO link cho Blogspot

Người đăng: Unknown on Thứ Hai, 16 tháng 5, 2011

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.
More about

TẠO MENU NGANG CÓ NHIỀU MENU CON XỔ DỌC XUỐNG NHIỀU CẤP (KIỂU 1)

Người đăng: Unknown on Chủ Nhật, 15 tháng 5, 2011

Nếu trên Blog của bạn có quá nhiều trang riêng lẻ thì công việc tạo menu ngang là cần thiết, có nhiều cách để tạo ra menu ngang (bạn có thể xem các mẫu menu ngang đơn giản TẠI ĐÂY).
Ngoài cách trên, bạn có thể tạo cho mình một menu có nhiều menu con xổ dọc xuống khi bạn click vào một menu chính bất kỳ, điều này sẽ làm cho Blog bạn trông "gọn gàng" hơn và "Pro" hơn rất nhiều.
Mời bạn bấm Xem thử phía dưới để trải nghiệm trước menu ngang này

Xem thử

Để tạo được như vậy, các bạn cần làm theo các bước sau đây:
Đầu tiên, bạn đăng nhập vào Blog > Chọn bố cục > Thêm tiện ích HTML/Javacript (nếu chưa biết cách thêm tiện ích HTML/Javacript thì mời bạn xem TẠI ĐÂY). Sau đó dán toàn bộ code phía dưới vào.
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<link rel="stylesheet" type="text/css" href="https://dl.dropbox.com/u/66348944/dunghennessy/menungangxodoc1.css" />
<link rel="stylesheet" type="text/css" href="https://dl.dropbox.com/u/66348944/dunghennessy/menungangxodoc1-v.css" />

<script type="text/javascript" src="https://dl.dropbox.com/u/66348944/dunghennessy/jquery.min.js"></script>
<script type="text/javascript" src="https://dl.dropbox.com/u/66348944/dunghennessy/menungangxodoc1.js">

</script>

<script type="text/javascript">

ddsmoothmenu.init({
    mainmenuid: "smoothmenu1", //menu DIV id
    orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v"
    classname: 'ddsmoothmenu', //class added to menu's outer DIV
    //customtheme: ["#1c5a80", "#18374a"],
    contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"]
})

ddsmoothmenu.init({
    mainmenuid: "smoothmenu2", //Menu DIV id
    orientation: 'v', //Horizontal or vertical menu: Set to "h" or "v"
    classname: 'ddsmoothmenu-v', //class added to menu's outer DIV
    //customtheme: ["#804000", "#482400"],
    contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"]
})

</script>

<div id="smoothmenu1" class="ddsmoothmenu">

<ul>

<li><a href="http://www.dunghennessy.blogspot.com">Home</a></li>

<li><a href="#"> Tên menu chính 1 </a>

  <ul>

  <li><a href=" địa chỉ trang "> Tên menu phụ 1 </a></li>
 
<li><a href=" địa chỉ trang "> Tên menu phụ 1 </a></li>
 
<li><a href=" địa chỉ trang "> Tên menu phụ 1 </a></li>
 
<li><a href=" địa chỉ trang "> Tên menu phụ 1 </a></li>  
  <li><a href=" địa chỉ trang "> Tên menu phụ 1 </a></li>
 
<li><a href=" địa chỉ trang "> Tên menu phụ 1 </a></li>
 
<li><a href=" địa chỉ trang "> Tên menu phụ 1 </a></li>
  </ul>

</li>

<li><a href="#"> Tên menu chính 2</a>

  <ul>

  <li><a href=" địa chỉ trang "> Tên menu phụ 2 </a></li>

  <li><a href=" địa chỉ trang "> Tên menu phụ 2 </a></li>
  <li><a href=" địa chỉ trang "> Tên menu phụ 2 </a></li>
  <li><a href=" địa chỉ trang "> Tên menu phụ 2 </a></li>  
  <li><a href=" địa chỉ trang "> Tên menu phụ 2 </a></li>
  <li><a href=" địa chỉ trang "> Tên menu phụ 2 </a></li>
  <li><a href=" địa chỉ trang "> Tên menu phụ 2 </a></li>


  </ul>

</li>

<li><a href=" địa chỉ trang "> Tên menu chính 3</a></li>

<li><a href="#"> Tên menu chính 4</a>

  <ul>

  <li><a href=" địa chỉ trang "> Tên menu phụ 4 </a></li>

  <li><a href="#"> Tên menu phụ 4 </a>

    <ul>

    <li><a href=" địa chỉ trang "> Tên menu phụ 4/1 </a></li>

    <li><a href=" địa chỉ trang "> Tên menu phụ 4/1 </a></li>
    <li><a href="#"> Tên menu phụ 4/2 </a>


  <ul>

      <li><a href=" địa chỉ trang "> Tên menu phụ 4/3 </a></li>

      <li><a href=" địa chỉ trang "> Tên menu phụ 4/3 </a></li>

      <li><a href=" địa chỉ trang "> Tên menu phụ 4/3 </a></li>

      <li><a href=" địa chỉ trang "> Tên menu phụ 4/3 </a></li>

      <li><a href=" địa chỉ trang "> Tên menu phụ 4/3 </a></li>

  </ul>

    </li>

    <li><a href=" địa chỉ trang "> Tên menu phụ 4/2 </a></li>

    </ul>

  </li>

  </ul>

</li>

<li><a href=" địa chỉ trang "> Tên menu chính 5 </a></li>

</ul>

<br style="clear: left" />

</div></!doctype>

Bây giờ bạn chỉ việc thay đổi các dòng lệnh màu đ và màu xanh theo ý của bạn, cuối cùng bấm Lưu và trở lại blog bạn sẽ thấy blog của mình sẽ có một menu ngang xổ dọc xuống các menu con khá tiện dụng...
Chúc bạn thành công

More about

KHUNG CHỨA CODE MÀU XANH

Người đăng: Unknown

Trước đây tôi có đăng bài "Tạo khung chứa code trong bài đăng", nay xin giới thiệu đến các bạn khung chứa code có màu nền xanh. Đây là code của nó


<textarea name="code" rows="2" cols="42" style="background:#A9F5A9;  color:#295F00; border:2px #295F00 dashed; line-height:1.5em;  padding:5px;"> TYPE YOUR TEXT AREA IN HERE </textarea>


Các bước đều giống bài trên nhưng khác ở chỗ sau khi dán code xong, bạn gõ nội dung mà mình muốn hiển thị  thay vào dòng chữ TYPE YOUR TEXT AREA IN HERE ngay tại ô chỉnh sửa HTML luôn, không cần phải bấm vào thẻ VIẾT trên góc phải trang đăng bài.


Bạn có thể thay đổi kích thước khung ở mục "cods" và số dòng ở mục "row"
Chúc bạn vui

More about

TẠO KHUNG CHỨA HÌNH ẢNH

Người đăng: Unknown on Thứ Bảy, 14 tháng 5, 2011

Ngoài việc tạo khung chứa code, bạn cũng có thể tạo khung có thanh trượt để chứa các hình ảnh của mình.
Đầu tiên, bạn đăng nhập Blog > chọn Thiết kế > chọn Thêm Tiện ích > Thêm HTML/Javacript rồi dán tất cả các code này vào:



Bây giờ, bạn thay đổi link ảnhkích thước ảnh mà mình muốn hiển thị, cuối cùng bấm Lưu là xong.
Với code trên ta sẽ được hình như thế này:

scroll

scroll



scroll




Chúc bạn thành công
More about

Xóa hoàn toàn thanh Navbar

Người đăng: Unknown

Thủ thuật ẩn thanh Navbar là 1 trong những thủ thuật
cơ bản mà bất cứ ai muốn blog của mình pro hơn đều biết. Và thủ thuật
này mình cũng đã giới thiệu với các bạn từ rất lâu rồi. Hôm nay mình
tình cờ tìm được 1 thủ thuật khác để làm ẩn thanh Navbar này đi.

remove Navbar - mothuthuat.com

Thủ thuật lần trước (có thể xem thêm ở đây) là ẩn thanh navbar. Đúng với tên gọi của thủ thuật, thanh Navbar vẫn tồn tại ở trên blog của bạn, nhưng nó chỉ bị ẩn đi, tức là blog vẫn load thanh Navbar,và các công dụng của nó vẫn còn trên blog. Còn ở thủ thuật lần này ta sẽ xóa hẳn thanh Navbar.

* Sau đây là các bước thực hiện :

1. Vào bố cục

2. Vào chỉnh sửa code HTML

3. Tìm đến dòng code <body> và chèn vào trước nó đọan code bên dưới :

<script type='text/javascript'>

<![CDATA[

<!--

/*<body>*/

-->

]]>

</script>

4. Sau khi chọn save template, ngay lập tức 1 bảng thông báo sẽ hiển lên như bên dưới

 Navbar - mothuthuat.com

và các bạn chọn Delete Wigets để xóa nó đi.

5. Và như vậy thanh Navbar đã bị xóa hòan tòan khỏi blog của bạn.

- Trước kia, khi ẩn thanh Navbar thì các công cụ chỉnh sửa của blog như : Chỉnh sửa bài viết pencil edit post - mothuthuat.com, chỉnh sửa widget edit widget - mothuthuat.com
vẫn sẽ hiển thị khi bạn đăng nhập quyền Admin của blog, nhưng ở thủ
thuật này thì nó sẽ không còn xuất hiện nữa. Chính vì vậy khi bạn muốn
chỉnh sửa bài viết hay widget thì bạn phải thực hiện trong trang Admin
của bạn.

- Nếu như bạn không thích điều này, và muốn chỉ ẩn thanh Navbar
còn các công cụ chỉnh sửa vẫn sử dụng được thì bạn chỉ việc khôi phục
lại thanh Navbar, để làm điều này bạn chỉ việc làm ngược lại bước 3, tức
là xóa code mà đã thêm ở bước 3.

Tham khảo từ Blogger Plugins
More about