Skip to content
This repository has been archived by the owner on Mar 1, 2021. It is now read-only.

Commit

Permalink
added keyword deathmatch and some formatting.
Browse files Browse the repository at this point in the history
  • Loading branch information
marcello3d committed Mar 28, 2011
1 parent 5a1b11d commit a2667da
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 7 deletions.
51 changes: 45 additions & 6 deletions lib/www.js
Expand Up @@ -21,13 +21,17 @@ app.configure('production', function(){
})

app.get('/', function(req,res) {

db.packages.find({git:{$exists:true}}).toArray(function(err,packages) {
db.gits.find().toArray(function(err,gits) {
var gitInfos = {}
gits.forEach(function(git) {
gitInfos[git.url] = git.info
})

var tagMap = {}
var tags = []


packages.forEach(function(pack) {
if (pack.git && gitInfos[pack.git.url]) {
pack.gitfo = gitInfos[pack.git.url]
Expand All @@ -48,23 +52,58 @@ app.get('/', function(req,res) {
} else {
pack.tags = [pack.name]
}
pack.tags.forEach(function(tag) {
tag = tag.toLowerCase()
if (!tagMap[tag]) {
tags.push({
name: tag,
packages: tagMap[tag] = [pack]
})
} else {
tagMap[tag].push(pack)
}
})

})
packages.sort(function(a,b) {
function sortScore(a,b) {
if (a.gitfo && b.gitfo) {
if (a.gitfo.score > b.gitfo.score) return -1
if (a.gitfo.score < b.gitfo.score) return 1
return 0
return b.gitfo.score - a.gitfo.score
}
if (a.gitfo) return -1
if (b.gitfo) return 1
return 0
}
packages.sort(sortScore)


tags.sort(function(a,b) {
if (a.name<b.name) return -1
if (a.name>b.name) return 1
return 0
})

var deathMatches = []

tags.forEach(function (tag) {
if (tag.packages.length > 1) {
tag.packages.sort(sortScore)
deathMatches.push({
name: tag.name,
entries: tag.packages
})
}
})

res.render('index.jade', {
layout:false,
title: 'main',
packages:packages
packages:packages,
deathMatches:deathMatches,
stats: {
packages: packages.length,
git: packages.length,
gitreal: packages.length
}
})
})
})
Expand Down
6 changes: 6 additions & 0 deletions public/css/main.css
Expand Up @@ -13,6 +13,12 @@ body {
a {
color: #07e;
}
p,h1,h2,h3 {
margin: 10px 0;
}
li {
margin-left: 20px;
}
table {
border-spacing: 0;
border: 1px solid #000;
Expand Down
37 changes: 36 additions & 1 deletion views/index.jade
Expand Up @@ -9,17 +9,28 @@ html
#header
h1 nithub
#body
p Tracking #{stats.packages} githubbed packages from registry.npmjs.org.
p Contents:
ol
li
a(href="#everything") Everything
li
a(href="#deathmatch") Keyword Deathmatch!
a(name="everything")
h2 Everything
table(class="sortable")
tr
th rank
th package
th author
th link
th(style="text-align:right") watchers
th(style="text-align:right") forks
th(style="text-align:right") score
th tags
- each package in packages
- each package,index in packages
tr
td #{index+1}.
td
a(href="http://search.npmjs.org/#/"+package.name) #{package.name}
td #{package.info.author && package.info.author.name}
Expand All @@ -29,4 +40,28 @@ html
td(style="text-align:right") #{package.gitfo && package.gitfo.forks}
td(style="text-align:right") #{package.gitfo && package.gitfo.score}
td #{package.tags}
a(name="deathmatch")
h2 KEYWORD DEATCHMATCH!
- each deathMatch in deathMatches
h3 `#{deathMatch.name}`
table(class="sortable")
tr
th rank
th package
th author
th link
th(style="text-align:right") watchers
th(style="text-align:right") forks
th(style="text-align:right") score
- each package,index in deathMatch.entries
tr
td #{index+1}
td
a(href="http://search.npmjs.org/#/"+package.name) #{package.name}
td #{package.info.author && package.info.author.name}
td
a(href=package.gitfo && package.gitfo.url || 'http://'+package.git.url) #{package.gitfo && package.gitfo.url || 'http://'+package.git.url }
td(style="text-align:right") #{package.gitfo && package.gitfo.watchers}
td(style="text-align:right") #{package.gitfo && package.gitfo.forks}
td(style="text-align:right") #{package.gitfo && package.gitfo.score}

0 comments on commit a2667da

Please sign in to comment.