changeset 11:d0f57c5ef95c

the 'issue' GET parameter can now be used to specify an issue number, with 0 being the most recent issue.
author Atul Varma <varmaa@toolness.com>
date Sun, 01 Mar 2009 09:39:23 -0800
parents 63fc59f4bd33
children e357d4e48bb2
files about-mozilla.html about-mozilla.js querystring.js
diffstat 3 files changed, 41 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/about-mozilla.html	Sun Mar 01 09:30:16 2009 -0800
+++ b/about-mozilla.html	Sun Mar 01 09:39:23 2009 -0800
@@ -18,6 +18,7 @@
 </div>
 </body>
 <script src="jquery.js"></script>
+<script src="querystring.js"></script>
 <script src="http://www.google.com/jsapi?key=ABQIAAAAzBIC_wxmje-aKLT3RzZx7BSMyDMkO9FJ67H-yweQ42J8NadmShSzBtxGrM35N4zI4l-rt1mDAF_fPg"></script>
 <script src="about-mozilla.js"></script>
 </html>
--- a/about-mozilla.js	Sun Mar 01 09:30:16 2009 -0800
+++ b/about-mozilla.js	Sun Mar 01 09:39:23 2009 -0800
@@ -51,7 +51,9 @@
     var feed = new google.feeds.Feed(ATOM_URL);
     feed.load(
       function(result) {
-        var entry = result.feed.entries[0];
+        var qs = new Querystring();
+        var issue = qs.get("issue", "0");
+        var entry = result.feed.entries[issue];
         $("#raw-issue").html(entry.content);
         var pubDate = new Date(entry.publishedDate);
         var dateStr = (MONTHS[pubDate.getMonth()] + " " +
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/querystring.js	Sun Mar 01 09:39:23 2009 -0800
@@ -0,0 +1,37 @@
+/* Client-side access to querystring name=value pairs
+	Version 1.2.4
+	30 March 2008
+	Adam Vandenberg
+*/
+function Querystring(qs) { // optionally pass a querystring to parse
+	this.params = {};
+	this.get=Querystring_get;
+
+	if (qs == null);
+		qs=location.search.substring(1,location.search.length);
+
+	if (qs.length == 0)
+		return;
+
+// Turn <plus> back to <space>
+// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
+	qs = qs.replace(/\+/g, ' ');
+	var args = qs.split('&'); // parse out name/value pairs separated via &
+
+// split out each name=value pair
+	for (var i=0;i<args.length;i++) {
+		var pair = args[i].split('=');
+		var name = unescape(pair[0]);
+
+		var value = (pair.length==2)
+			? unescape(pair[1])
+			: name;
+
+		this.params[name] = value;
+	}
+}
+
+function Querystring_get(key, default_) {
+	var value=this.params[key];
+	return (value!=null) ? value : default_;
+}