├── .gitignore ├── LICENSE.txt ├── README.md ├── img ├── c1.png ├── c2.png ├── c4.png ├── gyroscope_image.png ├── h5.png ├── me-crazy-rubik.jpg ├── noise.png ├── pngrubik.png ├── redo.png ├── rotate.png ├── rotate2.png ├── transform.png ├── twofingers.png └── undo.png ├── index.html ├── message-scroll.js ├── rubik.css ├── rubik.js ├── style.css └── tutorial ├── common.css ├── index.html ├── sh ├── LGPL-LICENSE ├── MIT-LICENSE ├── index.html ├── scripts │ ├── shAutoloader.js │ ├── shBrushAS3.js │ ├── shBrushAppleScript.js │ ├── shBrushBash.js │ ├── shBrushCSharp.js │ ├── shBrushColdFusion.js │ ├── shBrushCpp.js │ ├── shBrushCss.js │ ├── shBrushDelphi.js │ ├── shBrushDiff.js │ ├── shBrushErlang.js │ ├── shBrushGroovy.js │ ├── shBrushJScript.js │ ├── shBrushJava.js │ ├── shBrushJavaFX.js │ ├── shBrushPerl.js │ ├── shBrushPhp.js │ ├── shBrushPlain.js │ ├── shBrushPowerShell.js │ ├── shBrushPython.js │ ├── shBrushRuby.js │ ├── shBrushSass.js │ ├── shBrushScala.js │ ├── shBrushSql.js │ ├── shBrushVb.js │ ├── shBrushXml.js │ ├── shCore.js │ └── shLegacy.js ├── src │ ├── shAutoloader.js │ ├── shCore.js │ └── shLegacy.js ├── styles │ ├── shCore.css │ ├── shCoreDefault.css │ ├── shCoreDjango.css │ ├── shCoreEclipse.css │ ├── shCoreEmacs.css │ ├── shCoreFadeToGrey.css │ ├── shCoreMDUltra.css │ ├── shCoreMidnight.css │ ├── shCoreRDark.css │ ├── shThemeDefault.css │ ├── shThemeDjango.css │ ├── shThemeEclipse.css │ ├── shThemeEmacs.css │ ├── shThemeFadeToGrey.css │ ├── shThemeMDUltra.css │ ├── shThemeMidnight.css │ └── shThemeRDark.css └── tests │ ├── .rvmrc │ ├── brushes │ └── sass.html │ ├── brushes_tests.html │ ├── cases │ ├── 001_basic.html │ ├── 002_brushes.html │ ├── 003_script_tag.html │ ├── 004_url_parsing.html │ ├── 005_no_gutter.html │ ├── 006_pad_line_numbers.html │ ├── 007_collapse.html │ ├── 007_collapse_interaction.html │ ├── 008_first_line.html │ ├── 009_class_name.html │ ├── 010_highlight.html │ ├── 011_smart_tabs.html │ ├── 012_server_side.html │ ├── 013_html_script.html │ └── 014_legacy.html │ ├── commonjs_tests.js │ ├── js │ ├── jquery-1.4.2.js │ ├── qunit.css │ └── qunit.js │ ├── syntaxhighlighter_tests.html │ ├── theme_tests.html │ ├── webrick.rb │ └── webrick.sh ├── step1 └── index.html ├── step2 └── index.html └── step3 ├── index.html └── rubik-simple.js /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .DS_Store 3 | 4 | README copy.md 5 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Diego Ferreiro Val 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | html5rubik 2 | ========== 3 | 4 | ## Disclaimer 5 | 6 | Note that this project was done in 2012 so be aware that some code might not be up to date to latest standards and best practices. 7 | 8 | ## Rubik's cube 9 | 10 | Rubik's cube made in HTML5 using just CSS3 and Javascript. Optimized for Mobile and Tablet devices 11 | 12 | Official Web: 13 | http://html5rubik.com 14 | 15 | Tutorial: 16 | http://html5rubik.com/tutorial 17 | 18 | Comments & Questions: [@diervo](https://twitter.com/#!/diervo) -------------------------------------------------------------------------------- /img/c1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/c1.png -------------------------------------------------------------------------------- /img/c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/c2.png -------------------------------------------------------------------------------- /img/c4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/c4.png -------------------------------------------------------------------------------- /img/gyroscope_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/gyroscope_image.png -------------------------------------------------------------------------------- /img/h5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/h5.png -------------------------------------------------------------------------------- /img/me-crazy-rubik.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/me-crazy-rubik.jpg -------------------------------------------------------------------------------- /img/noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/noise.png -------------------------------------------------------------------------------- /img/pngrubik.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/pngrubik.png -------------------------------------------------------------------------------- /img/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/redo.png -------------------------------------------------------------------------------- /img/rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/rotate.png -------------------------------------------------------------------------------- /img/rotate2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/rotate2.png -------------------------------------------------------------------------------- /img/transform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/transform.png -------------------------------------------------------------------------------- /img/twofingers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/twofingers.png -------------------------------------------------------------------------------- /img/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diervo/html5rubik/4622392cc9538640d84e107bb110dbd432a6eef9/img/undo.png -------------------------------------------------------------------------------- /message-scroll.js: -------------------------------------------------------------------------------- 1 | YUI.add('message-scroll',function(Y){ 2 | 3 | function MessageScroll (cfg){ 4 | cfg = cfg || {}; 5 | this._src = Y.one(cfg.src || '#messages'); 6 | this._cardWidth = cfg.width || 408; 7 | this._src.one('ul.active'); 8 | this._ul = this._src.one('ul.active'); 9 | this._cards = this._src.one('div.populate'); 10 | this.init(); 11 | } 12 | 13 | MessageScroll.prototype = { 14 | init:function(){ 15 | this.bind(); 16 | this.position = 0; 17 | this.populate(0); 18 | this._ul.setStyle('transform','translate3d(-' + this._cardWidth + 'px,0,0)'); 19 | this._ul.addClass('moving'); 20 | this.checkSupport(); 21 | }, 22 | bind: function(){ 23 | this._src.on('webkitTransitionEnd',this._endTransition,this); 24 | this._src.on('transitionend',this._endTransition,this); 25 | this._ul.on("flick", Y.bind(this.flickHandler, this), { 26 | minDistance: 5, 27 | minVelocity: 0.2, 28 | preventDefault: true 29 | }); 30 | }, 31 | checkSupport: function (){ 32 | var notSupported = (Y.UA.opera || Y.UA.ie); 33 | if(notSupported){ 34 | var tmpl = '
' + 35 | '

Ups!, Browser not supported yet!

' + 36 | '

I\'m working on it... Try with a Webkit browser in the meantime! :)

' + 37 | '
'; 38 | Y.one('div [data-pos="0"]').setContent(tmpl); 39 | } 40 | 41 | }, 42 | populate: function(position){ 43 | var liPrev = this._ul.one('*'), 44 | liCurrent = liPrev.next(), 45 | liNext = liCurrent.next(), 46 | 47 | contentLiPrev = liPrev.one('*'), 48 | contentLiCurrent = liCurrent.one('*'), 49 | contentLiNext = liNext.one('*'); 50 | 51 | this._cards.append(contentLiPrev); 52 | this._cards.append(contentLiCurrent); 53 | this._cards.append(contentLiNext); 54 | 55 | //we check here the cards in case some new load update to the DOM 56 | this._totalCards = this._cards.get('children').size(); 57 | 58 | positionNode = this._cards.one('div[data-pos="'+ position +'"]'), 59 | prevNode = this._cards.one('div[data-pos="'+ (position-1) +'"]'), 60 | nextNode = this._cards.one('div[data-pos="'+ (position+ 1) +'"]'), 61 | 62 | liPrev.append(prevNode); 63 | liCurrent.append(positionNode); 64 | liNext.append(nextNode); 65 | 66 | }, 67 | _endTransition:function(evt){ 68 | this.populate(this.position); 69 | this._ul.setStyle('transform','translate3d(-' + this._cardWidth + 'px,0,0)'); 70 | this.moving = false; 71 | 72 | }, 73 | flickHandler:function(evt){ 74 | var cardW = this._cardWidth, 75 | dir = evt.flick.distance > 0 ? 0 : -2, 76 | horizontal = evt.flick.axis == 'x', 77 | move = 'translate3d('+ (dir * cardW) +'px,0,0)', 78 | newPos = this.position + (dir < 0 ? 1 : -1); 79 | 80 | if(horizontal && !this.moving && newPos>=0 && newPos<=this._totalCards-1){ 81 | this.position = newPos; 82 | this.moving = true; 83 | this._ul.setStyle('transform',move); 84 | } 85 | } 86 | }; 87 | 88 | Y.MessageScroll = MessageScroll; 89 | 90 | },"0.0.1",{ 91 | requires:['node','transition','event','event-delegate','event-gestures'] 92 | }); -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | body { 2 | max-width: 66em; 3 | padding: 1em; 4 | margin: auto; 5 | background-image: url("//toptal.com/designers/subtlepatterns/patterns/grunge_wall.png"); 6 | font: 100%/1.5; 7 | font-family: Georgia; 8 | text-shadow: 0 1px white; 9 | position: relative; 10 | min-height: 1300px; 11 | overflow: hidden; 12 | -webkit-font-smoothing: antialiased; 13 | } 14 | a { 15 | background: #83786d; 16 | padding: 2px 5px; 17 | border-radius: 3px; 18 | text-decoration: none; 19 | color: white; 20 | cursor: pointer; 21 | } 22 | 23 | header hgroup { 24 | cursor: pointer; 25 | padding: 1.2em 4em; 26 | } 27 | 28 | header h1 { 29 | font-size: 450%; 30 | font-family: "Luckiest Guy", cursive; 31 | padding: 0; 32 | margin: 0; 33 | line-height: 60%; 34 | border-bottom: 1px solid black; 35 | font-weight: bold; 36 | text-shadow: rgba(0, 0, 0, 0.2) 3px 3px 3px; 37 | color: #fff; 38 | /*text stroke*/ 39 | -webkit-text-stroke: 4px rgba(0, 0, 0, 0.6); 40 | } 41 | header h2 { 42 | font-size: 70%; 43 | line-height: 10px; 44 | } 45 | 46 | #cube { 47 | margin: 40px 85px; 48 | zoom: 0.85; 49 | opacity: 0; 50 | } 51 | 52 | #tutorial { 53 | position: absolute; 54 | opacity: 0; 55 | display: none; 56 | top: 870px; 57 | width: 800px; 58 | height: 240px; 59 | left: 50%; 60 | margin-left: -420px; 61 | padding: 10px; 62 | -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); 63 | -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); 64 | -webkit-border-radius: 5px; 65 | -moz-border-radius: 5px; 66 | border-radius: 5px; 67 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); 68 | background: #ccc; 69 | background: rgba(0, 0, 0, 0.2); 70 | z-index: 5000; 71 | line-height: 50px; 72 | font-size: 200%; 73 | text-align: center; 74 | } 75 | #tutorial span { 76 | color: white; 77 | font-weight: bold; 78 | text-decoration: underline; 79 | } 80 | #tutorial span.green { 81 | color: green; 82 | text-decoration: none; 83 | } 84 | 85 | #messages { 86 | position: absolute; 87 | cursor: -webkit-grab; 88 | top: 120px; 89 | right: 0px; 90 | width: 408px; 91 | height: 240px; 92 | opacity: 0; 93 | display: none; 94 | -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5); 95 | -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5); 96 | margin-right: 2.1em; 97 | border-radius: 5px; 98 | background: rgba(0, 0, 0, 0.2); 99 | z-index: 5000; 100 | padding: 15px; 101 | } 102 | #messages .panel { 103 | padding: 0; 104 | margin: 0; 105 | text-align: center; 106 | opacity: 0.8; 107 | color: white; 108 | text-shadow: none; 109 | 110 | display: -webkit-box; 111 | -webkit-box-align: center; 112 | height: 100%; 113 | } 114 | #messages ul { 115 | list-style: none; 116 | padding: 0px; 117 | margin: 0px; 118 | width: 1232px; 119 | height: 100%; 120 | -webkit-transform: translate3d(0, 0, 0); 121 | -moz-transform: translate3d(0, 0, 0); 122 | } 123 | #messages .moving { 124 | -webkit-transition: -webkit-transform 0.2s ease-in-out; 125 | -moz-transition: -moz-transform 0.2s ease-in-out; 126 | } 127 | 128 | #messages li { 129 | width: 408px; 130 | height: 240px; 131 | display: inline-block; 132 | vertical-align: middle; 133 | } 134 | .wrapper { 135 | width: 100%; 136 | height: 100%; 137 | overflow: hidden; 138 | } 139 | 140 | #messages .panel h1 { 141 | padding: 10px 0; 142 | margin: 0; 143 | font-size: 1.8em; 144 | } 145 | #messages .panel h2 { 146 | font-size: 1.2em; 147 | } 148 | #messages .panel p { 149 | font-size: 1.1em; 150 | line-height: 1.4em; 151 | } 152 | #messages .populate { 153 | display: none; 154 | } 155 | #messages .moving .prev, 156 | #messages .moving .next { 157 | opacity: 0; 158 | } 159 | 160 | /* END MESSAGE CLASSSES */ 161 | 162 | aside { 163 | margin-left: 470px; 164 | margin-top: -10px; 165 | } 166 | #cube-controls { 167 | opacity: 0; 168 | display: none; 169 | margin-right: 2em; 170 | position: absolute; 171 | top: 390px; 172 | right: 0; 173 | } 174 | #cube-controls ul { 175 | list-style: none; 176 | } 177 | #cube-controls li { 178 | display: inline-block; 179 | color: white; 180 | font-size: 80%; 181 | line-height: 104px; 182 | background-image: linear-gradient( 183 | top, 184 | rgb(112, 112, 112) 45%, 185 | rgb(0, 0, 0) 82% 186 | ); 187 | background-image: -o-linear-gradient( 188 | top, 189 | rgb(112, 112, 112) 45%, 190 | rgb(0, 0, 0) 82% 191 | ); 192 | background-image: -moz-linear-gradient( 193 | top, 194 | rgb(112, 112, 112) 45%, 195 | rgb(0, 0, 0) 82% 196 | ); 197 | background-image: -webkit-linear-gradient( 198 | top, 199 | rgb(112, 112, 112) 45%, 200 | rgb(0, 0, 0) 82% 201 | ); 202 | background-image: -ms-linear-gradient( 203 | top, 204 | rgb(112, 112, 112) 45%, 205 | rgb(0, 0, 0) 82% 206 | ); 207 | 208 | background-image: -webkit-gradient( 209 | linear, 210 | left top, 211 | left bottom, 212 | color-stop(0.45, rgb(112, 112, 112)), 213 | color-stop(0.82, rgb(0, 0, 0)) 214 | ); 215 | height: 104px; 216 | width: 104px; 217 | margin: 2px; 218 | text-align: center; 219 | -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3); 220 | -moz-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3); 221 | box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3); 222 | border-radius: 5px; 223 | } 224 | 225 | #cube-controls li:active, 226 | #cube-controls li.pcRotation { 227 | background-image: linear-gradient( 228 | bottom, 229 | rgb(112, 112, 112) 45%, 230 | rgb(0, 0, 0) 82% 231 | ); 232 | background-image: -o-linear-gradient( 233 | bottom, 234 | rgb(112, 112, 112) 45%, 235 | rgb(0, 0, 0) 82% 236 | ); 237 | background-image: -moz-linear-gradient( 238 | bottom, 239 | rgb(112, 112, 112) 45%, 240 | rgb(0, 0, 0) 82% 241 | ); 242 | background-image: -webkit-linear-gradient( 243 | bottom, 244 | rgb(112, 112, 112) 45%, 245 | rgb(0, 0, 0) 82% 246 | ); 247 | background-image: -ms-linear-gradient( 248 | bottom, 249 | rgb(112, 112, 112) 45%, 250 | rgb(0, 0, 0) 82% 251 | ); 252 | background-image: -webkit-gradient( 253 | linear, 254 | left bottom, 255 | left top, 256 | color-stop(0.45, rgb(112, 112, 112)), 257 | color-stop(0.82, rgb(0, 0, 0)) 258 | ); 259 | } 260 | 261 | #cube-controls li > div { 262 | width: 100%; 263 | height: 100%; 264 | } 265 | 266 | #cube-controls .rotate { 267 | background: url("img/transform.png") center no-repeat; 268 | background-size: 65%, 100%; 269 | } 270 | 271 | #cube-controls .solve { 272 | background: url("img/rotate.png") center no-repeat; 273 | background-size: 80%, 100%; 274 | } 275 | 276 | #cube-controls .undo { 277 | background: url("img/undo.png") center no-repeat; 278 | background-size: 80%, 100%; 279 | } 280 | 281 | #cube-controls .redo { 282 | background: url("img/redo.png") center no-repeat; 283 | background-size: 80%, 100%; 284 | } 285 | 286 | #log { 287 | position: absolute; 288 | top: 10px; 289 | width: 220px; 290 | height: 60px; 291 | right: 34px; 292 | border-radius: 5px; 293 | background: rgba(0, 0, 0, 0.2); 294 | z-index: 5000; 295 | line-height: 15px; 296 | font-size: 20px; 297 | text-align: right; 298 | } 299 | 300 | #log a { 301 | display: flex; 302 | align-items: center; 303 | justify-content: center; 304 | background: none; 305 | } 306 | #log a:hover { 307 | background:rgba(0, 0, 0, 0.2); 308 | } 309 | 310 | #log .html5 { 311 | background: url("img/h5.png") center 50% no-repeat, #ededed; 312 | background-size: 60%; 313 | width: 65px; 314 | height: 55px; 315 | display: table; 316 | -moz-box-shadow: inset 0px 1px 0px 0px #ffffff; 317 | -webkit-box-shadow: inset 0px 1px 0px 0px #ffffff; 318 | box-shadow: inset 0px 1px 0px 0px #ffffff; 319 | border-radius: 6px; 320 | opacity: 0.9; 321 | } 322 | 323 | 324 | #log span { 325 | flex: 1; 326 | width: 100%; 327 | font-family: Arial, "MS Trebuchet", serif; 328 | background: none; 329 | font-size: 1.4em; 330 | font-weight: bold; 331 | text-align: center; 332 | } 333 | -------------------------------------------------------------------------------- /tutorial/common.css: -------------------------------------------------------------------------------- 1 | body { 2 | max-width: 60em; 3 | padding: 1em; 4 | margin: auto; 5 | background-image: url("//toptal.com/designers/subtlepatterns/patterns/grunge_wall.png"); 6 | font: 100%/1.5; 7 | font-family: Georgia; 8 | text-shadow: 0 1px white; 9 | position:relative; 10 | } 11 | 12 | a{ 13 | background: #83786D; 14 | padding: 2px 5px; 15 | -webkit-border-radius: 3px; 16 | text-decoration:none; 17 | color: white; 18 | cursor: pointer; 19 | 20 | } 21 | figure.crazy-me{ 22 | float:right; 23 | background: url("../img/me-crazy-rubik.jpg") 50% no-repeat; 24 | border: 1px solid black; 25 | max-width:300px; 26 | min-width:300px; 27 | min-height:300px; 28 | margin: 10px 20px; 29 | border-radius: 10px; 30 | } 31 | header{ 32 | position:relative; 33 | 34 | } 35 | header hgroup{ 36 | cursor: pointer; 37 | padding: 1.2em 4em; 38 | } 39 | ul{ 40 | 41 | } 42 | li{ 43 | padding:5px; 44 | } 45 | 46 | header h1{ 47 | font-size: 450%; 48 | font-family: 'Luckiest Guy', cursive; 49 | padding: 0; 50 | margin: 0; 51 | line-height: 60%; 52 | border-bottom: 1px solid black; 53 | font-weight: bold; 54 | text-shadow: rgba(0, 0, 0, .2) 3px 3px 3px; 55 | color: #fff; 56 | /*text stroke*/ 57 | -webkit-text-stroke: 4px rgba(0, 0, 0, .6); 58 | } 59 | header h2{ 60 | font-size: 70%; 61 | line-height: 10px; 62 | } 63 | 64 | section p{ 65 | text-indent: 30px; 66 | } 67 | 68 | 69 | #example1{ 70 | border-radius:10px; 71 | width:550px; 72 | height:650px; 73 | overflow: hidden; 74 | } 75 | 76 | #example2{ 77 | float:right; 78 | border-radius:10px; 79 | width:550px; 80 | height:710px; 81 | overflow: hidden; 82 | } 83 | 84 | 85 | #log { 86 | position: absolute; 87 | top: 0px; 88 | width: 220px; 89 | height: 60px; 90 | right: 34px; 91 | border-radius: 5px; 92 | background: rgba(0, 0, 0, 0.2); 93 | z-index: 5000; 94 | line-height: 15px; 95 | font-size: 20px; 96 | text-align: right; 97 | } 98 | 99 | #log a { 100 | display: flex; 101 | align-items: center; 102 | justify-content: center; 103 | background: none; 104 | } 105 | #log a:hover { 106 | background:rgba(0, 0, 0, 0.2); 107 | } 108 | 109 | #log .html5 { 110 | background: url("../img/h5.png") center 50% no-repeat, #ededed; 111 | background-size: 60%; 112 | width: 65px; 113 | height: 55px; 114 | display: table; 115 | -moz-box-shadow: inset 0px 1px 0px 0px #ffffff; 116 | -webkit-box-shadow: inset 0px 1px 0px 0px #ffffff; 117 | box-shadow: inset 0px 1px 0px 0px #ffffff; 118 | border-radius: 6px; 119 | opacity: 0.9; 120 | } 121 | 122 | 123 | #log span { 124 | flex: 1; 125 | width: 100%; 126 | font-family: Arial, "MS Trebuchet", serif; 127 | background: none; 128 | font-size: 1em; 129 | font-weight: bold; 130 | text-align: center; 131 | } 132 | 133 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /tutorial/sh/LGPL-LICENSE: -------------------------------------------------------------------------------- 1 | GNU LESSER GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | 9 | This version of the GNU Lesser General Public License incorporates 10 | the terms and conditions of version 3 of the GNU General Public 11 | License, supplemented by the additional permissions listed below. 12 | 13 | 0. Additional Definitions. 14 | 15 | As used herein, "this License" refers to version 3 of the GNU Lesser 16 | General Public License, and the "GNU GPL" refers to version 3 of the GNU 17 | General Public License. 18 | 19 | "The Library" refers to a covered work governed by this License, 20 | other than an Application or a Combined Work as defined below. 21 | 22 | An "Application" is any work that makes use of an interface provided 23 | by the Library, but which is not otherwise based on the Library. 24 | Defining a subclass of a class defined by the Library is deemed a mode 25 | of using an interface provided by the Library. 26 | 27 | A "Combined Work" is a work produced by combining or linking an 28 | Application with the Library. The particular version of the Library 29 | with which the Combined Work was made is also called the "Linked 30 | Version". 31 | 32 | The "Minimal Corresponding Source" for a Combined Work means the 33 | Corresponding Source for the Combined Work, excluding any source code 34 | for portions of the Combined Work that, considered in isolation, are 35 | based on the Application, and not on the Linked Version. 36 | 37 | The "Corresponding Application Code" for a Combined Work means the 38 | object code and/or source code for the Application, including any data 39 | and utility programs needed for reproducing the Combined Work from the 40 | Application, but excluding the System Libraries of the Combined Work. 41 | 42 | 1. Exception to Section 3 of the GNU GPL. 43 | 44 | You may convey a covered work under sections 3 and 4 of this License 45 | without being bound by section 3 of the GNU GPL. 46 | 47 | 2. Conveying Modified Versions. 48 | 49 | If you modify a copy of the Library, and, in your modifications, a 50 | facility refers to a function or data to be supplied by an Application 51 | that uses the facility (other than as an argument passed when the 52 | facility is invoked), then you may convey a copy of the modified 53 | version: 54 | 55 | a) under this License, provided that you make a good faith effort to 56 | ensure that, in the event an Application does not supply the 57 | function or data, the facility still operates, and performs 58 | whatever part of its purpose remains meaningful, or 59 | 60 | b) under the GNU GPL, with none of the additional permissions of 61 | this License applicable to that copy. 62 | 63 | 3. Object Code Incorporating Material from Library Header Files. 64 | 65 | The object code form of an Application may incorporate material from 66 | a header file that is part of the Library. You may convey such object 67 | code under terms of your choice, provided that, if the incorporated 68 | material is not limited to numerical parameters, data structure 69 | layouts and accessors, or small macros, inline functions and templates 70 | (ten or fewer lines in length), you do both of the following: 71 | 72 | a) Give prominent notice with each copy of the object code that the 73 | Library is used in it and that the Library and its use are 74 | covered by this License. 75 | 76 | b) Accompany the object code with a copy of the GNU GPL and this license 77 | document. 78 | 79 | 4. Combined Works. 80 | 81 | You may convey a Combined Work under terms of your choice that, 82 | taken together, effectively do not restrict modification of the 83 | portions of the Library contained in the Combined Work and reverse 84 | engineering for debugging such modifications, if you also do each of 85 | the following: 86 | 87 | a) Give prominent notice with each copy of the Combined Work that 88 | the Library is used in it and that the Library and its use are 89 | covered by this License. 90 | 91 | b) Accompany the Combined Work with a copy of the GNU GPL and this license 92 | document. 93 | 94 | c) For a Combined Work that displays copyright notices during 95 | execution, include the copyright notice for the Library among 96 | these notices, as well as a reference directing the user to the 97 | copies of the GNU GPL and this license document. 98 | 99 | d) Do one of the following: 100 | 101 | 0) Convey the Minimal Corresponding Source under the terms of this 102 | License, and the Corresponding Application Code in a form 103 | suitable for, and under terms that permit, the user to 104 | recombine or relink the Application with a modified version of 105 | the Linked Version to produce a modified Combined Work, in the 106 | manner specified by section 6 of the GNU GPL for conveying 107 | Corresponding Source. 108 | 109 | 1) Use a suitable shared library mechanism for linking with the 110 | Library. A suitable mechanism is one that (a) uses at run time 111 | a copy of the Library already present on the user's computer 112 | system, and (b) will operate properly with a modified version 113 | of the Library that is interface-compatible with the Linked 114 | Version. 115 | 116 | e) Provide Installation Information, but only if you would otherwise 117 | be required to provide such information under section 6 of the 118 | GNU GPL, and only to the extent that such information is 119 | necessary to install and execute a modified version of the 120 | Combined Work produced by recombining or relinking the 121 | Application with a modified version of the Linked Version. (If 122 | you use option 4d0, the Installation Information must accompany 123 | the Minimal Corresponding Source and Corresponding Application 124 | Code. If you use option 4d1, you must provide the Installation 125 | Information in the manner specified by section 6 of the GNU GPL 126 | for conveying Corresponding Source.) 127 | 128 | 5. Combined Libraries. 129 | 130 | You may place library facilities that are a work based on the 131 | Library side by side in a single library together with other library 132 | facilities that are not Applications and are not covered by this 133 | License, and convey such a combined library under terms of your 134 | choice, if you do both of the following: 135 | 136 | a) Accompany the combined library with a copy of the same work based 137 | on the Library, uncombined with any other library facilities, 138 | conveyed under the terms of this License. 139 | 140 | b) Give prominent notice with the combined library that part of it 141 | is a work based on the Library, and explaining where to find the 142 | accompanying uncombined form of the same work. 143 | 144 | 6. Revised Versions of the GNU Lesser General Public License. 145 | 146 | The Free Software Foundation may publish revised and/or new versions 147 | of the GNU Lesser General Public License from time to time. Such new 148 | versions will be similar in spirit to the present version, but may 149 | differ in detail to address new problems or concerns. 150 | 151 | Each version is given a distinguishing version number. If the 152 | Library as you received it specifies that a certain numbered version 153 | of the GNU Lesser General Public License "or any later version" 154 | applies to it, you have the option of following the terms and 155 | conditions either of that published version or of any later version 156 | published by the Free Software Foundation. If the Library as you 157 | received it does not specify a version number of the GNU Lesser 158 | General Public License, you may choose any version of the GNU Lesser 159 | General Public License ever published by the Free Software Foundation. 160 | 161 | If the Library as you received it specifies that a proxy can decide 162 | whether future versions of the GNU Lesser General Public License shall 163 | apply, that proxy's public statement of acceptance of any version is 164 | permanent authorization for you to choose that version for the 165 | Library. -------------------------------------------------------------------------------- /tutorial/sh/MIT-LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003, 2004 Jim Weirich 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /tutorial/sh/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello SyntaxHighlighter 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

