function links(raw) {

	// I trust del.icio.us.
	var obj = eval(raw);

	// Stop with the spinning.
	var section = document.getElementById("links");
	section.removeChild(section.getElementsByTagName("img")[0]);

	var ii = obj.length;
	for (var i = 0; i < ii; ++i) {
		var article = document.createElement("article");
		article.setAttribute("id", obj[i].dt);

		// Date and linked title.
		var header = document.createElement("header");
		var time = document.createElement("time");
		time.setAttribute("datetime", obj[i].dt);
		time.setAttribute("pubdate", "pubdate");
		time.appendChild(document.createTextNode(obj[i].dt));
		header.appendChild(time);
		var h1 = document.createElement("h1");
		var a = document.createElement("a");
		a.setAttribute("href", obj[i].u);
		a.appendChild(document.createTextNode(obj[i].d));
		h1.appendChild(a);
		header.appendChild(h1);
		article.appendChild(header);

		// Note text and permalink.
		var para = obj[i].n.split("\n\n");
		var jj = para.length - 1;
		for (var j = 0; j <= jj; ++j) {
			para[j] = para[j].replace(/  /, "\u00a0 ");
			var p = document.createElement("p");
			if (j == jj) {
				if (para[j].length) {
					p.appendChild(document.createTextNode(
						para[j] + "\u00a0 "));
				}
				var a = document.createElement("a");
				a.setAttribute("href", "#" + obj[i].dt);
				a.appendChild(document.createTextNode("#"));
				p.appendChild(a);
			}
			else if (para[j].length) {
				p.appendChild(document.createTextNode(para[j]));
			}
			article.appendChild(p);
		}

		section.appendChild(article);
	}

	// Link to del.icio.us/rcrowley.
	var p = document.createElement("p");
	p.appendChild(document.createTextNode("More at "));
	var a = document.createElement("a");
	a.setAttribute("href", "http://del.icio.us/rcrowley");
	a.appendChild(document.createTextNode("del.icio.us/rcrowley"));
	p.appendChild(a);
	p.appendChild(document.createTextNode("."));
	section.appendChild(p);

}
