Blogger: Hide Labels of Small Amount of Posts from Label Widget

The Problem:
Blogger (Blogspot) Label widget allows us to show all labels, or show specific labels. But in some cases, we may want to show all labels except which just has a small amount of posts - such as less than 5. - or show all except some specific labels.
The Solution
We can use JavaScript to hide unwanted labels, but this is kind of inefficient, this logic is better to be implemented in server side. So we should kind of change the implementation of label widget to add a more check.

Go to the dashboard of your blogger, select Template -> select Edit HTML. In the Jump to Widget dropdown list, select Label1. This will jump to the definition of Label1. Look at the code, it basically loop and output all labels. All we have to do is to add a condition, so if the label has less than 5 posts, ignore it.

We can also change the code to ignore some labels, based on its name: data:label.name.

The complete code is like below: 
All we have to do is to add a check: data:label.count >= 5 around the loop:
<b:widget id='Label1' locked='false' title='Labels' type='Label'>
 <b:includable id='main'>
  <b:if cond='data:title'>
   <h2>
    <data:title/>
   </h2>
  </b:if>
  <div expr:class='"widget-content " + data:display + "-label-widget-content"'>
   <b:if cond='data:display == "list"'>
    <ul>
     <b:loop values='data:labels' var='label'>
      <b:if cond='data:label.count >= 5'>          
       <li>
        <b:if cond='data:blog.url == data:label.url'>
         <span expr:dir='data:blog.languageDirection'>
          <data:label.name/>
         </span>
         <b:else/>
         <a expr:dir='data:blog.languageDirection' expr:href='data:label.url'>
          <data:label.name/>
         </a>
        </b:if>
        <b:if cond='data:showFreqNumbers'>
         <span dir='ltr'>(<data:label.count/>)</span>
        </b:if>
       </li>
      </b:if>   
     </b:loop>
    </ul>
    <b:else/>
    <b:loop values='data:labels' var='label'>
     <b:if cond='data:label.count >= 5'>        
      <span expr:class='"label-size label-size-" + data:label.cssSize'>
       <b:if cond='data:blog.url == data:label.url'>
        <span expr:dir='data:blog.languageDirection'>
         <data:label.name/>
        </span>
        <b:else/>
        <a expr:dir='data:blog.languageDirection' expr:href='data:label.url'>
         <data:label.name/>
        </a>
       </b:if>
       <b:if cond='data:showFreqNumbers'>
        <span class='label-count' dir='ltr'>(<data:label.count/>)</span>
       </b:if>
      </span>
     </b:if>    
    </b:loop>
   </b:if>
   <b:include name='quickedit'/>
  </div>
 </b:includable>
</b:widget>

Post a Comment

Labels

Java (159) Lucene-Solr (110) All (58) Interview (58) J2SE (53) Algorithm (43) Soft Skills (36) Eclipse (34) Code Example (31) Linux (24) JavaScript (23) Spring (22) Windows (22) Web Development (20) Nutch2 (18) Tools (18) Bugs (17) Debug (15) Defects (14) Text Mining (14) J2EE (13) Network (13) PowerShell (11) Chrome (9) Design (9) How to (9) Learning code (9) Performance (9) UIMA (9) html (9) Dynamic Languages (8) Http Client (8) Maven (8) Security (8) Trouble Shooting (8) bat (8) blogger (8) Big Data (7) Continuous Integration (7) Google (7) Guava (7) JSON (7) Problem Solving (7) ANT (6) Coding Skills (6) Database (6) Scala (6) Shell (6) css (6) Algorithm Series (5) Cache (5) IDE (5) Lesson Learned (5) Programmer Skills (5) System Design (5) Tips (5) adsense (5) xml (5) AIX (4) Code Quality (4) GAE (4) Git (4) Good Programming Practices (4) Jackson (4) Memory Usage (4) Miscs (4) OpenNLP (4) Project Managment (4) Python (4) Spark (4) Testing (4) ads (4) regular-expression (4) Android (3) Apache Spark (3) Become a Better You (3) Concurrency (3) Eclipse RCP (3) English (3) Happy Hacking (3) IBM (3) J2SE Knowledge Series (3) JAX-RS (3) Jetty (3) Restful Web Service (3) Script (3) regex (3) seo (3) .Net (2) Android Studio (2) Apache (2) Apache Procrun (2) Architecture (2) Batch (2) Bit Operation (2) Build (2) Building Scalable Web Sites (2) C# (2) C/C++ (2) CSV (2) Career (2) Cassandra (2) Distributed (2) Fiddler (2) Firefox (2) Google Drive (2) Gson (2) Html Parser (2) Http (2) Image Tools (2) JQuery (2) Jersey (2) LDAP (2) Life (2) Logging (2) Software Issues (2) Storage (2) Text Search (2) xml parser (2) AOP (1) Application Design (1) AspectJ (1) Chrome DevTools (1) Cloud (1) Codility (1) Data Mining (1) Data Structure (1) ExceptionUtils (1) Exif (1) Feature Request (1) FindBugs (1) Greasemonkey (1) HTML5 (1) Httpd (1) I18N (1) IBM Java Thread Dump Analyzer (1) JDK Source Code (1) JDK8 (1) JMX (1) Lazy Developer (1) Mac (1) Machine Learning (1) Mobile (1) My Plan for 2010 (1) Netbeans (1) Notes (1) Operating System (1) Perl (1) Problems (1) Product Architecture (1) Programming Life (1) Quality (1) Redhat (1) Redis (1) Review (1) RxJava (1) Solutions logs (1) Team Management (1) Thread Dump Analyzer (1) Troubleshooting (1) Visualization (1) boilerpipe (1) htm (1) ongoing (1) procrun (1) rss (1)

Popular Posts