Hello SyntaxHighlighter

15 |
16 | function helloSyntaxHighlighter()
17 | {
18 | 	return "hi!";
19 | }
20 | 
21 | 22 | 23 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shAutoloader.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(2(){1 h=5;h.I=2(){2 n(c,a){4(1 d=0;d|<|≥|>=|≤|<=|\*|\+|-|\/|÷|\^)/g, 48 | css: 'color2' }, 49 | 50 | { regex: /\b(?:and|as|div|mod|not|or|return(?!\s&)(ing)?|equals|(is(n't| not)? )?equal( to)?|does(n't| not) equal|(is(n't| not)? )?(greater|less) than( or equal( to)?)?|(comes|does(n't| not) come) (after|before)|is(n't| not)?( in)? (back|front) of|is(n't| not)? behind|is(n't| not)?( (in|contained by))?|does(n't| not) contain|contain(s)?|(start|begin|end)(s)? with|((but|end) )?(consider|ignor)ing|prop(erty)?|(a )?ref(erence)?( to)?|repeat (until|while|with)|((end|exit) )?repeat|((else|end) )?if|else|(end )?(script|tell|try)|(on )?error|(put )?into|(of )?(it|me)|its|my|with (timeout( of)?|transaction)|end (timeout|transaction))\b/g, 51 | css: 'keyword' }, 52 | 53 | { regex: /\b\d+(st|nd|rd|th)\b/g, // ordinals 54 | css: 'keyword' }, 55 | 56 | { regex: /\b(?:about|above|against|around|at|below|beneath|beside|between|by|(apart|aside) from|(instead|out) of|into|on(to)?|over|since|thr(ough|u)|under)\b/g, 57 | css: 'color3' }, 58 | 59 | { regex: /\b(?:adding folder items to|after receiving|choose( ((remote )?application|color|folder|from list|URL))?|clipboard info|set the clipboard to|(the )?clipboard|entire contents|display(ing| (alert|dialog|mode))?|document( (edited|file|nib name))?|file( (name|type))?|(info )?for|giving up after|(name )?extension|quoted form|return(ed)?|second(?! item)(s)?|list (disks|folder)|text item(s| delimiters)?|(Unicode )?text|(disk )?item(s)?|((current|list) )?view|((container|key) )?window|with (data|icon( (caution|note|stop))?|parameter(s)?|prompt|properties|seed|title)|case|diacriticals|hyphens|numeric strings|punctuation|white space|folder creation|application(s( folder)?| (processes|scripts position|support))?|((desktop )?(pictures )?|(documents|downloads|favorites|home|keychain|library|movies|music|public|scripts|sites|system|users|utilities|workflows) )folder|desktop|Folder Action scripts|font(s| panel)?|help|internet plugins|modem scripts|(system )?preferences|printer descriptions|scripting (additions|components)|shared (documents|libraries)|startup (disk|items)|temporary items|trash|on server|in AppleTalk zone|((as|long|short) )?user name|user (ID|locale)|(with )?password|in (bundle( with identifier)?|directory)|(close|open for) access|read|write( permission)?|(g|s)et eof|using( delimiters)?|starting at|default (answer|button|color|country code|entr(y|ies)|identifiers|items|name|location|script editor)|hidden( answer)?|open(ed| (location|untitled))?|error (handling|reporting)|(do( shell)?|load|run|store) script|administrator privileges|altering line endings|get volume settings|(alert|boot|input|mount|output|set) volume|output muted|(fax|random )?number|round(ing)?|up|down|toward zero|to nearest|as taught in school|system (attribute|info)|((AppleScript( Studio)?|system) )?version|(home )?directory|(IPv4|primary Ethernet) address|CPU (type|speed)|physical memory|time (stamp|to GMT)|replacing|ASCII (character|number)|localized string|from table|offset|summarize|beep|delay|say|(empty|multiple) selections allowed|(of|preferred) type|invisibles|showing( package contents)?|editable URL|(File|FTP|News|Media|Web) [Ss]ervers|Telnet hosts|Directory services|Remote applications|waiting until completion|saving( (in|to))?|path (for|to( (((current|frontmost) )?application|resource))?)|POSIX (file|path)|(background|RGB) color|(OK|cancel) button name|cancel button|button(s)?|cubic ((centi)?met(re|er)s|yards|feet|inches)|square ((kilo)?met(re|er)s|miles|yards|feet)|(centi|kilo)?met(re|er)s|miles|yards|feet|inches|lit(re|er)s|gallons|quarts|(kilo)?grams|ounces|pounds|degrees (Celsius|Fahrenheit|Kelvin)|print( (dialog|settings))?|clos(e(able)?|ing)|(de)?miniaturized|miniaturizable|zoom(ed|able)|attribute run|action (method|property|title)|phone|email|((start|end)ing|home) page|((birth|creation|current|custom|modification) )?date|((((phonetic )?(first|last|middle))|computer|host|maiden|related) |nick)?name|aim|icq|jabber|msn|yahoo|address(es)?|save addressbook|should enable action|city|country( code)?|formatte(r|d address)|(palette )?label|state|street|zip|AIM [Hh]andle(s)?|my card|select(ion| all)?|unsaved|(alpha )?value|entr(y|ies)|group|(ICQ|Jabber|MSN) handle|person|people|company|department|icon image|job title|note|organization|suffix|vcard|url|copies|collating|pages (across|down)|request print time|target( printer)?|((GUI Scripting|Script menu) )?enabled|show Computer scripts|(de)?activated|awake from nib|became (key|main)|call method|of (class|object)|center|clicked toolbar item|closed|for document|exposed|(can )?hide|idle|keyboard (down|up)|event( (number|type))?|launch(ed)?|load (image|movie|nib|sound)|owner|log|mouse (down|dragged|entered|exited|moved|up)|move|column|localization|resource|script|register|drag (info|types)|resigned (active|key|main)|resiz(e(d)?|able)|right mouse (down|dragged|up)|scroll wheel|(at )?index|should (close|open( untitled)?|quit( after last window closed)?|zoom)|((proposed|screen) )?bounds|show(n)?|behind|in front of|size (mode|to fit)|update(d| toolbar item)?|was (hidden|miniaturized)|will (become active|close|finish launching|hide|miniaturize|move|open|quit|(resign )?active|((maximum|minimum|proposed) )?size|show|zoom)|bundle|data source|movie|pasteboard|sound|tool(bar| tip)|(color|open|save) panel|coordinate system|frontmost|main( (bundle|menu|window))?|((services|(excluded from )?windows) )?menu|((executable|frameworks|resource|scripts|shared (frameworks|support)) )?path|(selected item )?identifier|data|content(s| view)?|character(s)?|click count|(command|control|option|shift) key down|context|delta (x|y|z)|key( code)?|location|pressure|unmodified characters|types|(first )?responder|playing|(allowed|selectable) identifiers|allows customization|(auto saves )?configuration|visible|image( name)?|menu form representation|tag|user(-| )defaults|associated file name|(auto|needs) display|current field editor|floating|has (resize indicator|shadow)|hides when deactivated|level|minimized (image|title)|opaque|position|release when closed|sheet|title(d)?)\b/g, 60 | css: 'color3' }, 61 | 62 | { regex: new RegExp(this.getKeywords(specials), 'gm'), css: 'color3' }, 63 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, 64 | { regex: new RegExp(this.getKeywords(ordinals), 'gm'), css: 'keyword' } 65 | ]; 66 | }; 67 | 68 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 69 | Brush.aliases = ['applescript']; 70 | 71 | SyntaxHighlighter.brushes.AppleScript = Brush; 72 | 73 | // CommonJS 74 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 75 | })(); 76 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushBash.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | var keywords = 'if fi then elif else for do done until while break continue case function return in eq ne ge le'; 25 | var commands = 'alias apropos awk basename bash bc bg builtin bzip2 cal cat cd cfdisk chgrp chmod chown chroot' + 26 | 'cksum clear cmp comm command cp cron crontab csplit cut date dc dd ddrescue declare df ' + 27 | 'diff diff3 dig dir dircolors dirname dirs du echo egrep eject enable env ethtool eval ' + 28 | 'exec exit expand export expr false fdformat fdisk fg fgrep file find fmt fold format ' + 29 | 'free fsck ftp gawk getopts grep groups gzip hash head history hostname id ifconfig ' + 30 | 'import install join kill less let ln local locate logname logout look lpc lpr lprint ' + 31 | 'lprintd lprintq lprm ls lsof make man mkdir mkfifo mkisofs mknod more mount mtools ' + 32 | 'mv netstat nice nl nohup nslookup open op passwd paste pathchk ping popd pr printcap ' + 33 | 'printenv printf ps pushd pwd quota quotacheck quotactl ram rcp read readonly renice ' + 34 | 'remsync rm rmdir rsync screen scp sdiff sed select seq set sftp shift shopt shutdown ' + 35 | 'sleep sort source split ssh strace su sudo sum symlink sync tail tar tee test time ' + 36 | 'times touch top traceroute trap tr true tsort tty type ulimit umask umount unalias ' + 37 | 'uname unexpand uniq units unset unshar useradd usermod users uuencode uudecode v vdir ' + 38 | 'vi watch wc whereis which who whoami Wget xargs yes' 39 | ; 40 | 41 | this.regexList = [ 42 | { regex: /^#!.*$/gm, css: 'preprocessor bold' }, 43 | { regex: /\/[\w-\/]+/gm, css: 'plain' }, 44 | { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, // one line comments 45 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 46 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 47 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 48 | { regex: new RegExp(this.getKeywords(commands), 'gm'), css: 'functions' } // commands 49 | ]; 50 | } 51 | 52 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 53 | Brush.aliases = ['bash', 'shell']; 54 | 55 | SyntaxHighlighter.brushes.Bash = Brush; 56 | 57 | // CommonJS 58 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 59 | })(); 60 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushCSharp.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | var keywords = 'abstract as base bool break byte case catch char checked class const ' + 25 | 'continue decimal default delegate do double else enum event explicit ' + 26 | 'extern false finally fixed float for foreach get goto if implicit in int ' + 27 | 'interface internal is lock long namespace new null object operator out ' + 28 | 'override params private protected public readonly ref return sbyte sealed set ' + 29 | 'short sizeof stackalloc static string struct switch this throw true try ' + 30 | 'typeof uint ulong unchecked unsafe ushort using virtual void while'; 31 | 32 | function fixComments(match, regexInfo) 33 | { 34 | var css = (match[0].indexOf("///") == 0) 35 | ? 'color1' 36 | : 'comments' 37 | ; 38 | 39 | return [new SyntaxHighlighter.Match(match[0], match.index, css)]; 40 | } 41 | 42 | this.regexList = [ 43 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, func : fixComments }, // one line comments 44 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 45 | { regex: /@"(?:[^"]|"")*"/g, css: 'string' }, // @-quoted strings 46 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 47 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 48 | { regex: /^\s*#.*/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion 49 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // c# keyword 50 | { regex: /\bpartial(?=\s+(?:class|interface|struct)\b)/g, css: 'keyword' }, // contextual keyword: 'partial' 51 | { regex: /\byield(?=\s+(?:return|break)\b)/g, css: 'keyword' } // contextual keyword: 'yield' 52 | ]; 53 | 54 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 55 | }; 56 | 57 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 58 | Brush.aliases = ['c#', 'c-sharp', 'csharp']; 59 | 60 | SyntaxHighlighter.brushes.CSharp = Brush; 61 | 62 | // CommonJS 63 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 64 | })(); 65 | 66 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushColdFusion.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributed by Jen 25 | // http://www.jensbits.com/2009/05/14/coldfusion-brush-for-syntaxhighlighter-plus 26 | 27 | var funcs = 'Abs ACos AddSOAPRequestHeader AddSOAPResponseHeader AjaxLink AjaxOnLoad ArrayAppend ArrayAvg ArrayClear ArrayDeleteAt ' + 28 | 'ArrayInsertAt ArrayIsDefined ArrayIsEmpty ArrayLen ArrayMax ArrayMin ArraySet ArraySort ArraySum ArraySwap ArrayToList ' + 29 | 'Asc ASin Atn BinaryDecode BinaryEncode BitAnd BitMaskClear BitMaskRead BitMaskSet BitNot BitOr BitSHLN BitSHRN BitXor ' + 30 | 'Ceiling CharsetDecode CharsetEncode Chr CJustify Compare CompareNoCase Cos CreateDate CreateDateTime CreateObject ' + 31 | 'CreateODBCDate CreateODBCDateTime CreateODBCTime CreateTime CreateTimeSpan CreateUUID DateAdd DateCompare DateConvert ' + 32 | 'DateDiff DateFormat DatePart Day DayOfWeek DayOfWeekAsString DayOfYear DaysInMonth DaysInYear DE DecimalFormat DecrementValue ' + 33 | 'Decrypt DecryptBinary DeleteClientVariable DeserializeJSON DirectoryExists DollarFormat DotNetToCFType Duplicate Encrypt ' + 34 | 'EncryptBinary Evaluate Exp ExpandPath FileClose FileCopy FileDelete FileExists FileIsEOF FileMove FileOpen FileRead ' + 35 | 'FileReadBinary FileReadLine FileSetAccessMode FileSetAttribute FileSetLastModified FileWrite Find FindNoCase FindOneOf ' + 36 | 'FirstDayOfMonth Fix FormatBaseN GenerateSecretKey GetAuthUser GetBaseTagData GetBaseTagList GetBaseTemplatePath ' + 37 | 'GetClientVariablesList GetComponentMetaData GetContextRoot GetCurrentTemplatePath GetDirectoryFromPath GetEncoding ' + 38 | 'GetException GetFileFromPath GetFileInfo GetFunctionList GetGatewayHelper GetHttpRequestData GetHttpTimeString ' + 39 | 'GetK2ServerDocCount GetK2ServerDocCountLimit GetLocale GetLocaleDisplayName GetLocalHostIP GetMetaData GetMetricData ' + 40 | 'GetPageContext GetPrinterInfo GetProfileSections GetProfileString GetReadableImageFormats GetSOAPRequest GetSOAPRequestHeader ' + 41 | 'GetSOAPResponse GetSOAPResponseHeader GetTempDirectory GetTempFile GetTemplatePath GetTickCount GetTimeZoneInfo GetToken ' + 42 | 'GetUserRoles GetWriteableImageFormats Hash Hour HTMLCodeFormat HTMLEditFormat IIf ImageAddBorder ImageBlur ImageClearRect ' + 43 | 'ImageCopy ImageCrop ImageDrawArc ImageDrawBeveledRect ImageDrawCubicCurve ImageDrawLine ImageDrawLines ImageDrawOval ' + 44 | 'ImageDrawPoint ImageDrawQuadraticCurve ImageDrawRect ImageDrawRoundRect ImageDrawText ImageFlip ImageGetBlob ImageGetBufferedImage ' + 45 | 'ImageGetEXIFTag ImageGetHeight ImageGetIPTCTag ImageGetWidth ImageGrayscale ImageInfo ImageNegative ImageNew ImageOverlay ImagePaste ' + 46 | 'ImageRead ImageReadBase64 ImageResize ImageRotate ImageRotateDrawingAxis ImageScaleToFit ImageSetAntialiasing ImageSetBackgroundColor ' + 47 | 'ImageSetDrawingColor ImageSetDrawingStroke ImageSetDrawingTransparency ImageSharpen ImageShear ImageShearDrawingAxis ImageTranslate ' + 48 | 'ImageTranslateDrawingAxis ImageWrite ImageWriteBase64 ImageXORDrawingMode IncrementValue InputBaseN Insert Int IsArray IsBinary ' + 49 | 'IsBoolean IsCustomFunction IsDate IsDDX IsDebugMode IsDefined IsImage IsImageFile IsInstanceOf IsJSON IsLeapYear IsLocalHost ' + 50 | 'IsNumeric IsNumericDate IsObject IsPDFFile IsPDFObject IsQuery IsSimpleValue IsSOAPRequest IsStruct IsUserInAnyRole IsUserInRole ' + 51 | 'IsUserLoggedIn IsValid IsWDDX IsXML IsXmlAttribute IsXmlDoc IsXmlElem IsXmlNode IsXmlRoot JavaCast JSStringFormat LCase Left Len ' + 52 | 'ListAppend ListChangeDelims ListContains ListContainsNoCase ListDeleteAt ListFind ListFindNoCase ListFirst ListGetAt ListInsertAt ' + 53 | 'ListLast ListLen ListPrepend ListQualify ListRest ListSetAt ListSort ListToArray ListValueCount ListValueCountNoCase LJustify Log ' + 54 | 'Log10 LSCurrencyFormat LSDateFormat LSEuroCurrencyFormat LSIsCurrency LSIsDate LSIsNumeric LSNumberFormat LSParseCurrency LSParseDateTime ' + 55 | 'LSParseEuroCurrency LSParseNumber LSTimeFormat LTrim Max Mid Min Minute Month MonthAsString Now NumberFormat ParagraphFormat ParseDateTime ' + 56 | 'Pi PrecisionEvaluate PreserveSingleQuotes Quarter QueryAddColumn QueryAddRow QueryConvertForGrid QueryNew QuerySetCell QuotedValueList Rand ' + 57 | 'Randomize RandRange REFind REFindNoCase ReleaseComObject REMatch REMatchNoCase RemoveChars RepeatString Replace ReplaceList ReplaceNoCase ' + 58 | 'REReplace REReplaceNoCase Reverse Right RJustify Round RTrim Second SendGatewayMessage SerializeJSON SetEncoding SetLocale SetProfileString ' + 59 | 'SetVariable Sgn Sin Sleep SpanExcluding SpanIncluding Sqr StripCR StructAppend StructClear StructCopy StructCount StructDelete StructFind ' + 60 | 'StructFindKey StructFindValue StructGet StructInsert StructIsEmpty StructKeyArray StructKeyExists StructKeyList StructKeyList StructNew ' + 61 | 'StructSort StructUpdate Tan TimeFormat ToBase64 ToBinary ToScript ToString Trim UCase URLDecode URLEncodedFormat URLSessionFormat Val ' + 62 | 'ValueList VerifyClient Week Wrap Wrap WriteOutput XmlChildPos XmlElemNew XmlFormat XmlGetNodeType XmlNew XmlParse XmlSearch XmlTransform ' + 63 | 'XmlValidate Year YesNoFormat'; 64 | 65 | var keywords = 'cfabort cfajaximport cfajaxproxy cfapplet cfapplication cfargument cfassociate cfbreak cfcache cfcalendar ' + 66 | 'cfcase cfcatch cfchart cfchartdata cfchartseries cfcol cfcollection cfcomponent cfcontent cfcookie cfdbinfo ' + 67 | 'cfdefaultcase cfdirectory cfdiv cfdocument cfdocumentitem cfdocumentsection cfdump cfelse cfelseif cferror ' + 68 | 'cfexchangecalendar cfexchangeconnection cfexchangecontact cfexchangefilter cfexchangemail cfexchangetask ' + 69 | 'cfexecute cfexit cffeed cffile cfflush cfform cfformgroup cfformitem cfftp cffunction cfgrid cfgridcolumn ' + 70 | 'cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam cfif cfimage cfimport cfinclude cfindex ' + 71 | 'cfinput cfinsert cfinterface cfinvoke cfinvokeargument cflayout cflayoutarea cfldap cflocation cflock cflog ' + 72 | 'cflogin cfloginuser cflogout cfloop cfmail cfmailparam cfmailpart cfmenu cfmenuitem cfmodule cfNTauthenticate ' + 73 | 'cfobject cfobjectcache cfoutput cfparam cfpdf cfpdfform cfpdfformparam cfpdfparam cfpdfsubform cfpod cfpop ' + 74 | 'cfpresentation cfpresentationslide cfpresenter cfprint cfprocessingdirective cfprocparam cfprocresult ' + 75 | 'cfproperty cfquery cfqueryparam cfregistry cfreport cfreportparam cfrethrow cfreturn cfsavecontent cfschedule ' + 76 | 'cfscript cfsearch cfselect cfset cfsetting cfsilent cfslider cfsprydataset cfstoredproc cfswitch cftable ' + 77 | 'cftextarea cfthread cfthrow cftimer cftooltip cftrace cftransaction cftree cftreeitem cftry cfupdate cfwddx ' + 78 | 'cfwindow cfxml cfzip cfzipparam'; 79 | 80 | var operators = 'all and any between cross in join like not null or outer some'; 81 | 82 | this.regexList = [ 83 | { regex: new RegExp('--(.*)$', 'gm'), css: 'comments' }, // one line and multiline comments 84 | { regex: SyntaxHighlighter.regexLib.xmlComments, css: 'comments' }, // single quoted strings 85 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 86 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 87 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, // functions 88 | { regex: new RegExp(this.getKeywords(operators), 'gmi'), css: 'color1' }, // operators and such 89 | { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' } // keyword 90 | ]; 91 | } 92 | 93 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 94 | Brush.aliases = ['coldfusion','cf']; 95 | 96 | SyntaxHighlighter.brushes.ColdFusion = Brush; 97 | 98 | // CommonJS 99 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 100 | })(); 101 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushCpp.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Copyright 2006 Shin, YoungJin 25 | 26 | var datatypes = 'ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG DWORD_PTR ' + 27 | 'DWORD32 DWORD64 FLOAT HACCEL HALF_PTR HANDLE HBITMAP HBRUSH ' + 28 | 'HCOLORSPACE HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP HDWP ' + 29 | 'HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HINSTANCE HKEY ' + 30 | 'HKL HLOCAL HMENU HMETAFILE HMODULE HMONITOR HPALETTE HPEN HRESULT ' + 31 | 'HRGN HRSRC HSZ HWINSTA HWND INT INT_PTR INT32 INT64 LANGID LCID LCTYPE ' + 32 | 'LGRPID LONG LONGLONG LONG_PTR LONG32 LONG64 LPARAM LPBOOL LPBYTE LPCOLORREF ' + 33 | 'LPCSTR LPCTSTR LPCVOID LPCWSTR LPDWORD LPHANDLE LPINT LPLONG LPSTR LPTSTR ' + 34 | 'LPVOID LPWORD LPWSTR LRESULT PBOOL PBOOLEAN PBYTE PCHAR PCSTR PCTSTR PCWSTR ' + 35 | 'PDWORDLONG PDWORD_PTR PDWORD32 PDWORD64 PFLOAT PHALF_PTR PHANDLE PHKEY PINT ' + 36 | 'PINT_PTR PINT32 PINT64 PLCID PLONG PLONGLONG PLONG_PTR PLONG32 PLONG64 POINTER_32 ' + 37 | 'POINTER_64 PSHORT PSIZE_T PSSIZE_T PSTR PTBYTE PTCHAR PTSTR PUCHAR PUHALF_PTR ' + 38 | 'PUINT PUINT_PTR PUINT32 PUINT64 PULONG PULONGLONG PULONG_PTR PULONG32 PULONG64 ' + 39 | 'PUSHORT PVOID PWCHAR PWORD PWSTR SC_HANDLE SC_LOCK SERVICE_STATUS_HANDLE SHORT ' + 40 | 'SIZE_T SSIZE_T TBYTE TCHAR UCHAR UHALF_PTR UINT UINT_PTR UINT32 UINT64 ULONG ' + 41 | 'ULONGLONG ULONG_PTR ULONG32 ULONG64 USHORT USN VOID WCHAR WORD WPARAM WPARAM WPARAM ' + 42 | 'char bool short int __int32 __int64 __int8 __int16 long float double __wchar_t ' + 43 | 'clock_t _complex _dev_t _diskfree_t div_t ldiv_t _exception _EXCEPTION_POINTERS ' + 44 | 'FILE _finddata_t _finddatai64_t _wfinddata_t _wfinddatai64_t __finddata64_t ' + 45 | '__wfinddata64_t _FPIEEE_RECORD fpos_t _HEAPINFO _HFILE lconv intptr_t ' + 46 | 'jmp_buf mbstate_t _off_t _onexit_t _PNH ptrdiff_t _purecall_handler ' + 47 | 'sig_atomic_t size_t _stat __stat64 _stati64 terminate_function ' + 48 | 'time_t __time64_t _timeb __timeb64 tm uintptr_t _utimbuf ' + 49 | 'va_list wchar_t wctrans_t wctype_t wint_t signed'; 50 | 51 | var keywords = 'break case catch class const __finally __exception __try ' + 52 | 'const_cast continue private public protected __declspec ' + 53 | 'default delete deprecated dllexport dllimport do dynamic_cast ' + 54 | 'else enum explicit extern if for friend goto inline ' + 55 | 'mutable naked namespace new noinline noreturn nothrow ' + 56 | 'register reinterpret_cast return selectany ' + 57 | 'sizeof static static_cast struct switch template this ' + 58 | 'thread throw true false try typedef typeid typename union ' + 59 | 'using uuid virtual void volatile whcar_t while'; 60 | 61 | var functions = 'assert isalnum isalpha iscntrl isdigit isgraph islower isprint' + 62 | 'ispunct isspace isupper isxdigit tolower toupper errno localeconv ' + 63 | 'setlocale acos asin atan atan2 ceil cos cosh exp fabs floor fmod ' + 64 | 'frexp ldexp log log10 modf pow sin sinh sqrt tan tanh jmp_buf ' + 65 | 'longjmp setjmp raise signal sig_atomic_t va_arg va_end va_start ' + 66 | 'clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen ' + 67 | 'fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell ' + 68 | 'fwrite getc getchar gets perror printf putc putchar puts remove ' + 69 | 'rename rewind scanf setbuf setvbuf sprintf sscanf tmpfile tmpnam ' + 70 | 'ungetc vfprintf vprintf vsprintf abort abs atexit atof atoi atol ' + 71 | 'bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs ' + 72 | 'mbtowc qsort rand realloc srand strtod strtol strtoul system ' + 73 | 'wcstombs wctomb memchr memcmp memcpy memmove memset strcat strchr ' + 74 | 'strcmp strcoll strcpy strcspn strerror strlen strncat strncmp ' + 75 | 'strncpy strpbrk strrchr strspn strstr strtok strxfrm asctime ' + 76 | 'clock ctime difftime gmtime localtime mktime strftime time'; 77 | 78 | this.regexList = [ 79 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 80 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 81 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 82 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 83 | { regex: /^ *#.*/gm, css: 'preprocessor' }, 84 | { regex: new RegExp(this.getKeywords(datatypes), 'gm'), css: 'color1 bold' }, 85 | { regex: new RegExp(this.getKeywords(functions), 'gm'), css: 'functions bold' }, 86 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword bold' } 87 | ]; 88 | }; 89 | 90 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 91 | Brush.aliases = ['cpp', 'c']; 92 | 93 | SyntaxHighlighter.brushes.Cpp = Brush; 94 | 95 | // CommonJS 96 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 97 | })(); 98 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushCss.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | function getKeywordsCSS(str) 25 | { 26 | return '\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b'; 27 | }; 28 | 29 | function getValuesCSS(str) 30 | { 31 | return '\\b' + str.replace(/ /g, '(?!-)(?!:)\\b|\\b()') + '\:\\b'; 32 | }; 33 | 34 | var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' + 35 | 'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' + 36 | 'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' + 37 | 'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' + 38 | 'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' + 39 | 'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' + 40 | 'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' + 41 | 'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' + 42 | 'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' + 43 | 'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' + 44 | 'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' + 45 | 'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' + 46 | 'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' + 47 | 'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index'; 48 | 49 | var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder '+ 50 | 'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed '+ 51 | 'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double '+ 52 | 'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia '+ 53 | 'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic '+ 54 | 'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha '+ 55 | 'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower '+ 56 | 'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset '+ 57 | 'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side '+ 58 | 'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow '+ 59 | 'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize '+ 60 | 'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal '+ 61 | 'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin '+ 62 | 'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow'; 63 | 64 | var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif'; 65 | 66 | this.regexList = [ 67 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 68 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 69 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 70 | { regex: /\#[a-fA-F0-9]{3,6}/g, css: 'value' }, // html colors 71 | { regex: /(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)/g, css: 'value' }, // sizes 72 | { regex: /!important/g, css: 'color3' }, // !important 73 | { regex: new RegExp(getKeywordsCSS(keywords), 'gm'), css: 'keyword' }, // keywords 74 | { regex: new RegExp(getValuesCSS(values), 'g'), css: 'value' }, // values 75 | { regex: new RegExp(this.getKeywords(fonts), 'g'), css: 'color1' } // fonts 76 | ]; 77 | 78 | this.forHtmlScript({ 79 | left: /(<|<)\s*style.*?(>|>)/gi, 80 | right: /(<|<)\/\s*style\s*(>|>)/gi 81 | }); 82 | }; 83 | 84 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 85 | Brush.aliases = ['css']; 86 | 87 | SyntaxHighlighter.brushes.CSS = Brush; 88 | 89 | // CommonJS 90 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 91 | })(); 92 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushDelphi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | var keywords = 'abs addr and ansichar ansistring array as asm begin boolean byte cardinal ' + 25 | 'case char class comp const constructor currency destructor div do double ' + 26 | 'downto else end except exports extended false file finalization finally ' + 27 | 'for function goto if implementation in inherited int64 initialization ' + 28 | 'integer interface is label library longint longword mod nil not object ' + 29 | 'of on or packed pansichar pansistring pchar pcurrency pdatetime pextended ' + 30 | 'pint64 pointer private procedure program property pshortstring pstring ' + 31 | 'pvariant pwidechar pwidestring protected public published raise real real48 ' + 32 | 'record repeat set shl shortint shortstring shr single smallint string then ' + 33 | 'threadvar to true try type unit until uses val var varirnt while widechar ' + 34 | 'widestring with word write writeln xor'; 35 | 36 | this.regexList = [ 37 | { regex: /\(\*[\s\S]*?\*\)/gm, css: 'comments' }, // multiline comments (* *) 38 | { regex: /{(?!\$)[\s\S]*?}/gm, css: 'comments' }, // multiline comments { } 39 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line 40 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 41 | { regex: /\{\$[a-zA-Z]+ .+\}/g, css: 'color1' }, // compiler Directives and Region tags 42 | { regex: /\b[\d\.]+\b/g, css: 'value' }, // numbers 12345 43 | { regex: /\$[a-zA-Z0-9]+\b/g, css: 'value' }, // numbers $F5D3 44 | { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' } // keyword 45 | ]; 46 | }; 47 | 48 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 49 | Brush.aliases = ['delphi', 'pascal', 'pas']; 50 | 51 | SyntaxHighlighter.brushes.Delphi = Brush; 52 | 53 | // CommonJS 54 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 55 | })(); 56 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushDiff.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | this.regexList = [ 25 | { regex: /^\+\+\+.*$/gm, css: 'color2' }, 26 | { regex: /^\-\-\-.*$/gm, css: 'color2' }, 27 | { regex: /^\s.*$/gm, css: 'color1' }, 28 | { regex: /^@@.*@@$/gm, css: 'variable' }, 29 | { regex: /^\+[^\+]{1}.*$/gm, css: 'string' }, 30 | { regex: /^\-[^\-]{1}.*$/gm, css: 'comments' } 31 | ]; 32 | }; 33 | 34 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 35 | Brush.aliases = ['diff', 'patch']; 36 | 37 | SyntaxHighlighter.brushes.Diff = Brush; 38 | 39 | // CommonJS 40 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 41 | })(); 42 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushErlang.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributed by Jean-Lou Dupont 25 | // http://jldupont.blogspot.com/2009/06/erlang-syntax-highlighter.html 26 | 27 | // According to: http://erlang.org/doc/reference_manual/introduction.html#1.5 28 | var keywords = 'after and andalso band begin bnot bor bsl bsr bxor '+ 29 | 'case catch cond div end fun if let not of or orelse '+ 30 | 'query receive rem try when xor'+ 31 | // additional 32 | ' module export import define'; 33 | 34 | this.regexList = [ 35 | { regex: new RegExp("[A-Z][A-Za-z0-9_]+", 'g'), css: 'constants' }, 36 | { regex: new RegExp("\\%.+", 'gm'), css: 'comments' }, 37 | { regex: new RegExp("\\?[A-Za-z0-9_]+", 'g'), css: 'preprocessor' }, 38 | { regex: new RegExp("[a-z0-9_]+:[a-z0-9_]+", 'g'), css: 'functions' }, 39 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, 40 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, 41 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } 42 | ]; 43 | }; 44 | 45 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 46 | Brush.aliases = ['erl', 'erlang']; 47 | 48 | SyntaxHighlighter.brushes.Erland = Brush; 49 | 50 | // CommonJS 51 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 52 | })(); 53 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushGroovy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributed by Andres Almiray 25 | // http://jroller.com/aalmiray/entry/nice_source_code_syntax_highlighter 26 | 27 | var keywords = 'as assert break case catch class continue def default do else extends finally ' + 28 | 'if in implements import instanceof interface new package property return switch ' + 29 | 'throw throws try while public protected private static'; 30 | var types = 'void boolean byte char short int long float double'; 31 | var constants = 'null'; 32 | var methods = 'allProperties count get size '+ 33 | 'collect each eachProperty eachPropertyName eachWithIndex find findAll ' + 34 | 'findIndexOf grep inject max min reverseEach sort ' + 35 | 'asImmutable asSynchronized flatten intersect join pop reverse subMap toList ' + 36 | 'padRight padLeft contains eachMatch toCharacter toLong toUrl tokenize ' + 37 | 'eachFile eachFileRecurse eachB yte eachLine readBytes readLine getText ' + 38 | 'splitEachLine withReader append encodeBase64 decodeBase64 filterLine ' + 39 | 'transformChar transformLine withOutputStream withPrintWriter withStream ' + 40 | 'withStreams withWriter withWriterAppend write writeLine '+ 41 | 'dump inspect invokeMethod print println step times upto use waitForOrKill '+ 42 | 'getText'; 43 | 44 | this.regexList = [ 45 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 46 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 47 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 48 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 49 | { regex: /""".*"""/g, css: 'string' }, // GStrings 50 | { regex: new RegExp('\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b', 'gi'), css: 'value' }, // numbers 51 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // goovy keyword 52 | { regex: new RegExp(this.getKeywords(types), 'gm'), css: 'color1' }, // goovy/java type 53 | { regex: new RegExp(this.getKeywords(constants), 'gm'), css: 'constants' }, // constants 54 | { regex: new RegExp(this.getKeywords(methods), 'gm'), css: 'functions' } // methods 55 | ]; 56 | 57 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 58 | } 59 | 60 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 61 | Brush.aliases = ['groovy']; 62 | 63 | SyntaxHighlighter.brushes.Groovy = Brush; 64 | 65 | // CommonJS 66 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 67 | })(); 68 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushJScript.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | var keywords = 'break case catch continue ' + 25 | 'default delete do else false ' + 26 | 'for function if in instanceof ' + 27 | 'new null return super switch ' + 28 | 'this throw true try typeof var while with' 29 | ; 30 | 31 | var r = SyntaxHighlighter.regexLib; 32 | 33 | this.regexList = [ 34 | { regex: r.multiLineDoubleQuotedString, css: 'string' }, // double quoted strings 35 | { regex: r.multiLineSingleQuotedString, css: 'string' }, // single quoted strings 36 | { regex: r.singleLineCComments, css: 'comments' }, // one line comments 37 | { regex: r.multiLineCComments, css: 'comments' }, // multiline comments 38 | { regex: /\s*#.*/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion 39 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // keywords 40 | ]; 41 | 42 | this.forHtmlScript(r.scriptScriptTags); 43 | }; 44 | 45 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 46 | Brush.aliases = ['js', 'jscript', 'javascript']; 47 | 48 | SyntaxHighlighter.brushes.JScript = Brush; 49 | 50 | // CommonJS 51 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 52 | })(); 53 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushJava.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | var keywords = 'abstract assert boolean break byte case catch char class const ' + 25 | 'continue default do double else enum extends ' + 26 | 'false final finally float for goto if implements import ' + 27 | 'instanceof int interface long native new null ' + 28 | 'package private protected public return ' + 29 | 'short static strictfp super switch synchronized this throw throws true ' + 30 | 'transient try void volatile while'; 31 | 32 | this.regexList = [ 33 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 34 | { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments 35 | { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments 36 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 37 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 38 | { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers 39 | { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno 40 | { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword 41 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword 42 | ]; 43 | 44 | this.forHtmlScript({ 45 | left : /(<|<)%[@!=]?/g, 46 | right : /%(>|>)/g 47 | }); 48 | }; 49 | 50 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 51 | Brush.aliases = ['java']; 52 | 53 | SyntaxHighlighter.brushes.Java = Brush; 54 | 55 | // CommonJS 56 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 57 | })(); 58 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushJavaFX.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributed by Patrick Webster 25 | // http://patrickwebster.blogspot.com/2009/04/javafx-brush-for-syntaxhighlighter.html 26 | var datatypes = 'Boolean Byte Character Double Duration ' 27 | + 'Float Integer Long Number Short String Void' 28 | ; 29 | 30 | var keywords = 'abstract after and as assert at before bind bound break catch class ' 31 | + 'continue def delete else exclusive extends false finally first for from ' 32 | + 'function if import in indexof init insert instanceof into inverse last ' 33 | + 'lazy mixin mod nativearray new not null on or override package postinit ' 34 | + 'protected public public-init public-read replace return reverse sizeof ' 35 | + 'step super then this throw true try tween typeof var where while with ' 36 | + 'attribute let private readonly static trigger' 37 | ; 38 | 39 | this.regexList = [ 40 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, 41 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, 42 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, 43 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, 44 | { regex: /(-?\.?)(\b(\d*\.?\d+|\d+\.?\d*)(e[+-]?\d+)?|0x[a-f\d]+)\b\.?/gi, css: 'color2' }, // numbers 45 | { regex: new RegExp(this.getKeywords(datatypes), 'gm'), css: 'variable' }, // datatypes 46 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } 47 | ]; 48 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 49 | }; 50 | 51 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 52 | Brush.aliases = ['jfx', 'javafx']; 53 | 54 | SyntaxHighlighter.brushes.JavaFX = Brush; 55 | 56 | // CommonJS 57 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 58 | })(); 59 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushPerl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributed by David Simmons-Duffin and Marty Kube 25 | 26 | var funcs = 27 | 'abs accept alarm atan2 bind binmode chdir chmod chomp chop chown chr ' + 28 | 'chroot close closedir connect cos crypt defined delete each endgrent ' + 29 | 'endhostent endnetent endprotoent endpwent endservent eof exec exists ' + 30 | 'exp fcntl fileno flock fork format formline getc getgrent getgrgid ' + 31 | 'getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr ' + 32 | 'getnetbyname getnetent getpeername getpgrp getppid getpriority ' + 33 | 'getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid ' + 34 | 'getservbyname getservbyport getservent getsockname getsockopt glob ' + 35 | 'gmtime grep hex index int ioctl join keys kill lc lcfirst length link ' + 36 | 'listen localtime lock log lstat map mkdir msgctl msgget msgrcv msgsnd ' + 37 | 'oct open opendir ord pack pipe pop pos print printf prototype push ' + 38 | 'quotemeta rand read readdir readline readlink readpipe recv rename ' + 39 | 'reset reverse rewinddir rindex rmdir scalar seek seekdir select semctl ' + 40 | 'semget semop send setgrent sethostent setnetent setpgrp setpriority ' + 41 | 'setprotoent setpwent setservent setsockopt shift shmctl shmget shmread ' + 42 | 'shmwrite shutdown sin sleep socket socketpair sort splice split sprintf ' + 43 | 'sqrt srand stat study substr symlink syscall sysopen sysread sysseek ' + 44 | 'system syswrite tell telldir time times tr truncate uc ucfirst umask ' + 45 | 'undef unlink unpack unshift utime values vec wait waitpid warn write'; 46 | 47 | var keywords = 48 | 'bless caller continue dbmclose dbmopen die do dump else elsif eval exit ' + 49 | 'for foreach goto if import last local my next no our package redo ref ' + 50 | 'require return sub tie tied unless untie until use wantarray while'; 51 | 52 | this.regexList = [ 53 | { regex: new RegExp('#[^!].*$', 'gm'), css: 'comments' }, 54 | { regex: new RegExp('^\\s*#!.*$', 'gm'), css: 'preprocessor' }, // shebang 55 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, 56 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, 57 | { regex: new RegExp('(\\$|@|%)\\w+', 'g'), css: 'variable' }, 58 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, 59 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } 60 | ]; 61 | 62 | this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags); 63 | } 64 | 65 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 66 | Brush.aliases = ['perl', 'Perl', 'pl']; 67 | 68 | SyntaxHighlighter.brushes.Perl = Brush; 69 | 70 | // CommonJS 71 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 72 | })(); 73 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushPhp.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | var funcs = 'abs acos acosh addcslashes addslashes ' + 25 | 'array_change_key_case array_chunk array_combine array_count_values array_diff '+ 26 | 'array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill '+ 27 | 'array_filter array_flip array_intersect array_intersect_assoc array_intersect_key '+ 28 | 'array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map '+ 29 | 'array_merge array_merge_recursive array_multisort array_pad array_pop array_product '+ 30 | 'array_push array_rand array_reduce array_reverse array_search array_shift '+ 31 | 'array_slice array_splice array_sum array_udiff array_udiff_assoc '+ 32 | 'array_udiff_uassoc array_uintersect array_uintersect_assoc '+ 33 | 'array_uintersect_uassoc array_unique array_unshift array_values array_walk '+ 34 | 'array_walk_recursive atan atan2 atanh base64_decode base64_encode base_convert '+ 35 | 'basename bcadd bccomp bcdiv bcmod bcmul bindec bindtextdomain bzclose bzcompress '+ 36 | 'bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite ceil chdir '+ 37 | 'checkdate checkdnsrr chgrp chmod chop chown chr chroot chunk_split class_exists '+ 38 | 'closedir closelog copy cos cosh count count_chars date decbin dechex decoct '+ 39 | 'deg2rad delete ebcdic2ascii echo empty end ereg ereg_replace eregi eregi_replace error_log '+ 40 | 'error_reporting escapeshellarg escapeshellcmd eval exec exit exp explode extension_loaded '+ 41 | 'feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents '+ 42 | 'fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype '+ 43 | 'floatval flock floor flush fmod fnmatch fopen fpassthru fprintf fputcsv fputs fread fscanf '+ 44 | 'fseek fsockopen fstat ftell ftok getallheaders getcwd getdate getenv gethostbyaddr gethostbyname '+ 45 | 'gethostbynamel getimagesize getlastmod getmxrr getmygid getmyinode getmypid getmyuid getopt '+ 46 | 'getprotobyname getprotobynumber getrandmax getrusage getservbyname getservbyport gettext '+ 47 | 'gettimeofday gettype glob gmdate gmmktime ini_alter ini_get ini_get_all ini_restore ini_set '+ 48 | 'interface_exists intval ip2long is_a is_array is_bool is_callable is_dir is_double '+ 49 | 'is_executable is_file is_finite is_float is_infinite is_int is_integer is_link is_long '+ 50 | 'is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_soap_fault '+ 51 | 'is_string is_subclass_of is_uploaded_file is_writable is_writeable mkdir mktime nl2br '+ 52 | 'parse_ini_file parse_str parse_url passthru pathinfo print readlink realpath rewind rewinddir rmdir '+ 53 | 'round str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split '+ 54 | 'str_word_count strcasecmp strchr strcmp strcoll strcspn strftime strip_tags stripcslashes '+ 55 | 'stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpbrk '+ 56 | 'strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtotime '+ 57 | 'strtoupper strtr strval substr substr_compare'; 58 | 59 | var keywords = 'abstract and array as break case catch cfunction class clone const continue declare default die do ' + 60 | 'else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach ' + 61 | 'function include include_once global goto if implements interface instanceof namespace new ' + 62 | 'old_function or private protected public return require require_once static switch ' + 63 | 'throw try use var while xor '; 64 | 65 | var constants = '__FILE__ __LINE__ __METHOD__ __FUNCTION__ __CLASS__'; 66 | 67 | this.regexList = [ 68 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 69 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 70 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 71 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 72 | { regex: /\$\w+/g, css: 'variable' }, // variables 73 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, // common functions 74 | { regex: new RegExp(this.getKeywords(constants), 'gmi'), css: 'constants' }, // constants 75 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // keyword 76 | ]; 77 | 78 | this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags); 79 | }; 80 | 81 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 82 | Brush.aliases = ['php']; 83 | 84 | SyntaxHighlighter.brushes.Php = Brush; 85 | 86 | // CommonJS 87 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 88 | })(); 89 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushPlain.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | }; 25 | 26 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 27 | Brush.aliases = ['text', 'plain']; 28 | 29 | SyntaxHighlighter.brushes.Plain = Brush; 30 | 31 | // CommonJS 32 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 33 | })(); 34 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushPowerShell.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributes by B.v.Zanten, Getronics 25 | // http://confluence.atlassian.com/display/CONFEXT/New+Code+Macro 26 | 27 | var keywords = 'Add-Content Add-History Add-Member Add-PSSnapin Clear(-Content)? Clear-Item ' + 28 | 'Clear-ItemProperty Clear-Variable Compare-Object ConvertFrom-SecureString Convert-Path ' + 29 | 'ConvertTo-Html ConvertTo-SecureString Copy(-Item)? Copy-ItemProperty Export-Alias ' + 30 | 'Export-Clixml Export-Console Export-Csv ForEach(-Object)? Format-Custom Format-List ' + 31 | 'Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command ' + 32 | 'Get-Content Get-Credential Get-Culture Get-Date Get-EventLog Get-ExecutionPolicy ' + 33 | 'Get-Help Get-History Get-Host Get-Item Get-ItemProperty Get-Location Get-Member ' + 34 | 'Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider Get-PSSnapin Get-Service ' + 35 | 'Get-TraceSource Get-UICulture Get-Unique Get-Variable Get-WmiObject Group-Object ' + 36 | 'Import-Alias Import-Clixml Import-Csv Invoke-Expression Invoke-History Invoke-Item ' + 37 | 'Join-Path Measure-Command Measure-Object Move(-Item)? Move-ItemProperty New-Alias ' + 38 | 'New-Item New-ItemProperty New-Object New-PSDrive New-Service New-TimeSpan ' + 39 | 'New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer Out-String Pop-Location ' + 40 | 'Push-Location Read-Host Remove-Item Remove-ItemProperty Remove-PSDrive Remove-PSSnapin ' + 41 | 'Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path Restart-Service Resume-Service ' + 42 | 'Select-Object Select-String Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content ' + 43 | 'Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-Location Set-PSDebug ' + 44 | 'Set-Service Set-TraceSource Set(-Variable)? Sort-Object Split-Path Start-Service ' + 45 | 'Start-Sleep Start-Transcript Stop-Process Stop-Service Stop-Transcript Suspend-Service ' + 46 | 'Tee-Object Test-Path Trace-Command Update-FormatData Update-TypeData Where(-Object)? ' + 47 | 'Write-Debug Write-Error Write(-Host)? Write-Output Write-Progress Write-Verbose Write-Warning'; 48 | var alias = 'ac asnp clc cli clp clv cpi cpp cvpa diff epal epcsv fc fl ' + 49 | 'ft fw gal gc gci gcm gdr ghy gi gl gm gp gps group gsv ' + 50 | 'gsnp gu gv gwmi iex ihy ii ipal ipcsv mi mp nal ndr ni nv oh rdr ' + 51 | 'ri rni rnp rp rsnp rv rvpa sal sasv sc select si sl sleep sort sp ' + 52 | 'spps spsv sv tee cat cd cp h history kill lp ls ' + 53 | 'mount mv popd ps pushd pwd r rm rmdir echo cls chdir del dir ' + 54 | 'erase rd ren type % \\?'; 55 | 56 | this.regexList = [ 57 | { regex: /#.*$/gm, css: 'comments' }, // one line comments 58 | { regex: /\$[a-zA-Z0-9]+\b/g, css: 'value' }, // variables $Computer1 59 | { regex: /\-[a-zA-Z]+\b/g, css: 'keyword' }, // Operators -not -and -eq 60 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 61 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 62 | { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' }, 63 | { regex: new RegExp(this.getKeywords(alias), 'gmi'), css: 'keyword' } 64 | ]; 65 | }; 66 | 67 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 68 | Brush.aliases = ['powershell', 'ps']; 69 | 70 | SyntaxHighlighter.brushes.PowerShell = Brush; 71 | 72 | // CommonJS 73 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 74 | })(); 75 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushPython.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributed by Gheorghe Milas and Ahmad Sherif 25 | 26 | var keywords = 'and assert break class continue def del elif else ' + 27 | 'except exec finally for from global if import in is ' + 28 | 'lambda not or pass print raise return try yield while'; 29 | 30 | var funcs = '__import__ abs all any apply basestring bin bool buffer callable ' + 31 | 'chr classmethod cmp coerce compile complex delattr dict dir ' + 32 | 'divmod enumerate eval execfile file filter float format frozenset ' + 33 | 'getattr globals hasattr hash help hex id input int intern ' + 34 | 'isinstance issubclass iter len list locals long map max min next ' + 35 | 'object oct open ord pow print property range raw_input reduce ' + 36 | 'reload repr reversed round set setattr slice sorted staticmethod ' + 37 | 'str sum super tuple type type unichr unicode vars xrange zip'; 38 | 39 | var special = 'None True False self cls class_'; 40 | 41 | this.regexList = [ 42 | { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, 43 | { regex: /^\s*@\w+/gm, css: 'decorator' }, 44 | { regex: /(['\"]{3})([^\1])*?\1/gm, css: 'comments' }, 45 | { regex: /"(?!")(?:\.|\\\"|[^\""\n])*"/gm, css: 'string' }, 46 | { regex: /'(?!')(?:\.|(\\\')|[^\''\n])*'/gm, css: 'string' }, 47 | { regex: /\+|\-|\*|\/|\%|=|==/gm, css: 'keyword' }, 48 | { regex: /\b\d+\.?\w*/g, css: 'value' }, 49 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, 50 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, 51 | { regex: new RegExp(this.getKeywords(special), 'gm'), css: 'color1' } 52 | ]; 53 | 54 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 55 | }; 56 | 57 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 58 | Brush.aliases = ['py', 'python']; 59 | 60 | SyntaxHighlighter.brushes.Python = Brush; 61 | 62 | // CommonJS 63 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 64 | })(); 65 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushRuby.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributed by Erik Peterson. 25 | 26 | var keywords = 'alias and BEGIN begin break case class def define_method defined do each else elsif ' + 27 | 'END end ensure false for if in module new next nil not or raise redo rescue retry return ' + 28 | 'self super then throw true undef unless until when while yield'; 29 | 30 | var builtins = 'Array Bignum Binding Class Continuation Dir Exception FalseClass File::Stat File Fixnum Fload ' + 31 | 'Hash Integer IO MatchData Method Module NilClass Numeric Object Proc Range Regexp String Struct::TMS Symbol ' + 32 | 'ThreadGroup Thread Time TrueClass'; 33 | 34 | this.regexList = [ 35 | { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, // one line comments 36 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 37 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 38 | { regex: /\b[A-Z0-9_]+\b/g, css: 'constants' }, // constants 39 | { regex: /:[a-z][A-Za-z0-9_]*/g, css: 'color2' }, // symbols 40 | { regex: /(\$|@@|@)\w+/g, css: 'variable bold' }, // $global, @instance, and @@class variables 41 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 42 | { regex: new RegExp(this.getKeywords(builtins), 'gm'), css: 'color1' } // builtins 43 | ]; 44 | 45 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 46 | }; 47 | 48 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 49 | Brush.aliases = ['ruby', 'rails', 'ror', 'rb']; 50 | 51 | SyntaxHighlighter.brushes.Ruby = Brush; 52 | 53 | // CommonJS 54 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 55 | })(); 56 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushSass.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | function getKeywordsCSS(str) 25 | { 26 | return '\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b'; 27 | }; 28 | 29 | function getValuesCSS(str) 30 | { 31 | return '\\b' + str.replace(/ /g, '(?!-)(?!:)\\b|\\b()') + '\:\\b'; 32 | }; 33 | 34 | var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' + 35 | 'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' + 36 | 'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' + 37 | 'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' + 38 | 'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' + 39 | 'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' + 40 | 'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' + 41 | 'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' + 42 | 'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' + 43 | 'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' + 44 | 'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' + 45 | 'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' + 46 | 'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' + 47 | 'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index'; 48 | 49 | var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder '+ 50 | 'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed '+ 51 | 'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero digits disc dotted double '+ 52 | 'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia '+ 53 | 'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic '+ 54 | 'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha '+ 55 | 'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower '+ 56 | 'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset '+ 57 | 'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side '+ 58 | 'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow '+ 59 | 'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize '+ 60 | 'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal '+ 61 | 'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin '+ 62 | 'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow'; 63 | 64 | var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif'; 65 | 66 | var statements = '!important !default'; 67 | var preprocessor = '@import @extend @debug @warn @if @for @while @mixin @include'; 68 | 69 | var r = SyntaxHighlighter.regexLib; 70 | 71 | this.regexList = [ 72 | { regex: r.multiLineCComments, css: 'comments' }, // multiline comments 73 | { regex: r.singleLineCComments, css: 'comments' }, // singleline comments 74 | { regex: r.doubleQuotedString, css: 'string' }, // double quoted strings 75 | { regex: r.singleQuotedString, css: 'string' }, // single quoted strings 76 | { regex: /\#[a-fA-F0-9]{3,6}/g, css: 'value' }, // html colors 77 | { regex: /\b(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)\b/g, css: 'value' }, // sizes 78 | { regex: /\$\w+/g, css: 'variable' }, // variables 79 | { regex: new RegExp(this.getKeywords(statements), 'g'), css: 'color3' }, // statements 80 | { regex: new RegExp(this.getKeywords(preprocessor), 'g'), css: 'preprocessor' }, // preprocessor 81 | { regex: new RegExp(getKeywordsCSS(keywords), 'gm'), css: 'keyword' }, // keywords 82 | { regex: new RegExp(getValuesCSS(values), 'g'), css: 'value' }, // values 83 | { regex: new RegExp(this.getKeywords(fonts), 'g'), css: 'color1' } // fonts 84 | ]; 85 | }; 86 | 87 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 88 | Brush.aliases = ['sass', 'scss']; 89 | 90 | SyntaxHighlighter.brushes.Sass = Brush; 91 | 92 | // CommonJS 93 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 94 | })(); 95 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushScala.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributed by Yegor Jbanov and David Bernard. 25 | 26 | var keywords = 'val sealed case def true trait implicit forSome import match object null finally super ' + 27 | 'override try lazy for var catch throw type extends class while with new final yield abstract ' + 28 | 'else do if return protected private this package false'; 29 | 30 | var keyops = '[_:=><%#@]+'; 31 | 32 | this.regexList = [ 33 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 34 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 35 | { regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString, css: 'string' }, // multi-line strings 36 | { regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css: 'string' }, // double-quoted string 37 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 38 | { regex: /0x[a-f0-9]+|\d+(\.\d+)?/gi, css: 'value' }, // numbers 39 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 40 | { regex: new RegExp(keyops, 'gm'), css: 'keyword' } // scala keyword 41 | ]; 42 | } 43 | 44 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 45 | Brush.aliases = ['scala']; 46 | 47 | SyntaxHighlighter.brushes.Scala = Brush; 48 | 49 | // CommonJS 50 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 51 | })(); 52 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushSql.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | var funcs = 'abs avg case cast coalesce convert count current_timestamp ' + 25 | 'current_user day isnull left lower month nullif replace right ' + 26 | 'session_user space substring sum system_user upper user year'; 27 | 28 | var keywords = 'absolute action add after alter as asc at authorization begin bigint ' + 29 | 'binary bit by cascade char character check checkpoint close collate ' + 30 | 'column commit committed connect connection constraint contains continue ' + 31 | 'create cube current current_date current_time cursor database date ' + 32 | 'deallocate dec decimal declare default delete desc distinct double drop ' + 33 | 'dynamic else end end-exec escape except exec execute false fetch first ' + 34 | 'float for force foreign forward free from full function global goto grant ' + 35 | 'group grouping having hour ignore index inner insensitive insert instead ' + 36 | 'int integer intersect into is isolation key last level load local max min ' + 37 | 'minute modify move name national nchar next no numeric of off on only ' + 38 | 'open option order out output partial password precision prepare primary ' + 39 | 'prior privileges procedure public read real references relative repeatable ' + 40 | 'restrict return returns revoke rollback rollup rows rule schema scroll ' + 41 | 'second section select sequence serializable set size smallint static ' + 42 | 'statistics table temp temporary then time timestamp to top transaction ' + 43 | 'translation trigger true truncate uncommitted union unique update values ' + 44 | 'varchar varying view when where with work'; 45 | 46 | var operators = 'all and any between cross in join like not null or outer some'; 47 | 48 | this.regexList = [ 49 | { regex: /--(.*)$/gm, css: 'comments' }, // one line and multiline comments 50 | { regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css: 'string' }, // double quoted strings 51 | { regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString, css: 'string' }, // single quoted strings 52 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'color2' }, // functions 53 | { regex: new RegExp(this.getKeywords(operators), 'gmi'), css: 'color1' }, // operators and such 54 | { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' } // keyword 55 | ]; 56 | }; 57 | 58 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 59 | Brush.aliases = ['sql']; 60 | 61 | SyntaxHighlighter.brushes.Sql = Brush; 62 | 63 | // CommonJS 64 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 65 | })(); 66 | 67 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushVb.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | var keywords = 'AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto ' + 25 | 'Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate ' + 26 | 'CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr CType ' + 27 | 'Date Decimal Declare Default Delegate Dim DirectCast Do Double Each ' + 28 | 'Else ElseIf End Enum Erase Error Event Exit False Finally For Friend ' + 29 | 'Function Get GetType GoSub GoTo Handles If Implements Imports In ' + 30 | 'Inherits Integer Interface Is Let Lib Like Long Loop Me Mod Module ' + 31 | 'MustInherit MustOverride MyBase MyClass Namespace New Next Not Nothing ' + 32 | 'NotInheritable NotOverridable Object On Option Optional Or OrElse ' + 33 | 'Overloads Overridable Overrides ParamArray Preserve Private Property ' + 34 | 'Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler Resume ' + 35 | 'Return Select Set Shadows Shared Short Single Static Step Stop String ' + 36 | 'Structure Sub SyncLock Then Throw To True Try TypeOf Unicode Until ' + 37 | 'Variant When While With WithEvents WriteOnly Xor'; 38 | 39 | this.regexList = [ 40 | { regex: /'.*$/gm, css: 'comments' }, // one line comments 41 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 42 | { regex: /^\s*#.*$/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion 43 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // vb keyword 44 | ]; 45 | 46 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 47 | }; 48 | 49 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 50 | Brush.aliases = ['vb', 'vbnet']; 51 | 52 | SyntaxHighlighter.brushes.Vb = Brush; 53 | 54 | // CommonJS 55 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 56 | })(); 57 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shBrushXml.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | function process(match, regexInfo) 25 | { 26 | var constructor = SyntaxHighlighter.Match, 27 | code = match[0], 28 | tag = new XRegExp('(<|<)[\\s\\/\\?]*(?[:\\w-\\.]+)', 'xg').exec(code), 29 | result = [] 30 | ; 31 | 32 | if (match.attributes != null) 33 | { 34 | var attributes, 35 | regex = new XRegExp('(? [\\w:\\-\\.]+)' + 36 | '\\s*=\\s*' + 37 | '(? ".*?"|\'.*?\'|\\w+)', 38 | 'xg'); 39 | 40 | while ((attributes = regex.exec(code)) != null) 41 | { 42 | result.push(new constructor(attributes.name, match.index + attributes.index, 'color1')); 43 | result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string')); 44 | } 45 | } 46 | 47 | if (tag != null) 48 | result.push( 49 | new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword') 50 | ); 51 | 52 | return result; 53 | } 54 | 55 | this.regexList = [ 56 | { regex: new XRegExp('(\\<|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\>|>)', 'gm'), css: 'color2' }, // 57 | { regex: SyntaxHighlighter.regexLib.xmlComments, css: 'comments' }, // 58 | { regex: new XRegExp('(<|<)[\\s\\/\\?]*(\\w+)(?.*?)[\\s\\/\\?]*(>|>)', 'sg'), func: process } 59 | ]; 60 | }; 61 | 62 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 63 | Brush.aliases = ['xml', 'xhtml', 'xslt', 'html']; 64 | 65 | SyntaxHighlighter.brushes.Xml = Brush; 66 | 67 | // CommonJS 68 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 69 | })(); 70 | -------------------------------------------------------------------------------- /tutorial/sh/scripts/shLegacy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3 u={8:{}};u.8={A:4(c,k,l,m,n,o){4 d(a,b){2 a!=1?a:b}4 f(a){2 a!=1?a.E():1}c=c.I(":");3 g=c[0],e={};t={"r":K};M=1;5=8.5;9(3 j R c)e[c[j]]="r";k=f(d(k,5.C));l=f(d(l,5.D));m=f(d(m,5.s));o=f(d(o,5.Q));n=f(d(n,5["x-y"]));2{P:g,C:d(t[e.O],k),D:d(t[e.N],l),s:d({"r":r}[e.s],m),"x-y":d(4(a,b){9(3 h=T S("^"+b+"\\\\[(?\\\\w+)\\\\]$","U"),i=1,p=0;p tags to the document body 81 | for (i = 0; i < elements.length; i++) 82 | { 83 | var url = brushes[elements[i].params.brush]; 84 | 85 | if (!url) 86 | continue; 87 | 88 | scripts[url] = false; 89 | loadScript(url); 90 | } 91 | 92 | function loadScript(url) 93 | { 94 | var script = document.createElement('script'), 95 | done = false 96 | ; 97 | 98 | script.src = url; 99 | script.type = 'text/javascript'; 100 | script.language = 'javascript'; 101 | script.onload = script.onreadystatechange = function() 102 | { 103 | if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) 104 | { 105 | done = true; 106 | scripts[url] = true; 107 | checkAll(); 108 | 109 | // Handle memory leak in IE 110 | script.onload = script.onreadystatechange = null; 111 | script.parentNode.removeChild(script); 112 | } 113 | }; 114 | 115 | // sync way of adding script tags to the page 116 | document.body.appendChild(script); 117 | }; 118 | 119 | function checkAll() 120 | { 121 | for(var url in scripts) 122 | if (scripts[url] == false) 123 | return; 124 | 125 | if (allCalled) 126 | SyntaxHighlighter.highlight(allParams); 127 | }; 128 | }; 129 | 130 | })(); 131 | -------------------------------------------------------------------------------- /tutorial/sh/src/shLegacy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | var dp = { 18 | SyntaxHighlighter : {} 19 | }; 20 | 21 | dp.SyntaxHighlighter = { 22 | parseParams: function( 23 | input, 24 | showGutter, 25 | showControls, 26 | collapseAll, 27 | firstLine, 28 | showColumns 29 | ) 30 | { 31 | function getValue(list, name) 32 | { 33 | var regex = new XRegExp('^' + name + '\\[(?\\w+)\\]$', 'gi'), 34 | match = null 35 | ; 36 | 37 | for (var i = 0; i < list.length; i++) 38 | if ((match = regex.exec(list[i])) != null) 39 | return match.value; 40 | 41 | return null; 42 | }; 43 | 44 | function defaultValue(value, def) 45 | { 46 | return value != null ? value : def; 47 | }; 48 | 49 | function asString(value) 50 | { 51 | return value != null ? value.toString() : null; 52 | }; 53 | 54 | var parts = input.split(':'), 55 | brushName = parts[0], 56 | options = {}, 57 | straight = { 'true' : true } 58 | reverse = { 'true' : false }, 59 | result = null, 60 | defaults = SyntaxHighlighter.defaults 61 | ; 62 | 63 | for (var i in parts) 64 | options[parts[i]] = 'true'; 65 | 66 | showGutter = asString(defaultValue(showGutter, defaults.gutter)); 67 | showControls = asString(defaultValue(showControls, defaults.toolbar)); 68 | collapseAll = asString(defaultValue(collapseAll, defaults.collapse)); 69 | showColumns = asString(defaultValue(showColumns, defaults.ruler)); 70 | firstLine = asString(defaultValue(firstLine, defaults['first-line'])); 71 | 72 | return { 73 | brush : brushName, 74 | gutter : defaultValue(reverse[options.nogutter], showGutter), 75 | toolbar : defaultValue(reverse[options.nocontrols], showControls), 76 | collapse : defaultValue(straight[options.collapse], collapseAll), 77 | // ruler : defaultValue(straight[options.showcolumns], showColumns), 78 | 'first-line' : defaultValue(getValue(parts, 'firstline'), firstLine) 79 | }; 80 | }, 81 | 82 | HighlightAll: function( 83 | name, 84 | showGutter /* optional */, 85 | showControls /* optional */, 86 | collapseAll /* optional */, 87 | firstLine /* optional */, 88 | showColumns /* optional */ 89 | ) 90 | { 91 | function findValue() 92 | { 93 | var a = arguments; 94 | 95 | for (var i = 0; i < a.length; i++) 96 | { 97 | if (a[i] === null) 98 | continue; 99 | 100 | if (typeof(a[i]) == 'string' && a[i] != '') 101 | return a[i] + ''; 102 | 103 | if (typeof(a[i]) == 'object' && a[i].value != '') 104 | return a[i].value + ''; 105 | } 106 | 107 | return null; 108 | }; 109 | 110 | function findTagsByName(list, name, tagName) 111 | { 112 | var tags = document.getElementsByTagName(tagName); 113 | 114 | for (var i = 0; i < tags.length; i++) 115 | if (tags[i].getAttribute('name') == name) 116 | list.push(tags[i]); 117 | } 118 | 119 | var elements = [], 120 | highlighter = null, 121 | registered = {}, 122 | propertyName = 'innerHTML' 123 | ; 124 | 125 | // for some reason IE doesn't find
 by name, however it does see them just fine by tag name... 
126 | 		findTagsByName(elements, name, 'pre');
127 | 		findTagsByName(elements, name, 'textarea');
128 | 
129 | 		if (elements.length === 0)
130 | 			return;
131 | 		
132 | 		for (var i = 0; i < elements.length; i++)
133 | 		{
134 | 			var element = elements[i],
135 | 				params = findValue(
136 | 					element.attributes['class'], element.className, 
137 | 					element.attributes['language'], element.language
138 | 					),
139 | 				language = ''
140 | 				;
141 | 			
142 | 			if (params === null) 
143 | 				continue;
144 | 
145 | 			params = dp.SyntaxHighlighter.parseParams(
146 | 				params,
147 | 				showGutter, 
148 | 				showControls, 
149 | 				collapseAll, 
150 | 				firstLine, 
151 | 				showColumns
152 | 				);
153 | 
154 | 			SyntaxHighlighter.highlight(params, element);
155 | 		}
156 | 	}
157 | };
158 | 


--------------------------------------------------------------------------------
/tutorial/sh/styles/shCore.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/SyntaxHighlighter
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
  7 |  *
  8 |  * @version
  9 |  * 3.0.83 (July 02 2010)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2010 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * Dual licensed under the MIT and GPL licenses.
 16 |  */
 17 | .syntaxhighlighter a,
 18 | .syntaxhighlighter div,
 19 | .syntaxhighlighter code,
 20 | .syntaxhighlighter table,
 21 | .syntaxhighlighter table td,
 22 | .syntaxhighlighter table tr,
 23 | .syntaxhighlighter table tbody,
 24 | .syntaxhighlighter table thead,
 25 | .syntaxhighlighter table caption,
 26 | .syntaxhighlighter textarea {
 27 |   -moz-border-radius: 0 0 0 0 !important;
 28 |   -webkit-border-radius: 0 0 0 0 !important;
 29 |   background: none !important;
 30 |   border: 0 !important;
 31 |   bottom: auto !important;
 32 |   float: none !important;
 33 |   height: auto !important;
 34 |   left: auto !important;
 35 |   line-height: 1.1em !important;
 36 |   margin: 0 !important;
 37 |   outline: 0 !important;
 38 |   overflow: visible !important;
 39 |   padding: 0 !important;
 40 |   position: static !important;
 41 |   right: auto !important;
 42 |   text-align: left !important;
 43 |   top: auto !important;
 44 |   vertical-align: baseline !important;
 45 |   width: auto !important;
 46 |   box-sizing: content-box !important;
 47 |   font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
 48 |   font-weight: normal !important;
 49 |   font-style: normal !important;
 50 |   font-size: 1em !important;
 51 |   min-height: inherit !important;
 52 |   min-height: auto !important;
 53 | }
 54 | 
 55 | .syntaxhighlighter {
 56 |   width: 100% !important;
 57 |   margin: 1em 0 1em 0 !important;
 58 |   position: relative !important;
 59 |   overflow: auto !important;
 60 |   font-size: 1em !important;
 61 | }
 62 | .syntaxhighlighter.source {
 63 |   overflow: hidden !important;
 64 | }
 65 | .syntaxhighlighter .bold {
 66 |   font-weight: bold !important;
 67 | }
 68 | .syntaxhighlighter .italic {
 69 |   font-style: italic !important;
 70 | }
 71 | .syntaxhighlighter .line {
 72 |   white-space: pre !important;
 73 | }
 74 | .syntaxhighlighter table {
 75 |   width: 100% !important;
 76 | }
 77 | .syntaxhighlighter table caption {
 78 |   text-align: left !important;
 79 |   padding: .5em 0 0.5em 1em !important;
 80 | }
 81 | .syntaxhighlighter table td.code {
 82 |   width: 100% !important;
 83 | }
 84 | .syntaxhighlighter table td.code .container {
 85 |   position: relative !important;
 86 | }
 87 | .syntaxhighlighter table td.code .container textarea {
 88 |   box-sizing: border-box !important;
 89 |   position: absolute !important;
 90 |   left: 0 !important;
 91 |   top: 0 !important;
 92 |   width: 100% !important;
 93 |   height: 100% !important;
 94 |   border: none !important;
 95 |   background: white !important;
 96 |   padding-left: 1em !important;
 97 |   overflow: hidden !important;
 98 |   white-space: pre !important;
 99 | }
100 | .syntaxhighlighter table td.gutter .line {
101 |   text-align: right !important;
102 |   padding: 0 0.5em 0 1em !important;
103 | }
104 | .syntaxhighlighter table td.code .line {
105 |   padding: 0 1em !important;
106 | }
107 | .syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
108 |   padding-left: 0em !important;
109 | }
110 | .syntaxhighlighter.show {
111 |   display: block !important;
112 | }
113 | .syntaxhighlighter.collapsed table {
114 |   display: none !important;
115 | }
116 | .syntaxhighlighter.collapsed .toolbar {
117 |   padding: 0.1em 0.8em 0em 0.8em !important;
118 |   font-size: 1em !important;
119 |   position: static !important;
120 |   width: auto !important;
121 |   height: auto !important;
122 | }
123 | .syntaxhighlighter.collapsed .toolbar span {
124 |   display: inline !important;
125 |   margin-right: 1em !important;
126 | }
127 | .syntaxhighlighter.collapsed .toolbar span a {
128 |   padding: 0 !important;
129 |   display: none !important;
130 | }
131 | .syntaxhighlighter.collapsed .toolbar span a.expandSource {
132 |   display: inline !important;
133 | }
134 | .syntaxhighlighter .toolbar {
135 |   position: absolute !important;
136 |   right: 1px !important;
137 |   top: 1px !important;
138 |   width: 11px !important;
139 |   height: 11px !important;
140 |   font-size: 10px !important;
141 |   z-index: 10 !important;
142 | }
143 | .syntaxhighlighter .toolbar span.title {
144 |   display: inline !important;
145 | }
146 | .syntaxhighlighter .toolbar a {
147 |   display: block !important;
148 |   text-align: center !important;
149 |   text-decoration: none !important;
150 |   padding-top: 1px !important;
151 | }
152 | .syntaxhighlighter .toolbar a.expandSource {
153 |   display: none !important;
154 | }
155 | .syntaxhighlighter.ie {
156 |   font-size: .9em !important;
157 |   padding: 1px 0 1px 0 !important;
158 | }
159 | .syntaxhighlighter.ie .toolbar {
160 |   line-height: 8px !important;
161 | }
162 | .syntaxhighlighter.ie .toolbar a {
163 |   padding-top: 0px !important;
164 | }
165 | .syntaxhighlighter.printing .line.alt1 .content,
166 | .syntaxhighlighter.printing .line.alt2 .content,
167 | .syntaxhighlighter.printing .line.highlighted .number,
168 | .syntaxhighlighter.printing .line.highlighted.alt1 .content,
169 | .syntaxhighlighter.printing .line.highlighted.alt2 .content {
170 |   background: none !important;
171 | }
172 | .syntaxhighlighter.printing .line .number {
173 |   color: #bbbbbb !important;
174 | }
175 | .syntaxhighlighter.printing .line .content {
176 |   color: black !important;
177 | }
178 | .syntaxhighlighter.printing .toolbar {
179 |   display: none !important;
180 | }
181 | .syntaxhighlighter.printing a {
182 |   text-decoration: none !important;
183 | }
184 | .syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
185 |   color: black !important;
186 | }
187 | .syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
188 |   color: #008200 !important;
189 | }
190 | .syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
191 |   color: blue !important;
192 | }
193 | .syntaxhighlighter.printing .keyword {
194 |   color: #006699 !important;
195 |   font-weight: bold !important;
196 | }
197 | .syntaxhighlighter.printing .preprocessor {
198 |   color: gray !important;
199 | }
200 | .syntaxhighlighter.printing .variable {
201 |   color: #aa7700 !important;
202 | }
203 | .syntaxhighlighter.printing .value {
204 |   color: #009900 !important;
205 | }
206 | .syntaxhighlighter.printing .functions {
207 |   color: #ff1493 !important;
208 | }
209 | .syntaxhighlighter.printing .constants {
210 |   color: #0066cc !important;
211 | }
212 | .syntaxhighlighter.printing .script {
213 |   font-weight: bold !important;
214 | }
215 | .syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
216 |   color: gray !important;
217 | }
218 | .syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
219 |   color: #ff1493 !important;
220 | }
221 | .syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
222 |   color: red !important;
223 | }
224 | .syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
225 |   color: black !important;
226 | }
227 | 


