added site files
9
EnlighterJS/.gitignore
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
.settings*
|
||||
.idea/*
|
||||
.project
|
||||
.credentials*
|
||||
gfx/*
|
||||
PublicHtml/*
|
||||
node_modules*
|
||||
.tmp*
|
||||
intern_*
|
2271
EnlighterJS/Build/EnlighterJS.css
Normal file
3133
EnlighterJS/Build/EnlighterJS.js
Normal file
1
EnlighterJS/Build/EnlighterJS.min.css
vendored
Normal file
3
EnlighterJS/Build/EnlighterJS.min.js
vendored
Normal file
291
EnlighterJS/CHANGES.md
Normal file
|
@ -0,0 +1,291 @@
|
|||
## Branch 2.x ##
|
||||
|
||||
### Version 2.10 ###
|
||||
* Added: [Cython](http://cython.org/) Language support - thanks to [DevynCJohnson on GitHub](https://github.com/AndiDittrich/EnlighterJS/pull/14)
|
||||
* Added: [Squirrel](http://www.squirrel-lang.org/) Language support - thanks to [DevynCJohnson on GitHub](https://github.com/AndiDittrich/EnlighterJS/pull/16)
|
||||
* Added: [General Assembly Language support](https://en.wikipedia.org/wiki/Assembly_language) - feature requested on [GitHub](https://github.com/AndiDittrich/EnlighterJS/issues/12)
|
||||
* Added: [LUA](http://www.lua.org/) Language support
|
||||
* Added: Minimal Theme (bright, high contrast)
|
||||
* Added: Atomic Theme (dark, colorful)
|
||||
* Added: Rowhammer Theme (light)
|
||||
* Added: new social buttons to the website
|
||||
* Added: contribution guidelines
|
||||
* Added: missing AVR Assembly features (used [AVR-1022](www.atmel.com/Images/doc1022.pdf) reference)
|
||||
* Added: new AVR Assembly testcase/example
|
||||
* Added: support for multiple matching groups within patterns - thanks to [Krusen on GitHub](https://github.com/AndiDittrich/EnlighterJS/pull/11)
|
||||
* Added: dispose() function to remove generated HTML from DOM - may required for high dynamic sites - feature requested on [GitHub](https://github.com/AndiDittrich/EnlighterJS/issues/9)
|
||||
* Changed: used GFM style for the documentation (will break outdated MooTools-Forge markdown parser)
|
||||
* Changed: the file extensions of `ThemeDevelopment` and `LanguageDevelopment` are changed to `.html` because PHP is not needed anymore during language/theme development
|
||||
* Changed: removed some javascript keywords like `stop`, `close`
|
||||
* Bugfix: removed `console.log` debugging output from tokenizer
|
||||
* EnlighterJS has a new home **http://enlighterjs.org**
|
||||
|
||||
### Version 2.9 ###
|
||||
* Bugfix: the final character of highlighted code got removed by the tokenizer engine in case it's a text token with length=1 - thanks to [dan-j on GitHub](https://github.com/AndiDittrich/WordPress.Enlighter/issues/15)
|
||||
* Bugfix: Generic highlighting was accidentally removed from EnlighterJS
|
||||
|
||||
### Version 2.8.0 ###
|
||||
* Bugfix: Under some special conditions the tokenizer repeats the last sequence of a codeblock - thanks to [Kalydon](https://github.com/AndiDittrich/EnlighterJS/issues/8) and [dan-j on GitHub](https://github.com/AndiDittrich/WordPress.Enlighter/issues/13)
|
||||
* Bugfix: Wrong CSS Meta Data within the new Themes
|
||||
|
||||
### Version 2.7.0 ###
|
||||
* Added: [Rust](http://www.rust-lang.org/) language support - feature requested on [GitHub](https://github.com/AndiDittrich/EnlighterJS/issues/7)
|
||||
* Added: [VHDL](http://en.wikipedia.org/wiki/VHDL) language support
|
||||
* Added: [Matlab](http://en.wikipedia.org/wiki/MATLAB) language support
|
||||
* Added: New Shell/Bash language engine
|
||||
* Added: New PHP language engine
|
||||
* Added: New CSS language engine - some styles have changed!
|
||||
* Added: Shell script example
|
||||
* Added: "MooTwo" theme inspired by the mootools.net website
|
||||
* Added: "Godzilla" theme inspired by the MDN
|
||||
* Added: "Droide" theme
|
||||
* Added: New EnlighterJS Info Button (Toolbar)
|
||||
* Added: New Tokenizer Engine which increases the rendering performance by nearly **700%**
|
||||
* Added: Manifest `package.json` file to load required Node.js dependencies via npm (required for the build process)
|
||||
* Moved: `LanguageDevelopment.html` and `ThemeDevelopment.html` back to the project root
|
||||
* Removed: Build/Sources.json file - replaced by `.tmp/js.txt` and `.tmp/css.txt` (list of all used source files - required for development only!)
|
||||
* Removed: Old Tokenizer Engines (`Smart`, `Lazy`, `Tokenizer`)
|
||||
* Removed: CSS Class `unknown` from un-highlighted tokens (text)
|
||||
* Bugfix: The Theme Selector of the language demo pages doesn't remove the default styles
|
||||
* Bugfix: Wrong highlighting class used for SQL comments
|
||||
* Changed: Smart Tokenizer Engine is used instead of the old Lazy Bruteforce matching
|
||||
* Changed: All Fonts of the modern Themes are replaced by "Source Code Pro" as default
|
||||
* Changed: CSS theme sources are converted to [LESS](http://lesscss.org)
|
||||
* Changed: Classic Themes `kw3` color switched with `kw4`
|
||||
* Changed: The *hover* css-class is now added to the outer `ol,ul` container instead of each `li` line - all themes have been adapted
|
||||
* Changed: Inline gif imaages are used for the button toolbar instead of png images (size optimization)
|
||||
* Many performance improvements
|
||||
* Reduced the CSS and JS file-size by massive sourcecode optimizations (43kB JS; 28KB CSS; including all Themes and Languages!)
|
||||
* New EnlighterJS Project Website
|
||||
|
||||
|
||||
### Version 2.6.0 ###
|
||||
* Added input/output TextFilter
|
||||
* Added: Native JSON markup language support
|
||||
* Added: Extended JSON language examples
|
||||
* Added: Support for the [Cryptex WordPress Plugin](https://wordpress.org/plugins/cryptex)
|
||||
* Added: New PHP Language Example
|
||||
* Added: Alias `conf` for ini files
|
||||
* Registered EnlighterJS within [bower](http://bower.io) package manager
|
||||
* Some performance improvements (raw code is now cached)
|
||||
* Semantic Versioning [semver](http://semver.org/) is used for releases
|
||||
|
||||
### Version 2.5 ###
|
||||
* Added DOM abstraction layer
|
||||
* Added: Language "AVR Assembler"
|
||||
* Added: Language "Ini" (ini, conf, property files)
|
||||
* Added: XML Namespace highlighting
|
||||
* Added: Theme Switcher to the Language Examples
|
||||
* Changed: kw3 with kw4 color of the beyond-theme
|
||||
* Changed: The compressed JS/CSS files are now named `Enlighter.min.js` and `Enlighter.min.css`
|
||||
* Changed: javascript [Strict mode](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode) is used within the plugin namespace
|
||||
* Changed: All Examples are moved to `Examples/`
|
||||
* Bugfix: Screenshots are not available within the `PublicHtml` build
|
||||
* Bugfix: Invalid bootstrap css paths within `Development.phtml`
|
||||
* Bugfix: Highlighting of multi-line XML/HTML tags failed - thanks to [Suleiman19 on GitHub](https://github.com/AndiDittrich/WordPress.Enlighter/issues/8)
|
||||
* Removed: ant-contrib package from utils
|
||||
* Updated: MooTools to 1.5.1
|
||||
* Replaced YUI Compressor by [UglifyJS2](https://github.com/mishoo/UglifyJS2) and [clean-css](https://github.com/jakubpawlowicz/clean-css)
|
||||
|
||||
### Version 2.4 ###
|
||||
* Bugfix: Wrong line-font-size in the Enlighter-Theme YAML header
|
||||
* Bugfix: Wrong styles within the Beyond-Themes YAML header
|
||||
* Bugfix: Wrong line-font-size in the Eclipse-Theme YAML header
|
||||
* Bugfix: General fixes within the Documentation
|
||||
|
||||
### Version 2.3 ###
|
||||
* Added Theme "Classic"
|
||||
* Added Theme "Eclipse"
|
||||
* Added Theme "Beyond"
|
||||
* Added Language "Diff" for changelogs
|
||||
* Added optional "Code Window" button which displays the raw-code in a new window
|
||||
* Added optional "Info Button"
|
||||
* Added "Toolbar Container" (containing all buttons)
|
||||
* Added Metainit options `data-windowbutton` and `data-infobutton`
|
||||
* Added `LanguageDevelopment.html` and `ThemeDevelopment.html` for rapid development startup
|
||||
* Addded `EnlighterJS.Util.Init` utility function for easy script based initialization of inline+block code
|
||||
* Added new Quickstart-page
|
||||
* Added new Examples - including the new `EnlighterJS.Util.Init` utility function as well as some advanced examples!
|
||||
* Added optional doubleklick event to toggle between highlighted- and raw-code
|
||||
* Added new intro page
|
||||
* Added new NSIS command as of NSIS 3.0b1 (see [release notes](http://nsis.sourceforge.net/Docs/AppendixF.html#v3.0b1-rl)) by [idleberg](https://github.com/idleberg)
|
||||
* Changed XML coloring-scheme: comments are now handled as `co2` (multiline comments)
|
||||
* Changed hover and specialline highlighting color of the Enlighter-Theme
|
||||
* Chnaged button visibility: all toolbar buttons are visible by default
|
||||
* Updated MooTools to the [NEW 1.5 Release](http://mootools.net/blog/2014/05/19/mootools-1-5-is-here/)
|
||||
* Updated Bootstrap (used for the Examples) to `v3.2.0`
|
||||
* Removed unused attribute `id` from generated container-element
|
||||
* Replaced `.firstline` and `.lastLine` css classes with native :first-child/:last-child
|
||||
* Replaced the `DynamicSourcefileLoader` (introduced in v2.0) with a PHP based version into `Development.phtml` (this will avoid some strange errors during debugging)´
|
||||
* Replaced `div` toolbar-button containers by `a` tags - title attribute supported for buildin tooltips
|
||||
* Replaced text-buttons with icons
|
||||
* Renamed javascript language "js" to "javascript" - an alias is added for backward compatibility
|
||||
* Tested EnlighterJS with MooTools 1.5
|
||||
* Some internal changes (Theme CSS; HTML Structure; Toolbar buttons outsourced to `UI/Toolbar.js`)
|
||||
* Moved the Documentation to `Docs/` and seperated the sections by file - `README.md` is automatically generated during the build-process
|
||||
|
||||
### Version 2.2.1 ###
|
||||
* Added Web-based Build-Service to easily generate custom EnlighterJS packages
|
||||
* Added Webbuild Target (used for Promethium CloudBuilder Service)
|
||||
* Improved Build-File
|
||||
* Removed "Util/human-readable-filter.xml" - formattings moved into the "concat-compress" task
|
||||
* Bugfix: Invalid directory names within buildfile
|
||||
|
||||
### Version 2.2 ###
|
||||
* Added language support for C# (csharp) [provided by Joshua Maag](https://github.com/joshmaag)
|
||||
* Added C# language example
|
||||
* Added language alias "c#" for language csharp
|
||||
* Changed: using YUI compressed file within Examples+PublicHtml pages
|
||||
* Bugfix: Indentation of first line got lost - thanks to [cdonts](http://wordpress.org/support/topic/no-indentation-in-the-first-line?replies=2)
|
||||
|
||||
### Version 2.1 ###
|
||||
* Added Changelog to doc pages
|
||||
* Added Inline Highlighting example to the Theme-Demo page
|
||||
* Added Build Version to doc pages
|
||||
* Added option `ampersandCleanup` to enable/disable code cleanup for ampersand signs
|
||||
* Added YAML metadata to each theme containing basic style informations - used within the official [Enlighter WordPress Plugin](http://wordpress.org/plugins/enlighter/)
|
||||
* Improved theme designs
|
||||
* Changed the tab design of the "Git" Theme
|
||||
* Changed rgba background-color values of "Tutti" Theme to hex (#fffdf7)
|
||||
* Bugifx: Option "data-enlighter-offset" not recognized if local option "data-enlighter-linenumbers" was missing
|
||||
* Bugfix: Some CSS Container margin fixes
|
||||
* Bugfix: Global options got modified by EnlighterJS.Util.Helper (using codegroups) which caused an unexcepted behaviour (options of multiple instances got merged)
|
||||
* Bugfix: Added missing inline-theme-styles
|
||||
* Bugfix: Optional linenumber-offset not recognized for highlighting/pointing out special lines of code
|
||||
* Bugfix: Code cleanup for `nbsp;` escape sequence missing
|
||||
|
||||
### Version 2.0 ###
|
||||
* Added support for Inline-Syntax-Highlighting
|
||||
* Added Python Testcase
|
||||
* Added DynamicSourcefileLoader (js+css files) used for rapid-development without rebuild (only used within "Development.html")
|
||||
* Added Development Playground "Development.html"
|
||||
* Added Metainit selector options for inline and block content
|
||||
* Added Bootstrap based Demo/Testcases/Templates
|
||||
* Added New standard theme "Enlighter"
|
||||
* Added Metainit option to disable inline/block highlighting - just use `NULL` as selector
|
||||
* Added C Language Example
|
||||
* Added new Markdown Language Example
|
||||
* Added new Language Template `Source/Language/Template.mylang.js` with additional comments/instructions how to create your own language
|
||||
* Added optional line-number-offset (`start` attribute of `ol` tag used) - just add `data-enlighter-lineoffset="5"` to your codeblock
|
||||
* Added global option to enable/disable line-numbers. Local attribute overwrite via `data-enlighter-linenums="false"` is also available
|
||||
* Added javascript language aliases for `jquery`, `mootools` and `ext.js`
|
||||
* Added Inline code examples for each language
|
||||
* Added optional "raw code" button to toggle between highlighted and raw code (usefull to copy code with original identation) - option disabled by default
|
||||
* Improved Code Structure
|
||||
* Improved XML Testcase
|
||||
* Changed: "Compilers" replaced by `BlockRenderer` and `InlineRenderer` classes
|
||||
* Changed: Testcase data moved to "Resources/TestcaseData"
|
||||
* Changed: Renamed the old standard theme to "MooTools"
|
||||
* Changed: Type of EnlighterJS.Util.Helper is changed from `Class` to `Function` - an instance was never used/necessary
|
||||
* Changed: The option `compiler` is replaced by `renderer` Block/Inline
|
||||
* Changed: Demo-URL to `http://enlighterjs.andidittrich.de/`
|
||||
* Changed: CSS Class of the output container changed from `EnlighterJSRendererd` to `EnlighterJS`
|
||||
* Changed: `Quickstart.html` and `Development.html` moved to project root
|
||||
* Changed: Renamed language `md` to `markdown` - an alias is added for backward compatibility
|
||||
* Changed: Option `altline` renamed to `hover` (also used by Metainit)
|
||||
* Changed: Initialization of language parameters is now handled into `setupLanguage`
|
||||
* Changed: All Themes are derived from `Base.css`
|
||||
* Changed: The visibility of Line-Numbers is now controlled via global/local settings and not by the "compiler" option like in previous versions
|
||||
* Changed: Block-Content is now always displayed as `ol` or `ul` container, depending on the line-number setting.
|
||||
* Changed TabPane Container structure: `ul` item list is wrapped into a div container
|
||||
* Changed: Language "no-highlight" will not trigger the Enlighter Engine and keep your code as it is (no styles are added). To display unhighlighted code with the enlighter styles, use `raw` as language instead.
|
||||
* Changed: PHP is used to generate the Examples/Testcases
|
||||
* Changed XML styling behaviour: attribute values are now expressed as class-type `st0` (string0) instead of kw2
|
||||
* Changed: Java function-calls are now expressed as class-type `kw0` (keyword0)
|
||||
* Deprecated: The `EnlighterJS.light()` and `EnlighterJS.unlight()` methods got replaced by `enlight(bool)` - backward compatibility included until next major release
|
||||
* Deprecated: The `Element.light()` and `Element.unlight()` extensions got replaced by `Element.enlight(bool|object)` - backward compatibility included until next major release
|
||||
* Removed: Python ruby style multiline comments
|
||||
* Removed: EnlighterJS.Language.standard is replaced by EnlighterJS.Language.generic - an alias is added for backward compatibility
|
||||
* Removed the `compiler` option from Metainit options (not needed anymore: inline code is automatically handled by the InlineRenderer and all other code by the BlockRenderer)
|
||||
* Removed `C` language class (used as alias for `cpp` before - now implemented as language alias)
|
||||
* Removed `HTML` language class (used as alias for `xml` before - now implemented as language alias)
|
||||
* Removed unused language names from language files - each language is named/identified by it's own (lowercase) classname
|
||||
* Removed unused offsets from Tokenizers
|
||||
* Removed unused Tokenizer.Smart from builds
|
||||
* Updated ANT-contrib package to 1.0b3
|
||||
* Updated YUI Compressor to 2.4.8
|
||||
* Bugfix: Using Language-Aliases as default-language failed
|
||||
* Bugifx: Python used Ruby Multiline String comment style instead of `""" """; ''' '''`
|
||||
* Bugfix: CSS Class "unknown" added to TabPane container
|
||||
* Bugfix: Theme settings of TabPane failed using EnlighterJS.Util.Helper directly
|
||||
* Bugfix: Missing fallback when passing "null" as theme option
|
||||
* Bugfix: Code cleaning for Ampersand `&` was processed as last - to handle chains like `&lt;` => `<` => `<` it is now processed first
|
||||
* Bugfix: Added missing right+left borders to git theme
|
||||
|
||||
## Branch 1.x ##
|
||||
|
||||
### Version 1.8 ###
|
||||
* Added highlighting for special-lines, just add the attribute `data-enlighter-highlight="1,2,8-10"` to highlight the lines 1,2,8,9,10
|
||||
|
||||
### Version 1.7.1 ###
|
||||
* CSS Hotfix for bad linenumbers in Chrome @see http://wordpress.org/support/topic/bad-line-numbers-in-chrome?replies=3 - thanks to **cdonts**
|
||||
* Added JSON language alias (parsed as javascript)
|
||||
|
||||
### Version 1.7 ###
|
||||
* Added Language Aliases - e.g. "javascript" is a valid name for EnlighterJS.Language.js
|
||||
* Javascript -> js
|
||||
* Markdown -> md
|
||||
* no-highlight -> raw
|
||||
* bash -> shell
|
||||
* styles -> css
|
||||
* c++ -> cpp
|
||||
* Added check of default language within options - improoved fallback function to "standard" highlighting mode
|
||||
|
||||
### Version 1.6 ###
|
||||
* Fixed Testcase-Buildscript: Testcase files didn't got removed on build
|
||||
* Bugfix: Added missing check of unknown languages (throws javascript error)
|
||||
* Added RAW language: text is rendered unhighlighted
|
||||
* Added lowercase-text-transforms to language- and theme-names - "GIT, Git, git" are valid names for the "git" theme
|
||||
|
||||
### Version 1.5.2 ###
|
||||
* Added Plugin section to readme file
|
||||
|
||||
### Version 1.5.1 ###
|
||||
* fixed YAML header within NSIS language support
|
||||
|
||||
### Version 1.5 ###
|
||||
* Added language support for NSIS (Nullsoft Scriptable Install System) provided by Jan T. Sott
|
||||
|
||||
### Version 1.4 ###
|
||||
* Added Quickstart Example
|
||||
* Renamed *Tests/* to *Examples/*
|
||||
|
||||
### Version 1.3 ###
|
||||
* Added odd/even classes to Compiler.List
|
||||
* Added Version+Build informations to css+js builds
|
||||
|
||||
### Version 1.2 ###
|
||||
* Replaced Compiler.Inline with a new version (full DOM based handling)
|
||||
* Replaced Compiler.List with a new version (full DOM based handling)
|
||||
* Removed the Compiler.Lines (it does exactly the same as Compiler.List, but used div-elements)
|
||||
* Fixed rendering bug within html-comments (specialchars didn't got replaced - solved by new compilers)
|
||||
* Moved all subclasses into EnlighterJS object-namespace
|
||||
* Modified id-naming-scheme of generated output containers (old: Lighter_ + (new Date()); new: EnlighterJS_ + String.uniqueID())
|
||||
* Added class *EnlighterJSRendered* to generated container
|
||||
* Modiefied the css-classname for theming (old: <themename>Lighter; new: <themename>EnligherJS)
|
||||
* Replaced all standard-themes with rewritten versions - now they are all extending the standard theme, only the colors differs
|
||||
* Reduced the size of the css files to ~8kB
|
||||
* Enhanced the css robustness
|
||||
* Modified the usage of *altLines* option: altLines now defines a name of a css class which is added on each line of the *List* view
|
||||
|
||||
### Version 1.1 ###
|
||||
* Added Cpp and C language support
|
||||
* Added metatag-based initialization
|
||||
|
||||
### Version 1.0 ###
|
||||
|
||||
* Initial Release of EnlighterJS (fork of [Lighter.js](https://github.com/pradador/Lighter) v3.0)
|
||||
* Added ANT based build-script and utilities (YUI-compressor)
|
||||
* Included prebuilds within the new GIT repository
|
||||
* Added current MooTools build (1.4.5)
|
||||
* Modified the testcases (now generated by ANT-buildfile)
|
||||
* Renamed Fuels/Flames/Wick into conventional scheme Language/Themes/Token/Tokenizer
|
||||
* Added SQL, Java testcases
|
||||
* Added Apache Ant-contrib package (required for the new build script)
|
||||
* Removed Loader.js - themes&languages are now bundled with the build
|
||||
* Modified the complete software-architecture (tokenizers are now initialized by the chosen language)
|
||||
* Modified the usage - one EnlighterJS instance per codeblock is required (strict oop design)
|
||||
* Modified the usage - HTML5 data- attributes are used instead of css class attribute language:theme combo
|
||||
* Added XML and HTML support (incorrect html support got fixed)
|
||||
* Added support for tab based code-groups (displays multiple code-blocks within a tab-pane)
|
||||
* Removed the outdated class-documentation of Lighter.js (extensive documentation/inline comments are in the source files)
|
25
EnlighterJS/CONTRIBUTE.md
Normal file
|
@ -0,0 +1,25 @@
|
|||
|
||||
Contribution
|
||||
------------
|
||||
|
||||
EnlighterJS is OpenSource and managed on [GitHub](https://github.com/AndiDittrich/EnlighterJS) - if you like, you're welcome to contribute!
|
||||
To simplify the release and quality control process, please follow these remarks:
|
||||
|
||||
### Notices ###
|
||||
* Your commits/pull-request should only contain changes of the `Source/`, `Resources/TestcaseData` directories or the Examples located into the root directory - otherwise i have to merge the request manually
|
||||
* **Do not change** the files located into the `Examples/` or `Build/` directory - they are automatically generated during the build-process using data from `Resources/TestcaseData`
|
||||
* Related software packages like MooTools, Bootstrap, ANT-contrib are updated by the maintainer
|
||||
* If you form a concept of larger project changes, please [discuss](https://github.com/AndiDittrich/EnlighterJS/issues) them with the contributors **before** implementing
|
||||
|
||||
### Documentation ###
|
||||
* To change contents of the `README.md` file please edit the split files in `Docs/` - the readme file is automatically generated by merging these files during the build process
|
||||
|
||||
### Adding a new Language ###
|
||||
* First of all: take a look on other languages which are already available to learn about functions and coding styles
|
||||
* To start with a new language please use the `LanguageDevelopment.phtml` workspace. It will automatically load `Source/Language/Template.mylang.js` (the startup file for your language development).
|
||||
* Rename your language file `Template.mylang.js` to the **camel-cased** real language name - e.g. `Vhdl.js`
|
||||
* Add detailed comments to each language rule!
|
||||
* Keep the code as small as possible: e.g. use regex instead of long keyword lists
|
||||
* In case your language is a superset of another one, please **extend** the origin language - do not copy the origin file
|
||||
* Add an language testcase/demo to the `Resouces/TestcaseData` directory
|
||||
* Finally create a [Pull Request on GitHub](https://help.github.com/articles/creating-a-pull-request/) - your changes will be reviewed and commonly added to the project
|
244
EnlighterJS/Development.phtml
Normal file
|
@ -0,0 +1,244 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<!-- Favicon !-->
|
||||
<link rel="icon" href="Resources/favicon.png" type="image/png" />
|
||||
|
||||
<title>EnlighterJS Playground</title>
|
||||
|
||||
<!-- Bootstrap CSS - just 4 styling ;) -->
|
||||
<link rel="stylesheet" href="Resources/bootstrap/bootstrap.min.css" />
|
||||
<link href='https://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
|
||||
|
||||
|
||||
<!-- EnlighterJS Styles -->
|
||||
<?php
|
||||
require('Util/global.php');
|
||||
|
||||
$theme = 'eclipse';
|
||||
|
||||
foreach ($sources->css as $css){
|
||||
echo '<link rel="stylesheet" href="', $css, '" />', "\n";
|
||||
}
|
||||
?>
|
||||
<link rel="stylesheet" href="Source/Themes/Minimal.css?<?php echo time() ?>" />
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="Resources/MooTools.min.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
// attention: don't use load or domready here! the jsloaded event is triggered by DynamicSourcefileLoader
|
||||
window.addEvent('domready', function(){
|
||||
|
||||
var options = {
|
||||
language : 'js',
|
||||
theme: 'minimal',
|
||||
rawButton: true,
|
||||
windowButton: true,
|
||||
indent : 2,
|
||||
infoButton: true,
|
||||
showLinenumbers: true
|
||||
};
|
||||
|
||||
//document.getElements('pre.special').enlight(options);
|
||||
|
||||
//document.id('NoLight').enlight(true).enlight(false);
|
||||
EnlighterJS.Util.Init('pre', 'code', options);
|
||||
/*
|
||||
EnlighterJS.Util.Helper(document.getElements('pre.special'), Object.merge(options,{
|
||||
renderer : 'Block',
|
||||
}));
|
||||
|
||||
EnlighterJS.Util.Helper(document.getElements('code.special'), Object.merge(options,{
|
||||
renderer : 'Inline',
|
||||
}));
|
||||
*/
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/css">
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Begin page content -->
|
||||
<div class="container">
|
||||
|
||||
<h1>
|
||||
<strong>EnlighterJS</strong> <small>Development Playground</small>
|
||||
</h1>
|
||||
|
||||
<div id="content">
|
||||
<!-- ############################################################# -->
|
||||
|
||||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="lua">local a = "Double Quoted\nString"</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="lua">
|
||||
-- SOURCE: http://www.lua.org/manual/5.3/manual.html
|
||||
|
||||
-- COMMENTS
|
||||
-- --------------------------------------------------
|
||||
|
||||
-- This is a single line comment
|
||||
print "Hello World!"
|
||||
|
||||
--[[Comments can be spread
|
||||
across several lines ]]
|
||||
print "Hello World!"
|
||||
|
||||
---[[The long handled doubleshovel means that this code will run
|
||||
print "This will print because it is not a comment!"
|
||||
-- We can still include comments by prefixing them with a doubledash
|
||||
-- print "This will not print because it is commented out"
|
||||
]]
|
||||
|
||||
-- STRINGS
|
||||
-- --------------------------------------------------
|
||||
local a = "Double Quoted\nString"
|
||||
local b = 'Double Quoted\nString'
|
||||
local c = [[Multi
|
||||
Line String
|
||||
]]
|
||||
|
||||
a = 'alo\n123"'
|
||||
a = "alo\n123\""
|
||||
a = '\97lo\10\04923"'
|
||||
a = [[alo
|
||||
123"]]
|
||||
a = [==[
|
||||
alo
|
||||
123"]==]
|
||||
|
||||
-- NUMBERS
|
||||
-- --------------------------------------------------
|
||||
a = 4
|
||||
b = 0.4
|
||||
c = 4.57e-3
|
||||
D = 0.3e12
|
||||
e = 5e+20
|
||||
|
||||
-- TABLES
|
||||
-- --------------------------------------------------
|
||||
a = {} -- create a table and store its reference in `a'
|
||||
k = "x"
|
||||
a[k] = 10 -- new entry, with key="x" and value=10
|
||||
a[20] = "great" -- new entry, with key=20 and value="great"
|
||||
print(a["x"]) --> 10
|
||||
k = 20
|
||||
print(a[k]) --> "great"
|
||||
a["x"] = a["x"] + 1 -- increments entry "x"
|
||||
print(a["x"]) --> 11
|
||||
|
||||
days = {"Sunday", "Monday", "Tuesday", "Wednesday",
|
||||
"Thursday", "Friday", "Saturday"}
|
||||
|
||||
-- EXAMPLE
|
||||
-- --------------------------------------------------
|
||||
line = io.read() -- read a line
|
||||
n = tonumber(line) -- try to convert it to a number
|
||||
if n == nil then
|
||||
error(line .. " is not a valid number")
|
||||
else
|
||||
print(n*2)
|
||||
end
|
||||
|
||||
function foo (a)
|
||||
print("foo", a)
|
||||
return coroutine.yield(2*a)
|
||||
end
|
||||
|
||||
co = coroutine.create(function (a,b)
|
||||
print("co-body", a, b)
|
||||
local r = foo(a+1)
|
||||
print("co-body", r)
|
||||
local r, s = coroutine.yield(a+b, a-b)
|
||||
print("co-body", r, s)
|
||||
return b, "end"
|
||||
end)
|
||||
|
||||
print("main", coroutine.resume(co, 1, 10))
|
||||
print("main", coroutine.resume(co, "r"))
|
||||
print("main", coroutine.resume(co, "x", "y"))
|
||||
print("main", coroutine.resume(co, "x", "y"))
|
||||
|
||||
list = nil
|
||||
for line in io.lines() do
|
||||
list = {next=list, value=line}
|
||||
end
|
||||
|
||||
x = 10
|
||||
local i = 1 -- local to the chunk
|
||||
|
||||
while i<=x do
|
||||
local x = i*2 -- local to the while body
|
||||
print(x) --> 2, 4, 6, 8, ...
|
||||
i = i + 1
|
||||
end
|
||||
|
||||
if i > 20 then
|
||||
local x -- local to the "then" body
|
||||
x = 20
|
||||
print(x + 2)
|
||||
else
|
||||
print(x) --> 10 (the global one)
|
||||
end
|
||||
|
||||
print(x) --> 10 (the global one)
|
||||
|
||||
|
||||
|
||||
do
|
||||
local a2 = 2*a
|
||||
local d = sqrt(b^2 - 4*a*c)
|
||||
x1 = (-b + d)/a2
|
||||
x2 = (-b - d)/a2
|
||||
end -- scope of `a2' and `d' ends here
|
||||
print(x1, x2)
|
||||
</pre>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- ############################################################# -->
|
||||
</div>
|
||||
<!-- // content -->
|
||||
|
||||
|
||||
</div>
|
||||
<!-- // container -->
|
||||
|
||||
<!-- Sticky Footer Message -->
|
||||
<div id="footer">
|
||||
<div class="container">
|
||||
<p class="">
|
||||
<strong>EnlighterJS</strong> is developed by <a href="http://andidittrich.de">Andi Dittrich</a><br /> <a href="https://github.com/AndiDittrich/EnlighterJS/archive/master.zip">Download</a> EnlighterJS on <a href="https://github.com/AndiDittrich/EnlighterJS">GitHub</a> | It's released under the Terms of <a href="../LICENSE.md">MIT X11 License</a> | Demo created with <a href="http://getbootstrap.com">Bootstrap</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- // Sticky Footer Message -->
|
||||
|
||||
<!-- EnlighterJS Sourcefiles -->
|
||||
<script type="text/javascript">/* <![CDATA[ */
|
||||
(function(){
|
||||
'use strict';
|
||||
<?php
|
||||
foreach ($sources->js as $js){
|
||||
$x = file_get_contents($js);
|
||||
echo preg_replace('#^/\*[\s\S]+\*/#Ui', '', $x);
|
||||
}
|
||||
?>
|
||||
})();
|
||||
/* ]]> */</script>
|
||||
|
||||
</body>
|
||||
</html>
|
127
EnlighterJS/Docs/01-Intro.md
Normal file
|
@ -0,0 +1,127 @@
|
|||
EnlighterJS
|
||||
===========
|
||||
|
||||
EnlighterJS is a free, easy-to-use, syntax highlighting class developed for [MooTools](http://mootools.net "MooTools.net").
|
||||
Using it can be as simple as adding a single script and style to your website, choosing the elements you wish to highlight, and EnlighterJS takes care of the rest.
|
||||
It also supports Inline-Syntax-Highlighting as well as the automatic creation of tab-panes to display groups of code together (useful for multi-language examples - e.g. html+css+js)
|
||||
Take a look into the [Documentation](http://enlighterjs.org/Documentation.html) or view the [Theme Demo](http://enlighterjs.org/Themes.html)
|
||||
|
||||
### Download ###
|
||||
* [Download Latest Release](https://github.com/AndiDittrich/EnlighterJS/releases/latest)
|
||||
* [Custom-Builds](http://enlighterjs.org/Builder.html)
|
||||
|
||||

|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
* Written in MooTools. Requires version 1.4+
|
||||
* Build-in support for most commonly used languages
|
||||
* Easy to use with familiar MooTools syntax.
|
||||
* Supports code-groups (displays multiple code-blocks within a tab-pane)
|
||||
* Includes Inline Syntax highlighting
|
||||
* Extensible language and theme engines - add your own one.
|
||||
* Simple CSS based themes
|
||||
* ANT build-script included for easy custom builds (Web-based Customizer also available)
|
||||
* Small footprint
|
||||
* Point out special lines of code
|
||||
* Initialization can be performed by adding a simple html meta-tag or using a small piece of javascript
|
||||
* Toolbar buttons to switch to raw-code or open it into a new window
|
||||
|
||||
Plugins
|
||||
-------
|
||||
* [Enlighter for WordPress](http://wordpress.org/plugins/enlighter/) - The official EnlighterJS plugin for WordPress
|
||||
|
||||
How to use
|
||||
----------
|
||||
This is a minimalistic example how to highlight sourcecode with EnlighterJS. The working example (correct js+css paths) is available within the EnlighterJS package (Example1.html).
|
||||
|
||||
```HTML
|
||||
<head>
|
||||
...
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="EnlighterJS.min.css" />
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="mootools-core-nocompat.min.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="EnlighterJS.min.js" ></script>
|
||||
|
||||
<!-- Initialize EnlighterJS -->
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-indent="4" data-selector-block="pre" data-selector-inline="code.special" />
|
||||
...
|
||||
</head>
|
||||
<body>
|
||||
...
|
||||
<!-- This code will be highlighted as Javascript !-->
|
||||
<pre data-enlighter-language="js">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
...
|
||||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, <code class="special">window.addEvent('domready', function(){});</code> labore et dolore magna aliquyam erat.</p>
|
||||
</body>
|
||||
```
|
||||
|
||||
Build-in Languages & Themes
|
||||
---------------------------
|
||||
The following Themes and Languages are included into the EnlighterJS standard package:
|
||||
|
||||
### Languages ###
|
||||
List of languages with their corresponding identifiers and supported aliases (wrapped into brackets behind the names)
|
||||
|
||||
* **Assembly** (asm)
|
||||
* **AVR Assembly** (avrasm)
|
||||
* **CSS** (css)
|
||||
* **C** (c)
|
||||
* **C++** (cpp, c++)
|
||||
* **C#** (csharp)
|
||||
* **Cython** (cython)
|
||||
* **HTML** (html)
|
||||
* **Ini** (ini, conf)
|
||||
* **Java** (java)
|
||||
* **Javascript** (js, javascript, jquery, mootools, ext.js)
|
||||
* **JSON** (json)
|
||||
* **LUA** (lua)
|
||||
* **NSIS** (nsis)
|
||||
* **Markdown** (md, markdown)
|
||||
* **Matlab/Octave** (octave, matlab)
|
||||
* **PHP** (php)
|
||||
* **Python** (py, python)
|
||||
* **Ruby** (ruby(
|
||||
* **Shellscript** (shell, bash)
|
||||
* **SQL** (sql)
|
||||
* **Squirrel** (squirrel)
|
||||
* **XML** (xml)
|
||||
* **Generic** (generic, standard) - default highlighting scheme
|
||||
* **RAW** (raw) - raw code without highlighting with EnlighterJS container styles!
|
||||
* **No-Highlight** (no-highlight) - disables highlighting and retains your page styles!
|
||||
|
||||
### Themes ###
|
||||
Theme identifiers are always expressed as lowercase!
|
||||
|
||||
#### Modern Themes ####
|
||||
* **Enlighter** (enlighter, standard) - Enlighter`s default Theme
|
||||
* **Classic** (classic) - SyntaxHighlighter inspired
|
||||
* **Eclipse** (eclipse) - Eclipse inspired
|
||||
* **Beyond** (beyond) - BeyondTechnology Theme
|
||||
* **Godzilla** (godzilla) - A MDN inspired Theme
|
||||
* **MooTwo** (mootwo) - Inspired by the current MooTools Website
|
||||
* **Droide** (droide) - Modern, minimalistic
|
||||
* **Minimal** (minimal) - Bright, High contrast
|
||||
* **Atomic** (atomic) - Dark, Colorful
|
||||
* **Rowhammer** (rowhammer) - Light, Transparent, divided rows
|
||||
|
||||
#### Legacy Themes (Lighter.js) ####
|
||||
* **MooTools** (mootools) - MooTools Docs inspired Theme
|
||||
* **Git** (git) - GitHub inspired
|
||||
* **Mocha** (mocha)
|
||||
* **Panic** (panic)
|
||||
* **Tutti** (tutti)
|
||||
* **Twilight** (twilight)
|
111
EnlighterJS/Docs/20-Usage.md
Normal file
|
@ -0,0 +1,111 @@
|
|||
|
||||
Basic Usage
|
||||
-----------
|
||||
|
||||
Download EnlighterJS and extract the files or use [bower](http://bower.io).
|
||||
|
||||
```shell
|
||||
$bower install enlighterjs
|
||||
```
|
||||
|
||||
Copy the prebuild files of the *Build/* directory into a web-accessible directory of your choice.
|
||||
|
||||
Link to the EnlighterJS.min.js javascript file and the EnlighterJS.min.css stylesheet in the head section of your document **after** the MooTools file.
|
||||
The example below assumes you moved the files into your scripts folder under "js/" and your styles folder under "css/".
|
||||
The extension .min indicates that these files are already minified. **These files are ready for productive use!**
|
||||
If you want to start developing, you should consider to use the uncompressed versions for easier debugging!
|
||||
|
||||
Rendering options can be defined as global option (Metainit attributes or options object) or local option using the `data-enlighter-` attributes on each codeblock.
|
||||
It is recommended to use local options only if necessary (e.g. to define a language for each block).
|
||||
|
||||
### Integrate EnlighterJS ###
|
||||
|
||||
The integration of EnlighterJS requires the following 3 steps:
|
||||
1. Integrate MooTools.Core, EnlighterJS Script+Styles into your page
|
||||
2. Prepare your source code elements on your page by adding a language identifier
|
||||
3. ["Initialize"](#initialization) EnlighterJS to highlight the code
|
||||
|
||||
Link to the EnlighterJS.yui.js javascript file and the EnlighterJS.yui.css stylesheet
|
||||
|
||||
```html
|
||||
<head>
|
||||
...
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="css/EnlighterJS.min.css" />
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="js/mootools-core-1.5.0-full-nocompat.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="js/EnlighterJS.min.js" ></script>
|
||||
...
|
||||
</head>
|
||||
```
|
||||
|
||||
Prepare your source code by giving the element (containing the code) an optional *data-enlighter-language* attribute with the language of the code.
|
||||
**Notice**: Instead of Lighter.js *fuel:flame' syntax combo within the css classname, EnlighterJS will use HTML5 `data-` attributes!
|
||||
|
||||
```html
|
||||
<!-- Syntax highlight using Javascript and default theme -->
|
||||
<pre data-enlighter-language="js">var myClass = new Class({})</pre>
|
||||
|
||||
<!-- Syntax highlight using the Git Theme with default language-->
|
||||
<pre data-enlighter-theme="git">php_info();</pre>
|
||||
```
|
||||
|
||||
Finally, use the following JavaScript code examples inside of a 'domready' or 'onload' callback to create the highlighted elements - this process is called *initialization*.
|
||||
Be sure to check out the Options section to see the various options you can use. The Example pages have various examples you can use.
|
||||
Further informations as well as some advanced examples are available within the [Initialization Section](#initialization).
|
||||
|
||||
```js
|
||||
// Use the Init utility function to highlight all pre elements - this is the recommended way and required to use the Code-Group feature
|
||||
EnlighterJS.Util.Init('pre', null, {
|
||||
language: 'php',
|
||||
theme: 'Classic'
|
||||
});
|
||||
```
|
||||
|
||||
Instead of initializing EnlighterJS manually, since version 1.1 it is possible to use a simple html-metatag (called *EnlighterJS Metainit*) to run Enlighter on your page (with basic config options).
|
||||
|
||||
```html
|
||||
<!-- Initialize EnlighterJS -->
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-language="php" data-theme="Enlighter" data-indent="2" />
|
||||
```
|
||||
|
||||
### Some Examples ###
|
||||
Since version 1.8, it's possible to highlight special lines of code. Just add the attribute `data-enlighter-highlight` to your codeblock and provide a set of lines to mark (ranges supported).
|
||||
|
||||
```html
|
||||
<!-- just highlight line number 2 !-->
|
||||
<pre data-enlighter-language="js" data-enlighter-highlight="2">
|
||||
this.tokens = tokens || [];
|
||||
options = this.options;
|
||||
</pre>
|
||||
|
||||
<!-- highlight line 2,3,4 !-->
|
||||
<pre data-enlighter-language="js" data-enlighter-highlight="2-4">
|
||||
EnlighterJS.Util.Init('pre', null, {
|
||||
indent : 2,
|
||||
grouping: false
|
||||
});
|
||||
</pre>
|
||||
```
|
||||
|
||||
Version 2.0 introduces some amazing features like Inline-Syntax-Highlighting. The [Metainit](#metainit_initialization) tool performs this action automatically.
|
||||
|
||||
```js
|
||||
// Highlight all pre(block) + code(inline) tags and use Javascript as default language
|
||||
EnlighterJS.Util.Init('pre', 'code', {
|
||||
language: 'javascript'
|
||||
});
|
||||
```
|
||||
|
||||
In some cases it might be usefull to start the linnumber counting with another value than 1 (maybe an excerpt). In this case you can add the `data-enlighter-lineoffset` attribute to your codeblock.
|
||||
|
||||
```html
|
||||
<!-- start linenumber counting with line 15 !-->
|
||||
<pre data-enlighter-language="js" data-enlighter-lineoffset="15">
|
||||
this.tokens = tokens || [];
|
||||
options = this.options;
|
||||
</pre>
|
||||
```
|
91
EnlighterJS/Docs/30-Initialization.md
Normal file
|
@ -0,0 +1,91 @@
|
|||
|
||||
Initialization
|
||||
--------------
|
||||
|
||||
Initialization means, that all elements (you wish to highlight) get selected and rendered by EnlighterJS. The original codeblock is set invisible and the rendered one is injected after. This task can be performed in **two different ways**:
|
||||
|
||||
### 1. Metainit Initialization ##
|
||||
Instead of initializing EnlighterJS by javascript, it's possible to use a simple html-metatag (called *EnlighterJS Metainit*) to run Enlighter on your page (with basic config options). This will be usefull if you only need a basic setup. Take a look into the examples *Examples/Testcase.Metainit.html* to see how it is working!
|
||||
Basically Metainit takes the given html attribute options and converts them into a options object. These options will be passed to the `Enlighter.Util.Helper()` utility function - for inline elements (InlineRenderer) identified by `data-selector-inline` as well as block elements (BlockRenderer) by `data-selector-block`.
|
||||
This will take all the work for you by adding a single line to the head section to use all the amazing EnlighterJS features like Inline-Syntax-Highlighting or CodeGroups!
|
||||
|
||||
#### Example ####
|
||||
Description: It enables block highlighting for all `pre` elements on the page as well as inline highlighting for all `code` elements. Javascript is set as default language used for highlighting. Each tab is replaced by four spaces to avoid rendering issues. Additionally the "raw code button" is enabled which allows the user to toggle between highlighted and unhighlighted code (e.g. to copy code).
|
||||
|
||||
```html
|
||||
<!-- Initialize EnlighterJS -->
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-indent="4" data-selector-block="pre" data-selector-inline="code" data-rawcodebutton="true" data-language="javascript" />
|
||||
```
|
||||
|
||||
#### Attributes ####
|
||||
Following attributes are available (optional) and will be converted to the required options object to trigger `EnlighterJS.Util.Helper`. Take a look into the Metainit.js sources to see how it is working.
|
||||
|
||||
* **name** (string) **REQUIRED** - This attribute identifies the metatag and has to be set to "EnlighterJS" (case sensitive)
|
||||
* **data-language** (string) - Sets the default language of every codeblock (inline+block) on the page - default: **generic**
|
||||
* **data-theme** (string) - Sets the default theme of every codeblock (inline+block) on the page - default: **enlighter**
|
||||
* **data-indent** (number) - Number of spaces to replace tabs with (-1 means no replacement) - default: **-1**
|
||||
* **data-selector-block** (string) - The CSS selector to match all codeblocks for block-highlighting. Use "NULL" to disable block highlighting - default: **pre**
|
||||
* **data-selector-inline** (string) - The CSS selector to match all codeblocks for inline-highlighting. Use "NULL" to disable inline highlighting - default: **code**
|
||||
* **data-rawcodebutton** (boolean) - Enables the optional "RAW Code Button" which will appear in ever codeblock (Block Renderer) to switch between highlighted and un-highlighted code - default: **false**
|
||||
* **data-windowwbutton** (boolean) - Enables the optional " Button" which
|
||||
* **data-infobutton** (boolean) - Enables the optional " Button" which
|
||||
* **data-linenumbers** (boolean) - Display line-numbers in code-blocks (ol/li list used as container) - default: **true**
|
||||
* **data-hover** (string) - Defines a css-classname which is added to each line. To enable build-in hover effects set it to "hoverEnabled" (default), *null* to disable it or to any custom class - default: **"hoverEnabled"**
|
||||
|
||||
### 2. Javacript based Initialization ###
|
||||
EnlighterJS provides 4 ways to get manually initialized:
|
||||
|
||||
* Use the native `Element.enlight()` method which will automatically creates an EnlighterJS instance of the selected single element
|
||||
* Create a new instance of `EnlighterJS` and provide the single element to highlight
|
||||
* To use Code-Groups you have to use `EnlighterJS.Util.Helper` utility function
|
||||
|
||||
**Notice:** You can pass any of the [Global Options](#global_options) with each method. Every method will invoke the `EnlighterJS` constructor.
|
||||
|
||||
#### Option 1 - Native Element extension ####
|
||||
|
||||
```js
|
||||
// get element by it's ID and activate highlighting using markdown as language
|
||||
document.id('myCustomCode').enlight({
|
||||
language: 'ruby',
|
||||
indent: 2
|
||||
});
|
||||
|
||||
// disable highlighting
|
||||
document.id('myCustomCode').enlight(false);
|
||||
|
||||
// remove highlighting (drop generated HTML from DOM)
|
||||
document.id('myHighlightedCode').enlight('dispose');
|
||||
```
|
||||
|
||||
#### Option 2 - Use an EnlighterJS instance (OOP Style) ####
|
||||
|
||||
```js
|
||||
// create a new EnlighterJS instance
|
||||
var myEnlighter = new EnlighterJS(document.id('myCustomCode'), {
|
||||
language: 'php',
|
||||
showLinenumbers: false
|
||||
});
|
||||
|
||||
// enable highlighting
|
||||
myEnlighter.enlight(true);
|
||||
|
||||
// remove highlighting (drop generated HTML from DOM)
|
||||
myEnlighter.dispose();
|
||||
```
|
||||
|
||||
#### Option 3 - Use an EnlighterJS.Util.Helper utility function ####
|
||||
|
||||
```js
|
||||
// Highlight all code tags (inline code) and use Javascript as default language
|
||||
EnlighterJS.Util.Helper(document.getElements('code'), {
|
||||
language: 'javascript',
|
||||
renderer: 'Inline'
|
||||
});
|
||||
|
||||
// OPTION1 - Element style syntax - get element by it's ID
|
||||
document.id('myJsCode').enlight(true);
|
||||
|
||||
// OPTION2 - Element style syntax - highlight all pre elements with the class *myPhp*
|
||||
// an EnlighterJS instance is automatically created
|
||||
document.getElements('pre.myPhp').enlight({language: php});
|
||||
```
|
76
EnlighterJS/Docs/40-Options.md
Normal file
|
@ -0,0 +1,76 @@
|
|||
|
||||
Options
|
||||
-------
|
||||
|
||||
Customize EnlighterJS` appearance by using the following configuration options. Try to start with one of the Example pages!
|
||||
|
||||
### Global Options ###
|
||||
|
||||
The following options can be passed to the following methods to customize the rendering behaviour:
|
||||
* `EnlighterJS(codeblockElement, options = {}, container = null)` constructor
|
||||
* `EnlighterJS.Util.Helper(elements, options = {})` utility function
|
||||
* `EnlighterJS.Util.Init(blockSelector, inlineSelector, options= {})` utility function (recommended)
|
||||
|
||||
#### Option Keys ####
|
||||
* **language** - (string) The default language used if no `data-enlighter-language` attibutes are used - default: **"generic"**
|
||||
* **theme** - (string) The default theme used if no `data-enlighter-theme` attibutes are used - default: **"enlighter"**
|
||||
* **indent** - (integer) Number of spaces to replace tabs with (-1 means no replacement) - default: **-1**
|
||||
* **hover** - (string) Defines a css-classname which is added to each line. To enable build-in hover effects set it to "hoverEnabled" (default), *null* to disable it or to any custom class - default: **"hoverEnabled"**
|
||||
* **oddClassname** - (string) CSS-classname of all odd lines - default: **"odd"**
|
||||
* **evenClassname** - (string) CSS-classname of all even lines - default: **"even"**
|
||||
* **showLinenumbers** - (boolean) Display line-numbers in code-blocks (ol/li list used as container) - default: **true**
|
||||
* **forceTheme** - (boolean) Forces the renderer to use ignore attribute theme setting `data-enlighter-theme` - default: **false**
|
||||
* **renderer** - (string) Defines the renderer used to generate the output. Use `Inline` for Inline-Syntax-Highlighting or `Block` for standard highlighting - default: **Block**
|
||||
* **rawButton** - (boolean) Enables the optional "RAW Code Button" which will appear in ever codeblock (Block Renderer) to switch between highlighted and un-highlighted code - default: **true**
|
||||
* **infoButton** - (boolean) Enables the optional "Info Button" which provides a link to `enlighterjs.andidittrich.de` - default: **true**
|
||||
* **windowButton** - (boolean) Enables the optional "Window Button" which opens a new window with the unhighlighted "raw" code within - default: **true**
|
||||
* **grouping** - (boolean) Enables code-groups (only used by `EnlighterJS.Util.Helper` utility) - default: **true**
|
||||
* **inlineContainerTag** - (string) The html tag-name of the container (inline-syntax-highlighting only) where the generated code is wrapped into - default: **"span"**
|
||||
* **ampersandCleanup** - (boolean) Should the ampersand escape sequence `&amp;` automatically replaced by the ampersand sign during code cleanup ? Useful to resolve double escaped html code - default: **true**
|
||||
* **rawcodeDoubleclick** - (boolean) Toggle RAW/Highlighted code on doubleclick ? - default: **false**
|
||||
* **cryptex** - (object) Special options for use with the [Cryptex WordPress Plugin](https://wordpress.org/plugins/cryptex)
|
||||
|
||||
#### Example ####
|
||||
|
||||
```js
|
||||
var options = {
|
||||
language : 'javascript',
|
||||
theme : 'Eclipse',
|
||||
indent : 2,
|
||||
forceTheme: false,
|
||||
rawButton: false,
|
||||
showLinenumbers: false,
|
||||
renderer: 'Inline'
|
||||
};
|
||||
|
||||
// Initialize EnlighterJS - use inline-highlighting only
|
||||
EnlighterJS.Util.Init(null, 'code', options);
|
||||
```
|
||||
|
||||
### Element Options ###
|
||||
|
||||
Some options need to be applied directly to the container elements which holds the code to highlight. These "local" options will override all global options which are set.
|
||||
|
||||
* **data-enlighter-language** (string) - The language of the codeblock - overrides the global default setting | Block+Inline Content option
|
||||
* **data-enlighter-theme** (string) - The theme of the codeblock - overrides the global default setting | Block+Inline Content option
|
||||
* **data-enlighter-group** (string) - The identifier of the codegroup where the codeblock belongs to | Block Content option
|
||||
* **data-enlighter-title** (string) - The title/name of the tab | Block Content option
|
||||
* **data-enlighter-linenumbers** (boolean) - Show/Hide the linenumbers of a codeblock (Values: "true", "false") | Block Content option
|
||||
* **data-enlighter-highlight** (string) - A List of lines to point out, comma seperated (ranges are supported) e.g. "2,3,6-10" | Block Content option
|
||||
* **data-enlighter-lineoffset** (number) - Start value of line-numbering e.g. "5" to start with line 5 - attribute `start` of the ol tag is set | Block Content option
|
||||
|
||||
#### Example 1 ####
|
||||
|
||||
```html
|
||||
<pre data-enlighter-language="js" data-enlighter-linenumbers="false" data-enlighter-lineoffset="5">
|
||||
...
|
||||
</pre>
|
||||
```
|
||||
|
||||
#### Example 2 ####
|
||||
|
||||
```html
|
||||
<p>
|
||||
EnlighterJS also supports <code class="special" data-enlighter-language="js">alert('Inline Sourcecode highlighting');</code> (since version 2.0).
|
||||
</p>
|
||||
```
|
60
EnlighterJS/Docs/50-Codegroups.md
Normal file
|
@ -0,0 +1,60 @@
|
|||
|
||||
Code-Groups
|
||||
-----------
|
||||
|
||||
This example shows how to use code-groups. You can define a new code-group by adding a `data-enlighter-group` attribute to your code tags you want to group. The value is used as an internal identifier and is not shown anywhere (e.g. use numerical identifiers).
|
||||
The name/title of the tab is defined by a `data-enlighter-title` attribute. To use a corporate style within all code-blocks grouped together, the theme definition of the first code-block defined in your document (the group leader) is used as theme of the complete group - other theme definitions will be ignored. if no theme is specified, the default theme (defined in the options) will be used, which is recommended.
|
||||
|
||||
### Define a Code-Group ###
|
||||
|
||||
```html
|
||||
<!-- the following 3 code-blocks will be grouped togehter - the theme will be "enlighter" (global theme definition of the group-leader) !-->
|
||||
<pre data-enlighter-language="js" data-enlighter-group="group0001" data-enlighter-title="Javascript">
|
||||
this.tokens = tokens || [];
|
||||
options = this.options;
|
||||
</pre>
|
||||
|
||||
<!-- Theme definition will be ignored !-->
|
||||
<pre data-enlighter-language="java" data-enlighter-theme="panic" data-enlighter-group="group0001" data-enlighter-title="pure Java">
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
public class OddEven {
|
||||
/**
|
||||
* "input" is the number that the user gives to the computer
|
||||
*/
|
||||
private int input; // a whole number("int" means integer)
|
||||
</pre>
|
||||
|
||||
<!-- Theme definition will be ignored !-->
|
||||
<pre data-enlighter-language="php" data-enlighter-theme="twilight" data-enlighter-group="group0001" data-enlighter-title="PHP Script">
|
||||
/** Test Snippet */
|
||||
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
|
||||
|
||||
/* check connection */
|
||||
if (mysqli_connect_errno()) {
|
||||
printf("Connect failed: %s\n", mysqli_connect_error());
|
||||
exit();
|
||||
}
|
||||
</pre>
|
||||
```
|
||||
|
||||
### Initialize Code-Groups ###
|
||||
The initialization of code-groups differs from the standard. You have to use the `EnlighterJS.Util.Helper` utility function (triggered by Metainit and EnlighterJS.Util.Init) - it does the complete initialization and grouping for you!
|
||||
* JS-Initialization Chain: EnlighterJS.Util.Init -> **EnlighterJS.Util.Helper** -> EnlighterJS
|
||||
* Metainit-Initialization Chain: EnlighterJS.Util.Metainit -> **EnlighterJS.Util.Helper** -> EnlighterJS
|
||||
|
||||
Finally, use the following JavaScript code inside of a `domready` or `onload` event to create the highlighted elements.
|
||||
Check out the options section to see the various options you can use.
|
||||
|
||||
**Notice:** `grouping` has to set to `true` when using the javascript based initialization
|
||||
|
||||
```js
|
||||
// highlight all pre tags; no inline-highlighting
|
||||
EnlighterJS.Util.Init('pre', null, {
|
||||
indent: 4,
|
||||
language: 'js',
|
||||
theme: 'enlighter',
|
||||
grouping: true,
|
||||
rawButton: true
|
||||
});
|
||||
```
|
43
EnlighterJS/Docs/60-CustomBuilds.md
Normal file
|
@ -0,0 +1,43 @@
|
|||
|
||||
Custom Builds
|
||||
-------------
|
||||
The EnlighterJS project is using [Apache ANT](http://ant.apache.org/) as build-system.
|
||||
[UglifyJS2](https://github.com/mishoo/UglifyJS2) and [clean-css](https://github.com/jakubpawlowicz/clean-css) are used to minify the production-ready javascript and css files.
|
||||
To save bandwidth/traffic or include self-defined languages, you can easily customize your EnlighterJS build by editing the *build.xml* file (found in the root directory) and run Apache ANT (target *build*)
|
||||
|
||||
### Cloud/Web based builder ###
|
||||
|
||||
You can also use the web-based [EnlighterJS Builder](http://enlighterjs.org/Builder.html) to generate your customized package **without the need of ANT/development environment** - everything is done for you server-site!
|
||||
|
||||
### Software Requirements ###
|
||||
|
||||
* [Apache ANT 1.9](http://ant.apache.org/)
|
||||
* [Ant-Contrib](http://sourceforge.net/projects/ant-contrib/files/ant-contrib/)
|
||||
* [Node.js](https://nodejs.org/)
|
||||
* [UglifyJS2](https://github.com/mishoo/UglifyJS2)
|
||||
* [clean-css](https://github.com/jakubpawlowicz/clean-css)
|
||||
|
||||
### Include/Exclude Languages and Themes ###
|
||||
|
||||
If you want to remove some of the default theme you can edit the *include.themes* property and modify the list of css source files.
|
||||
For Example: only include the modern themes
|
||||
|
||||
```xml
|
||||
<!-- Themes to include !-->
|
||||
<property name="include.themes" value="Enlighter Godzilla Beyond Classic MooTwo Eclipse Droide" />
|
||||
```
|
||||
|
||||
Or Include only your custom themes (Note: they have to be located into `Source/Themes/`)
|
||||
|
||||
```xml
|
||||
<!-- Themes to include !-->
|
||||
<property name="include.themes" value="Custom1 Custom2" />
|
||||
```xml
|
||||
|
||||
Removing/Adding languages is also easy as this - they are defined by the *include.languages* property.
|
||||
For Example: only include html+css+js syntax highlighting (be careful - html is an alias for XML!, you have to include `Xml`)
|
||||
|
||||
```xml
|
||||
<!-- Languages to include !-->
|
||||
<property name="include.languages" value="Css Javascript Xml" />
|
||||
```
|
25
EnlighterJS/Docs/70-Contribution.md
Normal file
|
@ -0,0 +1,25 @@
|
|||
|
||||
Contribution
|
||||
------------
|
||||
|
||||
EnlighterJS is OpenSource and managed on [GitHub](https://github.com/AndiDittrich/EnlighterJS) - if you like, you're welcome to contribute!
|
||||
To simplify the release and quality control process, please follow these remarks:
|
||||
|
||||
### Notices ###
|
||||
* Your commits/pull-request should only contain changes of the `Source/`, `Resources/TestcaseData` directories or the Examples located into the root directory - otherwise i have to merge the request manually
|
||||
* **Do not change** the files located into the `Examples/` or `Build/` directory - they are automatically generated during the build-process using data from `Resources/TestcaseData`
|
||||
* Related software packages like MooTools, Bootstrap, ANT-contrib are updated by the maintainer
|
||||
* If you form a concept of larger project changes, please [discuss](https://github.com/AndiDittrich/EnlighterJS/issues) them with the contributors **before** implementing
|
||||
|
||||
### Documentation ###
|
||||
* To change contents of the `README.md` file please edit the split files in `Docs/` - the readme file is automatically generated by merging these files during the build process
|
||||
|
||||
### Adding a new Language ###
|
||||
* First of all: take a look on other languages which are already available to learn about functions and coding styles
|
||||
* To start with a new language please use the `LanguageDevelopment.phtml` workspace. It will automatically load `Source/Language/Template.mylang.js` (the startup file for your language development).
|
||||
* Rename your language file `Template.mylang.js` to the **camel-cased** real language name - e.g. `Vhdl.js`
|
||||
* Add detailed comments to each language rule!
|
||||
* Keep the code as small as possible: e.g. use regex instead of long keyword lists
|
||||
* In case your language is a superset of another one, please **extend** the origin language - do not copy the origin file
|
||||
* Add an language testcase/demo to the `Resouces/TestcaseData` directory
|
||||
* Finally create a [Pull Request on GitHub](https://help.github.com/articles/creating-a-pull-request/) - your changes will be reviewed and commonly added to the project
|
17
EnlighterJS/Docs/80-Compatibility.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
|
||||
Compatibility
|
||||
-------------
|
||||
|
||||
All browsers supported by MooTools and with HTML5 capabilities for "data-" attributes are compatible with EnlighterJS.
|
||||
It's possible that it may work with earlier/other browsers.
|
||||
|
||||
* Chrome 10+
|
||||
* Safari 5+
|
||||
* Internet Explorer 6+
|
||||
* Firefox 2+
|
||||
* Opera 9+
|
||||
|
||||
EnlighterJS requires MooTools.Core/1.4 (no compat) - tested with:
|
||||
* Core/1.4.5
|
||||
* Core/1.5.0
|
||||
* Core/1.5.1
|
6
EnlighterJS/Docs/90-Screenshots.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
|
||||
Screenshots
|
||||
-----------
|
||||
|
||||

|
||||

|
4
EnlighterJS/Docs/99-License.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
License
|
||||
-------
|
||||
|
||||
EnlighterJS is OpenSource and licensed under the Terms of [The MIT License (X11)](http://opensource.org/licenses/MIT). You're welcome to [contribute](https://github.com/AndiDittrich/EnlighterJS/blob/master/CONTRIBUTE.md)!
|
97
EnlighterJS/Docs/Copy of 02-Usage.md.backup
Normal file
|
@ -0,0 +1,97 @@
|
|||
|
||||
Basic Usage
|
||||
-----------
|
||||
Download EnlighterJS and extract the files. Copy the prebuild files of the *Build/* directory into a web-accessible directory of your choice.
|
||||
|
||||
Link to the EnlighterJS.yui.js javascript file and the EnlighterJS.yui.css stylesheet in the head section of your document **after** the MooTools file.
|
||||
The example below assumes you moved the files into your scripts folder under "js/" and your styles folder under "css/".
|
||||
The extension .yui indicates that these files are compressed with the [Yahoo YUI Compressor](http://yui.github.io/yuicompressor/). **These files are ready for productive use!**
|
||||
If you want to start developing, you should consider to use the uncompressed versions for easier debugging!
|
||||
|
||||
Rendering options can be defined as global option (Metainit attributes or options object) or local option using the `data-enlighter-` attributes on each codeblock.
|
||||
It is recommended to use local options only if necessary (e.g. to define a language for each block).
|
||||
|
||||
|
||||
#HTML
|
||||
<head>
|
||||
...
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="css/EnlighterJS.yui.css" />
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="js/mootools-core-1.5.0-full-nocompat.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="js/EnlighterJS.yui.js" ></script>
|
||||
...
|
||||
</head>
|
||||
|
||||
Prepare your source code by giving the element (containing the code) an optional *data-enlighter-language* attribute with the language of the code.
|
||||
**Notice**: Instead of Lighter.js *fuel:flame' syntax combo within the css classname, EnlighterJS will use HTML5 `data-` attributes!
|
||||
|
||||
#HTML
|
||||
<!-- Syntax highlight using Javascript and default theme -->
|
||||
<pre data-enlighter-language="js">var myClass = new Class({})</pre>
|
||||
|
||||
<!-- Syntax highlight using the Git Theme with default language-->
|
||||
<pre data-enlighter-theme="git"><?php php_info() ?></pre>
|
||||
|
||||
Finally, use the following JavaScript code examples inside of a 'domready' or 'onload' callback to create the highlighted elements - this process is called initialization.
|
||||
Be sure to check out the Options section to see the various options you can use. The Example pages have various examples you can use.
|
||||
It's strongly recommended to use the Element style syntax or the EnlighterJS.Util.Helper class! Further informations are available within the [Initialization Section](#initialization).
|
||||
|
||||
#JS
|
||||
// OPTION1 - Element style syntax - get element by it's ID
|
||||
document.id('myJsCode').enlight(true);
|
||||
|
||||
// OPTION2 - Element style syntax - highlight all pre elements with the class *myPhp*
|
||||
// an EnlighterJS instance is automatically created
|
||||
document.getElements('pre.myPhp').enlight({language: php});
|
||||
|
||||
// OPTION3 - Use the Helper-Class to highlight all pre elements - this is the recommended way and required to use the Code-Group feature
|
||||
EnlighterJS.Util.Helper(document.getElements('pre'), {
|
||||
language: 'javascript',
|
||||
theme: 'git'
|
||||
});
|
||||
|
||||
Instead of initializing EnlighterJS manually, since version 1.1 it is possible to use a simple html-metatag (called *EnlighterJS Metainit*) to run Enlighter on your page (with basic config options). Further informations are available within the [Initialization Section](#initialization).
|
||||
|
||||
#HTML
|
||||
<!-- Initialize EnlighterJS -->
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-language="standard" data-theme="standard" data-indent="5" data-compiler="List" data-altlines="none" data-selector="pre" />
|
||||
|
||||
Since version 1.8, it's possible to highlight special lines of code. Just add the attribute `data-enlighter-highlight` to your codeblock and provide a set of lines to mark (ranges supported).
|
||||
|
||||
#HTML
|
||||
<!-- just highlight line number 2 !-->
|
||||
<pre data-enlighter-language="js" data-enlighter-highlight="2">
|
||||
this.tokens = tokens || [];
|
||||
options = this.options;
|
||||
</pre>
|
||||
|
||||
<!-- highlight line 2,3,4 !-->
|
||||
<pre data-enlighter-language="js" data-enlighter-highlight="2-4">
|
||||
EnlighterJS.Util.Helper(document.getElements('pre'), {
|
||||
indent : 5,
|
||||
grouping: false
|
||||
});
|
||||
</pre>
|
||||
|
||||
Version 2.0 introduces some amazing features like Inline-Syntax-Highlighting.
|
||||
Just change the renderer option to 'Inline' - and of course the [Metainit](#metainit_initialization) tool performs this action automatically
|
||||
|
||||
#JS
|
||||
// Highlight all code tags and use Javascript as default language
|
||||
EnlighterJS.Util.Helper(document.getElements('code'), {
|
||||
language: 'javascript',
|
||||
renderer: 'Inline'
|
||||
});
|
||||
|
||||
In some cases it might be usefull to start the linnumber counting with another value than 1 (maybe an excerpt). In this case you can add the `data-enlighter-lineoffset` attribute to your codeblock.
|
||||
|
||||
#HTML
|
||||
<!-- start linenumber counting with line 15 !-->
|
||||
<pre data-enlighter-language="js" data-enlighter-lineoffset="15">
|
||||
this.tokens = tokens || [];
|
||||
options = this.options;
|
||||
</pre>
|
99
EnlighterJS/Examples/Example1.html
Normal file
|
@ -0,0 +1,99 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!--
|
||||
EnlighterJS Examples
|
||||
|
||||
Author: Andi Dittrich <http://andidittrich.de>
|
||||
License: MIT X11 License
|
||||
-->
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<!-- Favicon !-->
|
||||
<link rel="icon" href="../Resources/favicon.png" type="image/png" />
|
||||
|
||||
<title>Basic EnlighterJS Example | EnlighterJS</title>
|
||||
|
||||
<!-- Bootstrap CSS - just 4 styling - not required for enlighterjs -->
|
||||
<link rel="stylesheet" href="../Resources/bootstrap/bootstrap.min.css">
|
||||
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.min.css" />
|
||||
|
||||
<!-- Monospace Fonts on Google Webfonts !-->
|
||||
<link href='http://fonts.googleapis.com/css?family=Cutive+Mono|Roboto+Mono:400,700,400italic,500,500italic,700italic|Ubuntu+Mono:400,700,400italic,700italic|Droid+Sans+Mono|Source+Code+Pro:400,600' rel='stylesheet' type='text/css'>
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="../Resources/MooTools.min.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="../Build/EnlighterJS.min.js"></script>
|
||||
|
||||
<!-- Special Styles -->
|
||||
<style type="text/css">
|
||||
/* custom hover effect using specific css class */
|
||||
.EnlighterJS.myHoverClass li:hover{
|
||||
background-color: #c0c0c0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-language="javascript" data-indent="2" data-selector-block="pre" data-selector-inline="code" /></head>
|
||||
<body>
|
||||
<!-- Begin page content -->
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
Basic EnlighterJS Example </h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<!-- ############################################################# -->
|
||||
<div class="alert alert-success" role="alert">Level: <strong>Beginner</strong></div>
|
||||
|
||||
<h3>Some Examples</h3>
|
||||
<h4>jQuery Code (Javascript) - highlighted by EnlighterJS</h4>
|
||||
<pre data-enlighter-language="jquery" data-enlighter-highlight="5">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
|
||||
<h4>Code-Tabs</h4>
|
||||
<pre data-enlighter-language="jquery" data-enlighter-highlight="5" data-enlighter-group="group1">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
<pre data-enlighter-language="mootools" data-enlighter-highlight="1" data-enlighter-group="group1">
|
||||
// initialize enlighterjs for block elements
|
||||
EnlighterJS.Util.Helper(document.getElements('pre'), {
|
||||
// replace tabs with 2 spaces
|
||||
indent: 2,
|
||||
|
||||
// special hover class
|
||||
hover: 'myHoverClass',
|
||||
|
||||
// block element renderer
|
||||
renderer: 'Block'
|
||||
});
|
||||
</pre>
|
||||
|
||||
<h4>Inline Code</h4>
|
||||
<p>EnlighterJS also supports <code class="special" data-enlighter-language="js">alert('Inline Sourcecode highlighting');</code> (since version 2.0).</p>
|
||||
<!-- ############################################################# -->
|
||||
</div>
|
||||
<!-- // content -->
|
||||
|
||||
</div>
|
||||
<!-- // container -->
|
||||
</body>
|
||||
</html>
|
108
EnlighterJS/Examples/Example2-jsinit.html
Normal file
|
@ -0,0 +1,108 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!--
|
||||
EnlighterJS Examples
|
||||
|
||||
Author: Andi Dittrich <http://andidittrich.de>
|
||||
License: MIT X11 License
|
||||
-->
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<!-- Favicon !-->
|
||||
<link rel="icon" href="../Resources/favicon.png" type="image/png" />
|
||||
|
||||
<title>Javascript Initialization Example | EnlighterJS</title>
|
||||
|
||||
<!-- Bootstrap CSS - just 4 styling - not required for enlighterjs -->
|
||||
<link rel="stylesheet" href="../Resources/bootstrap/bootstrap.min.css">
|
||||
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.min.css" />
|
||||
|
||||
<!-- Monospace Fonts on Google Webfonts !-->
|
||||
<link href='http://fonts.googleapis.com/css?family=Cutive+Mono|Roboto+Mono:400,700,400italic,500,500italic,700italic|Ubuntu+Mono:400,700,400italic,700italic|Droid+Sans+Mono|Source+Code+Pro:400,600' rel='stylesheet' type='text/css'>
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="../Resources/MooTools.min.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="../Build/EnlighterJS.min.js"></script>
|
||||
|
||||
<!-- Special Styles -->
|
||||
<style type="text/css">
|
||||
/* custom hover effect using specific css class */
|
||||
.EnlighterJS.myHoverClass li:hover{
|
||||
background-color: #c0c0c0;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<!-- Begin page content -->
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
Javascript Initialization Example </h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<!-- ############################################################# -->
|
||||
<!-- Initialize EnlighterJS using the Helper Utility -->
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function(){
|
||||
// Global EnlighterJS initialization for block code (selector: pre) and inline code (selector: code.special) with some options
|
||||
// EnlighterJS.Util.Init(blockSelector:String, inlineSelector:String, options:Object)
|
||||
EnlighterJS.Util.Init('pre', 'code.special', {
|
||||
// reindent code -> replace tab with 2 spaces
|
||||
indent: 2,
|
||||
|
||||
// show all buttons
|
||||
infoButton: true,
|
||||
windowButton: true,
|
||||
rawButton: true,
|
||||
|
||||
// special hover class
|
||||
hover: 'myHoverClass',
|
||||
|
||||
// default language
|
||||
language: 'php',
|
||||
|
||||
// default theme
|
||||
theme: 'classic',
|
||||
|
||||
// toolbar labels
|
||||
toolbar: {
|
||||
rawTitle: 'RAW Code',
|
||||
windowTitle: 'New Window',
|
||||
infoTitle: 'EnlighterJS'
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="alert alert-success" role="alert">Level: <strong>Beginner</strong></div>
|
||||
|
||||
<h3>Some Examples</h3>
|
||||
<h4>jQuery Code (Javascript) - highlighted by EnlighterJS</h4>
|
||||
<pre data-enlighter-language="jquery" data-enlighter-highlight="5">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
<h4>Inline Code</h4>
|
||||
<p>EnlighterJS also supports <code class="special" >$content = print_r(array(1,2,3), true);</code> (since version 2.0).</p>
|
||||
|
||||
<!-- ############################################################# -->
|
||||
</div>
|
||||
<!-- // content -->
|
||||
|
||||
</div>
|
||||
<!-- // container -->
|
||||
</body>
|
||||
</html>
|
330
EnlighterJS/Examples/Example3-advanced.html
Normal file
|
@ -0,0 +1,330 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!--
|
||||
EnlighterJS Examples
|
||||
|
||||
Author: Andi Dittrich <http://andidittrich.de>
|
||||
License: MIT X11 License
|
||||
-->
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<!-- Favicon !-->
|
||||
<link rel="icon" href="../Resources/favicon.png" type="image/png" />
|
||||
|
||||
<title>Advanced Javascript Example | EnlighterJS</title>
|
||||
|
||||
<!-- Bootstrap CSS - just 4 styling - not required for enlighterjs -->
|
||||
<link rel="stylesheet" href="../Resources/bootstrap/bootstrap.min.css">
|
||||
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.min.css" />
|
||||
|
||||
<!-- Monospace Fonts on Google Webfonts !-->
|
||||
<link href='http://fonts.googleapis.com/css?family=Cutive+Mono|Roboto+Mono:400,700,400italic,500,500italic,700italic|Ubuntu+Mono:400,700,400italic,700italic|Droid+Sans+Mono|Source+Code+Pro:400,600' rel='stylesheet' type='text/css'>
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="../Resources/MooTools.min.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="../Build/EnlighterJS.min.js"></script>
|
||||
|
||||
<!-- Special Styles -->
|
||||
<style type="text/css">
|
||||
/* custom hover effect using specific css class */
|
||||
.EnlighterJS.myHoverClass li:hover{
|
||||
background-color: #c0c0c0;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<!-- Begin page content -->
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
Advanced Javascript Example </h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<!-- ############################################################# -->
|
||||
<!-- Initialize EnlighterJS using the Helper Utility -->
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function(){
|
||||
// ==========================================================
|
||||
// EXAMPLE 1 - Different Inline+Block Config (default Language+Theme)
|
||||
// ==========================================================
|
||||
// initialize enlighterjs for block elements within container #example1
|
||||
EnlighterJS.Util.Helper(document.getElements('#example1 pre'), {
|
||||
// replace tabs with 2 spaces
|
||||
indent: 2,
|
||||
|
||||
// default language: js
|
||||
language: 'javascript',
|
||||
|
||||
// block element renderer
|
||||
renderer: 'Block',
|
||||
|
||||
// no tab pane (also if data-enlighter-group attribute is provided!)
|
||||
grouping: false
|
||||
});
|
||||
|
||||
// initialize enlighterjs for inline elements within container #example1
|
||||
EnlighterJS.Util.Helper(document.getElements('#example1 code.ih'), {
|
||||
// inline! element renderer (this is important for inline syntax highlighting - otherwise the code will be displayed as <ol> list like block elements!)
|
||||
renderer: 'Inline',
|
||||
|
||||
// set default language to php
|
||||
language: 'php',
|
||||
|
||||
// use the classic theme for inline code!
|
||||
theme: 'classic'
|
||||
});
|
||||
|
||||
// ==========================================================
|
||||
// EXAMPLE 2 - Highlight a single pre element using the Native Element.enlight extension
|
||||
// ==========================================================
|
||||
// you can pass any EnlighterJS options as object or just true/false
|
||||
document.id('Example2_Codeblock').enlight({
|
||||
language: 'xml',
|
||||
theme: 'classic',
|
||||
indent: 3,
|
||||
infoButton: true,
|
||||
windowButton: true
|
||||
});
|
||||
|
||||
// enable/disable highlighting using buttons
|
||||
document.getElement('#example2 .hiOn').addEvent('click', function(){
|
||||
document.id('Example2_Codeblock').enlight(true);
|
||||
});
|
||||
document.getElement('#example2 .hiOff').addEvent('click', function(){
|
||||
document.id('Example2_Codeblock').enlight(false);
|
||||
});
|
||||
|
||||
// ==========================================================
|
||||
// EXAMPLE 3 - Highlight a single pre element using classic EnlighterJS Class context
|
||||
// ==========================================================
|
||||
// get element
|
||||
var example3_el = document.getElement('#example3 pre');
|
||||
|
||||
// create config
|
||||
var options3 = {
|
||||
language: 'xml',
|
||||
theme: 'classic',
|
||||
indent: 2,
|
||||
infoButton: true,
|
||||
windowButton: true,
|
||||
rawButton: true
|
||||
};
|
||||
|
||||
// create new instance
|
||||
var enlighter3 = new EnlighterJS(example3_el, options3);
|
||||
|
||||
// start highligjting
|
||||
enlighter3.enlight(true);
|
||||
|
||||
// enable/disable highlighting using buttons
|
||||
document.getElement('#example3 .hiOn').addEvent('click', function(){
|
||||
enlighter3.enlight(true);
|
||||
});
|
||||
document.getElement('#example3 .hiOff').addEvent('click', function(){
|
||||
enlighter3.enlight(false);
|
||||
});
|
||||
|
||||
// ==========================================================
|
||||
// EXAMPLE 4 - Codegroups required EnlighterJS.Util.Helper !
|
||||
// ==========================================================
|
||||
// initialize enlighterjs for block elements within container #example4
|
||||
EnlighterJS.Util.Helper(document.getElements('#example4 pre'), {
|
||||
// replace tabs with 2 spaces
|
||||
indent: 2,
|
||||
|
||||
// default language: js
|
||||
language: 'javascript',
|
||||
|
||||
// block element renderer
|
||||
renderer: 'Block',
|
||||
|
||||
// use Beyond as default theme
|
||||
theme: 'beyond',
|
||||
|
||||
// no linennumbers
|
||||
showLinenumbers: false
|
||||
});
|
||||
|
||||
// ==========================================================
|
||||
// EXAMPLE 5 - Using EnlighterJS with dynamical loaded content
|
||||
// ==========================================================
|
||||
// create new html request - use testcase data as source
|
||||
var htmlRequest5 = new Request.HTML({
|
||||
evalScripts: false,
|
||||
url: '../Resources/TestcaseData/c.html',
|
||||
|
||||
onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
|
||||
// directly append the content into the inner example5 pane
|
||||
document.id('example5').set('html', responseHTML);
|
||||
|
||||
// highlight all pre elements within the container!
|
||||
EnlighterJS.Util.Init('#example5 pre', '#example5 code', {
|
||||
// replace tabs with 2 spaces
|
||||
indent: 2,
|
||||
|
||||
// use Beyond as default theme
|
||||
theme: 'classic',
|
||||
|
||||
// no linennumbers
|
||||
showLinenumbers: false
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// trigger request on click
|
||||
document.getElement('#example5 .loadContent').addEvent('click', function(){
|
||||
htmlRequest5.get();
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="alert alert-info" role="alert">Level: <strong>Intermediate/Advanced</strong></div>
|
||||
<!-- EXAMPLE 1 ########################## -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Example 1 - Different Inline+Block Config</div>
|
||||
<div class="panel-body" id="example1">
|
||||
<h4>Javascript Code - default language JS</h4>
|
||||
<pre data-enlighter-highlight="5">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
|
||||
<h4>Inline PHP Code - Using classic Theme and PHP as default language </h4>
|
||||
<p>EnlighterJS also supports <code class="ih" >$content = print_r(array(1,2,3), true);</code> (since version 2.0).<br />Not highlighted (selector not matching) <code>$content = print_r(array(1,2,3), true);</code></p>
|
||||
</div></div>
|
||||
<!-- // EXAMPLE 1 ########################## -->
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- EXAMPLE 2 ########################## -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Example 2 - Using native Element.enlight() extension</div>
|
||||
<div class="panel-body" id="example2">
|
||||
<p>Just want to highlight single elements on your page, maybe loaded dynamically and not available on domready ?</p>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default hiOn">Highlight</button>
|
||||
<button type="button" class="btn btn-default hiOff">Un-Highlight</button>
|
||||
</div>
|
||||
<h4>XML Code</h4>
|
||||
<pre id="Example2_Codeblock">
|
||||
<building name="GlobalDynamics Main Building" id="0xFA8A91C6617DFA1B">
|
||||
<group level="2">
|
||||
<room number="123">Conference Room A</room>
|
||||
<room number="124">Conference Room B</room>
|
||||
<room number="125">Conference Room C</room>
|
||||
<room number="126">Conference Room D</room>
|
||||
</group>
|
||||
<group level="2">
|
||||
<room number="17">John's Office</room>
|
||||
<room number="19">Eric's Office</room>
|
||||
</group>
|
||||
</pre>
|
||||
</div></div>
|
||||
<!-- // EXAMPLE 2 ########################## -->
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- EXAMPLE 3 ########################## -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Example 3 - Using EnlighterJS in OOP context</div>
|
||||
<div class="panel-body" id="example3">
|
||||
<p>This method is recommended if you want to do some advanced stuff</p>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default hiOn">Highlight</button>
|
||||
<button type="button" class="btn btn-default hiOff">Un-Highlight</button>
|
||||
</div>
|
||||
|
||||
<h4>XML Code</h4>
|
||||
<pre>
|
||||
<building name="GlobalDynamics Main Building" id="0xFA8A91C6617DFA1B">
|
||||
<group level="2">
|
||||
<room number="123">Conference Room A</room>
|
||||
<room number="124">Conference Room B</room>
|
||||
<room number="125">Conference Room C</room>
|
||||
<room number="126">Conference Room D</room>
|
||||
</group>
|
||||
<group level="2">
|
||||
<room number="17">John's Office</room>
|
||||
<room number="19">Eric's Office</room>
|
||||
</group>
|
||||
</pre>
|
||||
</div></div>
|
||||
<!-- // EXAMPLE 3 ########################## -->
|
||||
|
||||
|
||||
|
||||
<!-- EXAMPLE 4 ########################## -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Example 4 - Using Codegroups</div>
|
||||
<div class="panel-body" id="example4">
|
||||
<p>If you need Codegroups, you have to use the <code>EnlighterJS.Util.Helper</code> utility function for initialiation which does the "magic" part for you! <br />
|
||||
Note: <code>EnlighterJS.Util.Init</code> as well as <code>EnlighterJS.Util.Metainit</code> trigger this utility!</p>
|
||||
|
||||
<h4>XML Code</h4>
|
||||
<pre data-enlighter-group="EX4" data-enlighter-title="XML Document" data-enlighter-language="xml">
|
||||
<building name="GlobalDynamics Main Building" id="0xFA8A91C6617DFA1B">
|
||||
<group level="2">
|
||||
<room number="123">Conference Room A</room>
|
||||
<room number="124">Conference Room B</room>
|
||||
<room number="125">Conference Room C</room>
|
||||
<room number="126">Conference Room D</room>
|
||||
</group>
|
||||
<group level="2">
|
||||
<room number="17">John's Office</room>
|
||||
<room number="19">Eric's Office</room>
|
||||
</group>
|
||||
</pre>
|
||||
<pre data-enlighter-group="EX4" data-enlighter-title="jQuery Code" data-enlighter-language="javascript">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
</div></div>
|
||||
<!-- // EXAMPLE 4 ########################## -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- EXAMPLE 5 ########################## -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Example 5 - Dynamical Content/AJAX</div>
|
||||
<div class="panel-body" id="example5">
|
||||
<p>You can also load dynamic content and highlight it! The most simple way is the use of <code>EnlighterJS.Util.Init</code> utility function!</p>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default loadContent">Load Content & Highlight it</button>
|
||||
</div>
|
||||
</div></div>
|
||||
<!-- // EXAMPLE 5 ########################## -->
|
||||
|
||||
<!-- ############################################################# -->
|
||||
</div>
|
||||
<!-- // content -->
|
||||
|
||||
</div>
|
||||
<!-- // container -->
|
||||
</body>
|
||||
</html>
|
24
EnlighterJS/LICENSE.md
Normal file
|
@ -0,0 +1,24 @@
|
|||
The MIT License (X11 License)
|
||||
|
||||
Copyright (c) 2009 Jose Prado, 2013-2015 Andi Dittrich
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
96
EnlighterJS/LanguageDevelopment.html
Normal file
|
@ -0,0 +1,96 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!--
|
||||
EnlighterJS Examples
|
||||
|
||||
Author: Andi Dittrich <http://andidittrich.de>
|
||||
License: MIT X11 License
|
||||
-->
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<!-- Favicon !-->
|
||||
<link rel="icon" href="Resources/favicon.png" type="image/png" />
|
||||
|
||||
<title>LanguageDevelopment | EnlighterJS</title>
|
||||
|
||||
<!-- Bootstrap CSS - just 4 styling - not required for enlighterjs -->
|
||||
<link rel="stylesheet" href="Resources/bootstrap/bootstrap.min.css">
|
||||
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="Build/EnlighterJS.min.css" />
|
||||
|
||||
<!-- Monospace Fonts on Google Webfonts !-->
|
||||
<link href='http://fonts.googleapis.com/css?family=Cutive+Mono|Roboto+Mono:400,700,400italic,500,500italic,700italic|Ubuntu+Mono:400,700,400italic,700italic|Droid+Sans+Mono|Source+Code+Pro:400,600' rel='stylesheet' type='text/css'>
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="Resources/MooTools.min.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="Build/EnlighterJS.js"></script>
|
||||
|
||||
<!-- Include Custom Language!-->
|
||||
<script type="text/javascript" src="Source/Language/Template.mylang.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function(){
|
||||
|
||||
// initialize
|
||||
EnlighterJS.Util.Init('pre', 'code', {
|
||||
language : 'mylang',
|
||||
theme: '',
|
||||
rawButton: true,
|
||||
windowButton: true,
|
||||
indent : 2,
|
||||
infoButton: true,
|
||||
showLinenumbers: true
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Begin page content -->
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
<strong>EnlighterJS</strong> <small>Language Development</small>
|
||||
</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<!-- ############################################################# -->
|
||||
|
||||
<div class="well">Start your Language-Development by editing the file <strong>Source/Language/Template.mylang.js</strong> - all changes will directly appear into this document without the need of a rebuild!</div>
|
||||
|
||||
<h2>Inline Content</h2>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code class="special">if FILE == 123.123 then</code>
|
||||
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.<br /> Lorem ipsum dolor sit amet,
|
||||
<code>not highlighted</code>
|
||||
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<h2>HTML Content</h2>
|
||||
<pre data-enlighter-language="mylang">
|
||||
<!##
|
||||
# This is a hash-style-comment
|
||||
if FILE == 123.123 then
|
||||
echo 'testcase'
|
||||
elseif
|
||||
echo "OH NO"
|
||||
endif
|
||||
##!>
|
||||
</pre>
|
||||
|
||||
<!-- ############################################################# -->
|
||||
</div>
|
||||
<!-- // content -->
|
||||
|
||||
</div>
|
||||
<!-- // container -->
|
||||
</body>
|
||||
</html>
|
6131
EnlighterJS/MooTools/MooTools-Core-1.5.2.js
Normal file
266
EnlighterJS/Quickstart.html
Normal file
|
@ -0,0 +1,266 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!--
|
||||
EnlighterJS Documentation
|
||||
|
||||
Author: Andi Dittrich <http://andidittrich.de>
|
||||
Version: v2.7.0 License: MIT X11 License
|
||||
-->
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<link rel="icon" href="Resources/favicon.png" type="image/png">
|
||||
|
||||
<title>Quickstart First Steps with EnlighterJS | EnlighterJS</title>
|
||||
<link rel="stylesheet" href="Resources/bootstrap-3.2.0-dist/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="Resources/bootstrap-3.2.0-dist/css/bootstrap-theme.min.css">
|
||||
<link rel="stylesheet" href="Resources/EnlighterWeb.less">
|
||||
<link rel="stylesheet" href="Resources/GitHubButtons.yui.css">
|
||||
<link rel="stylesheet" type="text/css" href="Build/EnlighterJS.min.css" />
|
||||
<script type="text/javascript" src="Resources/MooTools.min.js"></script>
|
||||
<script type="text/javascript" src="Resources/GitHubButtons.MooTools.yui.js"></script>
|
||||
<script type="text/javascript" src="Build/EnlighterJS.min.js"></script>
|
||||
<script type="text/javascript" src="Resources/EnlighterWeb.js"></script>
|
||||
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-language="generic" data-indent="2" data-selector-block="pre" data-selector-inline="code" data-rawcodebutton="true" data-windowbutton="true" data-infobutton="true" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<!-- Topnav -->
|
||||
<div id="navbar-wrapper">
|
||||
<div class="navbar navbar-default">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<a class="navbar-brand" href="index.html">EnlighterJS <small>v2.7.0</small></a>
|
||||
</div>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="Quickstart.html">Quickstart<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="dropdown-header">Startup</li>
|
||||
<li><a href="Quickstart.html">Quickstart</a></li>
|
||||
<li class="divider"></li>
|
||||
<li class="dropdown-header">Examples</li>
|
||||
<li><a href="Examples/Example1.html" target="_blank">Startup Example</a></li>
|
||||
<li><a href="Examples/Example2-jsinit.html" target="_blank">Javascript-Initialization</a></li>
|
||||
<li><a href="Examples/Example3-advanced.html" target="_blank">Advanced-Usage</a></li>
|
||||
</ul></li>
|
||||
<li><a href="Documentation.html">Docs<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="Documentation.html">Documentation</a></li>
|
||||
<li><a href="Changelog.html">Changelog</a></li>
|
||||
</ul></li>
|
||||
<li class="dropdown"><a href="#">Examples<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="dropdown-header">Languages</li>
|
||||
<li><a href="html.html">HTML</a></li>
|
||||
<li><a href="css.html">CSS</a></li>
|
||||
<li><a href="javascript.html">Javascript</a></li>
|
||||
<li><a href="xml.html">XML</a></li>
|
||||
<li><a href="markdown.html">Markdown</a></li>
|
||||
<li><a href="json.html">JSON</a></li>
|
||||
<li><a href="php.html">PHP</a></li>
|
||||
<li><a href="sql.html">SQL</a></li>
|
||||
<li><a href="java.html">Java</a></li>
|
||||
<li><a href="python.html">Python</a></li>
|
||||
<li><a href="cpp.html">C++</a></li>
|
||||
<li><a href="csharp.html">C#</a></li>
|
||||
<li><a href="c.html">C</a></li>
|
||||
<li><a href="ruby.html">Ruby</a></li>
|
||||
<li><a href="nsis.html">NSIS</a></li>
|
||||
<li><a href="diff.html">Diff</a></li>
|
||||
<li><a href="ini.html">Ini/Conf</a></li>
|
||||
<li><a href="avrasm.html">AVR Assembler</a></li>
|
||||
<li><a href="raw.html">RAW Code</a></li>
|
||||
<li><a href="nohighlight.html">No-Highlighted Code</a></li>
|
||||
|
||||
<li class="divider"></li>
|
||||
<li class="dropdown-header">Special</li>
|
||||
<li><a href="unit.html">Unit Testcases</a></li>
|
||||
</ul></li>
|
||||
<li><a href="Themes.html">Themes</a></li>
|
||||
|
||||
<li><a href="http://wordpress.org/plugins/enlighter/">Plugins<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="http://wordpress.org/plugins/enlighter/">Enlighter for WordPress</a></li>
|
||||
</ul></li>
|
||||
|
||||
<li><a href="https://github.com/AndiDittrich/EnlighterJS/archive/master.zip">Download<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="dropdown-header">Special</li>
|
||||
<li><a href="Builder.html">Custom EnlighterJS Build</a></li>
|
||||
<li class="divider"></li>
|
||||
<li class="dropdown-header">Get it from GitHub</li>
|
||||
<li><a href="https://github.com/AndiDittrich/EnlighterJS/archive/master.zip">Download Package (latest)</a></li>
|
||||
<li><a href="https://github.com/AndiDittrich/EnlighterJS">Browse on GitHub</a></li>
|
||||
</ul></li>
|
||||
|
||||
<li><a href="#">Help<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="dropdown-header">EnlighterJS Support</li>
|
||||
<li><a href="https://github.com/AndiDittrich/EnlighterJS/issues">Report a Bug</a></li>
|
||||
<li><a href="https://github.com/AndiDittrich/EnlighterJS/issues">Feature Request</a></li>
|
||||
<li><a href="http://andidittrich.de/contact">Contact</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<div class="navbar-header navbar-right" id="githubbutton1"></div>
|
||||
<div class="navbar-header navbar-right" id="githubbutton2"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- // topnav -->
|
||||
<!-- Header/Title -->
|
||||
<div class="page-header">
|
||||
<div class="container">
|
||||
<h1>
|
||||
Quickstart <small>First Steps with EnlighterJS</small> </h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Begin page content -->
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-10" id="content">
|
||||
<div class="well">
|
||||
<p><strong>Welcome to EnlighterJS</strong> - to start with it, follow these simple steps:</p>
|
||||
<ol>
|
||||
<li>Download EnlighterJS and Include the files</li>
|
||||
<li>Prepare your sourcecode</li>
|
||||
<li>Initialize EnlighterJS</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<h3>1. Download & Include EnlighterJS files</h3>
|
||||
<p>Download EnlighterJS and extract the files. You will find some examples located in the *Examples/* directory. Copy the prebuild files of the *Build/* directory into a web-accessible directory of your choice.</p>
|
||||
<pre class="EnlighterJS" data-enlighter-language="HTML"><head>
|
||||
...
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="css/EnlighterJS.yui.css" />
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="js/mootools-core-1.4.5-full-nocompat.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="js/EnlighterJS.yui.js" ></script>
|
||||
...
|
||||
</head>
|
||||
</pre>
|
||||
|
||||
|
||||
<h3>2. Prepare your sourcecode</h3>
|
||||
<p>Starting with just a small piece of javascript code you wish to highlight. Prepare your sourcecode by giving the element (containing the code) an optional <code>data-enlighter-language</code> attribute with the language of the snippet.</p>
|
||||
<pre data-enlighter-language="html">
|
||||
<pre data-enlighter-language="js">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
</pre>
|
||||
|
||||
|
||||
<h3>3. Initialize it!</h3>
|
||||
<p>The most simple and elegant way to use EnlighterJS on your page: just add a simple <strong>HTML-Meta-Tag</strong> to your page with the desired global config </p>
|
||||
<pre class="EnlighterJS" data-enlighter-language="HTML"><!-- Initialize EnlighterJS -->
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-indent="4" data-selector-block="pre" data-selector-inline="code" data-language="javascript" />
|
||||
</pre>
|
||||
|
||||
<hr />
|
||||
|
||||
<h2>Ready to use Examples!</h2>
|
||||
<p>Your instantaneous launch into the world of EnlighterJS. For further information, please refer to the <a href="Documentation.html">Documentation</a>.</p>
|
||||
|
||||
<h3>Quickstart.html <small><a href="Examples/Example1.html">View file</a></small></h3>
|
||||
<p>The following code provides a minimalistic example how to use EnlighterJS on your page, using the <strong>Metainit</strong> initialization method. This will be the best choice for most users.<br />
|
||||
Metainit just invokes <code>EnlighterJS.Util.Helper()</code> on <code>domready</code> using metatag attributes as options.</p>
|
||||
|
||||
<pre data-enlighter-language="html" data-enlighter-lineoffset="24">
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="../Resources/MooTools.min.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="../Build/EnlighterJS.min.js"></script>
|
||||
|
||||
<!-- Initialize EnlighterJS; set default language+theme as well as some options -->
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-language="html" data-theme="enlighter" data-indent="4" data-selector-block="pre" data-selector-inline="code.special" data-rawcodebutton="true" data-windowbutton="true" data-infobutton="true" />
|
||||
</head>
|
||||
<body>
|
||||
<!-- Begin page content -->
|
||||
</pre>
|
||||
|
||||
<h3>Quickstart-jsinit.html - Javascript Initialization <small><a href="Examples/Example2-jsinit.html">View file</a></small></h3>
|
||||
<p>In some cases, it can be more effective using a javascript based initialization - e.g. use different configs for inline+block code.</p>
|
||||
<pre data-enlighter-language="html" data-enlighter-lineoffset="24">
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="../Resources/MooTools.min.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="../Build/EnlighterJS.min.js"></script>
|
||||
|
||||
<!-- Initialize EnlighterJS using the Helper Utility -->
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function(){
|
||||
// Global EnlighterJS initialization for block code (selector: pre) and inline code (selector: code.special) with some options
|
||||
// EnlighterJS.Util.Init(blockSelector:String, inlineSelector:String, options:Object)
|
||||
EnlighterJS.Util.Init('pre', 'code.special', {
|
||||
// reindent code -> replace tab with 2 spaces
|
||||
indent: 2,
|
||||
|
||||
// show all buttons
|
||||
infoButton: true,
|
||||
windowButton: true,
|
||||
rawButton: true,
|
||||
|
||||
// special hover class
|
||||
hover: 'myHoverClass',
|
||||
|
||||
// default language
|
||||
language: 'php',
|
||||
|
||||
// default theme
|
||||
theme: 'classic',
|
||||
|
||||
// toolbar labels
|
||||
toolbar: {
|
||||
rawTitle: 'RAW Code',
|
||||
windowTitle: 'New Window',
|
||||
infoTitle: 'EnlighterJS'
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Special Styles -->
|
||||
<style type="text/css">
|
||||
</pre> </div>
|
||||
|
||||
<div class="col-md-2 sidebar">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- // container -->
|
||||
|
||||
<!-- Sticky Footer Message -->
|
||||
<div id="footer">
|
||||
<div class="container">
|
||||
<p>
|
||||
<strong>EnlighterJS</strong> is developed by <a href="http://andidittrich.de">Andi Dittrich</a>
|
||||
</p>
|
||||
<p class="small"><a href="https://github.com/AndiDittrich/EnlighterJS/archive/master.zip">Download</a> EnlighterJS on <a href="https://github.com/AndiDittrich/EnlighterJS">GitHub</a> | It's released under the Terms of <a href="LICENSE.txt">MIT X11 License</a> | Demo created with <a href="http://getbootstrap.com">Bootstrap</a> | <a href="http://github-buttons.andidittrich.de/">GitHub Buttons</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- // Sticky Footer Message -->
|
||||
</body>
|
||||
</html>
|
560
EnlighterJS/README.md
Normal file
|
@ -0,0 +1,560 @@
|
|||
EnlighterJS
|
||||
===========
|
||||
|
||||
EnlighterJS is a free, easy-to-use, syntax highlighting class developed for [MooTools](http://mootools.net "MooTools.net").
|
||||
Using it can be as simple as adding a single script and style to your website, choosing the elements you wish to highlight, and EnlighterJS takes care of the rest.
|
||||
It also supports Inline-Syntax-Highlighting as well as the automatic creation of tab-panes to display groups of code together (useful for multi-language examples - e.g. html+css+js)
|
||||
Take a look into the [Documentation](http://enlighterjs.org/Documentation.html) or view the [Theme Demo](http://enlighterjs.org/Themes.html)
|
||||
|
||||
### Download ###
|
||||
* [Download Latest Release](https://github.com/AndiDittrich/EnlighterJS/releases/latest)
|
||||
* [Custom-Builds](http://enlighterjs.org/Builder.html)
|
||||
|
||||

|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
* Written in MooTools. Requires version 1.4+
|
||||
* Build-in support for most commonly used languages
|
||||
* Easy to use with familiar MooTools syntax.
|
||||
* Supports code-groups (displays multiple code-blocks within a tab-pane)
|
||||
* Includes Inline Syntax highlighting
|
||||
* Extensible language and theme engines - add your own one.
|
||||
* Simple CSS based themes
|
||||
* ANT build-script included for easy custom builds (Web-based Customizer also available)
|
||||
* Small footprint
|
||||
* Point out special lines of code
|
||||
* Initialization can be performed by adding a simple html meta-tag or using a small piece of javascript
|
||||
* Toolbar buttons to switch to raw-code or open it into a new window
|
||||
|
||||
Plugins
|
||||
-------
|
||||
* [Enlighter for WordPress](http://wordpress.org/plugins/enlighter/) - The official EnlighterJS plugin for WordPress
|
||||
|
||||
How to use
|
||||
----------
|
||||
This is a minimalistic example how to highlight sourcecode with EnlighterJS. The working example (correct js+css paths) is available within the EnlighterJS package (Example1.html).
|
||||
|
||||
```HTML
|
||||
<head>
|
||||
...
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="EnlighterJS.min.css" />
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="mootools-core-nocompat.min.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="EnlighterJS.min.js" ></script>
|
||||
|
||||
<!-- Initialize EnlighterJS -->
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-indent="4" data-selector-block="pre" data-selector-inline="code.special" />
|
||||
...
|
||||
</head>
|
||||
<body>
|
||||
...
|
||||
<!-- This code will be highlighted as Javascript !-->
|
||||
<pre data-enlighter-language="js">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
...
|
||||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, <code class="special">window.addEvent('domready', function(){});</code> labore et dolore magna aliquyam erat.</p>
|
||||
</body>
|
||||
```
|
||||
|
||||
Build-in Languages & Themes
|
||||
---------------------------
|
||||
The following Themes and Languages are included into the EnlighterJS standard package:
|
||||
|
||||
### Languages ###
|
||||
List of languages with their corresponding identifiers and supported aliases (wrapped into brackets behind the names)
|
||||
|
||||
* **Assembly** (asm)
|
||||
* **AVR Assembly** (avrasm)
|
||||
* **CSS** (css)
|
||||
* **C** (c)
|
||||
* **C++** (cpp, c++)
|
||||
* **C#** (csharp)
|
||||
* **Cython** (cython)
|
||||
* **HTML** (html)
|
||||
* **Ini** (ini, conf)
|
||||
* **Java** (java)
|
||||
* **Javascript** (js, javascript, jquery, mootools, ext.js)
|
||||
* **JSON** (json)
|
||||
* **LUA** (lua)
|
||||
* **NSIS** (nsis)
|
||||
* **Markdown** (md, markdown)
|
||||
* **Matlab/Octave** (octave, matlab)
|
||||
* **PHP** (php)
|
||||
* **Python** (py, python)
|
||||
* **Ruby** (ruby(
|
||||
* **Shellscript** (shell, bash)
|
||||
* **SQL** (sql)
|
||||
* **Squirrel** (squirrel)
|
||||
* **XML** (xml)
|
||||
* **Generic** (generic, standard) - default highlighting scheme
|
||||
* **RAW** (raw) - raw code without highlighting with EnlighterJS container styles!
|
||||
* **No-Highlight** (no-highlight) - disables highlighting and retains your page styles!
|
||||
|
||||
### Themes ###
|
||||
Theme identifiers are always expressed as lowercase!
|
||||
|
||||
#### Modern Themes ####
|
||||
* **Enlighter** (enlighter, standard) - Enlighter`s default Theme
|
||||
* **Classic** (classic) - SyntaxHighlighter inspired
|
||||
* **Eclipse** (eclipse) - Eclipse inspired
|
||||
* **Beyond** (beyond) - BeyondTechnology Theme
|
||||
* **Godzilla** (godzilla) - A MDN inspired Theme
|
||||
* **MooTwo** (mootwo) - Inspired by the current MooTools Website
|
||||
* **Droide** (droide) - Modern, minimalistic
|
||||
* **Minimal** (minimal) - Bright, High contrast
|
||||
* **Atomic** (atomic) - Dark, Colorful
|
||||
* **Rowhammer** (rowhammer) - Light, Transparent, divided rows
|
||||
|
||||
#### Legacy Themes (Lighter.js) ####
|
||||
* **MooTools** (mootools) - MooTools Docs inspired Theme
|
||||
* **Git** (git) - GitHub inspired
|
||||
* **Mocha** (mocha)
|
||||
* **Panic** (panic)
|
||||
* **Tutti** (tutti)
|
||||
* **Twilight** (twilight)
|
||||
|
||||
Basic Usage
|
||||
-----------
|
||||
|
||||
Download EnlighterJS and extract the files or use [bower](http://bower.io).
|
||||
|
||||
```shell
|
||||
$bower install enlighterjs
|
||||
```
|
||||
|
||||
Copy the prebuild files of the *Build/* directory into a web-accessible directory of your choice.
|
||||
|
||||
Link to the EnlighterJS.min.js javascript file and the EnlighterJS.min.css stylesheet in the head section of your document **after** the MooTools file.
|
||||
The example below assumes you moved the files into your scripts folder under "js/" and your styles folder under "css/".
|
||||
The extension .min indicates that these files are already minified. **These files are ready for productive use!**
|
||||
If you want to start developing, you should consider to use the uncompressed versions for easier debugging!
|
||||
|
||||
Rendering options can be defined as global option (Metainit attributes or options object) or local option using the `data-enlighter-` attributes on each codeblock.
|
||||
It is recommended to use local options only if necessary (e.g. to define a language for each block).
|
||||
|
||||
### Integrate EnlighterJS ###
|
||||
|
||||
The integration of EnlighterJS requires the following 3 steps:
|
||||
1. Integrate MooTools.Core, EnlighterJS Script+Styles into your page
|
||||
2. Prepare your source code elements on your page by adding a language identifier
|
||||
3. ["Initialize"](#initialization) EnlighterJS to highlight the code
|
||||
|
||||
Link to the EnlighterJS.yui.js javascript file and the EnlighterJS.yui.css stylesheet
|
||||
|
||||
```html
|
||||
<head>
|
||||
...
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="css/EnlighterJS.min.css" />
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="js/mootools-core-1.5.0-full-nocompat.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="js/EnlighterJS.min.js" ></script>
|
||||
...
|
||||
</head>
|
||||
```
|
||||
|
||||
Prepare your source code by giving the element (containing the code) an optional *data-enlighter-language* attribute with the language of the code.
|
||||
**Notice**: Instead of Lighter.js *fuel:flame' syntax combo within the css classname, EnlighterJS will use HTML5 `data-` attributes!
|
||||
|
||||
```html
|
||||
<!-- Syntax highlight using Javascript and default theme -->
|
||||
<pre data-enlighter-language="js">var myClass = new Class({})</pre>
|
||||
|
||||
<!-- Syntax highlight using the Git Theme with default language-->
|
||||
<pre data-enlighter-theme="git">php_info();</pre>
|
||||
```
|
||||
|
||||
Finally, use the following JavaScript code examples inside of a 'domready' or 'onload' callback to create the highlighted elements - this process is called *initialization*.
|
||||
Be sure to check out the Options section to see the various options you can use. The Example pages have various examples you can use.
|
||||
Further informations as well as some advanced examples are available within the [Initialization Section](#initialization).
|
||||
|
||||
```js
|
||||
// Use the Init utility function to highlight all pre elements - this is the recommended way and required to use the Code-Group feature
|
||||
EnlighterJS.Util.Init('pre', null, {
|
||||
language: 'php',
|
||||
theme: 'Classic'
|
||||
});
|
||||
```
|
||||
|
||||
Instead of initializing EnlighterJS manually, since version 1.1 it is possible to use a simple html-metatag (called *EnlighterJS Metainit*) to run Enlighter on your page (with basic config options).
|
||||
|
||||
```html
|
||||
<!-- Initialize EnlighterJS -->
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-language="php" data-theme="Enlighter" data-indent="2" />
|
||||
```
|
||||
|
||||
### Some Examples ###
|
||||
Since version 1.8, it's possible to highlight special lines of code. Just add the attribute `data-enlighter-highlight` to your codeblock and provide a set of lines to mark (ranges supported).
|
||||
|
||||
```html
|
||||
<!-- just highlight line number 2 !-->
|
||||
<pre data-enlighter-language="js" data-enlighter-highlight="2">
|
||||
this.tokens = tokens || [];
|
||||
options = this.options;
|
||||
</pre>
|
||||
|
||||
<!-- highlight line 2,3,4 !-->
|
||||
<pre data-enlighter-language="js" data-enlighter-highlight="2-4">
|
||||
EnlighterJS.Util.Init('pre', null, {
|
||||
indent : 2,
|
||||
grouping: false
|
||||
});
|
||||
</pre>
|
||||
```
|
||||
|
||||
Version 2.0 introduces some amazing features like Inline-Syntax-Highlighting. The [Metainit](#metainit_initialization) tool performs this action automatically.
|
||||
|
||||
```js
|
||||
// Highlight all pre(block) + code(inline) tags and use Javascript as default language
|
||||
EnlighterJS.Util.Init('pre', 'code', {
|
||||
language: 'javascript'
|
||||
});
|
||||
```
|
||||
|
||||
In some cases it might be usefull to start the linnumber counting with another value than 1 (maybe an excerpt). In this case you can add the `data-enlighter-lineoffset` attribute to your codeblock.
|
||||
|
||||
```html
|
||||
<!-- start linenumber counting with line 15 !-->
|
||||
<pre data-enlighter-language="js" data-enlighter-lineoffset="15">
|
||||
this.tokens = tokens || [];
|
||||
options = this.options;
|
||||
</pre>
|
||||
```
|
||||
|
||||
Initialization
|
||||
--------------
|
||||
|
||||
Initialization means, that all elements (you wish to highlight) get selected and rendered by EnlighterJS. The original codeblock is set invisible and the rendered one is injected after. This task can be performed in **two different ways**:
|
||||
|
||||
### 1. Metainit Initialization ##
|
||||
Instead of initializing EnlighterJS by javascript, it's possible to use a simple html-metatag (called *EnlighterJS Metainit*) to run Enlighter on your page (with basic config options). This will be usefull if you only need a basic setup. Take a look into the examples *Examples/Testcase.Metainit.html* to see how it is working!
|
||||
Basically Metainit takes the given html attribute options and converts them into a options object. These options will be passed to the `Enlighter.Util.Helper()` utility function - for inline elements (InlineRenderer) identified by `data-selector-inline` as well as block elements (BlockRenderer) by `data-selector-block`.
|
||||
This will take all the work for you by adding a single line to the head section to use all the amazing EnlighterJS features like Inline-Syntax-Highlighting or CodeGroups!
|
||||
|
||||
#### Example ####
|
||||
Description: It enables block highlighting for all `pre` elements on the page as well as inline highlighting for all `code` elements. Javascript is set as default language used for highlighting. Each tab is replaced by four spaces to avoid rendering issues. Additionally the "raw code button" is enabled which allows the user to toggle between highlighted and unhighlighted code (e.g. to copy code).
|
||||
|
||||
```html
|
||||
<!-- Initialize EnlighterJS -->
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-indent="4" data-selector-block="pre" data-selector-inline="code" data-rawcodebutton="true" data-language="javascript" />
|
||||
```
|
||||
|
||||
#### Attributes ####
|
||||
Following attributes are available (optional) and will be converted to the required options object to trigger `EnlighterJS.Util.Helper`. Take a look into the Metainit.js sources to see how it is working.
|
||||
|
||||
* **name** (string) **REQUIRED** - This attribute identifies the metatag and has to be set to "EnlighterJS" (case sensitive)
|
||||
* **data-language** (string) - Sets the default language of every codeblock (inline+block) on the page - default: **generic**
|
||||
* **data-theme** (string) - Sets the default theme of every codeblock (inline+block) on the page - default: **enlighter**
|
||||
* **data-indent** (number) - Number of spaces to replace tabs with (-1 means no replacement) - default: **-1**
|
||||
* **data-selector-block** (string) - The CSS selector to match all codeblocks for block-highlighting. Use "NULL" to disable block highlighting - default: **pre**
|
||||
* **data-selector-inline** (string) - The CSS selector to match all codeblocks for inline-highlighting. Use "NULL" to disable inline highlighting - default: **code**
|
||||
* **data-rawcodebutton** (boolean) - Enables the optional "RAW Code Button" which will appear in ever codeblock (Block Renderer) to switch between highlighted and un-highlighted code - default: **false**
|
||||
* **data-windowwbutton** (boolean) - Enables the optional " Button" which
|
||||
* **data-infobutton** (boolean) - Enables the optional " Button" which
|
||||
* **data-linenumbers** (boolean) - Display line-numbers in code-blocks (ol/li list used as container) - default: **true**
|
||||
* **data-hover** (string) - Defines a css-classname which is added to each line. To enable build-in hover effects set it to "hoverEnabled" (default), *null* to disable it or to any custom class - default: **"hoverEnabled"**
|
||||
|
||||
### 2. Javacript based Initialization ###
|
||||
EnlighterJS provides 4 ways to get manually initialized:
|
||||
|
||||
* Use the native `Element.enlight()` method which will automatically creates an EnlighterJS instance of the selected single element
|
||||
* Create a new instance of `EnlighterJS` and provide the single element to highlight
|
||||
* To use Code-Groups you have to use `EnlighterJS.Util.Helper` utility function
|
||||
|
||||
**Notice:** You can pass any of the [Global Options](#global_options) with each method. Every method will invoke the `EnlighterJS` constructor.
|
||||
|
||||
#### Option 1 - Native Element extension ####
|
||||
|
||||
```js
|
||||
// get element by it's ID and activate highlighting using markdown as language
|
||||
document.id('myCustomCode').enlight({
|
||||
language: 'ruby',
|
||||
indent: 2
|
||||
});
|
||||
|
||||
// disable highlighting
|
||||
document.id('myCustomCode').enlight(false);
|
||||
|
||||
// remove highlighting (drop generated HTML from DOM)
|
||||
document.id('myHighlightedCode').enlight('dispose');
|
||||
```
|
||||
|
||||
#### Option 2 - Use an EnlighterJS instance (OOP Style) ####
|
||||
|
||||
```js
|
||||
// create a new EnlighterJS instance
|
||||
var myEnlighter = new EnlighterJS(document.id('myCustomCode'), {
|
||||
language: 'php',
|
||||
showLinenumbers: false
|
||||
});
|
||||
|
||||
// enable highlighting
|
||||
myEnlighter.enlight(true);
|
||||
|
||||
// remove highlighting (drop generated HTML from DOM)
|
||||
myEnlighter.dispose();
|
||||
```
|
||||
|
||||
#### Option 3 - Use an EnlighterJS.Util.Helper utility function ####
|
||||
|
||||
```js
|
||||
// Highlight all code tags (inline code) and use Javascript as default language
|
||||
EnlighterJS.Util.Helper(document.getElements('code'), {
|
||||
language: 'javascript',
|
||||
renderer: 'Inline'
|
||||
});
|
||||
|
||||
// OPTION1 - Element style syntax - get element by it's ID
|
||||
document.id('myJsCode').enlight(true);
|
||||
|
||||
// OPTION2 - Element style syntax - highlight all pre elements with the class *myPhp*
|
||||
// an EnlighterJS instance is automatically created
|
||||
document.getElements('pre.myPhp').enlight({language: php});
|
||||
```
|
||||
|
||||
Options
|
||||
-------
|
||||
|
||||
Customize EnlighterJS` appearance by using the following configuration options. Try to start with one of the Example pages!
|
||||
|
||||
### Global Options ###
|
||||
|
||||
The following options can be passed to the following methods to customize the rendering behaviour:
|
||||
* `EnlighterJS(codeblockElement, options = {}, container = null)` constructor
|
||||
* `EnlighterJS.Util.Helper(elements, options = {})` utility function
|
||||
* `EnlighterJS.Util.Init(blockSelector, inlineSelector, options= {})` utility function (recommended)
|
||||
|
||||
#### Option Keys ####
|
||||
* **language** - (string) The default language used if no `data-enlighter-language` attibutes are used - default: **"generic"**
|
||||
* **theme** - (string) The default theme used if no `data-enlighter-theme` attibutes are used - default: **"enlighter"**
|
||||
* **indent** - (integer) Number of spaces to replace tabs with (-1 means no replacement) - default: **-1**
|
||||
* **hover** - (string) Defines a css-classname which is added to each line. To enable build-in hover effects set it to "hoverEnabled" (default), *null* to disable it or to any custom class - default: **"hoverEnabled"**
|
||||
* **oddClassname** - (string) CSS-classname of all odd lines - default: **"odd"**
|
||||
* **evenClassname** - (string) CSS-classname of all even lines - default: **"even"**
|
||||
* **showLinenumbers** - (boolean) Display line-numbers in code-blocks (ol/li list used as container) - default: **true**
|
||||
* **forceTheme** - (boolean) Forces the renderer to use ignore attribute theme setting `data-enlighter-theme` - default: **false**
|
||||
* **renderer** - (string) Defines the renderer used to generate the output. Use `Inline` for Inline-Syntax-Highlighting or `Block` for standard highlighting - default: **Block**
|
||||
* **rawButton** - (boolean) Enables the optional "RAW Code Button" which will appear in ever codeblock (Block Renderer) to switch between highlighted and un-highlighted code - default: **true**
|
||||
* **infoButton** - (boolean) Enables the optional "Info Button" which provides a link to `enlighterjs.andidittrich.de` - default: **true**
|
||||
* **windowButton** - (boolean) Enables the optional "Window Button" which opens a new window with the unhighlighted "raw" code within - default: **true**
|
||||
* **grouping** - (boolean) Enables code-groups (only used by `EnlighterJS.Util.Helper` utility) - default: **true**
|
||||
* **inlineContainerTag** - (string) The html tag-name of the container (inline-syntax-highlighting only) where the generated code is wrapped into - default: **"span"**
|
||||
* **ampersandCleanup** - (boolean) Should the ampersand escape sequence `&amp;` automatically replaced by the ampersand sign during code cleanup ? Useful to resolve double escaped html code - default: **true**
|
||||
* **rawcodeDoubleclick** - (boolean) Toggle RAW/Highlighted code on doubleclick ? - default: **false**
|
||||
* **cryptex** - (object) Special options for use with the [Cryptex WordPress Plugin](https://wordpress.org/plugins/cryptex)
|
||||
|
||||
#### Example ####
|
||||
|
||||
```js
|
||||
var options = {
|
||||
language : 'javascript',
|
||||
theme : 'Eclipse',
|
||||
indent : 2,
|
||||
forceTheme: false,
|
||||
rawButton: false,
|
||||
showLinenumbers: false,
|
||||
renderer: 'Inline'
|
||||
};
|
||||
|
||||
// Initialize EnlighterJS - use inline-highlighting only
|
||||
EnlighterJS.Util.Init(null, 'code', options);
|
||||
```
|
||||
|
||||
### Element Options ###
|
||||
|
||||
Some options need to be applied directly to the container elements which holds the code to highlight. These "local" options will override all global options which are set.
|
||||
|
||||
* **data-enlighter-language** (string) - The language of the codeblock - overrides the global default setting | Block+Inline Content option
|
||||
* **data-enlighter-theme** (string) - The theme of the codeblock - overrides the global default setting | Block+Inline Content option
|
||||
* **data-enlighter-group** (string) - The identifier of the codegroup where the codeblock belongs to | Block Content option
|
||||
* **data-enlighter-title** (string) - The title/name of the tab | Block Content option
|
||||
* **data-enlighter-linenumbers** (boolean) - Show/Hide the linenumbers of a codeblock (Values: "true", "false") | Block Content option
|
||||
* **data-enlighter-highlight** (string) - A List of lines to point out, comma seperated (ranges are supported) e.g. "2,3,6-10" | Block Content option
|
||||
* **data-enlighter-lineoffset** (number) - Start value of line-numbering e.g. "5" to start with line 5 - attribute `start` of the ol tag is set | Block Content option
|
||||
|
||||
#### Example 1 ####
|
||||
|
||||
```html
|
||||
<pre data-enlighter-language="js" data-enlighter-linenumbers="false" data-enlighter-lineoffset="5">
|
||||
...
|
||||
</pre>
|
||||
```
|
||||
|
||||
#### Example 2 ####
|
||||
|
||||
```html
|
||||
<p>
|
||||
EnlighterJS also supports <code class="special" data-enlighter-language="js">alert('Inline Sourcecode highlighting');</code> (since version 2.0).
|
||||
</p>
|
||||
```
|
||||
|
||||
Code-Groups
|
||||
-----------
|
||||
|
||||
This example shows how to use code-groups. You can define a new code-group by adding a `data-enlighter-group` attribute to your code tags you want to group. The value is used as an internal identifier and is not shown anywhere (e.g. use numerical identifiers).
|
||||
The name/title of the tab is defined by a `data-enlighter-title` attribute. To use a corporate style within all code-blocks grouped together, the theme definition of the first code-block defined in your document (the group leader) is used as theme of the complete group - other theme definitions will be ignored. if no theme is specified, the default theme (defined in the options) will be used, which is recommended.
|
||||
|
||||
### Define a Code-Group ###
|
||||
|
||||
```html
|
||||
<!-- the following 3 code-blocks will be grouped togehter - the theme will be "enlighter" (global theme definition of the group-leader) !-->
|
||||
<pre data-enlighter-language="js" data-enlighter-group="group0001" data-enlighter-title="Javascript">
|
||||
this.tokens = tokens || [];
|
||||
options = this.options;
|
||||
</pre>
|
||||
|
||||
<!-- Theme definition will be ignored !-->
|
||||
<pre data-enlighter-language="java" data-enlighter-theme="panic" data-enlighter-group="group0001" data-enlighter-title="pure Java">
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
public class OddEven {
|
||||
/**
|
||||
* "input" is the number that the user gives to the computer
|
||||
*/
|
||||
private int input; // a whole number("int" means integer)
|
||||
</pre>
|
||||
|
||||
<!-- Theme definition will be ignored !-->
|
||||
<pre data-enlighter-language="php" data-enlighter-theme="twilight" data-enlighter-group="group0001" data-enlighter-title="PHP Script">
|
||||
/** Test Snippet */
|
||||
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
|
||||
|
||||
/* check connection */
|
||||
if (mysqli_connect_errno()) {
|
||||
printf("Connect failed: %s\n", mysqli_connect_error());
|
||||
exit();
|
||||
}
|
||||
</pre>
|
||||
```
|
||||
|
||||
### Initialize Code-Groups ###
|
||||
The initialization of code-groups differs from the standard. You have to use the `EnlighterJS.Util.Helper` utility function (triggered by Metainit and EnlighterJS.Util.Init) - it does the complete initialization and grouping for you!
|
||||
* JS-Initialization Chain: EnlighterJS.Util.Init -> **EnlighterJS.Util.Helper** -> EnlighterJS
|
||||
* Metainit-Initialization Chain: EnlighterJS.Util.Metainit -> **EnlighterJS.Util.Helper** -> EnlighterJS
|
||||
|
||||
Finally, use the following JavaScript code inside of a `domready` or `onload` event to create the highlighted elements.
|
||||
Check out the options section to see the various options you can use.
|
||||
|
||||
**Notice:** `grouping` has to set to `true` when using the javascript based initialization
|
||||
|
||||
```js
|
||||
// highlight all pre tags; no inline-highlighting
|
||||
EnlighterJS.Util.Init('pre', null, {
|
||||
indent: 4,
|
||||
language: 'js',
|
||||
theme: 'enlighter',
|
||||
grouping: true,
|
||||
rawButton: true
|
||||
});
|
||||
```
|
||||
|
||||
Custom Builds
|
||||
-------------
|
||||
The EnlighterJS project is using [Apache ANT](http://ant.apache.org/) as build-system.
|
||||
[UglifyJS2](https://github.com/mishoo/UglifyJS2) and [clean-css](https://github.com/jakubpawlowicz/clean-css) are used to minify the production-ready javascript and css files.
|
||||
To save bandwidth/traffic or include self-defined languages, you can easily customize your EnlighterJS build by editing the *build.xml* file (found in the root directory) and run Apache ANT (target *build*)
|
||||
|
||||
### Cloud/Web based builder ###
|
||||
|
||||
You can also use the web-based [EnlighterJS Builder](http://enlighterjs.org/Builder.html) to generate your customized package **without the need of ANT/development environment** - everything is done for you server-site!
|
||||
|
||||
### Software Requirements ###
|
||||
|
||||
* [Apache ANT 1.9](http://ant.apache.org/)
|
||||
* [Ant-Contrib](http://sourceforge.net/projects/ant-contrib/files/ant-contrib/)
|
||||
* [Node.js](https://nodejs.org/)
|
||||
* [UglifyJS2](https://github.com/mishoo/UglifyJS2)
|
||||
* [clean-css](https://github.com/jakubpawlowicz/clean-css)
|
||||
|
||||
### Include/Exclude Languages and Themes ###
|
||||
|
||||
If you want to remove some of the default theme you can edit the *include.themes* property and modify the list of css source files.
|
||||
For Example: only include the modern themes
|
||||
|
||||
```xml
|
||||
<!-- Themes to include !-->
|
||||
<property name="include.themes" value="Enlighter Godzilla Beyond Classic MooTwo Eclipse Droide" />
|
||||
```
|
||||
|
||||
Or Include only your custom themes (Note: they have to be located into `Source/Themes/`)
|
||||
|
||||
```xml
|
||||
<!-- Themes to include !-->
|
||||
<property name="include.themes" value="Custom1 Custom2" />
|
||||
```xml
|
||||
|
||||
Removing/Adding languages is also easy as this - they are defined by the *include.languages* property.
|
||||
For Example: only include html+css+js syntax highlighting (be careful - html is an alias for XML!, you have to include `Xml`)
|
||||
|
||||
```xml
|
||||
<!-- Languages to include !-->
|
||||
<property name="include.languages" value="Css Javascript Xml" />
|
||||
```
|
||||
|
||||
Contribution
|
||||
------------
|
||||
|
||||
EnlighterJS is OpenSource and managed on [GitHub](https://github.com/AndiDittrich/EnlighterJS) - if you like, you're welcome to contribute!
|
||||
To simplify the release and quality control process, please follow these remarks:
|
||||
|
||||
### Notices ###
|
||||
* Your commits/pull-request should only contain changes of the `Source/`, `Resources/TestcaseData` directories or the Examples located into the root directory - otherwise i have to merge the request manually
|
||||
* **Do not change** the files located into the `Examples/` or `Build/` directory - they are automatically generated during the build-process using data from `Resources/TestcaseData`
|
||||
* Related software packages like MooTools, Bootstrap, ANT-contrib are updated by the maintainer
|
||||
* If you form a concept of larger project changes, please [discuss](https://github.com/AndiDittrich/EnlighterJS/issues) them with the contributors **before** implementing
|
||||
|
||||
### Documentation ###
|
||||
* To change contents of the `README.md` file please edit the split files in `Docs/` - the readme file is automatically generated by merging these files during the build process
|
||||
|
||||
### Adding a new Language ###
|
||||
* First of all: take a look on other languages which are already available to learn about functions and coding styles
|
||||
* To start with a new language please use the `LanguageDevelopment.phtml` workspace. It will automatically load `Source/Language/Template.mylang.js` (the startup file for your language development).
|
||||
* Rename your language file `Template.mylang.js` to the **camel-cased** real language name - e.g. `Vhdl.js`
|
||||
* Add detailed comments to each language rule!
|
||||
* Keep the code as small as possible: e.g. use regex instead of long keyword lists
|
||||
* In case your language is a superset of another one, please **extend** the origin language - do not copy the origin file
|
||||
* Add an language testcase/demo to the `Resouces/TestcaseData` directory
|
||||
* Finally create a [Pull Request on GitHub](https://help.github.com/articles/creating-a-pull-request/) - your changes will be reviewed and commonly added to the project
|
||||
|
||||
Compatibility
|
||||
-------------
|
||||
|
||||
All browsers supported by MooTools and with HTML5 capabilities for "data-" attributes are compatible with EnlighterJS.
|
||||
It's possible that it may work with earlier/other browsers.
|
||||
|
||||
* Chrome 10+
|
||||
* Safari 5+
|
||||
* Internet Explorer 6+
|
||||
* Firefox 2+
|
||||
* Opera 9+
|
||||
|
||||
EnlighterJS requires MooTools.Core/1.4 (no compat) - tested with:
|
||||
* Core/1.4.5
|
||||
* Core/1.5.0
|
||||
* Core/1.5.1
|
||||
|
||||
Screenshots
|
||||
-----------
|
||||
|
||||

|
||||

|
||||
License
|
||||
-------
|
||||
|
||||
EnlighterJS is OpenSource and licensed under the Terms of [The MIT License (X11)](http://opensource.org/licenses/MIT). You're welcome to [contribute](https://github.com/AndiDittrich/EnlighterJS/blob/master/CONTRIBUTE.md)!
|
BIN
EnlighterJS/Resources/EJS_brand.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
246
EnlighterJS/Resources/EnlighterWeb.js
Normal file
|
@ -0,0 +1,246 @@
|
|||
|
||||
function ContentNavigation(contentContainerSelector, navContainerSelector){
|
||||
// content navi
|
||||
var nav = document.getElement(navContainerSelector);
|
||||
|
||||
if (!nav || nav.get('data-autogen') !== 'true'){
|
||||
return;
|
||||
}
|
||||
|
||||
// get the content container
|
||||
var contentContainer = document.getElement(contentContainerSelector);
|
||||
|
||||
// container offset (absolute position)
|
||||
var containerOffset = contentContainer.getPosition().y;
|
||||
|
||||
// the current subsection
|
||||
var currentSection = null;
|
||||
|
||||
// unique heading id
|
||||
var headingID = 1;
|
||||
|
||||
// scroll spy observer
|
||||
var h2Observer = {
|
||||
elements : [],
|
||||
currentAnchor : null,
|
||||
currentItem : null
|
||||
};
|
||||
|
||||
var h3Observer = {
|
||||
elements : [],
|
||||
currentAnchor : null,
|
||||
currentItem : null
|
||||
};
|
||||
|
||||
// get all h2, h3 elements
|
||||
contentContainer.getElements('h2, h3').each(function(el){
|
||||
// create anchor name
|
||||
var anchorName = el.get('text').replace(/\s+?/gi, '_').replace(/[^a-z0-9_ -]/gi, '') + '_' + headingID;
|
||||
|
||||
// add invisible anchor
|
||||
var anchor = new Element('span', {
|
||||
'class': 'anchor',
|
||||
'id': anchorName
|
||||
});
|
||||
el.grab(anchor, 'before');
|
||||
|
||||
// generate navigation
|
||||
if (el.tagName == 'H3' && currentSection){
|
||||
var h3 = new Element('li');
|
||||
h3.grab(new Element('a', {
|
||||
text: el.get('text'),
|
||||
href: '#' + anchorName
|
||||
}));
|
||||
currentSection.grab(h3);
|
||||
|
||||
|
||||
|
||||
}else if (el.tagName == 'H2'){
|
||||
var h2 = new Element('li');
|
||||
h2.grab(new Element('a', {
|
||||
text: el.get('text'),
|
||||
href: '#' + anchorName
|
||||
}));
|
||||
|
||||
// open new section
|
||||
currentSection = new Element('ul');
|
||||
h2.grab(currentSection);
|
||||
nav.grab(h2);
|
||||
}
|
||||
|
||||
// scroll spy observer
|
||||
(el.tagName == 'H3' ? h3Observer : h2Observer).elements.push({
|
||||
id: anchorName,
|
||||
position: el.getPosition()
|
||||
});
|
||||
|
||||
// increment id
|
||||
headingID++;
|
||||
});
|
||||
|
||||
// sort observers by position
|
||||
h2Observer.elements.sort(function(a, b){
|
||||
return (a.position.y - b.position.y);
|
||||
});
|
||||
h3Observer.elements.sort(function(a, b){
|
||||
return (a.position.y - b.position.y);
|
||||
});
|
||||
|
||||
// add dummy elements (max position)
|
||||
h2Observer.elements.push({position: {y: 9999999, x: 999999}});
|
||||
h3Observer.elements.push({position: {y: 9999999, x: 999999}});
|
||||
|
||||
window.addEvent('scroll', function(){
|
||||
// current scroll with calculated offset
|
||||
var currentWindowScroll = window.getScroll().y + containerOffset;
|
||||
|
||||
// update h2 & h3 elements
|
||||
Array.each([h2Observer, h3Observer], function(observer){
|
||||
// find currently visible element
|
||||
for (var i = 0; i < observer.elements.length; i++){
|
||||
|
||||
// element visible ?
|
||||
if (observer.elements[i].position.y > currentWindowScroll){
|
||||
// the n-1th element is the currently active one
|
||||
if (i>0){
|
||||
i = i-1;
|
||||
}
|
||||
|
||||
// element changed ?
|
||||
if (observer.currentAnchor != observer.elements[i].id){
|
||||
// store current anchorID
|
||||
observer.currentAnchor = observer.elements[i].id;
|
||||
|
||||
// old highlighted menu item available ?
|
||||
if (observer.currentItem){
|
||||
observer.currentItem.removeClass('spyActive');
|
||||
}
|
||||
|
||||
// get new menu item to highlight by it's anchor link (get it's parent li container !)
|
||||
observer.currentItem = nav.getElement('a[href="#' + observer.currentAnchor + '"]').getParent();
|
||||
|
||||
// highlight element
|
||||
if (observer.currentItem){
|
||||
observer.currentItem.addClass('spyActive');
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}).fireEvent('scroll');
|
||||
};
|
||||
|
||||
|
||||
function ScrollSpyNavigation(navContainerSelector, contentContainerSelector){
|
||||
|
||||
};
|
||||
|
||||
function StickyNavigation(navContainerSelector){
|
||||
// navi container element
|
||||
var naviContainer = document.getElement(navContainerSelector);
|
||||
|
||||
// container available ?
|
||||
if (!naviContainer || naviContainer.get('data-nav-static')){
|
||||
return;
|
||||
}
|
||||
|
||||
// initial scroll offset
|
||||
// get absolute container position
|
||||
var scrollLimit = naviContainer.getPosition().y;
|
||||
|
||||
// get fixed position and use this value as offset
|
||||
naviContainer.addClass('fixedPosition');
|
||||
scrollLimit = scrollLimit - naviContainer.getStyle('top').toInt();
|
||||
naviContainer.removeClass('fixedPosition');
|
||||
|
||||
// fixed sidebar
|
||||
window.addEvent('scroll', function(){
|
||||
if (this.getScroll().y > scrollLimit){
|
||||
naviContainer.addClass('fixedPosition');
|
||||
}else{
|
||||
naviContainer.removeClass('fixedPosition');
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
window.addEvent('domready', function(){
|
||||
/*
|
||||
var repo = window._github_profile.repos.EnlighterJS;
|
||||
var user = window._github_profile.user;
|
||||
|
||||
// create github buttons
|
||||
document.id('ghb').grab(new GitHubButton({
|
||||
owner : 'AndiDittrich',
|
||||
repo : 'EnlighterJS',
|
||||
large : false,
|
||||
type : 'star',
|
||||
cache: false,
|
||||
count: repo.stargazers
|
||||
})).grab(new GitHubButton({
|
||||
owner : 'AndiDittrich',
|
||||
repo : 'EnlighterJS',
|
||||
large : false,
|
||||
type : 'fork',
|
||||
cache: false,
|
||||
count: repo.forks
|
||||
})).grab(new GitHubButton({
|
||||
owner : 'AndiDittrich',
|
||||
repo : 'EnlighterJS',
|
||||
large : false,
|
||||
type : 'follow',
|
||||
cache: false,
|
||||
count: user.followers
|
||||
}));*/
|
||||
|
||||
// social buttons
|
||||
var out = document.id('ghb');
|
||||
|
||||
SocialButton(out, {
|
||||
type: 'github-star',
|
||||
username: 'AndiDittrich',
|
||||
repo: 'EnlighterJS',
|
||||
large: false,
|
||||
text: 'Star'
|
||||
});
|
||||
|
||||
SocialButton(out, {
|
||||
type: 'github-fork',
|
||||
username: 'AndiDittrich',
|
||||
repo: 'EnlighterJS',
|
||||
large: false,
|
||||
text: 'Fork'
|
||||
});
|
||||
|
||||
SocialButton(out, {
|
||||
type: 'github-followers',
|
||||
username: 'AndiDittrich',
|
||||
large: false
|
||||
});
|
||||
|
||||
SocialButton(out, {
|
||||
type: 'github-opensource',
|
||||
username: 'AndiDittrich',
|
||||
large: false
|
||||
});
|
||||
|
||||
SocialButton(out, {
|
||||
type: 'twitter-followers',
|
||||
username: 'andidittrich',
|
||||
large: false
|
||||
});
|
||||
|
||||
SocialButton(out, {
|
||||
type: 'wordpress-plugin',
|
||||
username: 'Andi Dittrich',
|
||||
plugin: 'Enlighter',
|
||||
large: false
|
||||
});
|
||||
|
||||
|
||||
// initialize content navigation
|
||||
ContentNavigation('article', '#content-nav');
|
||||
|
||||
// initialize sticky nav
|
||||
StickyNavigation('#content-nav');
|
||||
});
|
329
EnlighterJS/Resources/EnlighterWeb.less
Normal file
|
@ -0,0 +1,329 @@
|
|||
// Bootstrap Framework
|
||||
@import "bootstrap/bootstrap.less";
|
||||
|
||||
// Unofficial GitHubButtons
|
||||
@import (inline) "social-buttons/social-buttons.css";
|
||||
|
||||
/*! EnlighterJS Syntax Highlighter | MIT License (X11) | http://enlighterjs.andidittrich.de/ */
|
||||
body{
|
||||
// credits bg
|
||||
background-color: #202021;
|
||||
|
||||
// Static Nav
|
||||
padding: 50px 0px 0px 0px;
|
||||
}
|
||||
|
||||
footer {
|
||||
background-color: #ffffff;
|
||||
border-top: solid 1px #e0e0e0;
|
||||
padding: 40px 0px 40px 0px;
|
||||
|
||||
.footer-links {
|
||||
a {
|
||||
padding: 0px 10px 0px 10px;
|
||||
}
|
||||
span {
|
||||
padding-right: 10px;
|
||||
}
|
||||
}
|
||||
p.text-muted{
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
#ghb {
|
||||
padding-bottom: 20px;
|
||||
> div {
|
||||
display: inline-block;
|
||||
padding: 0px 20px 0px 0px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Beyond Technology Corporate
|
||||
------------------------------------------------ */
|
||||
#beyond_corporate_credits{
|
||||
background-color: #202021;
|
||||
color: #929292;
|
||||
padding: 10px 0px 10px 0px;
|
||||
margin: 0px 0px 5px 0px;
|
||||
|
||||
a{
|
||||
color: inherit;
|
||||
}
|
||||
.slogan{
|
||||
color: #e0e0e0;
|
||||
}
|
||||
}
|
||||
|
||||
/* NAVS
|
||||
------------------------------------------------ */
|
||||
nav{
|
||||
&.topnav{
|
||||
background-color: @brand-primary;
|
||||
padding: 0px 0px 0px 0px;
|
||||
height: 50px;
|
||||
overflow: hidden;
|
||||
border: none;
|
||||
position: fixed;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
border-bottom: solid 1px lighten(@brand-primary, 5%);
|
||||
|
||||
.glyphicon{
|
||||
color: #f0f0f0;
|
||||
font-size: 16px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
li{
|
||||
display: inline-block;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
a {
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
display: inline-block;
|
||||
color: lighten(@brand-primary, 65%);
|
||||
padding: 0px 15px 0px 15px;
|
||||
|
||||
&:hover, &:active{
|
||||
text-decoration: none;
|
||||
border-bottom: none;
|
||||
color: #ffffff;
|
||||
background-color: #192c48;
|
||||
|
||||
.glyphicon{
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.container{
|
||||
|
||||
}
|
||||
|
||||
.nav-tabs{
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* Header
|
||||
------------------------------------------------ */
|
||||
header {
|
||||
background-color: @brand-primary;
|
||||
background-image: svg-gradient(to bottom, @brand-primary, lighten(@brand-primary, 10%));
|
||||
padding: 20px 0px 20px 0px;
|
||||
color: #ffffff;
|
||||
|
||||
h1{
|
||||
color: inherit;
|
||||
font-size: 60px;
|
||||
font-weight: normal;
|
||||
}
|
||||
.lead{
|
||||
color: lighten(@brand-primary, 65%);
|
||||
}
|
||||
}
|
||||
|
||||
/* Notifications
|
||||
------------------------------------------------ */
|
||||
#ReleaseNotifier{
|
||||
height: 40px;
|
||||
background-color: #f9f9f9;
|
||||
border-bottom: solid 1px #e0e0e0;
|
||||
color: #707070;
|
||||
|
||||
p{
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Content Sections
|
||||
------------------------------------------------ */
|
||||
section{
|
||||
padding: 15px 0px 15px 0px;
|
||||
background-color: #f7f7fa;
|
||||
// primary section
|
||||
&:nth-of-type(2) {
|
||||
background-color: #e0e0e0;
|
||||
}
|
||||
}
|
||||
|
||||
/* CONTENT
|
||||
------------------------------------------------ */
|
||||
|
||||
article{
|
||||
background-color: #ffffff;
|
||||
padding: 10px 20px 50px 20px;
|
||||
border-top: solid 0px #e0e0e0;
|
||||
border-bottom: solid 1px #e0e0e0;
|
||||
|
||||
span.anchor{
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
position: relative;
|
||||
top: -50px;
|
||||
}
|
||||
|
||||
.icon{
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 15px;
|
||||
color: #a0a0a0;
|
||||
padding: 20px 0px 0px 0px;
|
||||
font-style: italic;
|
||||
|
||||
.glyphicon{
|
||||
font-size: 50px;
|
||||
color: #e0e0e0;
|
||||
}
|
||||
}
|
||||
|
||||
.bordered{
|
||||
border: dashed 5px #f0f0f0;
|
||||
padding: 10px 20px 30px 20px;
|
||||
}
|
||||
pre{
|
||||
background-color: #f5f5f5;
|
||||
border-radius: 0px;
|
||||
border: solid 1px #f0f0f0;
|
||||
|
||||
&.raw{
|
||||
width: 50%;
|
||||
margin: auto;
|
||||
}
|
||||
}
|
||||
|
||||
h2{
|
||||
border-bottom: solid 5px #f0f0f0;
|
||||
color: #535353;
|
||||
font-size: 40px;
|
||||
height: 60px;
|
||||
margin: 50px 0px 20px 0px;
|
||||
padding: 10px 0px 10px 0px;
|
||||
|
||||
&:nth-of-type(1){
|
||||
margin-top: 0px;
|
||||
}
|
||||
}
|
||||
h3 {
|
||||
}
|
||||
h4{
|
||||
padding-top: 25px;
|
||||
}
|
||||
p{
|
||||
}
|
||||
|
||||
blockquote{
|
||||
font-size: 14px;
|
||||
color: #707070;
|
||||
}
|
||||
|
||||
// fallback content nav
|
||||
.sec-nav .btn{
|
||||
margin: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* CONTENT NAVIGATION
|
||||
-------------------------------------------------- */
|
||||
#content-nav{
|
||||
&.fixedPosition{
|
||||
position: fixed;
|
||||
top: 70px;
|
||||
}
|
||||
|
||||
display: block;
|
||||
position: relative;
|
||||
width: auto;
|
||||
height: auto;
|
||||
top: 10px;
|
||||
left: auto;
|
||||
|
||||
list-style: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
line-height: 18px;
|
||||
|
||||
// scrollspy active
|
||||
.spyActive{
|
||||
|
||||
> a{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
ul{
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
li{
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
a{
|
||||
color: lighten(@brand-primary, 15%);
|
||||
text-decoration: none;
|
||||
padding: 4px 5px 4px 5px;
|
||||
display: block;
|
||||
|
||||
|
||||
&:hover{
|
||||
background-color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ul{
|
||||
list-style: none;
|
||||
margin: 10px 0px 10px 15px;
|
||||
padding: 0px;
|
||||
line-height: 18px;
|
||||
font-size: 12px;
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* To Top Button
|
||||
-------------------------------------------------- */
|
||||
#ToTop{
|
||||
display: none;
|
||||
position: fixed;
|
||||
right: 50px;
|
||||
top: 52%;
|
||||
font-size: 35px;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
|
||||
.visible-lg;
|
||||
|
||||
a{
|
||||
color: #e0e0e0;
|
||||
}
|
||||
a:hover{
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* CLOUD BUILDER
|
||||
-------------------------------------------------- */
|
||||
#builder-form .checkbox {
|
||||
display: block;
|
||||
padding: 3px 0px 3px 30px;
|
||||
}
|
||||
|
||||
#builder-form .checkbox label {
|
||||
color: #707070;
|
||||
}
|
||||
|
||||
#builder-form a {
|
||||
cursor: pointer;
|
||||
}
|
29
EnlighterJS/Resources/EnlighterWeb.min.css
vendored
Normal file
40
EnlighterJS/Resources/ExampleData/Example1.phtml
Normal file
|
@ -0,0 +1,40 @@
|
|||
<div class="alert alert-success" role="alert">Level: <strong>Beginner</strong></div>
|
||||
|
||||
<h3>Some Examples</h3>
|
||||
<h4>jQuery Code (Javascript) - highlighted by EnlighterJS</h4>
|
||||
<pre data-enlighter-language="jquery" data-enlighter-highlight="5">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
|
||||
<h4>Code-Tabs</h4>
|
||||
<pre data-enlighter-language="jquery" data-enlighter-highlight="5" data-enlighter-group="group1">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
<pre data-enlighter-language="mootools" data-enlighter-highlight="1" data-enlighter-group="group1">
|
||||
// initialize enlighterjs for block elements
|
||||
EnlighterJS.Util.Helper(document.getElements('pre'), {
|
||||
// replace tabs with 2 spaces
|
||||
indent: 2,
|
||||
|
||||
// special hover class
|
||||
hover: 'myHoverClass',
|
||||
|
||||
// block element renderer
|
||||
renderer: 'Block'
|
||||
});
|
||||
</pre>
|
||||
|
||||
<h4>Inline Code</h4>
|
||||
<p>EnlighterJS also supports <code class="special" data-enlighter-language="js">alert('Inline Sourcecode highlighting');</code> (since version 2.0).</p>
|
49
EnlighterJS/Resources/ExampleData/Example2-jsinit.phtml
Normal file
|
@ -0,0 +1,49 @@
|
|||
<!-- Initialize EnlighterJS using the Helper Utility -->
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function(){
|
||||
// Global EnlighterJS initialization for block code (selector: pre) and inline code (selector: code.special) with some options
|
||||
// EnlighterJS.Util.Init(blockSelector:String, inlineSelector:String, options:Object)
|
||||
EnlighterJS.Util.Init('pre', 'code.special', {
|
||||
// reindent code -> replace tab with 2 spaces
|
||||
indent: 2,
|
||||
|
||||
// show all buttons
|
||||
infoButton: true,
|
||||
windowButton: true,
|
||||
rawButton: true,
|
||||
|
||||
// special hover class
|
||||
hover: 'myHoverClass',
|
||||
|
||||
// default language
|
||||
language: 'php',
|
||||
|
||||
// default theme
|
||||
theme: 'classic',
|
||||
|
||||
// toolbar labels
|
||||
toolbar: {
|
||||
rawTitle: 'RAW Code',
|
||||
windowTitle: 'New Window',
|
||||
infoTitle: 'EnlighterJS'
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="alert alert-success" role="alert">Level: <strong>Beginner</strong></div>
|
||||
|
||||
<h3>Some Examples</h3>
|
||||
<h4>jQuery Code (Javascript) - highlighted by EnlighterJS</h4>
|
||||
<pre data-enlighter-language="jquery" data-enlighter-highlight="5">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
<h4>Inline Code</h4>
|
||||
<p>EnlighterJS also supports <code class="special" >$content = print_r(array(1,2,3), true);</code> (since version 2.0).</p>
|
||||
|
271
EnlighterJS/Resources/ExampleData/Example3-advanced.phtml
Normal file
|
@ -0,0 +1,271 @@
|
|||
<!-- Initialize EnlighterJS using the Helper Utility -->
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function(){
|
||||
// ==========================================================
|
||||
// EXAMPLE 1 - Different Inline+Block Config (default Language+Theme)
|
||||
// ==========================================================
|
||||
// initialize enlighterjs for block elements within container #example1
|
||||
EnlighterJS.Util.Helper(document.getElements('#example1 pre'), {
|
||||
// replace tabs with 2 spaces
|
||||
indent: 2,
|
||||
|
||||
// default language: js
|
||||
language: 'javascript',
|
||||
|
||||
// block element renderer
|
||||
renderer: 'Block',
|
||||
|
||||
// no tab pane (also if data-enlighter-group attribute is provided!)
|
||||
grouping: false
|
||||
});
|
||||
|
||||
// initialize enlighterjs for inline elements within container #example1
|
||||
EnlighterJS.Util.Helper(document.getElements('#example1 code.ih'), {
|
||||
// inline! element renderer (this is important for inline syntax highlighting - otherwise the code will be displayed as <ol> list like block elements!)
|
||||
renderer: 'Inline',
|
||||
|
||||
// set default language to php
|
||||
language: 'php',
|
||||
|
||||
// use the classic theme for inline code!
|
||||
theme: 'classic'
|
||||
});
|
||||
|
||||
// ==========================================================
|
||||
// EXAMPLE 2 - Highlight a single pre element using the Native Element.enlight extension
|
||||
// ==========================================================
|
||||
// you can pass any EnlighterJS options as object or just true/false
|
||||
document.id('Example2_Codeblock').enlight({
|
||||
language: 'xml',
|
||||
theme: 'classic',
|
||||
indent: 3,
|
||||
infoButton: true,
|
||||
windowButton: true
|
||||
});
|
||||
|
||||
// enable/disable highlighting using buttons
|
||||
document.getElement('#example2 .hiOn').addEvent('click', function(){
|
||||
document.id('Example2_Codeblock').enlight(true);
|
||||
});
|
||||
document.getElement('#example2 .hiOff').addEvent('click', function(){
|
||||
document.id('Example2_Codeblock').enlight(false);
|
||||
});
|
||||
|
||||
// ==========================================================
|
||||
// EXAMPLE 3 - Highlight a single pre element using classic EnlighterJS Class context
|
||||
// ==========================================================
|
||||
// get element
|
||||
var example3_el = document.getElement('#example3 pre');
|
||||
|
||||
// create config
|
||||
var options3 = {
|
||||
language: 'xml',
|
||||
theme: 'classic',
|
||||
indent: 2,
|
||||
infoButton: true,
|
||||
windowButton: true,
|
||||
rawButton: true
|
||||
};
|
||||
|
||||
// create new instance
|
||||
var enlighter3 = new EnlighterJS(example3_el, options3);
|
||||
|
||||
// start highligjting
|
||||
enlighter3.enlight(true);
|
||||
|
||||
// enable/disable highlighting using buttons
|
||||
document.getElement('#example3 .hiOn').addEvent('click', function(){
|
||||
enlighter3.enlight(true);
|
||||
});
|
||||
document.getElement('#example3 .hiOff').addEvent('click', function(){
|
||||
enlighter3.enlight(false);
|
||||
});
|
||||
|
||||
// ==========================================================
|
||||
// EXAMPLE 4 - Codegroups required EnlighterJS.Util.Helper !
|
||||
// ==========================================================
|
||||
// initialize enlighterjs for block elements within container #example4
|
||||
EnlighterJS.Util.Helper(document.getElements('#example4 pre'), {
|
||||
// replace tabs with 2 spaces
|
||||
indent: 2,
|
||||
|
||||
// default language: js
|
||||
language: 'javascript',
|
||||
|
||||
// block element renderer
|
||||
renderer: 'Block',
|
||||
|
||||
// use Beyond as default theme
|
||||
theme: 'beyond',
|
||||
|
||||
// no linennumbers
|
||||
showLinenumbers: false
|
||||
});
|
||||
|
||||
// ==========================================================
|
||||
// EXAMPLE 5 - Using EnlighterJS with dynamical loaded content
|
||||
// ==========================================================
|
||||
// create new html request - use testcase data as source
|
||||
var htmlRequest5 = new Request.HTML({
|
||||
evalScripts: false,
|
||||
url: '../Resources/TestcaseData/c.html',
|
||||
|
||||
onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
|
||||
// directly append the content into the inner example5 pane
|
||||
document.id('example5').set('html', responseHTML);
|
||||
|
||||
// highlight all pre elements within the container!
|
||||
EnlighterJS.Util.Init('#example5 pre', '#example5 code', {
|
||||
// replace tabs with 2 spaces
|
||||
indent: 2,
|
||||
|
||||
// use Beyond as default theme
|
||||
theme: 'classic',
|
||||
|
||||
// no linennumbers
|
||||
showLinenumbers: false
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// trigger request on click
|
||||
document.getElement('#example5 .loadContent').addEvent('click', function(){
|
||||
htmlRequest5.get();
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="alert alert-info" role="alert">Level: <strong>Intermediate/Advanced</strong></div>
|
||||
<!-- EXAMPLE 1 ########################## -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Example 1 - Different Inline+Block Config</div>
|
||||
<div class="panel-body" id="example1">
|
||||
<h4>Javascript Code - default language JS</h4>
|
||||
<pre data-enlighter-highlight="5">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
|
||||
<h4>Inline PHP Code - Using classic Theme and PHP as default language </h4>
|
||||
<p>EnlighterJS also supports <code class="ih" >$content = print_r(array(1,2,3), true);</code> (since version 2.0).<br />Not highlighted (selector not matching) <code>$content = print_r(array(1,2,3), true);</code></p>
|
||||
</div></div>
|
||||
<!-- // EXAMPLE 1 ########################## -->
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- EXAMPLE 2 ########################## -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Example 2 - Using native Element.enlight() extension</div>
|
||||
<div class="panel-body" id="example2">
|
||||
<p>Just want to highlight single elements on your page, maybe loaded dynamically and not available on domready ?</p>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default hiOn">Highlight</button>
|
||||
<button type="button" class="btn btn-default hiOff">Un-Highlight</button>
|
||||
</div>
|
||||
<h4>XML Code</h4>
|
||||
<pre id="Example2_Codeblock">
|
||||
<building name="GlobalDynamics Main Building" id="0xFA8A91C6617DFA1B">
|
||||
<group level="2">
|
||||
<room number="123">Conference Room A</room>
|
||||
<room number="124">Conference Room B</room>
|
||||
<room number="125">Conference Room C</room>
|
||||
<room number="126">Conference Room D</room>
|
||||
</group>
|
||||
<group level="2">
|
||||
<room number="17">John's Office</room>
|
||||
<room number="19">Eric's Office</room>
|
||||
</group>
|
||||
</pre>
|
||||
</div></div>
|
||||
<!-- // EXAMPLE 2 ########################## -->
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- EXAMPLE 3 ########################## -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Example 3 - Using EnlighterJS in OOP context</div>
|
||||
<div class="panel-body" id="example3">
|
||||
<p>This method is recommended if you want to do some advanced stuff</p>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default hiOn">Highlight</button>
|
||||
<button type="button" class="btn btn-default hiOff">Un-Highlight</button>
|
||||
</div>
|
||||
|
||||
<h4>XML Code</h4>
|
||||
<pre>
|
||||
<building name="GlobalDynamics Main Building" id="0xFA8A91C6617DFA1B">
|
||||
<group level="2">
|
||||
<room number="123">Conference Room A</room>
|
||||
<room number="124">Conference Room B</room>
|
||||
<room number="125">Conference Room C</room>
|
||||
<room number="126">Conference Room D</room>
|
||||
</group>
|
||||
<group level="2">
|
||||
<room number="17">John's Office</room>
|
||||
<room number="19">Eric's Office</room>
|
||||
</group>
|
||||
</pre>
|
||||
</div></div>
|
||||
<!-- // EXAMPLE 3 ########################## -->
|
||||
|
||||
|
||||
|
||||
<!-- EXAMPLE 4 ########################## -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Example 4 - Using Codegroups</div>
|
||||
<div class="panel-body" id="example4">
|
||||
<p>If you need Codegroups, you have to use the <code>EnlighterJS.Util.Helper</code> utility function for initialiation which does the "magic" part for you! <br />
|
||||
Note: <code>EnlighterJS.Util.Init</code> as well as <code>EnlighterJS.Util.Metainit</code> trigger this utility!</p>
|
||||
|
||||
<h4>XML Code</h4>
|
||||
<pre data-enlighter-group="EX4" data-enlighter-title="XML Document" data-enlighter-language="xml">
|
||||
<building name="GlobalDynamics Main Building" id="0xFA8A91C6617DFA1B">
|
||||
<group level="2">
|
||||
<room number="123">Conference Room A</room>
|
||||
<room number="124">Conference Room B</room>
|
||||
<room number="125">Conference Room C</room>
|
||||
<room number="126">Conference Room D</room>
|
||||
</group>
|
||||
<group level="2">
|
||||
<room number="17">John's Office</room>
|
||||
<room number="19">Eric's Office</room>
|
||||
</group>
|
||||
</pre>
|
||||
<pre data-enlighter-group="EX4" data-enlighter-title="jQuery Code" data-enlighter-language="javascript">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
</div></div>
|
||||
<!-- // EXAMPLE 4 ########################## -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- EXAMPLE 5 ########################## -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Example 5 - Dynamical Content/AJAX</div>
|
||||
<div class="panel-body" id="example5">
|
||||
<p>You can also load dynamic content and highlight it! The most simple way is the use of <code>EnlighterJS.Util.Init</code> utility function!</p>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default loadContent">Load Content & Highlight it</button>
|
||||
</div>
|
||||
</div></div>
|
||||
<!-- // EXAMPLE 5 ########################## -->
|
||||
|
73
EnlighterJS/Resources/ExampleData/LanguageDevelopment.phtml
Normal file
|
@ -0,0 +1,73 @@
|
|||
<?php require('Resources/Templates/ExampleHeader.phtml'); ?>
|
||||
|
||||
<!-- Load Custom Language -->
|
||||
<script type="text/javascript" src="Source/Language/Template.mylang.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function(){
|
||||
|
||||
var options = {
|
||||
language : 'mylang',
|
||||
theme: 'enlighter',
|
||||
rawButton: true,
|
||||
windowButton: true,
|
||||
indent : 2,
|
||||
infoButton: true,
|
||||
showLinenumbers: true
|
||||
};
|
||||
EnlighterJS.Util.Helper(document.getElements('pre'), Object.merge(options,{
|
||||
renderer : 'Block'
|
||||
}));
|
||||
|
||||
EnlighterJS.Util.Helper(document.getElements('code'), Object.merge(options,{
|
||||
renderer : 'Inline'
|
||||
}));
|
||||
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Begin page content -->
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
<strong>EnlighterJS</strong> <small>Language Development</small>
|
||||
</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<!-- ############################################################# -->
|
||||
<div class="well">Start your Language-Development by editing the file <strong>Source/Language/Template.mylang.js</strong> - all changes will directly appear into this document without the need of a rebuild!</div>
|
||||
|
||||
|
||||
<h2>Inline Content</h2>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code class="special">if FILE == 123.123 then</code>
|
||||
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.<br /> Lorem ipsum dolor sit amet,
|
||||
<code>not highlighted</code>
|
||||
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<h2>HTML Content</h2>
|
||||
<pre data-enlighter-language="mylang">
|
||||
<!##
|
||||
# This is a hash-style-comment
|
||||
if FILE == 123.123 then
|
||||
echo 'testcase'
|
||||
elseif
|
||||
echo "OH NO"
|
||||
endif
|
||||
##!>
|
||||
</pre>
|
||||
|
||||
|
||||
|
||||
<!-- ############################################################# -->
|
||||
</div>
|
||||
<!-- // content -->
|
||||
|
||||
</div>
|
||||
<!-- // container -->
|
||||
</body>
|
||||
</html>
|
148
EnlighterJS/Resources/ExampleData/ThemeDevelopment.phtml
Normal file
|
@ -0,0 +1,148 @@
|
|||
<?php require('Resources/Templates/ExampleHeader.phtml'); ?>
|
||||
|
||||
<!-- Your Custom Theme -->
|
||||
<link rel="stylesheet" href="../Source/Themes/Template.MyTheme.css" />
|
||||
|
||||
<!-- Initialize EnlighterJS -->
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-language="javascript" data-theme="mytheme" data-indent="2" data-selector-block="pre" data-selector-inline="code" />
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Begin page content -->
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
<strong>EnlighterJS</strong> <small>Theme Development</small>
|
||||
</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<!-- ############################################################# -->
|
||||
<div class="well">Start your Theme-Development by editing the file <strong>Source/Themes/Template.MyTheme.css</strong> - all changes will directly appear into this document without the need of a rebuild!</div>
|
||||
|
||||
|
||||
<h2>Inline Content</h2>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code class="special">window.addEvent('domready', function(){});</code>
|
||||
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.<br /> Lorem ipsum dolor sit amet,
|
||||
<code>not highlighted</code>
|
||||
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<h2>HTML Content</h2>
|
||||
<pre data-enlighter-language="html">
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.yui.css" />
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="mootools-core-1.4.5-full-nocompat.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="../Build/EnlighterJS.yui.js" ></script>
|
||||
|
||||
<!-- Initialize EnlighterJS -->
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function() {
|
||||
// highlight all pre tags
|
||||
$$('pre').light({
|
||||
altLines : 'hover',
|
||||
indent : 2,
|
||||
editable: false
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Syntax highlight using Languages/Js.js and default theme -->
|
||||
<pre data-enlighter-language="css">var myClass = new Class({})</pre>
|
||||
|
||||
<!-- Syntax highlight using Languages/Php.js and theme from Themes/Twilight.css -->
|
||||
<pre data-enlighter-language="php" data-enlighter-theme="twilight"><?php php_info() ?></pre>
|
||||
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>JS Content</h2>
|
||||
<pre class="special" data-enlighter-group="g1" id="Lightit1" data-enlighter-lineoffset="5" data-enlighter-title="Javascript1" data-enlighter-highlight="10,16-19">
|
||||
window.addEvent('domready', function(){
|
||||
// metadata config available ? -> autoinit
|
||||
var m = document.getElement('meta[name="EnlighterJS"]');
|
||||
|
||||
// check instance
|
||||
if (!m){
|
||||
return;
|
||||
}
|
||||
|
||||
// create new options object
|
||||
var options = {
|
||||
language: m.get('data-language') || 'generic',
|
||||
theme: m.get('data-theme') || 'Enlighter',
|
||||
indent: m.get('data-indent').toInt() || -1,
|
||||
hover: m.get('data-hover') || 'hoverEnabled'
|
||||
};
|
||||
|
||||
// selector available ? if not, match all pre-tags
|
||||
var blockSelector = m.get('data-selector-block') || 'pre';
|
||||
|
||||
// selector available ? if not, match all code-tags
|
||||
var inlineSelector = m.get('data-selector-inline') || 'code';
|
||||
});
|
||||
</pre>
|
||||
|
||||
<pre class="special" data-enlighter-group="g1" data-enlighter-linenums="true" data-enlighter-title="TypeScript ?!" data-enlighter-theme="mootools">
|
||||
|
||||
|
||||
// create output container element
|
||||
var container = new Element(this.options.containerTag);
|
||||
|
||||
// set class and id attributes.
|
||||
container.addClass(theme + 'EnlighterJS');
|
||||
container.addClass('EnlighterJSRendered');
|
||||
container.set('id', 'EnlighterJS_' + String.uniqueID());
|
||||
|
||||
// generate output based on ordered list of tokens
|
||||
language.getTokens().each(function(token, index){
|
||||
// get classname
|
||||
var className = token.type ? (language.aliases[token.type] || token.type) : '';
|
||||
|
||||
|
||||
|
||||
|
||||
// create new inline element which contains the token - htmlspecialchars get escaped by mootools setText !
|
||||
container.grab(new Element('span', {
|
||||
'class': className,
|
||||
'text': token.text
|
||||
}));
|
||||
});
|
||||
|
||||
return container;
|
||||
</pre>
|
||||
<pre class="special" data-enlighter-group="g1" data-enlighter-linenums="true" data-enlighter-theme="mootools">
|
||||
// set class and id attributes.
|
||||
container.addClass(theme + 'EnlighterJS');
|
||||
container.addClass('EnlighterJSRendered');
|
||||
container.set('id', 'EnlighterJS_' + String.uniqueID());
|
||||
</pre>
|
||||
<h2>No-Highlight</h2>
|
||||
<pre data-enlighter-language="no-highlight" data-enlighter-highlight="3,6-9" id="NoLight" class="special">
|
||||
// create output container element
|
||||
var container = new Element(this.options.containerTag);
|
||||
|
||||
// set class and id attributes.
|
||||
container.addClass(theme + 'EnlighterJS');
|
||||
container.addClass('EnlighterJSRendered');
|
||||
container.set('id', 'EnlighterJS_' + String.uniqueID());
|
||||
</pre>
|
||||
|
||||
|
||||
<!-- ############################################################# -->
|
||||
</div>
|
||||
<!-- // content -->
|
||||
|
||||
|
||||
</div>
|
||||
<!-- // container -->
|
||||
</body>
|
||||
</html>
|
62
EnlighterJS/Resources/ExampleTemplate.phtml
Normal file
|
@ -0,0 +1,62 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!--
|
||||
EnlighterJS Examples
|
||||
|
||||
Author: Andi Dittrich <http://andidittrich.de>
|
||||
License: MIT X11 License
|
||||
-->
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<!-- Favicon !-->
|
||||
<link rel="icon" href="<?php echo cdnbase('Resources/favicon.png'); ?>" type="image/png" />
|
||||
|
||||
<title><?php echo strip_tags($pageTitle); ?> | EnlighterJS</title>
|
||||
|
||||
<!-- Bootstrap CSS - just 4 styling - not required for enlighterjs -->
|
||||
<link rel="stylesheet" href="<?php echo cdnbase('Resources/bootstrap/bootstrap.min.css'); ?>">
|
||||
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo cdnbase('Build/EnlighterJS.min.css'); ?>" />
|
||||
|
||||
<!-- Monospace Fonts on Google Webfonts !-->
|
||||
<link href='http://fonts.googleapis.com/css?family=Cutive+Mono|Roboto+Mono:400,700,400italic,500,500italic,700italic|Ubuntu+Mono:400,700,400italic,700italic|Droid+Sans+Mono|Source+Code+Pro:400,600' rel='stylesheet' type='text/css'>
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="<?php echo cdnbase('Resources/MooTools.min.js'); ?>"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="<?php echo cdnbase('Build/EnlighterJS.min.js'); ?>"></script>
|
||||
|
||||
<!-- Special Styles -->
|
||||
<style type="text/css">
|
||||
/* custom hover effect using specific css class */
|
||||
.EnlighterJS.myHoverClass li:hover{
|
||||
background-color: #c0c0c0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<?php echo $header; ?>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Begin page content -->
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
<?php echo $pageTitle; ?>
|
||||
</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<!-- ############################################################# -->
|
||||
<?php include($page); ?>
|
||||
<!-- ############################################################# -->
|
||||
</div>
|
||||
<!-- // content -->
|
||||
|
||||
</div>
|
||||
<!-- // container -->
|
||||
</body>
|
||||
</html>
|
5
EnlighterJS/Resources/MooTools.min.js
vendored
Normal file
117
EnlighterJS/Resources/Pages/Builder.phtml
Normal file
|
@ -0,0 +1,117 @@
|
|||
|
||||
<section>
|
||||
<div class="container">
|
||||
<article>
|
||||
<h2>Create your customized version</h2>
|
||||
|
||||
<p class="well">You can generate your <strong>customized</strong> EnlighterJS Builds by using the <a title="Promethium" href="http://promethium.andidittrich.de/">Promethium CloudBuilder</a>.
|
||||
Maybe you don't need all Theme/Languages and you want to strip down the package.
|
||||
The Builder always uses the latest EnlighterJS release and automatically compresses the files (both compressed & uncompressed builds are included!).
|
||||
</p>
|
||||
|
||||
<hr />
|
||||
|
||||
<form method="post" action="http://promethium.andidittrich.de/enlighterjs/" id="builder-form">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><strong>Language Support</strong> <small><a class="selectall">select all</a> / <a class="selectnone">select none</a></small></div>
|
||||
<div class="panel-body">
|
||||
<?php foreach ($languages as $l => $d){ ?>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Language[<?php echo $l; ?>]"><?php echo $d; ?></label>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><strong>Modern Themes</strong> <small><a class="selectall">select all</a> / <a class="selectnone">select none</a></small></div>
|
||||
<div class="panel-body">
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Enlighter]">"Enlighter" Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Eclipse]">"Eclipse" Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Classic]">"Classic" Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Beyond]">"Beyond" Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[MooTwo]">"MooTwo" Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Godzilla]">"Godzilla" Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Droide]">"Droide" Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Minimal]">"Minimal" Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Atomic]">"Atomic" Theme</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><strong>Legacy Themes</strong> (Lighter.js) <small><a class="selectall">select all</a> / <a class="selectnone">select none</a></small></div>
|
||||
<div class="panel-body">
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Git]">"Git" Legacy Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[MooTools]">"MooTools" Legacy Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Mocha]">"Mocha" Legacy Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Panic]">"Panic" Legacy Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Tutti]">"Tutti" Legacy Theme</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Theme[Twilight]">"Twilight" Legacy Theme</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><strong>Special Features</strong> <small class="text-right"><a class="selectall">select all</a> / <a class="selectnone">select none</a></small></div>
|
||||
<div class="panel-body">
|
||||
<div class="checkbox">
|
||||
<label><input value="1" type="checkbox" name="Feature[Metainit]">Include the Metainit Utility for easy initialization</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<p><button class="btn btn-primary btn-lg" type="submit">Download Custom Package</button></p>
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function(){
|
||||
document.getElements('#builder-form .selectall').addEvent('click', function(){
|
||||
this.getParent().getParent().getParent().getElements('input').set('checked', 'checked');
|
||||
});
|
||||
document.getElements('#builder-form .selectnone').addEvent('click', function(){
|
||||
this.getParent().getParent().getParent().getElements('input').set('checked', false);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
</section>
|
19
EnlighterJS/Resources/Pages/Changelog.phtml
Normal file
|
@ -0,0 +1,19 @@
|
|||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-10 col-sm-12">
|
||||
<article>
|
||||
<?php include('.tmp/Changelog.html'); ?>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 hidden-xs hidden-sm">
|
||||
<ul id="content-nav" data-autogen="true"></ul>
|
||||
|
||||
<div id="ToTop">
|
||||
<a href="#" class="glyphicon glyphicon-upload" title="Scroll To Top"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
19
EnlighterJS/Resources/Pages/Documentation.phtml
Normal file
|
@ -0,0 +1,19 @@
|
|||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-10 col-sm-12">
|
||||
<article>
|
||||
<?php include('.tmp/Documentation.html'); ?>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 hidden-xs hidden-sm">
|
||||
<ul id="content-nav" data-autogen="true"></ul>
|
||||
|
||||
<div id="ToTop">
|
||||
<a href="#" class="glyphicon glyphicon-upload" title="Scroll To Top"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
222
EnlighterJS/Resources/Pages/GettingStarted.phtml
Normal file
|
@ -0,0 +1,222 @@
|
|||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-10 col-sm-12">
|
||||
<article>
|
||||
<h2>Getting Started</h2>
|
||||
|
||||
<p>EnlighterJS is a free, easy-to-use, syntax highlighting plugin developed for MooTools. Using it can be as simple as adding a single script and style to your website, choosing the elements you wish to highlight, and EnlighterJS takes care of the rest!</p>
|
||||
<br />
|
||||
<div class="bordered">
|
||||
<h3 class="text-center">Prepare your sourecode</h3>
|
||||
<p class="text-center">Just add the <code data-enlighter-language="no-highlight">data-enlighter-language</code> attribute to specify the programming language.</p>
|
||||
<pre data-enlighter-language="no-highlight" class="raw">
|
||||
<pre data-enlighter-language="js">
|
||||
Element.implement({
|
||||
...some js code..
|
||||
});
|
||||
</pre></pre>
|
||||
</div>
|
||||
<div class="icon">
|
||||
Roll the Drums..it will be magically transformed into<br />
|
||||
<span class="glyphicon glyphicon-chevron-down"></span><br />
|
||||
</div>
|
||||
|
||||
<div class="bordered">
|
||||
<h3 class="text-center">Highlighted Code</h3>
|
||||
<pre data-enlighter-language="js">
|
||||
Element.implement({
|
||||
/**
|
||||
* Highlights an element/Removes Element highlighting
|
||||
*
|
||||
* @param {Object, Boolean} [options] EnlighterJS options Object or Boolean value to enable/disable highlighting
|
||||
* @returns {Element} The current Element instance.
|
||||
*/
|
||||
enlight: function(options){
|
||||
// mixed input check - options available ?
|
||||
options = (typeof(options) == "undefined") ? {} : options;
|
||||
|
||||
// convert "true" to empty Object!
|
||||
options = (options===true) ? {} : options;
|
||||
|
||||
// enlighter instance already available ?
|
||||
var enlighter = this.retrieve('EnlighterInstance');
|
||||
|
||||
// hide highlighted sourcecode ?
|
||||
if (options === false){
|
||||
if (enlighter !== null) {
|
||||
enlighter.enlight(false);
|
||||
}
|
||||
// highlight sourcecode and use options
|
||||
}else{
|
||||
// create new enlighter instance
|
||||
if (enlighter === null) {
|
||||
enlighter = new EJS(this, options, null);
|
||||
this.store('EnlighterInstance', enlighter);
|
||||
}
|
||||
enlighter.enlight(options);
|
||||
}
|
||||
|
||||
// element instance
|
||||
return this;
|
||||
},
|
||||
});
|
||||
</pre>
|
||||
</div>
|
||||
<h2>Get It!</h2>
|
||||
<p>EnlighterJS is available as source download including pre-build css + js files.</p>
|
||||
|
||||
<h3>Install with Bower</h3>
|
||||
<p>You can also use <a href="http://bower.io">Bower</a> (linked to the GitHub repository) to get the wanted version.</p>
|
||||
<code data-enlighter-language="shell">$ bower install enlighterjs</code>
|
||||
|
||||
<hr />
|
||||
<h3>Manual Installation</h3>
|
||||
<p>Or download the latest Release from GitHub and extract the files to your workspace.</p>
|
||||
|
||||
<p>
|
||||
<a class="btn btn-lg btn-primary" href="<?php echo EJS_PACKAGE_ZIP; ?>" role="button"><span class="glyphicon glyphicon-download-alt"></span> EnlighterJS.zip</a>
|
||||
<a class="btn btn-lg btn-primary" href="<?php echo EJS_PACKAGE_TGZ; ?>" role="button"><span class="glyphicon glyphicon-download-alt"></span> EnlighterJS.tar.gz</a>
|
||||
<a class="btn btn-lg btn-primary" href="Builder.html" role="button"><span class="glyphicon glyphicon-download-alt"></span> Custom Package</a>
|
||||
</p>
|
||||
|
||||
<h2>Integration</h2>
|
||||
<p>Three steps to success. EnlighterJS requires <a href="http://mootools.net/core/builder">MooTools.Core >= 1.4.5</a>.</p>
|
||||
|
||||
<h3>1. Link the CSS + JS Files</h3>
|
||||
<p>Modify the paths to match your project settings.</p>
|
||||
<pre class="EnlighterJS" data-enlighter-language="HTML"><head>
|
||||
...
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="css/EnlighterJS.min.css" />
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="js/MooTools-More-1.5.1-compressed.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="js/EnlighterJS.min.js" ></script>
|
||||
...
|
||||
</head>
|
||||
</pre>
|
||||
<h3>2. Prepare your sourcecode</h3>
|
||||
<p>Starting with just a small piece of javascript code you wish to highlight. Prepare your sourcecode by giving the element (containing the code) an optional <code data-enlighter-language="no-highlight">data-enlighter-language</code> attribute with the language of the snippet.</p>
|
||||
<pre data-enlighter-language="html">
|
||||
<pre data-enlighter-language="js">
|
||||
$('#loading-example-btn').click(function () {
|
||||
var btn = $(this)
|
||||
btn.button('loading')
|
||||
$.ajax(...).always(function () {
|
||||
btn.button('reset')
|
||||
});
|
||||
});
|
||||
</pre>
|
||||
</pre>
|
||||
|
||||
<h3>3. Initialize it!</h3>
|
||||
<p>The most simple and elegant way to use EnlighterJS on your page: just add a simple <strong>HTML-Meta-Tag</strong> to your page with the desired global config </p>
|
||||
<pre class="EnlighterJS" data-enlighter-language="HTML"><!-- Initialize EnlighterJS -->
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-indent="4" data-selector-block="pre" data-selector-inline="code" data-language="javascript" />
|
||||
</pre>
|
||||
|
||||
<h2>Ready to use Examples</h2>
|
||||
<p>Your instantaneous launch into the world of EnlighterJS. For further information, please refer to the <a href="Documentation.html">Documentation</a>.</p>
|
||||
|
||||
<div class="bordered">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h3><span class="glyphicon glyphicon-education"></span> Example1 <small><a href="Example1.html">View file</a></small></h3>
|
||||
<p><strong>Minimal</strong>
|
||||
<p>A minimalistic example how to use EnlighterJS on your page, using the <strong>Metainit</strong> initialization method. This will be the best choice for most users.</p>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<h3><span class="glyphicon glyphicon-education"></span> Example2 <small><a href="Example2-jsinit.html">View file</a></small></h3>
|
||||
<p><strong>Javascript based Initialization.</strong></p>
|
||||
<p>In some cases, it can be more effective using a javascript based initialization - e.g. use different configs for inline+block code.</p>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<h3><span class="glyphicon glyphicon-education"></span> Example3 <small><a href="Example3-advanced.html">View file</a></small></h3>
|
||||
<p><strong>Advanced Usage</strong></p>
|
||||
<p>Some examples for special use-cases. Requires some deeper javascript knowledge.</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<h2>WordPress Plugin</h2>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<p class="lead">Enlighter - The most simple way to use EnlighterJS. <br />
|
||||
Full Visual-Editor-Integration. Build-in Theme Customizer. <br />
|
||||
Ready-to-use, Ready-to-post!
|
||||
</p>
|
||||
<a class="btn btn-lg btn-primary" href="http://wordpress.org/plugins/enlighter/" role="button">Enlighter WordPress Plugin</a>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<img class="featurette-image img-responsive" src="img/screenshot-2.jpg" alt="WordPress Visual Editor Integration" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>License FAQ</h2>
|
||||
<p class="lead">EnlighterJS is released under the Terms of <a href="http://opensource.org/licenses/MIT">The MIT License (X11)</a>. Copyright (c) 2009 Jose Prado, 2013-2015 Andi Dittrich and Contributors</p>
|
||||
|
||||
<h3>Simplification <small>not legally binding</small></h3>
|
||||
<div class="bordered">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h4><span class="glyphicon glyphicon-warning-sign"></span> It requires you to</h4>
|
||||
<ul>
|
||||
<li>Keep the license and copyright notice included in the CSS and JavaScript files when you use them in your works</li>
|
||||
<li>Included the FULL License in all copies or substantial portions of the Software</li>
|
||||
</ul>
|
||||
|
||||
<h4><span class="glyphicon glyphicon-remove"></span> It forbids you to</h4>
|
||||
<ul>
|
||||
<li>Redistribute any piece of EnlighterJS without proper attribution</li>
|
||||
<li>Hold the authors liable for damages as the Software is provided as is without warranty of any kind</li>
|
||||
<li>Remove Copyright/License information's</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h4><span class="glyphicon glyphicon-ok"></span> It permits you to</h4>
|
||||
<ul>
|
||||
<li>Use EnlighterJS in personal/private projects</li>
|
||||
<li>Use EnlighterJS in commercial projects</li>
|
||||
<li>Use EnlighterJS in internal/closed source projects</li>
|
||||
<li>Modify the source code</li>
|
||||
</ul>
|
||||
|
||||
<h4><span class="glyphicon glyphicon-pushpin"></span> It does not require you to</h4>
|
||||
<ul>
|
||||
<li>Push changes you've made back to the project</li>
|
||||
<li>Add attribution notices/credits to your website</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Full License</h3>
|
||||
<blockquote>
|
||||
<?php echo nl2br(file_get_contents('LICENSE.md')); ?>
|
||||
</blockquote>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 hidden-xs hidden-sm">
|
||||
<ul id="content-nav" data-autogen="true"></ul>
|
||||
|
||||
<div id="ToTop">
|
||||
<a href="#" class="glyphicon glyphicon-upload" title="Scroll To Top"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
77
EnlighterJS/Resources/Pages/Languages.phtml
Normal file
|
@ -0,0 +1,77 @@
|
|||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-10 col-sm-12">
|
||||
<article>
|
||||
|
||||
<div class="hidden-md hidden-lg sec-nav">
|
||||
<h2>Build-in Languages</h2>
|
||||
<p>
|
||||
|
||||
<?php
|
||||
foreach ($languageExamples as $l){
|
||||
echo '<a class="btn btn-primary btn-sm" href="Language.', $l, '.html">', $l, '</a>';
|
||||
}
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h2><?php echo $currentLanguage; ?></h2>
|
||||
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"><strong>Select Theme</strong></span>
|
||||
<select id="ThemeChooser" class="form-control">
|
||||
<?php
|
||||
foreach ($themes as $t){
|
||||
echo '<option value="', strtolower($t), '">', $t, '</option>';
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function(){
|
||||
var currentThemeBase = 'enlighterEnlighterJS';
|
||||
|
||||
document.id('ThemeChooser').addEvent('change', function(){
|
||||
// get container
|
||||
var container = document.getElements('.EnlighterJS');
|
||||
var wrapper = document.getElements('.EnlighterJSWrapper');
|
||||
|
||||
container.removeClass(currentThemeBase);
|
||||
wrapper.removeClass(currentThemeBase + 'Wrapper');
|
||||
|
||||
// generate theme name
|
||||
currentThemeBase = this.value.toLowerCase() + 'EnlighterJS';
|
||||
|
||||
// set new theme
|
||||
container.addClass(currentThemeBase);
|
||||
wrapper.addClass(currentThemeBase + 'Wrapper');
|
||||
}).fireEvent('change');
|
||||
});
|
||||
</script>
|
||||
|
||||
<hr />
|
||||
|
||||
<?php include('Resources/TestcaseData/'.strtolower($currentLanguage).'.html'); ?>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 hidden-xs hidden-sm">
|
||||
<h4>Build-in Languages</h4>
|
||||
<ul id="content-nav" data-nav-static="true">
|
||||
<?php
|
||||
foreach ($languageExamples as $l){
|
||||
echo '<li class="', ($l == $currentLanguage) ? 'spyActive': '', '"><a href="Language.', $l, '.html">', $l, '</a></li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
|
||||
<div id="ToTop">
|
||||
<a href="#" class="glyphicon glyphicon-upload" title="Scroll To Top"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
101
EnlighterJS/Resources/Pages/Plugins.phtml
Normal file
|
@ -0,0 +1,101 @@
|
|||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-10 col-sm-12">
|
||||
<article>
|
||||
|
||||
<h2>Enlighter WordPress Plugin</h2>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<p class="lead">Enlighter - The most simple way to use EnlighterJS. <br />
|
||||
Full Visual-Editor-Integration. Build-in Theme Customizer. <br />
|
||||
Ready-to-use, Ready-to-post!
|
||||
</p>
|
||||
<a class="btn btn-lg btn-primary" href="http://wordpress.org/plugins/enlighter/" role="button">Enlighter WordPress Plugin</a>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<img class="featurette-image img-responsive" src="img/screenshot-2.jpg" alt="WordPress Visual Editor Integration" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Tons of Features</h3>
|
||||
<div class="bordered">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h4>Theme Customizer</h4>
|
||||
<p>
|
||||
Modify the EnlighterJS Themes without any CSS Knowledge
|
||||
<img class="featurette-image img-responsive" src="img/screenshot-8.jpg" alt="Theme Customizer" />
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h4>Theme Live-Preview Mode</h4>
|
||||
<p>
|
||||
See all Theme modifications immediately
|
||||
<img class="featurette-image img-responsive" src="img/screenshot-12.jpg" alt="Live Preview Mode" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Feature List</h3>
|
||||
<ul>
|
||||
<li>Support for all common used languages</li>
|
||||
<li>Theme Customizer including <strong>LIVE Preview Mode</strong></li>
|
||||
<li>Inline Syntax Highlighting</li>
|
||||
<li><strong>Full</strong> Visual-Editor (TinyMCE) Integration (Admin Panel + Frontend)</li>
|
||||
<li>Easy to use Text-Editor mode through the use of Shortcodes</li>
|
||||
<li>Advanced configuration options (CDN usage, ..) are available within the options page.</li>
|
||||
<li>Supports code-groups (displays multiple code-blocks within a tab-pane)</li>
|
||||
<li>Outputs in various formats like ordered lists or inline. Choose the method that works best for you.</li>
|
||||
<li>Extensible language and theme engines - add your own one.</li>
|
||||
<li>Simple CSS based themes</li>
|
||||
<li>Integrated CSS file caching (suitable for high traffic sites)</li>
|
||||
<li>EnlighterJS is written in MooTools. Requires MooTools v1.4+ (included) and client enabled javascript</li>
|
||||
</ul>
|
||||
|
||||
<h3>System requirements</h3>
|
||||
|
||||
<ul>
|
||||
<li>WordPress >= 3.9</li>
|
||||
<li>PHP 5.3, including <code>json</code> functions</li>
|
||||
<li>Webbrowser with enabled Javscript (required for highlighting)</li>
|
||||
<li>Accessable cache directory (<code>/wp-content/plugins/enlighter/cache/</code>)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Installation</h3>
|
||||
<p>You can install the Enlighter package automatically with WordPress` Plugin Manager or manually by uploading the full package.</p>
|
||||
<ol>
|
||||
<li>Download the .zip file of the plugin and extract the content</li>
|
||||
<li>Upload the complete <code>enlighter</code> folder to the <code>/wp-content/plugins/</code> directory</li>
|
||||
<li>Activate the plugin through the 'Plugins' menu in WordPress</li>
|
||||
<li>Goto to the Enlighter settings page and select the default theme which should be used.</li>
|
||||
<li>That's it! You're done. You can select an editor style for your codefragment or enter the following code into a post or page to highlight it (e.g. javascript): <code>[js]var enlighter = new EnlighterJS({});[/js]</code></li>
|
||||
</ol>
|
||||
|
||||
<h3>Compatibility</h3>
|
||||
<p>All browsers supported by MooTools (enabled Javascript required) and with HTML5 capabilities for "data-" attributes are compatible with Enlighter. It's possible that it may work with earlier/other browsers.
|
||||
Generally Enlighter (which javascript part <a href="#" rel="nofollow">EnlighterJS</a> is based on <a href="http://mootools.net/" rel="nofollow">MooTools Javascript Framework</a>) should work together with jQuery in <a href="http://docs.jquery.com/Using_jQuery_with_Other_Libraries" rel="nofollow">noConflict Mode</a> - when you are using jQuery within your WordPress Theme/Page you have to take care of it!</p>
|
||||
|
||||
<ul>
|
||||
<li>Chrome 10+</li>
|
||||
<li>Safari 5+</li>
|
||||
<li>Internet Explorer 6+</li>
|
||||
<li>Firefox 2+</li>
|
||||
<li>Opera 9+</li>
|
||||
</ul
|
||||
|
||||
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 hidden-xs hidden-sm">
|
||||
<ul id="content-nav" data-autogen="true"></ul>
|
||||
|
||||
<div id="ToTop">
|
||||
<a href="#" class="glyphicon glyphicon-upload" title="Scroll To Top"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
162
EnlighterJS/Resources/Pages/Themes.phtml
Normal file
|
@ -0,0 +1,162 @@
|
|||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-10 col-sm-12">
|
||||
<article>
|
||||
|
||||
<div class="hidden-md hidden-lg sec-nav">
|
||||
<h2>Build-in Themes</h2>
|
||||
<p>
|
||||
|
||||
<?php
|
||||
foreach ($themes as $t){
|
||||
echo '<a class="btn btn-primary btn-sm" href="Theme.', $t, '.html">', $t, '</a>';
|
||||
}
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h2><?php echo $theme; ?> <small>Theme</small></h2>
|
||||
|
||||
<h3>Inline</h3>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
|
||||
<code data-enlighter-language="js" data-enlighter-theme="<?php echo $theme; ?>">window.addEvent('domready', function(){});</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<h3>Block <small>with Line-Numbers</small></h3>
|
||||
<pre data-enlighter-language="html" data-enlighter-theme="<?php echo $theme; ?>">
|
||||
<head>
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.yui.css" />
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="mootools-core-1.4.5-full-nocompat.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="../Build/EnlighterJS.yui.js" ></script>
|
||||
|
||||
<!-- Initialize EnlighterJS -->
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function() {
|
||||
// highlight all pre tags
|
||||
document.getElements('pre').enlight({
|
||||
indent : 2
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
</pre>
|
||||
|
||||
<h3>Block <small>without Line-Numbers</small></h3>
|
||||
<pre data-enlighter-language="html" data-enlighter-theme="<?php echo $theme; ?>" data-enlighter-linenumbers="false">
|
||||
<head>
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.yui.css" />
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="mootools-core-1.4.5-full-nocompat.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="../Build/EnlighterJS.yui.js" ></script>
|
||||
|
||||
<!-- Initialize EnlighterJS -->
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function() {
|
||||
// highlight all pre tags
|
||||
document.getElements('pre').enlight({
|
||||
indent : 2
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
</pre>
|
||||
|
||||
<h3>With Tabs</h3>
|
||||
<pre data-enlighter-language="js" data-enlighter-group="group_<?php echo $theme; ?>" data-enlighter-title="Enlighter-Javascript" data-enlighter-theme="<?php echo $theme; ?>">
|
||||
// Load language parser
|
||||
language = new EnlighterJS.Language[languageName](this.getRawCode(true));
|
||||
|
||||
// compile tokens -> generate output
|
||||
var output = this.renderer.render(language, specialLines, {
|
||||
lineOffset: (this.rawCodeblock.get('data-enlighter-lineoffset') || null),
|
||||
lineNumbers: (this.rawCodeblock.get('data-enlighter-linenums') !== 'false')
|
||||
});
|
||||
|
||||
// set class and id attributes.
|
||||
output.addClass(themeName.toLowerCase() + 'EnlighterJS');
|
||||
output.addClass('EnlighterJS');
|
||||
output.set('id', 'EnlighterJS_' + String.uniqueID());
|
||||
</pre>
|
||||
<pre data-enlighter-language="java" data-enlighter-group="group_<?php echo $theme; ?>" data-enlighter-title="pure Java">
|
||||
// Source: http://en.wikipedia.org/wiki/Java_%28programming_language%29
|
||||
// OddEven.java
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
public class OddEven {
|
||||
/**
|
||||
* "input" is the number that the user gives to the computer
|
||||
*/
|
||||
private int input; // a whole number("int" means integer)
|
||||
|
||||
/**
|
||||
* This is the constructor method. It gets called when an object of the OddEven type
|
||||
* is being created.
|
||||
*/
|
||||
public OddEven() {
|
||||
/*
|
||||
* In most Java programs constructors can initialize objects with default values, or create
|
||||
* other objects that this object might use to perform its functions. In some Java programs, the
|
||||
* constructor may simply be an empty function if nothing needs to be initialized prior to the
|
||||
* functioning of the object. In this program's case, an empty constructor would suffice.
|
||||
* A constructor must exist; however, if the user doesn't put one in then the compiler
|
||||
* will create an empty one.
|
||||
*/
|
||||
}
|
||||
}
|
||||
</pre>
|
||||
<pre data-enlighter-language="php" data-enlighter-group="group_<?php echo $theme; ?>" data-enlighter-title="Awesome PHP Script">
|
||||
/** Test Snippet */
|
||||
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
|
||||
|
||||
/* check connection */
|
||||
if (mysqli_connect_errno()) {
|
||||
printf("Connect failed: %s\n", mysqli_connect_error());
|
||||
exit();
|
||||
}
|
||||
|
||||
/* Create table doesn't return a resultset */
|
||||
if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
|
||||
printf("Table myCity successfully created.\n");
|
||||
}
|
||||
|
||||
/* Select queries return a resultset */
|
||||
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) {
|
||||
printf("Select returned %d rows.\n", $result->num_rows);
|
||||
|
||||
/* free result set */
|
||||
$result->close();
|
||||
}
|
||||
</pre>
|
||||
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 hidden-xs hidden-sm">
|
||||
<h4>Build-in Themes</h4>
|
||||
<ul id="content-nav">
|
||||
<?php
|
||||
foreach ($themes as $t){
|
||||
echo '<li class="', ($t == $theme) ? 'spyActive': '', '"><a href="Theme.', $t, '.html">', $t, '</a></li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
|
||||
<div id="ToTop">
|
||||
<a href="#" class="glyphicon glyphicon-upload" title="Scroll To Top"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
101
EnlighterJS/Resources/TestcaseData/assembly.html
Normal file
|
@ -0,0 +1,101 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="asm">MOV PSW,#107H ; register bank N</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="asm">
|
||||
; COMMENTS
|
||||
; -----------------------------------------------------
|
||||
; Single Line Comment
|
||||
;Single Line Comment leading Whitespaces
|
||||
|
||||
; NO
|
||||
; Multi
|
||||
; line
|
||||
; Comments
|
||||
|
||||
|
||||
; CONTROL STATEMENTS
|
||||
; -----------------------------------------------------
|
||||
$TITLE Assembly Testdata
|
||||
$TARGET mcu8051
|
||||
$ASSEMBLER keiluv01 /opt/keil/asm8051 -k -h -of=/dev/usbTTY1
|
||||
$INCLUDE (REG8051.INC)
|
||||
|
||||
; NUMBERS
|
||||
; -----------------------------------------------------
|
||||
MOV edx,101001011010101b ; binary number
|
||||
MOV edc, 101001011010101B ; binary number
|
||||
MOV eda, 101$0010$1101$0101b ; binary number with spacer
|
||||
MOV edx,101$0010$1101$0101B ; binary number with spacer
|
||||
|
||||
data_array0: DS 50H ; reserve 80 Bytes for data_array0
|
||||
data_array0: DS 0$50H ; reserve 80 Bytes for data_array0 with spacer
|
||||
data_array0: DS 5050h ; reserve 20.560 Bytes for data_array0
|
||||
data_array0: DS 50$5$0H ; reserve 20.560 Bytes for data_array0 with spacer
|
||||
|
||||
MOV edx,208781D ; decimal number
|
||||
MOV edc, 208781d ; decimal number
|
||||
MOV eda, 87$8171$2101D ; decimal number with spacer
|
||||
MOV edx,87$8171$2101D ; decimal number with spacer
|
||||
|
||||
MOV edx,70q ; octal number
|
||||
MOV edc, 70O ; octal number
|
||||
MOV eda, 7$121q ; octal number with spacer
|
||||
MOV edx,104$4321$77Q ; octal number with spacer
|
||||
|
||||
|
||||
; STRINGS
|
||||
; -----------------------------------------------------
|
||||
|
||||
LDI R30, 'A'
|
||||
DB 18H, 'SDATA'
|
||||
|
||||
|
||||
; INSTRUCTIONS
|
||||
; -----------------------------------------------------
|
||||
|
||||
LDI R30, 0x30 ; instruction start of line
|
||||
LDI R30, 0x30 ; instruction start of line with whitespaces
|
||||
test: LDI R30, 0x30 ; instruction after label
|
||||
JMP test
|
||||
MOV SP,#STACK - 1
|
||||
|
||||
|
||||
; FUNCTIONS
|
||||
; -----------------------------------------------------
|
||||
|
||||
LDI R30, HIGH(temp0)
|
||||
DB 18H, SLS(tmp)
|
||||
|
||||
|
||||
; EXAMPLES
|
||||
; -----------------------------------------------------
|
||||
section .text
|
||||
global _s_start
|
||||
|
||||
_init:
|
||||
MOV R4,@DR8 ; indirect access
|
||||
MOV @DR8+50H,R4 ; access with constant offset
|
||||
MOV K8,#WX ; load addr
|
||||
|
||||
start:
|
||||
MOV edx,10H ; message length
|
||||
MOV ecx,xy ; message
|
||||
MOV ebx,1
|
||||
INT 0x80 ; kernel call
|
||||
ADD R1,R2
|
||||
MOV VAR3,R1
|
||||
|
||||
MOV eax,1 ; system call
|
||||
LDI R1,10H
|
||||
|
||||
|
||||
section .data
|
||||
|
||||
section .eeprom
|
||||
|
||||
section .flash
|
||||
|
||||
|
||||
END ; end of file (required)
|
||||
</pre>
|
113
EnlighterJS/Resources/TestcaseData/avr-assembly.html
Normal file
|
@ -0,0 +1,113 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="avrasm">.include "m8def.inc"</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="avrasm">
|
||||
; SOURCE: AVR Assembler User Guide [DOC1022] www.atmel.com/Images/doc1022.pdf
|
||||
|
||||
; COMMENTS
|
||||
; -----------------------------------------------------
|
||||
; Single Line Comment
|
||||
;Single Line Comment leading Whitespaces
|
||||
|
||||
; NO
|
||||
; Multi
|
||||
; line
|
||||
; Comments
|
||||
|
||||
; NUMBERS
|
||||
; -----------------------------------------------------
|
||||
.SET io_offset = 0x23
|
||||
.SET io_offset = $23
|
||||
.SET PORTA = io_offset + 2
|
||||
.SET PORTX = 0b11011101 efwefew
|
||||
|
||||
.CSEG ; Start code segment
|
||||
clr r2 ; Clear register 2
|
||||
out porta,r2 ; Write to Port A
|
||||
|
||||
; DIRECTIVES
|
||||
; -----------------------------------------------------
|
||||
.include "m8def.inc"
|
||||
.include "lcd.asm"
|
||||
|
||||
.def PI = 3141
|
||||
.def BOLTZMANN = 13806
|
||||
.def temp1 = r16
|
||||
.def temp2 = r17
|
||||
.def temp3 = r18
|
||||
.def flag = r22
|
||||
|
||||
; OPERATORS
|
||||
; -----------------------------------------------------
|
||||
ldi r16,!0xf0 ; Load r16 with 0x00
|
||||
ldi r16,~0xf0 ; Load r16 with 0x0f
|
||||
ldi r16,-2 ; Load -2(0xfe) in r16
|
||||
ldi r30,label*2 ; Load r30 with label*2
|
||||
ldi r30,label/2 ; Load r30 with label/2
|
||||
ldi r30,c1+c2 ; Load r30 with c1+c2
|
||||
ldi r18,High(c1&c2) ;Load r18 with an expression
|
||||
ldi r18,Low(c1|c2) ;Load r18 with an expression
|
||||
ldi r18,Low(c1||c2) ;Load r18 with an expression
|
||||
|
||||
|
||||
|
||||
|
||||
; EXAMPLES
|
||||
; -----------------------------------------------------
|
||||
.DEF temp=R16
|
||||
.DEF ior=R0
|
||||
.CSEG
|
||||
|
||||
ldi temp,0xf0 ; Load 0xf0 into temp register
|
||||
in ior,0x3f ; Read SREG into ior register
|
||||
eor temp,ior ; Exclusive or temp and ior
|
||||
|
||||
init:
|
||||
|
||||
.DSEG ; Start data segment
|
||||
vartab: .BYTE 4 ; Reserve 4 bytes in SRAM
|
||||
.ESEG
|
||||
eevar: .DW 0xff0f ; Initialize one word in
|
||||
; EEPROM
|
||||
.CSEG ; Start code segment
|
||||
const: .DW 2 ; Write 0x0002 in prog.mem.
|
||||
mov r1,r0 ; Do something
|
||||
|
||||
|
||||
.NOLIST ; Disable listfile generation
|
||||
.INCLUDE "macro.inc" ; The included files will not
|
||||
.INCLUDE "const.def" ; be shown in the listfile
|
||||
.LIST ; Reenable listfile generation
|
||||
|
||||
.MACRO MACX ; Define an example macro
|
||||
add r0,@0 ; Do something
|
||||
eor r1,@1 ; Do something
|
||||
.ENDMACRO ; End macro definition
|
||||
.LISTMAC ; Enable macro expansion
|
||||
MACX r2,r1 ; Call macro, show expansion
|
||||
|
||||
|
||||
|
||||
.CSEG
|
||||
varlist:.DW 0,0xffff,0b1001110001010101,-32768,65535
|
||||
.ESEG
|
||||
eevar: .DW 0xffff
|
||||
|
||||
|
||||
.DEF temp=R16
|
||||
.DEF ior=R0
|
||||
.CSEG
|
||||
ldi temp,0xf0 ; Load 0xf0 into temp register
|
||||
in ior,0x3f ; Read SREG into ior register
|
||||
eor temp,ior ; Exclusive or temp and ior
|
||||
|
||||
|
||||
.DSEG
|
||||
var1: .BYTE 1 ; reserve 1 byte to var1
|
||||
table: .BYTE tab_size ; reserve tab_size bytes
|
||||
.CSEG
|
||||
ldi r30,low(var1) ; Load Z register low
|
||||
ldi r31,high(var1) ; Load Z register high
|
||||
ld r1,Z ; Load VAR1 into register 1
|
||||
</pre>
|
91
EnlighterJS/Resources/TestcaseData/c.html
Normal file
|
@ -0,0 +1,91 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="c">volatile uint8_t burstmodeDelayCounter = 0;</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="c">
|
||||
// http://andidittrich.de/index.php/2012/04/xbox-360-controller-advanced-rapid-fire-mod/
|
||||
#include "Trigger.h"
|
||||
#include "Calibration.h"
|
||||
|
||||
// KEY STATES
|
||||
enum{KEYUP=0, KEYDOWN=1, FALLINGEDGE =2, RISINGEDGE=3, KEYDOWN_LONG=4};
|
||||
|
||||
// SYTMEM STATE
|
||||
enum{OFFLINE, RAPIDFIRE_SLOW, RAPIDFIRE_FAST, RAPIDFIRE_BURST};
|
||||
|
||||
// switch observer
|
||||
volatile uint8_t switchState0 = 2;
|
||||
volatile uint8_t switchState1 = 127;
|
||||
volatile uint8_t switchStateChange = 0;
|
||||
|
||||
// system state
|
||||
volatile uint8_t systemState = OFFLINE;
|
||||
|
||||
// led blink counter
|
||||
volatile uint8_t ledBlinkCounter = 0;
|
||||
|
||||
// burstmode delay counter
|
||||
volatile uint8_t burstmodeDelayCounter = 0;
|
||||
|
||||
// switch observer ISR - 48ms steady state required -> 122Hz Update Rate
|
||||
ISR (TIMER1_OVF_vect){
|
||||
// increment burstmode counter
|
||||
//burstmodeDelayCounter = burstmodeDelayCounter+1;
|
||||
|
||||
// LED BLink Action
|
||||
if (systemState == RAPIDFIRE_FAST){
|
||||
ledBlinkCounter = ledBlinkCounter+1;
|
||||
|
||||
// ~ 12 Hz Blink rate
|
||||
if (ledBlinkCounter%20 == 0){
|
||||
toggleStatusLed();
|
||||
}
|
||||
}
|
||||
|
||||
// LED BLink Action
|
||||
if (systemState == RAPIDFIRE_BURST){
|
||||
ledBlinkCounter = ledBlinkCounter+1;
|
||||
|
||||
// ~ 18 Hz Blink rate
|
||||
if (ledBlinkCounter < 50){
|
||||
if (ledBlinkCounter%10 == 0){
|
||||
toggleStatusLed();
|
||||
}
|
||||
}else{
|
||||
showStatusLed(0);
|
||||
}
|
||||
}
|
||||
|
||||
// SIGNAL A OBERVING (SWITCH)
|
||||
if (bit_is_clear(PINB, PB4)){
|
||||
// increment -> KEY PRESSED
|
||||
if (switchState0<5){
|
||||
switchState0++;
|
||||
}else{
|
||||
// FALLING EDGE DETECTED
|
||||
if (switchStateChange==KEYUP){
|
||||
switchStateChange = KEYDOWN;
|
||||
}
|
||||
}
|
||||
if (switchState1<255){
|
||||
switchState1++;
|
||||
}else{
|
||||
switchStateChange = KEYDOWN_LONG;
|
||||
}
|
||||
}else{
|
||||
// decrement -> KEY RELEASED
|
||||
if (switchState0>0){
|
||||
switchState0--;
|
||||
}else{
|
||||
// RISING EDGE DETECTED
|
||||
if (switchStateChange==KEYDOWN){
|
||||
switchStateChange = FALLINGEDGE;
|
||||
}
|
||||
}
|
||||
if (switchState1>0){
|
||||
switchState1--;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
</pre>
|
50
EnlighterJS/Resources/TestcaseData/cpp.html
Normal file
|
@ -0,0 +1,50 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="cpp">void CRectangle::set_value(int a);</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<!-- SOURCE: http://www.cplusplus.com/doc/tutorial/classes/ -->
|
||||
<pre data-enlighter-language="cpp">
|
||||
// SOURCE: http://www.cplusplus.com/doc/tutorial/classes/
|
||||
|
||||
// classes example
|
||||
#include <iostream>
|
||||
#define DOIT 1
|
||||
using namespace std;
|
||||
|
||||
class CRectangle {
|
||||
int x, y;
|
||||
public:
|
||||
void set_values (int,int);
|
||||
int area () {return (x*y);}
|
||||
};
|
||||
|
||||
void CRectangle::set_values (int a, int b) {
|
||||
x = a;
|
||||
y = b;
|
||||
}
|
||||
|
||||
/*
|
||||
void CRectangle::set_valueA (int a) {
|
||||
x = a;
|
||||
}
|
||||
*/
|
||||
|
||||
int main () {
|
||||
CRectangle rect;
|
||||
rect.set_values (3,4);
|
||||
cout << "area: " << rect.area();
|
||||
|
||||
CRectangle rect2 = new CRectangle();
|
||||
|
||||
int x = 0x54b4c2;
|
||||
int y = 291;
|
||||
int z = 0b1110101;
|
||||
|
||||
|
||||
#ifdef DOIT
|
||||
cout << __FILE__ << __LINE__;
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
</pre>
|
45
EnlighterJS/Resources/TestcaseData/csharp.html
Normal file
|
@ -0,0 +1,45 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="csharp">System.out.println("Hello World!");</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="csharp">
|
||||
// Source: https://en.wikipedia.org/wiki/C_Sharp_syntax#Attributes
|
||||
public class EdibleAttribute : Attribute
|
||||
{
|
||||
public EdibleAttribute() : base()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public EdibleAttribute(bool isNotPoisonous)
|
||||
{
|
||||
this.IsPoisonous = !isNotPoisonous;
|
||||
}
|
||||
|
||||
public bool IsPoisonous { get; set; }
|
||||
}
|
||||
|
||||
|
||||
// Source: https://en.wikipedia.org/wiki/C_Sharp_syntax#Events
|
||||
public class MainWindow : System.Windows.Controls.Window
|
||||
{
|
||||
private Button button1;
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
button1 = new Button();
|
||||
button1.Text = "Click me!";
|
||||
|
||||
/* Subscribe to the event */
|
||||
button1.ClickEvent += button1_OnClick;
|
||||
|
||||
/* Alternate syntax that is considered old:
|
||||
button1.MouseClick += new MouseEventHandler(button1_OnClick); */
|
||||
}
|
||||
|
||||
protected void button1_OnClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
MessageBox.Show("Clicked!");
|
||||
}
|
||||
}
|
||||
</pre>
|
267
EnlighterJS/Resources/TestcaseData/css.html
Normal file
|
@ -0,0 +1,267 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="css">list-style: decimal-leading-zero outside;</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
<pre data-enlighter-language="css" data-enlighter-highlight="13-22">
|
||||
/*!
|
||||
---
|
||||
description: EnlighterJS Theme-Base - All Themes are derived from these styles!
|
||||
|
||||
...
|
||||
*/
|
||||
|
||||
|
||||
p {
|
||||
font-family: "Times New Roman";
|
||||
font-size: 20px;
|
||||
}
|
||||
@media screen {
|
||||
p {
|
||||
font-family: verdana, sans-serif;
|
||||
font-size: 17px;
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
p {
|
||||
font-family: georgia, serif;
|
||||
font-size: 14px;
|
||||
color: blue;
|
||||
}
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
input.number,
|
||||
select.number,
|
||||
input[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@media (min-width: 800) {
|
||||
.navbar-right .dropdown-menu {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
.navbar-right .dropdown-menu-left {
|
||||
right: auto;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
.btn-group-vertical > .btn:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.nav-pills > li.active > a:focus {
|
||||
color: #fff;
|
||||
background-color: #428bca;
|
||||
}
|
||||
|
||||
/*
|
||||
---
|
||||
description: EnlighterJS Theme-Base - All Themes are derived from these styles! Don't edit this file if you wan't to change styles! Use a derived theme!
|
||||
|
||||
license: MIT-style
|
||||
|
||||
authors:
|
||||
- Andi Dittrich
|
||||
...
|
||||
*/
|
||||
|
||||
/* BASE Styles */
|
||||
.EnlighterJS, .EnlighterJSWrapper{
|
||||
font-family: Monaco, Courier, Monospace;
|
||||
font-size: 10px;
|
||||
line-height: 16px;
|
||||
overflow: auto;
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
/* Wrapper/Container - contains all elements of an instance */
|
||||
.EnlighterJSWrapper{
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* RAW Styles */
|
||||
.EnlighterJSWrapper pre{
|
||||
font-family: inherit;
|
||||
background-color: #ffffff;
|
||||
padding: 5px 5px 5px 10px;
|
||||
margin: 0px 0px 20px 0px;
|
||||
line-height: 18px;
|
||||
font-size: 12px;
|
||||
color: #444444;
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
clear: none;
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
/* Inline specific styles */
|
||||
span.EnlighterJS {
|
||||
padding: 3px 5px 1px 5px;
|
||||
border: solid 1px #e0e0e0;
|
||||
color: #333333;
|
||||
background-color: #f7f7f7;
|
||||
margin: 0px 2px 0px 2px;
|
||||
}
|
||||
|
||||
/* LIST specific styles */
|
||||
ol.EnlighterJS, ul.EnlighterJS{
|
||||
color: #939393;
|
||||
font-size: 10px;
|
||||
background-color: #f2f2f2;
|
||||
color: #939393;
|
||||
margin: 0px 0px 20px 0px;
|
||||
padding: 0px;
|
||||
text-indent: 0px;
|
||||
list-style: decimal-leading-zero outside;
|
||||
}
|
||||
|
||||
/* line styles */
|
||||
ol.EnlighterJS li, ul.EnlighterJS li {
|
||||
margin: 0px;
|
||||
background-color: #ffffff;
|
||||
border: solid 0px #ffffff;
|
||||
padding: 0px 5px 0px 14px;
|
||||
line-height: 14px;
|
||||
color: #939393;
|
||||
list-style: none;
|
||||
font-size: inherit;
|
||||
}
|
||||
ol.EnlighterJS li{
|
||||
list-style: decimal-leading-zero outside;
|
||||
margin: 0px 0px 0px 40px;
|
||||
}
|
||||
|
||||
/* no-linenumber style */
|
||||
ul.EnlighterJS, ul.EnlighterJS li{
|
||||
list-style: none;
|
||||
display: block;
|
||||
}
|
||||
ul.EnlighterJS li:AFTER{
|
||||
content: ' ';
|
||||
}
|
||||
|
||||
/* top+bottom offsets */
|
||||
ol.EnlighterJS li:FIRST-CHILD, ul.EnlighterJS li:FIRST-CHILD{
|
||||
padding-top: 5px;
|
||||
}
|
||||
ol.EnlighterJS li:LAST-CHILD, ul.EnlighterJS li:LAST-CHILD{
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
/* special line highlight color */
|
||||
ol.EnlighterJS li.specialline, ul.EnlighterJS li.specialline {
|
||||
background-color: #F4F8FC;
|
||||
}
|
||||
|
||||
/* default symbol style */
|
||||
.EnlighterJS span {
|
||||
color: #000000;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
line-height: inherit;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* TAB Panel - containing "buttons" to switch between multiple codeblocks */
|
||||
.EnlighterJSTabPane .controls {
|
||||
}
|
||||
.EnlighterJSTabPane .controls ul{
|
||||
margin: 0px 0px 0px 40px;
|
||||
padding: 0px;
|
||||
}
|
||||
.EnlighterJSTabPane .controls li {
|
||||
float: left;
|
||||
display: block;
|
||||
list-style: none;
|
||||
padding: 3px 10px 3px 10px;
|
||||
margin: 0px 5px 0px 5px;
|
||||
background-color: #f2f2f2;
|
||||
border-radius: 5px;
|
||||
font-size: 12px;
|
||||
color: #000000;
|
||||
font-family: Courier, monospace;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.EnlighterJSTabPane .controls .clearfixList{
|
||||
clear: left;
|
||||
}
|
||||
.EnlighterJSTabPane .pane {
|
||||
padding: 5px 0px 0px 0px;
|
||||
clear: left;
|
||||
}
|
||||
|
||||
/* Toolbar - containing buttons */
|
||||
.EnlighterJSToolbar{
|
||||
position: absolute;
|
||||
display: none;
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
height: 40px;
|
||||
width: auto;
|
||||
padding: 15px;
|
||||
}
|
||||
/* Button Container */
|
||||
.EnlighterJSToolbar > a{
|
||||
float: right;
|
||||
display: block;
|
||||
border-radius: 3px;
|
||||
z-index: 10;
|
||||
background-color: #ffffff;
|
||||
color: #717171;
|
||||
cursor: pointer;
|
||||
font-size: 12px;
|
||||
padding: 0px;
|
||||
border: solid 1px #e0e0e0;
|
||||
margin: 0px 0px 0px 15px;
|
||||
text-decoration: none;
|
||||
width: 23px;
|
||||
height: 23px;
|
||||
background-position: 0px 0px;
|
||||
background-size: contain;
|
||||
margin-left: 8px;
|
||||
}
|
||||
.EnlighterJSToolbar > a:HOVER{
|
||||
border-color: #b0b0b0;
|
||||
}
|
||||
|
||||
/* Raw Button Identifiers */
|
||||
.EnlighterJSRawButton, .EnlighterJSWindowButton{}
|
||||
|
||||
/* Show Toolbar on MouseOver */
|
||||
.EnlighterJSToolbar > a:HOVER{
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Button Icons */
|
||||
.EnlighterJSWindowButton{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAIAAADY27xgAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAALtJREFUeNpi/P//P8PgAEwMgwaMOmXUKaNOGSZOYcEjt2zTEWpZE+VnM1xCBQIMnGwoseDCviOjyZamEQQH2xavIduanukoeksyQ4ZLqECAV2wIJfbhCdqhHCoQIM4+WgcRD/z9i/z9i0ZDZdQpgzIzkwrYGGnsFFyZBVN8+6a+ERNBGzf2YQ0PTPFf/0dz0AjIzMS3k0dGqKD1o9Dap0TmqdFkS+cijpIuyJAJFcbRwdJRp4w6ZXg4BTAAcgIqryILA7oAAAAASUVORK5CYII=);
|
||||
}
|
||||
.EnlighterJSRawButton{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAIAAADY27xgAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAANxJREFUeNpi/P//P8PgAEwMgwaMOmXUKcQCFjxyNTU15Bna0tIyGkF0iCAIKKwnNrQ3Lp6HHLOkRtOQChUI8PcvwhceG/sYGBj4+PggXCUlJTLCZgiGCsTfA+YUUittHh4eZC4kmqqrqyHc1tbWYRdBxABTZw+s4n0N1cMo2X7//p0qdhBpzmgdNCIKfqqUiqMFP6lO+fPnD1XsINKcYdpeGXmZeYCT7a9fv6hiB5HmjBb8g7zgx+eUf//+UcW7RJoziHLQaLIlL4Iqs9NGXKgwjo7bjjpl1CkUAMAAJAZIyUY3BoQAAAAASUVORK5CYII=);
|
||||
}
|
||||
.EnlighterJSInfoButton{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAIAAADY27xgAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAHJJREFUeNrs18ENgCAMBVAwjuUEjuMgjOME7oUHE2O4YmIlr6eeyAv8Qsi11hSjphSmUFB+SJn7l1jW7WqOvXy5K7ej6WUlCOWZj86sZG/Q2PdKM8A9cXFAKCgoKCgoKCgoKCNT/A5RUFDerhMAAP//AwBh/xVVGTlP9gAAAABJRU5ErkJggg==);
|
||||
}
|
||||
|
||||
/* Show Toolbar on Mouseover */
|
||||
.EnlighterJSWrapper:hover .EnlighterJSToolbar{
|
||||
display: block;
|
||||
}
|
||||
.EnlighterJSToolbar .clear{
|
||||
clear: right;
|
||||
content: ' ';
|
||||
display: block;
|
||||
}
|
||||
|
||||
</pre>
|
83
EnlighterJS/Resources/TestcaseData/cython.html
Normal file
|
@ -0,0 +1,83 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="cython">links = [element for element in liste if element < pivotelement]</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="cython">
|
||||
# Hello World
|
||||
def say_hello():
|
||||
print "Hello World!"
|
||||
|
||||
'''
|
||||
Multiline String Comment Style1
|
||||
Hello
|
||||
'''
|
||||
|
||||
import pyximport; pyximport.install()
|
||||
|
||||
# compile-time constant
|
||||
DEF _LIST = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
|
||||
|
||||
# preprocessor conditional statements
|
||||
IF UNAME_SYSNAME == "Windows":
|
||||
include "windows.pxi"
|
||||
ELIF UNAME_SYSNAME == "Linux":
|
||||
include "linux.pxi"
|
||||
ELSE:
|
||||
include "misc.pxi"
|
||||
|
||||
"""
|
||||
Multiline String Comment Style2
|
||||
Hello, again
|
||||
"""
|
||||
|
||||
def primes(int kmax):
|
||||
"""Function documentation comment
|
||||
SOURCE: http://docs.cython.org/src/tutorial/cython_tutorial.html
|
||||
"""
|
||||
cdef int n, k, i
|
||||
cdef int p[1000]
|
||||
result = []
|
||||
if kmax > 1000:
|
||||
kmax = 1000
|
||||
k = 0
|
||||
n = 2
|
||||
while k < kmax:
|
||||
i = 0
|
||||
while i < k and n % p[i] != 0:
|
||||
i = i + 1
|
||||
if i == k:
|
||||
p[k] = n
|
||||
k = k + 1
|
||||
result.append(n)
|
||||
n = n + 1
|
||||
return result
|
||||
|
||||
# cdef examples
|
||||
cdef int i, j, k
|
||||
cdef float f, g[42], *h
|
||||
|
||||
# struct, union, and enum data-types
|
||||
cdef struct Car:
|
||||
int age
|
||||
float mileage
|
||||
|
||||
cdef union Country:
|
||||
char *name
|
||||
int *population
|
||||
|
||||
cdef enum Planets:
|
||||
Earth, Mars,
|
||||
Saturn
|
||||
|
||||
cdef enum PlanetType:
|
||||
dwarf = 1
|
||||
giant = 2
|
||||
regular = 3
|
||||
|
||||
# raise example
|
||||
# SOURCE: http://docs.cython.org/src/userguide/language_basics.html#checking-return-values-of-non-cython-functions
|
||||
cdef FILE* p
|
||||
p = fopen('spam.txt', 'r')
|
||||
if p == NULL:
|
||||
raise SpamError('Couldn\'t open the spam file')
|
||||
</pre>
|
65
EnlighterJS/Resources/TestcaseData/diff.html
Normal file
|
@ -0,0 +1,65 @@
|
|||
<pre data-enlighter-language="diff">
|
||||
--- enlighter/trunk/readme.txt 2014-06-06 23:40:41 UTC (rev 928010)
|
||||
+++ enlighter/trunk/readme.txt 2014-06-06 23:41:44 UTC (rev 928011)
|
||||
@@ -4,7 +4,7 @@
|
||||
Donate link: http://andidittrich.de/go/enlighterjs
|
||||
Requires at least: 3.5
|
||||
Tested up to: 3.9.1
|
||||
-Stable tag: 2.1
|
||||
+Stable tag: 2.2
|
||||
License: MIT X11-License
|
||||
License URI: http://opensource.org/licenses/MIT
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
* Support for all common used languages
|
||||
* Theme Customizer
|
||||
* Inline Syntax Highlighting
|
||||
-* Visual-Editor (TinyMCE) Integration
|
||||
+* **Full** Visual-Editor (TinyMCE) Integration
|
||||
* Easy to use Text-Editor mode through the use of Shortcodes
|
||||
* Advanced configuration options (e.g. CDN usage) are available within the options page.
|
||||
* Supports code-groups (displays multiple code-blocks within a tab-pane)
|
||||
@@ -198,15 +198,27 @@
|
||||
|
||||
1. CSS highlighting Example (GIT Theme)
|
||||
2. Visual Editor Integration
|
||||
-3. Options Page - Appearance Settings
|
||||
-4. Options Page - Advanced Settings
|
||||
-5. Theme Customizer - General styles
|
||||
-6. Theme Customizer - Language Token styling
|
||||
-7. Special options for use with a CDN (Content Delivery Network)
|
||||
-8. Tab-Pane Example (multiple languages)
|
||||
+3. Visual Editor Code Settings
|
||||
+4. Visual Editor Inline/Block Formats
|
||||
+5. Options Page - Appearance Settings
|
||||
+6. Options Page - Advanced Settings
|
||||
+7. Theme Customizer - General styles
|
||||
+8. Theme Customizer - Language Token styling
|
||||
+9. Special options for use with a CDN (Content Delivery Network)
|
||||
+10. Tab-Pane Example (multiple languages)
|
||||
|
||||
== Changelog ==
|
||||
|
||||
+= 2.3 =
|
||||
+* Added Tab / Tab-Shift keyhandler to re-indent code within an Enlighter-Codeblock (the `tabfocus` plugin will be deactivated! - you can't use the tab key anymore to leave the editor window)
|
||||
+
|
||||
+= 2.2 =
|
||||
+* Added "Code Insert Dialog" to avoid copy-auto-formatting issues - feature requested on [WordPress Forums](http://wordpress.org/support/topic/code-indent-removed-by-wordpress-editor?replies=9#post-5652635)
|
||||
+* Added "Enlighter Settings Button" to control the Enlighter Settings (highlight, show-linenumbers, ..) directly from the Visual-Editor - just click into a codeblock and the button will appear (requires WordPress >=3.9)
|
||||
+* Added Enlighter Toolbar Menu-Buttons
|
||||
+* New Visual-Editor integration style
|
||||
+* Bugfix: Added missing codeblock-name for "C#"
|
||||
+
|
||||
= 2.1 =
|
||||
* Added EnlighterJS 2.2
|
||||
* Added language support for C# (csharp) [provided by Joshua Maag](https://github.com/joshmaag)
|
||||
@@ -281,6 +293,9 @@
|
||||
|
||||
== Upgrade Notice ==
|
||||
|
||||
+= 2.2 =
|
||||
+Full Visual-Editor (TinyMCE4) Integration including codeblock-settings (WordPress >= 3.9 required)
|
||||
+
|
||||
= 2.0 =
|
||||
Added Inline-Syntax-Highlighting as well as some other cool feature - please go to the settings page and click "Apply Settings"
|
||||
</pre>
|
25
EnlighterJS/Resources/TestcaseData/generic.html
Normal file
|
@ -0,0 +1,25 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="generic">Object.notify([3.141, "Test"]);</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<h3>Generic Highlighting</h3>
|
||||
<pre data-enlighter-language="generic">
|
||||
// R Language Example using Generic Highlighting
|
||||
// Source: https://en.wikipedia.org/wiki/R_%28programming_language%29
|
||||
|
||||
|
||||
library(caTools) # external package providing write.gif function
|
||||
jet.colors <- colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan", "#7FFF7F",
|
||||
"yellow", "#FF7F00", "red", "#7F0000"))
|
||||
m <- 1000 # define size
|
||||
C <- complex( real=rep(seq(-1.8,0.6, length.out=m), each=m ),
|
||||
imag=rep(seq(-1.2,1.2, length.out=m), m ) )
|
||||
C <- matrix(C,m,m) # reshape as square matrix of complex numbers
|
||||
Z <- 0 # initialize Z to zero
|
||||
X <- array(0, c(m,m,20)) # initialize output 3D array
|
||||
for (k in 1:20) { # loop with 20 iterations
|
||||
Z <- Z^2+C # the central difference equation
|
||||
X[,,k] <- exp(-abs(Z)) # capture results
|
||||
}
|
||||
write.gif(X, "Mandelbrot.gif", col=jet.colors, delay=800)
|
||||
</pre>
|
33
EnlighterJS/Resources/TestcaseData/html.html
Normal file
|
@ -0,0 +1,33 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="html"><link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.yui.css" /></code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
<pre data-enlighter-language="html">
|
||||
<head>
|
||||
<!-- Include EnlighterJS Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.yui.css" />
|
||||
|
||||
<!-- Include MooTools Framework -->
|
||||
<script type="text/javascript" src="mootools-core-1.4.5-full-nocompat.js"></script>
|
||||
|
||||
<!-- Include EnlighterJS -->
|
||||
<script type="text/javascript" src="../Build/EnlighterJS.yui.js" ></script>
|
||||
|
||||
<!-- Initialize EnlighterJS -->
|
||||
<script type="text/javascript">
|
||||
window.addEvent('domready', function() {
|
||||
// highlight all pre tags
|
||||
$$('pre').light({
|
||||
altLines : 'hover',
|
||||
indent : 2,
|
||||
editable: false
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Syntax highlight using Languages/Js.js and default theme -->
|
||||
<pre data-enlighter-language="css">var myClass = new Class({})</pre>
|
||||
|
||||
<!-- Syntax highlight using Languages/Php.js and theme from Themes/Twilight.css -->
|
||||
<pre data-enlighter-language="php" data-enlighter-theme="twilight"><?php php_info() ?></pre>
|
||||
|
||||
</pre>
|
73
EnlighterJS/Resources/TestcaseData/ini.html
Normal file
|
@ -0,0 +1,73 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="ini">docref_root = "/phpmanual/"</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<h3>PHP.ini Example</h3>
|
||||
<!-- Source: https://github.com/php/php-src/blob/master/php.ini-production -->
|
||||
<pre data-enlighter-language="ini">
|
||||
; An XML-RPC faultCode
|
||||
xmlrpc_error_number = 0
|
||||
|
||||
; When PHP displays or logs an error, it has the capability of formatting the
|
||||
; error message as HTML for easier reading. This directive controls whether
|
||||
; the error message is formatted as HTML or not.
|
||||
; Note: This directive is hardcoded to Off for the CLI SAPI
|
||||
; Default Value: On
|
||||
; Development Value: On
|
||||
; Production value: On
|
||||
; http://php.net/html-errors
|
||||
html_errors = On
|
||||
|
||||
docref_root = "/phpmanual/"
|
||||
|
||||
; http://php.net/docref-ext
|
||||
docref_ext = .html
|
||||
|
||||
|
||||
[Session]
|
||||
; Handler used to store/retrieve data.
|
||||
; http://php.net/session.save-handler
|
||||
session.save_handler = files
|
||||
|
||||
; Whether to use strict session mode.
|
||||
; Strict session mode does not accept uninitialized session ID and regenerate
|
||||
; session ID if browser sends uninitialized session ID. Strict mode protects
|
||||
; applications from session fixation via session adoption vulnerability. It is
|
||||
; disabled by default for maximum compatibility, but enabling it is encouraged.
|
||||
; https://wiki.php.net/rfc/strict_sessions
|
||||
session.use_strict_mode = 0
|
||||
|
||||
; Whether to use cookies.
|
||||
; http://php.net/session.use-cookies
|
||||
session.use_cookies = 1
|
||||
|
||||
; http://php.net/session.cookie-secure
|
||||
;session.cookie_secure =
|
||||
|
||||
; This option forces PHP to fetch and use a cookie for storing and maintaining
|
||||
; the session id. We encourage this operation as it's very helpful in combating
|
||||
; session hijacking when not specifying and managing your own session id. It is
|
||||
; not the be-all and end-all of session hijacking defense, but it's a good start.
|
||||
; http://php.net/session.use-only-cookies
|
||||
session.use_only_cookies = 1
|
||||
</pre>
|
||||
|
||||
<h3>Lighttpd Config</h3>
|
||||
<pre data-enlighter-language="ini">
|
||||
server.document-root = "/var/www/servers/www.example.org/pages/"
|
||||
|
||||
server.port = 80
|
||||
|
||||
server.username = "www"
|
||||
server.groupname = "www"
|
||||
|
||||
mimetype.assign = (
|
||||
".html" => "text/html",
|
||||
".txt" => "text/plain",
|
||||
".jpg" => "image/jpeg",
|
||||
".png" => "image/png"
|
||||
)
|
||||
|
||||
static-file.exclude-extensions = ( ".fcgi", ".php", ".rb", "~", ".inc" )
|
||||
index-file.names = ( "index.html" )
|
||||
</pre>
|
93
EnlighterJS/Resources/TestcaseData/java.html
Normal file
|
@ -0,0 +1,93 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="java">System.out.println("Hello World!");</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<!-- Source: http://en.wikipedia.org/wiki/Java_%28programming_language%29 -->
|
||||
<pre data-enlighter-language="java">
|
||||
public class Hello{
|
||||
public static void main(String[] args)
|
||||
throws IOException{
|
||||
|
||||
System.out.println("Hello World!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Source: http://en.wikipedia.org/wiki/Java_%28programming_language%29
|
||||
// OddEven.java
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
public class OddEven<T>{
|
||||
/**
|
||||
* "input" is the number that the user gives to the computer
|
||||
*/
|
||||
private int input; // a whole number("int" means integer)
|
||||
|
||||
/**
|
||||
* This is the constructor method. It gets called when an object of the OddEven type
|
||||
* is being created.
|
||||
*/
|
||||
public T OddEven() {
|
||||
/*
|
||||
* In most Java programs constructors can initialize objects with default values, or create
|
||||
* other objects that this object might use to perform its functions. In some Java programs, the
|
||||
* constructor may simply be an empty function if nothing needs to be initialized prior to the
|
||||
* functioning of the object. In this program's case, an empty constructor would suffice.
|
||||
* A constructor must exist; however, if the user doesn't put one in then the compiler
|
||||
* will create an empty one.
|
||||
*/
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* This is the main method. It gets called when this class is run through a Java interpreter.
|
||||
* @param args command line arguments (unused)
|
||||
*/
|
||||
public static void main(final String[] args) {
|
||||
/*
|
||||
* This line of code creates a new instance of this class called "number" (also known as an
|
||||
* Object) and initializes it by calling the constructor. The next line of code calls
|
||||
* the "showDialog()" method, which brings up a prompt to ask you for a number
|
||||
*/
|
||||
OddEven<Number> number = new OddEven()<Number>;
|
||||
number.showDialog();
|
||||
}
|
||||
|
||||
public void showDialog() {
|
||||
/*
|
||||
* "try" makes sure nothing goes wrong. If something does,
|
||||
* the interpreter skips to "catch" to see what it should do.
|
||||
*/
|
||||
try {
|
||||
/*
|
||||
* The code below brings up a JOptionPane, which is a dialog box
|
||||
* The String returned by the "showInputDialog()" method is converted into
|
||||
* an integer, making the program treat it as a number instead of a word.
|
||||
* After that, this method calls a second method, calculate() that will
|
||||
* display either "Even" or "Odd."
|
||||
*/
|
||||
this.input = Integer.parseInt(JOptionPane.showInputDialog("Please enter a number."));
|
||||
this.calculate();
|
||||
} catch (final NumberFormatException e) {
|
||||
/*
|
||||
* Getting in the catch block means that there was a problem with the format of
|
||||
* the number. Probably some letters were typed in instead of a number.
|
||||
*/
|
||||
System.err.println("ERROR: Invalid input. Please type in a numerical value.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* When this gets called, it sends a message to the interpreter.
|
||||
* The interpreter usually shows it on the command prompt (For Windows users)
|
||||
* or the terminal (For *nix users).(Assuming it's open)
|
||||
*/
|
||||
private void calculate() {
|
||||
if ((this.input % 2) == 0) {
|
||||
JOptionPane.showMessageDialog(null, "Even");
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(null, "Odd");
|
||||
}
|
||||
}
|
||||
}
|
||||
</pre>
|
268
EnlighterJS/Resources/TestcaseData/javascript.html
Normal file
|
@ -0,0 +1,268 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="js">var another_greeting = 'Greetings, people of Earth.';</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="js">
|
||||
// Comments
|
||||
/* This
|
||||
is a
|
||||
block
|
||||
* comment
|
||||
*/
|
||||
|
||||
/** Numbers */
|
||||
345; // an "integer", although there is only one numeric type in JavaScript
|
||||
34.5; // a floating-point number
|
||||
3.45e2; // another floating-point, equivalent to 345
|
||||
0377; // an octal integer equal to 255
|
||||
0xFF; // a hexadecimal integer equal to 255, the letters A-F may be upper- or lowercase
|
||||
|
||||
/** Strings */
|
||||
var greeting = "Hello, world!";
|
||||
var another_greeting = 'Greetings, people of Earth.';
|
||||
var escaped_strings = "Hello from an \" escaped string" + 'this should \' work';
|
||||
|
||||
/** Regex */
|
||||
var regex = new RegExp("pattern" [, "flags"]);
|
||||
var literal = /pattern/gimy;
|
||||
|
||||
/** Snippet */
|
||||
var Language = new Class({
|
||||
|
||||
Implements: [Options],
|
||||
options: {
|
||||
matchType: "standard",
|
||||
strict: false
|
||||
},
|
||||
language: '',
|
||||
defaultTheme: 'standard',
|
||||
|
||||
patterns: new Hash(),
|
||||
keywords: new Hash(),
|
||||
rules: new Hash(),
|
||||
delimiters: new Hash({
|
||||
start: null,
|
||||
end: null
|
||||
}),
|
||||
|
||||
/************************
|
||||
* Common Regex Rules
|
||||
***********************/
|
||||
common: {
|
||||
slashComments: /(?:^|[^\\])\/\/.*$/gm, // Matches a C style single-line comment.
|
||||
poundComments: /#.*$/gm, // Matches a Perl style single-line comment.
|
||||
multiComments: /\/\*[\s\S]*?\*\//gm, // Matches a C style multi-line comment.
|
||||
aposStrings: /'[^'\\]*(?:\\.[^'\\]*)*'/gm, // Matches a string enclosed by single quotes.
|
||||
quotedStrings: /"[^"\\]*(?:\\.[^"\\]*)*"/gm, // Matches a string enclosed by double quotes.
|
||||
strings: /'[^'\\]*(?:\\.[^'\\]*)*'|"[^"\\]*(?:\\.[^"\\]*)*"/gm, // Matches both.
|
||||
properties: /\.([\w]+)\s*/gi, // Matches a property: .property style.
|
||||
methodCalls: /\.([\w]+)\s*\(/gm, // Matches a method call: .methodName() style.
|
||||
functionCalls: /\b([\w]+)\s*\(/gm, // Matches a function call: functionName() style.
|
||||
brackets: /\{|\}|\(|\)|\[|\]/g, // Matches any of the common brackets.
|
||||
numbers: /\b((?:(\d+)?\.)?[0-9]+|0x[0-9A-F]+)\b/gi // Matches integers, decimals, hexadecimals.
|
||||
},
|
||||
|
||||
/************************
|
||||
* Language Constructor
|
||||
***********************/
|
||||
initialize: function(lighter, theme, options, tokens) {
|
||||
this.setOptions(options);
|
||||
this.tokens = tokens || [];
|
||||
options = this.options;
|
||||
|
||||
// Set Lighter/Language/Theme relationship.
|
||||
this.lighter = lighter;
|
||||
this.theme = new Theme[theme || this.defaultTheme](lighter, this);
|
||||
|
||||
// Add delimiter rules if not in strict mode
|
||||
if (!options.strict) {
|
||||
if (this.delimiters.start) this.addLanguage('delimBeg', this.delimiters.start, 'de1');
|
||||
if (this.delimiters.end) this.addLanguage('delimEnd', this.delimiters.end, 'de2');
|
||||
}
|
||||
|
||||
// Set Keyword Rules from this.keywords object.
|
||||
this.keywords.each(function(keywordSet, ruleName) {
|
||||
if (keywordSet.csv != '') {
|
||||
this.addLanguage(ruleName, this.csvToRegExp(keywordSet.csv, "g"), keywordSet.alias);
|
||||
}
|
||||
}, this);
|
||||
|
||||
// Set Rules from this.patterns object.
|
||||
this.patterns.each(function(regex, ruleName) {
|
||||
this.addLanguage(ruleName, regex.pattern, regex.alias);
|
||||
}, this);
|
||||
|
||||
// Set builder object for matchType.
|
||||
this.builder = new Hash({
|
||||
'standard': this.findMatches,
|
||||
'lazy': this.findMatchesLazy
|
||||
});
|
||||
|
||||
/** Process source code based on match type. */
|
||||
var codeBeg = 0,
|
||||
codeEnd = lighter.code.length,
|
||||
codeSeg = '',
|
||||
delim = this.delimiters,
|
||||
matches = [],
|
||||
match = null,
|
||||
endMatch = null;
|
||||
|
||||
if (!options.strict) {
|
||||
// Find matches through the complete source code.
|
||||
matches.extend(this.builder[options.matchType].pass(lighter.code, this)());
|
||||
} else if (delim.start && delim.end) {
|
||||
// Find areas between language delimiters and find matches there.
|
||||
while ((match = delim.start.exec(lighter.code)) != null ) {
|
||||
delim.end.lastIndex = delim.start.lastIndex;
|
||||
if ((endMatch = delim.end.exec(lighter.code)) != null ) {
|
||||
matches.push(new Token(match[0], 'de1', match.index));
|
||||
codeBeg = delim.start.lastIndex;
|
||||
codeEnd = endMatch.index-1;
|
||||
codeSeg = lighter.code.substring(codeBeg, codeEnd);
|
||||
matches.extend(this.builder[options.matchType].pass([codeSeg, codeBeg], this)());
|
||||
matches.push(new Token(endMatch[0], 'de2', endMatch.index));
|
||||
}
|
||||
}
|
||||
}
|
||||
this.tokens = matches;
|
||||
},
|
||||
|
||||
/************************
|
||||
* Regex Helper methods.
|
||||
***********************/
|
||||
addLanguage: function(languageName, RegEx, className) {
|
||||
this.rules[languageName] = RegEx;
|
||||
this.theme.addAlias(languageName, className);
|
||||
},
|
||||
csvToRegExp: function(csv, mod) {return new RegExp('\\b(' + csv.replace(/,\s*/g, '|') + ')\\b', mod);},
|
||||
delimToRegExp: function(beg, esc, end, mod, suffix) {
|
||||
beg = beg.escapeRegExp();
|
||||
if (esc) esc = esc.escapeRegExp();
|
||||
end = (end) ? end.escapeRegExp() : beg;
|
||||
pat = (esc) ? beg+"[^"+end+esc+'\\n]*(?:'+esc+'.[^'+end+esc+'\\n]*)*'+end : beg+"[^"+end+'\\n]*'+end;
|
||||
return new RegExp(pat+(suffix || ''), mod || '');
|
||||
},
|
||||
strictRegExp: function() {
|
||||
var regex = '(';
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
regex += arguments[i].escapeRegExp();
|
||||
regex += (i < arguments.length - 1) ? '|' : '';
|
||||
}
|
||||
regex += ')';
|
||||
return new RegExp(regex, "gim");
|
||||
},
|
||||
|
||||
/************************
|
||||
* Match finding Methods
|
||||
***********************/
|
||||
findMatches: function(code, offset) {
|
||||
var tokens = [],
|
||||
startIndex = 0,
|
||||
matchIndex = code.length
|
||||
insertIndex = 0,
|
||||
match = null,
|
||||
type = null,
|
||||
newToken = null,
|
||||
rule = null,
|
||||
rules = {},
|
||||
currentMatch = null,
|
||||
futureMatch = null;
|
||||
|
||||
offset = (offset) ? offset : 0;
|
||||
this.rules.each(function(regex, rule) {
|
||||
rules[rule] = {pattern: regex, enabled: true, lastIndex: 0};
|
||||
}, this);
|
||||
|
||||
while(startIndex < code.length) {
|
||||
matchIndex = code.length;
|
||||
match = null;
|
||||
for (rule in rules) {
|
||||
rules[rule].pattern.lastIndex = startIndex;
|
||||
currentMatch = rules[rule].pattern.exec(code);
|
||||
if (currentMatch === null) {
|
||||
delete rules[rule];
|
||||
} else {
|
||||
if (currentMatch.index < matchIndex) {
|
||||
match = currentMatch;
|
||||
type = rule;
|
||||
matchIndex = currentMatch.index;
|
||||
} else if (currentMatch.index == matchIndex && match[0].length < currentMatch[0].length) {
|
||||
match = currentMatch;
|
||||
type = rule;
|
||||
matchIndex = currentMatch.index;
|
||||
}
|
||||
rules[rule].nextIndex = rules[rule].pattern.lastIndex - currentMatch[0].length;
|
||||
}
|
||||
}
|
||||
if (match != null) {
|
||||
index = (match[1] && match[0].contains(match[1])) ? match.index + match[0].indexOf(match[1]) : match.index;
|
||||
newToken = new Token(match[1] || match[0], type, index+offset);
|
||||
tokens.push(newToken);
|
||||
|
||||
futureMatch = rules[type].pattern.exec(code);
|
||||
if (!futureMatch) {
|
||||
rules[type].nextIndex = code.length;
|
||||
} else {
|
||||
rules[type].nextIndex = rules[type].pattern.lastIndex - futureMatch[0].length;
|
||||
}
|
||||
|
||||
var min = code.length;
|
||||
for (rule in rules) {
|
||||
if (rules[rule].nextIndex < min) {
|
||||
min = rules[rule].nextIndex;
|
||||
}
|
||||
}
|
||||
startIndex = Math.max(min, newToken.end - offset);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return tokens;
|
||||
},
|
||||
findMatchesLazy: function(code, offset) {
|
||||
var tokens = this.tokens,
|
||||
match = null
|
||||
index = 0;
|
||||
|
||||
offset = (offset) ? offset : 0;
|
||||
|
||||
this.rules.each(function(regex, rule) {
|
||||
while ((match = regex.exec(code)) != null) {
|
||||
index = (match[1] && match[0].contains(match[1])) ? match.index + match[0].indexOf(match[1]) : match.index;
|
||||
tokens.push(new Token(match[1] || match[0], rule, index + offset));
|
||||
}
|
||||
}, this);
|
||||
return this.purgeTokens(tokens);
|
||||
},
|
||||
purgeTokens: function(tokens) {
|
||||
tokens = tokens.sort(this.compareTokens);
|
||||
for (var i = 0, j = 0; i < tokens.length; i++) {
|
||||
if (tokens[i] == null) continue;
|
||||
for (j = i+1; j < tokens.length && tokens[i] != null; j++) {
|
||||
if (tokens[j] == null) {continue;}
|
||||
else if (tokens[j].isBeyond(tokens[i])) {break;}
|
||||
else if (tokens[j].overlaps(tokens[i])) {tokens[i] = null;}
|
||||
else if (tokens[i].contains(tokens[j])) {tokens[j] = null;}
|
||||
}
|
||||
}
|
||||
return tokens.clean();
|
||||
},
|
||||
compareTokens: function(token1, token2) {return token1.index - token2.index;}
|
||||
});
|
||||
|
||||
var Token = new Class({
|
||||
|
||||
initialize: function(match, type, index) {
|
||||
this.text = match;
|
||||
this.type = type;
|
||||
this.index = index;
|
||||
this.length = this.text.length;
|
||||
this.end = this.index + this.length;
|
||||
},
|
||||
contains: function(token) {return (token.index >= this.index && token.index < this.end);},
|
||||
isBeyond: function(token) {return (this.index >= token.end);},
|
||||
overlaps: function(token) {return (this.index == token.index && this.length > token.length);},
|
||||
toString: function() {return this.index+' - '+this.text+' - '+this.end;}
|
||||
});
|
||||
|
||||
</pre>
|
29
EnlighterJS/Resources/TestcaseData/json.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="json">{ value: 'Hello World' }</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="json">
|
||||
{
|
||||
"Herausgeber": "Xema",
|
||||
"Nummer": "1234-5678-9012-3456",
|
||||
"Deckung": 2e+6,
|
||||
"Währung": "EURO",
|
||||
"Inhaber": {
|
||||
"Name": "Mustermann",
|
||||
"Vorname": "Max",
|
||||
"männlich": true,
|
||||
"Hobbys": [ "Reiten", "Golfen", "Lesen" ],
|
||||
"Alter": 42,
|
||||
"Kinder": [],
|
||||
"Partner": null
|
||||
}
|
||||
}
|
||||
|
||||
{ "X1": 123, "Y1": 81.123, "Z1": false,
|
||||
"T": [
|
||||
{ "x": 1, "y": 2},
|
||||
{ "x": 1, "y": 2},
|
||||
{ "x": 1, "y": 2},
|
||||
]
|
||||
}
|
||||
</pre>
|
128
EnlighterJS/Resources/TestcaseData/less.html
Normal file
|
@ -0,0 +1,128 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="less">list-style: decimal-leading-zero outside;</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
<pre data-enlighter-language="less">
|
||||
@base: #f938ab;
|
||||
|
||||
.box-shadow(@style, @c) when (iscolor(@c)) {
|
||||
-webkit-box-shadow: @style @c;
|
||||
box-shadow: @style @c;
|
||||
}
|
||||
.box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) {
|
||||
.box-shadow(@style, rgba(0, 0, 0, @alpha));
|
||||
}
|
||||
.box {
|
||||
color: saturate(@base, 5%);
|
||||
border-color: lighten(@base, 30%);
|
||||
div { .box-shadow(0 0 5px, 30%) }
|
||||
}
|
||||
|
||||
#menu a {
|
||||
color: #111;
|
||||
.bordered;
|
||||
}
|
||||
|
||||
.post a {
|
||||
color: red;
|
||||
.bordered;
|
||||
}
|
||||
|
||||
.screen-color {
|
||||
@media screen {
|
||||
color: green;
|
||||
@media (min-width: 768px) {
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
@media tv {
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
@base: 5%;
|
||||
@filler: @base * 2;
|
||||
@other: @base + @filler;
|
||||
|
||||
color: #888 / 4;
|
||||
background-color: @base-color + #111;
|
||||
height: 100% / 2 + @filler;
|
||||
|
||||
|
||||
|
||||
.weird-element {
|
||||
content: ~"^//* some horrible but needed css hack";
|
||||
}
|
||||
|
||||
@base: #f04615;
|
||||
@width: 0.5;
|
||||
|
||||
.class {
|
||||
width: percentage(@width); // returns `50%`
|
||||
color: saturate(@base, 5%);
|
||||
background-color: spin(lighten(@base, 25%), 8);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* HEADER
|
||||
----------------------------------- */
|
||||
header{
|
||||
a{
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
|
||||
.navbar-collapse li:hover ul{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.navbar-beyond{
|
||||
height: 70px;
|
||||
.transition(500ms);
|
||||
|
||||
.navbar-brand span{
|
||||
font-size: 11px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-beyond-light{
|
||||
height: 45px;
|
||||
border-bottom: solid 1px #e7e7e7;
|
||||
background-color: @color_bluegrey1 !important;
|
||||
|
||||
.navbar-brand{
|
||||
color: #505050 !important;
|
||||
|
||||
&:hover, &:hover span{
|
||||
color: #505050 !important;
|
||||
}
|
||||
|
||||
span{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-beyond-dark{
|
||||
background-color: rgba(0,0,0,0.85);
|
||||
border-bottom: none;
|
||||
|
||||
.navbar-brand{
|
||||
color: #f0f0f0 !important;
|
||||
|
||||
&:hover, &:hover span{
|
||||
color: #f0f0f0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.nav>li>a {
|
||||
color: #d0d0d0 !important;
|
||||
}
|
||||
|
||||
.navbar-collapse{
|
||||
padding: 10px 0px 0px 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</pre>
|
146
EnlighterJS/Resources/TestcaseData/lua.html
Normal file
|
@ -0,0 +1,146 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="lua">local a = "Double Quoted\nString"</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="lua">
|
||||
-- SOURCE: http://www.lua.org/manual/5.3/manual.html
|
||||
|
||||
-- COMMENTS
|
||||
-- --------------------------------------------------
|
||||
|
||||
-- This is a single line comment
|
||||
print "Hello World!"
|
||||
|
||||
--[[Comments can be spread
|
||||
across several lines ]]
|
||||
print "Hello World!"
|
||||
|
||||
---[[The long handled doubleshovel means that this code will run
|
||||
print "This will print because it is not a comment!"
|
||||
-- We can still include comments by prefixing them with a doubledash
|
||||
-- print "This will not print because it is commented out"
|
||||
]]
|
||||
|
||||
-- STRINGS
|
||||
-- --------------------------------------------------
|
||||
local a = "Double Quoted\nString"
|
||||
local b = 'Double Quoted\nString'
|
||||
local c = [[Multi
|
||||
Line String
|
||||
]]
|
||||
|
||||
a = 'alo\n123"'
|
||||
a = "alo\n123\""
|
||||
a = '\97lo\10\04923"'
|
||||
a = [[alo
|
||||
123"]]
|
||||
a = [==[
|
||||
alo
|
||||
123"]==]
|
||||
|
||||
-- NUMBERS
|
||||
-- --------------------------------------------------
|
||||
a = 4
|
||||
b = 0.4
|
||||
c = 4.57e-3
|
||||
D = 0.3e12
|
||||
e = 5e+20
|
||||
|
||||
-- CONSTANT
|
||||
-- --------------------------------------------------
|
||||
a = true
|
||||
b = false
|
||||
c = nil
|
||||
instance.merge(true, false, nil, 1234, 871.124E-12)
|
||||
|
||||
-- LOGICAL OPERATORS
|
||||
-- --------------------------------------------------
|
||||
print(4 and 5) --> 5
|
||||
print(nil and 13) --> nil
|
||||
print(false and 13) --> false
|
||||
print(4 or 5) --> 4
|
||||
print(false or 5) --> 5
|
||||
max = (x > y) and x or y
|
||||
print(not nil) --> true
|
||||
print(not false) --> true
|
||||
print(not 0) --> false
|
||||
print(not not nil) --> false
|
||||
|
||||
-- TABLES
|
||||
-- --------------------------------------------------
|
||||
a = {} -- create a table and store its reference in `a'
|
||||
k = "x"
|
||||
a[k] = 10 -- new entry, with key="x" and value=10
|
||||
a[20] = "great" -- new entry, with key=20 and value="great"
|
||||
print(a["x"]) --> 10
|
||||
k = 20
|
||||
print(a[k]) --> "great"
|
||||
a["x"] = a["x"] + 1 -- increments entry "x"
|
||||
print(a["x"]) --> 11
|
||||
|
||||
days = {"Sunday", "Monday", "Tuesday", "Wednesday",
|
||||
"Thursday", "Friday", "Saturday"}
|
||||
|
||||
-- EXAMPLE
|
||||
-- --------------------------------------------------
|
||||
line = io.read() -- read a line
|
||||
n = tonumber(line) -- try to convert it to a number
|
||||
if n == nil then
|
||||
error(line .. " is not a valid number")
|
||||
else
|
||||
print(n*2)
|
||||
end
|
||||
|
||||
function foo (a)
|
||||
print("foo", a)
|
||||
return coroutine.yield(2*a)
|
||||
end
|
||||
|
||||
co = coroutine.create(function (a,b)
|
||||
print("co-body", a, b)
|
||||
local r = foo(a+1)
|
||||
print("co-body", r)
|
||||
local r, s = coroutine.yield(a+b, a-b)
|
||||
print("co-body", r, s)
|
||||
return b, "end"
|
||||
end)
|
||||
|
||||
print("main", coroutine.resume(co, 1, 10))
|
||||
print("main", coroutine.resume(co, "r"))
|
||||
print("main", coroutine.resume(co, "x", "y"))
|
||||
print("main", coroutine.resume(co, "x", "y"))
|
||||
|
||||
list = nil
|
||||
for line in io.lines() do
|
||||
list = {next=list, value=line}
|
||||
end
|
||||
|
||||
x = 10
|
||||
local i = 1 -- local to the chunk
|
||||
|
||||
while i<=x do
|
||||
local x = i*2 -- local to the while body
|
||||
print(x) --> 2, 4, 6, 8, ...
|
||||
i = i + 1
|
||||
end
|
||||
|
||||
if i > 20 then
|
||||
local x -- local to the "then" body
|
||||
x = 20
|
||||
print(x + 2)
|
||||
else
|
||||
print(x) --> 10 (the global one)
|
||||
end
|
||||
|
||||
print(x) --> 10 (the global one)
|
||||
|
||||
|
||||
|
||||
do
|
||||
local a2 = 2*a
|
||||
local d = sqrt(b^2 - 4*a*c)
|
||||
x1 = (-b + d)/a2
|
||||
x2 = (-b - d)/a2
|
||||
end -- scope of `a2' and `d' ends here
|
||||
print(x1, x2)
|
||||
</pre>
|
96
EnlighterJS/Resources/TestcaseData/markdown.html
Normal file
|
@ -0,0 +1,96 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="markdown">### XmlToJsObject</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="markdown" data-enlighter-highlight="9,28,47,66">
|
||||
XmlToJsObject
|
||||
===========
|
||||
|
||||
XmlToJsObject is a free, easy-to-use utility to convert XML-Documents/XML-Strings to Javacript-Objects
|
||||
|
||||

|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
* Easy XML to JS-Object conversion like JSON to JS-Object
|
||||
* Written in Pure-Javascipt (standalone - no framework like jQuery or MooTools required!)
|
||||
* Supports XML-Documents (from AJAX/XHR Requests) as well as XML-Strings
|
||||
* Smart-Mode automatically merges nodes+attributes for a much easier handling of config files
|
||||
* Ultra lightweight: only 3.9kB of Code (uncompressed); 1.64kB (yui compressed)
|
||||
* Well commented sourcecode allows easy user modifications/custom extensions
|
||||
* Native integration into MooTools (Object.fromXML)
|
||||
|
||||
Demo
|
||||
----
|
||||
The following Examples require the `JSON.stringify` method (supported by all modern browsers)
|
||||
|
||||
* [Example](http://static.andidittrich.de/XmlToJsObject/Example.html)
|
||||
* [MooTools Example](http://static.andidittrich.de/XmlToJsObject/Example.MooTools.html)
|
||||
* [Minimal Example](http://static.andidittrich.de/XmlToJsObject/Example.Minimal.html)
|
||||
|
||||
Available Methods
|
||||
-----------------
|
||||
|
||||
### XmlToJsObject
|
||||
Pure Javascript Implementation
|
||||
|
||||
```js
|
||||
XmlToJsObject(data [, smartMode=true])
|
||||
```
|
||||
**Description:** Converts a XML-String, XMLNode or XMLDocument into a Javascript-Object
|
||||
|
||||
**data**
|
||||
Type: mixed ( [String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String), [XMLDocument](https://developer.mozilla.org/en-US/docs/Web/API/Node), [XMLNode](https://developer.mozilla.org/en-US/docs/Web/API/Node) )
|
||||
A valid XML-String, XMLNode or XMLDocument Node containing various child nodes and attributes
|
||||
|
||||
**smartMode**
|
||||
Type: [Boolean](http://www.w3schools.com/js/js_datatypes.asp)
|
||||
Optional (default=**true**) - Merge attribute names with node-names
|
||||
|
||||
### Object.fromXML (MooTools)
|
||||
Native MooTools implementation: automatically available when using MooTools on your page!
|
||||
|
||||
```js
|
||||
Object.fromXML(data [, smartMode=true])
|
||||
```
|
||||
**Description:** Converts a XML-String, XMLNode or XMLDocument into a Javascript-Object
|
||||
|
||||
**data**
|
||||
Type: mixed ( [String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String), [XMLDocument](https://developer.mozilla.org/en-US/docs/Web/API/Node), [XMLNode](https://developer.mozilla.org/en-US/docs/Web/API/Node) )
|
||||
A valid XML-String, XMLNode or XMLDocument Node containing various child nodes and attributes
|
||||
|
||||
**smartMode**
|
||||
Type: [Boolean](http://www.w3schools.com/js/js_datatypes.asp)
|
||||
Optional (default=**true**) - Merge attribute names with node-names
|
||||
|
||||
|
||||
Tested With
|
||||
-----------
|
||||
* Firefox 27.0.1
|
||||
* Chrome 33.0.1750.117
|
||||
* Internet Explorer 11.0.9600.16518
|
||||
* Safari 5.1.7 (Windows)
|
||||
* Android 4.3 (WebView)
|
||||
|
||||
|
||||
Browser compatibility
|
||||
---------------------
|
||||
The XmlToJsObject Utility requires the [DOMParser](http://www.w3schools.com/dom/dom_parser.asp) object. If you want to support earlier versions of the InternetExplorer you can write a [fallback](http://www.w3schools.com/dom/dom_parser.asp) using `new ActiveXObject("Microsoft.XMLDOM")` instead of the DOMParser.
|
||||
|
||||
Compatibility Reference: [https://developer.mozilla.org/en-US/docs/Web/API/DOMParser](https://developer.mozilla.org/en-US/docs/Web/API/DOMParser)
|
||||
|
||||
* Chrome 1.0+
|
||||
* Safari osx+ios (WebKit) 3.2+
|
||||
* Internet Explorer 9+
|
||||
* Firefox 1.7+
|
||||
* Opera 8+
|
||||
* Android-Webview 4.3 (Webkit Engine)
|
||||
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
XmlToJsObject is licensed under [The MIT License (X11)](http://opensource.org/licenses/MIT)
|
||||
|
||||
</pre>
|
226
EnlighterJS/Resources/TestcaseData/matlab.html
Normal file
|
@ -0,0 +1,226 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="matlab">[t,x] = meshgrid(-1:0.2:1, -1:0.2:1);</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<h3>Matlab Script</h3>
|
||||
<pre data-enlighter-language="matlab">
|
||||
function [X]=fkt1000(t, x)
|
||||
|
||||
lambda=-1000;
|
||||
X = lambda*( x - exp(-t) ) - exp(-t);
|
||||
|
||||
end
|
||||
|
||||
function fRichtungsfeld(fhandle)
|
||||
% create meshgrid
|
||||
[t,x] = meshgrid(-1:0.2:1, -1:0.2:1);
|
||||
|
||||
% exec function
|
||||
z = feval(fhandle, t, x);
|
||||
|
||||
% draw figure
|
||||
figure;
|
||||
quiver(t, x, ones(size(t)), z);
|
||||
axis([-1,1,-1,1]);
|
||||
xlabel('t');
|
||||
ylabel('x');
|
||||
title('Richtungsfeld, dx=dt=0.2');
|
||||
legend('Richtungsfeld');
|
||||
end
|
||||
|
||||
classdef Uebung5< handle
|
||||
% Static Methods
|
||||
methods(Static=true)
|
||||
|
||||
%% Aufgabe 15
|
||||
function Aufgabe15()
|
||||
A = [
|
||||
0.9635, 1.4266;
|
||||
1.4266, 0.0365
|
||||
];
|
||||
|
||||
x0 = [
|
||||
0;
|
||||
1
|
||||
];
|
||||
|
||||
p = PowerMethod(A);
|
||||
iter = NumericIterator(p, x0);
|
||||
|
||||
% error < 10^-5
|
||||
iter.addAbortConditionListener(ErrorCalculationListener(10^-5));
|
||||
|
||||
% start iteration
|
||||
iter.start();
|
||||
|
||||
% print result
|
||||
fprintf('Eigenwert: %10.10f\nEigenvektor:\n', p.getEigenwert());
|
||||
Array.print(iter.getResult());
|
||||
|
||||
% Approximation Error < 1.000000e-005 @ 19 Iterations
|
||||
% Eigenwert: 2.0000066033
|
||||
% Eigenvektor:
|
||||
% 0.8090129
|
||||
% 0.5877909
|
||||
end
|
||||
|
||||
|
||||
|
||||
%% Aufgabe 16
|
||||
function Aufgabe16()
|
||||
% referenz f<>r tf=0.95
|
||||
ref = fAufgabe16Ref();
|
||||
|
||||
% startwert
|
||||
x0 = 1;
|
||||
t0 = 0;
|
||||
tf = 0.95;
|
||||
|
||||
% output buffer
|
||||
buffer = {};
|
||||
j = 1;
|
||||
|
||||
% schrittzahl, diskrete werte
|
||||
n = [20, 100, 200, 1000, 2000, 10000, 20000, 100000];
|
||||
|
||||
% draw table
|
||||
gui = table('Aufgabe 16');
|
||||
|
||||
% Verfahren anwenden
|
||||
for i=1:1:length(n)
|
||||
% schrittweite
|
||||
h = (tf-t0)/(n(i)-1);
|
||||
|
||||
% set table output
|
||||
buffer{j, 1} = n(i);
|
||||
buffer{j, 2} = sprintf('%d', h);
|
||||
|
||||
duration = 0;
|
||||
|
||||
% euler
|
||||
e = RungeKuttaMethod(@fAufgabe16, @fRKTEuler, t0, tf, h, x0);
|
||||
buffer{j, 3} = sprintf('%d', abs(ref-e.getResult())/ref);
|
||||
duration = duration + e.getDuration();
|
||||
|
||||
% heun
|
||||
e = RungeKuttaMethod(@fAufgabe16, @fRKTHeun, t0, tf, h, x0);
|
||||
buffer{j, 4} = sprintf('%d', abs(ref-e.getResult())/ref);
|
||||
duration = duration + e.getDuration();
|
||||
|
||||
% mod euler
|
||||
e = RungeKuttaMethod(@fAufgabe16, @fRKTMEuler, t0, tf, h, x0);
|
||||
buffer{j, 5} = sprintf('%d', abs(ref-e.getResult())/ref);
|
||||
duration = duration + e.getDuration();
|
||||
|
||||
% klassik RKV, just 4 fun ;)
|
||||
e = RungeKuttaMethod(@fAufgabe16, @fRKTClassicRKM, t0, tf, h, x0);
|
||||
buffer{j, 6} = sprintf('%d', abs(ref-e.getResult())/ref);
|
||||
duration = duration + e.getDuration();
|
||||
|
||||
% set duration
|
||||
buffer{j, 7} = sprintf('%d', duration);
|
||||
|
||||
% increment table row counter
|
||||
j=j+1;
|
||||
|
||||
% tabelle updaten
|
||||
gui.repaint(buffer);
|
||||
end
|
||||
|
||||
% OUTPUT
|
||||
% Result <h=5.000000e-002>: 6.460597267358655100
|
||||
% Result <h=5.000000e-002>: 12.511638996887264000
|
||||
% Result <h=5.000000e-002>: 12.048026035562726000
|
||||
% Result <h=5.000000e-002>: 14.271173509689078000
|
||||
% Result <h=9.595960e-003>: 17.964107899072395000
|
||||
% Result <h=9.595960e-003>: 32.643393403424028000
|
||||
% Result <h=9.595960e-003>: 32.155786064836953000
|
||||
% Result <h=9.595960e-003>: 33.992428065470925000
|
||||
% Result <h=4.773869e-003>: 25.392669207249959000
|
||||
% Result <h=4.773869e-003>: 40.020849205774859000
|
||||
% Result <h=4.773869e-003>: 39.753729672927300000
|
||||
% Result <h=4.773869e-003>: 40.667817564725581000
|
||||
% Result <h=9.509510e-004>: 41.312660057741127000
|
||||
% Result <h=9.509510e-004>: 48.111744657920021000
|
||||
% Result <h=9.509510e-004>: 48.088683279107258000
|
||||
% Result <h=9.509510e-004>: 48.159528454354081000
|
||||
% Result <h=4.752376e-004>: 45.338580595642853000
|
||||
% Result <h=4.752376e-004>: 49.276209783713618000
|
||||
% Result <h=4.752376e-004>: 49.269803171533532000
|
||||
% Result <h=4.752376e-004>: 49.289181554821702000
|
||||
% Result <h=9.500950e-005>: 49.333345578779792000
|
||||
% Result <h=9.500950e-005>: 50.230354244304941000
|
||||
% Result <h=9.500950e-005>: 50.230075076019553000
|
||||
% Result <h=9.500950e-005>: 50.230908884512381000
|
||||
% Result <h=4.750238e-005>: 49.894671915844583000
|
||||
% Result <h=4.750238e-005>: 50.350966085905696000
|
||||
% Result <h=4.750238e-005>: 50.350895538095877000
|
||||
% Result <h=4.750238e-005>: 50.351105912323895000
|
||||
% Result <h=9.500095e-006>: 50.355123772675057000
|
||||
% Result <h=9.500095e-006>: 50.447664014784309000
|
||||
% Result <h=9.500095e-006>: 50.447661168458090000
|
||||
% Result <h=9.500095e-006>: 50.447669645483884000
|
||||
end
|
||||
|
||||
%% Aufgabe 17
|
||||
function Aufgabe17()
|
||||
x0 = [
|
||||
1;
|
||||
0
|
||||
];
|
||||
|
||||
% startwerte
|
||||
t0 = 0;
|
||||
tf = 50;
|
||||
|
||||
% schrittzahl
|
||||
n = 1000;
|
||||
|
||||
% schrittweite
|
||||
h = (tf-t0)/(n-1);
|
||||
|
||||
% Classic RKM
|
||||
e = RungeKuttaMethod(@fAufgabe17, @fRKTClassicRKM, t0, tf, h, x0);
|
||||
|
||||
% cell array holen
|
||||
result = e.getResults();
|
||||
|
||||
% cell array in 2 lineare double arrays konvertieren
|
||||
x1 = [];
|
||||
x2 = [];
|
||||
|
||||
for i=1:1:length(result)
|
||||
x = result{i};
|
||||
x1(i) = x(1);
|
||||
x2(i) = x(2);
|
||||
end
|
||||
|
||||
% phasenraum zeichnen
|
||||
figure('Name', 'Aufgabe 17 - Phasenraum <20>ber x1, x2');
|
||||
plot(x1, x2);
|
||||
xlabel('x1');
|
||||
ylabel('x2');
|
||||
|
||||
% x1(t) zeichnen
|
||||
figure('Name', 'Aufgabe 17 - Abh<62>ngigkeiten von t');
|
||||
subplot(2,1,1);
|
||||
axis([0 50 -1 1]);
|
||||
plot(t0:h:tf, x1);
|
||||
xlabel('t');
|
||||
ylabel('x1');
|
||||
|
||||
% x2(t) zeichnen
|
||||
subplot(2,1,2);
|
||||
axis([0 50 -1 1]);
|
||||
plot(t0:h:tf, x2);
|
||||
xlabel('t');
|
||||
ylabel('x2');
|
||||
end
|
||||
|
||||
% END STATIC METHODS
|
||||
end
|
||||
|
||||
% END CLASS
|
||||
end
|
||||
|
||||
</pre>
|
31
EnlighterJS/Resources/TestcaseData/nohighlight.html
Normal file
|
@ -0,0 +1,31 @@
|
|||
<h2>Unhighlighted Code - <small>retains your page styles!</small></h2>
|
||||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="no-highlight"><room number="123">Conference Room A</room></code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="no-highlight">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<building name="GlobalDynamics Main Building" id="0xFA8A91C6617DFA1B">
|
||||
<group level="2">
|
||||
<room number="123">Conference Room A</room>
|
||||
<room number="124">Conference Room B</room>
|
||||
<room number="125">Conference Room C</room>
|
||||
<room number="126">Conference Room D</room>
|
||||
</group>
|
||||
<group level="2">
|
||||
<room number="17">John's Office</room>
|
||||
<room number="19">Eric's Office</room>
|
||||
</group>
|
||||
<group level="1">
|
||||
<room number="091">Mainframe Housing A</room>
|
||||
<room number="092">Mainframe Housing B</room>
|
||||
<room number="090">Mainframe Power Supply Station</room>
|
||||
<room number="089">Mainframe Backup Power Supply Station</room>
|
||||
</group>
|
||||
<group level="8">
|
||||
<room number="1717" role="cto">CTO Office</room>
|
||||
<room number="1819" role="ceo">CEO Office</room>
|
||||
<room number="1820" role="cfo">CFO Office</room>
|
||||
</group>
|
||||
</building>
|
||||
</pre>
|
56
EnlighterJS/Resources/TestcaseData/nsis.html
Normal file
|
@ -0,0 +1,56 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="nsis">Name "installer_name"</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<!-- TESTCASE START -->
|
||||
<pre data-enlighter-language="nsis">
|
||||
/*
|
||||
Everybody
|
||||
needs a
|
||||
multi-line
|
||||
comment!
|
||||
*/
|
||||
|
||||
; Includes ---------------------------------
|
||||
!include MUI2.nsh
|
||||
|
||||
; Settings ---------------------------------
|
||||
Name "installer_name"
|
||||
OutFile "installer_name.exe"
|
||||
RequestExecutionLevel user
|
||||
CRCCheck on
|
||||
!ifdef x64
|
||||
InstallDir "$PROGRAMFILES64\installer_name"
|
||||
!else
|
||||
InstallDir "$PROGRAMFILES\installer_name"
|
||||
!endif
|
||||
|
||||
; Pages ------------------------------------
|
||||
!insertmacro MUI_PAGE_COMPONENTS
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
|
||||
; Languages --------------------------------
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
|
||||
; Sections ---------------------------------
|
||||
Section "section_name" section_index
|
||||
# your code here
|
||||
SectionEnd
|
||||
|
||||
; Descriptions -----------------------------
|
||||
LangString DESC_section_index ${LANG_English} "section_description"
|
||||
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${section_index} $(DESC_section_index)
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
; Functions --------------------------------
|
||||
Function .onInit
|
||||
StrCpy $0 "Notepad"
|
||||
MessageBox MB_YESNO "Do you want to run $0?" IDYES +2
|
||||
Quit
|
||||
nsExec:Exec "notepad.exe"
|
||||
FunctionEnd
|
||||
<!-- TESTCASE STOP -->
|
||||
</pre>
|
258
EnlighterJS/Resources/TestcaseData/php.html
Normal file
|
@ -0,0 +1,258 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="php">echo 'Arnold once said: "I\'ll be back"';</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="php">
|
||||
<?php
|
||||
// Comments
|
||||
|
||||
/*
|
||||
This is
|
||||
a comment
|
||||
block
|
||||
*/
|
||||
|
||||
/** Keywords */
|
||||
|
||||
die() echo() empty() exit() eval() include() include_once() isset() list() require() require_once() return() print() unset()
|
||||
|
||||
__CLASS__ __DIR__ __FILE__ __FUNCTION__ __METHOD__ __NAMESPACE__
|
||||
|
||||
abstract and array() as break case catch cfunction class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new old_function or private protected public static switch throw try use var while xor
|
||||
|
||||
/** String's */
|
||||
echo 'this is a simple string';
|
||||
|
||||
echo 'You can also have embedded newlines in
|
||||
strings this way as it is \'
|
||||
okay to do'; // Don't you agree
|
||||
|
||||
// Outputs: Arnold once said: "I'll be back"
|
||||
echo 'Arnold once said: "I\'ll be back"';
|
||||
|
||||
// Heredoc
|
||||
$str = <<<EOD
|
||||
Example of string
|
||||
spanning multiple lines
|
||||
using heredoc syntax.
|
||||
EOD;
|
||||
|
||||
// Nowdoc
|
||||
$str = <<<'EOD'
|
||||
Example of string
|
||||
spanning multiple lines
|
||||
using nowdoc syntax.
|
||||
EOD;
|
||||
|
||||
/** Numbers */
|
||||
|
||||
$a = 1234; // decimal number
|
||||
$a = -123; // a negative number
|
||||
$a = 0123; // octal number (equivalent to 83 decimal)
|
||||
$a = 0x1A; // hexadecimal number (equivalent to 26 decimal)
|
||||
$a = 1.234;
|
||||
$b = 1.2e3;
|
||||
$c = 7E-10;
|
||||
|
||||
|
||||
/**
|
||||
* Displays GitHub Style Buttons using GitHub API v3
|
||||
* @url http://github-buttons.andidittrich.de/
|
||||
* @see https://developer.github.com/v3/
|
||||
* @author Andi Dittrich $lt;http://andidittrich.de$gt;
|
||||
* @license Dual-Licensed under "The MIT License (X11)" and "Apache 2.0 License"
|
||||
* @version 1.2
|
||||
*
|
||||
*/
|
||||
class GitHubButtons{
|
||||
|
||||
// global cache dir
|
||||
private $_cacheDir;
|
||||
|
||||
function __construct($cacheDir = '.'){
|
||||
// store cache dir
|
||||
$this->_cacheDir = $cacheDir;
|
||||
}
|
||||
|
||||
/**
|
||||
* Defines the default options -
|
||||
* @param array $options
|
||||
* @return multitype:
|
||||
*/
|
||||
private function mergeOptions($options){
|
||||
$defaults = array(
|
||||
// large or small button ?
|
||||
'large' => false,
|
||||
|
||||
// GitHub username
|
||||
'owner' => null,
|
||||
|
||||
// GitHub repository name
|
||||
'repo' => null,
|
||||
|
||||
// Button type (star, fork, watch, follow)
|
||||
'type' => 'star',
|
||||
|
||||
// custom button text
|
||||
'text' => null,
|
||||
|
||||
// enabled/disable counter - manual set the value
|
||||
'count' => true,
|
||||
|
||||
// enable caching by default
|
||||
'cache' => true,
|
||||
|
||||
// cache lifetime in seconds (2h default)
|
||||
'cacheLifetime' => 7200,
|
||||
|
||||
// text/count if GitHub API is unavailable
|
||||
'errorText' => 'NA'
|
||||
);
|
||||
return array_merge($defaults, $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the HTML Output
|
||||
* @param array $options
|
||||
*/
|
||||
public function button($options){
|
||||
// set default options
|
||||
$options = $this->mergeOptions($options);
|
||||
|
||||
// vars
|
||||
$text = '';
|
||||
$count = null;
|
||||
$buttonLink = 'https://github.com/' . $options['owner'] . '/';
|
||||
$counterLink = 'https://github.com/' . $options['owner'] . '/';
|
||||
$apiUrl = '';
|
||||
$responseSelector = '';
|
||||
|
||||
// star, fork, follow, watch are supported
|
||||
switch ($options['type']){
|
||||
case 'star':
|
||||
$apiUrl = 'repos/' . $options['owner'] . '/' . $options['repo'];
|
||||
$text = 'Star';
|
||||
$buttonLink .= $options['repo'];
|
||||
$counterLink .= $options['repo'] . '/stargazers';
|
||||
$responseSelector = 'stargazers_count';
|
||||
break;
|
||||
|
||||
case 'fork':
|
||||
$apiUrl = 'repos/' . $options['owner'] . '/' . $options['repo'];
|
||||
$text = 'Fork';
|
||||
$buttonLink .= $options['repo'];
|
||||
$counterLink .= $options['repo'] . '/network';
|
||||
$responseSelector = 'forks_count';
|
||||
break;
|
||||
|
||||
case 'watch':
|
||||
$apiUrl = 'repos/' . $options['owner'] . '/' . $options['repo'];
|
||||
$text = 'Watchers';
|
||||
$buttonLink .= $options['repo'];
|
||||
$counterLink .= $options['repo'] . '/watchers';
|
||||
$responseSelector = 'subscribers_count';
|
||||
break;
|
||||
|
||||
case 'follow':
|
||||
$counterLink .= 'followers';
|
||||
$text = 'Follow @' . $options['owner'];
|
||||
$apiUrl = 'users/'.$options['owner'];
|
||||
$responseSelector = 'followers';
|
||||
break;
|
||||
}
|
||||
|
||||
// user defined text ?
|
||||
if ($options['text']!=null){
|
||||
$text = $options['text'];
|
||||
}
|
||||
|
||||
// user defined count ?
|
||||
if (is_numeric($options['count'])){
|
||||
$count = $options['count'];
|
||||
}else{
|
||||
// fetch count
|
||||
$response = $this->doApiRequest($apiUrl, $options['cache'], $options['cacheLifetime'], $responseSelector);
|
||||
|
||||
// valid ?
|
||||
if (is_numeric($response)){
|
||||
$count = $response;
|
||||
}else{
|
||||
$count = $options['errorText'];
|
||||
}
|
||||
}
|
||||
|
||||
// large button ?
|
||||
$large = ($options['large']===true ? ' github-btn-large' : '');
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Do Single HTTP GET Request including caching
|
||||
* @param unknown $url
|
||||
* @return string
|
||||
*/
|
||||
private function doApiRequest($url, $cacheEnabled, $cacheLifetime, $selector){
|
||||
// cache url
|
||||
$cachefilename = $this->_cacheDir . '/github.'.sha1($url.$selector).'.cache.json';
|
||||
|
||||
// 1h cachetime
|
||||
if ($cacheEnabled && file_exists($cachefilename) && filemtime($cachefilename) > (time()-$cacheLifetime)){
|
||||
return file_get_contents($cachefilename);
|
||||
}
|
||||
|
||||
$opts = array('http' =>
|
||||
array(
|
||||
'method' => 'GET',
|
||||
'protocol_version' => '1.1',
|
||||
'user_agent' => 'GitHubButtons/1.1',
|
||||
'header' => array(
|
||||
'Content-type: application/x-www-form-urlencoded;charset=UTF-8',
|
||||
'Connection: close',
|
||||
'Accept: application/vnd.github.v3+json'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
// send request
|
||||
$data = false;
|
||||
try{
|
||||
$data = @file_get_contents('https://api.github.com/'.$url, false, stream_context_create($opts));
|
||||
}catch(Exception $error){}
|
||||
|
||||
// success ?
|
||||
if ($data===false){
|
||||
return false;
|
||||
}else{
|
||||
// decode data
|
||||
$jdata = json_decode($data, true);
|
||||
|
||||
// extract
|
||||
$cnt = $jdata[$selector];
|
||||
|
||||
if ($cacheEnabled){
|
||||
// cache data
|
||||
file_put_contents($cachefilename, $cnt);
|
||||
}
|
||||
|
||||
// return resposne data
|
||||
return $cnt;
|
||||
}
|
||||
}
|
||||
|
||||
// singleton instance
|
||||
private static $__instance;
|
||||
|
||||
// get singelton instance
|
||||
public static function getInstance($cacheDir=null){
|
||||
// check if singelton instance is avaible
|
||||
if (self::$__instance==null){
|
||||
// create new instance if not
|
||||
self::$__instance = new self($cacheDir);
|
||||
}
|
||||
return self::$__instance;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
</pre>
|
68
EnlighterJS/Resources/TestcaseData/python.html
Normal file
|
@ -0,0 +1,68 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="python">links = [element for element in liste if element < pivotelement]</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="python">
|
||||
# SOURCE: http://de.wikipedia.org/wiki/Python_%28Programmiersprache%29
|
||||
def stack():
|
||||
l = []
|
||||
def pop(): return l.pop()
|
||||
def push(element): l.append(element)
|
||||
def isempty(): return len(l) == 0
|
||||
return pop, push, isempty
|
||||
|
||||
POP, PUSH, ISEMPTY = stack()
|
||||
|
||||
while True:
|
||||
try:
|
||||
num = raw_input("Eine Zahl eingeben: ")
|
||||
num = int(num)
|
||||
break
|
||||
except ValueError:
|
||||
print("Eine _Zahl_, bitte!")
|
||||
|
||||
'''
|
||||
Multiline String Comment Style1
|
||||
Hello
|
||||
'''
|
||||
|
||||
def curry(func, knownargument):
|
||||
return lambda unknownargument: func(unknownargument, knownargument)
|
||||
|
||||
"""
|
||||
Multiline String Comment Style2
|
||||
Hello
|
||||
"""
|
||||
|
||||
def quicksort(liste):
|
||||
if len(liste) <= 1:
|
||||
return liste
|
||||
pivotelement = liste.pop()
|
||||
links = [element for element in liste if element < pivotelement]
|
||||
rechts = [element for element in liste if element >= pivotelement]
|
||||
return quicksort(links) + [pivotelement] + quicksort(rechts)
|
||||
|
||||
using webapp.runner do (config):
|
||||
config.time_zone = 'UTC'
|
||||
config.log_level = 'debug'
|
||||
|
||||
# @SOURCE: http://docs.python.org/2/tutorial/classes.html
|
||||
class Mapping:
|
||||
def __init__(self, iterable):
|
||||
self.items_list = []
|
||||
self.__update(iterable)
|
||||
|
||||
def update(self, iterable):
|
||||
for item in iterable:
|
||||
self.items_list.append(item)
|
||||
|
||||
__update = update # private copy of original update() method
|
||||
|
||||
class MappingSubclass(Mapping):
|
||||
|
||||
def update(self, keys, values):
|
||||
# provides new signature for update()
|
||||
# but does not break __init__()
|
||||
for item in zip(keys, values):
|
||||
self.items_list.append(item)
|
||||
</pre>
|
31
EnlighterJS/Resources/TestcaseData/raw.html
Normal file
|
@ -0,0 +1,31 @@
|
|||
<h2>Unhighlighted Code - <small>with EnlighterJS Container Styles!</small></h2>
|
||||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="raw"><room number="123">Conference Room A</room></code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="raw">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<building name="GlobalDynamics Main Building" id="0xFA8A91C6617DFA1B">
|
||||
<group level="2">
|
||||
<room number="123">Conference Room A</room>
|
||||
<room number="124">Conference Room B</room>
|
||||
<room number="125">Conference Room C</room>
|
||||
<room number="126">Conference Room D</room>
|
||||
</group>
|
||||
<group level="2">
|
||||
<room number="17">John's Office</room>
|
||||
<room number="19">Eric's Office</room>
|
||||
</group>
|
||||
<group level="1">
|
||||
<room number="091">Mainframe Housing A</room>
|
||||
<room number="092">Mainframe Housing B</room>
|
||||
<room number="090">Mainframe Power Supply Station</room>
|
||||
<room number="089">Mainframe Backup Power Supply Station</room>
|
||||
</group>
|
||||
<group level="8">
|
||||
<room number="1717" role="cto">CTO Office</room>
|
||||
<room number="1819" role="ceo">CEO Office</room>
|
||||
<room number="1820" role="cfo">CFO Office</room>
|
||||
</group>
|
||||
</building>
|
||||
</pre>
|
105
EnlighterJS/Resources/TestcaseData/ruby.html
Normal file
|
@ -0,0 +1,105 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="ruby">@users = User.find_all_by_logins(@changesets.collect(&:author).uniq).index_by(&:login)</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="ruby">
|
||||
=begin
|
||||
Multi-line comment test.
|
||||
Below are various syntax specific statements
|
||||
to test the parser with.
|
||||
=end
|
||||
|
||||
# Keywords
|
||||
alias and begin BEGIN
|
||||
break case class def defined? do
|
||||
else elsif END end ensure false
|
||||
for if in module next nil
|
||||
not or redo rescue retry return
|
||||
self super then true undef unless
|
||||
until when while yield
|
||||
|
||||
# String Tests
|
||||
'no interpolation, backslash notation not applied'
|
||||
"applied #{interpolation}, and backslashes\n"
|
||||
%q(no interpolation)
|
||||
%Q(applied #{interpolation} and backslashes)
|
||||
%(interpolation and backslashes)
|
||||
`echo command interpretation with interpolation and backslashes`
|
||||
%x(echo command interpretation with interpolation and backslashes)
|
||||
myString = <<DOC
|
||||
Multi line string in here doc form.
|
||||
Output will match format of heredoc.
|
||||
DOC
|
||||
|
||||
# Regular Expressions
|
||||
/pattern/
|
||||
/pattern/iomx
|
||||
%r{pattern}
|
||||
%r{pattern}iomx
|
||||
|
||||
#Symbols
|
||||
:Object
|
||||
:myVariable
|
||||
::notASymbol
|
||||
|
||||
# Number Tests
|
||||
123 # Fixnum
|
||||
-123 # Fixnum (signed)
|
||||
1_123 # Fixnum (underscore is ignored)
|
||||
-543 # Negative Fixnum
|
||||
123_456_789_123_456_789 # Bignum
|
||||
123.45 # Float
|
||||
1.2e-3 # Float
|
||||
0xaabb # (Hexadecimal) Fixnum
|
||||
0377 # (Octal) Fixnum
|
||||
-0b1010 # (Binary [negated]) Fixnum
|
||||
0b001_001 # (Binary) Fixnum
|
||||
?a # ASCII character code for 'a' (97)
|
||||
?\C-a # Control-a (1)
|
||||
?\M-a # Meta-a (225)
|
||||
?\M-\C-a # Meta-Control-a (129)
|
||||
|
||||
# Names
|
||||
fred anObject _x three_two_one # Local Variables
|
||||
@name @_ @Size # Instance Variables
|
||||
@@name @@_ @@Size # Class Variables
|
||||
def MyClass # Constants
|
||||
PI = 3.1415926
|
||||
class BigBlob
|
||||
$params $PROGRAM $! $_ $-a $-. #Global variables
|
||||
|
||||
# Example snippet
|
||||
class HistoryController < ApplicationController
|
||||
before_filter :find_node
|
||||
before_filter :repository_member_required
|
||||
|
||||
caches_action_content :index
|
||||
|
||||
# Single Line Comment
|
||||
def index
|
||||
@changesets = current_repository.changesets.paginate_by_path(@node.path, :page => params[:page])
|
||||
if api_format?
|
||||
render :layout => false
|
||||
else
|
||||
@users = User.find_all_by_logins(@changesets.collect(&:author).uniq).index_by(&:login)
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
def find_node
|
||||
full_path = if params[:paths].last.to_s =~ /\.atom$/
|
||||
request.format = :atom
|
||||
params[:paths].first(params[:paths].size - 1)
|
||||
else
|
||||
params[:paths]
|
||||
end
|
||||
@node = current_repository.node(full_path * "/")
|
||||
unless @node.accessible_by?(current_user)
|
||||
status_message :error, "You do not have access to this path."
|
||||
false
|
||||
else
|
||||
true
|
||||
end
|
||||
end
|
||||
end
|
||||
</pre>
|
157
EnlighterJS/Resources/TestcaseData/rust.html
Normal file
|
@ -0,0 +1,157 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="rust">let y = match *x { 0 => "zero", _ => "some" };</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
|
||||
<pre data-enlighter-language="rust">
|
||||
#!Source: Rust Reference https://doc.rust-lang.org/stable/reference.html
|
||||
|
||||
/// string literal
|
||||
let a = "foobar";
|
||||
let b = "foo\
|
||||
bar";
|
||||
|
||||
assert_eq!(a,b);
|
||||
|
||||
"foo"; r"foo"; // foo
|
||||
"\"foo\""; r#""foo""#; // "foo"
|
||||
|
||||
"foo #\"# bar";
|
||||
r##"foo #"# bar"##; // foo #"# bar
|
||||
|
||||
"\x52"; "R"; r"R"; // R
|
||||
"\\x52"; r"\x52"; // \x52
|
||||
b"hello"; // byte string
|
||||
b'H'; // byte
|
||||
|
||||
/// integer literal
|
||||
123i32; // type i32
|
||||
123u32; // type u32
|
||||
123_u32; // type u32
|
||||
0xff_u8; // type u8
|
||||
0o70_i16; // type i16
|
||||
0b1111_1111_1001_0000_i32; // type i32
|
||||
0usize; // type usize
|
||||
|
||||
/// Floating-point literals
|
||||
123.0f64; // type f64
|
||||
0.1f64; // type f64
|
||||
0.1f32; // type f32
|
||||
12E+99_f64; // type f64
|
||||
1_234.0E+18f64 // type f64
|
||||
let x: f64 = 2.; // type f64
|
||||
|
||||
|
||||
/// lambda expression
|
||||
fn ten_times<F>(f: F) where F: Fn(i32) {
|
||||
let mut i = 0i32;
|
||||
while i < 10 {
|
||||
f(i);
|
||||
i += 1;
|
||||
}
|
||||
}
|
||||
ten_times(|j| println!("hello, {}", j));
|
||||
|
||||
|
||||
/// Directives
|
||||
// Specify the crate name.
|
||||
#![crate_name = "projx"]
|
||||
|
||||
// Specify the type of output artifact.
|
||||
#![crate_type = "lib"]
|
||||
|
||||
// Turn on a warning.
|
||||
// This can be done in any module, not just the anonymous crate module.
|
||||
#![warn(non_camel_case_types)]
|
||||
|
||||
#![feature(rand, collections, std_misc, duration, duration_span)]
|
||||
|
||||
/// Match expressions
|
||||
let x = 1;
|
||||
|
||||
match x {
|
||||
1 => println!("one"),
|
||||
2 => println!("two"),
|
||||
3 => println!("three"),
|
||||
4 => println!("four"),
|
||||
5 => println!("five"),
|
||||
_ => println!("something else"),
|
||||
}
|
||||
|
||||
let x = 1;
|
||||
|
||||
match x {
|
||||
e @ 1 ... 5 => println!("got a range element {}", e),
|
||||
_ => println!("anything"),
|
||||
}
|
||||
|
||||
let y = match *x { 0 => "zero", _ => "some" };
|
||||
let z = match x { &0 => "zero", _ => "some" };
|
||||
|
||||
assert_eq!(y, z);
|
||||
|
||||
/// If let expressions
|
||||
let dish = ("Ham", "Eggs");
|
||||
|
||||
// this body will be skipped because the pattern is refuted
|
||||
if let ("Bacon", b) = dish {
|
||||
println!("Bacon is served with {}", b);
|
||||
}
|
||||
|
||||
// this body will execute
|
||||
if let ("Ham", b) = dish {
|
||||
println!("Ham is served with {}", b);
|
||||
}
|
||||
|
||||
/// Trait objects
|
||||
trait Printable {
|
||||
fn stringify(&self) -> String;
|
||||
}
|
||||
|
||||
impl Printable for i32 {
|
||||
fn stringify(&self) -> String { self.to_string() }
|
||||
}
|
||||
|
||||
fn print(a: Box<Printable>) {
|
||||
println!("{}", a.stringify());
|
||||
}
|
||||
|
||||
fn main() {
|
||||
print(Box::new(10) as Box<Printable>);
|
||||
}
|
||||
|
||||
fn to_vec<A: Clone>(xs: &[A]) -> Vec<A> {
|
||||
if xs.is_empty() {
|
||||
return vec![];
|
||||
}
|
||||
let first: A = xs[0].clone();
|
||||
let mut rest: Vec<A> = to_vec(&xs[1..]);
|
||||
rest.insert(0, first);
|
||||
rest
|
||||
}
|
||||
|
||||
/// Tuple types
|
||||
type Pair<'a> = (i32, &'a str);
|
||||
let p: Pair<'static> = (10, "hello");
|
||||
let (a, b) = p;
|
||||
assert!(b != "world");
|
||||
assert!(p.0 == 10);
|
||||
|
||||
/// Use declarations
|
||||
use std::option::Option::{Some, None};
|
||||
use std::collections::hash_map::{self, HashMap};
|
||||
|
||||
fn foo<T>(_: T){}
|
||||
fn bar(map1: HashMap<String, usize>, map2: hash_map::HashMap<String, usize>){}
|
||||
|
||||
fn main() {
|
||||
// Equivalent to 'foo(vec![std::option::Option::Some(1.0f64),
|
||||
// std::option::Option::None]);'
|
||||
foo(vec![Some(1.0f64), None]);
|
||||
|
||||
// Both `hash_map` and `HashMap` are in scope.
|
||||
let map1 = HashMap::new();
|
||||
let map2 = hash_map::HashMap::new();
|
||||
bar(map1, map2);
|
||||
}
|
||||
</pre>
|
67
EnlighterJS/Resources/TestcaseData/shell.html
Normal file
|
@ -0,0 +1,67 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="shell">chmod 0775 /home/user1</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<h3>Shell Script</h3>
|
||||
<pre data-enlighter-language="shell">
|
||||
#!/bin/sh
|
||||
|
||||
# Bin locations
|
||||
# ------------------------------------
|
||||
MYSQL_BIN=/usr/bin/mysql
|
||||
|
||||
# Config
|
||||
# ------------------------------------
|
||||
MYSQL_CONF="$HOME/.mysql.cnf"
|
||||
|
||||
# Uncompress Backup and run restore
|
||||
# ------------------------------------
|
||||
$MYSQL_BIN --defaults-extra-file=$MYSQL_CONF $1 < $2
|
||||
|
||||
# allow input
|
||||
# three arguments: PROTOCOL SRC-IP PORT
|
||||
firewall_allow_input() {
|
||||
if [ $# -eq 3 ]; then
|
||||
/sbin/iptables -A INPUT -p $1 -s $2 -d $IP_EXTERNAL --dport $3 -m state --state NEW -j ACCEPT
|
||||
return 0
|
||||
else
|
||||
echo "$0: syntax error for firewall_allow_input $1 $2 $3"
|
||||
echo "$0: arguments: PROTOCOL DST-IP PORT"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
firewall_start
|
||||
exit 0
|
||||
;;
|
||||
|
||||
stop)
|
||||
firewall_stop
|
||||
exit 0
|
||||
;;
|
||||
|
||||
test)
|
||||
firewall_test
|
||||
exit 0
|
||||
;;
|
||||
|
||||
restart)
|
||||
firewall_restart
|
||||
exit 0
|
||||
;;
|
||||
|
||||
status)
|
||||
firewall_status
|
||||
exit 0
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "$0: Iptables Firewall"
|
||||
echo "$0: { start | stop | restart | status | test }"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
</pre>
|
36
EnlighterJS/Resources/TestcaseData/sql.html
Normal file
|
@ -0,0 +1,36 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="sql">UPDATE Account SET amount=amount-200 WHERE account_number=1234;</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
|
||||
<!-- Source: http://en.wikipedia.org/wiki/SQL -->
|
||||
<pre data-enlighter-language="sql">
|
||||
/*Source: http://en.wikipedia.org/wiki/SQL*/
|
||||
|
||||
SELECT `Book.title` AS `Title`,
|
||||
COUNT(*) AS `Authors`
|
||||
FROM `Book` JOIN `Book_author`
|
||||
ON `Book`.`isbn` = `Book_author`.`isbn`
|
||||
GROUP BY `Book`.`title`;
|
||||
|
||||
DELETE FROM `My_table`
|
||||
WHERE `field2` = 'N';
|
||||
|
||||
|
||||
CREATE TABLE tbl_1(id INT);
|
||||
INSERT INTO tbl_1(id) VALUES(1);
|
||||
INSERT INTO tbl_1(id) VALUES(2);
|
||||
COMMIT;
|
||||
UPDATE tbl_1 SET id=200 WHERE id=1;
|
||||
SAVEPOINT id_1upd;
|
||||
UPDATE tbl_1 SET id=1000 WHERE id=2;
|
||||
ROLLBACK TO id_1upd;
|
||||
SELECT id FROM tbl_1;
|
||||
|
||||
START TRANSACTION;
|
||||
UPDATE Account SET amount=amount-200 WHERE account_number=1234;
|
||||
UPDATE Account SET amount=amount+200 WHERE account_number=2345;
|
||||
|
||||
IF ERRORS=0 COMMIT;
|
||||
IF ERRORS<>0 ROLLBACK;
|
||||
</pre>
|
111
EnlighterJS/Resources/TestcaseData/squirrel.html
Normal file
|
@ -0,0 +1,111 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="squirrel">static num = 0;</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<pre data-enlighter-language="squirrel">
|
||||
// Squirrel support single-line comments
|
||||
# that use the pound/octothorpe and double-slashes
|
||||
/*
|
||||
As well as
|
||||
multi-line
|
||||
comments
|
||||
*/
|
||||
|
||||
// Sample code below from http://www.squirrel-lang.org/doc/squirrel3.html
|
||||
|
||||
local a = 123; //decimal
|
||||
local b = 0x0012; //hexadecimal
|
||||
local c = 075; //octal
|
||||
local d = 'w'; //char code
|
||||
|
||||
// Floats
|
||||
local a=1.0;
|
||||
local b=0.234;
|
||||
local c=1.521E-21
|
||||
local d=9891.214e32
|
||||
|
||||
// Array
|
||||
local a=["I","am","an","array"];
|
||||
|
||||
function testy(arg)
|
||||
{
|
||||
local a=10;
|
||||
print(a);
|
||||
return arg;
|
||||
}
|
||||
|
||||
while(1)
|
||||
{
|
||||
if(a<0) break;
|
||||
a-=1;
|
||||
}
|
||||
|
||||
local a=0;
|
||||
do
|
||||
{
|
||||
print(a+"\n");
|
||||
a+=1;
|
||||
} while(a>100)
|
||||
|
||||
local a=[10,23,33,41,589,56]
|
||||
foreach(val in a)
|
||||
print("value="+val+"\n");
|
||||
|
||||
// SOURCE: http://www.squirrel-lang.org/
|
||||
local table = {
|
||||
a = "10"
|
||||
subtable = {
|
||||
array = [1,2,3]
|
||||
},
|
||||
[10 + 123] = "expression index"
|
||||
}
|
||||
|
||||
local array=[ 1, 2, 3, { a = 10, b = "string" } ];
|
||||
|
||||
foreach (i,val in array)
|
||||
{
|
||||
::print("the type of val is"+typeof val);
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////
|
||||
|
||||
class Entity
|
||||
{
|
||||
constructor(etype,entityname)
|
||||
{
|
||||
name = entityname;
|
||||
type = etype;
|
||||
}
|
||||
|
||||
x = 0;
|
||||
y = 0;
|
||||
z = 0;
|
||||
name = null;
|
||||
type = null;
|
||||
}
|
||||
|
||||
function Entity::MoveTo(newx,newy,newz)
|
||||
{
|
||||
x = newx;
|
||||
y = newy;
|
||||
z = newz;
|
||||
}
|
||||
|
||||
class Player extends Entity {
|
||||
constructor(entityname)
|
||||
{
|
||||
base.constructor("Player",entityname)
|
||||
}
|
||||
function DoDomething()
|
||||
{
|
||||
::print("something");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
local newplayer = Player("da playar");
|
||||
|
||||
newplayer.MoveTo(100,200,300);
|
||||
print(newplayer.x + 1);
|
||||
|
||||
</pre>
|
181
EnlighterJS/Resources/TestcaseData/unit.html
Normal file
|
@ -0,0 +1,181 @@
|
|||
<h4>Single Text Character Ending (; should be visible!)</h4>
|
||||
<pre data-enlighter-language="java" data-enlighter-lineoffset="4">int i=32; String k = "Hello World";</pre>
|
||||
|
||||
<h4>Line indentation of first line shouldn't removed</h4>
|
||||
<pre data-enlighter-language="javascript">
|
||||
alert('hello world');
|
||||
new FX.scroll(args);
|
||||
}
|
||||
|
||||
// other stuff
|
||||
</pre>
|
||||
|
||||
<h4>Line-Offset 4</h4>
|
||||
<pre data-enlighter-language="javascript" data-enlighter-lineoffset="4">alert('hello world');</pre>
|
||||
|
||||
<h4>Line-Offset 4; Force Linenumbers OFF</h4>
|
||||
<pre data-enlighter-language="javascript" data-enlighter-lineoffset="4" data-enlighter-linenumbers="false">alert('hello world');</pre>
|
||||
|
||||
<h4>Unknown Language - should be highlighted as standard</h4>
|
||||
<pre data-enlighter-language="UNKNOWN" >var x = "hello world";</pre>
|
||||
|
||||
<h4>RAW Code - should be rendered unhighlighted</h4>
|
||||
<pre data-enlighter-language="raw" >var x = "hello world";
|
||||
// don't highlight me!!!</pre>
|
||||
|
||||
<h4>UPPERCASE language name- should be rendered as javascript</h4>
|
||||
<pre data-enlighter-language="JS" >var x ={
|
||||
a: "hello world",
|
||||
b: 3
|
||||
};</pre>
|
||||
|
||||
<h4>Empty language attribute - should be rendered as standard</h4>
|
||||
<pre data-enlighter-language="" >var x ={
|
||||
a: "hello world",
|
||||
b: 3
|
||||
};</pre>
|
||||
|
||||
<h4>UPPERCASE theme name - should be rendered as git theme</h4>
|
||||
<pre data-enlighter-language="js" data-enlighter-theme="GIT">
|
||||
if (this.options.editable) {
|
||||
lighter.set('contenteditable', 'true');
|
||||
}
|
||||
</pre>
|
||||
|
||||
<h4>Overlapping Regex Matches</h4>
|
||||
<pre data-enlighter-language="php">
|
||||
echo 'You can also have embedded newlines in
|
||||
strings this way as it is
|
||||
okay to do';
|
||||
|
||||
// Outputs: Arnold once said: "I'll be back"
|
||||
echo 'Arnold once said: "I\'ll be back"';
|
||||
|
||||
// Outputs: You deleted C:\*.*?
|
||||
echo 'You deleted C:\\*.*?';
|
||||
|
||||
/** String's */
|
||||
echo 'this is a simple string';
|
||||
</pre>
|
||||
|
||||
<h4>Language Alias "mD" - should rendered as markdown</h4>
|
||||
<pre data-enlighter-language="mD">
|
||||
### Version 1.5.2 ###
|
||||
* Added Plugin section to readme file
|
||||
|
||||
### Version 1.5.1 ###
|
||||
* fixed YAML header within NSIS language support
|
||||
|
||||
### Version 1.5 ###
|
||||
* Added language support for NSIS (Nullsoft Scriptable Install System) provided by Jan T. Sott
|
||||
|
||||
### Version 1.4 ###
|
||||
* Added Quickstart Example
|
||||
* Renamed *Tests/* to *Examples/*
|
||||
|
||||
### Version 1.3 ###
|
||||
* Added odd/even classes to Compiler.List
|
||||
* Added Version+Build informations to css+js builds
|
||||
</pre>
|
||||
|
||||
<h4>No Code. Should render empty.</h4>
|
||||
<pre data-enlighter-language="js" ></pre>
|
||||
|
||||
<h4>Should rendered as full HTML comment - NOT &lt;!--</h4>
|
||||
<pre data-enlighter-language="html" data-enlighter-theme="git">
|
||||
<!-- <meta name="MetaTest" version="1.9.2" /> -->
|
||||
</pre>
|
||||
|
||||
<h4>Should also rendered as full HTML comment</h4>
|
||||
<pre data-enlighter-language="html" data-enlighter-theme="git">
|
||||
<!-- <meta name="MetaTest" version="1.9.2" /> -->
|
||||
</pre>
|
||||
|
||||
<h4>Double escaped HTML metacharacters &amp;lt; should rendered as <</h4>
|
||||
<pre data-enlighter-language="xml">
|
||||
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
|
||||
&lt;building name="GlobalDynamics Main Building" id="0xFA8A91C6617DFA1B"&gt;
|
||||
&lt;group level="2"&gt;
|
||||
</pre>
|
||||
|
||||
<h4>MooTools Theme</h4>
|
||||
<pre data-enlighter-language="js" data-enlighter-theme="mooTOOLS">
|
||||
if (this.options.editable) {
|
||||
lighter.set('contenteditable', 'true');
|
||||
}
|
||||
</pre>
|
||||
|
||||
<h4>Should be display in the style: comment,newline,code,newline,newline, comment</h4>
|
||||
<pre data-enlighter-language="js" data-enlighter-theme="git">
|
||||
// should the element set to be editable ?
|
||||
if (this.options.editable) {
|
||||
|
||||
// test
|
||||
</pre>
|
||||
|
||||
<h4>No class - should render with default language/theme</h4>
|
||||
<pre>
|
||||
var myMootools = new Class({});
|
||||
</pre>
|
||||
|
||||
<h4>Should be unlighted - enlight(false) is called on the element</h4>
|
||||
<pre id="unlightMe" data-enlighter-language="js" data-enlighter-theme="git">
|
||||
compile: function(language, theme, tokens)
|
||||
{
|
||||
var lighter = this._compile(language, theme, tokens);
|
||||
|
||||
// Set class and id attributes.
|
||||
lighter.set('class', theme + 'Lighter');
|
||||
lighter.set('id', 'Lighter_' + Date.now());
|
||||
|
||||
if (this.options.editable) {
|
||||
lighter.set('contenteditable', 'true');
|
||||
}
|
||||
|
||||
return lighter;
|
||||
},
|
||||
</pre>
|
||||
|
||||
<h4>Should be lighted - enlight(false).enlight(true) is called on the element</h4>
|
||||
<pre id="relightMe" data-enlighter-language="js" data-enlighter-theme="git">
|
||||
compile: function(language, theme, tokens)
|
||||
{
|
||||
var lighter = this._compile(language, theme, tokens);
|
||||
return lighter;
|
||||
},
|
||||
</pre>
|
||||
|
||||
<h4>Should be grouped together - git theme</h4>
|
||||
<pre data-enlighter-language="js" data-enlighter-theme="git" data-enlighter-group="helloworld" data-enlighter-title="Javascript">
|
||||
console.info("Hello World - I'am Javascript");
|
||||
</pre>
|
||||
<pre data-enlighter-language="java" data-enlighter-theme="twilight" data-enlighter-group="helloworld" data-enlighter-title="pure Java">
|
||||
System.out.println("Hello World - I'am Java");
|
||||
</pre>
|
||||
<pre data-enlighter-language="php" data-enlighter-theme="panic" data-enlighter-group="helloworld" data-enlighter-title="PHP Script">
|
||||
echo 'Hello World - I\'am PHP';
|
||||
</pre>
|
||||
|
||||
<h4>twilight theme - grouped (single element)</h4>
|
||||
<pre data-enlighter-language="js" data-enlighter-theme="twilight" data-enlighter-group="single1" data-enlighter-title="Javascript">
|
||||
if (this.options.editable) {
|
||||
lighter.set('contenteditable', 'true');
|
||||
}
|
||||
</pre>
|
||||
|
||||
<h4>mocha theme - grouped (single element, auto name)</h4>
|
||||
<pre data-enlighter-language="js" data-enlighter-theme="mocha" data-enlighter-group="single2">
|
||||
if (this.options.editable) {
|
||||
lighter.set('contenteditable', 'true');
|
||||
}
|
||||
</pre>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEvent('load', function() {
|
||||
// unlight element
|
||||
document.id('unlightMe').enlight(false);
|
||||
|
||||
// relight element
|
||||
document.id('relightMe').enlight(false).enlight(true);
|
||||
});
|
||||
</script>
|
66
EnlighterJS/Resources/TestcaseData/vhdl.html
Normal file
|
@ -0,0 +1,66 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="vhdl">use IEEE.numeric_std.all; -- for the unsigned type</code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<h3>Shell Script</h3>
|
||||
<pre data-enlighter-language="vhdl">
|
||||
-- Source: http://en.wikipedia.org/wiki/VHDL
|
||||
|
||||
library IEEE;
|
||||
use IEEE.std_logic_1164.all;
|
||||
use IEEE.numeric_std.all; -- for the unsigned type
|
||||
|
||||
entity COUNTER is
|
||||
generic (
|
||||
WIDTH : in natural := 32);
|
||||
port (
|
||||
RST : in std_logic;
|
||||
CLK : in std_logic;
|
||||
LOAD : in std_logic;
|
||||
DATA : in std_logic_vector(WIDTH-1 downto 0);
|
||||
Q : out std_logic_vector(WIDTH-1 downto 0));
|
||||
end entity COUNTER;
|
||||
|
||||
architecture RTL of COUNTER is
|
||||
signal CNT : unsigned(WIDTH-1 downto 0);
|
||||
begin
|
||||
process(RST, CLK) is
|
||||
begin
|
||||
if RST = '1' then
|
||||
CNT <= (others => '0');
|
||||
elsif rising_edge(CLK) then
|
||||
if LOAD = '1' then
|
||||
CNT <= unsigned(DATA); -- type is converted to unsigned
|
||||
else
|
||||
CNT <= CNT + 1;
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
Q <= std_logic_vector(CNT); -- type is converted back to std_logic_vector
|
||||
end architecture RTL;
|
||||
|
||||
process
|
||||
begin
|
||||
wait until START = '1'; -- wait until START is high
|
||||
|
||||
for i in 1 to 10 loop -- then wait for a few clock periods...
|
||||
wait until rising_edge(CLK);
|
||||
end loop;
|
||||
|
||||
for i in 1 to 10 loop -- write numbers 1 to 10 to DATA, 1 every cycle
|
||||
DATA <= to_unsigned(i, 8);
|
||||
wait until rising_edge(CLK);
|
||||
end loop;
|
||||
|
||||
-- wait until the output changes
|
||||
wait on RESULT;
|
||||
|
||||
-- now raise ACK for clock period
|
||||
ACK <= '1';
|
||||
wait until rising_edge(CLK);
|
||||
ACK <= '0';
|
||||
|
||||
-- and so on...
|
||||
end process;
|
||||
</pre>
|
32
EnlighterJS/Resources/TestcaseData/xml.html
Normal file
|
@ -0,0 +1,32 @@
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
<code data-enlighter-language="xml"><room number="123">Conference Room A</room></code> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
|
||||
<!-- Source: http://de.wikipedia.org/wiki/Extensible_Markup_Language -->
|
||||
<pre data-enlighter-language="xml">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<building name="GlobalDynamics Main Building"
|
||||
core:id="0xFA8A91C6617DFA1B" core:uid="0898213-123123123-1230898123" xmlns:core="http://www.xmlnamespace.tld">
|
||||
<core:group core:level="2">
|
||||
<room number="123">Conference Room A</room>
|
||||
<room number="124">Conference Room B</room>
|
||||
<room number="125">Conference Room C</room>
|
||||
<room number="126">Conference Room D</room>
|
||||
</core:group>
|
||||
<core:group core:level="2">
|
||||
<room number="17">John's Office</room>
|
||||
<room number="19">Eric's Office</room>
|
||||
</core:group>
|
||||
<core:group core:level="1">
|
||||
<room number="091">Mainframe Housing A</room>
|
||||
<room number="092">Mainframe Housing B</room>
|
||||
<room number="090">Mainframe Power Supply Station</room>
|
||||
<room number="089">Mainframe Backup Power Supply Station</room>
|
||||
</core:group>
|
||||
<core:group core:level="8">
|
||||
<room number="1717" role="cto">CTO Office</room>
|
||||
<room number="1819" role="ceo">CEO Office</room>
|
||||
<room number="1820" role="cfo">CFO Office</room>
|
||||
</core:group>
|
||||
</building>
|
||||
</pre>
|
99
EnlighterJS/Resources/Web.phtml
Normal file
|
@ -0,0 +1,99 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!--
|
||||
EnlighterJS Syntax Highlighter
|
||||
Author: Andi Dittrich <http://andidittrich.de>
|
||||
Version: <?php echo EJS_VERSION; ?>
|
||||
License: MIT X11 License
|
||||
-->
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title><?php echo $title; ?></title>
|
||||
<link rel="icon" href="favicon.png" type="image/png">
|
||||
<link rel="stylesheet" href="/EnlighterWeb.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/EnlighterJS.min.css?<?php echo EJS_VERSION; ?>" />
|
||||
<link href='//fonts.googleapis.com/css?family=Cutive+Mono|Roboto+Mono:400,700,400italic,500,500italic,700italic|Ubuntu+Mono:400,700,400italic,700italic|Droid+Sans+Mono|Source+Code+Pro:400,600|Inconsolata:400,700' rel='stylesheet' type='text/css'>
|
||||
|
||||
<script type="text/javascript" src="http://api.andidittrich.com/social.js"></script>
|
||||
<script type="text/javascript" src="/MooTools.min.js?<?php echo EJS_VERSION; ?>"></script>
|
||||
<script type="text/javascript" src="/EnlighterJS.min.js?<?php echo EJS_VERSION; ?>"></script>
|
||||
<script type="text/javascript" src="/EnlighterWeb.min.js?<?php echo EJS_VERSION; ?>"></script>
|
||||
|
||||
<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-theme="enlighter" data-language="generic" data-indent="2" data-selector-block="pre" data-selector-inline="code[data-enlighter-language]" data-rawcodebutton="true" data-windowbutton="true" data-infobutton="true" />
|
||||
</head>
|
||||
<body id="EnlighterJS_Web">
|
||||
|
||||
<nav class="topnav" id="top">
|
||||
<div class="container">
|
||||
<ul class="nav">
|
||||
<li><a href="//enlighterjs.org"><span class="glyphicon glyphicon-home"></span>Getting Started</a></li>
|
||||
<li><a href="/Documentation.html"><span class="glyphicon glyphicon-file"></span>Documentation</a></li>
|
||||
<li><a href="/Language.Javascript.html"><span class="glyphicon glyphicon-flash"></span>Languages</a></li>
|
||||
<li><a href="/Theme.Enlighter.html"><span class="glyphicon glyphicon-pencil"></span>Themes</a></li>
|
||||
<li><a href="/Plugins.html"><span class="glyphicon glyphicon-plus"></span>Plugins</a></li>
|
||||
<li class="pull-right"><a href="https://github.com/AndiDittrich/EnlighterJS/releases/latest"><span class=" glyphicon glyphicon-download-alt"></span>Get It</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<header>
|
||||
<div class="container">
|
||||
<h1><?php echo $title; ?></h1>
|
||||
<p class="lead"><?php echo $subtitle; ?></p>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div id="ReleaseNotifier">
|
||||
<div class="container">
|
||||
<p>EnlighterJS v<?php echo EJS_VERSION; ?> is out including new Languages & Themes. <a href="/Changelog.html">View the Changelog</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include($PAGE); ?>
|
||||
|
||||
<footer>
|
||||
<div class="container">
|
||||
|
||||
<p class="text-muted">
|
||||
<strong class="lead">EnlighterJS</strong> is developed by <a href="http://andidittrich.de">Andi Dittrich</a>
|
||||
</p>
|
||||
|
||||
<p id="ghb"></p>
|
||||
|
||||
<p class="text-muted">
|
||||
It's released under the Terms of <a href="/LICENSE.txt">The MIT License (X11)</a><br />
|
||||
Page created with <span class="glyphicon glyphicon-hand-right"></span> <a href="http://getbootstrap.com">Bootstrap</a> and driven by the power of <span class="glyphicon glyphicon-wrench"></span> <a href="http://mootools.net">MooTools</a>
|
||||
| <span class=" glyphicon glyphicon-heart"></span> <a href="http://glyphicons.com/">Glyhpicons</a>
|
||||
| <span class="glyphicon glyphicon-paperclip"></span> <a href="http://lesscss.org/">LESS</a >
|
||||
| <span class="glyphicon glyphicon-th-large"></span> <a href="http://github-buttons.andidittrich.de/">Unofficial GitHub Buttons</a>
|
||||
</p>
|
||||
|
||||
<p class="text-muted footer-links"><span>Current Tag v<?php echo EJS_VERSION; ?></span>
|
||||
| <a href="<?php echo EJS_PACKAGE_ZIP; ?>">Download</a>
|
||||
| <a href="https://github.com/AndiDittrich/EnlighterJS/releases">Releases</a>
|
||||
| <a href="/Builder.html">Custom Packages</a>
|
||||
| <a href="/Changelog.html">Changelog</a>
|
||||
| <a href="https://github.com/AndiDittrich/EnlighterJS/issues">Issues</a>
|
||||
| <a href="https://github.com/AndiDittrich/EnlighterJS/issues">Feature Request</a>
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<div id="beyond_corporate_credits">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xs-6"><a href="http://andidittrich.de/"><span class="slogan">Beyond Technology</span><br /><small>beyond the visible world</small></a></div>
|
||||
<div class="col-xs-6 text-right small"><a href="http://andidittrich.de/privacy_protection">Privacy Protection</a> | <a href="http://andidittrich.de/contact">Contact</a> | <a href="http://andidittrich.de/imprint">Imprint</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
21
EnlighterJS/Resources/bootstrap/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2011-2015 Twitter, Inc
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
58
EnlighterJS/Resources/bootstrap/bootstrap.less
vendored
Normal file
|
@ -0,0 +1,58 @@
|
|||
/*!
|
||||
* Bootstrap v3.3.4 (http://getbootstrap.com)
|
||||
* Copyright 2011-2015 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
// Core variables
|
||||
@import "variables.less";
|
||||
|
||||
@import "../../node_modules/bootstrap/less/mixins.less";
|
||||
|
||||
|
||||
// Reset and dependencies
|
||||
@import "../../node_modules/bootstrap/less/normalize.less";
|
||||
@import "../../node_modules/bootstrap/less/print.less";
|
||||
@import "../../node_modules/bootstrap/less/glyphicons.less";
|
||||
|
||||
// Core CSS
|
||||
@import "../../node_modules/bootstrap/less/scaffolding.less";
|
||||
@import "../../node_modules/bootstrap/less/type.less";
|
||||
@import "../../node_modules/bootstrap/less/code.less";
|
||||
@import "../../node_modules/bootstrap/less/grid.less";
|
||||
//@import "../../node_modules/bootstrap/less/tables.less";
|
||||
@import "../../node_modules/bootstrap/less/forms.less";
|
||||
@import "../../node_modules/bootstrap/less/buttons.less";
|
||||
|
||||
// Components
|
||||
//@import "../../node_modules/bootstrap/less/component-animations.less";
|
||||
//@import "../../node_modules/bootstrap/less/dropdowns.less";
|
||||
//@import "../../node_modules/bootstrap/less/button-groups.less";
|
||||
@import "../../node_modules/bootstrap/less/input-groups.less";
|
||||
@import "../../node_modules/bootstrap/less/navs.less";
|
||||
@import "../../node_modules/bootstrap/less/navbar.less";
|
||||
//@import "../../node_modules/bootstrap/less/breadcrumbs.less";
|
||||
//@import "../../node_modules/bootstrap/less/pagination.less";
|
||||
//@import "../../node_modules/bootstrap/less/pager.less";
|
||||
@import "../../node_modules/bootstrap/less/labels.less";
|
||||
@import "../../node_modules/bootstrap/less/badges.less";
|
||||
//@import "../../node_modules/bootstrap/less/jumbotron.less";
|
||||
//@import "../../node_modules/bootstrap/less/thumbnails.less";
|
||||
@import "../../node_modules/bootstrap/less/alerts.less";
|
||||
//@import "../../node_modules/bootstrap/less/progress-bars.less";
|
||||
//@import "../../node_modules/bootstrap/less/media.less";
|
||||
//@import "../../node_modules/bootstrap/less/list-group.less";
|
||||
@import "../../node_modules/bootstrap/less/panels.less";
|
||||
//@import "../../node_modules/bootstrap/less/responsive-embed.less";
|
||||
@import "../../node_modules/bootstrap/less/wells.less";
|
||||
//@import "../../node_modules/bootstrap/less/close.less";
|
||||
|
||||
// Components w/ JavaScript
|
||||
//@import "../../node_modules/bootstrap/less/modals.less";
|
||||
//@import "../../node_modules/bootstrap/less/tooltip.less";
|
||||
//@import "../../node_modules/bootstrap/less/popovers.less";
|
||||
//@import "../../node_modules/bootstrap/less/carousel.less";
|
||||
|
||||
// Utility classes
|
||||
@import "../../node_modules/bootstrap/less/utilities.less";
|
||||
@import "../../node_modules/bootstrap/less/responsive-utilities.less";
|
||||
|
5
EnlighterJS/Resources/bootstrap/bootstrap.min.css
vendored
Normal file
|
@ -0,0 +1,288 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata></metadata>
|
||||
<defs>
|
||||
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
|
||||
<font-face units-per-em="1200" ascent="960" descent="-240" />
|
||||
<missing-glyph horiz-adv-x="500" />
|
||||
<glyph horiz-adv-x="0" />
|
||||
<glyph horiz-adv-x="400" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
|
||||
<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode="¥" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
|
||||
<glyph unicode=" " horiz-adv-x="650" />
|
||||
<glyph unicode=" " horiz-adv-x="1300" />
|
||||
<glyph unicode=" " horiz-adv-x="650" />
|
||||
<glyph unicode=" " horiz-adv-x="1300" />
|
||||
<glyph unicode=" " horiz-adv-x="433" />
|
||||
<glyph unicode=" " horiz-adv-x="325" />
|
||||
<glyph unicode=" " horiz-adv-x="216" />
|
||||
<glyph unicode=" " horiz-adv-x="216" />
|
||||
<glyph unicode=" " horiz-adv-x="162" />
|
||||
<glyph unicode=" " horiz-adv-x="260" />
|
||||
<glyph unicode=" " horiz-adv-x="72" />
|
||||
<glyph unicode=" " horiz-adv-x="260" />
|
||||
<glyph unicode=" " horiz-adv-x="325" />
|
||||
<glyph unicode="€" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
|
||||
<glyph unicode="₽" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
|
||||
<glyph unicode="−" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="⌛" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
|
||||
<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />
|
||||
<glyph unicode="☁" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
|
||||
<glyph unicode="⛺" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
|
||||
<glyph unicode="✉" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
|
||||
<glyph unicode="✏" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
|
||||
<glyph unicode="" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
|
||||
<glyph unicode="" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
|
||||
<glyph unicode="" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
|
||||
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
|
||||
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
|
||||
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
|
||||
<glyph unicode="" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
|
||||
<glyph unicode="" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
|
||||
<glyph unicode="" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
|
||||
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
|
||||
<glyph unicode="" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
|
||||
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
|
||||
<glyph unicode="" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
|
||||
<glyph unicode="" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
|
||||
<glyph unicode="" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
|
||||
<glyph unicode="" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
|
||||
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
|
||||
<glyph unicode="" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
|
||||
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
|
||||
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
|
||||
<glyph unicode="" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
|
||||
<glyph unicode="" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
|
||||
<glyph unicode="" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
|
||||
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
|
||||
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
|
||||
<glyph unicode="" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
|
||||
<glyph unicode="" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
|
||||
<glyph unicode="" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
|
||||
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
|
||||
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
|
||||
<glyph unicode="" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
|
||||
<glyph unicode="" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
|
||||
<glyph unicode="" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
|
||||
<glyph unicode="" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
|
||||
<glyph unicode="" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
|
||||
<glyph unicode="" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
|
||||
<glyph unicode="" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
|
||||
<glyph unicode="" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
|
||||
<glyph unicode="" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
|
||||
<glyph unicode="" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
|
||||
<glyph unicode="" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
|
||||
<glyph unicode="" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
|
||||
<glyph unicode="" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
|
||||
<glyph unicode="" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
|
||||
<glyph unicode="" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
|
||||
<glyph unicode="" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
|
||||
<glyph unicode="" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
|
||||
<glyph unicode="" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
|
||||
<glyph unicode="" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
|
||||
<glyph unicode="" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
|
||||
<glyph unicode="" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
|
||||
<glyph unicode="" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
|
||||
<glyph unicode="" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
|
||||
<glyph unicode="" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
|
||||
<glyph unicode="" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
|
||||
<glyph unicode="" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
|
||||
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
|
||||
<glyph unicode="" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
|
||||
<glyph unicode="" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
|
||||
<glyph unicode="" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
|
||||
<glyph unicode="" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
|
||||
<glyph unicode="" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
|
||||
<glyph unicode="" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
|
||||
<glyph unicode="" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
|
||||
<glyph unicode="" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
|
||||
<glyph unicode="" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
|
||||
<glyph unicode="" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
|
||||
<glyph unicode="" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
|
||||
<glyph unicode="" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
|
||||
<glyph unicode="" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
|
||||
<glyph unicode="" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
|
||||
<glyph unicode="" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
|
||||
<glyph unicode="" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
||||
<glyph unicode="" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
|
||||
<glyph unicode="" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
|
||||
<glyph unicode="" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
|
||||
<glyph unicode="" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
||||
<glyph unicode="" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
|
||||
<glyph unicode="" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
|
||||
<glyph unicode="" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
|
||||
<glyph unicode="" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
|
||||
<glyph unicode="" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
|
||||
<glyph unicode="" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
|
||||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
|
||||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
|
||||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
|
||||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
|
||||
<glyph unicode="" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
|
||||
<glyph unicode="" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
|
||||
<glyph unicode="" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
|
||||
<glyph unicode="" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
|
||||
<glyph unicode="" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
|
||||
<glyph unicode="" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
|
||||
<glyph unicode="" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
|
||||
<glyph unicode="" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
|
||||
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
|
||||
<glyph unicode="" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
|
||||
<glyph unicode="" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
|
||||
<glyph unicode="" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
|
||||
<glyph unicode="" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
|
||||
<glyph unicode="" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
|
||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
||||
<glyph unicode="" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
|
||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
|
||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
|
||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
|
||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
|
||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
|
||||
<glyph unicode="" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
|
||||
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
|
||||
<glyph unicode="" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
|
||||
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
|
||||
<glyph unicode="" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
|
||||
<glyph unicode="" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
|
||||
<glyph unicode="" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
|
||||
<glyph unicode="" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
|
||||
<glyph unicode="" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
|
||||
<glyph unicode="" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
|
||||
<glyph unicode="" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
|
||||
<glyph unicode="" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
|
||||
<glyph unicode="" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
|
||||
<glyph unicode="" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
|
||||
<glyph unicode="" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
|
||||
<glyph unicode="" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
|
||||
<glyph unicode="" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
|
||||
<glyph unicode="" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
|
||||
<glyph unicode="" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
|
||||
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
|
||||
<glyph unicode="" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
|
||||
<glyph unicode="" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
|
||||
<glyph unicode="" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
|
||||
<glyph unicode="" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
|
||||
<glyph unicode="" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
|
||||
<glyph unicode="" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
|
||||
<glyph unicode="" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
|
||||
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
|
||||
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
|
||||
<glyph unicode="" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
|
||||
<glyph unicode="" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
|
||||
<glyph unicode="" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
|
||||
<glyph unicode="" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
|
||||
<glyph unicode="" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
|
||||
<glyph unicode="" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
|
||||
<glyph unicode="" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
|
||||
<glyph unicode="" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
|
||||
<glyph unicode="" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
|
||||
<glyph unicode="" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
|
||||
<glyph unicode="" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
|
||||
<glyph unicode="" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
|
||||
<glyph unicode="" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
|
||||
<glyph unicode="" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
|
||||
<glyph unicode="" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
|
||||
<glyph unicode="" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
|
||||
<glyph unicode="" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
|
||||
<glyph unicode="" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
|
||||
<glyph unicode="" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
|
||||
<glyph unicode="" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
|
||||
<glyph unicode="" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
|
||||
<glyph unicode="" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
|
||||
<glyph unicode="" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
|
||||
<glyph unicode="" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
|
||||
<glyph unicode="" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
|
||||
<glyph unicode="" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
|
||||
<glyph unicode="" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
|
||||
<glyph unicode="" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
|
||||
<glyph unicode="" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
|
||||
<glyph unicode="" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
|
||||
<glyph unicode="" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
|
||||
<glyph unicode="" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
|
||||
<glyph unicode="" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
|
||||
<glyph unicode="" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
|
||||
<glyph unicode="" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
|
||||
<glyph unicode="" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
|
||||
<glyph unicode="" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
|
||||
<glyph unicode="" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
|
||||
<glyph unicode="" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
|
||||
<glyph unicode="" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
|
||||
<glyph unicode="" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
|
||||
<glyph unicode="" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
|
||||
<glyph unicode="" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
|
||||
<glyph unicode="" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
|
||||
<glyph unicode="" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
|
||||
<glyph unicode="" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
|
||||
<glyph unicode="🔑" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
|
||||
<glyph unicode="🚪" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
|
||||
</font>
|
||||
</defs></svg>
|
After Width: | Height: | Size: 106 KiB |
861
EnlighterJS/Resources/bootstrap/variables.less
Normal file
|
@ -0,0 +1,861 @@
|
|||
//
|
||||
// Variables
|
||||
// --------------------------------------------------
|
||||
|
||||
|
||||
//== Colors
|
||||
//
|
||||
//## Gray and brand colors for use across Bootstrap.
|
||||
|
||||
@gray-base: #000;
|
||||
@gray-darker: lighten(@gray-base, 13.5%); // #222
|
||||
@gray-dark: lighten(@gray-base, 20%); // #333
|
||||
@gray: lighten(@gray-base, 33.5%); // #555
|
||||
@gray-light: lighten(@gray-base, 46.7%); // #777
|
||||
@gray-lighter: lighten(@gray-base, 93.5%); // #eee
|
||||
|
||||
@brand-primary: #1a2432; //lighten(#1f3b5d, 30%);
|
||||
@brand-success: #5cb85c;
|
||||
@brand-info: #5bc0de;
|
||||
@brand-warning: #f0ad4e;
|
||||
@brand-danger: #d9534f;
|
||||
|
||||
|
||||
//== Scaffolding
|
||||
//
|
||||
//## Settings for some of the most global styles.
|
||||
|
||||
//** Background color for `<body>`.
|
||||
@body-bg: #fff;
|
||||
//** Global text color on `<body>`.
|
||||
@text-color: @gray-dark;
|
||||
|
||||
//** Global textual link color.
|
||||
@link-color: lighten(@brand-primary, 35%);
|
||||
//** Link hover color set via `darken()` function.
|
||||
@link-hover-color: darken(@link-color, 15%);
|
||||
//** Link hover decoration.
|
||||
@link-hover-decoration: underline;
|
||||
|
||||
|
||||
//== Typography
|
||||
//
|
||||
//## Font, line-height, and color for body text, headings, and more.
|
||||
|
||||
@font-family-sans-serif: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
@font-family-serif: Georgia, "Times New Roman", Times, serif;
|
||||
//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
|
||||
@font-family-monospace: "Source Code Pro", Consolas, "Courier New", monospace;
|
||||
@font-family-base: @font-family-sans-serif;
|
||||
|
||||
@font-size-base: 14px;
|
||||
@font-size-large: ceil((@font-size-base * 1.25)); // ~18px
|
||||
@font-size-small: ceil((@font-size-base * 0.85)); // ~12px
|
||||
|
||||
@font-size-h1: floor((@font-size-base * 2.6)); // ~36px
|
||||
@font-size-h2: floor((@font-size-base * 2.15)); // ~30px
|
||||
@font-size-h3: ceil((@font-size-base * 1.7)); // ~24px
|
||||
@font-size-h4: ceil((@font-size-base * 1.25)); // ~18px
|
||||
@font-size-h5: @font-size-base;
|
||||
@font-size-h6: ceil((@font-size-base * 0.85)); // ~12px
|
||||
|
||||
//** Unit-less `line-height` for use in components like buttons.
|
||||
@line-height-base: 1.428571429; // 20/14
|
||||
//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
|
||||
@line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px
|
||||
|
||||
//** By default, this inherits from the `<body>`.
|
||||
@headings-font-family: inherit;
|
||||
@headings-font-weight: 500;
|
||||
@headings-line-height: 1.1;
|
||||
@headings-color: inherit;
|
||||
|
||||
|
||||
//== Iconography
|
||||
//
|
||||
//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
|
||||
|
||||
//** Load fonts from this directory.
|
||||
@icon-font-path: "fonts/";
|
||||
//** File name for all font files.
|
||||
@icon-font-name: "glyphicons-halflings-regular";
|
||||
//** Element ID within SVG icon file.
|
||||
@icon-font-svg-id: "glyphicons_halflingsregular";
|
||||
|
||||
|
||||
//== Components
|
||||
//
|
||||
//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
|
||||
|
||||
@padding-base-vertical: 6px;
|
||||
@padding-base-horizontal: 12px;
|
||||
|
||||
@padding-large-vertical: 10px;
|
||||
@padding-large-horizontal: 16px;
|
||||
|
||||
@padding-small-vertical: 5px;
|
||||
@padding-small-horizontal: 10px;
|
||||
|
||||
@padding-xs-vertical: 1px;
|
||||
@padding-xs-horizontal: 5px;
|
||||
|
||||
@line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome
|
||||
@line-height-small: 1.5;
|
||||
|
||||
@border-radius-base: 4px;
|
||||
@border-radius-large: 6px;
|
||||
@border-radius-small: 3px;
|
||||
|
||||
//** Global color for active items (e.g., navs or dropdowns).
|
||||
@component-active-color: #fff;
|
||||
//** Global background color for active items (e.g., navs or dropdowns).
|
||||
@component-active-bg: @brand-primary;
|
||||
|
||||
//** Width of the `border` for generating carets that indicator dropdowns.
|
||||
@caret-width-base: 4px;
|
||||
//** Carets increase slightly in size for larger components.
|
||||
@caret-width-large: 5px;
|
||||
|
||||
|
||||
//== Tables
|
||||
//
|
||||
//## Customizes the `.table` component with basic values, each used across all table variations.
|
||||
|
||||
//** Padding for `<th>`s and `<td>`s.
|
||||
@table-cell-padding: 8px;
|
||||
//** Padding for cells in `.table-condensed`.
|
||||
@table-condensed-cell-padding: 5px;
|
||||
|
||||
//** Default background color used for all tables.
|
||||
@table-bg: transparent;
|
||||
//** Background color used for `.table-striped`.
|
||||
@table-bg-accent: #f9f9f9;
|
||||
//** Background color used for `.table-hover`.
|
||||
@table-bg-hover: #f5f5f5;
|
||||
@table-bg-active: @table-bg-hover;
|
||||
|
||||
//** Border color for table and cell borders.
|
||||
@table-border-color: #ddd;
|
||||
|
||||
|
||||
//== Buttons
|
||||
//
|
||||
//## For each of Bootstrap's buttons, define text, background and border color.
|
||||
|
||||
@btn-font-weight: normal;
|
||||
|
||||
@btn-default-color: #333;
|
||||
@btn-default-bg: #fff;
|
||||
@btn-default-border: #ccc;
|
||||
|
||||
@btn-primary-color: #fff;
|
||||
@btn-primary-bg: @brand-primary;
|
||||
@btn-primary-border: darken(@btn-primary-bg, 5%);
|
||||
|
||||
@btn-success-color: #fff;
|
||||
@btn-success-bg: @brand-success;
|
||||
@btn-success-border: darken(@btn-success-bg, 5%);
|
||||
|
||||
@btn-info-color: #fff;
|
||||
@btn-info-bg: @brand-info;
|
||||
@btn-info-border: darken(@btn-info-bg, 5%);
|
||||
|
||||
@btn-warning-color: #fff;
|
||||
@btn-warning-bg: @brand-warning;
|
||||
@btn-warning-border: darken(@btn-warning-bg, 5%);
|
||||
|
||||
@btn-danger-color: #fff;
|
||||
@btn-danger-bg: @brand-danger;
|
||||
@btn-danger-border: darken(@btn-danger-bg, 5%);
|
||||
|
||||
@btn-link-disabled-color: @gray-light;
|
||||
|
||||
|
||||
//== Forms
|
||||
//
|
||||
//##
|
||||
|
||||
//** `<input>` background color
|
||||
@input-bg: #fff;
|
||||
//** `<input disabled>` background color
|
||||
@input-bg-disabled: @gray-lighter;
|
||||
|
||||
//** Text color for `<input>`s
|
||||
@input-color: @gray;
|
||||
//** `<input>` border color
|
||||
@input-border: #ccc;
|
||||
|
||||
// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4
|
||||
//** Default `.form-control` border radius
|
||||
// This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS.
|
||||
@input-border-radius: @border-radius-base;
|
||||
//** Large `.form-control` border radius
|
||||
@input-border-radius-large: @border-radius-large;
|
||||
//** Small `.form-control` border radius
|
||||
@input-border-radius-small: @border-radius-small;
|
||||
|
||||
//** Border color for inputs on focus
|
||||
@input-border-focus: #66afe9;
|
||||
|
||||
//** Placeholder text color
|
||||
@input-color-placeholder: #999;
|
||||
|
||||
//** Default `.form-control` height
|
||||
@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
|
||||
//** Large `.form-control` height
|
||||
@input-height-large: (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
|
||||
//** Small `.form-control` height
|
||||
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
|
||||
|
||||
//** `.form-group` margin
|
||||
@form-group-margin-bottom: 15px;
|
||||
|
||||
@legend-color: @gray-dark;
|
||||
@legend-border-color: #e5e5e5;
|
||||
|
||||
//** Background color for textual input addons
|
||||
@input-group-addon-bg: @gray-lighter;
|
||||
//** Border color for textual input addons
|
||||
@input-group-addon-border-color: @input-border;
|
||||
|
||||
//** Disabled cursor for form controls and buttons.
|
||||
@cursor-disabled: not-allowed;
|
||||
|
||||
|
||||
//== Dropdowns
|
||||
//
|
||||
//## Dropdown menu container and contents.
|
||||
|
||||
//** Background for the dropdown menu.
|
||||
@dropdown-bg: #fff;
|
||||
//** Dropdown menu `border-color`.
|
||||
@dropdown-border: rgba(0,0,0,.15);
|
||||
//** Dropdown menu `border-color` **for IE8**.
|
||||
@dropdown-fallback-border: #ccc;
|
||||
//** Divider color for between dropdown items.
|
||||
@dropdown-divider-bg: #e5e5e5;
|
||||
|
||||
//** Dropdown link text color.
|
||||
@dropdown-link-color: @gray-dark;
|
||||
//** Hover color for dropdown links.
|
||||
@dropdown-link-hover-color: darken(@gray-dark, 5%);
|
||||
//** Hover background for dropdown links.
|
||||
@dropdown-link-hover-bg: #f5f5f5;
|
||||
|
||||
//** Active dropdown menu item text color.
|
||||
@dropdown-link-active-color: @component-active-color;
|
||||
//** Active dropdown menu item background color.
|
||||
@dropdown-link-active-bg: @component-active-bg;
|
||||
|
||||
//** Disabled dropdown menu item background color.
|
||||
@dropdown-link-disabled-color: @gray-light;
|
||||
|
||||
//** Text color for headers within dropdown menus.
|
||||
@dropdown-header-color: @gray-light;
|
||||
|
||||
//** Deprecated `@dropdown-caret-color` as of v3.1.0
|
||||
@dropdown-caret-color: #000;
|
||||
|
||||
|
||||
//-- Z-index master list
|
||||
//
|
||||
// Warning: Avoid customizing these values. They're used for a bird's eye view
|
||||
// of components dependent on the z-axis and are designed to all work together.
|
||||
//
|
||||
// Note: These variables are not generated into the Customizer.
|
||||
|
||||
@zindex-navbar: 1000;
|
||||
@zindex-dropdown: 1000;
|
||||
@zindex-popover: 1060;
|
||||
@zindex-tooltip: 1070;
|
||||
@zindex-navbar-fixed: 1030;
|
||||
@zindex-modal-background: 1040;
|
||||
@zindex-modal: 1050;
|
||||
|
||||
|
||||
//== Media queries breakpoints
|
||||
//
|
||||
//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
|
||||
|
||||
// Extra small screen / phone
|
||||
//** Deprecated `@screen-xs` as of v3.0.1
|
||||
@screen-xs: 480px;
|
||||
//** Deprecated `@screen-xs-min` as of v3.2.0
|
||||
@screen-xs-min: @screen-xs;
|
||||
//** Deprecated `@screen-phone` as of v3.0.1
|
||||
@screen-phone: @screen-xs-min;
|
||||
|
||||
// Small screen / tablet
|
||||
//** Deprecated `@screen-sm` as of v3.0.1
|
||||
@screen-sm: 768px;
|
||||
@screen-sm-min: @screen-sm;
|
||||
//** Deprecated `@screen-tablet` as of v3.0.1
|
||||
@screen-tablet: @screen-sm-min;
|
||||
|
||||
// Medium screen / desktop
|
||||
//** Deprecated `@screen-md` as of v3.0.1
|
||||
@screen-md: 992px;
|
||||
@screen-md-min: @screen-md;
|
||||
//** Deprecated `@screen-desktop` as of v3.0.1
|
||||
@screen-desktop: @screen-md-min;
|
||||
|
||||
// Large screen / wide desktop
|
||||
//** Deprecated `@screen-lg` as of v3.0.1
|
||||
@screen-lg: 1400px;
|
||||
@screen-lg-min: @screen-lg;
|
||||
//** Deprecated `@screen-lg-desktop` as of v3.0.1
|
||||
@screen-lg-desktop: @screen-lg-min;
|
||||
|
||||
// So media queries don't overlap when required, provide a maximum
|
||||
@screen-xs-max: (@screen-sm-min - 1);
|
||||
@screen-sm-max: (@screen-md-min - 1);
|
||||
@screen-md-max: (@screen-lg-min - 1);
|
||||
|
||||
|
||||
//== Grid system
|
||||
//
|
||||
//## Define your custom responsive grid.
|
||||
|
||||
//** Number of columns in the grid.
|
||||
@grid-columns: 12;
|
||||
//** Padding between columns. Gets divided in half for the left and right.
|
||||
@grid-gutter-width: 30px;
|
||||
// Navbar collapse
|
||||
//** Point at which the navbar becomes uncollapsed.
|
||||
@grid-float-breakpoint: @screen-sm-min;
|
||||
//** Point at which the navbar begins collapsing.
|
||||
@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
|
||||
|
||||
|
||||
//== Container sizes
|
||||
//
|
||||
//## Define the maximum width of `.container` for different screen sizes.
|
||||
|
||||
// Small screen / tablet
|
||||
@container-tablet: (720px + @grid-gutter-width);
|
||||
//** For `@screen-sm-min` and up.
|
||||
@container-sm: @container-tablet;
|
||||
|
||||
// Medium screen / desktop
|
||||
@container-desktop: (940px + @grid-gutter-width);
|
||||
//** For `@screen-md-min` and up.
|
||||
@container-md: @container-desktop;
|
||||
|
||||
// Large screen / wide desktop
|
||||
@container-large-desktop: (1340px + @grid-gutter-width);
|
||||
//** For `@screen-lg-min` and up.
|
||||
@container-lg: @container-large-desktop;
|
||||
|
||||
|
||||
//== Navbar
|
||||
//
|
||||
//##
|
||||
|
||||
// Basics of a navbar
|
||||
@navbar-height: 50px;
|
||||
@navbar-margin-bottom: @line-height-computed;
|
||||
@navbar-border-radius: @border-radius-base;
|
||||
@navbar-padding-horizontal: floor((@grid-gutter-width / 2));
|
||||
@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
|
||||
@navbar-collapse-max-height: 340px;
|
||||
|
||||
@navbar-default-color: #777;
|
||||
@navbar-default-bg: #f8f8f8;
|
||||
@navbar-default-border: darken(@navbar-default-bg, 6.5%);
|
||||
|
||||
// Navbar links
|
||||
@navbar-default-link-color: #777;
|
||||
@navbar-default-link-hover-color: #333;
|
||||
@navbar-default-link-hover-bg: transparent;
|
||||
@navbar-default-link-active-color: #555;
|
||||
@navbar-default-link-active-bg: darken(@navbar-default-bg, 6.5%);
|
||||
@navbar-default-link-disabled-color: #ccc;
|
||||
@navbar-default-link-disabled-bg: transparent;
|
||||
|
||||
// Navbar brand label
|
||||
@navbar-default-brand-color: @navbar-default-link-color;
|
||||
@navbar-default-brand-hover-color: darken(@navbar-default-brand-color, 10%);
|
||||
@navbar-default-brand-hover-bg: transparent;
|
||||
|
||||
// Navbar toggle
|
||||
@navbar-default-toggle-hover-bg: #ddd;
|
||||
@navbar-default-toggle-icon-bar-bg: #888;
|
||||
@navbar-default-toggle-border-color: #ddd;
|
||||
|
||||
|
||||
// Inverted navbar
|
||||
// Reset inverted navbar basics
|
||||
@navbar-inverse-color: lighten(@gray-light, 15%);
|
||||
@navbar-inverse-bg: #222;
|
||||
@navbar-inverse-border: darken(@navbar-inverse-bg, 10%);
|
||||
|
||||
// Inverted navbar links
|
||||
@navbar-inverse-link-color: lighten(@gray-light, 15%);
|
||||
@navbar-inverse-link-hover-color: #fff;
|
||||
@navbar-inverse-link-hover-bg: transparent;
|
||||
@navbar-inverse-link-active-color: @navbar-inverse-link-hover-color;
|
||||
@navbar-inverse-link-active-bg: darken(@navbar-inverse-bg, 10%);
|
||||
@navbar-inverse-link-disabled-color: #444;
|
||||
@navbar-inverse-link-disabled-bg: transparent;
|
||||
|
||||
// Inverted navbar brand label
|
||||
@navbar-inverse-brand-color: @navbar-inverse-link-color;
|
||||
@navbar-inverse-brand-hover-color: #fff;
|
||||
@navbar-inverse-brand-hover-bg: transparent;
|
||||
|
||||
// Inverted navbar toggle
|
||||
@navbar-inverse-toggle-hover-bg: #333;
|
||||
@navbar-inverse-toggle-icon-bar-bg: #fff;
|
||||
@navbar-inverse-toggle-border-color: #333;
|
||||
|
||||
|
||||
//== Navs
|
||||
//
|
||||
//##
|
||||
|
||||
//=== Shared nav styles
|
||||
@nav-link-padding: 10px 15px;
|
||||
@nav-link-hover-bg: @gray-lighter;
|
||||
|
||||
@nav-disabled-link-color: @gray-light;
|
||||
@nav-disabled-link-hover-color: @gray-light;
|
||||
|
||||
//== Tabs
|
||||
@nav-tabs-border-color: #ddd;
|
||||
|
||||
@nav-tabs-link-hover-border-color: @gray-lighter;
|
||||
|
||||
@nav-tabs-active-link-hover-bg: @body-bg;
|
||||
@nav-tabs-active-link-hover-color: @gray;
|
||||
@nav-tabs-active-link-hover-border-color: #ddd;
|
||||
|
||||
@nav-tabs-justified-link-border-color: #ddd;
|
||||
@nav-tabs-justified-active-link-border-color: @body-bg;
|
||||
|
||||
//== Pills
|
||||
@nav-pills-border-radius: @border-radius-base;
|
||||
@nav-pills-active-link-hover-bg: @component-active-bg;
|
||||
@nav-pills-active-link-hover-color: @component-active-color;
|
||||
|
||||
|
||||
//== Pagination
|
||||
//
|
||||
//##
|
||||
|
||||
@pagination-color: @link-color;
|
||||
@pagination-bg: #fff;
|
||||
@pagination-border: #ddd;
|
||||
|
||||
@pagination-hover-color: @link-hover-color;
|
||||
@pagination-hover-bg: @gray-lighter;
|
||||
@pagination-hover-border: #ddd;
|
||||
|
||||
@pagination-active-color: #fff;
|
||||
@pagination-active-bg: @brand-primary;
|
||||
@pagination-active-border: @brand-primary;
|
||||
|
||||
@pagination-disabled-color: @gray-light;
|
||||
@pagination-disabled-bg: #fff;
|
||||
@pagination-disabled-border: #ddd;
|
||||
|
||||
|
||||
//== Pager
|
||||
//
|
||||
//##
|
||||
|
||||
@pager-bg: @pagination-bg;
|
||||
@pager-border: @pagination-border;
|
||||
@pager-border-radius: 15px;
|
||||
|
||||
@pager-hover-bg: @pagination-hover-bg;
|
||||
|
||||
@pager-active-bg: @pagination-active-bg;
|
||||
@pager-active-color: @pagination-active-color;
|
||||
|
||||
@pager-disabled-color: @pagination-disabled-color;
|
||||
|
||||
|
||||
//== Jumbotron
|
||||
//
|
||||
//##
|
||||
|
||||
@jumbotron-padding: 30px;
|
||||
@jumbotron-color: inherit;
|
||||
@jumbotron-bg: @gray-lighter;
|
||||
@jumbotron-heading-color: inherit;
|
||||
@jumbotron-font-size: ceil((@font-size-base * 1.5));
|
||||
|
||||
|
||||
//== Form states and alerts
|
||||
//
|
||||
//## Define colors for form feedback states and, by default, alerts.
|
||||
|
||||
@state-success-text: #3c763d;
|
||||
@state-success-bg: #dff0d8;
|
||||
@state-success-border: darken(spin(@state-success-bg, -10), 5%);
|
||||
|
||||
@state-info-text: #31708f;
|
||||
@state-info-bg: #d9edf7;
|
||||
@state-info-border: darken(spin(@state-info-bg, -10), 7%);
|
||||
|
||||
@state-warning-text: #8a6d3b;
|
||||
@state-warning-bg: #fcf8e3;
|
||||
@state-warning-border: darken(spin(@state-warning-bg, -10), 5%);
|
||||
|
||||
@state-danger-text: #a94442;
|
||||
@state-danger-bg: #f2dede;
|
||||
@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);
|
||||
|
||||
|
||||
//== Tooltips
|
||||
//
|
||||
//##
|
||||
|
||||
//** Tooltip max width
|
||||
@tooltip-max-width: 200px;
|
||||
//** Tooltip text color
|
||||
@tooltip-color: #fff;
|
||||
//** Tooltip background color
|
||||
@tooltip-bg: #000;
|
||||
@tooltip-opacity: .9;
|
||||
|
||||
//** Tooltip arrow width
|
||||
@tooltip-arrow-width: 5px;
|
||||
//** Tooltip arrow color
|
||||
@tooltip-arrow-color: @tooltip-bg;
|
||||
|
||||
|
||||
//== Popovers
|
||||
//
|
||||
//##
|
||||
|
||||
//** Popover body background color
|
||||
@popover-bg: #fff;
|
||||
//** Popover maximum width
|
||||
@popover-max-width: 276px;
|
||||
//** Popover border color
|
||||
@popover-border-color: rgba(0,0,0,.2);
|
||||
//** Popover fallback border color
|
||||
@popover-fallback-border-color: #ccc;
|
||||
|
||||
//** Popover title background color
|
||||
@popover-title-bg: darken(@popover-bg, 3%);
|
||||
|
||||
//** Popover arrow width
|
||||
@popover-arrow-width: 10px;
|
||||
//** Popover arrow color
|
||||
@popover-arrow-color: @popover-bg;
|
||||
|
||||
//** Popover outer arrow width
|
||||
@popover-arrow-outer-width: (@popover-arrow-width + 1);
|
||||
//** Popover outer arrow color
|
||||
@popover-arrow-outer-color: fadein(@popover-border-color, 5%);
|
||||
//** Popover outer arrow fallback color
|
||||
@popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%);
|
||||
|
||||
|
||||
//== Labels
|
||||
//
|
||||
//##
|
||||
|
||||
//** Default label background color
|
||||
@label-default-bg: @gray-light;
|
||||
//** Primary label background color
|
||||
@label-primary-bg: @brand-primary;
|
||||
//** Success label background color
|
||||
@label-success-bg: @brand-success;
|
||||
//** Info label background color
|
||||
@label-info-bg: @brand-info;
|
||||
//** Warning label background color
|
||||
@label-warning-bg: @brand-warning;
|
||||
//** Danger label background color
|
||||
@label-danger-bg: @brand-danger;
|
||||
|
||||
//** Default label text color
|
||||
@label-color: #fff;
|
||||
//** Default text color of a linked label
|
||||
@label-link-hover-color: #fff;
|
||||
|
||||
|
||||
//== Modals
|
||||
//
|
||||
//##
|
||||
|
||||
//** Padding applied to the modal body
|
||||
@modal-inner-padding: 15px;
|
||||
|
||||
//** Padding applied to the modal title
|
||||
@modal-title-padding: 15px;
|
||||
//** Modal title line-height
|
||||
@modal-title-line-height: @line-height-base;
|
||||
|
||||
//** Background color of modal content area
|
||||
@modal-content-bg: #fff;
|
||||
//** Modal content border color
|
||||
@modal-content-border-color: rgba(0,0,0,.2);
|
||||
//** Modal content border color **for IE8**
|
||||
@modal-content-fallback-border-color: #999;
|
||||
|
||||
//** Modal backdrop background color
|
||||
@modal-backdrop-bg: #000;
|
||||
//** Modal backdrop opacity
|
||||
@modal-backdrop-opacity: .5;
|
||||
//** Modal header border color
|
||||
@modal-header-border-color: #e5e5e5;
|
||||
//** Modal footer border color
|
||||
@modal-footer-border-color: @modal-header-border-color;
|
||||
|
||||
@modal-lg: 900px;
|
||||
@modal-md: 600px;
|
||||
@modal-sm: 300px;
|
||||
|
||||
|
||||
//== Alerts
|
||||
//
|
||||
//## Define alert colors, border radius, and padding.
|
||||
|
||||
@alert-padding: 15px;
|
||||
@alert-border-radius: @border-radius-base;
|
||||
@alert-link-font-weight: bold;
|
||||
|
||||
@alert-success-bg: @state-success-bg;
|
||||
@alert-success-text: @state-success-text;
|
||||
@alert-success-border: @state-success-border;
|
||||
|
||||
@alert-info-bg: @state-info-bg;
|
||||
@alert-info-text: @state-info-text;
|
||||
@alert-info-border: @state-info-border;
|
||||
|
||||
@alert-warning-bg: @state-warning-bg;
|
||||
@alert-warning-text: @state-warning-text;
|
||||
@alert-warning-border: @state-warning-border;
|
||||
|
||||
@alert-danger-bg: @state-danger-bg;
|
||||
@alert-danger-text: @state-danger-text;
|
||||
@alert-danger-border: @state-danger-border;
|
||||
|
||||
|
||||
//== Progress bars
|
||||
//
|
||||
//##
|
||||
|
||||
//** Background color of the whole progress component
|
||||
@progress-bg: #f5f5f5;
|
||||
//** Progress bar text color
|
||||
@progress-bar-color: #fff;
|
||||
//** Variable for setting rounded corners on progress bar.
|
||||
@progress-border-radius: @border-radius-base;
|
||||
|
||||
//** Default progress bar color
|
||||
@progress-bar-bg: @brand-primary;
|
||||
//** Success progress bar color
|
||||
@progress-bar-success-bg: @brand-success;
|
||||
//** Warning progress bar color
|
||||
@progress-bar-warning-bg: @brand-warning;
|
||||
//** Danger progress bar color
|
||||
@progress-bar-danger-bg: @brand-danger;
|
||||
//** Info progress bar color
|
||||
@progress-bar-info-bg: @brand-info;
|
||||
|
||||
|
||||
//== List group
|
||||
//
|
||||
//##
|
||||
|
||||
//** Background color on `.list-group-item`
|
||||
@list-group-bg: #fff;
|
||||
//** `.list-group-item` border color
|
||||
@list-group-border: #ddd;
|
||||
//** List group border radius
|
||||
@list-group-border-radius: @border-radius-base;
|
||||
|
||||
//** Background color of single list items on hover
|
||||
@list-group-hover-bg: #f5f5f5;
|
||||
//** Text color of active list items
|
||||
@list-group-active-color: @component-active-color;
|
||||
//** Background color of active list items
|
||||
@list-group-active-bg: @component-active-bg;
|
||||
//** Border color of active list elements
|
||||
@list-group-active-border: @list-group-active-bg;
|
||||
//** Text color for content within active list items
|
||||
@list-group-active-text-color: lighten(@list-group-active-bg, 40%);
|
||||
|
||||
//** Text color of disabled list items
|
||||
@list-group-disabled-color: @gray-light;
|
||||
//** Background color of disabled list items
|
||||
@list-group-disabled-bg: @gray-lighter;
|
||||
//** Text color for content within disabled list items
|
||||
@list-group-disabled-text-color: @list-group-disabled-color;
|
||||
|
||||
@list-group-link-color: #555;
|
||||
@list-group-link-hover-color: @list-group-link-color;
|
||||
@list-group-link-heading-color: #333;
|
||||
|
||||
|
||||
//== Panels
|
||||
//
|
||||
//##
|
||||
|
||||
@panel-bg: #fff;
|
||||
@panel-body-padding: 15px;
|
||||
@panel-heading-padding: 10px 15px;
|
||||
@panel-footer-padding: @panel-heading-padding;
|
||||
@panel-border-radius: @border-radius-base;
|
||||
|
||||
//** Border color for elements within panels
|
||||
@panel-inner-border: #ddd;
|
||||
@panel-footer-bg: #f5f5f5;
|
||||
|
||||
@panel-default-text: @gray-dark;
|
||||
@panel-default-border: #ddd;
|
||||
@panel-default-heading-bg: #f5f5f5;
|
||||
|
||||
@panel-primary-text: #fff;
|
||||
@panel-primary-border: @brand-primary;
|
||||
@panel-primary-heading-bg: @brand-primary;
|
||||
|
||||
@panel-success-text: @state-success-text;
|
||||
@panel-success-border: @state-success-border;
|
||||
@panel-success-heading-bg: @state-success-bg;
|
||||
|
||||
@panel-info-text: @state-info-text;
|
||||
@panel-info-border: @state-info-border;
|
||||
@panel-info-heading-bg: @state-info-bg;
|
||||
|
||||
@panel-warning-text: @state-warning-text;
|
||||
@panel-warning-border: @state-warning-border;
|
||||
@panel-warning-heading-bg: @state-warning-bg;
|
||||
|
||||
@panel-danger-text: @state-danger-text;
|
||||
@panel-danger-border: @state-danger-border;
|
||||
@panel-danger-heading-bg: @state-danger-bg;
|
||||
|
||||
|
||||
//== Thumbnails
|
||||
//
|
||||
//##
|
||||
|
||||
//** Padding around the thumbnail image
|
||||
@thumbnail-padding: 4px;
|
||||
//** Thumbnail background color
|
||||
@thumbnail-bg: @body-bg;
|
||||
//** Thumbnail border color
|
||||
@thumbnail-border: #ddd;
|
||||
//** Thumbnail border radius
|
||||
@thumbnail-border-radius: @border-radius-base;
|
||||
|
||||
//** Custom text color for thumbnail captions
|
||||
@thumbnail-caption-color: @text-color;
|
||||
//** Padding around the thumbnail caption
|
||||
@thumbnail-caption-padding: 9px;
|
||||
|
||||
|
||||
//== Wells
|
||||
//
|
||||
//##
|
||||
|
||||
@well-bg: #f5f5f5;
|
||||
@well-border: darken(@well-bg, 7%);
|
||||
|
||||
|
||||
//== Badges
|
||||
//
|
||||
//##
|
||||
|
||||
@badge-color: #fff;
|
||||
//** Linked badge text color on hover
|
||||
@badge-link-hover-color: #fff;
|
||||
@badge-bg: @gray-light;
|
||||
|
||||
//** Badge text color in active nav link
|
||||
@badge-active-color: @link-color;
|
||||
//** Badge background color in active nav link
|
||||
@badge-active-bg: #fff;
|
||||
|
||||
@badge-font-weight: bold;
|
||||
@badge-line-height: 1;
|
||||
@badge-border-radius: 10px;
|
||||
|
||||
|
||||
//== Breadcrumbs
|
||||
//
|
||||
//##
|
||||
|
||||
@breadcrumb-padding-vertical: 8px;
|
||||
@breadcrumb-padding-horizontal: 15px;
|
||||
//** Breadcrumb background color
|
||||
@breadcrumb-bg: #f5f5f5;
|
||||
//** Breadcrumb text color
|
||||
@breadcrumb-color: #ccc;
|
||||
//** Text color of current page in the breadcrumb
|
||||
@breadcrumb-active-color: @gray-light;
|
||||
//** Textual separator for between breadcrumb elements
|
||||
@breadcrumb-separator: "/";
|
||||
|
||||
|
||||
//== Carousel
|
||||
//
|
||||
//##
|
||||
|
||||
@carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6);
|
||||
|
||||
@carousel-control-color: #fff;
|
||||
@carousel-control-width: 15%;
|
||||
@carousel-control-opacity: .5;
|
||||
@carousel-control-font-size: 20px;
|
||||
|
||||
@carousel-indicator-active-bg: #fff;
|
||||
@carousel-indicator-border-color: #fff;
|
||||
|
||||
@carousel-caption-color: #fff;
|
||||
|
||||
|
||||
//== Close
|
||||
//
|
||||
//##
|
||||
|
||||
@close-font-weight: bold;
|
||||
@close-color: #000;
|
||||
@close-text-shadow: 0 1px 0 #fff;
|
||||
|
||||
|
||||
//== Code
|
||||
//
|
||||
//##
|
||||
|
||||
@code-color: #c7254e;
|
||||
@code-bg: #f9f2f4;
|
||||
|
||||
@kbd-color: #fff;
|
||||
@kbd-bg: #333;
|
||||
|
||||
@pre-bg: #f5f5f5;
|
||||
@pre-color: @gray-dark;
|
||||
@pre-border-color: #ccc;
|
||||
@pre-scrollable-max-height: 340px;
|
||||
|
||||
|
||||
//== Type
|
||||
//
|
||||
//##
|
||||
|
||||
//** Horizontal offset for forms and lists.
|
||||
@component-offset-horizontal: 180px;
|
||||
//** Text muted color
|
||||
@text-muted: @gray-light;
|
||||
//** Abbreviations and acronyms border color
|
||||
@abbr-border-color: @gray-light;
|
||||
//** Headings small color
|
||||
@headings-small-color: @gray-light;
|
||||
//** Blockquote small color
|
||||
@blockquote-small-color: @gray-light;
|
||||
//** Blockquote font size
|
||||
@blockquote-font-size: (@font-size-base * 1.25);
|
||||
//** Blockquote border color
|
||||
@blockquote-border-color: @gray-lighter;
|
||||
//** Page header border color
|
||||
@page-header-border-color: @gray-lighter;
|
||||
//** Width of horizontal description list titles
|
||||
@dl-horizontal-offset: @component-offset-horizontal;
|
||||
//** Horizontal line color.
|
||||
@hr-border: @gray-lighter;
|
BIN
EnlighterJS/Resources/favicon.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
275
EnlighterJS/Resources/github-buttons/GitHubButtons.MooTools.js
Normal file
|
@ -0,0 +1,275 @@
|
|||
/*!
|
||||
---
|
||||
name: GitHub-Buttons for MooTools, jQuery and PHP
|
||||
description: Unofficial GitHub Buttons based on https://github.com/mdo/github-buttons
|
||||
|
||||
license: Apache 2.0 License
|
||||
version: 2.5.0
|
||||
build: 54ff1b657e537f8107ee7373e0bfeeeb/May 6 2015
|
||||
|
||||
authors:
|
||||
- Andi Dittrich (author of MooTools/jQuery/PHP based versions)
|
||||
- Mark Otto (author of original github-buttons styles)
|
||||
|
||||
download: https://github.com/AndiDittrich/MooTools.GitHub-Buttons
|
||||
website: http://github-buttons.andidittrich.de
|
||||
demo: http://github-buttons.andidittrich.de
|
||||
|
||||
requires:
|
||||
- Core/1.4.5
|
||||
- More/Number.Format
|
||||
- More/Request.JSONP
|
||||
|
||||
provides: [GitHubButton]
|
||||
...
|
||||
*//*
|
||||
---
|
||||
name: GitHub-Buttons
|
||||
description: Unofficial GitHub Buttons inspired by https://github.com/mdo/github-buttons
|
||||
|
||||
license: Dual-Licensed under "The MIT License (X11)" and "Apache 2.0 License"
|
||||
|
||||
authors:
|
||||
- Andi Dittrich
|
||||
|
||||
requires:
|
||||
- Core/1.4.5
|
||||
- More/Number.Format
|
||||
- More/Request.JSONP
|
||||
|
||||
provides: [GitHubButton]
|
||||
...
|
||||
*/
|
||||
var GitHubButton = new Class({
|
||||
Implements: Options,
|
||||
|
||||
// contains the required html structure
|
||||
buttonContainer: null,
|
||||
|
||||
options: {
|
||||
// large or small button ?
|
||||
large: false,
|
||||
|
||||
// GitHub username
|
||||
owner: null,
|
||||
|
||||
// GitHub repository name
|
||||
repo: null,
|
||||
|
||||
// Button type (star, fork, watch, follow)
|
||||
type: 'star',
|
||||
|
||||
// custom button text
|
||||
text: null,
|
||||
|
||||
// enabled/disable counter - manual set the value
|
||||
count: true,
|
||||
|
||||
// enable/disable caching
|
||||
cache: true,
|
||||
|
||||
// cache lifetime in seconds (2h default)
|
||||
cacheLifetime: 7200,
|
||||
|
||||
// error text/count
|
||||
errorText: 'NA'
|
||||
},
|
||||
|
||||
initialize: function(options){
|
||||
this.setOptions(options);
|
||||
|
||||
// jsonp rest service url
|
||||
var url = 'https://api.github.com';
|
||||
|
||||
// create repo url
|
||||
var repoUrl = 'https://github.com/' + this.options.owner + '/' + this.options.repo + '/';
|
||||
var actionUrl = 'https://github.com/' + this.options.owner + '/';
|
||||
|
||||
// text to display
|
||||
var text = '-';
|
||||
|
||||
// response object selector
|
||||
var responseSelector = '';
|
||||
|
||||
// star, fork, follow, watch are supported
|
||||
switch (this.options.type){
|
||||
case 'star':
|
||||
url += '/repos/' + this.options.owner + '/' + this.options.repo;
|
||||
text = 'Star';
|
||||
actionUrl = repoUrl + 'stargazers';
|
||||
responseSelector = 'stargazers_count';
|
||||
break;
|
||||
|
||||
case 'fork':
|
||||
url += '/repos/' + this.options.owner + '/' + this.options.repo;
|
||||
text = 'Fork';
|
||||
actionUrl = repoUrl + 'network';
|
||||
responseSelector = 'forks_count';
|
||||
break;
|
||||
|
||||
case 'watch':
|
||||
url += '/repos/' + this.options.owner + '/' + this.options.repo;
|
||||
actionUrl += this.options.repo + '/watchers';
|
||||
text = 'Watchers';
|
||||
responseSelector = 'subscribers_count';
|
||||
break;
|
||||
|
||||
case 'follow':
|
||||
url += '/users/' + this.options.owner;
|
||||
text = 'Follow @' + this.options.owner;
|
||||
repoUrl = actionUrl;
|
||||
actionUrl += 'followers';
|
||||
responseSelector = 'followers';
|
||||
break;
|
||||
}
|
||||
|
||||
// create html structure
|
||||
// @see https://github.com/mdo/github-buttons/blob/master/github-btn.source.html
|
||||
// <span class="github-btn" id="github-btn">
|
||||
// <a class="gh-btn" id="gh-btn" href="#" target="_blank">
|
||||
// <span class="gh-ico"></span>
|
||||
// <span class="gh-text" id="gh-text"></span>
|
||||
// </a>
|
||||
// <a class="gh-count" id="gh-count" href="#" target="_blank"></a>
|
||||
// </span>
|
||||
|
||||
// create elements
|
||||
this.buttonContainer = new Element('div', {
|
||||
'class': 'github-btn ' + (this.options.large ? 'github-btn-large' : '')
|
||||
});
|
||||
var count = new Element('a', {
|
||||
'class': 'gh-count',
|
||||
href: actionUrl,
|
||||
target: '_blank'
|
||||
});
|
||||
var ico = new Element('span', {
|
||||
'class': 'gh-ico'
|
||||
});
|
||||
var txt = new Element('span', {
|
||||
'class': 'gh-text',
|
||||
text: (this.options.text ? this.options.text : text)
|
||||
});
|
||||
var button = new Element('a', {
|
||||
'class': 'gh-btn',
|
||||
href: repoUrl,
|
||||
target: '_blank'
|
||||
});
|
||||
|
||||
// create structure
|
||||
button.grab(ico).grab(txt);
|
||||
this.buttonContainer.grab(button).grab(count);
|
||||
|
||||
// which "count"-mode should be used ?
|
||||
if (typeof this.options.count == 'boolean'){
|
||||
// show count and request the data via JSONP ?
|
||||
if (this.options.count){
|
||||
// cache instance name
|
||||
var cacheName = 'GHB_' + this.options.type + '_' + this.options.owner + '_' + this.options.repo + '_' + responseSelector;
|
||||
|
||||
// cache version available ?
|
||||
if (this.options.cache === true){
|
||||
var cdata = this.retrieveItem(cacheName, this.options.cacheLifetime);
|
||||
|
||||
if (cdata){
|
||||
// update text
|
||||
count.set('text', cdata.format({group: '.'}));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// request data
|
||||
new Request.JSONP({
|
||||
// the rest service url
|
||||
url: url,
|
||||
|
||||
// jsonp callback get parameter
|
||||
// @see https://developer.github.com/v3/#json-p-callbacks
|
||||
callbackKey: 'callback',
|
||||
|
||||
// request complete handler
|
||||
onComplete: function(response){
|
||||
// valid reponse ? request limit not exceeeded ?
|
||||
if (response.data && response.data[responseSelector]){
|
||||
// extract count
|
||||
var cnt = response.data[responseSelector];
|
||||
|
||||
// update text
|
||||
count.set('text', cnt.format({group: '.'}));
|
||||
|
||||
// update cache
|
||||
if (this.options.cache === true){
|
||||
this.storeItem(cacheName, cnt);
|
||||
}
|
||||
|
||||
// set error text
|
||||
}else{
|
||||
count.set('text', this.options.errorText);
|
||||
}
|
||||
}.bind(this)
|
||||
}).send();
|
||||
}else{
|
||||
// hide counter
|
||||
count.setStyle('display', 'none');
|
||||
}
|
||||
|
||||
}else{
|
||||
// manually set the value
|
||||
count.set('text', this.options.count.format({group: '.'}));
|
||||
}
|
||||
},
|
||||
|
||||
// magic method to use class instance as element
|
||||
toElement: function(){
|
||||
return this.buttonContainer;
|
||||
},
|
||||
|
||||
// use local storage as cache
|
||||
storeItem: function(name, data){
|
||||
// generate storage data
|
||||
var d = JSON.encode({
|
||||
time: (new Date().getTime()),
|
||||
payload: data
|
||||
});
|
||||
|
||||
// try to use html5 features
|
||||
if (typeof(Storage) !== "undefined"){
|
||||
localStorage.setItem(name, d);
|
||||
}
|
||||
},
|
||||
|
||||
// use local storage as cache
|
||||
retrieveItem: function(name, cacheLifetime){
|
||||
// try to use html5 features
|
||||
if (typeof(Storage) !== "undefined"){
|
||||
// get item
|
||||
var ls = localStorage.getItem(name);
|
||||
|
||||
// available ?
|
||||
if (!ls){
|
||||
return null;
|
||||
}
|
||||
|
||||
// decode json serialized data
|
||||
ls = JSON.decode(ls);
|
||||
|
||||
// lifetime expired ?
|
||||
if (!ls.time || (ls.time + (cacheLifetime*1000)) < (new Date().getTime())){
|
||||
return null;
|
||||
}
|
||||
|
||||
// valid payload ?
|
||||
return (ls.payload ? ls.payload : null);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Native Element extension - jQuery like usage
|
||||
(function(){
|
||||
Element.implement({
|
||||
GitHubButton: function(options){
|
||||
this.grab(new GitHubButton(options));
|
||||
}
|
||||
});
|
||||
})();
|
189
EnlighterJS/Resources/github-buttons/GitHubButtons.css
Normal file
|
@ -0,0 +1,189 @@
|
|||
/*!
|
||||
---
|
||||
name: GitHub-Buttons for MooTools, jQuery and PHP
|
||||
description: Unofficial GitHub Buttons based on https://github.com/mdo/github-buttons
|
||||
|
||||
license: Apache 2.0 License
|
||||
version: 2.5.0
|
||||
build: 5dbc39345334d0b03ad0b90960943efb/May 6 2015
|
||||
|
||||
authors:
|
||||
- Andi Dittrich (author of MooTools/jQuery/PHP based versions)
|
||||
- Mark Otto (author of original github-buttons styles)
|
||||
|
||||
download: https://github.com/AndiDittrich/MooTools.GitHub-Buttons
|
||||
website: http://github-buttons.andidittrich.de
|
||||
demo: http://github-buttons.andidittrich.de
|
||||
|
||||
requires:
|
||||
- Core/1.4.5
|
||||
- More/Number.Format
|
||||
- More/Request.JSONP
|
||||
|
||||
provides: [GitHubButton]
|
||||
...
|
||||
*//*
|
||||
---
|
||||
description: GitHub-Buttons Styles - Improved for use within own pages
|
||||
|
||||
license: Apache 2.0 License
|
||||
|
||||
authors:
|
||||
- Mark Otto
|
||||
- github-buttons contributors (https://github.com/mdo/github-buttons)
|
||||
- Andi Dittrich
|
||||
...
|
||||
*/
|
||||
.github-btn {
|
||||
display: block;
|
||||
position: relative;
|
||||
height: 20px;
|
||||
font: bold 11px/14px "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.gh-btn,.gh-count,.gh-ico {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.gh-btn,.gh-count {
|
||||
padding: 2px 5px 2px 4px;
|
||||
color: #333;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.gh-btn {
|
||||
background-color: #e6e6e6;
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fafafa),
|
||||
to(#eaeaea));
|
||||
background-image: -webkit-linear-gradient(#fafafa, #eaeaea);
|
||||
background-image: -moz-linear-gradient(top, #fafafa, #eaeaea);
|
||||
background-image: -ms-linear-gradient(#fafafa, #eaeaea);
|
||||
background-image: -o-linear-gradient(#fafafa, #eaeaea);
|
||||
background-image: linear-gradient(#fafafa, #eaeaea);
|
||||
background-repeat: no-repeat;
|
||||
border: 1px solid #d4d4d4;
|
||||
border-bottom-color: #bcbcbc;
|
||||
}
|
||||
|
||||
.gh-btn:hover,.gh-btn:focus,.gh-btn:active {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
|
||||
border-color: #518cc6 #518cc6 #2a65a0;
|
||||
background-color: #3072b3;
|
||||
}
|
||||
|
||||
.gh-btn:hover,.gh-btn:focus {
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#599bdc),
|
||||
to(#3072b3));
|
||||
background-image: -webkit-linear-gradient(#599bdc, #3072b3);
|
||||
background-image: -moz-linear-gradient(top, #599bdc, #3072b3);
|
||||
background-image: -ms-linear-gradient(#599bdc, #3072b3);
|
||||
background-image: -o-linear-gradient(#599bdc, #3072b3);
|
||||
background-image: linear-gradient(#599bdc, #3072b3);
|
||||
}
|
||||
|
||||
.gh-btn:active {
|
||||
background-image: none;
|
||||
-webkit-box-shadow: inset 0 2px 5px rgba(0, 0, 0, .10);
|
||||
-moz-box-shadow: inset 0 2px 5px rgba(0, 0, 0, .10);
|
||||
box-shadow: inset 0 2px 5px rgba(0, 0, 0, .10);
|
||||
}
|
||||
|
||||
.gh-ico {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
margin-right: 4px;
|
||||
vertical-align: 3px;
|
||||
background-image:
|
||||
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTMycHgiIGhlaWdodD0iNjZweCIgdmlld0JveD0iMCAwIDEzMiA2NiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTMyIDY2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjMzMzMzMzIiBkPSJNMzMsMS44Yy0xNy43LDAtMzIsMTQuMy0zMiwzMmMwLDE0LjEsOS4yLDI2LjEsMjEuOSwzMC40DQoJYzEuNiwwLjMsMi4yLTAuNywyLjItMS41YzAtMC44LDAtMi44LDAtNS40Yy04LjksMS45LTEwLjgtNC4zLTEwLjgtNC4zYy0xLjUtMy43LTMuNi00LjctMy42LTQuN2MtMi45LTIsMC4yLTEuOSwwLjItMS45DQoJYzMuMiwwLjIsNC45LDMuMyw0LjksMy4zYzIuOSw0LjksNy41LDMuNSw5LjMsMi43YzAuMy0yLjEsMS4xLTMuNSwyLTQuM2MtNy4xLTAuOC0xNC42LTMuNi0xNC42LTE1LjhjMC0zLjUsMS4yLTYuMywzLjMtOC42DQoJYy0wLjMtMC44LTEuNC00LjEsMC4zLTguNWMwLDAsMi43LTAuOSw4LjgsMy4zYzIuNi0wLjcsNS4zLTEuMSw4LTEuMWMyLjcsMCw1LjUsMC40LDgsMS4xYzYuMS00LjEsOC44LTMuMyw4LjgtMy4zDQoJYzEuNyw0LjQsMC42LDcuNywwLjMsOC41YzIuMSwyLjIsMy4zLDUuMSwzLjMsOC42YzAsMTIuMy03LjUsMTUtMTQuNiwxNS44YzEuMSwxLDIuMiwyLjksMi4yLDUuOWMwLDQuMywwLDcuNywwLDguOA0KCWMwLDAuOSwwLjYsMS45LDIuMiwxLjVDNTUuOCw1OS45LDY1LDQ3LjksNjUsMzMuOEM2NSwxNi4xLDUwLjcsMS44LDMzLDEuOHoiLz4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjRkZGRkZGIiBkPSJNOTksMS44Yy0xNy43LDAtMzIsMTQuMy0zMiwzMmMwLDE0LjEsOS4yLDI2LjEsMjEuOSwzMC40DQoJYzEuNiwwLjMsMi4yLTAuNywyLjItMS41YzAtMC44LDAtMi44LDAtNS40Yy04LjksMS45LTEwLjgtNC4zLTEwLjgtNC4zYy0xLjUtMy43LTMuNi00LjctMy42LTQuN2MtMi45LTIsMC4yLTEuOSwwLjItMS45DQoJYzMuMiwwLjIsNC45LDMuMyw0LjksMy4zYzIuOSw0LjksNy41LDMuNSw5LjMsMi43YzAuMy0yLjEsMS4xLTMuNSwyLTQuM2MtNy4xLTAuOC0xNC42LTMuNi0xNC42LTE1LjhjMC0zLjUsMS4yLTYuMywzLjMtOC42DQoJYy0wLjMtMC44LTEuNC00LjEsMC4zLTguNWMwLDAsMi43LTAuOSw4LjgsMy4zYzIuNi0wLjcsNS4zLTEuMSw4LTEuMWMyLjcsMCw1LjUsMC40LDgsMS4xYzYuMS00LjEsOC44LTMuMyw4LjgtMy4zDQoJYzEuNyw0LjQsMC42LDcuNywwLjMsOC41YzIuMSwyLjIsMy4zLDUuMSwzLjMsOC42YzAsMTIuMy03LjUsMTUtMTQuNiwxNS44YzEuMSwxLDIuMiwyLjksMi4yLDUuOWMwLDQuMywwLDcuNywwLDguOA0KCWMwLDAuOSwwLjYsMS45LDIuMiwxLjVjMTIuNy00LjIsMjEuOS0xNi4yLDIxLjktMzAuNEMxMzEsMTYuMSwxMTYuNywxLjgsOTksMS44eiIvPg0KPC9zdmc+DQo=);
|
||||
background-size: 28px 14px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
.gh-btn:hover .gh-ico,.gh-btn:focus .gh-ico,.gh-btn:active .gh-ico {
|
||||
background-position: -14px 0;
|
||||
}
|
||||
|
||||
.gh-count {
|
||||
position: relative;
|
||||
display: block;
|
||||
margin-left: 4px;
|
||||
background-color: #fafafa;
|
||||
border: 1px solid #d4d4d4;
|
||||
}
|
||||
|
||||
.gh-count:hover,.gh-count:focus {
|
||||
color: #4183C4;
|
||||
}
|
||||
|
||||
.gh-count:before,.gh-count:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-color: transparent;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.gh-count:before {
|
||||
top: 50%;
|
||||
left: -3px;
|
||||
margin-top: -4px;
|
||||
border-width: 4px 4px 4px 0;
|
||||
border-right-color: #fafafa;
|
||||
}
|
||||
|
||||
.gh-count:after {
|
||||
top: 50%;
|
||||
left: -4px;
|
||||
z-index: -1;
|
||||
margin-top: -5px;
|
||||
border-width: 5px 5px 5px 0;
|
||||
border-right-color: #d4d4d4;
|
||||
}
|
||||
|
||||
.github-btn-large {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.github-btn-large .gh-btn,.github-btn-large .gh-count {
|
||||
padding: 3px 10px 3px 8px;
|
||||
font-size: 16px;
|
||||
line-height: 22px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.github-btn-large .gh-ico {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-size: 40px 20px;
|
||||
}
|
||||
|
||||
.github-btn-large .gh-btn:hover .gh-ico,.github-btn-large .gh-btn:focus .gh-ico,.github-btn-large .gh-btn:active .gh-ico
|
||||
{
|
||||
background-position: -20px 0;
|
||||
}
|
||||
|
||||
.github-btn-large .gh-count {
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
.github-btn-large .gh-count:before {
|
||||
left: -5px;
|
||||
margin-top: -6px;
|
||||
border-width: 6px 6px 6px 0;
|
||||
}
|
||||
|
||||
.github-btn-large .gh-count:after {
|
||||
left: -6px;
|
||||
margin-top: -7px;
|
||||
border-width: 7px 7px 7px 0;
|
||||
}
|
13
EnlighterJS/Resources/github-buttons/LICENSE.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
Copyright 2014 Mark Otto, 2014-2015 Andi Dittrich
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
BIN
EnlighterJS/Resources/img/noise.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
EnlighterJS/Resources/img/screenshot-1.jpg
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
EnlighterJS/Resources/img/screenshot-10.jpg
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
EnlighterJS/Resources/img/screenshot-11.jpg
Normal file
After Width: | Height: | Size: 164 KiB |
BIN
EnlighterJS/Resources/img/screenshot-12.jpg
Normal file
After Width: | Height: | Size: 210 KiB |
BIN
EnlighterJS/Resources/img/screenshot-2.jpg
Normal file
After Width: | Height: | Size: 184 KiB |
BIN
EnlighterJS/Resources/img/screenshot-3.jpg
Normal file
After Width: | Height: | Size: 97 KiB |
BIN
EnlighterJS/Resources/img/screenshot-4.jpg
Normal file
After Width: | Height: | Size: 152 KiB |
BIN
EnlighterJS/Resources/img/screenshot-5.jpg
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
EnlighterJS/Resources/img/screenshot-6.jpg
Normal file
After Width: | Height: | Size: 125 KiB |