Mercurial > doc-thingy
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 |
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 }); |