--------------------------------------------------------------------------------
/tutorial/sh/styles/shThemeDefault.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/SyntaxHighlighter
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
  7 |  *
  8 |  * @version
  9 |  * 3.0.83 (July 02 2010)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2010 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * Dual licensed under the MIT and GPL licenses.
 16 |  */
 17 | .syntaxhighlighter {
 18 |   background-color: white !important;
 19 | }
 20 | .syntaxhighlighter .line.alt1 {
 21 |   background-color: white !important;
 22 | }
 23 | .syntaxhighlighter .line.alt2 {
 24 |   background-color: white !important;
 25 | }
 26 | .syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
 27 |   background-color: #e0e0e0 !important;
 28 | }
 29 | .syntaxhighlighter .line.highlighted.number {
 30 |   color: black !important;
 31 | }
 32 | .syntaxhighlighter table caption {
 33 |   color: black !important;
 34 | }
 35 | .syntaxhighlighter .gutter {
 36 |   color: #afafaf !important;
 37 | }
 38 | .syntaxhighlighter .gutter .line {
 39 |   border-right: 3px solid #6ce26c !important;
 40 | }
 41 | .syntaxhighlighter .gutter .line.highlighted {
 42 |   background-color: #6ce26c !important;
 43 |   color: white !important;
 44 | }
 45 | .syntaxhighlighter.printing .line .content {
 46 |   border: none !important;
 47 | }
 48 | .syntaxhighlighter.collapsed {
 49 |   overflow: visible !important;
 50 | }
 51 | .syntaxhighlighter.collapsed .toolbar {
 52 |   color: blue !important;
 53 |   background: white !important;
 54 |   border: 1px solid #6ce26c !important;
 55 | }
 56 | .syntaxhighlighter.collapsed .toolbar a {
 57 |   color: blue !important;
 58 | }
 59 | .syntaxhighlighter.collapsed .toolbar a:hover {
 60 |   color: red !important;
 61 | }
 62 | .syntaxhighlighter .toolbar {
 63 |   color: white !important;
 64 |   background: #6ce26c !important;
 65 |   border: none !important;
 66 | }
 67 | .syntaxhighlighter .toolbar a {
 68 |   color: white !important;
 69 | }
 70 | .syntaxhighlighter .toolbar a:hover {
 71 |   color: black !important;
 72 | }
 73 | .syntaxhighlighter .plain, .syntaxhighlighter .plain a {
 74 |   color: black !important;
 75 | }
 76 | .syntaxhighlighter .comments, .syntaxhighlighter .comments a {
 77 |   color: #008200 !important;
 78 | }
 79 | .syntaxhighlighter .string, .syntaxhighlighter .string a {
 80 |   color: blue !important;
 81 | }
 82 | .syntaxhighlighter .keyword {
 83 |   color: #006699 !important;
 84 | }
 85 | .syntaxhighlighter .preprocessor {
 86 |   color: gray !important;
 87 | }
 88 | .syntaxhighlighter .variable {
 89 |   color: #aa7700 !important;
 90 | }
 91 | .syntaxhighlighter .value {
 92 |   color: #009900 !important;
 93 | }
 94 | .syntaxhighlighter .functions {
 95 |   color: #ff1493 !important;
 96 | }
 97 | .syntaxhighlighter .constants {
 98 |   color: #0066cc !important;
 99 | }
