mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-12 00:08:59 +01:00
81 lines
2.6 KiB
JavaScript
Executable File
81 lines
2.6 KiB
JavaScript
Executable File
/*
|
|
===============================================================================
|
|
Chili is the jQuery code highlighter plugin
|
|
...............................................................................
|
|
LICENSE: http://www.opensource.org/licenses/mit-license.php
|
|
WEBSITE: http://noteslog.com/chili/
|
|
|
|
Copyright 2008 / Andrea Ercolino
|
|
===============================================================================
|
|
*/
|
|
|
|
{
|
|
_name: 'html'
|
|
, _case: false
|
|
, _main: {
|
|
doctype: {
|
|
_match: /<!DOCTYPE\b[\w\W]*?>/
|
|
, _style: "color: #CC6600;"
|
|
}
|
|
, ie_style: {
|
|
_match: /(<!--\[[^\]]*\]>)([\w\W]*?)(<!\[[^\]]*\]-->)/
|
|
, _replace: function( all, open, content, close ) {
|
|
return "<span class='ie_style'>" + this.x( open ) + "</span>"
|
|
+ this.x( content, '//style' )
|
|
+ "<span class='ie_style'>" + this.x( close ) + "</span>";
|
|
}
|
|
, _style: "color: DarkSlateGray; font-weight: bold;"
|
|
}
|
|
, comment: {
|
|
_match: /<!--[\w\W]*?-->/
|
|
, _style: "color: #4040c2;"
|
|
}
|
|
, script: {
|
|
_match: /(<script\s+[^>]*>)([\w\W]*?)(<\/script\s*>)/
|
|
, _replace: function( all, open, content, close ) {
|
|
return this.x( open, '//tag_start' )
|
|
+ this.x( content, 'js' )
|
|
+ this.x( close, '//tag_end' );
|
|
}
|
|
}
|
|
, style: {
|
|
_match: /(<style\s+[^>]*>)([\w\W]*?)(<\/style\s*>)/
|
|
, _replace: function( all, open, content, close ) {
|
|
return this.x( open, '//tag_start' )
|
|
+ this.x( content, 'css' )
|
|
+ this.x( close, '//tag_end' );
|
|
}
|
|
}
|
|
// matches a starting tag of an element (with attrs)
|
|
// like "<div ... >" or "<img ... />"
|
|
, tag_start: {
|
|
_match: /(<\w+)((?:[?%]>|[\w\W])*?)(\/>|>)/
|
|
, _replace: function( all, open, content, close ) {
|
|
return "<span class='tag_start'>" + this.x( open ) + "</span>"
|
|
+ this.x( content, '/tag_attrs' )
|
|
+ "<span class='tag_start'>" + this.x( close ) + "</span>";
|
|
}
|
|
, _style: "color: navy; font-weight: bold;"
|
|
}
|
|
// matches an ending tag
|
|
// like "</div>"
|
|
, tag_end: {
|
|
_match: /<\/\w+\s*>|\/>/
|
|
, _style: "color: navy;"
|
|
}
|
|
, entity: {
|
|
_match: /&\w+?;/
|
|
, _style: "color: blue;"
|
|
}
|
|
}
|
|
, tag_attrs: {
|
|
// matches a name/value pair
|
|
attr: {
|
|
// before in $1, name in $2, between in $3, value in $4
|
|
_match: /(\W*?)([\w-]+)(\s*=\s*)((?:\'[^\']*(?:\\.[^\']*)*\')|(?:\"[^\"]*(?:\\.[^\"]*)*\"))/
|
|
, _replace: "$1<span class='attr_name'>$2</span>$3<span class='attr_value'>$4</span>"
|
|
, _style: { attr_name: "color: green;", attr_value: "color: maroon;" }
|
|
}
|
|
}
|
|
}
|