├── .gitignore ├── LICENSE ├── README.md ├── img ├── preview.png └── thumbnail.png ├── qlplayground.xcodeproj ├── project.pbxproj └── xcshareddata │ └── xcschemes │ └── qlplayground.xcscheme └── qlplayground ├── GeneratePreviewForURL.m ├── GenerateThumbnailForURL.m ├── Highlight.swift ├── Info.plist ├── highlight ├── CHANGES.md ├── LICENSE ├── README.md ├── README.ru.md ├── highlight.pack.js └── styles │ ├── agate.css │ ├── androidstudio.css │ ├── arta.css │ ├── ascetic.css │ ├── atelier-cave.dark.css │ ├── atelier-cave.light.css │ ├── atelier-dune.dark.css │ ├── atelier-dune.light.css │ ├── atelier-estuary.dark.css │ ├── atelier-estuary.light.css │ ├── atelier-forest.dark.css │ ├── atelier-forest.light.css │ ├── atelier-heath.dark.css │ ├── atelier-heath.light.css │ ├── atelier-lakeside.dark.css │ ├── atelier-lakeside.light.css │ ├── atelier-plateau.dark.css │ ├── atelier-plateau.light.css │ ├── atelier-savanna.dark.css │ ├── atelier-savanna.light.css │ ├── atelier-seaside.dark.css │ ├── atelier-seaside.light.css │ ├── atelier-sulphurpool.dark.css │ ├── atelier-sulphurpool.light.css │ ├── brown_paper.css │ ├── brown_papersq.png │ ├── codepen-embed.css │ ├── color-brewer.css │ ├── dark.css │ ├── darkula.css │ ├── default.css │ ├── docco.css │ ├── far.css │ ├── foundation.css │ ├── github-gist.css │ ├── github.css │ ├── googlecode.css │ ├── grayscale.css │ ├── hopscotch.css │ ├── hybrid.css │ ├── idea.css │ ├── ir_black.css │ ├── kimbie.dark.css │ ├── kimbie.light.css │ ├── magula.css │ ├── mono-blue.css │ ├── monokai.css │ ├── monokai_sublime.css │ ├── obsidian.css │ ├── paraiso.dark.css │ ├── paraiso.light.css │ ├── pojoaque.css │ ├── pojoaque.jpg │ ├── railscasts.css │ ├── rainbow.css │ ├── school_book.css │ ├── school_book.png │ ├── solarized_dark.css │ ├── solarized_light.css │ ├── sunburst.css │ ├── tomorrow-night-blue.css │ ├── tomorrow-night-bright.css │ ├── tomorrow-night-eighties.css │ ├── tomorrow-night.css │ ├── tomorrow.css │ ├── vs.css │ ├── xcode.css │ └── zenburn.css └── main.c /.gitignore: -------------------------------------------------------------------------------- 1 | # OS X 2 | .DS_Store 3 | 4 | # Xcode 5 | build/* 6 | *.pbxuser 7 | !default.pbxuser 8 | *.mode1v3 9 | !default.mode1v3 10 | *.mode2v3 11 | !default.mode2v3 12 | *.perspectivev3 13 | !default.perspectivev3 14 | *.xcworkspace 15 | !default.xcworkspace 16 | xcuserdata 17 | profile 18 | *.moved-aside 19 | 20 | # 21 | downloads 22 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Norio Nomura 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 13 | all 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 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # qlplayground 2 | [![MIT Lincese](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE) 3 | 4 | `qlplayground` is a QuickLook plugin for Swift files. 5 | 6 | ![preview](img/preview.png) 7 | ![thumbnail](img/thumbnail.png) 8 | 9 | ## Features 10 | - Support `.playground` containing multiple pages 11 | - Support `.swift` 12 | - Support Preview and Thumbnail 13 | - Syntax highlight by [Highlight.js](https://github.com/isagalaev/highlight.js) 14 | 15 | ## Requirements 16 | - OS X 10.10.5 or later 17 | 18 | ## Installation 19 | 20 | ### Using [Homebrew Cask](http://caskroom.io) 21 | ```sh 22 | brew cask install qlplayground 23 | ``` 24 | 25 | ### Manual 26 | 1. Download [qlplayground.qlgenerator-0.2.zip](http://github.com/norio-nomura/qlplayground/releases/download/0.2/qlplayground.qlgenerator-0.2.zip) (2015/09/21 updated) 27 | 2. Unzip it 28 | 3. Move `qlplayground.qlgenerator` to `~/Library/QuickLook` folder 29 | 4. run `qlmanage -r` in `Terminal.app` 30 | 31 | ## Configuration 32 | Change style to `dark`: 33 | ```sh 34 | defaults write io.github.norio-nomura.qlplayground HighlightStyle dark 35 | ``` 36 | 37 | Style list is [here](http://github.com/norio-nomura/qlplayground/tree/master/qlplayground/highlight/styles/). 38 | 39 | ## Author 40 | 41 | Norio Nomura 42 | 43 | ## License 44 | 45 | `qlplayground` is available under the MIT license. See the LICENSE file for more info. 46 | -------------------------------------------------------------------------------- /img/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/norio-nomura/qlplayground/cee9b0505771b629260d222f1ab95362651429d0/img/preview.png -------------------------------------------------------------------------------- /img/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/norio-nomura/qlplayground/cee9b0505771b629260d222f1ab95362651429d0/img/thumbnail.png -------------------------------------------------------------------------------- /qlplayground.xcodeproj/xcshareddata/xcschemes/qlplayground.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 70 | 71 | 72 | 73 | 75 | 76 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /qlplayground/GeneratePreviewForURL.m: -------------------------------------------------------------------------------- 1 | // 2 | // GeneratePreviewForURL.m 3 | // qlplayground 4 | // 5 | // Created by 野村 憲男 on 9/19/15. 6 | // 7 | // Copyright (c) 2015 Norio Nomura 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining a copy 10 | // of this software and associated documentation files (the "Software"), to deal 11 | // in the Software without restriction, including without limitation the rights 12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | // copies of the Software, and to permit persons to whom the Software is 14 | // furnished to do so, subject to the following conditions: 15 | // 16 | // The above copyright notice and this permission notice shall be included in 17 | // all copies or substantial portions of the Software. 18 | // 19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | // THE SOFTWARE. 26 | // 27 | @import CoreFoundation; 28 | @import CoreServices; 29 | @import QuickLook; 30 | @import Foundation; 31 | #include "qlplayground-Swift.h" 32 | 33 | OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options); 34 | void CancelPreviewGeneration(void *thisInterface, QLPreviewRequestRef preview); 35 | 36 | /* ----------------------------------------------------------------------------- 37 | Generate a preview for file 38 | 39 | This function's job is to create preview for designated file 40 | ----------------------------------------------------------------------------- */ 41 | 42 | OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options) 43 | { 44 | // To complete your generator please implement the function GeneratePreviewForURL in GeneratePreviewForURL.c 45 | CFDataRef data = (__bridge CFDataRef)[Highlight dataWithURL:(__bridge NSURL * _Nonnull)(url)]; 46 | if (data) { 47 | QLPreviewRequestSetDataRepresentation(preview, data, kUTTypeHTML, (__bridge CFDictionaryRef)(@{})); 48 | } 49 | return noErr; 50 | } 51 | 52 | void CancelPreviewGeneration(void *thisInterface, QLPreviewRequestRef preview) 53 | { 54 | // Implement only if supported 55 | } 56 | -------------------------------------------------------------------------------- /qlplayground/GenerateThumbnailForURL.m: -------------------------------------------------------------------------------- 1 | @import CoreFoundation; 2 | @import CoreServices; 3 | @import QuickLook; 4 | @import Cocoa; 5 | #import "qlplayground-swift.h" 6 | 7 | 8 | OSStatus GenerateThumbnailForURL(void *thisInterface, QLThumbnailRequestRef thumbnail, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options, CGSize maxSize); 9 | void CancelThumbnailGeneration(void *thisInterface, QLThumbnailRequestRef thumbnail); 10 | 11 | /* ----------------------------------------------------------------------------- 12 | Generate a thumbnail for file 13 | 14 | This function's job is to create thumbnail for designated file as fast as possible 15 | ----------------------------------------------------------------------------- */ 16 | 17 | OSStatus GenerateThumbnailForURL(void *thisInterface, QLThumbnailRequestRef thumbnail, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options, CGSize maxSize) 18 | { 19 | // To complete your generator please implement the function GenerateThumbnailForURL in GenerateThumbnailForURL.c 20 | CFDataRef data = (__bridge CFDataRef)[Highlight dataWithURL:(__bridge NSURL * _Nonnull)(url)]; 21 | if (data) { 22 | NSDictionary *properties = @{ 23 | (id)kQLThumbnailPropertyExtensionKey: [(__bridge NSURL*)url pathExtension] 24 | }; 25 | QLThumbnailRequestSetThumbnailWithDataRepresentation(thumbnail, data, kUTTypeHTML, NULL, (__bridge CFDictionaryRef)(properties)); 26 | } 27 | return noErr; 28 | } 29 | 30 | void CancelThumbnailGeneration(void *thisInterface, QLThumbnailRequestRef thumbnail) 31 | { 32 | // Implement only if supported 33 | } 34 | -------------------------------------------------------------------------------- /qlplayground/Highlight.swift: -------------------------------------------------------------------------------- 1 | // 2 | // highlight.swift 3 | // qlplayground 4 | // 5 | // Created by 野村 憲男 on 9/19/15. 6 | // 7 | // Copyright (c) 2015 Norio Nomura 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining a copy 10 | // of this software and associated documentation files (the "Software"), to deal 11 | // in the Software without restriction, including without limitation the rights 12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | // copies of the Software, and to permit persons to whom the Software is 14 | // furnished to do so, subject to the following conditions: 15 | // 16 | // The above copyright notice and this permission notice shall be included in 17 | // all copies or substantial portions of the Software. 18 | // 19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | // THE SOFTWARE. 26 | // 27 | 28 | import Foundation 29 | 30 | public class Highlight: NSObject { 31 | /// read bundle 32 | static let bundle = NSBundle(forClass: Highlight.self) 33 | static let script = bundle.URLForResource("highlight.pack", withExtension: "js", subdirectory: "highlight") 34 | .flatMap { try? String(contentsOfURL: $0)} ?? "" 35 | static var css: String { 36 | let style = NSUserDefaults(suiteName: bundle.bundleIdentifier)?.stringForKey("HighlightStyle") ?? "xcode" 37 | return bundle.URLForResource(style, withExtension: "css", subdirectory: "highlight/styles") 38 | .flatMap { try? String(contentsOfURL: $0)} ?? "" 39 | } 40 | 41 | /// create NSData from url pointing .swift or .playground 42 | public static func data(URL url: NSURL) -> NSData? { 43 | let fm = NSFileManager.defaultManager() 44 | 45 | var isDirectory: ObjCBool = false 46 | guard url.fileURL && url.path.map({ fm.fileExistsAtPath($0, isDirectory: &isDirectory) }) ?? false else { 47 | return nil 48 | } 49 | 50 | func escapeHTML(string: String) -> String { 51 | return NSXMLNode.textWithStringValue(string).XMLString 52 | } 53 | 54 | /// read contents.swift 55 | let codes: String 56 | if isDirectory { 57 | let keys = [NSURLTypeIdentifierKey] 58 | 59 | func isSwiftSourceURL(url: NSURL) -> Bool { 60 | if let typeIdentifier = try? url.resourceValuesForKeys(keys)[NSURLTypeIdentifierKey] as? String 61 | where typeIdentifier == "public.swift-source" { 62 | return true 63 | } else { 64 | return false 65 | } 66 | } 67 | 68 | let enumerator = fm.enumeratorAtURL(url, includingPropertiesForKeys: keys, options: [], errorHandler: nil) 69 | let swiftSources = anyGenerator { enumerator?.nextObject() as? NSURL } 70 | .filter(isSwiftSourceURL) 71 | 72 | let length = url.path!.characters.count 73 | func subPath(url: NSURL) -> String { 74 | return String(url.path!.characters.dropFirst(length)) 75 | } 76 | codes = swiftSources.flatMap { 77 | guard let content = try? String(contentsOfURL: $0) else { return nil } 78 | return "\(subPath($0))
\(escapeHTML(content))
" 79 | } 80 | .joinWithSeparator("
") 81 | } else { 82 | codes = (try? String(contentsOfURL: url)) 83 | .map {"
\(escapeHTML($0))
"} ?? "" 84 | 85 | } 86 | 87 | let html = ["", 88 | "", 89 | "", 90 | "", 91 | "", 92 | "\(codes)"] 93 | .joinWithSeparator("\n") 94 | return html.dataUsingEncoding(NSUTF8StringEncoding) 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /qlplayground/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDocumentTypes 8 | 9 | 10 | CFBundleTypeRole 11 | QLGenerator 12 | LSItemContentTypes 13 | 14 | public.swift-source 15 | com.apple.dt.playground 16 | 17 | 18 | 19 | CFBundleExecutable 20 | $(EXECUTABLE_NAME) 21 | CFBundleIdentifier 22 | $(PRODUCT_BUNDLE_IDENTIFIER) 23 | CFBundleInfoDictionaryVersion 24 | 6.0 25 | CFBundleName 26 | $(PRODUCT_NAME) 27 | CFBundleShortVersionString 28 | 0.2 29 | CFBundleSignature 30 | ???? 31 | CFBundleVersion 32 | 2 33 | CFPlugInDynamicRegisterFunction 34 | 35 | CFPlugInDynamicRegistration 36 | NO 37 | CFPlugInFactories 38 | 39 | DCBC0A4C-3BE7-408D-8011-5C87373935BA 40 | QuickLookGeneratorPluginFactory 41 | 42 | CFPlugInTypes 43 | 44 | 5E2D9680-5022-40FA-B806-43349622E5B9 45 | 46 | DCBC0A4C-3BE7-408D-8011-5C87373935BA 47 | 48 | 49 | CFPlugInUnloadFunction 50 | 51 | NSHumanReadableCopyright 52 | Copyright © 2015 Norio Nomura. All rights reserved. 53 | QLNeedsToBeRunInMainThread 54 | 55 | QLPreviewHeight 56 | 600 57 | QLPreviewWidth 58 | 800 59 | QLSupportsConcurrentRequests 60 | 61 | QLThumbnailMinimumSize 62 | 17 63 | 64 | 65 | -------------------------------------------------------------------------------- /qlplayground/highlight/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2006, Ivan Sagalaev 2 | All rights reserved. 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are met: 5 | 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * Neither the name of highlight.js nor the names of its contributors 12 | may be used to endorse or promote products derived from this software 13 | without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY 16 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /qlplayground/highlight/README.md: -------------------------------------------------------------------------------- 1 | # Highlight.js 2 | 3 | [![Build Status](https://travis-ci.org/isagalaev/highlight.js.svg?branch=master)](https://travis-ci.org/isagalaev/highlight.js) 4 | 5 | Highlight.js is a syntax highlighter written in JavaScript. It works in 6 | the browser as well as on the server. It works with pretty much any 7 | markup, doesn’t depend on any framework and has automatic language 8 | detection. 9 | 10 | ## Getting Started 11 | 12 | The bare minimum for using highlight.js on a web page is linking to the 13 | library along with one of the styles and calling 14 | [`initHighlightingOnLoad`][1]: 15 | 16 | ```html 17 | 18 | 19 | 20 | ``` 21 | 22 | This will find and highlight code inside of `
` tags; it tries
 23 | to detect the language automatically. If automatic detection doesn’t
 24 | work for you, you can specify the language in the `class` attribute:
 25 | 
 26 | ```html
 27 | 
...
28 | ``` 29 | 30 | The list of supported language classes is available in the [class 31 | reference][2]. Classes can also be prefixed with either `language-` or 32 | `lang-`. 33 | 34 | To disable highlighting altogether use the `nohighlight` class: 35 | 36 | ```html 37 |
...
38 | ``` 39 | 40 | ## Custom Initialization 41 | 42 | When you need a bit more control over the initialization of 43 | highlight.js, you can use the [`highlightBlock`][3] and [`configure`][4] 44 | functions. This allows you to control *what* to highlight and *when*. 45 | 46 | Here’s an equivalent way to calling [`initHighlightingOnLoad`][1] using 47 | jQuery: 48 | 49 | ```javascript 50 | $(document).ready(function() { 51 | $('pre code').each(function(i, block) { 52 | hljs.highlightBlock(block); 53 | }); 54 | }); 55 | ``` 56 | 57 | You can use any tags instead of `
` to mark up your code. If
 58 | you don't use a container that preserve line breaks you will need to
 59 | configure highlight.js to use the `
` tag: 60 | 61 | ```javascript 62 | hljs.configure({useBR: true}); 63 | 64 | $('div.code').each(function(i, block) { 65 | hljs.highlightBlock(block); 66 | }); 67 | ``` 68 | 69 | For other options refer to the documentation for [`configure`][4]. 70 | 71 | ## Getting the Library 72 | 73 | You can get highlight.js as a hosted, or custom-build, browser script or 74 | as a server module. Right out of the box the browser script supports 75 | both AMD and CommonJS, so if you wish you can use RequireJS or 76 | Browserify without having to build from source. The server module also 77 | works perfectly fine with Browserify, but there is the option to use a 78 | build specific to browsers rather than something meant for a server. 79 | Head over to the [download page][5] for all the options. 80 | 81 | **Note:** the library is not supposed to work straight from the source 82 | on GitHub; it requires building. If none of the pre-packaged options 83 | work for you refer to the [building documentation][6]. 84 | 85 | ## License 86 | 87 | Highlight.js is released under the BSD License. See [LICENSE][7] file 88 | for details. 89 | 90 | ## Links 91 | 92 | The official site for the library is at . 93 | 94 | Further in-depth documentation for the API and other topics is at 95 | . 96 | 97 | Authors and contributors are listed in the [AUTHORS.en.txt][8] file. 98 | 99 | [1]: http://highlightjs.readthedocs.org/en/latest/api.html#inithighlightingonload 100 | [2]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html 101 | [3]: http://highlightjs.readthedocs.org/en/latest/api.html#highlightblock-block 102 | [4]: http://highlightjs.readthedocs.org/en/latest/api.html#configure-options 103 | [5]: https://highlightjs.org/download/ 104 | [6]: http://highlightjs.readthedocs.org/en/latest/building-testing.html 105 | [7]: https://github.com/isagalaev/highlight.js/blob/master/LICENSE 106 | [8]: https://github.com/isagalaev/highlight.js/blob/master/AUTHORS.en.txt 107 | -------------------------------------------------------------------------------- /qlplayground/highlight/README.ru.md: -------------------------------------------------------------------------------- 1 | # Highlight.js 2 | 3 | Highlight.js — это подсветчик синтаксиса, написанный на JavaScript. Он работает 4 | и в браузере, и на сервере. Он работает с практически любой HTML разметкой, не 5 | зависит от каких-либо фреймворков и умеет автоматически определять язык. 6 | 7 | 8 | ## Начало работы 9 | 10 | Минимум, что нужно сделать для использования highlight.js на веб-странице — это 11 | подключить библиотеку, CSS-стили и вызывать [`initHighlightingOnLoad`][1]: 12 | 13 | ```html 14 | 15 | 16 | 17 | ``` 18 | 19 | Библиотека найдёт и раскрасит код внутри тегов `
`, попытавшись
 20 | автоматически определить язык. Когда автоопределение не срабатывает, можно явно
 21 | указать язык в атрибуте class:
 22 | 
 23 | ```html
 24 | 
...
25 | ``` 26 | 27 | Список поддерживаемых классов языков доступен в [справочнике по классам][8]. 28 | Класс также можно предваоить префиксами `language-` или `lang-`. 29 | 30 | Чтобы отключить подсветку для какого-то блока, используйте класс `nohighlight`: 31 | 32 | ```html 33 |
...
34 | ``` 35 | 36 | ## Инициализация вручную 37 | 38 | Чтобы иметь чуть больше контроля за инициализацией подсветки, вы можете 39 | использовать функции [`highlightBlock`][2] и [`configure`][3]. Таким образом 40 | можно управлять тем, *что* подсвечивать и *когда*. 41 | 42 | Вот пример инициализация, эквивалентной вызову [`initHighlightingOnLoad`][1], но 43 | с использованием jQuery: 44 | 45 | ```javascript 46 | $(document).ready(function() { 47 | $('pre code').each(function(i, block) { 48 | hljs.highlightBlock(block); 49 | }); 50 | }); 51 | ``` 52 | 53 | Вы можете использовать любые теги разметки вместо `
`. Если
 54 | используете контейнер, не сохраняющий переводы строк, вам нужно сказать
 55 | highlight.js использовать для них тег `