100 | .syntaxhighlighter .script {
101 |   font-weight: bold !important;
102 |   color: #006699 !important;
103 |   background-color: none !important;
104 | }
105 | .syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
106 |   color: gray !important;
107 | }
108 | .syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
109 |   color: #ff1493 !important;
110 | }
111 | .syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
112 |   color: red !important;
113 | }
114 | 
115 | .syntaxhighlighter .keyword {
116 |   font-weight: bold !important;
117 | }
118 | 


--------------------------------------------------------------------------------
/tutorial/sh/styles/shThemeDjango.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/SyntaxHighlighter
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
  7 |  *
  8 |  * @version
  9 |  * 3.0.83 (July 02 2010)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2010 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * Dual licensed under the MIT and GPL licenses.
 16 |  */
 17 | .syntaxhighlighter {
 18 |   background-color: #0a2b1d !important;
 19 | }
 20 | .syntaxhighlighter .line.alt1 {
 21 |   background-color: #0a2b1d !important;
 22 | }
 23 | .syntaxhighlighter .line.alt2 {
 24 |   background-color: #0a2b1d !important;
 25 | }
 26 | .syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
 27 |   background-color: #233729 !important;
 28 | }
 29 | .syntaxhighlighter .line.highlighted.number {
 30 |   color: white !important;
 31 | }
 32 | .syntaxhighlighter table caption {
 33 |   color: #f8f8f8 !important;
 34 | }
 35 | .syntaxhighlighter .gutter {
 36 |   color: #497958 !important;
 37 | }
 38 | .syntaxhighlighter .gutter .line {
 39 |   border-right: 3px solid #41a83e !important;
 40 | }
 41 | .syntaxhighlighter .gutter .line.highlighted {
 42 |   background-color: #41a83e !important;
 43 |   color: #0a2b1d !important;
 44 | }
 45 | .syntaxhighlighter.printing .line .content {
 46 |   border: none !important;
 47 | }
 48 | .syntaxhighlighter.collapsed {
 49 |   overflow: visible !important;
 50 | }
 51 | .syntaxhighlighter.collapsed .toolbar {
 52 |   color: #96dd3b !important;
 53 |   background: black !important;
 54 |   border: 1px solid #41a83e !important;
 55 | }
 56 | .syntaxhighlighter.collapsed .toolbar a {
 57 |   color: #96dd3b !important;
 58 | }
 59 | .syntaxhighlighter.collapsed .toolbar a:hover {
 60 |   color: white !important;
 61 | }
 62 | .syntaxhighlighter .toolbar {
 63 |   color: white !important;
 64 |   background: #41a83e !important;
 65 |   border: none !important;
 66 | }
 67 | .syntaxhighlighter .toolbar a {
 68 |   color: white !important;
 69 | }
 70 | .syntaxhighlighter .toolbar a:hover {
 71 |   color: #ffe862 !important;
 72 | }
 73 | .syntaxhighlighter .plain, .syntaxhighlighter .plain a {
 74 |   color: #f8f8f8 !important;
 75 | }
 76 | .syntaxhighlighter .comments, .syntaxhighlighter .comments a {
 77 |   color: #336442 !important;
 78 | }
 79 | .syntaxhighlighter .string, .syntaxhighlighter .string a {
 80 |   color: #9df39f !important;
 81 | }
 82 | .syntaxhighlighter .keyword {
 83 |   color: #96dd3b !important;
 84 | }
 85 | .syntaxhighlighter .preprocessor {
 86 |   color: #91bb9e !important;
 87 | }
 88 | .syntaxhighlighter .variable {
 89 |   color: #ffaa3e !important;
 90 | }
 91 | .syntaxhighlighter .value {
 92 |   color: #f7e741 !important;
 93 | }
 94 | .syntaxhighlighter .functions {
 95 |   color: #ffaa3e !important;
 96 | }
 97 | .syntaxhighlighter .constants {
 98 |   color: #e0e8ff !important;
 99 | }
