My favorites | Sign in
Google
                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// Copyright (C) 2009 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/**
* @fileoverview
* Registers a language handler for Wiki pages.
*
* Based on WikiSyntax at http://code.google.com/p/support/wiki/WikiSyntax
*
* @author mikesamuel@gmail.com
*/

PR.registerLangHandler(
PR.createSimpleLexer(
[
// Whitespace
[PR.PR_PLAIN, /^[\t \xA0a-gi-z0-9]+/, null,
'\t \xA0abcdefgijklmnopqrstuvwxyz0123456789'],
// Wiki formatting
[PR.PR_PUNCTUATION, /^[=*~\^\[\]]+/, null, '=*~^[]']
],
[
// Meta-info like #summary, #labels, etc.
['lang-wiki.meta', /(?:^^|\r\n?|\n)(#[a-z]+)\b/],
// A WikiWord
[PR.PR_LITERAL, /^(?:[A-Z][a-z][a-z0-9]+[A-Z][a-z][a-zA-Z0-9]+)\b/
],
// A preformatted block in an unknown language
['lang-', /^\{\{\{([\s\S]+?)\}\}\}/],
// A block of source code in an unknown language
['lang-', /^`([^\r\n`]+)`/],
// An inline URL.
[PR.PR_STRING,
/^https?:\/\/[^\/?#\s]*(?:\/[^?#\s]*)?(?:\?[^#\s]*)?(?:#\S*)?/i],
[PR.PR_PLAIN, /^(?:\r\n|[\s\S])[^#=*~^A-Zh\{`\[\r\n]*/]
]),
['wiki']);

PR.registerLangHandler(
PR.createSimpleLexer([[PR.PR_KEYWORD, /^#[a-z]+/i, null, '#']], []),
['wiki.meta']);
Show details Hide details

Change log

r68 by mikesamuel on May 14, 2009   Diff
fixed bug: wiki formatting failing on IE
since \r\n pair was being split.
Go to: 
Project members, sign in to write a code review

Older revisions

r65 by mikesamuel on May 12, 2009   Diff
sped up parsing for large files by
replacing tokenizing loop with a
single regular expression match.
r61 by mikesamuel on Jan 08, 2009   Diff
changed prettify.js to make it clearer
to minifier which symbols are exported
r60 by mikesamuel on Jan 08, 2009   Diff
Fixed decoration of contents of style
nodes in HTML.  Consolidated code that
handles nested languages in the
process.
All revisions of this file

File info

Size: 1881 bytes, 53 lines