Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added support for post tags

  • Loading branch information...
commit 6df6f655df1d09c4340e4027438f449ea11d4a90 1 parent 181e61b
@bleathem authored
Showing with 88 additions and 5 deletions.
  1. +2 −1  _ext/pipeline.rb
  2. +6 −0 _layouts/default.html.haml
  3. +10 −3 _tools/convert/convert.rb
  4. +10 −0 index.html.haml
  5. +1 −0  posts/2010-01-20-glassfish-v2-and-v3-on-same-host-behind.textile
  6. +1 −0  posts/2010-04-10-from-svn-to-mercurial-hg-rises.textile
  7. +1 −0  posts/2010-06-25-jsf-validation-failed-notice.textile
  8. +1 −0  posts/2010-11-20-cdi-does-events-too.textile
  9. +1 −0  posts/2011-08-16-richfaces-410m1-release-announcement.textile
  10. +1 −0  posts/2011-08-16-seam-faces-302final-released.textile
  11. +1 −0  posts/2011-09-01-richfaces-4-cdk-introduction.textile
  12. +1 −0  posts/2011-09-08-seam-faces-community-hack-night.textile
  13. +1 −0  posts/2011-09-10-richfaces-4-cdk-hello-world.textile
  14. +1 −0  posts/2011-09-21-richfaces-4-cdk-input-component.textile
  15. +1 −0  posts/2011-09-21-richfaces-410m2-release-announcement.textile
  16. +1 −0  posts/2011-10-07-richfaces-4-cdk-jquery-ui-calendar.textile
  17. +1 −0  posts/2011-10-27-richfaces-410m3-release-announcement.textile
  18. +1 −0  posts/2011-11-09-richfaces-410m4-release-announcement.textile
  19. +1 −0  posts/2011-11-23-richfaces-410cr1-release-announcement.textile
  20. +1 −0  posts/2011-11-29-richfaces-4-cdk-jqeury-ui-tabs.textile
  21. +1 −0  posts/2011-12-06-richfaces-410cr2-release-announcement.textile
  22. +1 −0  posts/2011-12-09-state-of-richfaces.textile
  23. +1 −0  posts/2011-12-13-richfaces-410final-release-announcement.textile
  24. +1 −0  posts/2012-02-08-richfaces-420cr1-release-announcement.textile
  25. +1 −0  posts/2012-02-23-richfaces-420final-release-announcement.textile
  26. +1 −0  posts/2012-04-04-richfaces-421cr1-release-announcement.textile
  27. +1 −0  posts/2012-04-17-richfaces-421final-release-announcement.textile
  28. +1 −0  posts/2012-05-04-richfaces-bootstrap.textile
  29. +1 −0  posts/2012-05-15-richfaces-422final-release-announcement.textile
  30. +35 −1 stylesheets/blog.scss
