Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Upgraded the Taggable and Screencast plugins. Also added 'browse tags…

…' pages to both the plugins and screencasts sections of the site.
  • Loading branch information...
commit 86981151cae8ca7a8ce9a56aefc207ce15ec9699 1 parent 559e977
@pledbrook pledbrook authored
View
4 grails.org/grails-app/conf/BuildConfig.groovy
@@ -33,13 +33,13 @@ grails.project.dependency.resolution = {
":rateable:0.6.2",
":resources:1.0-RC2-SNAPSHOT",
":richui:0.6",
- ":screencasts:0.5",
+ ":screencasts:0.5.1",
":searchable:0.5.5.1",
":shiro:1.1.1",
":simple-blog:0.1.5",
":springcache:1.2",
":spring-events:1.0",
- ":taggable:0.6.2",
+ ":taggable:0.6.3",
":yui:2.7.0.1",
":zipped-resources:1.0-RC1"
View
2  grails.org/grails-app/conf/UrlMappings.groovy
@@ -35,6 +35,7 @@ class UrlMappings {
"/plugin/showComment/$id"(controller: "plugin", action: "showComment")
"/plugins/category/$category"(controller: "plugin", action: "home")
"/plugins/tag/$tagName"(controller: "plugin", action: "browseByTag")
+ "/plugins/tags"(controller: "plugin", action: "browseTags")
"/content/postComment/$id"(controller: "content", action:"postComment")
@@ -65,6 +66,7 @@ class UrlMappings {
"/previous/$id/$number"(controller: "content", action: "previousWikiVersion")
"/screencasts"(controller:"screencast", action:"list")
+ "/screencasts/tags"(controller:"screencast", action:"browseTags")
"/screencast/save"(controller:"screencast", action:"save")
"/screencast/search"(controller:"screencast", action:"search")
"/screencast/update"(controller:"screencast", action:"update")
View
11 grails.org/grails-app/controllers/org/grails/plugin/PluginController.groovy
@@ -24,6 +24,7 @@ class PluginController extends BaseWikiController {
static int PORTAL_MAX_RESULTS = 5
static int PORTAL_MIN_RATINGS = 1
+ def taggableService
def wikiPageService
def pluginService
def commentService
@@ -342,6 +343,16 @@ class PluginController extends BaseWikiController {
}
}
+ /**
+ * Displays a cloud of all the tags attached to plugins.
+ */
+ def browseTags = {
+ // Get hold of all the plugin tags. This service method returns a map of tag
+ // names to counts, i.e. how many plugins have been tagged with each tag.
+ def allPluginTags = taggableService.getTagCounts("plugin").sort()
+ [tags: allPluginTags]
+ }
+
def showComment = {
def link = CommentLink.findByCommentAndType(Comment.get(params.id), 'plugin', [cache:true])
def plugin = Plugin.get(link.commentRef)
View
1  grails.org/grails-app/i18n/messages.properties
@@ -75,6 +75,7 @@ user.email.unique=There is already a user with the specified e-mail registered w
auth.password.mismatch=Entered passwords do not match
auth.user.does.not.exist=User account not found when creating page, perhaps your session timed out?
screencasts.home.title=Grails Screencasts
+screencasts.browse.tags=Screencast tags
screencasts.rss.feed.title=Grails Screencasts
screencasts.rss.feed.description=The latest screencasts from the Grails.org community
plugin.currentRelease.matches.invalid=Plugin version is not formatted properly. Should be MAJOR.MINOR.BUGFIX(-SNAPSHOT).
View
3  grails.org/grails-app/views/plugin/_searchBar.gsp
@@ -2,5 +2,6 @@
<g:form name="pluginSearch" action="search">
<input class="searchInput" type="text" name="q" value="${q}"/>
<input class="searchButton" type="image" src="${resource(dir:'images/new/plugins/Buttons', file:'search_btn.png')}" value="Search"/>
+ or <g:link controller="plugin" action="browseTags">browse tags</g:link>
</g:form>
-</div>
+</div>
View
15 grails.org/grails-app/views/plugin/browseTags.gsp
@@ -0,0 +1,15 @@
+<head>
+ <title>Plugins</title>
+ <meta content="pluginNav" name="layout"/>
+
+ <rateable:resources />
+ <link rel="stylesheet" href="${resource(dir: 'css', file: 'ratings.css')}"/>
+
+</head>
+<body>
+ <h2>Plugin tags</h2>
+ <site:tagCloud tags="${tags}"/>
+</body>
+</html>
+
+
View
42 grails.org/web-app/css/new/master.css
@@ -344,3 +344,45 @@ h1, h2, h3, h4, h5, h6 {
}
+/*
+ * The following tag clouds styles shouldn't really need the #contentCenter
+ * prefix, but without it they are overpowered by a '#contentBody li' style.
+ */
+#contentCenter ol.tagCloud {
+ list-style-type: none;
+}
+
+#contentCenter ol.tagCloud li {
+ display: inline-block;
+ padding: 3px;
+}
+
+#contentCenter ol.tagCloud li a {
+ text-decoration: none;
+}
+
+.ie6 #contentCenter ol.tagCloud li {
+ zoom: 1;
+ display: inline;
+}
+
+#contentCenter ol.tagCloud li.smallest {
+ font-size: 80%;
+}
+
+#contentCenter ol.tagCloud li.small {
+ font-size: 90%;
+}
+
+#contentCenter ol.tagCloud li.medium {
+ font-size: 100%;
+}
+
+#contentCenter ol.tagCloud li.large {
+ font-size: 120%;
+}
+
+#contentCenter ol.tagCloud li.largest {
+ font-size: 150%;
+}
+
View
7 grails.org/web-app/css/new/plugins.css
@@ -163,7 +163,7 @@ body {
#searchBar .searchInput {
margin: 15px 10px 15px 15px;
height: 20px;
- width: 500px;
+ width: 390px;
border: none;
background: transparent;
color: #48802C;
@@ -176,6 +176,11 @@ body {
margin: 5px;
}
+#searchBar a {
+ color: #48802C;
+ text-decoration: none;
+}
+
#searchBar .searchButton {
width: 104px;
height: 36px;
View
3  grails.org/web-app/css/new/subpage.css
@@ -244,6 +244,9 @@ textarea {
#contentBody #searchBox {
margin-bottom:30px;
}
+#contentBody #searchBox div {
+ margin: 10px 0;
+}
.screencasts .screencast h2 a {
color: #48802C; border: inherit; text-decoration: none;
}
Please sign in to comment.
Something went wrong with that request. Please try again.