100 | .syntaxhighlighter .script {
101 |   font-weight: bold !important;
102 |   color: #96dd3b !important;
103 |   background-color: none !important;
104 | }
105 | .syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
106 |   color: #eb939a !important;
107 | }
108 | .syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
109 |   color: #91bb9e !important;
110 | }
111 | .syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
112 |   color: #edef7d !important;
113 | }
114 | 
115 | .syntaxhighlighter .comments {
116 |   font-style: italic !important;
117 | }
118 | .syntaxhighlighter .keyword {
119 |   font-weight: bold !important;
120 | }
121 | 


--------------------------------------------------------------------------------
/tutorial/sh/styles/shThemeEclipse.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/SyntaxHighlighter
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
  7 |  *
  8 |  * @version
  9 |  * 3.0.83 (July 02 2010)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2010 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * Dual licensed under the MIT and GPL licenses.
 16 |  */
 17 | .syntaxhighlighter {
 18 |   background-color: white !important;
 19 | }
 20 | .syntaxhighlighter .line.alt1 {
 21 |   background-color: white !important;
 22 | }
 23 | .syntaxhighlighter .line.alt2 {
 24 |   background-color: white !important;
 25 | }
 26 | .syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
 27 |   background-color: #c3defe !important;
 28 | }
 29 | .syntaxhighlighter .line.highlighted.number {
 30 |   color: white !important;
 31 | }
 32 | .syntaxhighlighter table caption {
 33 |   color: black !important;
 34 | }
 35 | .syntaxhighlighter .gutter {
 36 |   color: #787878 !important;
 37 | }
 38 | .syntaxhighlighter .gutter .line {
 39 |   border-right: 3px solid #d4d0c8 !important;
 40 | }
 41 | .syntaxhighlighter .gutter .line.highlighted {
 42 |   background-color: #d4d0c8 !important;
 43 |   color: white !important;
 44 | }
 45 | .syntaxhighlighter.printing .line .content {
 46 |   border: none !important;
 47 | }
 48 | .syntaxhighlighter.collapsed {
 49 |   overflow: visible !important;
 50 | }
 51 | .syntaxhighlighter.collapsed .toolbar {
 52 |   color: #3f5fbf !important;
 53 |   background: white !important;
 54 |   border: 1px solid #d4d0c8 !important;
 55 | }
 56 | .syntaxhighlighter.collapsed .toolbar a {
 57 |   color: #3f5fbf !important;
 58 | }
 59 | .syntaxhighlighter.collapsed .toolbar a:hover {
 60 |   color: #aa7700 !important;
 61 | }
 62 | .syntaxhighlighter .toolbar {
 63 |   color: #a0a0a0 !important;
 64 |   background: #d4d0c8 !important;
 65 |   border: none !important;
 66 | }
 67 | .syntaxhighlighter .toolbar a {
 68 |   color: #a0a0a0 !important;
 69 | }
 70 | .syntaxhighlighter .toolbar a:hover {
 71 |   color: red !important;
 72 | }
 73 | .syntaxhighlighter .plain, .syntaxhighlighter .plain a {
 74 |   color: black !important;
 75 | }
 76 | .syntaxhighlighter .comments, .syntaxhighlighter .comments a {
 77 |   color: #3f5fbf !important;
 78 | }
 79 | .syntaxhighlighter .string, .syntaxhighlighter .string a {
 80 |   color: #2a00ff !important;
 81 | }
 82 | .syntaxhighlighter .keyword {
 83 |   color: #7f0055 !important;
 84 | }
 85 | .syntaxhighlighter .preprocessor {
 86 |   color: #646464 !important;
 87 | }
 88 | .syntaxhighlighter .variable {
 89 |   color: #aa7700 !important;
 90 | }
 91 | .syntaxhighlighter .value {
 92 |   color: #009900 !important;
 93 | }
 94 | .syntaxhighlighter .functions {
 95 |   color: #ff1493 !important;
 96 | }
 97 | .syntaxhighlighter .constants {
 98 |   color: #0066cc !important;
 99 | }