View
3  _ext/pipeline.rb
@@ -6,5 +6,6 @@
extension Awestruct::Extensions::Posts2.new( '/posts', :posts )
extension PostsMap.new
extension Awestruct::Extensions::Paginator.new( :posts, '/index', :per_page=>7 )
- # extension Awestruct::Extensions::Indexifier.new
+ extension Awestruct::Extensions::Tagger.new( :posts, '/index', '/posts/tags', :per_page=>10 )
+ extension Awestruct::Extensions::TagCloud.new( :posts, 'blog/tags/index.xhtml')
end
View
6 _layouts/default.html.haml
@@ -35,6 +35,12 @@ layout: base
:alt => "profile for Brian Leathem at Stack Overflow, Q&A for professional and enthusiast programmers",
:title => "profile for Brian Leathem at Stack Overflow, Q&A for professional and enthusiast programmers"}
%hr
+ .title Tags
+ .row-fluid
+ .span1  
+ .span10.tags
+ = site.posts_tag_cloud
+ %hr
.title Blog Archive
.archive
%ul#years
View
13 _tools/convert/convert.rb
@@ -24,9 +24,12 @@ def parse_entries()
id = entry.xpath("atom:id", "atom" => "http://www.w3.org/2005/Atom").text
categories = entry.xpath("atom:category", "atom" => "http://www.w3.org/2005/Atom")
is_post = false
+ tags = []
categories.each do |category|
if (category['term'] == 'http://schemas.google.com/blogger/2008/kind#post')
is_post = true
+ else
+ tags << category['term']
end
end
next if (! is_post)
@@ -37,11 +40,11 @@ def parse_entries()
clothred = ClothRed.new(text)
textile = clothred.to_textile
#puts markdown
- write_entry(entry, content, textile)
+ write_entry(entry, content, textile, tags)
end
end
- def write_entry(entry, content, textile)
+ def write_entry(entry, content, textile, tags)
#puts
#puts entry
date_str = entry.xpath("atom:published", "atom" => "http://www.w3.org/2005/Atom").text + " +0000"
@@ -60,7 +63,11 @@ def write_entry(entry, content, textile)
path = '_site/posts/'+filename
title = entry.xpath("atom:title", "atom" => "http://www.w3.org/2005/Atom").text
- head = "---\nlayout: post\ntitle: \"#{title}\"\n---\n\n"
+ head = "---\nlayout: post\ntitle: \"#{title}\"\n"
+ if (tags.any?)
+ head = head + "tags: [ #{tags.join(', ')} ]\n"
+ end
+ head = head + "---\n\n"
textile = head + textile
textile.gsub!( %r{#\{}, '\#{' )
View
10 index.html.haml
@@ -8,6 +8,16 @@ layout: default
%h2
%a{:href=>post.url}= post.title
= post.content
+ - if post.tags
+ .tags
+ %span.title
+ tags:
+ -for tag in post.tags
+ %a{:href => "/posts/tags/#{tag}"}
+ -if (tag != post.tags.last)
+ = "#{tag}, "
+ -else
+ = "#{tag} "
%hr
= page.posts.links
View
1  posts/2010-01-20-glassfish-v2-and-v3-on-same-host-behind.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "Glassfish V2 and V3 on the same host, behind mod_jk"
+tags: [ mod_jk, JavaEE, JSF, glassfish ]
---
p. I've jumped on the JavaEE 6 bandwagon, with one application already in production. The developer productivity improvements in JavaEE6/Glassfish V3 are tremendous. The only downside is that I still have some JavaEE 5 applications in production. The JavaEE 5 apps can't migrate to JavaEE 6 until Icefaces supports JSF 1.2.
View
1  posts/2010-04-10-from-svn-to-mercurial-hg-rises.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "From svn to mercurial, the hg rises!"
+tags: [ mercurial, mvn, migrate, subversion, ldap, hudson, hg, maven, svn ]
---
I've been toying with the idea of moving from svn to a distributed version control system (dvcs) for a long time. I held back, hoping the mercurial (hg) vs. git "war" would declare a winner, but as major projects started adopting the two dvcs's, it became apparent to me that neither tool was going to disappear anytime soon. This notion was cemented for me when I read a forum post saying <pre>hg = git >> svn</pre>That settled it. I had to pick one, and move forward. I chose mercurial, not because it stood out above git, but it seemed to be more widely adopted in the communities I was interested in. Joel Spolsky's <a href="http://hginit.com">mercurial primer</a> settled it for me. Mercurial was on it's way in. I had identified identified some key obstacles I needed to overcome to replace my subversion infrastructure with a new mercurial one. I had to figure out: <ol><li><a href="#install">How to install hg in CENTOS 5</a> </li>
View
1  posts/2010-06-25-jsf-validation-failed-notice.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "JSF Validation Failed Notice"
+tags: [ jsf2, JSF, validation ]
---
Here's how I show a notice on a JSF 2 page indicating that the JSF 2 postback failed due to validation errors. The following facelet snippet is rendered only when validation fails:
View
1  posts/2010-11-20-cdi-does-events-too.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "CDI does events too!"
+tags: [ java ee 6, cdi ]
---
CDI is the new programming model introduced with Java EE 6. An acronym for Contexts and Dependency Injection, CDI advertises well two of the programming paradigms it aims to solve. But there is another, often overlooked sibling: Event handling. While I'd heard it mentioned in the context of CDI, I'd never really paid much attention - I was probably too busy trying to wrap my head around Conversations, and how CDI provides Dependency Injection. And me being me, once I learn something cool, I have to tell everyone who will isten all about it!
View
1  posts/2011-08-16-richfaces-410m1-release-announcement.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4.1.0.M1 Release Announcement"
+tags: [ RF41, RichFaces ]
---
<div style="background-color: transparent;">
View
1  posts/2011-08-16-seam-faces-302final-released.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "Seam Faces 3.0.2.Final released"
+tags: [ seam ]
---
View
1  posts/2011-09-01-richfaces-4-cdk-introduction.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4 CDK | Introduction"
+tags: [ RichFaces ]
---
View
1  posts/2011-09-08-seam-faces-community-hack-night.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "Seam Faces Community Hack Night"
+tags: [ seam, RichFaces ]
---
**<u><span class="Apple-style-span" style="font-size: large;">Seam Faces Community Hack Night!</span></u>**
View
1  posts/2011-09-10-richfaces-4-cdk-hello-world.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4 CDK | Hello World"
+tags: [ CDK, RichFaces ]
---
This is the first technical post of my CDK series. Starting real simple, we'll create a component that produces a __hello world__ output. "Why start with a hello world? Isn't that a little cliche?". Well indeed it is, but it is by far the best way to point out the fundamental pieces of the CDK, and how they together. We'll build a strong foundation in our understanding of the CDK, on which we can build more interesting components in future posts.
View
1  posts/2011-09-21-richfaces-4-cdk-input-component.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4 CDK | Input Component"
+tags: [ CDK, RichFaces ]
---
With our <a href="http://blog.bleathem.ca/2011/09/richfaces-4-cdk-hello-world.html">last component</a>, we saw how we
View
1  posts/2011-09-21-richfaces-410m2-release-announcement.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4.1.0.M2 Release Announcement"
+tags: [ RF41, RichFaces ]
---
The Richfaces 4.1 milestone releases are trucking along. With <a href="http://blog.bleathem.ca/2011/08/richfaces-410m1-release-announcement.html">M1</a>, we had a focus on changes surrounding project infrastructure, and the introduction of some new components. Now with <a href="https://issues.jboss.org/browse/RF/fixforversion/12316708">M2</a> we see updates to the core, and a stabilization of both the new components and the framework as a whole.
View
1  posts/2011-10-07-richfaces-4-cdk-jquery-ui-calendar.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4 CDK | jQuery UI Calendar"
+tags: [ CDK, RichFaces ]
---
Further incrementing the complexity over the <a href="http://blog.bleathem.ca/2011/09/richfaces-4-cdk-input-component.html">input component</a> we created previously, this time we will create a JSF calendar component. Being pragmatic OSS developers, we will leverage the existing javascript of the <a href="http://jqueryui.com/demos/datepicker/">datepicker</a> component from the <a href="http://jqueryui.com/">jQuery UI</a> project, and we'll see how well the RichFaces CDK lends itself to mapping JSF component attributes into javascript configuration options.
View
1  posts/2011-10-27-richfaces-410m3-release-announcement.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4.1.0.M3 Release Announcement"
+tags: [ RF41, RichFaces ]
---
View
1  posts/2011-11-09-richfaces-410m4-release-announcement.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4.1.0.M4 Release Announcement"
+tags: [ RF41, RichFaces ]
---
The RichFaces 4.1 Milestone 4 release is now available for <a href="http://www.jboss.org/richfaces/download/milestones">download</a>! With this <a href="https://issues.jboss.org/browse/RF/fixforversion/12317054">M4</a> release we focused on stabilizing the features we introduced in the earlier 4.1 release-train milestones (<a href="http://blog.bleathem.ca/2011/08/richfaces-410m1-release-announcement.html">M1</a>, <a href="http://blog.bleathem.ca/2011/09/richfaces-410m2-release-announcement.html">M2</a>, <a href="http://blog.bleathem.ca/2011/10/richfaces-410m3-release-announcement.html">M3</a>). The release following M4 will be our 4.1 release candidate, so we want to make sure we achieve maximum stability with M4. Some of the key areas we touched are listed below.
View
1  posts/2011-11-23-richfaces-410cr1-release-announcement.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4.1.0.CR1 Release Announcement"
+tags: [ RF41, RichFaces ]
---
I’m excited to announce the availability of RichFaces<a href="https://issues.jboss.org/browse/RF/fixforversion/12317055"> 4.1.0.CR1</a>, the first release candidate for RichFaces 4.1.0. Stability of the platform has been a strong focus for all the RichFaces 4.1.0 <a href="http://blog.bleathem.ca/search/label/RF41">milestone releases</a>, and has been even more so of a focus for our CR1 release.
View
1  posts/2011-11-29-richfaces-4-cdk-jqeury-ui-tabs.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4 CDK | jQeury UI Tabs"
+tags: [ CDK, RichFaces ]
---
Following on with another entry in my <a href="http://blog.bleathem.ca/search/label/CDK">CDK series</a>, this time we will look at at creating a pair of components to wrap the <a href="http://jqueryui.com/demos/tabs/">jQuery UI tabs plugin</a> with the RichFaces CDK. It'll take two components to accomplish this; one component to define the tab container, and another to define the tabs themselves. Let's dive right in with a look at the Abstract component definitions.
View
1  posts/2011-12-06-richfaces-410cr2-release-announcement.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4.1.0.CR2 Release Announcement"
+tags: [ RF41, RichFaces ]
---
View
1  posts/2011-12-09-state-of-richfaces.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "State of the RichFaces"
+tags: [ RichFaces ]
---
View
1  posts/2011-12-13-richfaces-410final-release-announcement.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4.1.0.Final Release Announcement"
+tags: [ RF41, RichFaces ]
---
<div class="separator" style="clear: both; text-align: center;">
View
1  posts/2012-02-08-richfaces-420cr1-release-announcement.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4.2.0.CR1 Release Announcement"
+tags: [ RF42, RichFaces ]
---
I’m excited to announce the availability of RichFaces <a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310341&version=12318573">4.2.0.CR1</a>, our release candidate for RichFaces 4.2.0. &nbsp;Hot on the heels of the RichFaces <a href="http://blog.bleathem.ca/2011/12/richfaces-410final-release-announcement.html">4.1 release</a>, Richfaces 4.2 delivers some "missing" components migrated from RichFaces 3, and offers usability and API improvements for those looking to take advantage of our resource loading optimizations, and push API. &nbsp;Not to forget a significant number of bug fixes, and overall usability improvements.
View
1  posts/2012-02-23-richfaces-420final-release-announcement.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4.2.0.Final Release Announcement"
+tags: [ RF42, RichFaces ]
---
Richfaces <a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310341&version=12318970">4.2.0.Final</a> is now available for download! A quick follow on to our <a href="http://blog.bleathem.ca/2011/12/richfaces-410final-release-announcement.html">4.1 release</a>, Richfaces 4.2 delivers some “missing” components migrated from RichFaces 3, and provides usability and API improvements for resource loading optimizations and the push API. Documentation was a huge effort for this release; we are delivering an updated and complete <a href="http://docs.jboss.org/richfaces/latest_4_X/vdldoc/">VDL taglib doc</a>, along with our more well established <a href="http://docs.jboss.org/richfaces/latest_4_X/Developer_Guide/">Developer Guide</a>, and <a href="http://docs.jboss.org/richfaces/latest_4_X/Component_Reference/">Components Reference</a>.
View
1  posts/2012-04-04-richfaces-421cr1-release-announcement.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4.2.1.CR1 Release Announcement"
+tags: [ RF42, RichFaces ]
---
We've released RichFaces <a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310341&version=12319019">4.2.1.CR1</a> - the first candidate release for the first 4.2 micro release. This release comes with&nbsp;initial support for rapid component development with the CDK and jRebel, and&nbsp;a new archetype demonstrating (among other things) a mobile RichFaces application,. For the most part however, this release focuses on bug-fixes and stability of the components and framework.
View
1  posts/2012-04-17-richfaces-421final-release-announcement.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4.2.1.Final Release Announcement"
+tags: [ RF42, RichFaces ]
---
We've&nbsp;released RichFaces<a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310341&version=12319306"> 4.2.1.Final</a> - the first micro release for the 4.2 release train. Since the CR1 release we've primarily addressed bugs with the Richfaces showcase and the RichFaces archetypes. &nbsp;CR1 itself focused on bug fixes and stability improvements throughout the framework.
View
1  posts/2012-05-04-richfaces-bootstrap.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces Bootstrap"
+tags: [ Bootstrap, CDK, RichFaces ]
---
I'm happy to share the news that the RichFaces community has started an effort to wrap <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap</a> with the RichFaces <a href="https://community.jboss.org/wiki/RichFacesCDKHowTos">CDK</a>. If you haven't yet heard, Twitter's Bootstrap project is a set of HTML/CSS/js "widgets" that you can use for building a website/web application with an emphasis on a fluid layouts that adapt well to mobile devices. The RichFaces community effort centres around <a href="https://github.com/richfaces/sandbox/tree/develop/bootstrap">providing a set</a>&nbsp;of first-class JSF components built using these Bootstrap widgets via the RichFaces CDK.
View
1  posts/2012-05-15-richfaces-422final-release-announcement.textile
@@ -1,6 +1,7 @@
---
layout: post
title: "RichFaces 4.2.2.Final Release Announcement"
+tags: [ RF42, RichFaces ]
---
RichFaces<a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310341&version=12319519"> 4.2.2.Final</a> is available, the second RichFaces 4.2 micro release. This release was originally intended to focus on changes required to better align with the upcoming JBoss AS 7.1.2 release. However we had some community members step forward with some fixes, and those contributions ended up turning this release into a reasonable bug fix release!
View
36 stylesheets/blog.scss
@@ -71,4 +71,38 @@
margin: 0;
display: block;
float:left;
-}
+}
+
+.tags {
+ text-transform: uppercase;
+}
+
+.tags .title {
+ font-size: 12px;
+ color: #909090;
+}
+
+@mixin tag-cloud-groups($groups, $increment: .1) {
+ @for $n from 0 through ($groups - 1) {
+ $opacity: $n * .05 + .8;
+ @if $opacity > 1 {
+ $opacity: 1;
+ }
+ .tag-#{$n} {
+ font-size: #{1 + $n * $increment}em;
+ opacity: $opacity;
+ }
+ }
+}
+
+// Tag cloud styling
+
+.tag-cloud {
+ @include tag-cloud-groups(12, .15);
+ a {
+ padding: 3px;
+ text-decoration: none;
+ white-space: nowrap;
+ }
+ text-align : center;
+}
Please sign in to comment.
Something went wrong with that request. Please try again.