diff --git a/build/release-notes.js b/build/release-notes.js new file mode 100644 index 00000000..c81060a8 --- /dev/null +++ b/build/release-notes.js @@ -0,0 +1,54 @@ +#!/usr/bin/env node +/* + * jQuery Release Note Generator + */ + +var fs = require("fs"), + http = require("http"), + tmpl = require("mustache"), + extract = /(.*?)<[^"]+"component">\s*(\S+)/g; + +var opts = { + version: "1.6 RC 1", + short_version: "1.6rc1", + final_version: "1.6", + categories: [] +}; + +http.request({ + host: "bugs.jquery.com", + port: 80, + method: "GET", + path: "/query?status=closed&resolution=fixed&component=!web&order=component&milestone=" + opts.final_version +}, function (res) { + var data = []; + + res.on( "data", function( chunk ) { + data.push( chunk ); + }); + + res.on( "end", function() { + var match, + file = data.join(""), + cur; + + while ( (match = extract.exec( file )) ) { + if ( "#" + match[1] !== match[2] ) { + var cat = match[3]; + + if ( !cur || cur.name !== cat ) { + cur = { name: match[3], niceName: match[3].replace(/^./, function(a){ return a.toUpperCase(); }), bugs: [] }; + opts.categories.push( cur ); + } + + cur.bugs.push({ ticket: match[1], title: match[2] }); + } + } + + buildNotes(); + }); +}).end(); + +function buildNotes() { + console.log( tmpl.to_html( fs.readFileSync("release-notes.txt", "utf8"), opts ) ); +} diff --git a/build/release-notes.txt b/build/release-notes.txt new file mode 100644 index 00000000..1d0ae746 --- /dev/null +++ b/build/release-notes.txt @@ -0,0 +1,27 @@ +

jQuery {{version}} Released

+ +

This is a preview release of jQuery. We're releasing it so that everyone can start testing the code in their applications, making sure that there are no major problems.

+ +

You can get the code from the jQuery CDN:

+ +
+ +

You can help us by dropping that code into your existing application and letting us know that if anything no longer works. Please file a bug and be sure to mention that you're testing against jQuery {{version}}.

+ +

We want to encourage everyone from the community to try and get involved in contributing back to jQuery core. We've set up a full page of information dedicated towards becoming more involved with the team. The team is here and ready to help you help us!

+ +

jQuery {{version}} Change Log

+ +

The current change log of the {{version}} release.

+ +{{#categories}} +

{{niceName}}

+ + +{{/categories}}