100 | .syntaxhighlighter .script {
101 |   font-weight: bold !important;
102 |   color: #7f0055 !important;
103 |   background-color: none !important;
104 | }
105 | .syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
106 |   color: gray !important;
107 | }
108 | .syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
109 |   color: #ff1493 !important;
110 | }
111 | .syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
112 |   color: red !important;
113 | }
114 | 
115 | .syntaxhighlighter .keyword {
116 |   font-weight: bold !important;
117 | }
118 | .syntaxhighlighter .xml .keyword {
119 |   color: #3f7f7f !important;
120 |   font-weight: normal !important;
121 | }
122 | .syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a {
123 |   color: #7f007f !important;
124 | }
125 | .syntaxhighlighter .xml .string {
126 |   font-style: italic !important;
127 |   color: #2a00ff !important;
128 | }
129 | 


--------------------------------------------------------------------------------
/tutorial/sh/styles/shThemeEmacs.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/SyntaxHighlighter
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
  7 |  *
  8 |  * @version
  9 |  * 3.0.83 (July 02 2010)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2010 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * Dual licensed under the MIT and GPL licenses.
 16 |  */
 17 | .syntaxhighlighter {
 18 |   background-color: black !important;
 19 | }
 20 | .syntaxhighlighter .line.alt1 {
 21 |   background-color: black !important;
 22 | }
 23 | .syntaxhighlighter .line.alt2 {
 24 |   background-color: black !important;
 25 | }
 26 | .syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
 27 |   background-color: #2a3133 !important;
 28 | }
 29 | .syntaxhighlighter .line.highlighted.number {
 30 |   color: white !important;
 31 | }
 32 | .syntaxhighlighter table caption {
 33 |   color: #d3d3d3 !important;
 34 | }
 35 | .syntaxhighlighter .gutter {
 36 |   color: #d3d3d3 !important;
 37 | }
 38 | .syntaxhighlighter .gutter .line {
 39 |   border-right: 3px solid #990000 !important;
 40 | }
 41 | .syntaxhighlighter .gutter .line.highlighted {
 42 |   background-color: #990000 !important;
 43 |   color: black !important;
 44 | }
 45 | .syntaxhighlighter.printing .line .content {
 46 |   border: none !important;
 47 | }
 48 | .syntaxhighlighter.collapsed {
 49 |   overflow: visible !important;
 50 | }
 51 | .syntaxhighlighter.collapsed .toolbar {
 52 |   color: #ebdb8d !important;
 53 |   background: black !important;
 54 |   border: 1px solid #990000 !important;
 55 | }
 56 | .syntaxhighlighter.collapsed .toolbar a {
 57 |   color: #ebdb8d !important;
 58 | }
 59 | .syntaxhighlighter.collapsed .toolbar a:hover {
 60 |   color: #ff7d27 !important;
 61 | }
 62 | .syntaxhighlighter .toolbar {
 63 |   color: white !important;
 64 |   background: #990000 !important;
 65 |   border: none !important;
 66 | }
 67 | .syntaxhighlighter .toolbar a {
 68 |   color: white !important;
 69 | }
 70 | .syntaxhighlighter .toolbar a:hover {
 71 |   color: #9ccff4 !important;
 72 | }
 73 | .syntaxhighlighter .plain, .syntaxhighlighter .plain a {
 74 |   color: #d3d3d3 !important;
 75 | }
 76 | .syntaxhighlighter .comments, .syntaxhighlighter .comments a {
 77 |   color: #ff7d27 !important;
 78 | }
 79 | .syntaxhighlighter .string, .syntaxhighlighter .string a {
 80 |   color: #ff9e7b !important;
 81 | }
 82 | .syntaxhighlighter .keyword {
 83 |   color: aqua !important;
 84 | }
 85 | .syntaxhighlighter .preprocessor {
 86 |   color: #aec4de !important;
 87 | }
 88 | .syntaxhighlighter .variable {
 89 |   color: #ffaa3e !important;
 90 | }
 91 | .syntaxhighlighter .value {
 92 |   color: #009900 !important;
 93 | }
 94 | .syntaxhighlighter .functions {
 95 |   color: #81cef9 !important;
 96 | }
 97 | .syntaxhighlighter .constants {
 98 |   color: #ff9e7b !important;
 99 | }
