annotate thingy.js @ 12:947df63942ed

Added a pixel of padding for background of code sections so that single-pixel slivers don't appear.
author Atul Varma <varmaa@toolness.com>
date Tue, 06 Jan 2009 01:49:23 -0800
parents d0e32e673d94
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
1 var App = {
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
2 FILENAME: "samplecode.js"
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
3 };
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
4
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
5 App.trim = function trim(str) {
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
6 return str.replace(/^\s+|\s+$/g,"");
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
7 };
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
8
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
9 App.processCode = function processCode(code) {
3
0c1314b3ea79 Removed narcissus, since it doesn't support JS 1.7 syntax.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
10 var lines = code.split('\n');
4
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
11 var blocks = [];
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
12 var blockText = "";
7
0d5b69cd01db Added a CSS sheet and a basic two-column layout.
Atul Varma <varmaa@toolness.com>
parents: 6
diff changeset
13 var codeText = "";
4
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
14 var firstCommentLine;
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
15 var lastCommentLine;
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
16
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
17 function maybeAppendBlock() {
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
18 if (blockText)
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
19 blocks.push({text: blockText,
6
dc88b0e46f2d We now record number of lines of comment blocks.
Atul Varma <varmaa@toolness.com>
parents: 5
diff changeset
20 lineno: firstCommentLine,
7
0d5b69cd01db Added a CSS sheet and a basic two-column layout.
Atul Varma <varmaa@toolness.com>
parents: 6
diff changeset
21 numLines: lastCommentLine - firstCommentLine + 1,
0d5b69cd01db Added a CSS sheet and a basic two-column layout.
Atul Varma <varmaa@toolness.com>
parents: 6
diff changeset
22 code: codeText});
4
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
23 }
0
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
24
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
25 jQuery.each(
3
0c1314b3ea79 Removed narcissus, since it doesn't support JS 1.7 syntax.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
26 lines,
4
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
27 function(lineNum) {
3
0c1314b3ea79 Removed narcissus, since it doesn't support JS 1.7 syntax.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
28 var line = this;
10
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
29 var isCode = true;
4
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
30 var isComment = (App.trim(line).indexOf("//") == 0);
10
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
31 if (isComment) {
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
32 var startIndex = line.indexOf("//");
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
33 var text = line.slice(startIndex + 3);
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
34 if (lineNum == lastCommentLine + 1) {
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
35 blockText += text + "\n";
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
36 lastCommentLine += 1;
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
37 isCode = false;
11
d0e32e673d94 Swapped samplecode.js w/ utils.js from Ubiquity.
Atul Varma <varmaa@toolness.com>
parents: 10
diff changeset
38 } else if (text[0] == "=" || text[0] == "*") {
10
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
39 maybeAppendBlock();
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
40 firstCommentLine = lineNum;
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
41 lastCommentLine = lineNum;
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
42 blockText = text + "\n";
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
43 codeText = "";
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
44 isCode = false;
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
45 }
7
0d5b69cd01db Added a CSS sheet and a basic two-column layout.
Atul Varma <varmaa@toolness.com>
parents: 6
diff changeset
46 }
10
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
47 if (isCode)
5418d21d7751 Only comment blocks that begin with heading-style wiki markup are treated as documentation now.
Atul Varma <varmaa@toolness.com>
parents: 8
diff changeset
48 codeText += line + "\n";
0
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
49 });
4
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
50 maybeAppendBlock();
0
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
51
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
52 var creole = new Parse.Simple.Creole(
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
53 {interwiki: {
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
54 WikiCreole: 'http://www.wikicreole.org/wiki/',
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
55 Wikipedia: 'http://en.wikipedia.org/wiki/'
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
56 },
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
57 linkFormat: ''
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
58 });
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
59
4
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
60 jQuery.each(
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
61 blocks,
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
62 function(i) {
7
0d5b69cd01db Added a CSS sheet and a basic two-column layout.
Atul Varma <varmaa@toolness.com>
parents: 6
diff changeset
63 var docs = $('<div class="documentation">');
0d5b69cd01db Added a CSS sheet and a basic two-column layout.
Atul Varma <varmaa@toolness.com>
parents: 6
diff changeset
64 creole.parse(docs.get(0), this.text);
0d5b69cd01db Added a CSS sheet and a basic two-column layout.
Atul Varma <varmaa@toolness.com>
parents: 6
diff changeset
65 $("#content").append(docs);
0d5b69cd01db Added a CSS sheet and a basic two-column layout.
Atul Varma <varmaa@toolness.com>
parents: 6
diff changeset
66 var code = $('<div class="code">');
0d5b69cd01db Added a CSS sheet and a basic two-column layout.
Atul Varma <varmaa@toolness.com>
parents: 6
diff changeset
67 code.text(this.code);
0d5b69cd01db Added a CSS sheet and a basic two-column layout.
Atul Varma <varmaa@toolness.com>
parents: 6
diff changeset
68 $("#content").append(code);
8
f3f56cc75bfd Code column is now colored differently.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
69
12
947df63942ed Added a pixel of padding for background of code sections so that single-pixel slivers don't appear.
Atul Varma <varmaa@toolness.com>
parents: 11
diff changeset
70 var docsSurplus = docs.height() - code.height() + 1;
8
f3f56cc75bfd Code column is now colored differently.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
71 if (docsSurplus > 0)
f3f56cc75bfd Code column is now colored differently.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
72 code.css({paddingBottom: docsSurplus + "px"});
f3f56cc75bfd Code column is now colored differently.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
73
7
0d5b69cd01db Added a CSS sheet and a basic two-column layout.
Atul Varma <varmaa@toolness.com>
parents: 6
diff changeset
74 $("#content").append('<div class="divider">');
4
ccc558eb70db Comments are now chunked into blocks.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
75 });
0
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
76 };
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
77
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
78 $(window).ready(
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
79 function() {
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
80 jQuery.get(App.FILENAME,
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
81 {},
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
82 App.processCode,
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
83 "text");
7de0c0d19f97 Origination. The narcissus code has been slightly modified from its snapshot at mozilla-central rev. 2ad9a0f79e7d to support comment tracking in the parser.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
84 });