`: 56 | 57 | ```javascript 58 | hljs.configure({useBR: true}); 59 | 60 | $('div.code').each(function(i, block) { 61 | hljs.highlightBlock(block); 62 | }); 63 | ``` 64 | 65 | Другие опции можно найти в документации функции [`configure`][3]. 66 | 67 | 68 | ## Установка библиотеки 69 | 70 | Highlight.js можно использовать в браузере прямо с CDN хостинга или скачать 71 | индивидуальную сборку, а также установив модуль на сервере. На 72 | [страница загрузки][4] подробно описаны все варианты. 73 | 74 | Обратите внимание, что библиотека не предназначена для использования в виде 75 | исходного кода на GitHub, а требует отдельной сборки. Если вам не подходит ни 76 | один из готовых вариантов, читайте [документацию по сборке][5]. 77 | 78 | 79 | ## Лицензия 80 | 81 | Highlight.js распространяется под лицензией BSD. Подробнее читайте файл 82 | [LICENSE][10]. 83 | 84 | 85 | ## Ссылки 86 | 87 | Официальный сайт билиотеки расположен по адресу . 88 | 89 | Более подробная документация по API и другим темам расположена на 90 | . 91 | 92 | Авторы и контрибьютора перечислена в файле [AUTHORS.ru.txt][9] file. 93 | 94 | [1]: http://highlightjs.readthedocs.org/en/latest/api.html#inithighlightingonload 95 | [2]: http://highlightjs.readthedocs.org/en/latest/api.html#highlightblock-block 96 | [3]: http://highlightjs.readthedocs.org/en/latest/api.html#configure-options 97 | [4]: https://highlightjs.org/download/ 98 | [5]: http://highlightjs.readthedocs.org/en/latest/building-testing.html 99 | [8]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html 100 | [9]: https://github.com/isagalaev/highlight.js/blob/master/AUTHORS.ru.txt 101 | [10]: https://github.com/isagalaev/highlight.js/blob/master/LICENSE 102 | -------------------------------------------------------------------------------- /qlplayground/highlight/highlight.pack.js: -------------------------------------------------------------------------------- 1 | !function(e){"undefined"!=typeof exports?e(exports):(window.hljs=e({}),"function"==typeof define&&define.amd&&define("hljs",[],function(){return window.hljs}))}(function(e){function n(e){return e.replace(/&/gm,"&").replace(//gm,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0==t.index}function a(e){return/^(no-?highlight|plain|text)$/i.test(e)}function i(e){var n,t,r,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",t=/\blang(?:uage)?-([\w-]+)\b/i.exec(i))return w(t[1])?t[1]:"no-highlight";for(i=i.split(/\s+/),n=0,r=i.length;r>n;n++)if(w(i[n])||a(i[n]))return i[n]}function o(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t];return r}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3==i.nodeType?a+=i.nodeValue.length:1==i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!=r[0].offset?e[0].offset"}function u(e){f+=""}function c(e){("start"==e.event?o:u)(e.node)}for(var s=0,f="",l=[];e.length||r.length;){var g=i();if(f+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g==e){l.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g==e&&g.length&&g[0].offset==s);l.reverse().forEach(o)}else"start"==g[0].event?l.push(g[0].node):l.pop(),c(g.splice(0,1)[0])}return f+n(a.substr(s))}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var u={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");u[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?c("keyword",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=u}a.lR=t(a.l||/\b\w+\b/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(o(e,n))}):s.push("self"==e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var f=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=f.length?t(f.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){for(var t=0;t";return i+=e+'">',i+n+o}function p(){if(!L.k)return n(y);var e="",t=0;L.lR.lastIndex=0;for(var r=L.lR.exec(y);r;){e+=n(y.substr(t,r.index-t));var a=g(L,r);a?(B+=a[1],e+=h(a[0],n(r[0]))):e+=n(r[0]),t=L.lR.lastIndex,r=L.lR.exec(y)}return e+n(y.substr(t))}function d(){var e="string"==typeof L.sL;if(e&&!x[L.sL])return n(y);var t=e?f(L.sL,y,!0,M[L.sL]):l(y,L.sL.length?L.sL:void 0);return L.r>0&&(B+=t.r),e&&(M[L.sL]=t.top),h(t.language,t.value,!1,!0)}function b(){return void 0!==L.sL?d():p()}function v(e,t){var r=e.cN?h(e.cN,"",!0):"";e.rB?(k+=r,y=""):e.eB?(k+=n(t)+r,y=""):(k+=r,y=t),L=Object.create(e,{parent:{value:L}})}function m(e,t){if(y+=e,void 0===t)return k+=b(),0;var r=o(t,L);if(r)return k+=b(),v(r,t),r.rB?0:t.length;var a=u(L,t);if(a){var i=L;i.rE||i.eE||(y+=t),k+=b();do L.cN&&(k+=""),B+=L.r,L=L.parent;while(L!=a.parent);return i.eE&&(k+=n(t)),y="",a.starts&&v(a.starts,""),i.rE?0:t.length}if(c(t,L))throw new Error('Illegal lexeme "'+t+'" for mode "'+(L.cN||"")+'"');return y+=t,t.length||1}var N=w(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var R,L=i||N,M={},k="";for(R=L;R!=N;R=R.parent)R.cN&&(k=h(R.cN,"",!0)+k);var y="",B=0;try{for(var C,j,I=0;;){if(L.t.lastIndex=I,C=L.t.exec(t),!C)break;j=m(t.substr(I,C.index-I),C[0]),I=C.index+j}for(m(t.substr(I)),R=L;R.parent;R=R.parent)R.cN&&(k+="");return{r:B,value:k,language:e,top:L}}catch(O){if(-1!=O.message.indexOf("Illegal"))return{r:0,value:n(t)};throw O}}function l(e,t){t=t||E.languages||Object.keys(x);var r={r:0,value:n(e)},a=r;return t.forEach(function(n){if(w(n)){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}}),a.language&&(r.second_best=a),r}function g(e){return E.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,n){return n.replace(/\t/g,E.tabReplace)})),E.useBR&&(e=e.replace(/\n/g,"
")),e}function h(e,n,t){var r=n?R[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function p(e){var n=i(e);if(!a(n)){var t;E.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")):t=e;var r=t.textContent,o=n?f(n,r,!0):l(r),s=u(t);if(s.length){var p=document.createElementNS("http://www.w3.org/1999/xhtml","div");p.innerHTML=o.value,o.value=c(s,u(p),r)}o.value=g(o.value),e.innerHTML=o.value,e.className=h(e.className,n,o.language),e.result={language:o.language,re:o.r},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.r})}}function d(e){E=o(E,e)}function b(){if(!b.called){b.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,p)}}function v(){addEventListener("DOMContentLoaded",b,!1),addEventListener("load",b,!1)}function m(n,t){var r=x[n]=t(e);r.aliases&&r.aliases.forEach(function(e){R[e]=n})}function N(){return Object.keys(x)}function w(e){return e=e.toLowerCase(),x[e]||x[R[e]]}var E={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},x={},R={};return e.highlight=f,e.highlightAuto=l,e.fixMarkup=g,e.highlightBlock=p,e.configure=d,e.initHighlighting=b,e.initHighlightingOnLoad=v,e.registerLanguage=m,e.listLanguages=N,e.getLanguage=w,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e});hljs.registerLanguage("swift",function(e){var i={keyword:"class deinit enum extension func init let protocol static struct subscript typealias var break case continue default do else fallthrough if in for return switch where while as dynamicType is new super self Self Type __COLUMN__ __FILE__ __FUNCTION__ __LINE__ associativity didSet get infix inout left mutating none nonmutating operator override postfix precedence prefix right set unowned unowned safe unsafe weak willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue assert bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced join lexicographicalCompare map max maxElement min minElement numericCast partition posix print println quickSort reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith strideof strideofValue swap swift toString transcode underestimateCount unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafePointers withVaList"},t={cN:"type",b:"\\b[A-Z][\\w']*",r:0},n=e.C("/\\*","\\*/",{c:["self"]}),r={cN:"subst",b:/\\\(/,e:"\\)",k:i,c:[]},s={cN:"number",b:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",r:0},o=e.inherit(e.QSM,{c:[r,e.BE]});return r.c=[s],{k:i,c:[o,e.CLCM,n,t,s,{cN:"func",bK:"func",e:"{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/,i:/\(/}),{cN:"generics",b://,i:/>/},{cN:"params",b:/\(/,e:/\)/,endsParent:!0,k:i,c:["self",s,o,e.CBCM,{b:":"}],i:/["']/}],i:/\[|%/},{cN:"class",bK:"struct protocol class extension enum",k:i,e:"\\{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/})]},{cN:"preprocessor",b:"(@assignment|@class_protocol|@exported|@final|@lazy|@noreturn|@NSCopying|@NSManaged|@objc|@optional|@required|@auto_closure|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix)"},{bK:"import",e:/$/,c:[e.CLCM,n]}]}}); -------------------------------------------------------------------------------- /qlplayground/highlight/styles/agate.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Agate by Taufik Nurrohman 3 | * ---------------------------------------------------- 4 | * 5 | * #ade5fc 6 | * #a2fca2 7 | * #c6b4f0 8 | * #d36363 9 | * #fcc28c 10 | * #fc9b9b 11 | * #ffa 12 | * #fff 13 | * #333 14 | * #62c8f3 15 | * #888 16 | * 17 | */ 18 | 19 | .hljs { 20 | display: block; 21 | overflow-x: auto; 22 | padding: .5em; 23 | background: #333; 24 | color: white; 25 | -webkit-text-size-adjust: none; 26 | } 27 | 28 | .asciidoc .hljs-title, 29 | .hljs-label, 30 | .hljs-tag .hljs-title, 31 | .hljs-prompt, 32 | .http .hljs-request { 33 | font-weight: bold; 34 | } 35 | 36 | .hljs-change, 37 | .hljs-code { 38 | font-style: italic; 39 | } 40 | 41 | .hljs-tag, 42 | .ini .hljs-title { 43 | color: #62c8f3; 44 | } 45 | 46 | .hljs-id, 47 | .hljs-cbracket, 48 | .hljs-tag .hljs-value { 49 | color: #ade5fc; 50 | } 51 | 52 | .hljs-string, 53 | .hljs-bullet { 54 | color: #a2fca2; 55 | } 56 | 57 | .hljs-type, 58 | .hljs-variable, 59 | .hljs-name, 60 | .actionscript .hljs-title, 61 | .aspectj .hljs-annotation, 62 | .aspectj .hljs-title, 63 | .hljs-attribute, 64 | .hljs-change, 65 | .hljs-blockquote, 66 | .hljs-built_in { 67 | color: #ffa; 68 | } 69 | 70 | .hljs-number, 71 | .hljs-hexcolor, 72 | .hljs-link_label, 73 | .hljs-link_reference { 74 | color: #d36363; 75 | } 76 | 77 | .hljs-keyword, 78 | .hljs-literal, 79 | .hljs-constant, 80 | .css .hljs-tag, 81 | .hljs-typename, 82 | .hljs-winutils { 83 | color: #fcc28c; 84 | } 85 | 86 | .hljs-comment, 87 | .hljs-cdata, 88 | .hljs-preprocessor, 89 | .hljs-annotation, 90 | .hljs-decorator, 91 | .hljs-doctype, 92 | .hljs-deletion, 93 | .hljs-shebang, 94 | .apache .hljs-sqbracket, 95 | .tex .hljs-formula, 96 | .hljs-header, 97 | .hljs-horizontal_rule, 98 | .hljs-code { 99 | color: #888; 100 | } 101 | 102 | .hljs-regexp, 103 | .hljs-attr_selector { 104 | color: #c6b4f0; 105 | } 106 | 107 | .hljs-important, 108 | .hljs-doctype, 109 | .hljs-pi, 110 | .hljs-chunk, 111 | .actionscript .hljs-type, 112 | .hljs-shebang, 113 | .hljs-pragma, 114 | .http .hljs-attribute { 115 | color: #fc9b9b; 116 | } 117 | 118 | .hljs-deletion { 119 | background-color: #fc9b9b; 120 | color: #333; 121 | } 122 | 123 | .hljs-addition { 124 | background-color: #a2fca2; 125 | color: #333; 126 | } 127 | 128 | .hljs a, 129 | .hljs-tag .hljs-attribute { 130 | color: inherit; 131 | } 132 | 133 | .hljs a:focus, 134 | .hljs a:hover { 135 | color: inherit; 136 | text-decoration: underline; 137 | } 138 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/androidstudio.css: -------------------------------------------------------------------------------- 1 | /* 2 | Date: 24 Fev 2015 3 | Author: Pedro Oliveira 4 | */ 5 | 6 | .hljs { 7 | color: #a9b7c6; 8 | background: #282b2e; 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs-number { 16 | color: #6897BB; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-deletion { 21 | color: #cc7832; 22 | } 23 | 24 | .hljs-comment { 25 | color: #808080; 26 | } 27 | 28 | .hljs-annotation { 29 | color: #bbb529; 30 | } 31 | 32 | .hljs-string, 33 | .hljs-addition { 34 | color: #6A8759; 35 | } 36 | 37 | .hljs-function .hljs-title, 38 | .hljs-change { 39 | color: #ffc66d; 40 | } 41 | 42 | .hljs-tag .hljs-title, 43 | .hljs-doctype { 44 | color: #e8bf6a; 45 | } 46 | 47 | .hljs-tag .hljs-attribute { 48 | color: #bababa; 49 | } 50 | 51 | .hljs-tag .hljs-value { 52 | color: #a5c261; 53 | } 54 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/arta.css: -------------------------------------------------------------------------------- 1 | /* 2 | Date: 17.V.2011 3 | Author: pumbur 4 | */ 5 | 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: #222; 11 | -webkit-text-size-adjust: none; 12 | } 13 | 14 | .profile .hljs-header *, 15 | .ini .hljs-title, 16 | .nginx .hljs-title { 17 | color: #fff; 18 | } 19 | 20 | .hljs-comment, 21 | .hljs-preprocessor, 22 | .hljs-preprocessor .hljs-title, 23 | .hljs-pragma, 24 | .hljs-shebang, 25 | .profile .hljs-summary, 26 | .diff, 27 | .hljs-pi, 28 | .hljs-doctype, 29 | .hljs-tag, 30 | .css .hljs-rule, 31 | .tex .hljs-special { 32 | color: #444; 33 | } 34 | 35 | .hljs-string, 36 | .hljs-symbol, 37 | .diff .hljs-change, 38 | .hljs-regexp, 39 | .xml .hljs-attribute, 40 | .smalltalk .hljs-char, 41 | .xml .hljs-value, 42 | .ini .hljs-value, 43 | .clojure .hljs-attribute, 44 | .coffeescript .hljs-attribute { 45 | color: #ffcc33; 46 | } 47 | 48 | .hljs-number, 49 | .hljs-addition { 50 | color: #00cc66; 51 | } 52 | 53 | .hljs-built_in, 54 | .hljs-literal, 55 | .hljs-type, 56 | .hljs-typename, 57 | .go .hljs-constant, 58 | .ini .hljs-keyword, 59 | .lua .hljs-title, 60 | .perl .hljs-variable, 61 | .php .hljs-variable, 62 | .mel .hljs-variable, 63 | .django .hljs-variable, 64 | .css .funtion, 65 | .smalltalk .method, 66 | .hljs-hexcolor, 67 | .hljs-important, 68 | .hljs-flow, 69 | .hljs-inheritance, 70 | .hljs-name, 71 | .parser3 .hljs-variable { 72 | color: #32aaee; 73 | } 74 | 75 | .hljs-keyword, 76 | .hljs-tag .hljs-title, 77 | .css .hljs-tag, 78 | .css .hljs-class, 79 | .css .hljs-id, 80 | .css .hljs-pseudo, 81 | .css .hljs-attr_selector, 82 | .hljs-winutils, 83 | .tex .hljs-command, 84 | .hljs-request, 85 | .hljs-status { 86 | color: #6644aa; 87 | } 88 | 89 | .hljs-title, 90 | .ruby .hljs-constant, 91 | .vala .hljs-constant, 92 | .hljs-parent, 93 | .hljs-deletion, 94 | .hljs-template_tag, 95 | .css .hljs-keyword, 96 | .objectivec .hljs-class .hljs-id, 97 | .smalltalk .hljs-class, 98 | .lisp .hljs-keyword, 99 | .apache .hljs-tag, 100 | .nginx .hljs-variable, 101 | .hljs-envvar, 102 | .bash .hljs-variable, 103 | .go .hljs-built_in, 104 | .vbscript .hljs-built_in, 105 | .lua .hljs-built_in, 106 | .rsl .hljs-built_in, 107 | .tail, 108 | .avrasm .hljs-label, 109 | .tex .hljs-formula, 110 | .tex .hljs-formula * { 111 | color: #bb1166; 112 | } 113 | 114 | .hljs-doctag, 115 | .profile .hljs-header, 116 | .ini .hljs-title, 117 | .apache .hljs-tag, 118 | .parser3 .hljs-title { 119 | font-weight: bold; 120 | } 121 | 122 | .coffeescript .javascript, 123 | .javascript .xml, 124 | .tex .hljs-formula, 125 | .xml .javascript, 126 | .xml .vbscript, 127 | .xml .css, 128 | .xml .hljs-cdata { 129 | opacity: 0.6; 130 | } 131 | 132 | .hljs, 133 | .hljs-subst, 134 | .diff .hljs-chunk, 135 | .css .hljs-value, 136 | .css .hljs-attribute { 137 | color: #aaa; 138 | } 139 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/ascetic.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: white; 12 | color: black; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-string, 17 | .hljs-tag .hljs-value, 18 | .hljs-filter .hljs-argument, 19 | .hljs-addition, 20 | .hljs-change, 21 | .hljs-name, 22 | .apache .hljs-tag, 23 | .apache .hljs-cbracket, 24 | .nginx .hljs-built_in, 25 | .tex .hljs-formula { 26 | color: #888; 27 | } 28 | 29 | .hljs-comment, 30 | .hljs-shebang, 31 | .hljs-doctype, 32 | .hljs-pi, 33 | .hljs-deletion, 34 | .apache .hljs-sqbracket { 35 | color: #ccc; 36 | } 37 | 38 | .hljs-keyword, 39 | .hljs-tag .hljs-title, 40 | .ini .hljs-title, 41 | .lisp .hljs-title, 42 | .http .hljs-title, 43 | .nginx .hljs-title, 44 | .css .hljs-tag, 45 | .hljs-winutils, 46 | .hljs-flow, 47 | .apache .hljs-tag, 48 | .tex .hljs-command, 49 | .hljs-request, 50 | .hljs-status { 51 | font-weight: bold; 52 | } 53 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-cave.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Cave Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Cave Comment */ 6 | .hljs-comment { 7 | color: #7e7887; 8 | } 9 | 10 | /* Atelier-Cave Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #be4678; 25 | } 26 | 27 | /* Atelier-Cave Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #aa573c; 35 | } 36 | 37 | /* Atelier-Cave Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a06e3b; 41 | } 42 | 43 | /* Atelier-Cave Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #2a9292; 51 | } 52 | 53 | /* Atelier-Cave Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #398bc6; 57 | } 58 | 59 | /* Atelier-Cave Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #576ddb; 69 | } 70 | 71 | /* Atelier-Cave Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #955ae7; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #19171c; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #be4678; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #2a9292; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #576ddb; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #19171c; 100 | color: #8b8792; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-cave.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Cave Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Cave Comment */ 6 | .hljs-comment { 7 | color: #655f6d; 8 | } 9 | 10 | /* Atelier-Cave Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #be4678; 25 | } 26 | 27 | /* Atelier-Cave Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #aa573c; 35 | } 36 | 37 | /* Atelier-Cave Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a06e3b; 41 | } 42 | 43 | /* Atelier-Cave Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #2a9292; 51 | } 52 | 53 | /* Atelier-Cave Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #398bc6; 57 | } 58 | 59 | /* Atelier-Cave Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #576ddb; 69 | } 70 | 71 | /* Atelier-Cave Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #955ae7; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #19171c; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #be4678; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #2a9292; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #576ddb; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #efecf4; 100 | color: #585260; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-dune.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Dune Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Dune Comment */ 6 | .hljs-comment { 7 | color: #999580; 8 | } 9 | 10 | /* Atelier-Dune Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #d73737; 25 | } 26 | 27 | /* Atelier-Dune Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #b65611; 35 | } 36 | 37 | /* Atelier-Dune Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #ae9513; 41 | } 42 | 43 | /* Atelier-Dune Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #60ac39; 51 | } 52 | 53 | /* Atelier-Dune Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #1fad83; 57 | } 58 | 59 | /* Atelier-Dune Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #6684e1; 69 | } 70 | 71 | /* Atelier-Dune Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #b854d4; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #20201d; 81 | color: #a6a28c; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-dune.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Dune Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Dune Comment */ 6 | .hljs-comment { 7 | color: #7d7a68; 8 | } 9 | 10 | /* Atelier-Dune Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #d73737; 25 | } 26 | 27 | /* Atelier-Dune Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #b65611; 35 | } 36 | 37 | /* Atelier-Dune Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #ae9513; 41 | } 42 | 43 | /* Atelier-Dune Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #60ac39; 51 | } 52 | 53 | /* Atelier-Dune Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #1fad83; 57 | } 58 | 59 | /* Atelier-Dune Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #6684e1; 69 | } 70 | 71 | /* Atelier-Dune Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #b854d4; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #fefbec; 81 | color: #6e6b5e; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-estuary.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Estuary Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Estuary Comment */ 6 | .hljs-comment { 7 | color: #878573; 8 | } 9 | 10 | /* Atelier-Estuary Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ba6236; 25 | } 26 | 27 | /* Atelier-Estuary Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #ae7313; 35 | } 36 | 37 | /* Atelier-Estuary Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a5980d; 41 | } 42 | 43 | /* Atelier-Estuary Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #7d9726; 51 | } 52 | 53 | /* Atelier-Estuary Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #5b9d48; 57 | } 58 | 59 | /* Atelier-Estuary Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #36a166; 69 | } 70 | 71 | /* Atelier-Estuary Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #5f9182; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #22221b; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #ba6236; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #7d9726; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #36a166; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #22221b; 100 | color: #929181; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-estuary.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Estuary Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Estuary Comment */ 6 | .hljs-comment { 7 | color: #6c6b5a; 8 | } 9 | 10 | /* Atelier-Estuary Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ba6236; 25 | } 26 | 27 | /* Atelier-Estuary Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #ae7313; 35 | } 36 | 37 | /* Atelier-Estuary Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a5980d; 41 | } 42 | 43 | /* Atelier-Estuary Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #7d9726; 51 | } 52 | 53 | /* Atelier-Estuary Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #5b9d48; 57 | } 58 | 59 | /* Atelier-Estuary Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #36a166; 69 | } 70 | 71 | /* Atelier-Estuary Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #5f9182; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #22221b; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #ba6236; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #7d9726; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #36a166; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #f4f3ec; 100 | color: #5f5e4e; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-forest.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Forest Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Forest Comment */ 6 | .hljs-comment { 7 | color: #9c9491; 8 | } 9 | 10 | /* Atelier-Forest Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #f22c40; 25 | } 26 | 27 | /* Atelier-Forest Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #df5320; 35 | } 36 | 37 | /* Atelier-Forest Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #c38418; 41 | } 42 | 43 | /* Atelier-Forest Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #7b9726; 51 | } 52 | 53 | /* Atelier-Forest Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #3d97b8; 57 | } 58 | 59 | /* Atelier-Forest Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #407ee7; 69 | } 70 | 71 | /* Atelier-Forest Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #6666ea; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #1b1918; 81 | color: #a8a19f; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-forest.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Forest Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Forest Comment */ 6 | .hljs-comment { 7 | color: #766e6b; 8 | } 9 | 10 | /* Atelier-Forest Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #f22c40; 25 | } 26 | 27 | /* Atelier-Forest Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #df5320; 35 | } 36 | 37 | /* Atelier-Forest Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #c38418; 41 | } 42 | 43 | /* Atelier-Forest Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #7b9726; 51 | } 52 | 53 | /* Atelier-Forest Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #3d97b8; 57 | } 58 | 59 | /* Atelier-Forest Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #407ee7; 69 | } 70 | 71 | /* Atelier-Forest Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #6666ea; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #f1efee; 81 | color: #68615e; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-heath.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Heath Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Heath Comment */ 6 | .hljs-comment { 7 | color: #9e8f9e; 8 | } 9 | 10 | /* Atelier-Heath Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ca402b; 25 | } 26 | 27 | /* Atelier-Heath Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #a65926; 35 | } 36 | 37 | /* Atelier-Heath Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #bb8a35; 41 | } 42 | 43 | /* Atelier-Heath Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #918b3b; 51 | } 52 | 53 | /* Atelier-Heath Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #159393; 57 | } 58 | 59 | /* Atelier-Heath Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #516aec; 69 | } 70 | 71 | /* Atelier-Heath Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #7b59c0; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #1b181b; 81 | color: #ab9bab; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-heath.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Heath Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Heath Comment */ 6 | .hljs-comment { 7 | color: #776977; 8 | } 9 | 10 | /* Atelier-Heath Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ca402b; 25 | } 26 | 27 | /* Atelier-Heath Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #a65926; 35 | } 36 | 37 | /* Atelier-Heath Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #bb8a35; 41 | } 42 | 43 | /* Atelier-Heath Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #918b3b; 51 | } 52 | 53 | /* Atelier-Heath Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #159393; 57 | } 58 | 59 | /* Atelier-Heath Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #516aec; 69 | } 70 | 71 | /* Atelier-Heath Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #7b59c0; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #f7f3f7; 81 | color: #695d69; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-lakeside.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Lakeside Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Lakeside Comment */ 6 | .hljs-comment { 7 | color: #7195a8; 8 | } 9 | 10 | /* Atelier-Lakeside Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #d22d72; 25 | } 26 | 27 | /* Atelier-Lakeside Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #935c25; 35 | } 36 | 37 | /* Atelier-Lakeside Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #8a8a0f; 41 | } 42 | 43 | /* Atelier-Lakeside Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #568c3b; 51 | } 52 | 53 | /* Atelier-Lakeside Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #2d8f6f; 57 | } 58 | 59 | /* Atelier-Lakeside Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #257fad; 69 | } 70 | 71 | /* Atelier-Lakeside Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #6b6bb8; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #161b1d; 81 | color: #7ea2b4; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-lakeside.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Lakeside Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Lakeside Comment */ 6 | .hljs-comment { 7 | color: #5a7b8c; 8 | } 9 | 10 | /* Atelier-Lakeside Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #d22d72; 25 | } 26 | 27 | /* Atelier-Lakeside Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #935c25; 35 | } 36 | 37 | /* Atelier-Lakeside Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #8a8a0f; 41 | } 42 | 43 | /* Atelier-Lakeside Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #568c3b; 51 | } 52 | 53 | /* Atelier-Lakeside Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #2d8f6f; 57 | } 58 | 59 | /* Atelier-Lakeside Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #257fad; 69 | } 70 | 71 | /* Atelier-Lakeside Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #6b6bb8; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #ebf8ff; 81 | color: #516d7b; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-plateau.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Plateau Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Plateau Comment */ 6 | .hljs-comment { 7 | color: #7e7777; 8 | } 9 | 10 | /* Atelier-Plateau Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ca4949; 25 | } 26 | 27 | /* Atelier-Plateau Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #b45a3c; 35 | } 36 | 37 | /* Atelier-Plateau Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a06e3b; 41 | } 42 | 43 | /* Atelier-Plateau Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #4b8b8b; 51 | } 52 | 53 | /* Atelier-Plateau Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #5485b6; 57 | } 58 | 59 | /* Atelier-Plateau Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #7272ca; 69 | } 70 | 71 | /* Atelier-Plateau Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #8464c4; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #1b1818; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #ca4949; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #4b8b8b; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #7272ca; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #1b1818; 100 | color: #8a8585; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-plateau.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Plateau Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Plateau Comment */ 6 | .hljs-comment { 7 | color: #655d5d; 8 | } 9 | 10 | /* Atelier-Plateau Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ca4949; 25 | } 26 | 27 | /* Atelier-Plateau Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #b45a3c; 35 | } 36 | 37 | /* Atelier-Plateau Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a06e3b; 41 | } 42 | 43 | /* Atelier-Plateau Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #4b8b8b; 51 | } 52 | 53 | /* Atelier-Plateau Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #5485b6; 57 | } 58 | 59 | /* Atelier-Plateau Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #7272ca; 69 | } 70 | 71 | /* Atelier-Plateau Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #8464c4; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #1b1818; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #ca4949; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #4b8b8b; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #7272ca; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #f4ecec; 100 | color: #585050; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-savanna.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Savanna Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Savanna Comment */ 6 | .hljs-comment { 7 | color: #78877d; 8 | } 9 | 10 | /* Atelier-Savanna Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #b16139; 25 | } 26 | 27 | /* Atelier-Savanna Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #9f713c; 35 | } 36 | 37 | /* Atelier-Savanna Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a07e3b; 41 | } 42 | 43 | /* Atelier-Savanna Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #489963; 51 | } 52 | 53 | /* Atelier-Savanna Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #1c9aa0; 57 | } 58 | 59 | /* Atelier-Savanna Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #478c90; 69 | } 70 | 71 | /* Atelier-Savanna Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #55859b; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #171c19; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #b16139; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #489963; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #478c90; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #171c19; 100 | color: #87928a; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-savanna.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Savanna Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Savanna Comment */ 6 | .hljs-comment { 7 | color: #5f6d64; 8 | } 9 | 10 | /* Atelier-Savanna Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #b16139; 25 | } 26 | 27 | /* Atelier-Savanna Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #9f713c; 35 | } 36 | 37 | /* Atelier-Savanna Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a07e3b; 41 | } 42 | 43 | /* Atelier-Savanna Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #489963; 51 | } 52 | 53 | /* Atelier-Savanna Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #1c9aa0; 57 | } 58 | 59 | /* Atelier-Savanna Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #478c90; 69 | } 70 | 71 | /* Atelier-Savanna Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #55859b; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #171c19; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #b16139; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #489963; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #478c90; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #ecf4ee; 100 | color: #526057; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-seaside.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Seaside Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Seaside Comment */ 6 | .hljs-comment { 7 | color: #809980; 8 | } 9 | 10 | /* Atelier-Seaside Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #e6193c; 25 | } 26 | 27 | /* Atelier-Seaside Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #87711d; 35 | } 36 | 37 | /* Atelier-Seaside Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #98981b; 41 | } 42 | 43 | /* Atelier-Seaside Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #29a329; 51 | } 52 | 53 | /* Atelier-Seaside Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #1999b3; 57 | } 58 | 59 | /* Atelier-Seaside Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #3d62f5; 69 | } 70 | 71 | /* Atelier-Seaside Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #ad2bee; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #131513; 81 | color: #8ca68c; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-seaside.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Seaside Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Seaside Comment */ 6 | .hljs-comment { 7 | color: #687d68; 8 | } 9 | 10 | /* Atelier-Seaside Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #e6193c; 25 | } 26 | 27 | /* Atelier-Seaside Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #87711d; 35 | } 36 | 37 | /* Atelier-Seaside Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #98981b; 41 | } 42 | 43 | /* Atelier-Seaside Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #29a329; 51 | } 52 | 53 | /* Atelier-Seaside Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #1999b3; 57 | } 58 | 59 | /* Atelier-Seaside Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #3d62f5; 69 | } 70 | 71 | /* Atelier-Seaside Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #ad2bee; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #f4fbf4; 81 | color: #5e6e5e; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-sulphurpool.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Sulphurpool Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Sulphurpool Comment */ 6 | .hljs-comment { 7 | color: #898ea4; 8 | } 9 | 10 | /* Atelier-Sulphurpool Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #c94922; 25 | } 26 | 27 | /* Atelier-Sulphurpool Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #c76b29; 35 | } 36 | 37 | /* Atelier-Sulphurpool Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #c08b30; 41 | } 42 | 43 | /* Atelier-Sulphurpool Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #ac9739; 51 | } 52 | 53 | /* Atelier-Sulphurpool Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #22a2c9; 57 | } 58 | 59 | /* Atelier-Sulphurpool Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #3d8fd1; 69 | } 70 | 71 | /* Atelier-Sulphurpool Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #6679cc; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #202746; 81 | color: #979db4; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/atelier-sulphurpool.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Sulphurpool Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Sulphurpool Comment */ 6 | .hljs-comment { 7 | color: #6b7394; 8 | } 9 | 10 | /* Atelier-Sulphurpool Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #c94922; 25 | } 26 | 27 | /* Atelier-Sulphurpool Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #c76b29; 35 | } 36 | 37 | /* Atelier-Sulphurpool Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #c08b30; 41 | } 42 | 43 | /* Atelier-Sulphurpool Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #ac9739; 51 | } 52 | 53 | /* Atelier-Sulphurpool Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #22a2c9; 57 | } 58 | 59 | /* Atelier-Sulphurpool Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #3d8fd1; 69 | } 70 | 71 | /* Atelier-Sulphurpool Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #6679cc; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #f5f7ff; 81 | color: #5e6687; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/brown_paper.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Brown Paper style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background:#b7a68e url(./brown_papersq.png); 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs-keyword, 16 | .hljs-literal, 17 | .hljs-change, 18 | .hljs-winutils, 19 | .hljs-flow, 20 | .nginx .hljs-title, 21 | .tex .hljs-special, 22 | .hljs-request, 23 | .hljs-status { 24 | color:#005599; 25 | font-weight:bold; 26 | } 27 | 28 | .hljs, 29 | .hljs-subst, 30 | .hljs-tag .hljs-keyword { 31 | color: #363c69; 32 | } 33 | 34 | .hljs-string, 35 | .hljs-title, 36 | .hljs-type, 37 | .hljs-tag .hljs-value, 38 | .css .hljs-rule .hljs-value, 39 | .hljs-preprocessor, 40 | .hljs-pragma, 41 | .ruby .hljs-symbol, 42 | .ruby .hljs-symbol .hljs-string, 43 | .ruby .hljs-class .hljs-parent, 44 | .hljs-built_in, 45 | .django .hljs-template_tag, 46 | .django .hljs-variable, 47 | .smalltalk .hljs-class, 48 | .ruby .hljs-string, 49 | .django .hljs-filter .hljs-argument, 50 | .smalltalk .hljs-localvars, 51 | .smalltalk .hljs-array, 52 | .hljs-attr_selector, 53 | .hljs-pseudo, 54 | .hljs-addition, 55 | .hljs-stream, 56 | .hljs-envvar, 57 | .apache .hljs-tag, 58 | .apache .hljs-cbracket, 59 | .tex .hljs-number, 60 | .hljs-name { 61 | color: #2c009f; 62 | } 63 | 64 | .hljs-comment, 65 | .hljs-annotation, 66 | .hljs-decorator, 67 | .hljs-pi, 68 | .hljs-doctype, 69 | .hljs-deletion, 70 | .hljs-shebang, 71 | .apache .hljs-sqbracket, 72 | .nginx .hljs-built_in, 73 | .tex .hljs-formula { 74 | color: #802022; 75 | } 76 | 77 | .hljs-keyword, 78 | .hljs-literal, 79 | .css .hljs-id, 80 | .hljs-doctag, 81 | .hljs-title, 82 | .hljs-type, 83 | .vbscript .hljs-built_in, 84 | .rsl .hljs-built_in, 85 | .smalltalk .hljs-class, 86 | .diff .hljs-header, 87 | .hljs-chunk, 88 | .hljs-winutils, 89 | .bash .hljs-variable, 90 | .apache .hljs-tag, 91 | .tex .hljs-command { 92 | font-weight: bold; 93 | } 94 | 95 | .coffeescript .javascript, 96 | .javascript .xml, 97 | .tex .hljs-formula, 98 | .xml .javascript, 99 | .xml .vbscript, 100 | .xml .css, 101 | .xml .hljs-cdata { 102 | opacity: 0.8; 103 | } 104 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/brown_papersq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/norio-nomura/qlplayground/cee9b0505771b629260d222f1ab95362651429d0/qlplayground/highlight/styles/brown_papersq.png -------------------------------------------------------------------------------- /qlplayground/highlight/styles/codepen-embed.css: -------------------------------------------------------------------------------- 1 | /* 2 | codepen.io Embed Theme 3 | Author: Justin Perry 4 | Original theme - https://github.com/chriskempson/tomorrow-theme 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #222; 12 | color: #fff; 13 | font-family: Menlo, Monaco, 'Andale Mono', 'Lucida Console', 'Courier New', monospace; 14 | -webkit-text-size-adjust: none; 15 | } 16 | 17 | .hljs-comment, 18 | .hljs-title { 19 | color: #777; 20 | } 21 | 22 | .hljs-variable, 23 | .hljs-attribute, 24 | .hljs-tag, 25 | .hljs-regexp, 26 | .hljs-name, 27 | .ruby .constant, 28 | .xml .tag .title, 29 | .xml .pi, 30 | .xml .doctype, 31 | .html .doctype { 32 | color: #ab875d; 33 | } 34 | 35 | .css .value { 36 | color: #cd6a51; 37 | } 38 | 39 | .css .value .function, 40 | .css .value .string { 41 | color: #a67f59; 42 | } 43 | 44 | .css .value .number { 45 | color: #9b869c; 46 | } 47 | 48 | .css .id, 49 | .css .class, 50 | .css-pseudo, 51 | .css .selector, 52 | .css .tag { 53 | color: #dfc48c; 54 | } 55 | 56 | .hljs-number, 57 | .hljs-preprocessor, 58 | .hljs-built_in, 59 | .hljs-literal, 60 | .hljs-params, 61 | .hljs-constant { 62 | color: #ab875d; 63 | } 64 | 65 | .ruby .class .title, 66 | .css .rules .attribute { 67 | color: #9b869b; 68 | } 69 | 70 | .hljs-string, 71 | .hljs-value, 72 | .hljs-inheritance, 73 | .hljs-header, 74 | .ruby .symbol, 75 | .xml .cdata { 76 | color: #8f9c6c; 77 | } 78 | 79 | .css .hexcolor { 80 | color: #cd6a51; 81 | } 82 | 83 | .function, 84 | .python .decorator, 85 | .python .title, 86 | .ruby .function .title, 87 | .ruby .title .keyword, 88 | .perl .sub, 89 | .javascript .title, 90 | .coffeescript .title { 91 | color: #fff; 92 | } 93 | 94 | .hljs-keyword, 95 | .javascript .function { 96 | color: #8f9c6c; 97 | } 98 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/color-brewer.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Colorbrewer theme 4 | Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock 5 | Ported by Fabrício Tavares de Oliveira 6 | 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | background: #fff; 14 | -webkit-text-size-adjust: none; 15 | } 16 | 17 | .hljs, 18 | .hljs-subst, 19 | .hljs-tag .hljs-title, 20 | .nginx .hljs-title { 21 | color: #000; 22 | } 23 | 24 | .hljs-string, 25 | .hljs-title, 26 | .hljs-constant, 27 | .hljs-parent, 28 | .hljs-tag .hljs-value, 29 | .hljs-rule .hljs-value, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .haml .hljs-symbol, 33 | .ruby .hljs-symbol, 34 | .ruby .hljs-symbol .hljs-string, 35 | .hljs-template_tag, 36 | .django .hljs-variable, 37 | .smalltalk .hljs-class, 38 | .hljs-addition, 39 | .hljs-flow, 40 | .hljs-stream, 41 | .bash .hljs-variable, 42 | .apache .hljs-tag, 43 | .apache .hljs-cbracket, 44 | .tex .hljs-command, 45 | .tex .hljs-special, 46 | .erlang_repl .hljs-function_or_atom, 47 | .asciidoc .hljs-header, 48 | .markdown .hljs-header, 49 | .coffeescript .hljs-attribute, 50 | .hljs-name { 51 | color: #756bb1; 52 | } 53 | 54 | .smartquote, 55 | .hljs-comment, 56 | .hljs-annotation, 57 | .diff .hljs-header, 58 | .hljs-chunk, 59 | .asciidoc .hljs-blockquote, 60 | .markdown .hljs-blockquote { 61 | color: #636363; 62 | } 63 | 64 | .hljs-number, 65 | .hljs-date, 66 | .hljs-regexp, 67 | .hljs-literal, 68 | .hljs-hexcolor, 69 | .smalltalk .hljs-symbol, 70 | .smalltalk .hljs-char, 71 | .go .hljs-constant, 72 | .hljs-change, 73 | .lasso .hljs-variable, 74 | .makefile .hljs-variable, 75 | .asciidoc .hljs-bullet, 76 | .markdown .hljs-bullet, 77 | .asciidoc .hljs-link_url, 78 | .markdown .hljs-link_url { 79 | color: #31a354; 80 | } 81 | 82 | .hljs-label, 83 | .ruby .hljs-string, 84 | .hljs-decorator, 85 | .hljs-filter .hljs-argument, 86 | .hljs-localvars, 87 | .hljs-array, 88 | .hljs-attr_selector, 89 | .hljs-important, 90 | .hljs-pseudo, 91 | .hljs-pi, 92 | .haml .hljs-bullet, 93 | .hljs-doctype, 94 | .hljs-deletion, 95 | .hljs-envvar, 96 | .hljs-shebang, 97 | .apache .hljs-sqbracket, 98 | .nginx .hljs-built_in, 99 | .hljs-list .hljs-built_in, 100 | .tex .hljs-formula, 101 | .erlang_repl .hljs-reserved, 102 | .hljs-prompt, 103 | .asciidoc .hljs-link_label, 104 | .markdown .hljs-link_label, 105 | .vhdl .hljs-attribute, 106 | .clojure .hljs-attribute, 107 | .asciidoc .hljs-attribute, 108 | .lasso .hljs-attribute, 109 | .coffeescript .hljs-property, 110 | .hljs-phony { 111 | color: #88f; 112 | } 113 | 114 | 115 | 116 | .hljs-keyword, 117 | .hljs-id, 118 | .hljs-title, 119 | .hljs-built_in, 120 | .css .hljs-tag, 121 | .hljs-doctag, 122 | .smalltalk .hljs-class, 123 | .hljs-winutils, 124 | .bash .hljs-variable, 125 | .apache .hljs-tag, 126 | .hljs-type, 127 | .hljs-typename, 128 | .tex .hljs-command, 129 | .asciidoc .hljs-strong, 130 | .markdown .hljs-strong, 131 | .hljs-request, 132 | .hljs-status { 133 | color: #3182bd; 134 | } 135 | 136 | .asciidoc .hljs-emphasis, 137 | .markdown .hljs-emphasis { 138 | font-style: italic; 139 | } 140 | 141 | .nginx .hljs-built_in { 142 | font-weight: normal; 143 | } 144 | 145 | .coffeescript .javascript, 146 | .javascript .xml, 147 | .lasso .markup, 148 | .tex .hljs-formula, 149 | .xml .javascript, 150 | .xml .vbscript, 151 | .xml .css, 152 | .xml .hljs-cdata { 153 | opacity: 0.5; 154 | } 155 | 156 | .css .hljs-attribute, 157 | .html .hljs-attribute { 158 | color: #e6550d; 159 | } 160 | 161 | .css .hljs-class, 162 | .html .hljs-tag, 163 | .html .hljs-title { 164 | color: #3182bd; 165 | } 166 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Dark style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #444; 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs-keyword, 16 | .hljs-literal, 17 | .hljs-change, 18 | .hljs-winutils, 19 | .hljs-flow, 20 | .nginx .hljs-title, 21 | .tex .hljs-special { 22 | color: white; 23 | } 24 | 25 | .hljs, 26 | .hljs-subst { 27 | color: #ddd; 28 | } 29 | 30 | .hljs-string, 31 | .hljs-title, 32 | .hljs-type, 33 | .ini .hljs-title, 34 | .hljs-tag .hljs-value, 35 | .css .hljs-rule .hljs-value, 36 | .hljs-preprocessor, 37 | .hljs-pragma, 38 | .ruby .hljs-symbol, 39 | .ruby .hljs-symbol .hljs-string, 40 | .ruby .hljs-class .hljs-parent, 41 | .hljs-built_in, 42 | .django .hljs-template_tag, 43 | .django .hljs-variable, 44 | .smalltalk .hljs-class, 45 | .ruby .hljs-string, 46 | .django .hljs-filter .hljs-argument, 47 | .smalltalk .hljs-localvars, 48 | .smalltalk .hljs-array, 49 | .hljs-attr_selector, 50 | .hljs-pseudo, 51 | .hljs-addition, 52 | .hljs-stream, 53 | .hljs-envvar, 54 | .apache .hljs-tag, 55 | .apache .hljs-cbracket, 56 | .tex .hljs-command, 57 | .hljs-prompt, 58 | .coffeescript .hljs-attribute, 59 | .hljs-name { 60 | color: #d88; 61 | } 62 | 63 | .hljs-comment, 64 | .hljs-annotation, 65 | .hljs-decorator, 66 | .hljs-pi, 67 | .hljs-doctype, 68 | .hljs-deletion, 69 | .hljs-shebang, 70 | .apache .hljs-sqbracket, 71 | .tex .hljs-formula { 72 | color: #777; 73 | } 74 | 75 | .hljs-keyword, 76 | .hljs-literal, 77 | .hljs-title, 78 | .css .hljs-id, 79 | .hljs-doctag, 80 | .hljs-type, 81 | .vbscript .hljs-built_in, 82 | .rsl .hljs-built_in, 83 | .smalltalk .hljs-class, 84 | .diff .hljs-header, 85 | .hljs-chunk, 86 | .hljs-winutils, 87 | .bash .hljs-variable, 88 | .apache .hljs-tag, 89 | .tex .hljs-special, 90 | .hljs-request, 91 | .hljs-status { 92 | font-weight: bold; 93 | } 94 | 95 | .coffeescript .javascript, 96 | .javascript .xml, 97 | .tex .hljs-formula, 98 | .xml .javascript, 99 | .xml .vbscript, 100 | .xml .css, 101 | .xml .hljs-cdata { 102 | opacity: 0.5; 103 | } 104 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/darkula.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Darkula color scheme from the JetBrains family of IDEs 4 | 5 | */ 6 | 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #2b2b2b; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs, 17 | .hljs-tag, 18 | .hljs-title, 19 | .css .hljs-rule, 20 | .css .hljs-value, 21 | .aspectj .hljs-function, 22 | .css .hljs-function .hljs-preprocessor, 23 | .hljs-pragma { 24 | color: #bababa; 25 | } 26 | 27 | .hljs-strongemphasis, 28 | .hljs-strong, 29 | .hljs-emphasis { 30 | color: #a8a8a2; 31 | } 32 | 33 | .hljs-bullet, 34 | .hljs-blockquote, 35 | .hljs-horizontal_rule, 36 | .hljs-number, 37 | .hljs-regexp, 38 | .alias .hljs-keyword, 39 | .hljs-literal, 40 | .hljs-hexcolor { 41 | color: #6896ba; 42 | } 43 | 44 | .hljs-tag .hljs-value, 45 | .hljs-code, 46 | .css .hljs-class, 47 | .hljs-class .hljs-title:last-child { 48 | color: #a6e22e; 49 | } 50 | 51 | .hljs-link_url { 52 | font-size: 80%; 53 | } 54 | 55 | .hljs-emphasis, 56 | .hljs-strongemphasis, 57 | .hljs-class .hljs-title:last-child, 58 | .hljs-typename { 59 | font-style: italic; 60 | } 61 | 62 | .hljs-keyword, 63 | .ruby .hljs-class .hljs-keyword:first-child, 64 | .ruby .hljs-function .hljs-keyword, 65 | .hljs-function, 66 | .hljs-change, 67 | .hljs-winutils, 68 | .hljs-flow, 69 | .nginx .hljs-title, 70 | .tex .hljs-special, 71 | .hljs-header, 72 | .hljs-attribute, 73 | .hljs-symbol, 74 | .hljs-symbol .hljs-string, 75 | .hljs-tag .hljs-title, 76 | .hljs-value, 77 | .alias .hljs-keyword:first-child, 78 | .css .hljs-tag, 79 | .css .unit, 80 | .css .hljs-important { 81 | color: #cb7832; 82 | } 83 | 84 | .hljs-function .hljs-keyword, 85 | .hljs-class .hljs-keyword:first-child, 86 | .hljs-aspect .hljs-keyword:first-child, 87 | .hljs-constant, 88 | .hljs-typename, 89 | .css .hljs-attribute { 90 | color: #cb7832; 91 | } 92 | 93 | .hljs-variable, 94 | .hljs-params, 95 | .hljs-class .hljs-title, 96 | .hljs-aspect .hljs-title { 97 | color: #b9b9b9; 98 | } 99 | 100 | .hljs-string, 101 | .css .hljs-id, 102 | .hljs-subst, 103 | .hljs-type, 104 | .ruby .hljs-class .hljs-parent, 105 | .hljs-built_in, 106 | .django .hljs-template_tag, 107 | .django .hljs-variable, 108 | .smalltalk .hljs-class, 109 | .django .hljs-filter .hljs-argument, 110 | .smalltalk .hljs-localvars, 111 | .smalltalk .hljs-array, 112 | .hljs-attr_selector, 113 | .hljs-pseudo, 114 | .hljs-addition, 115 | .hljs-stream, 116 | .hljs-envvar, 117 | .apache .hljs-tag, 118 | .apache .hljs-cbracket, 119 | .tex .hljs-command, 120 | .hljs-prompt, 121 | .hljs-link_label, 122 | .hljs-link_url, 123 | .hljs-name { 124 | color: #e0c46c; 125 | } 126 | 127 | .hljs-comment, 128 | .hljs-annotation, 129 | .hljs-pi, 130 | .hljs-doctype, 131 | .hljs-deletion, 132 | .hljs-shebang, 133 | .apache .hljs-sqbracket, 134 | .tex .hljs-formula { 135 | color: #7f7f7f; 136 | } 137 | 138 | .hljs-decorator { 139 | color: #bab429; 140 | } 141 | 142 | .coffeescript .javascript, 143 | .javascript .xml, 144 | .tex .hljs-formula, 145 | .xml .javascript, 146 | .xml .vbscript, 147 | .xml .css, 148 | .xml .hljs-cdata, 149 | .xml .php, 150 | .php .xml { 151 | opacity: 0.5; 152 | } 153 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/default.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #f0f0f0; 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs, 16 | .hljs-subst, 17 | .hljs-tag .hljs-title, 18 | .nginx .hljs-title { 19 | color: black; 20 | } 21 | 22 | .hljs-string, 23 | .hljs-title, 24 | .hljs-constant, 25 | .hljs-parent, 26 | .hljs-tag .hljs-value, 27 | .hljs-rule .hljs-value, 28 | .hljs-preprocessor, 29 | .hljs-pragma, 30 | .hljs-name, 31 | .haml .hljs-symbol, 32 | .ruby .hljs-symbol, 33 | .ruby .hljs-symbol .hljs-string, 34 | .hljs-template_tag, 35 | .django .hljs-variable, 36 | .smalltalk .hljs-class, 37 | .hljs-addition, 38 | .hljs-flow, 39 | .hljs-stream, 40 | .bash .hljs-variable, 41 | .pf .hljs-variable, 42 | .apache .hljs-tag, 43 | .apache .hljs-cbracket, 44 | .tex .hljs-command, 45 | .tex .hljs-special, 46 | .erlang_repl .hljs-function_or_atom, 47 | .asciidoc .hljs-header, 48 | .markdown .hljs-header, 49 | .coffeescript .hljs-attribute, 50 | .tp .hljs-variable { 51 | color: #800; 52 | } 53 | 54 | .smartquote, 55 | .hljs-comment, 56 | .hljs-annotation, 57 | .diff .hljs-header, 58 | .hljs-chunk, 59 | .asciidoc .hljs-blockquote, 60 | .markdown .hljs-blockquote { 61 | color: #888; 62 | } 63 | 64 | .hljs-number, 65 | .hljs-date, 66 | .hljs-regexp, 67 | .hljs-literal, 68 | .hljs-hexcolor, 69 | .smalltalk .hljs-symbol, 70 | .smalltalk .hljs-char, 71 | .go .hljs-constant, 72 | .hljs-change, 73 | .lasso .hljs-variable, 74 | .makefile .hljs-variable, 75 | .asciidoc .hljs-bullet, 76 | .markdown .hljs-bullet, 77 | .asciidoc .hljs-link_url, 78 | .markdown .hljs-link_url { 79 | color: #080; 80 | } 81 | 82 | .hljs-label, 83 | .ruby .hljs-string, 84 | .hljs-decorator, 85 | .hljs-filter .hljs-argument, 86 | .hljs-localvars, 87 | .hljs-array, 88 | .hljs-attr_selector, 89 | .hljs-important, 90 | .hljs-pseudo, 91 | .hljs-pi, 92 | .haml .hljs-bullet, 93 | .hljs-doctype, 94 | .hljs-deletion, 95 | .hljs-envvar, 96 | .hljs-shebang, 97 | .apache .hljs-sqbracket, 98 | .nginx .hljs-built_in, 99 | .tex .hljs-formula, 100 | .erlang_repl .hljs-reserved, 101 | .hljs-prompt, 102 | .asciidoc .hljs-link_label, 103 | .markdown .hljs-link_label, 104 | .vhdl .hljs-attribute, 105 | .clojure .hljs-attribute, 106 | .asciidoc .hljs-attribute, 107 | .lasso .hljs-attribute, 108 | .coffeescript .hljs-property, 109 | .hljs-phony { 110 | color: #88f; 111 | } 112 | 113 | .hljs-keyword, 114 | .hljs-id, 115 | .hljs-title, 116 | .hljs-built_in, 117 | .css .hljs-tag, 118 | .hljs-doctag, 119 | .smalltalk .hljs-class, 120 | .hljs-winutils, 121 | .bash .hljs-variable, 122 | .pf .hljs-variable, 123 | .apache .hljs-tag, 124 | .hljs-type, 125 | .hljs-typename, 126 | .tex .hljs-command, 127 | .asciidoc .hljs-strong, 128 | .markdown .hljs-strong, 129 | .hljs-request, 130 | .hljs-status, 131 | .tp .hljs-data, 132 | .tp .hljs-io { 133 | font-weight: bold; 134 | } 135 | 136 | .asciidoc .hljs-emphasis, 137 | .markdown .hljs-emphasis, 138 | .tp .hljs-units { 139 | font-style: italic; 140 | } 141 | 142 | .nginx .hljs-built_in { 143 | font-weight: normal; 144 | } 145 | 146 | .coffeescript .javascript, 147 | .javascript .xml, 148 | .lasso .markup, 149 | .tex .hljs-formula, 150 | .xml .javascript, 151 | .xml .vbscript, 152 | .xml .css, 153 | .xml .hljs-cdata { 154 | opacity: 0.5; 155 | } 156 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/docco.css: -------------------------------------------------------------------------------- 1 | /* 2 | Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars) 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | color: #000; 10 | background: #f8f8ff; 11 | -webkit-text-size-adjust: none; 12 | } 13 | 14 | .hljs-comment, 15 | .diff .hljs-header { 16 | color: #408080; 17 | font-style: italic; 18 | } 19 | 20 | .hljs-keyword, 21 | .assignment, 22 | .hljs-literal, 23 | .css .rule .hljs-keyword, 24 | .hljs-winutils, 25 | .javascript .hljs-title, 26 | .lisp .hljs-title, 27 | .hljs-subst { 28 | color: #954121; 29 | } 30 | 31 | .hljs-number, 32 | .hljs-hexcolor { 33 | color: #40a070; 34 | } 35 | 36 | .hljs-string, 37 | .hljs-tag .hljs-value, 38 | .hljs-doctag, 39 | .tex .hljs-formula, 40 | .hljs-name { 41 | color: #219161; 42 | } 43 | 44 | .hljs-title, 45 | .hljs-id { 46 | color: #19469d; 47 | } 48 | .hljs-params { 49 | color: #00f; 50 | } 51 | 52 | .javascript .hljs-title, 53 | .lisp .hljs-title, 54 | .hljs-subst { 55 | font-weight: normal; 56 | } 57 | 58 | .hljs-class .hljs-title, 59 | .haskell .hljs-label, 60 | .tex .hljs-command { 61 | color: #458; 62 | font-weight: bold; 63 | } 64 | 65 | .hljs-tag, 66 | .hljs-tag .hljs-title, 67 | .hljs-rule .hljs-property, 68 | .django .hljs-tag .hljs-keyword { 69 | color: #000080; 70 | font-weight: normal; 71 | } 72 | 73 | .hljs-attribute, 74 | .hljs-variable, 75 | .instancevar, 76 | .lisp .hljs-body { 77 | color: #008080; 78 | } 79 | 80 | .hljs-regexp { 81 | color: #b68; 82 | } 83 | 84 | .hljs-class { 85 | color: #458; 86 | font-weight: bold; 87 | } 88 | 89 | .hljs-symbol, 90 | .ruby .hljs-symbol .hljs-string, 91 | .ruby .hljs-symbol .hljs-keyword, 92 | .ruby .hljs-symbol .keymethods, 93 | .lisp .hljs-keyword, 94 | .tex .hljs-special, 95 | .input_number { 96 | color: #990073; 97 | } 98 | 99 | .builtin, 100 | .constructor, 101 | .hljs-built_in, 102 | .lisp .hljs-title { 103 | color: #0086b3; 104 | } 105 | 106 | .hljs-preprocessor, 107 | .hljs-pragma, 108 | .hljs-pi, 109 | .hljs-doctype, 110 | .hljs-shebang, 111 | .hljs-cdata { 112 | color: #999; 113 | font-weight: bold; 114 | } 115 | 116 | .hljs-deletion { 117 | background: #fdd; 118 | } 119 | 120 | .hljs-addition { 121 | background: #dfd; 122 | } 123 | 124 | .diff .hljs-change { 125 | background: #0086b3; 126 | } 127 | 128 | .hljs-chunk { 129 | color: #aaa; 130 | } 131 | 132 | .tex .hljs-formula { 133 | opacity: 0.5; 134 | } 135 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/far.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | FAR Style (c) MajestiC 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #000080; 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs, 16 | .hljs-subst { 17 | color: #0ff; 18 | } 19 | 20 | .hljs-string, 21 | .ruby .hljs-string, 22 | .haskell .hljs-type, 23 | .hljs-tag .hljs-value, 24 | .hljs-rule .hljs-value, 25 | .hljs-rule .hljs-value .hljs-number, 26 | .hljs-preprocessor, 27 | .hljs-pragma, 28 | .ruby .hljs-symbol, 29 | .ruby .hljs-symbol .hljs-string, 30 | .hljs-built_in, 31 | .django .hljs-template_tag, 32 | .django .hljs-variable, 33 | .smalltalk .hljs-class, 34 | .hljs-addition, 35 | .apache .hljs-tag, 36 | .apache .hljs-cbracket, 37 | .tex .hljs-command, 38 | .coffeescript .hljs-attribute { 39 | color: #ff0; 40 | } 41 | 42 | .hljs-keyword, 43 | .css .hljs-id, 44 | .hljs-title, 45 | .hljs-type, 46 | .vbscript .hljs-built_in, 47 | .rsl .hljs-built_in, 48 | .smalltalk .hljs-class, 49 | .xml .hljs-tag .hljs-title, 50 | .hljs-winutils, 51 | .hljs-flow, 52 | .hljs-change, 53 | .hljs-envvar, 54 | .bash .hljs-variable, 55 | .tex .hljs-special, 56 | .hljs-name { 57 | color: #fff; 58 | } 59 | 60 | .hljs-comment, 61 | .hljs-doctag, 62 | .hljs-annotation, 63 | .hljs-deletion, 64 | .apache .hljs-sqbracket, 65 | .tex .hljs-formula { 66 | color: #888; 67 | } 68 | 69 | .hljs-number, 70 | .hljs-date, 71 | .hljs-regexp, 72 | .hljs-literal, 73 | .smalltalk .hljs-symbol, 74 | .smalltalk .hljs-char, 75 | .clojure .hljs-attribute { 76 | color: #0f0; 77 | } 78 | 79 | .hljs-decorator, 80 | .django .hljs-filter .hljs-argument, 81 | .smalltalk .hljs-localvars, 82 | .smalltalk .hljs-array, 83 | .hljs-attr_selector, 84 | .hljs-pseudo, 85 | .xml .hljs-pi, 86 | .diff .hljs-header, 87 | .hljs-chunk, 88 | .hljs-shebang, 89 | .nginx .hljs-built_in, 90 | .hljs-prompt { 91 | color: #008080; 92 | } 93 | 94 | .hljs-keyword, 95 | .css .hljs-id, 96 | .hljs-title, 97 | .hljs-type, 98 | .vbscript .hljs-built_in, 99 | .rsl .hljs-built_in, 100 | .smalltalk .hljs-class, 101 | .hljs-winutils, 102 | .hljs-flow, 103 | .apache .hljs-tag, 104 | .nginx .hljs-built_in, 105 | .tex .hljs-command, 106 | .tex .hljs-special, 107 | .hljs-request, 108 | .hljs-status { 109 | font-weight: bold; 110 | } 111 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/foundation.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Foundation 4 docs style for highlight.js 3 | Author: Dan Allen 4 | Website: http://foundation.zurb.com/docs/ 5 | Version: 1.0 6 | Date: 2013-04-02 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | background: #eee; 14 | -webkit-text-size-adjust: none; 15 | } 16 | 17 | .hljs-header, 18 | .hljs-decorator, 19 | .hljs-annotation { 20 | color: #000077; 21 | } 22 | 23 | .hljs-horizontal_rule, 24 | .hljs-link_url, 25 | .hljs-emphasis, 26 | .hljs-attribute { 27 | color: #070; 28 | } 29 | 30 | .hljs-emphasis { 31 | font-style: italic; 32 | } 33 | 34 | .hljs-link_label, 35 | .hljs-strong, 36 | .hljs-value, 37 | .hljs-string, 38 | .scss .hljs-value .hljs-string { 39 | color: #d14; 40 | } 41 | 42 | .hljs-strong { 43 | font-weight: bold; 44 | } 45 | 46 | .hljs-blockquote, 47 | .hljs-comment { 48 | color: #998; 49 | font-style: italic; 50 | } 51 | 52 | .asciidoc .hljs-title, 53 | .hljs-function .hljs-title { 54 | color: #900; 55 | } 56 | 57 | .hljs-class { 58 | color: #458; 59 | } 60 | 61 | .hljs-id, 62 | .hljs-pseudo, 63 | .hljs-constant, 64 | .hljs-hexcolor { 65 | color: teal; 66 | } 67 | 68 | .hljs-variable { 69 | color: #336699; 70 | } 71 | 72 | .hljs-bullet { 73 | color: #997700; 74 | } 75 | 76 | .hljs-pi, 77 | .hljs-doctype { 78 | color: #3344bb; 79 | } 80 | 81 | .hljs-code, 82 | .hljs-number { 83 | color: #099; 84 | } 85 | 86 | .hljs-important { 87 | color: #f00; 88 | } 89 | 90 | .smartquote, 91 | .hljs-label { 92 | color: #970; 93 | } 94 | 95 | .hljs-preprocessor, 96 | .hljs-pragma { 97 | color: #579; 98 | } 99 | 100 | .hljs-reserved, 101 | .hljs-keyword, 102 | .scss .hljs-value { 103 | color: #000; 104 | } 105 | 106 | .hljs-regexp { 107 | background-color: #fff0ff; 108 | color: #880088; 109 | } 110 | 111 | .hljs-symbol { 112 | color: #990073; 113 | } 114 | 115 | .hljs-symbol .hljs-string { 116 | color: #a60; 117 | } 118 | 119 | .hljs-tag { 120 | color: #007700; 121 | } 122 | 123 | .hljs-at_rule, 124 | .hljs-at_rule .hljs-keyword { 125 | color: #088; 126 | } 127 | 128 | .hljs-at_rule .hljs-preprocessor { 129 | color: #808; 130 | } 131 | 132 | .scss .hljs-tag, 133 | .scss .hljs-attribute { 134 | color: #339; 135 | } 136 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/github-gist.css: -------------------------------------------------------------------------------- 1 | /** 2 | * GitHub Gist Theme 3 | * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro 4 | */ 5 | 6 | .hljs { 7 | display: block; 8 | background: white; 9 | padding: 0.5em; 10 | color: #333333; 11 | overflow-x: auto; 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs-comment, 16 | .bash .hljs-shebang, 17 | .java .hljs-javadoc, 18 | .javascript .hljs-javadoc, 19 | .rust .hljs-preprocessor { 20 | color: #969896; 21 | } 22 | 23 | .hljs-string, 24 | .apache .hljs-sqbracket, 25 | .coffeescript .hljs-subst, 26 | .coffeescript .hljs-regexp, 27 | .cpp .hljs-preprocessor, 28 | .c .hljs-preprocessor, 29 | .javascript .hljs-regexp, 30 | .json .hljs-attribute, 31 | .makefile .hljs-variable, 32 | .markdown .hljs-value, 33 | .markdown .hljs-link_label, 34 | .markdown .hljs-strong, 35 | .markdown .hljs-emphasis, 36 | .markdown .hljs-blockquote, 37 | .nginx .hljs-regexp, 38 | .nginx .hljs-number, 39 | .objectivec .hljs-preprocessor .hljs-title, 40 | .perl .hljs-regexp, 41 | .php .hljs-regexp, 42 | .xml .hljs-value, 43 | .less .hljs-built_in, 44 | .scss .hljs-built_in { 45 | color: #df5000; 46 | } 47 | 48 | .hljs-keyword, 49 | .css .hljs-at_rule, 50 | .css .hljs-important, 51 | .http .hljs-request, 52 | .ini .hljs-setting, 53 | .haskell .hljs-type, 54 | .java .hljs-javadoctag, 55 | .javascript .hljs-tag, 56 | .javascript .hljs-javadoctag, 57 | .nginx .hljs-title, 58 | .objectivec .hljs-preprocessor, 59 | .php .hljs-phpdoc, 60 | .sql .hljs-built_in, 61 | .less .hljs-tag, 62 | .less .hljs-at_rule, 63 | .scss .hljs-tag, 64 | .scss .hljs-at_rule, 65 | .scss .hljs-important, 66 | .stylus .hljs-at_rule, 67 | .go .hljs-typename, 68 | .swift .hljs-preprocessor { 69 | color: #a71d5d; 70 | } 71 | 72 | .apache .hljs-common, 73 | .apache .hljs-cbracket, 74 | .apache .hljs-keyword, 75 | .bash .hljs-literal, 76 | .bash .hljs-built_in, 77 | .coffeescript .hljs-literal, 78 | .coffeescript .hljs-built_in, 79 | .coffeescript .hljs-number, 80 | .cpp .hljs-number, 81 | .cpp .hljs-built_in, 82 | .c .hljs-number, 83 | .c .hljs-built_in, 84 | .cs .hljs-number, 85 | .cs .hljs-built_in, 86 | .css .hljs-attribute, 87 | .css .hljs-hexcolor, 88 | .css .hljs-number, 89 | .css .hljs-function, 90 | .haskell .hljs-number, 91 | .http .hljs-literal, 92 | .http .hljs-attribute, 93 | .java .hljs-number, 94 | .javascript .hljs-built_in, 95 | .javascript .hljs-literal, 96 | .javascript .hljs-number, 97 | .json .hljs-number, 98 | .makefile .hljs-keyword, 99 | .markdown .hljs-link_reference, 100 | .nginx .hljs-built_in, 101 | .objectivec .hljs-literal, 102 | .objectivec .hljs-number, 103 | .objectivec .hljs-built_in, 104 | .php .hljs-literal, 105 | .php .hljs-number, 106 | .python .hljs-number, 107 | .ruby .hljs-prompt, 108 | .ruby .hljs-constant, 109 | .ruby .hljs-number, 110 | .ruby .hljs-subst .hljs-keyword, 111 | .ruby .hljs-symbol, 112 | .rust .hljs-number, 113 | .sql .hljs-number, 114 | .puppet .hljs-function, 115 | .less .hljs-number, 116 | .less .hljs-hexcolor, 117 | .less .hljs-function, 118 | .less .hljs-attribute, 119 | .scss .hljs-preprocessor, 120 | .scss .hljs-number, 121 | .scss .hljs-hexcolor, 122 | .scss .hljs-function, 123 | .scss .hljs-attribute, 124 | .stylus .hljs-number, 125 | .stylus .hljs-hexcolor, 126 | .stylus .hljs-attribute, 127 | .stylus .hljs-params, 128 | .go .hljs-built_in, 129 | .go .hljs-constant, 130 | .swift .hljs-built_in, 131 | .swift .hljs-number { 132 | color: #0086b3; 133 | } 134 | 135 | .apache .hljs-tag, 136 | .cs .hljs-xmlDocTag, 137 | .css .hljs-tag, 138 | .xml .hljs-title, 139 | .stylus .hljs-tag { 140 | color: #63a35c; 141 | } 142 | 143 | .bash .hljs-variable, 144 | .cs .hljs-preprocessor, 145 | .cs .hljs-preprocessor .hljs-keyword, 146 | .css .hljs-attr_selector, 147 | .css .hljs-value, 148 | .ini .hljs-value, 149 | .ini .hljs-keyword, 150 | .javascript .hljs-tag .hljs-title, 151 | .makefile .hljs-constant, 152 | .nginx .hljs-variable, 153 | .xml .hljs-tag, 154 | .scss .hljs-variable { 155 | color: #333333; 156 | } 157 | 158 | .bash .hljs-title, 159 | .coffeescript .hljs-title, 160 | .cpp .hljs-title, 161 | .c .hljs-title, 162 | .cs .hljs-title, 163 | .css .hljs-id, 164 | .css .hljs-class, 165 | .css .hljs-pseudo, 166 | .ini .hljs-title, 167 | .haskell .hljs-title, 168 | .haskell .hljs-pragma, 169 | .java .hljs-title, 170 | .javascript .hljs-title, 171 | .makefile .hljs-title, 172 | .objectivec .hljs-title, 173 | .perl .hljs-sub, 174 | .php .hljs-title, 175 | .python .hljs-decorator, 176 | .python .hljs-title, 177 | .ruby .hljs-parent, 178 | .ruby .hljs-title, 179 | .rust .hljs-title, 180 | .xml .hljs-attribute, 181 | .puppet .hljs-title, 182 | .less .hljs-id, 183 | .less .hljs-pseudo, 184 | .less .hljs-class, 185 | .scss .hljs-id, 186 | .scss .hljs-pseudo, 187 | .scss .hljs-class, 188 | .stylus .hljs-class, 189 | .stylus .hljs-id, 190 | .stylus .hljs-pseudo, 191 | .stylus .hljs-title, 192 | .swift .hljs-title, 193 | .diff .hljs-chunk { 194 | color: #795da3; 195 | } 196 | 197 | .coffeescript .hljs-reserved, 198 | .coffeescript .hljs-attribute { 199 | color: #1d3e81; 200 | } 201 | 202 | .diff .hljs-chunk { 203 | font-weight: bold; 204 | } 205 | 206 | .diff .hljs-addition { 207 | color: #55a532; 208 | background-color: #eaffea; 209 | } 210 | 211 | .diff .hljs-deletion { 212 | color: #bd2c00; 213 | background-color: #ffecec; 214 | } 215 | 216 | .markdown .hljs-link_url { 217 | text-decoration: underline; 218 | } 219 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/github.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | github.com style (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | color: #333; 12 | background: #f8f8f8; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-comment, 17 | .diff .hljs-header { 18 | color: #998; 19 | font-style: italic; 20 | } 21 | 22 | .hljs-keyword, 23 | .css .rule .hljs-keyword, 24 | .hljs-winutils, 25 | .nginx .hljs-title, 26 | .hljs-subst, 27 | .hljs-request, 28 | .hljs-status { 29 | color: #333; 30 | font-weight: bold; 31 | } 32 | 33 | .hljs-number, 34 | .hljs-hexcolor, 35 | .ruby .hljs-constant { 36 | color: #008080; 37 | } 38 | 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-doctag, 42 | .tex .hljs-formula { 43 | color: #d14; 44 | } 45 | 46 | .hljs-title, 47 | .hljs-id, 48 | .scss .hljs-preprocessor { 49 | color: #900; 50 | font-weight: bold; 51 | } 52 | 53 | .hljs-list .hljs-keyword, 54 | .hljs-subst { 55 | font-weight: normal; 56 | } 57 | 58 | .hljs-class .hljs-title, 59 | .hljs-type, 60 | .vhdl .hljs-literal, 61 | .tex .hljs-command { 62 | color: #458; 63 | font-weight: bold; 64 | } 65 | 66 | .hljs-tag, 67 | .hljs-tag .hljs-title, 68 | .hljs-rule .hljs-property, 69 | .django .hljs-tag .hljs-keyword { 70 | color: #000080; 71 | font-weight: normal; 72 | } 73 | 74 | .hljs-attribute, 75 | .hljs-variable, 76 | .lisp .hljs-body, 77 | .hljs-name { 78 | color: #008080; 79 | } 80 | 81 | .hljs-regexp { 82 | color: #009926; 83 | } 84 | 85 | .hljs-symbol, 86 | .ruby .hljs-symbol .hljs-string, 87 | .lisp .hljs-keyword, 88 | .clojure .hljs-keyword, 89 | .scheme .hljs-keyword, 90 | .tex .hljs-special, 91 | .hljs-prompt { 92 | color: #990073; 93 | } 94 | 95 | .hljs-built_in { 96 | color: #0086b3; 97 | } 98 | 99 | .hljs-preprocessor, 100 | .hljs-pragma, 101 | .hljs-pi, 102 | .hljs-doctype, 103 | .hljs-shebang, 104 | .hljs-cdata { 105 | color: #999; 106 | font-weight: bold; 107 | } 108 | 109 | .hljs-deletion { 110 | background: #fdd; 111 | } 112 | 113 | .hljs-addition { 114 | background: #dfd; 115 | } 116 | 117 | .diff .hljs-change { 118 | background: #0086b3; 119 | } 120 | 121 | .hljs-chunk { 122 | color: #aaa; 123 | } 124 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/googlecode.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Google Code style (c) Aahan Krish 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: white; 12 | color: black; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-comment { 17 | color: #800; 18 | } 19 | 20 | .hljs-keyword, 21 | .method, 22 | .hljs-list .hljs-keyword, 23 | .nginx .hljs-title, 24 | .hljs-tag .hljs-title, 25 | .setting .hljs-value, 26 | .hljs-winutils, 27 | .tex .hljs-command, 28 | .http .hljs-title, 29 | .hljs-request, 30 | .hljs-status { 31 | color: #008; 32 | } 33 | 34 | .hljs-envvar, 35 | .tex .hljs-special { 36 | color: #660; 37 | } 38 | 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-cdata, 42 | .hljs-filter .hljs-argument, 43 | .hljs-attr_selector, 44 | .apache .hljs-cbracket, 45 | .hljs-date, 46 | .hljs-regexp, 47 | .coffeescript .hljs-attribute { 48 | color: #080; 49 | } 50 | 51 | .hljs-sub .hljs-identifier, 52 | .hljs-pi, 53 | .hljs-tag, 54 | .hljs-tag .hljs-keyword, 55 | .hljs-decorator, 56 | .ini .hljs-title, 57 | .hljs-shebang, 58 | .hljs-prompt, 59 | .hljs-hexcolor, 60 | .hljs-rule .hljs-value, 61 | .hljs-literal, 62 | .hljs-symbol, 63 | .ruby .hljs-symbol .hljs-string, 64 | .hljs-number, 65 | .css .hljs-function, 66 | .clojure .hljs-attribute { 67 | color: #066; 68 | } 69 | 70 | .hljs-class .hljs-title, 71 | .smalltalk .hljs-class, 72 | .hljs-doctag, 73 | .hljs-type, 74 | .hljs-typename, 75 | .hljs-tag .hljs-attribute, 76 | .hljs-doctype, 77 | .hljs-class .hljs-id, 78 | .hljs-built_in, 79 | .setting, 80 | .hljs-params, 81 | .hljs-variable, 82 | .hljs-name { 83 | color: #606; 84 | } 85 | 86 | .css .hljs-tag, 87 | .hljs-rule .hljs-property, 88 | .hljs-pseudo, 89 | .hljs-subst { 90 | color: #000; 91 | } 92 | 93 | .css .hljs-class, 94 | .css .hljs-id { 95 | color: #9b703f; 96 | } 97 | 98 | .hljs-value .hljs-important { 99 | color: #ff7700; 100 | font-weight: bold; 101 | } 102 | 103 | .hljs-rule .hljs-keyword { 104 | color: #c5af75; 105 | } 106 | 107 | .hljs-annotation, 108 | .apache .hljs-sqbracket, 109 | .nginx .hljs-built_in { 110 | color: #9b859d; 111 | } 112 | 113 | .hljs-preprocessor, 114 | .hljs-preprocessor *, 115 | .hljs-pragma { 116 | color: #444; 117 | } 118 | 119 | .tex .hljs-formula { 120 | background-color: #eee; 121 | font-style: italic; 122 | } 123 | 124 | .diff .hljs-header, 125 | .hljs-chunk { 126 | color: #808080; 127 | font-weight: bold; 128 | } 129 | 130 | .diff .hljs-change { 131 | background-color: #bccff9; 132 | } 133 | 134 | .hljs-addition { 135 | background-color: #baeeba; 136 | } 137 | 138 | .hljs-deletion { 139 | background-color: #ffc8bd; 140 | } 141 | 142 | .hljs-comment .hljs-doctag { 143 | font-weight: bold; 144 | } 145 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/grayscale.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | grayscale style (c) MY Sun 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | color: #333; 12 | background: #fff; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-comment, 17 | .diff .hljs-header { 18 | color: #777; 19 | font-style: italic; 20 | } 21 | 22 | .hljs-keyword, 23 | .css .rule .hljs-keyword, 24 | .hljs-winutils, 25 | .nginx .hljs-title, 26 | .hljs-subst, 27 | .hljs-request, 28 | .hljs-status { 29 | color: #333; 30 | font-weight: bold; 31 | } 32 | 33 | .hljs-number, 34 | .hljs-hexcolor, 35 | .ruby .hljs-constant { 36 | color: #777; 37 | } 38 | 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-doctag, 42 | .tex .hljs-formula { 43 | color: #333; 44 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat; 45 | } 46 | 47 | .hljs-title, 48 | .hljs-id, 49 | .scss .hljs-preprocessor { 50 | color: #000; 51 | font-weight: bold; 52 | } 53 | 54 | .hljs-list .hljs-keyword, 55 | .hljs-subst { 56 | font-weight: normal; 57 | } 58 | 59 | .hljs-class .hljs-title, 60 | .hljs-type, 61 | .vhdl .hljs-literal, 62 | .tex .hljs-command { 63 | color: #333; 64 | font-weight: bold; 65 | } 66 | 67 | .hljs-tag, 68 | .hljs-tag .hljs-title, 69 | .hljs-rule .hljs-property, 70 | .django .hljs-tag .hljs-keyword { 71 | color: #333; 72 | } 73 | 74 | .hljs-attribute, 75 | .hljs-variable, 76 | .lisp .hljs-body, 77 | .hljs-name { 78 | color: #000; 79 | } 80 | 81 | .hljs-regexp { 82 | color: #333; 83 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat; 84 | } 85 | 86 | .hljs-symbol, 87 | .ruby .hljs-symbol .hljs-string, 88 | .lisp .hljs-keyword, 89 | .clojure .hljs-keyword, 90 | .scheme .hljs-keyword, 91 | .tex .hljs-special, 92 | .hljs-prompt { 93 | color: #000; 94 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat; 95 | } 96 | 97 | .hljs-built_in { 98 | color: #000; 99 | text-decoration: underline; 100 | } 101 | 102 | .hljs-preprocessor, 103 | .hljs-pragma, 104 | .hljs-pi, 105 | .hljs-doctype, 106 | .hljs-shebang, 107 | .hljs-cdata { 108 | color: #999; 109 | font-weight: bold; 110 | } 111 | 112 | .hljs-deletion { 113 | color: #fff; 114 | background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat; 115 | } 116 | 117 | .hljs-addition { 118 | color: #000; 119 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat; 120 | } 121 | 122 | .diff .hljs-change { 123 | background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAHUlEQVQIW2NkgILdu3f/ZwSxQQxXV1dGRhgDJAgAzGcLNGkoJrsAAAAASUVORK5CYII=) repeat; 124 | } 125 | 126 | .hljs-chunk { 127 | color: #aaa; 128 | } -------------------------------------------------------------------------------- /qlplayground/highlight/styles/hopscotch.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Hopscotch 3 | * by Jan T. Sott 4 | * https://github.com/idleberg/Hopscotch 5 | * 6 | * This work is licensed under the Creative Commons CC0 1.0 Universal License 7 | */ 8 | 9 | /* Comment */ 10 | .hljs-comment, 11 | .hljs-title { 12 | color: #989498; 13 | } 14 | 15 | /* Red */ 16 | .hljs-variable, 17 | .hljs-attribute, 18 | .hljs-tag, 19 | .hljs-regexp, 20 | .ruby .hljs-constant, 21 | .xml .hljs-tag .hljs-title, 22 | .xml .hljs-pi, 23 | .xml .hljs-doctype, 24 | .html .hljs-doctype, 25 | .css .hljs-id, 26 | .css .hljs-class, 27 | .css .hljs-pseudo { 28 | color: #dd464c; 29 | } 30 | 31 | /* Orange */ 32 | .hljs-number, 33 | .hljs-preprocessor, 34 | .hljs-built_in, 35 | .hljs-literal, 36 | .hljs-params, 37 | .hljs-constant { 38 | color: #fd8b19; 39 | } 40 | 41 | /* Yellow */ 42 | .ruby .hljs-class .hljs-title, 43 | .css .hljs-rules .hljs-attribute { 44 | color: #fdcc59; 45 | } 46 | 47 | /* Green */ 48 | .hljs-string, 49 | .hljs-value, 50 | .hljs-inheritance, 51 | .hljs-header, 52 | .ruby .hljs-symbol, 53 | .xml .hljs-cdata { 54 | color: #8fc13e; 55 | } 56 | 57 | /* Aqua */ 58 | .css .hljs-hexcolor { 59 | color: #149b93; 60 | } 61 | 62 | /* Blue */ 63 | .hljs-function, 64 | .python .hljs-decorator, 65 | .python .hljs-title, 66 | .ruby .hljs-function .hljs-title, 67 | .ruby .hljs-title .hljs-keyword, 68 | .perl .hljs-sub, 69 | .javascript .hljs-title, 70 | .coffeescript .hljs-title { 71 | color: #1290bf; 72 | } 73 | 74 | /* Purple */ 75 | .hljs-keyword, 76 | .javascript .hljs-function { 77 | color: #c85e7c; 78 | } 79 | 80 | .hljs { 81 | display: block; 82 | background: #322931; 83 | color: #b9b5b8; 84 | padding: 0.5em; 85 | } 86 | 87 | .coffeescript .javascript, 88 | .javascript .xml, 89 | .tex .hljs-formula, 90 | .xml .javascript, 91 | .xml .vbscript, 92 | .xml .css, 93 | .xml .hljs-cdata { 94 | opacity: 0.5; 95 | } 96 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/hybrid.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid) 4 | 5 | */ 6 | 7 | /*background color*/ 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #1d1f21; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | /*selection color*/ 17 | .hljs::selection, 18 | .hljs span::selection { 19 | background: #373b41; 20 | } 21 | 22 | .hljs::-moz-selection, 23 | .hljs span::-moz-selection { 24 | background: #373b41; 25 | } 26 | 27 | /*foreground color*/ 28 | .hljs, 29 | .hljs-setting .hljs-value, 30 | .hljs-expression .hljs-variable, 31 | .hljs-expression .hljs-begin-block, 32 | .hljs-expression .hljs-end-block, 33 | .hljs-class .hljs-params, 34 | .hljs-function .hljs-params, 35 | .hljs-at_rule .hljs-preprocessor { 36 | color: #c5c8c6; 37 | } 38 | 39 | /*color: fg_yellow*/ 40 | .hljs-title, 41 | .hljs-function .hljs-title, 42 | .hljs-keyword .hljs-common, 43 | .hljs-class .hljs-title, 44 | .hljs-decorator, 45 | .hljs-tag .hljs-title, 46 | .hljs-header, 47 | .hljs-sub, 48 | .hljs-function { 49 | color: #f0c674; 50 | } 51 | 52 | /*color: fg_comment*/ 53 | .hljs-comment, 54 | .hljs-output .hljs-value, 55 | .hljs-pi, 56 | .hljs-shebang, 57 | .hljs-doctype { 58 | color: #707880; 59 | } 60 | 61 | /*color: fg_red*/ 62 | .hljs-number, 63 | .hljs-symbol, 64 | .hljs-literal, 65 | .hljs-deletion, 66 | .hljs-link_url, 67 | .hljs-symbol .hljs-string, 68 | .hljs-argument, 69 | .hljs-hexcolor, 70 | .hljs-input .hljs-prompt, 71 | .hljs-char { 72 | color: #cc6666 73 | } 74 | 75 | /*color: fg_green*/ 76 | .hljs-string, 77 | .hljs-special, 78 | .hljs-doctag, 79 | .hljs-addition, 80 | .hljs-important, 81 | .hljs-tag .hljs-value, 82 | .hljs-at.rule .hljs-keyword, 83 | .hljs-regexp, 84 | .hljs-attr_selector { 85 | color: #b5bd68; 86 | } 87 | 88 | /*color: fg_purple*/ 89 | .hljs-variable, 90 | .hljs-property, 91 | .hljs-envar, 92 | .hljs-code, 93 | .hljs-expression, 94 | .hljs-localvars, 95 | .hljs-id, 96 | .hljs-variable .hljs-filter, 97 | .hljs-variable .hljs-filter .hljs-keyword, 98 | .hljs-template_tag .hljs-filter .hljs-keyword, 99 | .hljs-name { 100 | color: #b294bb; 101 | } 102 | 103 | /*color: fg_blue*/ 104 | .hljs-statement, 105 | .hljs-label, 106 | .hljs-keyword, 107 | .hljs-xmlDocTag, 108 | .hljs-function .hljs-keyword, 109 | .hljs-chunk, 110 | .hljs-cdata, 111 | .hljs-link_label, 112 | .hljs-bullet, 113 | .hljs-class .hljs-keyword, 114 | .hljs-smartquote, 115 | .hljs-method, 116 | .hljs-list .hljs-title, 117 | .hljs-tag { 118 | color: #81a2be; 119 | } 120 | 121 | /*color: fg_aqua*/ 122 | .hljs-pseudo, 123 | .hljs-exception, 124 | .hljs-annotation, 125 | .hljs-subst, 126 | .hljs-change, 127 | .hljs-cbracket, 128 | .hljs-operator, 129 | .hljs-horizontal_rule, 130 | .hljs-preprocessor .hljs-keyword, 131 | .hljs-typedef, 132 | .hljs-template_tag, 133 | .hljs-variable, 134 | .hljs-variable .hljs-filter .hljs-argument, 135 | .hljs-at_rule, 136 | .hljs-at_rule .hljs-string, 137 | .hljs-at_rule .hljs-keyword { 138 | color: #8abeb7; 139 | } 140 | 141 | /*color: fg_orange*/ 142 | .hljs-type, 143 | .hljs-typename, 144 | .hljs-inheritance .hljs-parent, 145 | .hljs-constant, 146 | .hljs-built_in, 147 | .hljs-setting, 148 | .hljs-structure, 149 | .hljs-link_reference, 150 | .hljs-attribute, 151 | .hljs-blockquote, 152 | .hljs-quoted, 153 | .hljs-class, 154 | .hljs-header { 155 | color: #de935f; 156 | } 157 | 158 | .hljs-emphasis { 159 | font-style: italic; 160 | } 161 | 162 | .hljs-strong { 163 | font-weight: bold; 164 | } 165 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/idea.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Intellij Idea-like styling (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | color: #000; 12 | background: #fff; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-subst, 17 | .hljs-title, 18 | .json .hljs-value { 19 | font-weight: normal; 20 | color: #000; 21 | } 22 | 23 | .hljs-comment, 24 | .diff .hljs-header { 25 | color: #808080; 26 | font-style: italic; 27 | } 28 | 29 | .hljs-annotation, 30 | .hljs-decorator, 31 | .hljs-preprocessor, 32 | .hljs-pragma, 33 | .hljs-doctype, 34 | .hljs-pi, 35 | .hljs-chunk, 36 | .hljs-shebang, 37 | .apache .hljs-cbracket, 38 | .hljs-prompt, 39 | .http .hljs-title { 40 | color: #808000; 41 | } 42 | 43 | .hljs-tag, 44 | .hljs-pi { 45 | background: #efefef; 46 | } 47 | 48 | .hljs-tag .hljs-title, 49 | .hljs-id, 50 | .hljs-attr_selector, 51 | .hljs-pseudo, 52 | .hljs-literal, 53 | .hljs-keyword, 54 | .hljs-hexcolor, 55 | .css .hljs-function, 56 | .ini .hljs-title, 57 | .css .hljs-class, 58 | .hljs-list .hljs-keyword, 59 | .nginx .hljs-title, 60 | .tex .hljs-command, 61 | .hljs-request, 62 | .hljs-status { 63 | font-weight: bold; 64 | color: #000080; 65 | } 66 | 67 | .hljs-attribute, 68 | .hljs-rule .hljs-keyword, 69 | .hljs-number, 70 | .hljs-date, 71 | .hljs-regexp, 72 | .tex .hljs-special { 73 | font-weight: bold; 74 | color: #0000ff; 75 | } 76 | 77 | .hljs-number, 78 | .hljs-regexp { 79 | font-weight: normal; 80 | } 81 | 82 | .hljs-string, 83 | .hljs-value, 84 | .hljs-filter .hljs-argument, 85 | .css .hljs-function .hljs-params, 86 | .apache .hljs-tag { 87 | color: #008000; 88 | font-weight: bold; 89 | } 90 | 91 | .hljs-symbol, 92 | .ruby .hljs-symbol .hljs-string, 93 | .hljs-char, 94 | .tex .hljs-formula { 95 | color: #000; 96 | background: #d0eded; 97 | font-style: italic; 98 | } 99 | 100 | .hljs-doctag { 101 | text-decoration: underline; 102 | } 103 | 104 | .hljs-variable, 105 | .hljs-envvar, 106 | .apache .hljs-sqbracket, 107 | .nginx .hljs-built_in, 108 | .hljs-name { 109 | color: #660e7a; 110 | } 111 | 112 | .hljs-addition { 113 | background: #baeeba; 114 | } 115 | 116 | .hljs-deletion { 117 | background: #ffc8bd; 118 | } 119 | 120 | .diff .hljs-change { 121 | background: #bccff9; 122 | } 123 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/ir_black.css: -------------------------------------------------------------------------------- 1 | /* 2 | IR_Black style (c) Vasily Mikhailitchenko 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | background: #000; 10 | color: #f8f8f8; 11 | -webkit-text-size-adjust: none; 12 | } 13 | 14 | .hljs-shebang, 15 | .hljs-comment { 16 | color: #7c7c7c; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-tag, 21 | .tex .hljs-command, 22 | .hljs-request, 23 | .hljs-status, 24 | .clojure .hljs-attribute { 25 | color: #96cbfe; 26 | } 27 | 28 | .hljs-sub .hljs-keyword, 29 | .method, 30 | .hljs-list .hljs-title, 31 | .nginx .hljs-title { 32 | color: #ffffb6; 33 | } 34 | 35 | .hljs-string, 36 | .hljs-tag .hljs-value, 37 | .hljs-cdata, 38 | .hljs-filter .hljs-argument, 39 | .hljs-attr_selector, 40 | .apache .hljs-cbracket, 41 | .hljs-date, 42 | .coffeescript .hljs-attribute { 43 | color: #a8ff60; 44 | } 45 | 46 | .hljs-subst { 47 | color: #daefa3; 48 | } 49 | 50 | .hljs-regexp { 51 | color: #e9c062; 52 | } 53 | 54 | .hljs-title, 55 | .hljs-sub .hljs-identifier, 56 | .hljs-pi, 57 | .hljs-decorator, 58 | .tex .hljs-special, 59 | .hljs-type, 60 | .hljs-constant, 61 | .smalltalk .hljs-class, 62 | .hljs-doctag, 63 | .nginx .hljs-built_in { 64 | color: #ffffb6; 65 | } 66 | 67 | .hljs-symbol, 68 | .ruby .hljs-symbol .hljs-string, 69 | .hljs-number, 70 | .hljs-variable, 71 | .vbscript, 72 | .hljs-literal, 73 | .hljs-name { 74 | color: #c6c5fe; 75 | } 76 | 77 | .css .hljs-tag { 78 | color: #96cbfe; 79 | } 80 | 81 | .css .hljs-rule .hljs-property, 82 | .css .hljs-id { 83 | color: #ffffb6; 84 | } 85 | 86 | .css .hljs-class { 87 | color: #fff; 88 | } 89 | 90 | .hljs-hexcolor { 91 | color: #c6c5fe; 92 | } 93 | 94 | .hljs-number { 95 | color:#ff73fd; 96 | } 97 | 98 | .coffeescript .javascript, 99 | .javascript .xml, 100 | .tex .hljs-formula, 101 | .xml .javascript, 102 | .xml .vbscript, 103 | .xml .css, 104 | .xml .hljs-cdata { 105 | opacity: 0.7; 106 | } 107 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/kimbie.dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Kimbie (dark) 3 | Author: Jan T. Sott 4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License 5 | URL: https://github.com/idleberg/Kimbie-highlight.js 6 | */ 7 | 8 | /* Kimbie Comment */ 9 | .hljs-comment, 10 | .hljs-title { 11 | color: #d6baad; 12 | } 13 | 14 | /* Kimbie Red */ 15 | .hljs-variable, 16 | .hljs-attribute, 17 | .hljs-tag, 18 | .hljs-regexp, 19 | .hljs-name, 20 | .ruby .hljs-constant, 21 | .xml .hljs-tag .hljs-title, 22 | .xml .hljs-pi, 23 | .xml .hljs-doctype, 24 | .html .hljs-doctype, 25 | .css .hljs-id, 26 | .css .hljs-class, 27 | .css .hljs-pseudo { 28 | color: #dc3958; 29 | } 30 | 31 | /* Kimbie Orange */ 32 | .hljs-number, 33 | .hljs-preprocessor, 34 | .hljs-built_in, 35 | .hljs-literal, 36 | .hljs-params, 37 | .hljs-constant { 38 | color: #f79a32; 39 | } 40 | 41 | /* Kimbie Yellow */ 42 | .ruby .hljs-class .hljs-title, 43 | .css .hljs-rule .hljs-attribute { 44 | color: #f06431; 45 | } 46 | 47 | /* Kimbie Green */ 48 | .hljs-string, 49 | .hljs-value, 50 | .hljs-inheritance, 51 | .hljs-header, 52 | .ruby .hljs-symbol, 53 | .xml .hljs-cdata { 54 | color: #889b4a; 55 | } 56 | 57 | /* Kimbie Aqua */ 58 | .css .hljs-hexcolor { 59 | color: #088649; 60 | } 61 | 62 | /* Kimbie Blue */ 63 | .hljs-function, 64 | .python .hljs-decorator, 65 | .python .hljs-title, 66 | .ruby .hljs-function .hljs-title, 67 | .ruby .hljs-title .hljs-keyword, 68 | .perl .hljs-sub, 69 | .javascript .hljs-title, 70 | .coffeescript .hljs-title { 71 | color: #8ab1b0; 72 | } 73 | 74 | /* Kimbie Purple */ 75 | .hljs-keyword, 76 | .javascript .hljs-function { 77 | color: #98676a; 78 | } 79 | 80 | .hljs { 81 | display: block; 82 | overflow-x: auto; 83 | background: #221a0f; 84 | color: #d3af86; 85 | padding: 0.5em; 86 | -webkit-text-size-adjust: none; 87 | } 88 | 89 | .coffeescript .javascript, 90 | .javascript .xml, 91 | .tex .hljs-formula, 92 | .xml .javascript, 93 | .xml .vbscript, 94 | .xml .css, 95 | .xml .hljs-cdata { 96 | opacity: 0.5; 97 | } 98 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/kimbie.light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Kimbie (light) 3 | Author: Jan T. Sott 4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License 5 | URL: https://github.com/idleberg/Kimbie-highlight.js 6 | */ 7 | 8 | /* Kimbie Comment */ 9 | .hljs-comment, 10 | .hljs-title { 11 | color: #a57a4c; 12 | } 13 | 14 | /* Kimbie Red */ 15 | .hljs-variable, 16 | .hljs-attribute, 17 | .hljs-tag, 18 | .hljs-regexp, 19 | .hljs-name, 20 | .ruby .hljs-constant, 21 | .xml .hljs-tag .hljs-title, 22 | .xml .hljs-pi, 23 | .xml .hljs-doctype, 24 | .html .hljs-doctype, 25 | .css .hljs-id, 26 | .css .hljs-class, 27 | .css .hljs-pseudo { 28 | color: #dc3958; 29 | } 30 | 31 | /* Kimbie Orange */ 32 | .hljs-number, 33 | .hljs-preprocessor, 34 | .hljs-built_in, 35 | .hljs-literal, 36 | .hljs-params, 37 | .hljs-constant { 38 | color: #f79a32; 39 | } 40 | 41 | /* Kimbie Yellow */ 42 | .ruby .hljs-class .hljs-title, 43 | .css .hljs-rule .hljs-attribute { 44 | color: #f06431; 45 | } 46 | 47 | /* Kimbie Green */ 48 | .hljs-string, 49 | .hljs-value, 50 | .hljs-inheritance, 51 | .hljs-header, 52 | .ruby .hljs-symbol, 53 | .xml .hljs-cdata { 54 | color: #889b4a; 55 | } 56 | 57 | /* Kimbie Aqua */ 58 | .css .hljs-hexcolor { 59 | color: #088649; 60 | } 61 | 62 | /* Kimbie Blue */ 63 | .hljs-function, 64 | .python .hljs-decorator, 65 | .python .hljs-title, 66 | .ruby .hljs-function .hljs-title, 67 | .ruby .hljs-title .hljs-keyword, 68 | .perl .hljs-sub, 69 | .javascript .hljs-title, 70 | .coffeescript .hljs-title { 71 | color: #8ab1b0; 72 | } 73 | 74 | /* Kimbie Purple */ 75 | .hljs-keyword, 76 | .javascript .hljs-function { 77 | color: #98676a; 78 | } 79 | 80 | .hljs { 81 | display: block; 82 | overflow-x: auto; 83 | background: #fbebd4; 84 | color: #84613d; 85 | padding: 0.5em; 86 | -webkit-text-size-adjust: none; 87 | } 88 | 89 | .coffeescript .javascript, 90 | .javascript .xml, 91 | .tex .hljs-formula, 92 | .xml .javascript, 93 | .xml .vbscript, 94 | .xml .css, 95 | .xml .hljs-cdata { 96 | opacity: 0.5; 97 | } 98 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/magula.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Magula style for highligh.js 3 | Author: Ruslan Keba 4 | Website: http://rukeba.com/ 5 | Version: 1.0 6 | Date: 2009-01-03 7 | Music: Aphex Twin / Xtal 8 | */ 9 | 10 | .hljs { 11 | display: block; 12 | overflow-x: auto; 13 | padding: 0.5em; 14 | background-color: #f4f4f4; 15 | -webkit-text-size-adjust: none; 16 | } 17 | 18 | .hljs, 19 | .hljs-subst { 20 | color: black; 21 | } 22 | 23 | .hljs-string, 24 | .hljs-title, 25 | .hljs-parent, 26 | .hljs-tag .hljs-value, 27 | .hljs-rule .hljs-value, 28 | .hljs-preprocessor, 29 | .hljs-pragma, 30 | .ruby .hljs-symbol, 31 | .ruby .hljs-symbol .hljs-string, 32 | .hljs-template_tag, 33 | .django .hljs-variable, 34 | .smalltalk .hljs-class, 35 | .hljs-addition, 36 | .hljs-flow, 37 | .hljs-stream, 38 | .bash .hljs-variable, 39 | .apache .hljs-cbracket, 40 | .coffeescript .hljs-attribute { 41 | color: #050; 42 | } 43 | 44 | .hljs-comment, 45 | .hljs-annotation, 46 | .diff .hljs-header, 47 | .hljs-chunk { 48 | color: #777; 49 | } 50 | 51 | .hljs-number, 52 | .hljs-date, 53 | .hljs-regexp, 54 | .hljs-literal, 55 | .hljs-name, 56 | .smalltalk .hljs-symbol, 57 | .smalltalk .hljs-char, 58 | .hljs-change, 59 | .tex .hljs-special { 60 | color: #800; 61 | } 62 | 63 | .hljs-label, 64 | .ruby .hljs-string, 65 | .hljs-decorator, 66 | .hljs-filter .hljs-argument, 67 | .hljs-localvars, 68 | .hljs-array, 69 | .hljs-attr_selector, 70 | .hljs-pseudo, 71 | .hljs-pi, 72 | .hljs-doctype, 73 | .hljs-deletion, 74 | .hljs-envvar, 75 | .hljs-shebang, 76 | .apache .hljs-sqbracket, 77 | .nginx .hljs-built_in, 78 | .tex .hljs-formula, 79 | .hljs-prompt, 80 | .clojure .hljs-attribute { 81 | color: #00e; 82 | } 83 | 84 | .hljs-keyword, 85 | .hljs-id, 86 | .hljs-doctag, 87 | .hljs-title, 88 | .hljs-built_in, 89 | .smalltalk .hljs-class, 90 | .hljs-winutils, 91 | .bash .hljs-variable, 92 | .apache .hljs-tag, 93 | .xml .hljs-tag, 94 | .tex .hljs-command, 95 | .hljs-request, 96 | .hljs-status { 97 | font-weight: bold; 98 | color: navy; 99 | } 100 | 101 | .nginx .hljs-built_in { 102 | font-weight: normal; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | 115 | /* --- */ 116 | .apache .hljs-tag { 117 | font-weight: bold; 118 | color: blue; 119 | } 120 | 121 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/mono-blue.css: -------------------------------------------------------------------------------- 1 | /* 2 | Five-color theme from a single blue hue. 3 | */ 4 | .hljs { 5 | display: block; 6 | overflow-x: auto; 7 | padding: 0.5em; 8 | background: #eaeef3; 9 | -webkit-text-size-adjust: none; 10 | } 11 | 12 | .hljs, 13 | .hljs-list .hljs-built_in { 14 | color: #00193a; 15 | } 16 | 17 | .hljs-keyword, 18 | .hljs-title, 19 | .hljs-important, 20 | .hljs-request, 21 | .hljs-header, 22 | .hljs-doctag { 23 | font-weight: bold; 24 | } 25 | 26 | .hljs-comment, 27 | .hljs-chunk { 28 | color: #738191; 29 | } 30 | 31 | .hljs-string, 32 | .hljs-title, 33 | .hljs-parent, 34 | .hljs-built_in, 35 | .hljs-literal, 36 | .hljs-filename, 37 | .hljs-value, 38 | .hljs-addition, 39 | .hljs-tag, 40 | .hljs-argument, 41 | .hljs-link_label, 42 | .hljs-blockquote, 43 | .hljs-header, 44 | .hljs-name { 45 | color: #0048ab; 46 | } 47 | 48 | .hljs-decorator, 49 | .hljs-prompt, 50 | .hljs-subst, 51 | .hljs-symbol, 52 | .hljs-doctype, 53 | .hljs-regexp, 54 | .hljs-preprocessor, 55 | .hljs-pragma, 56 | .hljs-pi, 57 | .hljs-attribute, 58 | .hljs-attr_selector, 59 | .hljs-xmlDocTag, 60 | .hljs-deletion, 61 | .hljs-shebang, 62 | .hljs-string .hljs-variable, 63 | .hljs-link_url, 64 | .hljs-bullet, 65 | .hljs-sqbracket, 66 | .hljs-phony { 67 | color: #4c81c9; 68 | } 69 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/monokai.css: -------------------------------------------------------------------------------- 1 | /* 2 | Monokai style - ported by Luigi Maselli - http://grigio.org 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | background: #272822; 10 | -webkit-text-size-adjust: none; 11 | } 12 | 13 | .hljs-tag, 14 | .hljs-tag .hljs-title, 15 | .hljs-keyword, 16 | .hljs-literal, 17 | .hljs-strong, 18 | .hljs-change, 19 | .hljs-winutils, 20 | .hljs-flow, 21 | .nginx .hljs-title, 22 | .tex .hljs-special { 23 | color: #f92672; 24 | } 25 | 26 | .hljs { 27 | color: #ddd; 28 | } 29 | 30 | .hljs .hljs-constant, 31 | .asciidoc .hljs-code, 32 | .markdown .hljs-code { 33 | color: #66d9ef; 34 | } 35 | 36 | .hljs-code, 37 | .hljs-class .hljs-title, 38 | .hljs-header { 39 | color: white; 40 | } 41 | 42 | .hljs-link_label, 43 | .hljs-attribute, 44 | .hljs-symbol, 45 | .hljs-symbol .hljs-string, 46 | .hljs-value, 47 | .hljs-regexp { 48 | color: #bf79db; 49 | } 50 | 51 | .hljs-link_url, 52 | .hljs-tag .hljs-value, 53 | .hljs-string, 54 | .hljs-bullet, 55 | .hljs-subst, 56 | .hljs-title, 57 | .hljs-emphasis, 58 | .hljs-type, 59 | .hljs-preprocessor, 60 | .hljs-pragma, 61 | .ruby .hljs-class .hljs-parent, 62 | .hljs-built_in, 63 | .django .hljs-template_tag, 64 | .django .hljs-variable, 65 | .smalltalk .hljs-class, 66 | .django .hljs-filter .hljs-argument, 67 | .smalltalk .hljs-localvars, 68 | .smalltalk .hljs-array, 69 | .hljs-attr_selector, 70 | .hljs-pseudo, 71 | .hljs-addition, 72 | .hljs-stream, 73 | .hljs-envvar, 74 | .apache .hljs-tag, 75 | .apache .hljs-cbracket, 76 | .tex .hljs-command, 77 | .hljs-prompt, 78 | .hljs-name { 79 | color: #a6e22e; 80 | } 81 | 82 | .hljs-comment, 83 | .hljs-annotation, 84 | .smartquote, 85 | .hljs-blockquote, 86 | .hljs-horizontal_rule, 87 | .hljs-decorator, 88 | .hljs-pi, 89 | .hljs-doctype, 90 | .hljs-deletion, 91 | .hljs-shebang, 92 | .apache .hljs-sqbracket, 93 | .tex .hljs-formula { 94 | color: #75715e; 95 | } 96 | 97 | .hljs-keyword, 98 | .hljs-literal, 99 | .css .hljs-id, 100 | .hljs-doctag, 101 | .hljs-title, 102 | .hljs-header, 103 | .hljs-type, 104 | .vbscript .hljs-built_in, 105 | .rsl .hljs-built_in, 106 | .smalltalk .hljs-class, 107 | .diff .hljs-header, 108 | .hljs-chunk, 109 | .hljs-winutils, 110 | .bash .hljs-variable, 111 | .apache .hljs-tag, 112 | .tex .hljs-special, 113 | .hljs-request, 114 | .hljs-status { 115 | font-weight: bold; 116 | } 117 | 118 | .coffeescript .javascript, 119 | .javascript .xml, 120 | .tex .hljs-formula, 121 | .xml .javascript, 122 | .xml .vbscript, 123 | .xml .css, 124 | .xml .hljs-cdata { 125 | opacity: 0.5; 126 | } 127 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/monokai_sublime.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #23241f; 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs, 16 | .hljs-tag, 17 | .css .hljs-rule, 18 | .css .hljs-value, 19 | .aspectj .hljs-function, 20 | .css .hljs-function 21 | .hljs-preprocessor, 22 | .hljs-pragma { 23 | color: #f8f8f2; 24 | } 25 | 26 | .hljs-strongemphasis, 27 | .hljs-strong, 28 | .hljs-emphasis { 29 | color: #a8a8a2; 30 | } 31 | 32 | .hljs-bullet, 33 | .hljs-blockquote, 34 | .hljs-horizontal_rule, 35 | .hljs-number, 36 | .hljs-regexp, 37 | .alias .hljs-keyword, 38 | .hljs-literal, 39 | .hljs-hexcolor { 40 | color: #ae81ff; 41 | } 42 | 43 | .hljs-tag .hljs-value, 44 | .hljs-code, 45 | .hljs-title, 46 | .css .hljs-class, 47 | .hljs-class .hljs-title:last-child { 48 | color: #a6e22e; 49 | } 50 | 51 | .hljs-link_url { 52 | font-size: 80%; 53 | } 54 | 55 | .hljs-strong, 56 | .hljs-strongemphasis { 57 | font-weight: bold; 58 | } 59 | 60 | .hljs-emphasis, 61 | .hljs-strongemphasis, 62 | .hljs-class .hljs-title:last-child, 63 | .hljs-typename { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-keyword, 68 | .ruby .hljs-class .hljs-keyword:first-child, 69 | .ruby .hljs-function .hljs-keyword, 70 | .hljs-function, 71 | .hljs-change, 72 | .hljs-winutils, 73 | .hljs-flow, 74 | .nginx .hljs-title, 75 | .tex .hljs-special, 76 | .hljs-header, 77 | .hljs-attribute, 78 | .hljs-symbol, 79 | .hljs-symbol .hljs-string, 80 | .hljs-tag .hljs-title, 81 | .hljs-value, 82 | .alias .hljs-keyword:first-child, 83 | .css .hljs-tag, 84 | .css .unit, 85 | .css .hljs-important { 86 | color: #f92672; 87 | } 88 | 89 | .hljs-function .hljs-keyword, 90 | .hljs-class .hljs-keyword:first-child, 91 | .hljs-aspect .hljs-keyword:first-child, 92 | .hljs-constant, 93 | .hljs-typename, 94 | .hljs-name, 95 | .css .hljs-attribute { 96 | color: #66d9ef; 97 | } 98 | 99 | .hljs-variable, 100 | .hljs-params, 101 | .hljs-class .hljs-title, 102 | .hljs-aspect .hljs-title { 103 | color: #f8f8f2; 104 | } 105 | 106 | .hljs-string, 107 | .css .hljs-id, 108 | .hljs-subst, 109 | .hljs-type, 110 | .ruby .hljs-class .hljs-parent, 111 | .hljs-built_in, 112 | .django .hljs-template_tag, 113 | .django .hljs-variable, 114 | .smalltalk .hljs-class, 115 | .django .hljs-filter .hljs-argument, 116 | .smalltalk .hljs-localvars, 117 | .smalltalk .hljs-array, 118 | .hljs-attr_selector, 119 | .hljs-pseudo, 120 | .hljs-addition, 121 | .hljs-stream, 122 | .hljs-envvar, 123 | .apache .hljs-tag, 124 | .apache .hljs-cbracket, 125 | .tex .hljs-command, 126 | .hljs-prompt, 127 | .hljs-link_label, 128 | .hljs-link_url { 129 | color: #e6db74; 130 | } 131 | 132 | .hljs-comment, 133 | .hljs-annotation, 134 | .hljs-decorator, 135 | .hljs-pi, 136 | .hljs-doctype, 137 | .hljs-deletion, 138 | .hljs-shebang, 139 | .apache .hljs-sqbracket, 140 | .tex .hljs-formula { 141 | color: #75715e; 142 | } 143 | 144 | .coffeescript .javascript, 145 | .javascript .xml, 146 | .tex .hljs-formula, 147 | .xml .javascript, 148 | .xml .vbscript, 149 | .xml .css, 150 | .xml .hljs-cdata, 151 | .xml .php, 152 | .php .xml { 153 | opacity: 0.5; 154 | } 155 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/obsidian.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Obsidian style 3 | * ported by Alexander Marenin (http://github.com/ioncreature) 4 | */ 5 | 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: #282b2e; 11 | -webkit-text-size-adjust: none; 12 | } 13 | 14 | .hljs-keyword, 15 | .hljs-literal, 16 | .hljs-change, 17 | .hljs-winutils, 18 | .hljs-flow, 19 | .nginx .hljs-title, 20 | .css .hljs-id, 21 | .tex .hljs-special { 22 | color: #93c763; 23 | } 24 | 25 | .hljs-number { 26 | color: #ffcd22; 27 | } 28 | 29 | .hljs { 30 | color: #e0e2e4; 31 | } 32 | 33 | .css .hljs-tag, 34 | .css .hljs-pseudo { 35 | color: #d0d2b5; 36 | } 37 | 38 | .hljs-attribute, 39 | .hljs .hljs-constant { 40 | color: #668bb0; 41 | } 42 | 43 | .xml .hljs-attribute { 44 | color: #b3b689; 45 | } 46 | 47 | .xml .hljs-tag .hljs-value { 48 | color: #e8e2b7; 49 | } 50 | 51 | .hljs-code, 52 | .hljs-class .hljs-title, 53 | .hljs-header { 54 | color: white; 55 | } 56 | 57 | .hljs-class, 58 | .hljs-hexcolor { 59 | color: #93c763; 60 | } 61 | 62 | .hljs-regexp { 63 | color: #d39745; 64 | } 65 | 66 | .hljs-at_rule, 67 | .hljs-at_rule .hljs-keyword { 68 | color: #a082bd; 69 | } 70 | 71 | .hljs-doctype { 72 | color: #557182; 73 | } 74 | 75 | .hljs-link_url, 76 | .hljs-tag, 77 | .hljs-tag .hljs-title, 78 | .hljs-bullet, 79 | .hljs-subst, 80 | .hljs-emphasis, 81 | .hljs-type, 82 | .hljs-preprocessor, 83 | .hljs-pragma, 84 | .ruby .hljs-class .hljs-parent, 85 | .hljs-built_in, 86 | .django .hljs-template_tag, 87 | .django .hljs-variable, 88 | .smalltalk .hljs-class, 89 | .django .hljs-filter .hljs-argument, 90 | .smalltalk .hljs-localvars, 91 | .smalltalk .hljs-array, 92 | .hljs-attr_selector, 93 | .hljs-pseudo, 94 | .hljs-addition, 95 | .hljs-stream, 96 | .hljs-envvar, 97 | .apache .hljs-tag, 98 | .apache .hljs-cbracket, 99 | .tex .hljs-command, 100 | .hljs-prompt, 101 | .hljs-name { 102 | color: #8cbbad; 103 | } 104 | 105 | .hljs-string { 106 | color: #ec7600; 107 | } 108 | 109 | .hljs-comment, 110 | .hljs-annotation, 111 | .hljs-blockquote, 112 | .hljs-horizontal_rule, 113 | .hljs-decorator, 114 | .hljs-pi, 115 | .hljs-deletion, 116 | .hljs-shebang, 117 | .apache .hljs-sqbracket, 118 | .tex .hljs-formula { 119 | color: #818e96; 120 | } 121 | 122 | .hljs-keyword, 123 | .hljs-literal, 124 | .css .hljs-id, 125 | .hljs-doctag, 126 | .hljs-title, 127 | .hljs-header, 128 | .hljs-type, 129 | .vbscript .hljs-built_in, 130 | .rsl .hljs-built_in, 131 | .smalltalk .hljs-class, 132 | .diff .hljs-header, 133 | .hljs-chunk, 134 | .hljs-winutils, 135 | .bash .hljs-variable, 136 | .apache .hljs-tag, 137 | .tex .hljs-special, 138 | .hljs-request, 139 | .hljs-at_rule .hljs-keyword, 140 | .hljs-status { 141 | font-weight: bold; 142 | } 143 | 144 | .coffeescript .javascript, 145 | .javascript .xml, 146 | .tex .hljs-formula, 147 | .xml .javascript, 148 | .xml .vbscript, 149 | .xml .css, 150 | .xml .hljs-cdata { 151 | opacity: 0.5; 152 | } 153 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/paraiso.dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Paraíso (dark) 3 | Created by Jan T. Sott (http://github.com/idleberg) 4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 5 | */ 6 | 7 | /* Paraíso Comment */ 8 | .hljs-comment, 9 | .hljs-title { 10 | color: #8d8687; 11 | } 12 | 13 | /* Paraíso Red */ 14 | .hljs-variable, 15 | .hljs-attribute, 16 | .hljs-tag, 17 | .hljs-regexp, 18 | .hljs-name, 19 | .ruby .hljs-constant, 20 | .xml .hljs-tag .hljs-title, 21 | .xml .hljs-pi, 22 | .xml .hljs-doctype, 23 | .html .hljs-doctype, 24 | .css .hljs-id, 25 | .css .hljs-class, 26 | .css .hljs-pseudo { 27 | color: #ef6155; 28 | } 29 | 30 | /* Paraíso Orange */ 31 | .hljs-number, 32 | .hljs-preprocessor, 33 | .hljs-built_in, 34 | .hljs-literal, 35 | .hljs-params, 36 | .hljs-constant { 37 | color: #f99b15; 38 | } 39 | 40 | /* Paraíso Yellow */ 41 | .ruby .hljs-class .hljs-title, 42 | .css .hljs-rule .hljs-attribute { 43 | color: #fec418; 44 | } 45 | 46 | /* Paraíso Green */ 47 | .hljs-string, 48 | .hljs-value, 49 | .hljs-inheritance, 50 | .hljs-header, 51 | .ruby .hljs-symbol, 52 | .xml .hljs-cdata { 53 | color: #48b685; 54 | } 55 | 56 | /* Paraíso Aqua */ 57 | .css .hljs-hexcolor { 58 | color: #5bc4bf; 59 | } 60 | 61 | /* Paraíso Blue */ 62 | .hljs-function, 63 | .python .hljs-decorator, 64 | .python .hljs-title, 65 | .ruby .hljs-function .hljs-title, 66 | .ruby .hljs-title .hljs-keyword, 67 | .perl .hljs-sub, 68 | .javascript .hljs-title, 69 | .coffeescript .hljs-title { 70 | color: #06b6ef; 71 | } 72 | 73 | /* Paraíso Purple */ 74 | .hljs-keyword, 75 | .javascript .hljs-function { 76 | color: #815ba4; 77 | } 78 | 79 | .hljs { 80 | display: block; 81 | overflow-x: auto; 82 | background: #2f1e2e; 83 | color: #a39e9b; 84 | padding: 0.5em; 85 | -webkit-text-size-adjust: none; 86 | } 87 | 88 | .coffeescript .javascript, 89 | .javascript .xml, 90 | .tex .hljs-formula, 91 | .xml .javascript, 92 | .xml .vbscript, 93 | .xml .css, 94 | .xml .hljs-cdata { 95 | opacity: 0.5; 96 | } 97 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/paraiso.light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Paraíso (light) 3 | Created by Jan T. Sott (http://github.com/idleberg) 4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 5 | */ 6 | 7 | /* Paraíso Comment */ 8 | .hljs-comment, 9 | .hljs-title { 10 | color: #776e71; 11 | } 12 | 13 | /* Paraíso Red */ 14 | .hljs-variable, 15 | .hljs-attribute, 16 | .hljs-tag, 17 | .hljs-regexp, 18 | .hljs-name, 19 | .ruby .hljs-constant, 20 | .xml .hljs-tag .hljs-title, 21 | .xml .hljs-pi, 22 | .xml .hljs-doctype, 23 | .html .hljs-doctype, 24 | .css .hljs-id, 25 | .css .hljs-class, 26 | .css .hljs-pseudo { 27 | color: #ef6155; 28 | } 29 | 30 | /* Paraíso Orange */ 31 | .hljs-number, 32 | .hljs-preprocessor, 33 | .hljs-built_in, 34 | .hljs-literal, 35 | .hljs-params, 36 | .hljs-constant { 37 | color: #f99b15; 38 | } 39 | 40 | /* Paraíso Yellow */ 41 | .ruby .hljs-class .hljs-title, 42 | .css .hljs-rule .hljs-attribute { 43 | color: #fec418; 44 | } 45 | 46 | /* Paraíso Green */ 47 | .hljs-string, 48 | .hljs-value, 49 | .hljs-inheritance, 50 | .hljs-header, 51 | .ruby .hljs-symbol, 52 | .xml .hljs-cdata { 53 | color: #48b685; 54 | } 55 | 56 | /* Paraíso Aqua */ 57 | .css .hljs-hexcolor { 58 | color: #5bc4bf; 59 | } 60 | 61 | /* Paraíso Blue */ 62 | .hljs-function, 63 | .python .hljs-decorator, 64 | .python .hljs-title, 65 | .ruby .hljs-function .hljs-title, 66 | .ruby .hljs-title .hljs-keyword, 67 | .perl .hljs-sub, 68 | .javascript .hljs-title, 69 | .coffeescript .hljs-title { 70 | color: #06b6ef; 71 | } 72 | 73 | /* Paraíso Purple */ 74 | .hljs-keyword, 75 | .javascript .hljs-function { 76 | color: #815ba4; 77 | } 78 | 79 | .hljs { 80 | display: block; 81 | overflow-x: auto; 82 | background: #e7e9db; 83 | color: #4f424c; 84 | padding: 0.5em; 85 | -webkit-text-size-adjust: none; 86 | } 87 | 88 | .coffeescript .javascript, 89 | .javascript .xml, 90 | .tex .hljs-formula, 91 | .xml .javascript, 92 | .xml .vbscript, 93 | .xml .css, 94 | .xml .hljs-cdata { 95 | opacity: 0.5; 96 | } 97 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/pojoaque.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Pojoaque Style by Jason Tate 4 | http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html 5 | Based on Solarized Style from http://ethanschoonover.com/solarized 6 | 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | color: #dccf8f; 14 | background: url(./pojoaque.jpg) repeat scroll left top #181914; 15 | -webkit-text-size-adjust: none; 16 | } 17 | 18 | .hljs-comment, 19 | .diff .hljs-header, 20 | .hljs-doctype, 21 | .lisp .hljs-string { 22 | color: #586e75; 23 | font-style: italic; 24 | } 25 | 26 | .hljs-keyword, 27 | .css .rule .hljs-keyword, 28 | .hljs-winutils, 29 | .javascript .hljs-title, 30 | .method, 31 | .hljs-addition, 32 | .css .hljs-tag, 33 | .hljs-list .hljs-keyword, 34 | .nginx .hljs-title { 35 | color: #b64926; 36 | } 37 | 38 | .hljs-number, 39 | .hljs-command, 40 | .hljs-string, 41 | .hljs-tag .hljs-value, 42 | .hljs-doctag, 43 | .tex .hljs-formula, 44 | .hljs-regexp, 45 | .hljs-hexcolor { 46 | color: #468966; 47 | } 48 | 49 | .hljs-title, 50 | .hljs-localvars, 51 | .hljs-function .hljs-title, 52 | .hljs-chunk, 53 | .hljs-decorator, 54 | .hljs-built_in, 55 | .hljs-identifier, 56 | .hljs-name, 57 | .hljs-id { 58 | color: #ffb03b; 59 | } 60 | 61 | .hljs-attribute, 62 | .hljs-variable, 63 | .lisp .hljs-body, 64 | .smalltalk .hljs-number, 65 | .hljs-constant, 66 | .hljs-class .hljs-title, 67 | .hljs-parent, 68 | .hljs-type { 69 | color: #b58900; 70 | } 71 | 72 | .css .hljs-attribute { 73 | color: #b89859; 74 | } 75 | 76 | .css .hljs-number, 77 | .css .hljs-hexcolor { 78 | color: #dccf8f; 79 | } 80 | 81 | .css .hljs-class { 82 | color: #d3a60c; 83 | } 84 | 85 | .hljs-preprocessor, 86 | .hljs-pragma, 87 | .hljs-pi, 88 | .hljs-shebang, 89 | .hljs-symbol, 90 | .hljs-symbol .hljs-string, 91 | .diff .hljs-change, 92 | .hljs-special, 93 | .hljs-attr_selector, 94 | .hljs-important, 95 | .hljs-subst, 96 | .hljs-cdata { 97 | color: #cb4b16; 98 | } 99 | 100 | .hljs-deletion { 101 | color: #dc322f; 102 | } 103 | 104 | .tex .hljs-formula { 105 | background: #073642; 106 | } 107 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/pojoaque.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/norio-nomura/qlplayground/cee9b0505771b629260d222f1ab95362651429d0/qlplayground/highlight/styles/pojoaque.jpg -------------------------------------------------------------------------------- /qlplayground/highlight/styles/railscasts.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Railscasts-like style (c) Visoft, Inc. (Damien White) 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #232323; 12 | color: #e6e1dc; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-comment, 17 | .hljs-shebang { 18 | color: #bc9458; 19 | font-style: italic; 20 | } 21 | 22 | .hljs-keyword, 23 | .ruby .hljs-function .hljs-keyword, 24 | .hljs-request, 25 | .hljs-status, 26 | .nginx .hljs-title, 27 | .method, 28 | .hljs-list .hljs-title { 29 | color: #c26230; 30 | } 31 | 32 | .hljs-string, 33 | .hljs-number, 34 | .hljs-regexp, 35 | .hljs-tag .hljs-value, 36 | .hljs-cdata, 37 | .hljs-filter .hljs-argument, 38 | .hljs-attr_selector, 39 | .apache .hljs-cbracket, 40 | .hljs-date, 41 | .tex .hljs-command, 42 | .asciidoc .hljs-link_label, 43 | .markdown .hljs-link_label { 44 | color: #a5c261; 45 | } 46 | 47 | .hljs-subst { 48 | color: #519f50; 49 | } 50 | 51 | .hljs-tag, 52 | .hljs-tag .hljs-keyword, 53 | .hljs-tag .hljs-title, 54 | .hljs-doctype, 55 | .hljs-sub .hljs-identifier, 56 | .hljs-pi, 57 | .input_number { 58 | color: #e8bf6a; 59 | } 60 | 61 | .hljs-identifier { 62 | color: #d0d0ff; 63 | } 64 | 65 | .hljs-class .hljs-title, 66 | .hljs-type, 67 | .smalltalk .hljs-class, 68 | .hljs-doctag { 69 | text-decoration: none; 70 | } 71 | 72 | .hljs-constant, 73 | .hljs-name { 74 | color: #da4939; 75 | } 76 | 77 | 78 | .hljs-symbol, 79 | .hljs-built_in, 80 | .ruby .hljs-symbol .hljs-string, 81 | .ruby .hljs-symbol .hljs-identifier, 82 | .asciidoc .hljs-link_url, 83 | .markdown .hljs-link_url, 84 | .hljs-attribute { 85 | color: #6d9cbe; 86 | } 87 | 88 | .asciidoc .hljs-link_url, 89 | .markdown .hljs-link_url { 90 | text-decoration: underline; 91 | } 92 | 93 | 94 | 95 | .hljs-params, 96 | .hljs-variable, 97 | .clojure .hljs-attribute { 98 | color: #d0d0ff; 99 | } 100 | 101 | .css .hljs-tag, 102 | .hljs-rule .hljs-property, 103 | .hljs-pseudo, 104 | .tex .hljs-special { 105 | color: #cda869; 106 | } 107 | 108 | .css .hljs-class { 109 | color: #9b703f; 110 | } 111 | 112 | .hljs-rule .hljs-keyword { 113 | color: #c5af75; 114 | } 115 | 116 | .hljs-rule .hljs-value { 117 | color: #cf6a4c; 118 | } 119 | 120 | .css .hljs-id { 121 | color: #8b98ab; 122 | } 123 | 124 | .hljs-annotation, 125 | .apache .hljs-sqbracket, 126 | .nginx .hljs-built_in { 127 | color: #9b859d; 128 | } 129 | 130 | .hljs-preprocessor, 131 | .hljs-preprocessor *, 132 | .hljs-pragma { 133 | color: #8996a8 !important; 134 | } 135 | 136 | .hljs-hexcolor, 137 | .css .hljs-value .hljs-number { 138 | color: #a5c261; 139 | } 140 | 141 | .hljs-title, 142 | .hljs-decorator, 143 | .css .hljs-function { 144 | color: #ffc66d; 145 | } 146 | 147 | .diff .hljs-header, 148 | .hljs-chunk { 149 | background-color: #2f33ab; 150 | color: #e6e1dc; 151 | display: inline-block; 152 | width: 100%; 153 | } 154 | 155 | .diff .hljs-change { 156 | background-color: #4a410d; 157 | color: #f8f8f8; 158 | display: inline-block; 159 | width: 100%; 160 | } 161 | 162 | .hljs-addition { 163 | background-color: #144212; 164 | color: #e6e1dc; 165 | display: inline-block; 166 | width: 100%; 167 | } 168 | 169 | .hljs-deletion { 170 | background-color: #600; 171 | color: #e6e1dc; 172 | display: inline-block; 173 | width: 100%; 174 | } 175 | 176 | .coffeescript .javascript, 177 | .javascript .xml, 178 | .tex .hljs-formula, 179 | .xml .javascript, 180 | .xml .vbscript, 181 | .xml .css, 182 | .xml .hljs-cdata { 183 | opacity: 0.7; 184 | } 185 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/rainbow.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Style with support for rainbow parens 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #474949; 12 | color: #d1d9e1; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | 17 | .hljs-body, 18 | .hljs-collection { 19 | color: #d1d9e1; 20 | } 21 | 22 | .hljs-comment, 23 | .diff .hljs-header, 24 | .hljs-doctype, 25 | .lisp .hljs-string { 26 | color: #969896; 27 | font-style: italic; 28 | } 29 | 30 | .hljs-keyword, 31 | .clojure .hljs-attribute, 32 | .hljs-winutils, 33 | .javascript .hljs-title, 34 | .hljs-addition, 35 | .css .hljs-tag { 36 | color: #cc99cc; 37 | } 38 | 39 | .hljs-number { color: #f99157; } 40 | 41 | .hljs-command, 42 | .hljs-string, 43 | .hljs-tag .hljs-value, 44 | .hljs-doctag, 45 | .tex .hljs-formula, 46 | .hljs-regexp, 47 | .hljs-hexcolor { 48 | color: #8abeb7; 49 | } 50 | 51 | .hljs-title, 52 | .hljs-localvars, 53 | .hljs-function .hljs-title, 54 | .hljs-chunk, 55 | .hljs-decorator, 56 | .hljs-built_in, 57 | .hljs-identifier { 58 | color: #b5bd68; 59 | } 60 | 61 | .hljs-class .hljs-keyword { 62 | color: #f2777a; 63 | } 64 | 65 | .hljs-variable, 66 | .smalltalk .hljs-number, 67 | .hljs-constant, 68 | .hljs-class .hljs-title, 69 | .hljs-parent, 70 | .haskell .hljs-label, 71 | .hljs-id, 72 | .hljs-name { 73 | color: #ffcc66; 74 | } 75 | 76 | .hljs-tag .hljs-title, 77 | .hljs-rule .hljs-property, 78 | .django .hljs-tag .hljs-keyword { 79 | font-weight: bold; 80 | } 81 | 82 | .hljs-attribute { 83 | color: #81a2be; 84 | } 85 | 86 | .hljs-preprocessor, 87 | .hljs-pragma, 88 | .hljs-pi, 89 | .hljs-shebang, 90 | .hljs-symbol, 91 | .hljs-symbol .hljs-string, 92 | .diff .hljs-change, 93 | .hljs-special, 94 | .hljs-attr_selector, 95 | .hljs-important, 96 | .hljs-subst, 97 | .hljs-cdata { 98 | color: #f99157; 99 | } 100 | 101 | .hljs-deletion { 102 | color: #dc322f; 103 | } 104 | 105 | .tex .hljs-formula { 106 | background: #eee8d5; 107 | } 108 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/school_book.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | School Book style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 15px 0.5em 0.5em 30px; 11 | font-size: 11px !important; 12 | line-height:16px !important; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | pre{ 17 | background:#f6f6ae url(./school_book.png); 18 | border-top: solid 2px #d2e8b9; 19 | border-bottom: solid 1px #d2e8b9; 20 | } 21 | 22 | .hljs-keyword, 23 | .hljs-literal, 24 | .hljs-change, 25 | .hljs-winutils, 26 | .hljs-flow, 27 | .nginx .hljs-title, 28 | .tex .hljs-special { 29 | color:#005599; 30 | font-weight:bold; 31 | } 32 | 33 | .hljs, 34 | .hljs-subst, 35 | .hljs-tag .hljs-keyword { 36 | color: #3e5915; 37 | } 38 | 39 | .hljs-string, 40 | .hljs-title, 41 | .hljs-type, 42 | .hljs-tag .hljs-value, 43 | .css .hljs-rule .hljs-value, 44 | .hljs-preprocessor, 45 | .hljs-pragma, 46 | .ruby .hljs-symbol, 47 | .ruby .hljs-symbol .hljs-string, 48 | .ruby .hljs-class .hljs-parent, 49 | .hljs-built_in, 50 | .django .hljs-template_tag, 51 | .django .hljs-variable, 52 | .smalltalk .hljs-class, 53 | .ruby .hljs-string, 54 | .django .hljs-filter .hljs-argument, 55 | .smalltalk .hljs-localvars, 56 | .smalltalk .hljs-array, 57 | .hljs-attr_selector, 58 | .hljs-pseudo, 59 | .hljs-addition, 60 | .hljs-stream, 61 | .hljs-envvar, 62 | .apache .hljs-tag, 63 | .apache .hljs-cbracket, 64 | .nginx .hljs-built_in, 65 | .tex .hljs-command, 66 | .coffeescript .hljs-attribute, 67 | .hljs-name { 68 | color: #2c009f; 69 | } 70 | 71 | .hljs-comment, 72 | .hljs-annotation, 73 | .hljs-decorator, 74 | .hljs-pi, 75 | .hljs-doctype, 76 | .hljs-deletion, 77 | .hljs-shebang, 78 | .apache .hljs-sqbracket { 79 | color: #e60415; 80 | } 81 | 82 | .hljs-keyword, 83 | .hljs-literal, 84 | .css .hljs-id, 85 | .hljs-doctag, 86 | .hljs-title, 87 | .hljs-type, 88 | .vbscript .hljs-built_in, 89 | .rsl .hljs-built_in, 90 | .smalltalk .hljs-class, 91 | .xml .hljs-tag .hljs-title, 92 | .diff .hljs-header, 93 | .hljs-chunk, 94 | .hljs-winutils, 95 | .bash .hljs-variable, 96 | .apache .hljs-tag, 97 | .tex .hljs-command, 98 | .hljs-request, 99 | .hljs-status { 100 | font-weight: bold; 101 | } 102 | 103 | .coffeescript .javascript, 104 | .javascript .xml, 105 | .tex .hljs-formula, 106 | .xml .javascript, 107 | .xml .vbscript, 108 | .xml .css, 109 | .xml .hljs-cdata { 110 | opacity: 0.5; 111 | } 112 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/school_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/norio-nomura/qlplayground/cee9b0505771b629260d222f1ab95362651429d0/qlplayground/highlight/styles/school_book.png -------------------------------------------------------------------------------- /qlplayground/highlight/styles/solarized_dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #002b36; 12 | color: #839496; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-comment, 17 | .diff .hljs-header, 18 | .hljs-doctype, 19 | .hljs-pi, 20 | .lisp .hljs-string { 21 | color: #586e75; 22 | } 23 | 24 | /* Solarized Green */ 25 | .hljs-keyword, 26 | .hljs-winutils, 27 | .method, 28 | .hljs-addition, 29 | .css .hljs-tag, 30 | .hljs-request, 31 | .hljs-status, 32 | .nginx .hljs-title { 33 | color: #859900; 34 | } 35 | 36 | /* Solarized Cyan */ 37 | .hljs-number, 38 | .hljs-command, 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-rule .hljs-value, 42 | .hljs-doctag, 43 | .tex .hljs-formula, 44 | .hljs-regexp, 45 | .hljs-hexcolor, 46 | .hljs-link_url { 47 | color: #2aa198; 48 | } 49 | 50 | /* Solarized Blue */ 51 | .hljs-title, 52 | .hljs-localvars, 53 | .hljs-chunk, 54 | .hljs-decorator, 55 | .hljs-built_in, 56 | .hljs-identifier, 57 | .vhdl .hljs-literal, 58 | .hljs-id, 59 | .css .hljs-function, 60 | .hljs-name { 61 | color: #268bd2; 62 | } 63 | 64 | /* Solarized Yellow */ 65 | .hljs-attribute, 66 | .hljs-variable, 67 | .lisp .hljs-body, 68 | .smalltalk .hljs-number, 69 | .hljs-constant, 70 | .hljs-class .hljs-title, 71 | .hljs-parent, 72 | .hljs-type, 73 | .hljs-link_reference { 74 | color: #b58900; 75 | } 76 | 77 | /* Solarized Orange */ 78 | .hljs-preprocessor, 79 | .hljs-preprocessor .hljs-keyword, 80 | .hljs-pragma, 81 | .hljs-shebang, 82 | .hljs-symbol, 83 | .hljs-symbol .hljs-string, 84 | .diff .hljs-change, 85 | .hljs-special, 86 | .hljs-attr_selector, 87 | .hljs-subst, 88 | .hljs-cdata, 89 | .css .hljs-pseudo, 90 | .hljs-header { 91 | color: #cb4b16; 92 | } 93 | 94 | /* Solarized Red */ 95 | .hljs-deletion, 96 | .hljs-important { 97 | color: #dc322f; 98 | } 99 | 100 | /* Solarized Violet */ 101 | .hljs-link_label { 102 | color: #6c71c4; 103 | } 104 | 105 | .tex .hljs-formula { 106 | background: #073642; 107 | } 108 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/solarized_light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #fdf6e3; 12 | color: #657b83; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-comment, 17 | .diff .hljs-header, 18 | .hljs-doctype, 19 | .hljs-pi, 20 | .lisp .hljs-string { 21 | color: #93a1a1; 22 | } 23 | 24 | /* Solarized Green */ 25 | .hljs-keyword, 26 | .hljs-winutils, 27 | .method, 28 | .hljs-addition, 29 | .css .hljs-tag, 30 | .hljs-request, 31 | .hljs-status, 32 | .nginx .hljs-title { 33 | color: #859900; 34 | } 35 | 36 | /* Solarized Cyan */ 37 | .hljs-number, 38 | .hljs-command, 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-rule .hljs-value, 42 | .hljs-doctag, 43 | .tex .hljs-formula, 44 | .hljs-regexp, 45 | .hljs-hexcolor, 46 | .hljs-link_url { 47 | color: #2aa198; 48 | } 49 | 50 | /* Solarized Blue */ 51 | .hljs-title, 52 | .hljs-localvars, 53 | .hljs-chunk, 54 | .hljs-decorator, 55 | .hljs-built_in, 56 | .hljs-identifier, 57 | .vhdl .hljs-literal, 58 | .hljs-id, 59 | .css .hljs-function, 60 | .hljs-name { 61 | color: #268bd2; 62 | } 63 | 64 | /* Solarized Yellow */ 65 | .hljs-attribute, 66 | .hljs-variable, 67 | .lisp .hljs-body, 68 | .smalltalk .hljs-number, 69 | .hljs-constant, 70 | .hljs-class .hljs-title, 71 | .hljs-parent, 72 | .hljs-type, 73 | .hljs-link_reference { 74 | color: #b58900; 75 | } 76 | 77 | /* Solarized Orange */ 78 | .hljs-preprocessor, 79 | .hljs-preprocessor .hljs-keyword, 80 | .hljs-pragma, 81 | .hljs-shebang, 82 | .hljs-symbol, 83 | .hljs-symbol .hljs-string, 84 | .diff .hljs-change, 85 | .hljs-special, 86 | .hljs-attr_selector, 87 | .hljs-subst, 88 | .hljs-cdata, 89 | .css .hljs-pseudo, 90 | .hljs-header { 91 | color: #cb4b16; 92 | } 93 | 94 | /* Solarized Red */ 95 | .hljs-deletion, 96 | .hljs-important { 97 | color: #dc322f; 98 | } 99 | 100 | /* Solarized Violet */ 101 | .hljs-link_label { 102 | color: #6c71c4; 103 | } 104 | 105 | .tex .hljs-formula { 106 | background: #eee8d5; 107 | } 108 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/sunburst.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Sunburst-like style (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #000; 12 | color: #f8f8f8; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-comment { 17 | color: #aeaeae; 18 | font-style: italic; 19 | } 20 | 21 | .hljs-keyword, 22 | .ruby .hljs-function .hljs-keyword, 23 | .hljs-request, 24 | .hljs-status, 25 | .nginx .hljs-title { 26 | color: #e28964; 27 | } 28 | 29 | .hljs-function .hljs-keyword, 30 | .hljs-sub .hljs-keyword, 31 | .method, 32 | .hljs-list .hljs-title { 33 | color: #99cf50; 34 | } 35 | 36 | .hljs-string, 37 | .hljs-tag .hljs-value, 38 | .hljs-cdata, 39 | .hljs-filter .hljs-argument, 40 | .hljs-attr_selector, 41 | .apache .hljs-cbracket, 42 | .hljs-date, 43 | .tex .hljs-command, 44 | .coffeescript .hljs-attribute, 45 | .hljs-name { 46 | color: #65b042; 47 | } 48 | 49 | .hljs-subst { 50 | color: #daefa3; 51 | } 52 | 53 | .hljs-regexp { 54 | color: #e9c062; 55 | } 56 | 57 | .hljs-title, 58 | .hljs-sub .hljs-identifier, 59 | .hljs-pi, 60 | .hljs-tag, 61 | .hljs-tag .hljs-keyword, 62 | .hljs-decorator, 63 | .hljs-shebang, 64 | .hljs-prompt { 65 | color: #89bdff; 66 | } 67 | 68 | .hljs-class .hljs-title, 69 | .hljs-type, 70 | .smalltalk .hljs-class, 71 | .hljs-doctag { 72 | text-decoration: underline; 73 | } 74 | 75 | .hljs-symbol, 76 | .ruby .hljs-symbol .hljs-string, 77 | .hljs-number { 78 | color: #3387cc; 79 | } 80 | 81 | .hljs-params, 82 | .hljs-variable, 83 | .clojure .hljs-attribute { 84 | color: #3e87e3; 85 | } 86 | 87 | .css .hljs-tag, 88 | .hljs-rule .hljs-property, 89 | .hljs-pseudo, 90 | .tex .hljs-special { 91 | color: #cda869; 92 | } 93 | 94 | .css .hljs-class { 95 | color: #9b703f; 96 | } 97 | 98 | .hljs-rule .hljs-keyword { 99 | color: #c5af75; 100 | } 101 | 102 | .hljs-rule .hljs-value { 103 | color: #cf6a4c; 104 | } 105 | 106 | .css .hljs-id { 107 | color: #8b98ab; 108 | } 109 | 110 | .hljs-annotation, 111 | .apache .hljs-sqbracket, 112 | .nginx .hljs-built_in { 113 | color: #9b859d; 114 | } 115 | 116 | .hljs-preprocessor, 117 | .hljs-pragma { 118 | color: #8996a8; 119 | } 120 | 121 | .hljs-hexcolor, 122 | .css .hljs-value .hljs-number { 123 | color: #dd7b3b; 124 | } 125 | 126 | .css .hljs-function { 127 | color: #dad085; 128 | } 129 | 130 | .diff .hljs-header, 131 | .hljs-chunk, 132 | .tex .hljs-formula { 133 | background-color: #0e2231; 134 | color: #f8f8f8; 135 | font-style: italic; 136 | } 137 | 138 | .diff .hljs-change { 139 | background-color: #4a410d; 140 | color: #f8f8f8; 141 | } 142 | 143 | .hljs-addition { 144 | background-color: #253b22; 145 | color: #f8f8f8; 146 | } 147 | 148 | .hljs-deletion { 149 | background-color: #420e09; 150 | color: #f8f8f8; 151 | } 152 | 153 | .coffeescript .javascript, 154 | .javascript .xml, 155 | .tex .hljs-formula, 156 | .xml .javascript, 157 | .xml .vbscript, 158 | .xml .css, 159 | .xml .hljs-cdata { 160 | opacity: 0.5; 161 | } 162 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/tomorrow-night-blue.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Blue Theme */ 2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 5 | 6 | /* Tomorrow Comment */ 7 | .hljs-comment { 8 | color: #7285b7; 9 | } 10 | 11 | /* Tomorrow Red */ 12 | .hljs-variable, 13 | .hljs-attribute, 14 | .hljs-tag, 15 | .hljs-regexp, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ff9da4; 25 | } 26 | 27 | /* Tomorrow Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-pragma, 31 | .hljs-built_in, 32 | .hljs-literal, 33 | .hljs-params, 34 | .hljs-constant { 35 | color: #ffc58f; 36 | } 37 | 38 | /* Tomorrow Yellow */ 39 | .ruby .hljs-class .hljs-title, 40 | .css .hljs-rule .hljs-attribute { 41 | color: #ffeead; 42 | } 43 | 44 | /* Tomorrow Green */ 45 | .hljs-string, 46 | .hljs-value, 47 | .hljs-inheritance, 48 | .hljs-header, 49 | .hljs-name, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #d1f1a9; 53 | } 54 | 55 | /* Tomorrow Aqua */ 56 | .hljs-title, 57 | .css .hljs-hexcolor { 58 | color: #99ffff; 59 | } 60 | 61 | /* Tomorrow Blue */ 62 | .hljs-function, 63 | .python .hljs-decorator, 64 | .python .hljs-title, 65 | .ruby .hljs-function .hljs-title, 66 | .ruby .hljs-title .hljs-keyword, 67 | .perl .hljs-sub, 68 | .javascript .hljs-title, 69 | .coffeescript .hljs-title { 70 | color: #bbdaff; 71 | } 72 | 73 | /* Tomorrow Purple */ 74 | .hljs-keyword, 75 | .javascript .hljs-function { 76 | color: #ebbbff; 77 | } 78 | 79 | .hljs { 80 | display: block; 81 | overflow-x: auto; 82 | background: #002451; 83 | color: white; 84 | padding: 0.5em; 85 | -webkit-text-size-adjust: none; 86 | } 87 | 88 | .coffeescript .javascript, 89 | .javascript .xml, 90 | .tex .hljs-formula, 91 | .xml .javascript, 92 | .xml .vbscript, 93 | .xml .css, 94 | .xml .hljs-cdata { 95 | opacity: 0.5; 96 | } 97 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/tomorrow-night-bright.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Bright Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 4 | 5 | /* Tomorrow Comment */ 6 | .hljs-comment { 7 | color: #969896; 8 | } 9 | 10 | /* Tomorrow Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .ruby .hljs-constant, 16 | .xml .hljs-tag .hljs-title, 17 | .xml .hljs-pi, 18 | .xml .hljs-doctype, 19 | .html .hljs-doctype, 20 | .css .hljs-id, 21 | .css .hljs-class, 22 | .css .hljs-pseudo { 23 | color: #d54e53; 24 | } 25 | 26 | /* Tomorrow Orange */ 27 | .hljs-number, 28 | .hljs-preprocessor, 29 | .hljs-pragma, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #e78c45; 35 | } 36 | 37 | /* Tomorrow Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #e7c547; 41 | } 42 | 43 | /* Tomorrow Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .hljs-name, 49 | .ruby .hljs-symbol, 50 | .xml .hljs-cdata { 51 | color: #b9ca4a; 52 | } 53 | 54 | /* Tomorrow Aqua */ 55 | .hljs-title, 56 | .css .hljs-hexcolor { 57 | color: #70c0b1; 58 | } 59 | 60 | /* Tomorrow Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #7aa6da; 70 | } 71 | 72 | /* Tomorrow Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #c397d8; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | overflow-x: auto; 81 | background: black; 82 | color: #eaeaea; 83 | padding: 0.5em; 84 | -webkit-text-size-adjust: none; 85 | } 86 | 87 | .coffeescript .javascript, 88 | .javascript .xml, 89 | .tex .hljs-formula, 90 | .xml .javascript, 91 | .xml .vbscript, 92 | .xml .css, 93 | .xml .hljs-cdata { 94 | opacity: 0.5; 95 | } 96 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/tomorrow-night-eighties.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Eighties Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 4 | 5 | /* Tomorrow Comment */ 6 | .hljs-comment { 7 | color: #999999; 8 | } 9 | 10 | /* Tomorrow Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .ruby .hljs-constant, 16 | .xml .hljs-tag .hljs-title, 17 | .xml .hljs-pi, 18 | .xml .hljs-doctype, 19 | .html .hljs-doctype, 20 | .css .hljs-id, 21 | .css .hljs-class, 22 | .css .hljs-pseudo { 23 | color: #f2777a; 24 | } 25 | 26 | /* Tomorrow Orange */ 27 | .hljs-number, 28 | .hljs-preprocessor, 29 | .hljs-pragma, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #f99157; 35 | } 36 | 37 | /* Tomorrow Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #ffcc66; 41 | } 42 | 43 | /* Tomorrow Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .hljs-name, 49 | .ruby .hljs-symbol, 50 | .xml .hljs-cdata { 51 | color: #99cc99; 52 | } 53 | 54 | /* Tomorrow Aqua */ 55 | .hljs-title, 56 | .css .hljs-hexcolor { 57 | color: #66cccc; 58 | } 59 | 60 | /* Tomorrow Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #6699cc; 70 | } 71 | 72 | /* Tomorrow Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #cc99cc; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | overflow-x: auto; 81 | background: #2d2d2d; 82 | color: #cccccc; 83 | padding: 0.5em; 84 | -webkit-text-size-adjust: none; 85 | } 86 | 87 | .coffeescript .javascript, 88 | .javascript .xml, 89 | .tex .hljs-formula, 90 | .xml .javascript, 91 | .xml .vbscript, 92 | .xml .css, 93 | .xml .hljs-cdata { 94 | opacity: 0.5; 95 | } 96 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/tomorrow-night.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Theme */ 2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 5 | 6 | /* Tomorrow Comment */ 7 | .hljs-comment { 8 | color: #969896; 9 | } 10 | 11 | /* Tomorrow Red */ 12 | .hljs-variable, 13 | .hljs-attribute, 14 | .hljs-tag, 15 | .hljs-regexp, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #cc6666; 25 | } 26 | 27 | /* Tomorrow Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-pragma, 31 | .hljs-built_in, 32 | .hljs-literal, 33 | .hljs-params, 34 | .hljs-constant { 35 | color: #de935f; 36 | } 37 | 38 | /* Tomorrow Yellow */ 39 | .ruby .hljs-class .hljs-title, 40 | .css .hljs-rule .hljs-attribute { 41 | color: #f0c674; 42 | } 43 | 44 | /* Tomorrow Green */ 45 | .hljs-string, 46 | .hljs-value, 47 | .hljs-inheritance, 48 | .hljs-header, 49 | .hljs-name, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #b5bd68; 53 | } 54 | 55 | /* Tomorrow Aqua */ 56 | .hljs-title, 57 | .css .hljs-hexcolor { 58 | color: #8abeb7; 59 | } 60 | 61 | /* Tomorrow Blue */ 62 | .hljs-function, 63 | .python .hljs-decorator, 64 | .python .hljs-title, 65 | .ruby .hljs-function .hljs-title, 66 | .ruby .hljs-title .hljs-keyword, 67 | .perl .hljs-sub, 68 | .javascript .hljs-title, 69 | .coffeescript .hljs-title { 70 | color: #81a2be; 71 | } 72 | 73 | /* Tomorrow Purple */ 74 | .hljs-keyword, 75 | .javascript .hljs-function { 76 | color: #b294bb; 77 | } 78 | 79 | .hljs { 80 | display: block; 81 | overflow-x: auto; 82 | background: #1d1f21; 83 | color: #c5c8c6; 84 | padding: 0.5em; 85 | -webkit-text-size-adjust: none; 86 | } 87 | 88 | .coffeescript .javascript, 89 | .javascript .xml, 90 | .tex .hljs-formula, 91 | .xml .javascript, 92 | .xml .vbscript, 93 | .xml .css, 94 | .xml .hljs-cdata { 95 | opacity: 0.5; 96 | } 97 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/tomorrow.css: -------------------------------------------------------------------------------- 1 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 2 | 3 | /* Tomorrow Comment */ 4 | .hljs-comment { 5 | color: #8e908c; 6 | } 7 | 8 | /* Tomorrow Red */ 9 | .hljs-variable, 10 | .hljs-attribute, 11 | .hljs-tag, 12 | .hljs-regexp, 13 | .ruby .hljs-constant, 14 | .xml .hljs-tag .hljs-title, 15 | .xml .hljs-pi, 16 | .xml .hljs-doctype, 17 | .html .hljs-doctype, 18 | .css .hljs-id, 19 | .css .hljs-class, 20 | .css .hljs-pseudo { 21 | color: #c82829; 22 | } 23 | 24 | /* Tomorrow Orange */ 25 | .hljs-number, 26 | .hljs-preprocessor, 27 | .hljs-pragma, 28 | .hljs-built_in, 29 | .hljs-literal, 30 | .hljs-params, 31 | .hljs-constant { 32 | color: #f5871f; 33 | } 34 | 35 | /* Tomorrow Yellow */ 36 | .ruby .hljs-class .hljs-title, 37 | .css .hljs-rule .hljs-attribute { 38 | color: #eab700; 39 | } 40 | 41 | /* Tomorrow Green */ 42 | .hljs-string, 43 | .hljs-value, 44 | .hljs-inheritance, 45 | .hljs-header, 46 | .hljs-name, 47 | .ruby .hljs-symbol, 48 | .xml .hljs-cdata { 49 | color: #718c00; 50 | } 51 | 52 | /* Tomorrow Aqua */ 53 | .hljs-title, 54 | .css .hljs-hexcolor { 55 | color: #3e999f; 56 | } 57 | 58 | /* Tomorrow Blue */ 59 | .hljs-function, 60 | .python .hljs-decorator, 61 | .python .hljs-title, 62 | .ruby .hljs-function .hljs-title, 63 | .ruby .hljs-title .hljs-keyword, 64 | .perl .hljs-sub, 65 | .javascript .hljs-title, 66 | .coffeescript .hljs-title { 67 | color: #4271ae; 68 | } 69 | 70 | /* Tomorrow Purple */ 71 | .hljs-keyword, 72 | .javascript .hljs-function { 73 | color: #8959a8; 74 | } 75 | 76 | .hljs { 77 | display: block; 78 | overflow-x: auto; 79 | background: white; 80 | color: #4d4d4c; 81 | padding: 0.5em; 82 | -webkit-text-size-adjust: none; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/vs.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Visual Studio-like style based on original C# coloring by Jason Diamond 4 | 5 | */ 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: white; 11 | color: black; 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-annotation, 17 | .diff .hljs-header, 18 | .hljs-chunk, 19 | .apache .hljs-cbracket { 20 | color: #008000; 21 | } 22 | 23 | .hljs-keyword, 24 | .hljs-id, 25 | .hljs-built_in, 26 | .smalltalk .hljs-class, 27 | .hljs-winutils, 28 | .bash .hljs-variable, 29 | .tex .hljs-command, 30 | .hljs-request, 31 | .hljs-status, 32 | .nginx .hljs-title, 33 | .xml .hljs-tag, 34 | .xml .hljs-tag .hljs-value { 35 | color: #00f; 36 | } 37 | 38 | .hljs-string, 39 | .hljs-title, 40 | .hljs-parent, 41 | .hljs-tag .hljs-value, 42 | .hljs-rule .hljs-value, 43 | .ruby .hljs-symbol, 44 | .ruby .hljs-symbol .hljs-string, 45 | .hljs-template_tag, 46 | .django .hljs-variable, 47 | .hljs-addition, 48 | .hljs-flow, 49 | .hljs-stream, 50 | .apache .hljs-tag, 51 | .hljs-date, 52 | .tex .hljs-formula, 53 | .coffeescript .hljs-attribute, 54 | .hljs-name { 55 | color: #a31515; 56 | } 57 | 58 | .ruby .hljs-string, 59 | .hljs-decorator, 60 | .hljs-filter .hljs-argument, 61 | .hljs-localvars, 62 | .hljs-array, 63 | .hljs-attr_selector, 64 | .hljs-pseudo, 65 | .hljs-pi, 66 | .hljs-doctype, 67 | .hljs-deletion, 68 | .hljs-envvar, 69 | .hljs-shebang, 70 | .hljs-preprocessor, 71 | .hljs-pragma, 72 | .userType, 73 | .apache .hljs-sqbracket, 74 | .nginx .hljs-built_in, 75 | .tex .hljs-special, 76 | .hljs-prompt { 77 | color: #2b91af; 78 | } 79 | 80 | .hljs-doctag, 81 | .hljs-xmlDocTag { 82 | color: #808080; 83 | } 84 | 85 | .hljs-type, 86 | .hljs-typename { font-weight: bold; } 87 | 88 | .vhdl .hljs-string { color: #666666; } 89 | .vhdl .hljs-literal { color: #a31515; } 90 | .vhdl .hljs-attribute { color: #00b0e8; } 91 | 92 | .xml .hljs-attribute { color: #f00; } 93 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/xcode.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | XCode style (c) Angel Garcia 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #fff; 12 | color: black; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-comment { 17 | color: #006a00; 18 | } 19 | 20 | .hljs-keyword, 21 | .hljs-literal, 22 | .nginx .hljs-title { 23 | color: #aa0d91; 24 | } 25 | .method, 26 | .hljs-list .hljs-title, 27 | .hljs-tag .hljs-title, 28 | .setting .hljs-value, 29 | .hljs-winutils, 30 | .tex .hljs-command, 31 | .http .hljs-title, 32 | .hljs-request, 33 | .hljs-status, 34 | .hljs-name { 35 | color: #008; 36 | } 37 | 38 | .hljs-envvar, 39 | .tex .hljs-special { 40 | color: #660; 41 | } 42 | 43 | .hljs-string { 44 | color: #c41a16; 45 | } 46 | .hljs-tag .hljs-value, 47 | .hljs-cdata, 48 | .hljs-filter .hljs-argument, 49 | .hljs-attr_selector, 50 | .apache .hljs-cbracket, 51 | .hljs-date, 52 | .hljs-regexp { 53 | color: #080; 54 | } 55 | 56 | .hljs-sub .hljs-identifier, 57 | .hljs-pi, 58 | .hljs-tag, 59 | .hljs-tag .hljs-keyword, 60 | .hljs-decorator, 61 | .ini .hljs-title, 62 | .hljs-shebang, 63 | .hljs-prompt, 64 | .hljs-hexcolor, 65 | .hljs-rule .hljs-value, 66 | .hljs-symbol, 67 | .hljs-symbol .hljs-string, 68 | .hljs-number, 69 | .css .hljs-function, 70 | .hljs-function .hljs-title, 71 | .coffeescript .hljs-attribute { 72 | color: #1c00cf; 73 | } 74 | 75 | .hljs-class .hljs-title, 76 | .smalltalk .hljs-class, 77 | .hljs-type, 78 | .hljs-typename, 79 | .hljs-tag .hljs-attribute, 80 | .hljs-doctype, 81 | .hljs-class .hljs-id, 82 | .hljs-built_in, 83 | .setting, 84 | .hljs-params, 85 | .clojure .hljs-attribute { 86 | color: #5c2699; 87 | } 88 | 89 | .hljs-variable { 90 | color: #3f6e74; 91 | } 92 | .css .hljs-tag, 93 | .hljs-rule .hljs-property, 94 | .hljs-pseudo, 95 | .hljs-subst { 96 | color: #000; 97 | } 98 | 99 | .css .hljs-class, 100 | .css .hljs-id { 101 | color: #9b703f; 102 | } 103 | 104 | .hljs-value .hljs-important { 105 | color: #ff7700; 106 | font-weight: bold; 107 | } 108 | 109 | .hljs-rule .hljs-keyword { 110 | color: #c5af75; 111 | } 112 | 113 | .hljs-annotation, 114 | .apache .hljs-sqbracket, 115 | .nginx .hljs-built_in { 116 | color: #9b859d; 117 | } 118 | 119 | .hljs-preprocessor, 120 | .hljs-preprocessor *, 121 | .hljs-pragma { 122 | color: #643820; 123 | } 124 | 125 | .tex .hljs-formula { 126 | background-color: #eee; 127 | font-style: italic; 128 | } 129 | 130 | .diff .hljs-header, 131 | .hljs-chunk { 132 | color: #808080; 133 | font-weight: bold; 134 | } 135 | 136 | .diff .hljs-change { 137 | background-color: #bccff9; 138 | } 139 | 140 | .hljs-addition { 141 | background-color: #baeeba; 142 | } 143 | 144 | .hljs-deletion { 145 | background-color: #ffc8bd; 146 | } 147 | 148 | .hljs-comment .hljs-doctag { 149 | font-weight: bold; 150 | } 151 | 152 | .method .hljs-id { 153 | color: #000; 154 | } 155 | -------------------------------------------------------------------------------- /qlplayground/highlight/styles/zenburn.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov 4 | based on dark.css by Ivan Sagalaev 5 | 6 | */ 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #3f3f3f; 13 | color: #dcdcdc; 14 | -webkit-text-size-adjust: none; 15 | } 16 | 17 | .hljs-keyword, 18 | .hljs-tag, 19 | .css .hljs-class, 20 | .css .hljs-id, 21 | .lisp .hljs-title, 22 | .nginx .hljs-title, 23 | .hljs-request, 24 | .hljs-status, 25 | .clojure .hljs-attribute { 26 | color: #e3ceab; 27 | } 28 | 29 | .django .hljs-template_tag, 30 | .django .hljs-variable, 31 | .django .hljs-filter .hljs-argument { 32 | color: #dcdcdc; 33 | } 34 | 35 | .hljs-number, 36 | .hljs-date { 37 | color: #8cd0d3; 38 | } 39 | 40 | .dos .hljs-envvar, 41 | .dos .hljs-stream, 42 | .hljs-variable, 43 | .apache .hljs-sqbracket, 44 | .hljs-name { 45 | color: #efdcbc; 46 | } 47 | 48 | .dos .hljs-flow, 49 | .diff .hljs-change, 50 | .python .exception, 51 | .python .hljs-built_in, 52 | .hljs-literal, 53 | .tex .hljs-special { 54 | color: #efefaf; 55 | } 56 | 57 | .diff .hljs-chunk, 58 | .hljs-subst { 59 | color: #8f8f8f; 60 | } 61 | 62 | .dos .hljs-keyword, 63 | .hljs-decorator, 64 | .hljs-title, 65 | .hljs-type, 66 | .diff .hljs-header, 67 | .ruby .hljs-class .hljs-parent, 68 | .apache .hljs-tag, 69 | .nginx .hljs-built_in, 70 | .tex .hljs-command, 71 | .hljs-prompt { 72 | color: #efef8f; 73 | } 74 | 75 | .dos .hljs-winutils, 76 | .ruby .hljs-symbol, 77 | .ruby .hljs-symbol .hljs-string, 78 | .ruby .hljs-string { 79 | color: #dca3a3; 80 | } 81 | 82 | .diff .hljs-deletion, 83 | .hljs-string, 84 | .hljs-tag .hljs-value, 85 | .hljs-preprocessor, 86 | .hljs-pragma, 87 | .hljs-built_in, 88 | .smalltalk .hljs-class, 89 | .smalltalk .hljs-localvars, 90 | .smalltalk .hljs-array, 91 | .css .hljs-rule .hljs-value, 92 | .hljs-attr_selector, 93 | .hljs-pseudo, 94 | .apache .hljs-cbracket, 95 | .tex .hljs-formula, 96 | .coffeescript .hljs-attribute { 97 | color: #cc9393; 98 | } 99 | 100 | .hljs-shebang, 101 | .diff .hljs-addition, 102 | .hljs-comment, 103 | .hljs-annotation, 104 | .hljs-pi, 105 | .hljs-doctype { 106 | color: #7f9f7f; 107 | } 108 | 109 | .coffeescript .javascript, 110 | .javascript .xml, 111 | .tex .hljs-formula, 112 | .xml .javascript, 113 | .xml .vbscript, 114 | .xml .css, 115 | .xml .hljs-cdata { 116 | opacity: 0.5; 117 | } 118 | 119 | -------------------------------------------------------------------------------- /qlplayground/main.c: -------------------------------------------------------------------------------- 1 | //============================================================================== 2 | // 3 | // DO NO MODIFY THE CONTENT OF THIS FILE 4 | // 5 | // This file contains the generic CFPlug-in code necessary for your generator 6 | // To complete your generator implement the function in GenerateThumbnailForURL/GeneratePreviewForURL.c 7 | // 8 | //============================================================================== 9 | 10 | 11 | 12 | 13 | 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | // ----------------------------------------------------------------------------- 21 | // constants 22 | // ----------------------------------------------------------------------------- 23 | 24 | // Don't modify this line 25 | #define PLUGIN_ID "DCBC0A4C-3BE7-408D-8011-5C87373935BA" 26 | 27 | // 28 | // Below is the generic glue code for all plug-ins. 29 | // 30 | // You should not have to modify this code aside from changing 31 | // names if you decide to change the names defined in the Info.plist 32 | // 33 | 34 | 35 | // ----------------------------------------------------------------------------- 36 | // typedefs 37 | // ----------------------------------------------------------------------------- 38 | 39 | // The thumbnail generation function to be implemented in GenerateThumbnailForURL.c 40 | OSStatus GenerateThumbnailForURL(void *thisInterface, QLThumbnailRequestRef thumbnail, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options, CGSize maxSize); 41 | void CancelThumbnailGeneration(void* thisInterface, QLThumbnailRequestRef thumbnail); 42 | 43 | // The preview generation function to be implemented in GeneratePreviewForURL.c 44 | OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options); 45 | void CancelPreviewGeneration(void *thisInterface, QLPreviewRequestRef preview); 46 | 47 | // The layout for an instance of QuickLookGeneratorPlugIn 48 | typedef struct __QuickLookGeneratorPluginType 49 | { 50 | void *conduitInterface; 51 | CFUUIDRef factoryID; 52 | UInt32 refCount; 53 | } QuickLookGeneratorPluginType; 54 | 55 | // ----------------------------------------------------------------------------- 56 | // prototypes 57 | // ----------------------------------------------------------------------------- 58 | // Forward declaration for the IUnknown implementation. 59 | // 60 | 61 | QuickLookGeneratorPluginType *AllocQuickLookGeneratorPluginType(CFUUIDRef inFactoryID); 62 | void DeallocQuickLookGeneratorPluginType(QuickLookGeneratorPluginType *thisInstance); 63 | HRESULT QuickLookGeneratorQueryInterface(void *thisInstance,REFIID iid,LPVOID *ppv); 64 | void *QuickLookGeneratorPluginFactory(CFAllocatorRef allocator,CFUUIDRef typeID); 65 | ULONG QuickLookGeneratorPluginAddRef(void *thisInstance); 66 | ULONG QuickLookGeneratorPluginRelease(void *thisInstance); 67 | 68 | // ----------------------------------------------------------------------------- 69 | // myInterfaceFtbl definition 70 | // ----------------------------------------------------------------------------- 71 | // The QLGeneratorInterfaceStruct function table. 72 | // 73 | static QLGeneratorInterfaceStruct myInterfaceFtbl = { 74 | NULL, 75 | QuickLookGeneratorQueryInterface, 76 | QuickLookGeneratorPluginAddRef, 77 | QuickLookGeneratorPluginRelease, 78 | NULL, 79 | NULL, 80 | NULL, 81 | NULL 82 | }; 83 | 84 | 85 | // ----------------------------------------------------------------------------- 86 | // AllocQuickLookGeneratorPluginType 87 | // ----------------------------------------------------------------------------- 88 | // Utility function that allocates a new instance. 89 | // You can do some initial setup for the generator here if you wish 90 | // like allocating globals etc... 91 | // 92 | QuickLookGeneratorPluginType *AllocQuickLookGeneratorPluginType(CFUUIDRef inFactoryID) 93 | { 94 | QuickLookGeneratorPluginType *theNewInstance; 95 | 96 | theNewInstance = (QuickLookGeneratorPluginType *)malloc(sizeof(QuickLookGeneratorPluginType)); 97 | memset(theNewInstance,0,sizeof(QuickLookGeneratorPluginType)); 98 | 99 | /* Point to the function table Malloc enough to store the stuff and copy the filler from myInterfaceFtbl over */ 100 | theNewInstance->conduitInterface = malloc(sizeof(QLGeneratorInterfaceStruct)); 101 | memcpy(theNewInstance->conduitInterface,&myInterfaceFtbl,sizeof(QLGeneratorInterfaceStruct)); 102 | 103 | /* Retain and keep an open instance refcount for each factory. */ 104 | theNewInstance->factoryID = CFRetain(inFactoryID); 105 | CFPlugInAddInstanceForFactory(inFactoryID); 106 | 107 | /* This function returns the IUnknown interface so set the refCount to one. */ 108 | theNewInstance->refCount = 1; 109 | return theNewInstance; 110 | } 111 | 112 | // ----------------------------------------------------------------------------- 113 | // DeallocQuickLookGeneratorPluginType 114 | // ----------------------------------------------------------------------------- 115 | // Utility function that deallocates the instance when 116 | // the refCount goes to zero. 117 | // In the current implementation generator interfaces are never deallocated 118 | // but implement this as this might change in the future 119 | // 120 | void DeallocQuickLookGeneratorPluginType(QuickLookGeneratorPluginType *thisInstance) 121 | { 122 | CFUUIDRef theFactoryID; 123 | 124 | theFactoryID = thisInstance->factoryID; 125 | /* Free the conduitInterface table up */ 126 | free(thisInstance->conduitInterface); 127 | 128 | /* Free the instance structure */ 129 | free(thisInstance); 130 | if (theFactoryID){ 131 | CFPlugInRemoveInstanceForFactory(theFactoryID); 132 | CFRelease(theFactoryID); 133 | } 134 | } 135 | 136 | // ----------------------------------------------------------------------------- 137 | // QuickLookGeneratorQueryInterface 138 | // ----------------------------------------------------------------------------- 139 | // Implementation of the IUnknown QueryInterface function. 140 | // 141 | HRESULT QuickLookGeneratorQueryInterface(void *thisInstance,REFIID iid,LPVOID *ppv) 142 | { 143 | CFUUIDRef interfaceID; 144 | 145 | interfaceID = CFUUIDCreateFromUUIDBytes(kCFAllocatorDefault,iid); 146 | 147 | if (CFEqual(interfaceID,kQLGeneratorCallbacksInterfaceID)){ 148 | /* If the Right interface was requested, bump the ref count, 149 | * set the ppv parameter equal to the instance, and 150 | * return good status. 151 | */ 152 | ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType *)thisInstance)->conduitInterface)->GenerateThumbnailForURL = GenerateThumbnailForURL; 153 | ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType *)thisInstance)->conduitInterface)->CancelThumbnailGeneration = CancelThumbnailGeneration; 154 | ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType *)thisInstance)->conduitInterface)->GeneratePreviewForURL = GeneratePreviewForURL; 155 | ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType *)thisInstance)->conduitInterface)->CancelPreviewGeneration = CancelPreviewGeneration; 156 | ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType*)thisInstance)->conduitInterface)->AddRef(thisInstance); 157 | *ppv = thisInstance; 158 | CFRelease(interfaceID); 159 | return S_OK; 160 | }else{ 161 | /* Requested interface unknown, bail with error. */ 162 | *ppv = NULL; 163 | CFRelease(interfaceID); 164 | return E_NOINTERFACE; 165 | } 166 | } 167 | 168 | // ----------------------------------------------------------------------------- 169 | // QuickLookGeneratorPluginAddRef 170 | // ----------------------------------------------------------------------------- 171 | // Implementation of reference counting for this type. Whenever an interface 172 | // is requested, bump the refCount for the instance. NOTE: returning the 173 | // refcount is a convention but is not required so don't rely on it. 174 | // 175 | ULONG QuickLookGeneratorPluginAddRef(void *thisInstance) 176 | { 177 | ((QuickLookGeneratorPluginType *)thisInstance )->refCount += 1; 178 | return ((QuickLookGeneratorPluginType*) thisInstance)->refCount; 179 | } 180 | 181 | // ----------------------------------------------------------------------------- 182 | // QuickLookGeneratorPluginRelease 183 | // ----------------------------------------------------------------------------- 184 | // When an interface is released, decrement the refCount. 185 | // If the refCount goes to zero, deallocate the instance. 186 | // 187 | ULONG QuickLookGeneratorPluginRelease(void *thisInstance) 188 | { 189 | ((QuickLookGeneratorPluginType*)thisInstance)->refCount -= 1; 190 | if (((QuickLookGeneratorPluginType*)thisInstance)->refCount == 0){ 191 | DeallocQuickLookGeneratorPluginType((QuickLookGeneratorPluginType*)thisInstance ); 192 | return 0; 193 | }else{ 194 | return ((QuickLookGeneratorPluginType*) thisInstance )->refCount; 195 | } 196 | } 197 | 198 | // ----------------------------------------------------------------------------- 199 | // QuickLookGeneratorPluginFactory 200 | // ----------------------------------------------------------------------------- 201 | void *QuickLookGeneratorPluginFactory(CFAllocatorRef allocator,CFUUIDRef typeID) 202 | { 203 | QuickLookGeneratorPluginType *result; 204 | CFUUIDRef uuid; 205 | 206 | /* If correct type is being requested, allocate an 207 | * instance of kQLGeneratorTypeID and return the IUnknown interface. 208 | */ 209 | if (CFEqual(typeID,kQLGeneratorTypeID)){ 210 | uuid = CFUUIDCreateFromString(kCFAllocatorDefault,CFSTR(PLUGIN_ID)); 211 | result = AllocQuickLookGeneratorPluginType(uuid); 212 | CFRelease(uuid); 213 | return result; 214 | } 215 | /* If the requested type is incorrect, return NULL. */ 216 | return NULL; 217 | } 218 | 219 | --------------------------------------------------------------------------------