100 | .syntaxhighlighter .script {
101 |   font-weight: bold !important;
102 |   color: aqua !important;
103 |   background-color: none !important;
104 | }
105 | .syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
106 |   color: #ebdb8d !important;
107 | }
108 | .syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
109 |   color: #ff7d27 !important;
110 | }
111 | .syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
112 |   color: #aec4de !important;
113 | }
114 | 


--------------------------------------------------------------------------------
/tutorial/sh/styles/shThemeFadeToGrey.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/SyntaxHighlighter
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
  7 |  *
  8 |  * @version
  9 |  * 3.0.83 (July 02 2010)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2010 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * Dual licensed under the MIT and GPL licenses.
 16 |  */
 17 | .syntaxhighlighter {
 18 |   background-color: #121212 !important;
 19 | }
 20 | .syntaxhighlighter .line.alt1 {
 21 |   background-color: #121212 !important;
 22 | }
 23 | .syntaxhighlighter .line.alt2 {
 24 |   background-color: #121212 !important;
 25 | }
 26 | .syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
 27 |   background-color: #2c2c29 !important;
 28 | }
 29 | .syntaxhighlighter .line.highlighted.number {
 30 |   color: white !important;
 31 | }
 32 | .syntaxhighlighter table caption {
 33 |   color: white !important;
 34 | }
 35 | .syntaxhighlighter .gutter {
 36 |   color: #afafaf !important;
 37 | }
 38 | .syntaxhighlighter .gutter .line {
 39 |   border-right: 3px solid #3185b9 !important;
 40 | }
 41 | .syntaxhighlighter .gutter .line.highlighted {
 42 |   background-color: #3185b9 !important;
 43 |   color: #121212 !important;
 44 | }
 45 | .syntaxhighlighter.printing .line .content {
 46 |   border: none !important;
 47 | }
 48 | .syntaxhighlighter.collapsed {
 49 |   overflow: visible !important;
 50 | }
 51 | .syntaxhighlighter.collapsed .toolbar {
 52 |   color: #3185b9 !important;
 53 |   background: black !important;
 54 |   border: 1px solid #3185b9 !important;
 55 | }
 56 | .syntaxhighlighter.collapsed .toolbar a {
 57 |   color: #3185b9 !important;
 58 | }
 59 | .syntaxhighlighter.collapsed .toolbar a:hover {
 60 |   color: #d01d33 !important;
 61 | }
 62 | .syntaxhighlighter .toolbar {
 63 |   color: white !important;
 64 |   background: #3185b9 !important;
 65 |   border: none !important;
 66 | }
 67 | .syntaxhighlighter .toolbar a {
 68 |   color: white !important;
 69 | }
 70 | .syntaxhighlighter .toolbar a:hover {
 71 |   color: #96daff !important;
 72 | }
 73 | .syntaxhighlighter .plain, .syntaxhighlighter .plain a {
 74 |   color: white !important;
 75 | }
 76 | .syntaxhighlighter .comments, .syntaxhighlighter .comments a {
 77 |   color: #696854 !important;
 78 | }
 79 | .syntaxhighlighter .string, .syntaxhighlighter .string a {
 80 |   color: #e3e658 !important;
 81 | }
 82 | .syntaxhighlighter .keyword {
 83 |   color: #d01d33 !important;
 84 | }
 85 | .syntaxhighlighter .preprocessor {
 86 |   color: #435a5f !important;
 87 | }
 88 | .syntaxhighlighter .variable {
 89 |   color: #898989 !important;
 90 | }
 91 | .syntaxhighlighter .value {
 92 |   color: #009900 !important;
 93 | }
 94 | .syntaxhighlighter .functions {
 95 |   color: #aaaaaa !important;
 96 | }
 97 | .syntaxhighlighter .constants {
 98 |   color: #96daff !important;
 99 | }
100 | .syntaxhighlighter .script {
101 |   font-weight: bold !important;
102 |   color: #d01d33 !important;
103 |   background-color: none !important;
104 | }
105 | .syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
106 |   color: #ffc074 !important;
107 | }
108 | .syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
109 |   color: #4a8cdb !important;
110 | }
111 | .syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
112 |   color: #96daff !important;
113 | }
114 | 
115 | .syntaxhighlighter .functions {
116 |   font-weight: bold !important;
117 | }
118 | 


--------------------------------------------------------------------------------
/tutorial/sh/styles/shThemeMDUltra.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/SyntaxHighlighter
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
  7 |  *
  8 |  * @version
  9 |  * 3.0.83 (July 02 2010)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2010 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * Dual licensed under the MIT and GPL licenses.
 16 |  */
 17 | .syntaxhighlighter {
 18 |   background-color: #222222 !important;
 19 | }
 20 | .syntaxhighlighter .line.alt1 {
 21 |   background-color: #222222 !important;
 22 | }
 23 | .syntaxhighlighter .line.alt2 {
 24 |   background-color: #222222 !important;
 25 | }
 26 | .syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
 27 |   background-color: #253e5a !important;
 28 | }
 29 | .syntaxhighlighter .line.highlighted.number {
 30 |   color: white !important;
 31 | }
 32 | .syntaxhighlighter table caption {
 33 |   color: lime !important;
 34 | }
 35 | .syntaxhighlighter .gutter {
 36 |   color: #38566f !important;
 37 | }
 38 | .syntaxhighlighter .gutter .line {
 39 |   border-right: 3px solid #435a5f !important;
 40 | }
 41 | .syntaxhighlighter .gutter .line.highlighted {
 42 |   background-color: #435a5f !important;
 43 |   color: #222222 !important;
 44 | }
 45 | .syntaxhighlighter.printing .line .content {
 46 |   border: none !important;
 47 | }
 48 | .syntaxhighlighter.collapsed {
 49 |   overflow: visible !important;
 50 | }
 51 | .syntaxhighlighter.collapsed .toolbar {
 52 |   color: #428bdd !important;
 53 |   background: black !important;
 54 |   border: 1px solid #435a5f !important;
 55 | }
 56 | .syntaxhighlighter.collapsed .toolbar a {
 57 |   color: #428bdd !important;
 58 | }
 59 | .syntaxhighlighter.collapsed .toolbar a:hover {
 60 |   color: lime !important;
 61 | }
 62 | .syntaxhighlighter .toolbar {
 63 |   color: #aaaaff !important;
 64 |   background: #435a5f !important;
 65 |   border: none !important;
 66 | }
 67 | .syntaxhighlighter .toolbar a {
 68 |   color: #aaaaff !important;
 69 | }
 70 | .syntaxhighlighter .toolbar a:hover {
 71 |   color: #9ccff4 !important;
 72 | }
 73 | .syntaxhighlighter .plain, .syntaxhighlighter .plain a {
 74 |   color: lime !important;
 75 | }
 76 | .syntaxhighlighter .comments, .syntaxhighlighter .comments a {
 77 |   color: #428bdd !important;
 78 | }
 79 | .syntaxhighlighter .string, .syntaxhighlighter .string a {
 80 |   color: lime !important;
 81 | }
 82 | .syntaxhighlighter .keyword {
 83 |   color: #aaaaff !important;
 84 | }
 85 | .syntaxhighlighter .preprocessor {
 86 |   color: #8aa6c1 !important;
 87 | }
 88 | .syntaxhighlighter .variable {
 89 |   color: aqua !important;
 90 | }
 91 | .syntaxhighlighter .value {
 92 |   color: #f7e741 !important;
 93 | }
 94 | .syntaxhighlighter .functions {
 95 |   color: #ff8000 !important;
 96 | }
 97 | .syntaxhighlighter .constants {
 98 |   color: yellow !important;
 99 | }
100 | .syntaxhighlighter .script {
101 |   font-weight: bold !important;
102 |   color: #aaaaff !important;
103 |   background-color: none !important;
104 | }
105 | .syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
106 |   color: red !important;
107 | }
108 | .syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
109 |   color: yellow !important;
110 | }
111 | .syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
112 |   color: #ffaa3e !important;
113 | }
114 | 


--------------------------------------------------------------------------------
/tutorial/sh/styles/shThemeMidnight.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/SyntaxHighlighter
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
  7 |  *
  8 |  * @version
  9 |  * 3.0.83 (July 02 2010)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2010 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * Dual licensed under the MIT and GPL licenses.
 16 |  */
 17 | .syntaxhighlighter {
 18 |   background-color: #0f192a !important;
 19 | }
 20 | .syntaxhighlighter .line.alt1 {
 21 |   background-color: #0f192a !important;
 22 | }
 23 | .syntaxhighlighter .line.alt2 {
 24 |   background-color: #0f192a !important;
 25 | }
 26 | .syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
 27 |   background-color: #253e5a !important;
 28 | }
 29 | .syntaxhighlighter .line.highlighted.number {
 30 |   color: #38566f !important;
 31 | }
 32 | .syntaxhighlighter table caption {
 33 |   color: #d1edff !important;
 34 | }
 35 | .syntaxhighlighter .gutter {
 36 |   color: #afafaf !important;
 37 | }
 38 | .syntaxhighlighter .gutter .line {
 39 |   border-right: 3px solid #435a5f !important;
 40 | }
 41 | .syntaxhighlighter .gutter .line.highlighted {
 42 |   background-color: #435a5f !important;
 43 |   color: #0f192a !important;
 44 | }
 45 | .syntaxhighlighter.printing .line .content {
 46 |   border: none !important;
 47 | }
 48 | .syntaxhighlighter.collapsed {
 49 |   overflow: visible !important;
 50 | }
 51 | .syntaxhighlighter.collapsed .toolbar {
 52 |   color: #428bdd !important;
 53 |   background: black !important;
 54 |   border: 1px solid #435a5f !important;
 55 | }
 56 | .syntaxhighlighter.collapsed .toolbar a {
 57 |   color: #428bdd !important;
 58 | }
 59 | .syntaxhighlighter.collapsed .toolbar a:hover {
 60 |   color: #1dc116 !important;
 61 | }
 62 | .syntaxhighlighter .toolbar {
 63 |   color: #d1edff !important;
 64 |   background: #435a5f !important;
 65 |   border: none !important;
 66 | }
 67 | .syntaxhighlighter .toolbar a {
 68 |   color: #d1edff !important;
 69 | }
 70 | .syntaxhighlighter .toolbar a:hover {
 71 |   color: #8aa6c1 !important;
 72 | }
 73 | .syntaxhighlighter .plain, .syntaxhighlighter .plain a {
 74 |   color: #d1edff !important;
 75 | }
 76 | .syntaxhighlighter .comments, .syntaxhighlighter .comments a {
 77 |   color: #428bdd !important;
 78 | }
 79 | .syntaxhighlighter .string, .syntaxhighlighter .string a {
 80 |   color: #1dc116 !important;
 81 | }
 82 | .syntaxhighlighter .keyword {
 83 |   color: #b43d3d !important;
 84 | }
 85 | .syntaxhighlighter .preprocessor {
 86 |   color: #8aa6c1 !important;
 87 | }
 88 | .syntaxhighlighter .variable {
 89 |   color: #ffaa3e !important;
 90 | }
 91 | .syntaxhighlighter .value {
 92 |   color: #f7e741 !important;
 93 | }
 94 | .syntaxhighlighter .functions {
 95 |   color: #ffaa3e !important;
 96 | }
 97 | .syntaxhighlighter .constants {
 98 |   color: #e0e8ff !important;
 99 | }
100 | .syntaxhighlighter .script {
101 |   font-weight: bold !important;
102 |   color: #b43d3d !important;
103 |   background-color: none !important;
104 | }
105 | .syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
106 |   color: #f8bb00 !important;
107 | }
108 | .syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
109 |   color: white !important;
110 | }
111 | .syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
112 |   color: #ffaa3e !important;
113 | }
114 | 


