<!doctype html> <html> <head> <title>CodeMirror: LESS mode</title> <link rel="stylesheet" href="../../lib/codemirror.css"> <script src="../../lib/codemirror.js"></script> <script src="less.js"></script> <style>.CodeMirror {background: #f8f8f8; border: 1px solid #ddd;}</style> <link rel="stylesheet" href="../../doc/docs.css"> <link rel="stylesheet" href="../../theme/lesser-dark.css"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <h1>CodeMirror: LESS mode</h1> <form><textarea id="code" name="code">/* Some LESS code */ @test_a: #eeeQQQ;//this is not a valid hex value and thus parsed as an element id @test_b: #eeeFFF//this is a valid hex value but the declaration doesn't end with a semicolon and thus parsed as an element id #eee aaa .box { #test bbb { width: 500px; height: 250px; background-image: url(sheep.png), url(betweengrassandsky.png); background-position: center bottom, left top; background-repeat: no-repeat; } } @base: #f938ab; .box-shadow(@style, @c) when (iscolor(@c)) { box-shadow: @style @c; -webkit-box-shadow: @style @c; -moz-box-shadow: @style @c; } .box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) { .box-shadow(@style, rgba(0, 0, 0, @alpha)); } @color: #4D926F; #header { color: @color; color: #000000; } h2 { color: @color; } .rounded-corners (@radius: 5px) { border-radius: @radius; -webkit-border-radius: @radius; -moz-border-radius: @radius; } #header { .rounded-corners; } #footer { .rounded-corners(10px); } .box-shadow (@x: 0, @y: 0, @blur: 1px, @alpha) { @val: @x @y @blur rgba(0, 0, 0, @alpha); box-shadow: @val; -webkit-box-shadow: @val; -moz-box-shadow: @val; } .box { @base: #f938ab; color: saturate(@base, 5%); border-color: lighten(@base, 30%); div { .box-shadow(0, 0, 5px, 0.4) } } @import url("something.css"); @light-blue: hsl(190, 50%, 65%); @light-yellow: desaturate(#fefec8, 10%); @dark-yellow: desaturate(darken(@light-yellow, 10%), 40%); @darkest: hsl(20, 0%, 15%); @dark: hsl(190, 20%, 30%); @medium: hsl(10, 60%, 30%); @light: hsl(90, 40%, 20%); @lightest: hsl(90, 20%, 90%); @highlight: hsl(80, 50%, 90%); @blue: hsl(210, 60%, 20%); @alpha-blue: hsla(210, 60%, 40%, 0.5); .box-shadow (@x, @y, @blur, @alpha) { @value: @x @y @blur rgba(0, 0, 0, @alpha); box-shadow: @value; -moz-box-shadow: @value; -webkit-box-shadow: @value; } .border-radius (@radius) { border-radius: @radius; -moz-border-radius: @radius; -webkit-border-radius: @radius; } .border-radius (@radius, bottom) { border-top-right-radius: 0; border-top-left-radius: 0; -moz-border-top-right-radius: 0; -moz-border-top-left-radius: 0; -webkit-border-top-left-radius: 0; -webkit-border-top-right-radius: 0; } .border-radius (@radius, right) { border-bottom-left-radius: 0; border-top-left-radius: 0; -moz-border-bottom-left-radius: 0; -moz-border-top-left-radius: 0; -webkit-border-bottom-left-radius: 0; -webkit-border-top-left-radius: 0; } .box-shadow-inset (@x, @y, @blur, @color) { box-shadow: @x @y @blur @color inset; -moz-box-shadow: @x @y @blur @color inset; -webkit-box-shadow: @x @y @blur @color inset; } .code () { font-family: 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', 'Monaco', Courier, monospace !important; } .wrap () { text-wrap: wrap; white-space: pre-wrap; /* css-3 */ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ word-wrap: break-word; /* Internet Explorer 5.5+ */ } html { margin: 0 } body { background-color: @darkest; margin: 0 auto; font-family: Arial, sans-serif; font-size: 100%; overflow-x: hidden; } nav, header, footer, section, article { display: block; } a { color: #b83000; } h1 a { color: black; text-decoration: none; } a:hover { text-decoration: underline; } h1, h2, h3, h4 { margin: 0; font-weight: normal; } ul, li { list-style-type: none; } code { .code; } code { .string, .regexp { color: @dark } .keyword { font-weight: bold } .comment { color: rgba(0, 0, 0, 0.5) } .number { color: @blue } .class, .special { color: rgba(0, 50, 100, 0.8) } } pre { padding: 0 30px; .wrap; } blockquote { font-style: italic; } body > footer { text-align: left; margin-left: 10px; font-style: italic; font-size: 18px; color: #888; } #logo { margin-top: 30px; margin-bottom: 30px; display: block; width: 199px; height: 81px; background: url(/images/logo.png) no-repeat; } nav { margin-left: 15px; } nav a, #dropdown li { display: inline-block; color: white; line-height: 42px; margin: 0; padding: 0px 15px; text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.5); text-decoration: none; border: 2px solid transparent; border-width: 0 2px; &:hover { .dark-red; text-decoration: none; } } .dark-red { @red: @medium; border: 2px solid darken(@red, 25%); border-left-color: darken(@red, 15%); border-right-color: darken(@red, 15%); border-bottom: 0; border-top: 0; background-color: darken(@red, 10%); } .content { margin: 0 auto; width: 980px; } #menu { position: absolute; width: 100%; z-index: 3; clear: both; display: block; background-color: @blue; height: 42px; border-top: 2px solid lighten(@alpha-blue, 20%); border-bottom: 2px solid darken(@alpha-blue, 25%); .box-shadow(0, 1px, 8px, 0.6); -moz-box-shadow: 0 0 0 #000; // Because firefox sucks. &.docked { background-color: hsla(210, 60%, 40%, 0.4); } &:hover { background-color: @blue; } #dropdown { margin: 0 0 0 117px; padding: 0; padding-top: 5px; display: none; width: 190px; border-top: 2px solid @medium; color: @highlight; border: 2px solid darken(@medium, 25%); border-left-color: darken(@medium, 15%); border-right-color: darken(@medium, 15%); border-top-width: 0; background-color: darken(@medium, 10%); ul { padding: 0px; } li { font-size: 14px; display: block; text-align: left; padding: 0; border: 0; a { display: block; padding: 0px 15px; text-decoration: none; color: white; &:hover { background-color: darken(@medium, 15%); text-decoration: none; } } } .border-radius(5px, bottom); .box-shadow(0, 6px, 8px, 0.5); } } #main { margin: 0 auto; width: 100%; background-color: @light-blue; border-top: 8px solid darken(@light-blue, 5%); #intro { background-color: lighten(@light-blue, 25%); float: left; margin-top: -8px; margin-right: 5px; height: 380px; position: relative; z-index: 2; font-family: 'Droid Serif', 'Georgia'; width: 395px; padding: 45px 20px 23px 30px; border: 2px dashed darken(@light-blue, 10%); .box-shadow(1px, 0px, 6px, 0.5); border-bottom: 0; border-top: 0; #download { color: transparent; border: 0; float: left; display: inline-block; margin: 15px 0 15px -5px; } #download img { display: inline-block} #download-info { code { font-size: 13px; } color: @blue + #333; display: inline; float: left; margin: 36px 0 0 15px } } h2 { span { color: @medium; } color: @blue; margin: 20px 0; font-size: 24px; line-height: 1.2em; } h3 { color: @blue; line-height: 1.4em; margin: 30px 0 15px 0; font-size: 1em; text-shadow: 0px 0px 0px @lightest; span { color: @medium } } #example { p { font-size: 18px; color: @blue; font-weight: bold; text-shadow: 0px 1px 1px @lightest; } pre { margin: 0; text-shadow: 0 -1px 1px @darkest; margin-top: 20px; background-color: desaturate(@darkest, 8%); border: 0; width: 450px; color: lighten(@lightest, 2%); background-repeat: repeat; padding: 15px; border: 1px dashed @lightest; line-height: 15px; .box-shadow(0, 0px, 15px, 0.5); .code; .border-radius(2px); code .attribute { color: hsl(40, 50%, 70%) } code .variable { color: hsl(120, 10%, 50%) } code .element { color: hsl(170, 20%, 50%) } code .string, .regexp { color: hsl(75, 50%, 65%) } code .class { color: hsl(40, 40%, 60%); font-weight: normal } code .id { color: hsl(50, 40%, 60%); font-weight: normal } code .comment { color: rgba(255, 255, 255, 0.2) } code .number, .color { color: hsl(10, 40%, 50%) } code .class, code .mixin, .special { color: hsl(190, 20%, 50%) } #time { color: #aaa } } float: right; font-size: 12px; margin: 0; margin-top: 15px; padding: 0; width: 500px; } } .page { .content { width: 870px; padding: 45px; } margin: 0 auto; font-family: 'Georgia', serif; font-size: 18px; line-height: 26px; padding: 0 60px; code { font-size: 16px; } pre { border-width: 1px; border-style: dashed; padding: 15px; margin: 15px 0; } h1 { text-align: left; font-size: 40px; margin-top: 15px; margin-bottom: 35px; } p + h1 { margin-top: 60px } h2, h3 { margin: 30px 0 15px 0; } p + h2, pre + h2, code + h2 { border-top: 6px solid rgba(255, 255, 255, 0.1); padding-top: 30px; } h3 { margin: 15px 0; } } #docs { @bg: lighten(@light-blue, 5%); border-top: 2px solid lighten(@bg, 5%); color: @blue; background-color: @light-blue; .box-shadow(0, -2px, 5px, 0.2); h1 { font-family: 'Droid Serif', 'Georgia', serif; padding-top: 30px; padding-left: 45px; font-size: 44px; text-align: left; margin: 30px 0 !important; text-shadow: 0px 1px 1px @lightest; font-weight: bold; } .content { clear: both; border-color: transparent; background-color: lighten(@light-blue, 25%); .box-shadow(0, 5px, 5px, 0.4); } pre { @background: lighten(@bg, 30%); color: lighten(@blue, 10%); background-color: @background; border-color: lighten(@light-blue, 25%); border-width: 2px; code .attribute { color: hsl(40, 50%, 30%) } code .variable { color: hsl(120, 10%, 30%) } code .element { color: hsl(170, 20%, 30%) } code .string, .regexp { color: hsl(75, 50%, 35%) } code .class { color: hsl(40, 40%, 30%); font-weight: normal } code .id { color: hsl(50, 40%, 30%); font-weight: normal } code .comment { color: rgba(0, 0, 0, 0.4) } code .number, .color { color: hsl(10, 40%, 30%) } code .class, code .mixin, .special { color: hsl(190, 20%, 30%) } } pre code { font-size: 15px } p + h2, pre + h2, code + h2 { border-top-color: rgba(0, 0, 0, 0.1) } } td { padding-right: 30px; } #synopsis { .box-shadow(0, 5px, 5px, 0.2); } #synopsis, #about { h2 { font-size: 30px; padding: 10px 0; } h1 + h2 { margin-top: 15px; } h3 { font-size: 22px } .code-example { border-spacing: 0; border-width: 1px; border-style: dashed; padding: 0; pre { border: 0; margin: 0 } td { border: 0; margin: 0; background-color: desaturate(darken(@darkest, 5%), 20%); vertical-align: top; padding: 0; } tr { padding: 0 } } .css-output { td { border-left: 0; } } .less-example { //border-right: 1px dotted rgba(255, 255, 255, 0.5) !important; } .css-output, .less-example { width: 390px; } pre { padding: 20px; line-height: 20px; font-size: 14px; } } #about, #synopsis, #guide { a { text-decoration: none; color: @light-yellow; border-bottom: 1px dashed rgba(255, 255, 255, 0.2); &:hover { text-decoration: none; border-bottom: 1px dashed @light-yellow; } } @bg: desaturate(darken(@darkest, 5%), 20%); text-shadow: 0 -1px 1px lighten(@bg, 5%); color: @highlight; background-color: @bg; .content { background-color: desaturate(@darkest, 20%); clear: both; .box-shadow(0, 5px, 5px, 0.4); } h1, h2, h3 { color: @dark-yellow; } pre { code .attribute { color: hsl(40, 50%, 70%) } code .variable { color: hsl(120, 10%, 50%) } code .element { color: hsl(170, 20%, 50%) } code .string, .regexp { color: hsl(75, 50%, 65%) } code .class { color: hsl(40, 40%, 60%); font-weight: normal } code .id { color: hsl(50, 40%, 60%); font-weight: normal } code .comment { color: rgba(255, 255, 255, 0.2) } code .number, .color { color: hsl(10, 40%, 50%) } code .class, code .mixin, .special { color: hsl(190, 20%, 50%) } background-color: @bg; border-color: darken(@light-yellow, 5%); } code { color: darken(@dark-yellow, 5%); .string, .regexp { color: desaturate(@light-blue, 15%) } .keyword { color: hsl(40, 40%, 60%); font-weight: normal } .comment { color: rgba(255, 255, 255, 0.2) } .number { color: lighten(@blue, 10%) } .class, .special { color: hsl(190, 20%, 50%) } } } #guide { background-color: @darkest; .content { background-color: transparent; } } #about { background-color: @darkest !important; .content { background-color: desaturate(lighten(@darkest, 3%), 5%); } } #synopsis { background-color: desaturate(lighten(@darkest, 3%), 5%) !important; .content { background-color: desaturate(lighten(@darkest, 3%), 5%); } pre {} } #synopsis, #guide { .content { .box-shadow(0, 0px, 0px, 0.0); } } #about footer { margin-top: 30px; padding-top: 30px; border-top: 6px solid rgba(0, 0, 0, 0.1); text-align: center; font-size: 16px; color: rgba(255, 255, 255, 0.35); #copy { font-size: 12px } text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.02); } </textarea></form> <script> var editor = CodeMirror.fromTextArea(document.getElementById("code"), { theme: "lesser-dark" }); </script> <p><strong>MIME types defined:</strong> <code>text/less</code>.</p> </body> </html>