--------------------------------------------------------------------------------
/tutorial/sh/styles/shThemeRDark.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/SyntaxHighlighter
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
  7 |  *
  8 |  * @version
  9 |  * 3.0.83 (July 02 2010)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2010 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * Dual licensed under the MIT and GPL licenses.
 16 |  */
 17 | .syntaxhighlighter {
 18 |   background-color: #1b2426 !important;
 19 | }
 20 | .syntaxhighlighter .line.alt1 {
 21 |   background-color: #1b2426 !important;
 22 | }
 23 | .syntaxhighlighter .line.alt2 {
 24 |   background-color: #1b2426 !important;
 25 | }
 26 | .syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
 27 |   background-color: #323e41 !important;
 28 | }
 29 | .syntaxhighlighter .line.highlighted.number {
 30 |   color: #b9bdb6 !important;
 31 | }
 32 | .syntaxhighlighter table caption {
 33 |   color: #b9bdb6 !important;
 34 | }
 35 | .syntaxhighlighter .gutter {
 36 |   color: #afafaf !important;
 37 | }
 38 | .syntaxhighlighter .gutter .line {
 39 |   border-right: 3px solid #435a5f !important;
 40 | }
 41 | .syntaxhighlighter .gutter .line.highlighted {
 42 |   background-color: #435a5f !important;
 43 |   color: #1b2426 !important;
 44 | }
 45 | .syntaxhighlighter.printing .line .content {
 46 |   border: none !important;
 47 | }
 48 | .syntaxhighlighter.collapsed {
 49 |   overflow: visible !important;
 50 | }
 51 | .syntaxhighlighter.collapsed .toolbar {
 52 |   color: #5ba1cf !important;
 53 |   background: black !important;
 54 |   border: 1px solid #435a5f !important;
 55 | }
 56 | .syntaxhighlighter.collapsed .toolbar a {
 57 |   color: #5ba1cf !important;
 58 | }
 59 | .syntaxhighlighter.collapsed .toolbar a:hover {
 60 |   color: #5ce638 !important;
 61 | }
 62 | .syntaxhighlighter .toolbar {
 63 |   color: white !important;
 64 |   background: #435a5f !important;
 65 |   border: none !important;
 66 | }
 67 | .syntaxhighlighter .toolbar a {
 68 |   color: white !important;
 69 | }
 70 | .syntaxhighlighter .toolbar a:hover {
 71 |   color: #e0e8ff !important;
 72 | }
 73 | .syntaxhighlighter .plain, .syntaxhighlighter .plain a {
 74 |   color: #b9bdb6 !important;
 75 | }
 76 | .syntaxhighlighter .comments, .syntaxhighlighter .comments a {
 77 |   color: #878a85 !important;
 78 | }
 79 | .syntaxhighlighter .string, .syntaxhighlighter .string a {
 80 |   color: #5ce638 !important;
 81 | }
 82 | .syntaxhighlighter .keyword {
 83 |   color: #5ba1cf !important;
 84 | }
 85 | .syntaxhighlighter .preprocessor {
 86 |   color: #435a5f !important;
 87 | }
 88 | .syntaxhighlighter .variable {
 89 |   color: #ffaa3e !important;
 90 | }
 91 | .syntaxhighlighter .value {
 92 |   color: #009900 !important;
 93 | }
 94 | .syntaxhighlighter .functions {
 95 |   color: #ffaa3e !important;
 96 | }
 97 | .syntaxhighlighter .constants {
 98 |   color: #e0e8ff !important;
 99 | }
100 | .syntaxhighlighter .script {
101 |   font-weight: bold !important;
102 |   color: #5ba1cf !important;
103 |   background-color: none !important;
104 | }
105 | .syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
106 |   color: #e0e8ff !important;
107 | }
108 | .syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
109 |   color: white !important;
110 | }
111 | .syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
112 |   color: #ffaa3e !important;
113 | }
114 | 


--------------------------------------------------------------------------------
/tutorial/sh/tests/.rvmrc:
--------------------------------------------------------------------------------
1 | rvm 1.8.7-p249@copydeca


--------------------------------------------------------------------------------
/tutorial/sh/tests/brushes/sass.html:
--------------------------------------------------------------------------------
  1 | 


--------------------------------------------------------------------------------
/tutorial/sh/tests/brushes_tests.html:
--------------------------------------------------------------------------------
  1 | 
  2 | 
  3 | 
  4 | 	
  5 | 	SyntaxHighlighter Brushes Tests
  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 | 58 | 59 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/001_basic.html: -------------------------------------------------------------------------------- 1 |
 2 | 	/**
 3 | 	 * multiline comment 
 4 | 	 */
 5 | 	
 6 | 	text
 7 | 	
 8 | 	// single line comment
 9 | 	
10 | 	text
11 | 	
12 | 	"string" text 'string' text "string"
13 | 	"string with \" escape" text 'string with \' escape' text "string with \" escape"
14 | 	
15 | 	var code = '\
16 | 		function helloWorld()\
17 | 		{\
18 | 			// this is great!\
19 | 			for(var i = 0; i <= 1; i++)\
20 | 				alert("yay");\
21 | 		}\
22 | 		';
23 | 
24 | 25 | 43 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/002_brushes.html: -------------------------------------------------------------------------------- 1 |
2 |
test
3 |
test
4 |
test
5 |
test
6 |
test
7 |
test
8 |
test
9 |
test
10 |
test
11 |
test
12 |
test
13 |
test
14 |
test
15 |
test
16 |
test
17 |
test
18 |
test
19 |
test
20 |
test
21 |
test
22 |
test
23 |
test
24 |
test
25 |
test
26 |
test
27 |
28 | 29 | 51 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/003_script_tag.html: -------------------------------------------------------------------------------- 1 |
2 | 22 |
23 | 24 | 43 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/004_url_parsing.html: -------------------------------------------------------------------------------- 1 |
 2 | /**
 3 |  * Please see <http://www.alexgorbatchev.come/?test=1&y=2>
 4 |  */
 5 | var home = "http://www.alexgorbatchev.come/?test=1&y=2;test/1/2/3;";
 6 | // < http://www.gnu.org/licenses/?test=1&y=2 >.
 7 | 
 8 | // Test embedded URLs that terminate at a left angle bracket.
 9 | // See bug #28: http://bitbucket.org/alexg/syntaxhighlighter/issue/28/
10 | "http://www.example.com/song2.mp3";
11 | 
12 | 13 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/005_no_gutter.html: -------------------------------------------------------------------------------- 1 |
 2 | 			public Image getImage(URL url, String name) {
 3 | 				try {
 4 | 					/*
 5 | 					   Regular multiline comment.
 6 | 					*/
 7 | 				    return getImage(new URL(url, name));
 8 | 				} catch (MalformedURLException e) {
 9 | 				    return null;
10 | 				}
11 | 			}
12 | 
13 | 14 | 34 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/006_pad_line_numbers.html: -------------------------------------------------------------------------------- 1 |
 2 | /**
 3 |  * Returns an Image object that can then be painted on the screen. 
 4 |  * The url argument must specify an absolute {@link URL}. The name
 5 |  * argument is a specifier that is relative to the url argument. 
 6 |  *
 7 |  * @param  url  an absolute URL giving the base location of the image
 8 |  * @param  name the location of the image, relative to the url argument
 9 |  * @return      the image at the specified URL
10 |  * @see         Image
11 |  */
12 | 
13 | 14 | 40 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/007_collapse.html: -------------------------------------------------------------------------------- 1 |
 2 | 	/**
 3 | 	 * Returns an Image object that can then be painted on the screen. 
 4 | 	 * The url argument must specify an absolute {@link URL}. The name
 5 | 	 * argument is a specifier that is relative to the url argument. 
 6 | 	 *
 7 | 	 * @param  url  an absolute URL giving the base location of the image
 8 | 	 * @param  name the location of the image, relative to the url argument
 9 | 	 * @return      the image at the specified URL
10 | 	 * @see         Image
11 | 	 */
12 | 
13 | 14 |
15 | 	/**
16 | 	 * Returns an Image object that can then be painted on the screen. 
17 | 	 * The url argument must specify an absolute {@link URL}. The name
18 | 	 * argument is a specifier that is relative to the url argument. 
19 | 	 *
20 | 	 * @param  url  an absolute URL giving the base location of the image
21 | 	 * @param  name the location of the image, relative to the url argument
22 | 	 * @return      the image at the specified URL
23 | 	 * @see         Image
24 | 	 */
25 | 
26 | 27 | 61 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/007_collapse_interaction.html: -------------------------------------------------------------------------------- 1 | 45 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/008_first_line.html: -------------------------------------------------------------------------------- 1 |
 2 | 	partial class Foo
 3 | 	{
 4 | 		function test()
 5 | 		{
 6 | 			yield return;
 7 | 		}
 8 | 	}
 9 | 
10 | 11 | 30 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/009_class_name.html: -------------------------------------------------------------------------------- 1 |
 2 | 	public Image getImage(URL url, String name) {
 3 | 		try {
 4 | 			/*
 5 | 			   Regular multiline comment.
 6 | 			*/
 7 | 		    return getImage(new URL(url, name));
 8 | 		} catch (MalformedURLException e) {
 9 | 		    return null;
10 | 		}
11 | 	}
12 | 
13 | 14 | 33 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/010_highlight.html: -------------------------------------------------------------------------------- 1 |
 2 | 	public function validateStrongPassword(password:String):Boolean
 3 | 	{
 4 | 		if (password == null || password.length <= 0)
 5 | 		{
 6 | 			return false;
 7 | 		}
 8 | 		
 9 | 		return STRONG_PASSWORD_PATTERN.test(password);
10 | 	}
11 | 
12 | 40 | 41 | 71 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/011_smart_tabs.html: -------------------------------------------------------------------------------- 1 |
 2 | 	the		words	in		this	paragraph
 3 | 	should	look	like	they	are
 4 | 	evenly	spaced	between	columns
 5 | 
6 | 7 |
 8 | 	the	words	in	this	paragraph
 9 | 	should	look	like	they	are
10 | 	evenly	spaced	between	columns
11 | 
12 | 13 |
14 | 	the		words	in		this	paragraph
15 | 	should	look	out		of		whack
16 | 	because	smart	tabs	are		disabled
17 | 
18 | 19 | 99 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/012_server_side.html: -------------------------------------------------------------------------------- 1 | 9 | 10 |
11 |
12 | 13 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/013_html_script.html: -------------------------------------------------------------------------------- 1 |
 2 | <hello>
 3 | 	<%
 4 | 		package free.cafekiwi.gotapi;
 5 | 	%>
 6 | </hello>
 7 | 
 8 | 
11 | <%= print(); %>
12 | 
13 | 14 | -------------------------------------------------------------------------------- /tutorial/sh/tests/cases/014_legacy.html: -------------------------------------------------------------------------------- 1 |
basic check
2 |
no toolbar
3 |
no gutter
4 |
collapsed
5 |
first line
6 | 7 | 71 | -------------------------------------------------------------------------------- /tutorial/sh/tests/commonjs_tests.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This is a CommonJS compatibility test. You can run this file with node. 3 | */ 4 | require.paths.unshift(__dirname + '/../scripts'); 5 | 6 | var sys = require('sys'), 7 | shSyntaxHighlighter = require('shCore').SyntaxHighlighter, 8 | code = 'test', 9 | brushes = [ 10 | 'AS3', 11 | 'AppleScript', 12 | 'Bash', 13 | 'CSharp', 14 | 'ColdFusion', 15 | 'Cpp', 16 | 'Css', 17 | 'Delphi', 18 | 'Diff', 19 | 'Erlang', 20 | 'Groovy', 21 | 'JScript', 22 | 'Java', 23 | 'JavaFX', 24 | 'Perl', 25 | 'Php', 26 | 'Plain', 27 | 'PowerShell', 28 | 'Python', 29 | 'Ruby', 30 | 'Sass', 31 | 'Scala', 32 | 'Sql', 33 | 'Vb', 34 | 'Xml' 35 | ] 36 | ; 37 | 38 | brushes.sort(); 39 | 40 | for (var i = 0; i < brushes.length; i++) 41 | { 42 | var name = brushes[i], 43 | brush = require('shBrush' + name).Brush 44 | ; 45 | 46 | brush = new brush(); 47 | brush.init({ toolbar: false }); 48 | 49 | var result = brush.getHtml(code); 50 | 51 | sys.puts(name + (result != null ? ': ok' : ': NOT OK')); 52 | } 53 | -------------------------------------------------------------------------------- /tutorial/sh/tests/js/qunit.css: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | 18 | ol#qunit-tests { 19 | font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial; 20 | margin:0; 21 | padding:0; 22 | list-style-position:inside; 23 | 24 | font-size: smaller; 25 | } 26 | ol#qunit-tests li{ 27 | padding:0.4em 0.5em 0.4em 2.5em; 28 | border-bottom:1px solid #fff; 29 | font-size:small; 30 | list-style-position:inside; 31 | } 32 | ol#qunit-tests li ol{ 33 | box-shadow: inset 0px 2px 13px #999; 34 | -moz-box-shadow: inset 0px 2px 13px #999; 35 | -webkit-box-shadow: inset 0px 2px 13px #999; 36 | margin-top:0.5em; 37 | margin-left:0; 38 | padding:0.5em; 39 | background-color:#fff; 40 | border-radius:15px; 41 | -moz-border-radius: 15px; 42 | -webkit-border-radius: 15px; 43 | } 44 | ol#qunit-tests li li{ 45 | border-bottom:none; 46 | margin:0.5em; 47 | background-color:#fff; 48 | list-style-position: inside; 49 | padding:0.4em 0.5em 0.4em 0.5em; 50 | } 51 | 52 | ol#qunit-tests li li.pass{ 53 | border-left:26px solid #C6E746; 54 | background-color:#fff; 55 | color:#5E740B; 56 | } 57 | ol#qunit-tests li li.fail{ 58 | border-left:26px solid #EE5757; 59 | background-color:#fff; 60 | color:#710909; 61 | } 62 | ol#qunit-tests li.pass{ 63 | background-color:#D2E0E6; 64 | color:#528CE0; 65 | } 66 | ol#qunit-tests li.fail{ 67 | background-color:#EE5757; 68 | color:#000; 69 | } 70 | ol#qunit-tests li strong { 71 | cursor:pointer; 72 | } 73 | h1#qunit-header{ 74 | background-color:#0d3349; 75 | margin:0; 76 | padding:0.5em 0 0.5em 1em; 77 | color:#fff; 78 | font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial; 79 | border-top-right-radius:15px; 80 | border-top-left-radius:15px; 81 | -moz-border-radius-topright:15px; 82 | -moz-border-radius-topleft:15px; 83 | -webkit-border-top-right-radius:15px; 84 | -webkit-border-top-left-radius:15px; 85 | text-shadow: rgba(0, 0, 0, 0.5) 4px 4px 1px; 86 | } 87 | h2#qunit-banner{ 88 | font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial; 89 | height:5px; 90 | margin:0; 91 | padding:0; 92 | } 93 | h2#qunit-banner.qunit-pass{ 94 | background-color:#C6E746; 95 | } 96 | h2#qunit-banner.qunit-fail, #qunit-testrunner-toolbar { 97 | background-color:#EE5757; 98 | } 99 | #qunit-testrunner-toolbar { 100 | font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial; 101 | padding:0; 102 | /*width:80%;*/ 103 | padding:0em 0 0.5em 2em; 104 | font-size: small; 105 | } 106 | h2#qunit-userAgent { 107 | font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial; 108 | background-color:#2b81af; 109 | margin:0; 110 | padding:0; 111 | color:#fff; 112 | font-size: small; 113 | padding:0.5em 0 0.5em 2.5em; 114 | text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px; 115 | } 116 | p#qunit-testresult{ 117 | font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial; 118 | margin:0; 119 | font-size: small; 120 | color:#2b81af; 121 | border-bottom-right-radius:15px; 122 | border-bottom-left-radius:15px; 123 | -moz-border-radius-bottomright:15px; 124 | -moz-border-radius-bottomleft:15px; 125 | -webkit-border-bottom-right-radius:15px; 126 | -webkit-border-bottom-left-radius:15px; 127 | background-color:#D2E0E6; 128 | padding:0.5em 0.5em 0.5em 2.5em; 129 | } 130 | strong b.fail{ 131 | color:#710909; 132 | } 133 | strong b.pass{ 134 | color:#5E740B; 135 | } 136 | -------------------------------------------------------------------------------- /tutorial/sh/tests/syntaxhighlighter_tests.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SyntaxHighlighter Highlight Tests 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 |

SyntaxHighlighter Highlight Lines Test

48 |

49 |
50 |

51 |
    52 | 53 | 54 | 55 |
    56 |
    57 | 58 | 87 | 88 | 240 | 241 | 242 | 243 | -------------------------------------------------------------------------------- /tutorial/sh/tests/theme_tests.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SyntaxHighlighter Theme Tests 6 | 7 | 8 | 9 | 10 | 11 |
    12 | 13 | 26 | 27 | 67 | 68 | 132 | 133 | 134 | 135 | -------------------------------------------------------------------------------- /tutorial/sh/tests/webrick.rb: -------------------------------------------------------------------------------- 1 | require 'webrick' 2 | include WEBrick 3 | 4 | s = HTTPServer.new( 5 | :Port => 2010, 6 | :DocumentRoot => Dir::pwd 7 | ) 8 | s.mount('/sh/scripts', WEBrick::HTTPServlet::FileHandler, '../scripts') 9 | s.mount('/sh/styles', WEBrick::HTTPServlet::FileHandler, '../styles') 10 | trap('INT') { s.stop } 11 | s.start 12 | -------------------------------------------------------------------------------- /tutorial/sh/tests/webrick.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ruby webrick.rb 3 | -------------------------------------------------------------------------------- /tutorial/step3/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | HTML5 Rubik's tutorial Step(III) 5 | 22 | 23 | 24 | 25 | 26 | 27 | 34 | 35 | 36 | 37 |
    38 |
    39 |
    40 |
    41 | 42 | 43 |
    U1
    44 |
    U2
    45 |
    U3
    46 | 47 |
    U4
    48 |
    U5
    49 |
    U6
    50 | 51 |
    U7
    52 |
    U8
    53 |
    U9
    54 | 55 | 56 | 57 | 58 |
    F1
    59 |
    F2
    60 |
    F3
    61 | 62 |
    F4
    63 |
    F5
    64 |
    F6
    65 | 66 |
    F7
    67 |
    F8
    68 |
    F9
    69 | 70 | 71 | 72 | 73 |
    D1
    74 |
    D2
    75 |
    D3
    76 | 77 |
    D4
    78 |
    D5
    79 |
    D6
    80 | 81 |
    D7
    82 |
    D8
    83 |
    D9
    84 | 85 | 86 | 87 | 88 |
    B1
    89 |
    B2
    90 |
    B3
    91 | 92 |
    B4
    93 |
    B5
    94 |
    B6
    95 | 96 |
    B7
    97 |
    B8
    98 |
    B9
    99 | 100 | 101 | 102 | 103 |
    L1
    104 |
    L2
    105 |
    L3
    106 | 107 |
    L4
    108 |
    L5
    109 |
    L6
    110 | 111 |
    L7
    112 |
    L8
    113 |
    L9
    114 | 115 | 116 | 117 | 118 |
    R1
    119 |
    R2
    120 |
    R3
    121 | 122 |
    R4
    123 |
    R5
    124 |
    R6
    125 | 126 |
    R7
    127 |
    R8
    128 |
    R9
    129 | 130 | 131 |
    132 |
    133 |
    134 | 135 |
    136 | 137 | 138 |
    139 |

    Select move (assume clockwise):

    140 |

    141 | 142 | 143 | 144 | 145 | 146 | 147 |

    148 |

    Allow flicks (let you play with the mouse)

    149 |

    150 | 164 |
    165 | 166 | 167 | --------------------------------------------------------------------------------