├── .gitattributes ├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── composer.json ├── docs ├── docs_CN.md ├── docs_EN.md ├── screenshot.png ├── screenshot_02.gif └── screenshot_03.gif ├── src ├── Controller │ ├── ParseController.php │ └── UploadController.php ├── Facades │ └── Smartmd.php ├── Markdown.php ├── Smartmd.php ├── SmartmdServiceProvider.php ├── config │ └── smartmd.php ├── emoji │ ├── full.json │ └── shortcuts.php ├── static │ ├── font-awesome.min.css │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── KaTeX_AMS-Regular.ttf │ │ ├── KaTeX_AMS-Regular.woff │ │ ├── KaTeX_AMS-Regular.woff2 │ │ ├── KaTeX_Caligraphic-Bold.ttf │ │ ├── KaTeX_Caligraphic-Bold.woff │ │ ├── KaTeX_Caligraphic-Bold.woff2 │ │ ├── KaTeX_Caligraphic-Regular.ttf │ │ ├── KaTeX_Caligraphic-Regular.woff │ │ ├── KaTeX_Caligraphic-Regular.woff2 │ │ ├── KaTeX_Fraktur-Bold.ttf │ │ ├── KaTeX_Fraktur-Bold.woff │ │ ├── KaTeX_Fraktur-Bold.woff2 │ │ ├── KaTeX_Fraktur-Regular.ttf │ │ ├── KaTeX_Fraktur-Regular.woff │ │ ├── KaTeX_Fraktur-Regular.woff2 │ │ ├── KaTeX_Main-Bold.ttf │ │ ├── KaTeX_Main-Bold.woff │ │ ├── KaTeX_Main-Bold.woff2 │ │ ├── KaTeX_Main-BoldItalic.ttf │ │ ├── KaTeX_Main-BoldItalic.woff │ │ ├── KaTeX_Main-BoldItalic.woff2 │ │ ├── KaTeX_Main-Italic.ttf │ │ ├── KaTeX_Main-Italic.woff │ │ ├── KaTeX_Main-Italic.woff2 │ │ ├── KaTeX_Main-Regular.ttf │ │ ├── KaTeX_Main-Regular.woff │ │ ├── KaTeX_Main-Regular.woff2 │ │ ├── KaTeX_Math-BoldItalic.ttf │ │ ├── KaTeX_Math-BoldItalic.woff │ │ ├── KaTeX_Math-BoldItalic.woff2 │ │ ├── KaTeX_Math-Italic.ttf │ │ ├── KaTeX_Math-Italic.woff │ │ ├── KaTeX_Math-Italic.woff2 │ │ ├── KaTeX_SansSerif-Bold.ttf │ │ ├── KaTeX_SansSerif-Bold.woff │ │ ├── KaTeX_SansSerif-Bold.woff2 │ │ ├── KaTeX_SansSerif-Italic.ttf │ │ ├── KaTeX_SansSerif-Italic.woff │ │ ├── KaTeX_SansSerif-Italic.woff2 │ │ ├── KaTeX_SansSerif-Regular.ttf │ │ ├── KaTeX_SansSerif-Regular.woff │ │ ├── KaTeX_SansSerif-Regular.woff2 │ │ ├── KaTeX_Script-Regular.ttf │ │ ├── KaTeX_Script-Regular.woff │ │ ├── KaTeX_Script-Regular.woff2 │ │ ├── KaTeX_Size1-Regular.ttf │ │ ├── KaTeX_Size1-Regular.woff │ │ ├── KaTeX_Size1-Regular.woff2 │ │ ├── KaTeX_Size2-Regular.ttf │ │ ├── KaTeX_Size2-Regular.woff │ │ ├── KaTeX_Size2-Regular.woff2 │ │ ├── KaTeX_Size3-Regular.ttf │ │ ├── KaTeX_Size3-Regular.woff │ │ ├── KaTeX_Size3-Regular.woff2 │ │ ├── KaTeX_Size4-Regular.ttf │ │ ├── KaTeX_Size4-Regular.woff │ │ ├── KaTeX_Size4-Regular.woff2 │ │ ├── KaTeX_Typewriter-Regular.ttf │ │ ├── KaTeX_Typewriter-Regular.woff │ │ ├── KaTeX_Typewriter-Regular.woff2 │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── highlight.min.js │ ├── katex.min.css │ ├── katex.min.js │ ├── mermaid.min.js │ ├── parse.min.js │ ├── smartmd.min.css │ └── smartmd.min.js └── views │ ├── head.blade.php │ ├── js-parse.blade.php │ ├── js-show.blade.php │ ├── php-parse.blade.php │ ├── php-show.blade.php │ └── write.blade.php └── tests └── MarkdownTest.php /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=php 2 | *.css linguist-language=php 3 | *.html linguist-language=php 4 | *.blade linguist-language=php -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | .idea -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | matrix: 3 | include: 4 | - php: 7.1 5 | - php: 7.2 6 | - php: 7.3 7 | fast_finish: true 8 | allow_failures: 9 | - php: 7.3 10 | 11 | install: 12 | - composer install --prefer-dist --no-interaction --no-progress 13 | 14 | script: 15 | - vendor/bin/phpunit tests/MarkdownTest.php 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 NoisyWind 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Laravel-smartmd 2 | 3 |  4 | 5 |
6 | Documentation | 中文文档 7 |
8 | 9 | 15 | 16 | A simple markdown editor compatible most markdown parse,You can choose any parse methods on server or client,like Mathematical formula、flowchart、upload image... 17 | this program is a plugin for laravel 5.4 and php 7.1 upper.more feature develop now... 18 | 19 | ## Screenshots 20 | editor demo: [Demo](https://xiaoqingxin.site/editor/write) 21 | js render page [Demo](https://xiaoqingxin.site/editor/js-show) 22 | php render page [Demo](https://xiaoqingxin.site/editor/php-show) 23 | 24 |  25 | --- 26 |  27 | --- 28 |  29 | 30 | Reference: 31 | - CodeMirror [link](https://github.com/codemirror/CodeMirror) 32 | - Simplemde-markdown [link](https://github.com/sparksuite/simplemde-markdown-editor) 33 | - markdown-it (markdown render) [link](https://github.com/markdown-it/markdown-it) 34 | - mermaid (flowchart) [link](https://github.com/knsv/mermaid) 35 | - intervention (image handling) [link](https://github.com/Intervention/image) 36 | 37 | ## requirements 38 | - PHP >= 7.1.0 39 | - Laravel >= 5.4.0 40 | 41 | ## Installation 42 | First, install package. 43 | ``` 44 | composer require noisywinds/laravel-smartmd 45 | ``` 46 | Then run these commands to publish assets and config: 47 | ``` 48 | php artisan vendor:publish --provider="NoisyWinds\Smartmd\SmartmdServiceProvider" 49 | ``` 50 | make test view router: 51 | ``` 52 | Route::group(['namespace' => 'Smartmd', 'prefix' => 'editor'], function () { 53 | Route::post('/upload', 'UploadController@imSave'); 54 | Route::get('/write', function () { 55 | return view('vendor/smartmd/write'); 56 | }); 57 | Route::get('/php-show','ParseController@index'); 58 | Route::get('/js-show',function(){ 59 | return view('vendor/smartmd/js-show'); 60 | }); 61 | }); 62 | ``` 63 | Rewrite UploadController or config/smartmd.php to change upload path: 64 | ```php 65 | [ 68 | /* 69 | * like filesystem, Where do you like to place pictures? 70 | */ 71 | "root" => storage_path('app/public/images'), 72 | /* 73 | * return public image path 74 | */ 75 | "url" => env('APP_URL').'/storage/images', 76 | ], 77 | ]; 78 | ``` 79 | * notice: uploda image will optimize and resize in the UploadController 80 | 81 | ## Some shortcode 82 | 1. Bold (Ctrl + b) 83 | 2. Italic (Ctrl + I) 84 | 3. Insert Image (Ctrl + Alt + I) 85 | 4. Insert Math (Ctrl + m) 86 | 5. Insert flowchart (Ctrl + Alt + m) 87 | 6. more... (mac command the same with ctrl) 88 | 89 | 90 | ## editor options 91 | ```javascript 92 | new Smartmd({ 93 | // editor element {string} 94 | el: "#editor", 95 | 96 | // editor wrapper layout {string or number} 97 | height: "400px", 98 | width: "100%", 99 | 100 | // autosave 101 | autoSave: { 102 | // uuid is required {string or number} 103 | uuid: 1, 104 | // {number} 105 | delay: 5000 106 | }, 107 | 108 | // init state {boolean} 109 | isFullScreen: true, // default false 110 | isPreviewActive: true // default false 111 | }); 112 | ``` 113 | 114 | ## parse markdown 115 | #### I don't need editor: 116 | ```html 117 | // require in your view meta 118 | @include('Smartmd::js-parse') 119 | ``` 120 | ``` 121 | 127 | ``` 128 | #### I need editor: 129 | ```html 130 | 134 | ``` 135 | #### I want php render: 136 | * only render Formula、Flowchart、Code highlight use JavaScript 137 | ```html 138 | // require in your view meta 139 | @include('Smartmd::php-parse') 140 | ``` 141 | ParseController.php 142 | ``` 143 | use NoisyWinds\Smartmd\Markdown; 144 | 145 | $parse = new Markdown(); 146 | $text = "# Your markdown text"; 147 | $html = $parse->text($text); 148 | return view('Smartmd::php-show',['content'=>$html]); 149 | 150 | ``` 151 | 152 | ## How to expand 153 | #### editor 154 | - CodeMirror [link](https://github.com/codemirror/CodeMirror) 155 | #### markdown render 156 | - markdown-it (markdown render) [link](https://github.com/markdown-it/markdown-it) 157 | ## issue 158 | Welcome to ask questions or what features you want to be compatible with. 159 | 160 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "noisywinds/laravel-smartmd", 3 | "description": "a laravel markdown editor", 4 | "type": "library", 5 | "license": "MIT", 6 | "authors": [ 7 | { 8 | "name": "noisywinds", 9 | "email": "1624389686@qq.com" 10 | } 11 | ], 12 | "require": { 13 | "php": ">=7.0.0", 14 | "laravel/framework": "~5.4", 15 | "intervention/image": "^2.4", 16 | "phpunit/phpunit": "^7.4" 17 | }, 18 | "require-dev": { 19 | "laravel/laravel": "~5.4", 20 | "intervention/image": "^2.4" 21 | }, 22 | "autoload": { 23 | "psr-4": { 24 | "NoisyWinds\\Smartmd\\": "src/" 25 | } 26 | }, 27 | "extra": { 28 | "laravel": { 29 | "providers": [ 30 | "NoisyWinds\\Smartmd\\SmartmdServiceProvider" 31 | ], 32 | "aliases": { 33 | "Smartmd": "NoisyWinds\\Smartmd\\Facades\\Smartmd" 34 | } 35 | 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /docs/docs_CN.md: -------------------------------------------------------------------------------- 1 | # Laravel-smartmd 2 | 3 |  4 | 5 |6 | Documentation | 中文文档 7 |
8 | 9 | 15 | 16 | 一个实用的 markdown 编辑器兼容大部分主流的 markdown 语法解析,您可以选择前后端的任意一种解析方式,包括数学公式、流程图、emoji 表情、上传图片等...这是一个 laravel 插件的项目,要求 laravel 版本大于等于 5.4, php 版本大于等于 7.1 ,更多功能和文档随缘更新... 17 | 18 | 19 | ## 效果截图 20 | 编辑器示例页面:[Demo](https://xiaoqingxin.site/editor/write) 21 | js 渲染示例页面: [Demo](https://xiaoqingxin.site/editor/js-show) 22 | php 渲染示例页面: [Demo](https://xiaoqingxin.site/editor/php-show) 23 | 24 |  25 | --- 26 |  27 | --- 28 |  29 | 30 | 31 | 参考和引用: 32 | - CodeMirror [link](https://github.com/codemirror/CodeMirror) 33 | - Simplemde-markdown [link](https://github.com/sparksuite/simplemde-markdown-editor) 34 | - markdown-it (markdown render) [link](https://github.com/markdown-it/markdown-it) 35 | - mermaid (flowchart) [link](https://github.com/knsv/mermaid) 36 | - intervention (image handling) [link](https://github.com/Intervention/image) 37 | 38 | ## 依赖于 39 | - PHP >= 7.1.0 40 | - Laravel >= 5.4.0 41 | 42 | ## 如何初始化 43 | 首先,安装 composer 的 noisywinds/laravel-smartmd 包: 44 | ``` 45 | composer require noisywinds/laravel-smartmd 46 | ``` 47 | 将素材和配置文件迁移到项目: 48 | ``` 49 | php artisan vendor:publish --provider="NoisyWinds\Smartmd\SmartmdServiceProvider" 50 | ``` 51 | 在 web.php 写入测试路径(后期可自行并入项目): 52 | ``` 53 | Route::group(['namespace' => 'Smartmd', 'prefix' => 'editor'], function () { 54 | Route::post('/upload', 'UploadController@imSave'); 55 | Route::get('/write', function () { 56 | return view('vendor/smartmd/write'); 57 | }); 58 | Route::get('/php-show','ParseController@index'); 59 | Route::get('/js-show',function(){ 60 | return view('vendor/smartmd/js-show'); 61 | }); 62 | }); 63 | ``` 64 | 重写 UploadController 或者 config/smartmd.php 来改变你的文件上传位置: 65 | ```php 66 | [ 69 | /* 70 | * like filesystem, Where do you like to place pictures? 71 | */ 72 | "root" => storage_path('app/public/images'), 73 | /* 74 | * return public image path 75 | */ 76 | "url" => env('APP_URL').'/storage/images', 77 | ], 78 | ]; 79 | ``` 80 | * 注意: 上传的图片会经过优化和压缩,这些处理你可以在 UploadController 中修改(比如加水印)。 81 | 82 | ## 一些快捷键 83 | 1. Bold (Ctrl + b) 84 | 2. Italic (Ctrl + I) 85 | 3. Insert Image (Ctrl + Alt + I) 86 | 4. Insert Math (Ctrl + m) 87 | 5. Insert flowchart (Ctrl + Alt + m) 88 | 6. more... (mac command the same with ctrl) 89 | 90 | 91 | ## 前端对编辑器的基础配置 92 | ```javascript 93 | new Smartmd({ 94 | el: "#editor", 95 | height: "80vh", 96 | autoSave: { 97 | uuid: 1, 98 | delay: 5000 99 | }, 100 | isFullScreen: true, 101 | isPreviewActive: true, 102 | uploads: { 103 | url: './upload', 104 | type: ['jpeg', 'png', 'bmp', 'gif', 'jpg'], 105 | maxSize: 4096, 106 | typeError: 'Image support format {type}.', 107 | sizeError: 'Image size is more than {maxSize} kb.', 108 | serverError: 'Upload failed in {msg}' 109 | } 110 | }); 111 | ``` 112 | 113 | ## 解析 markdown 114 | smartmd 提供了三种解析 markdown 的方式,您可以按照自己的需求通过不同方式渲染页面 115 | #### 不需要编辑器: 116 | ```html 117 | // require in your view meta 118 | @include('Smartmd::js-parse') 119 | ``` 120 | ``` 121 | 127 | ``` 128 | #### 需要编辑器: 129 | ```html 130 | 136 | ``` 137 | #### 直接 php 返回 html : 138 | * 只有在 流程图、语法高亮、数学公式时通过 js 渲染: 139 | ```html 140 | // require in your view meta 141 | @include('Smartmd::php-parse') 142 | ``` 143 | ParseController.php 144 | ``` 145 | use NoisyWinds\Smartmd\Markdown; 146 | 147 | $parse = new Markdown(); 148 | $text = "# Your markdown text"; 149 | $html = $parse->text($text); 150 | return view('Smartmd::php-show',['content'=>$html]); 151 | 152 | ``` 153 | 154 | ## 如何拓展 155 | #### 1. 编辑器 156 | Smartmd 的前端项目 [点击链接](https://github.com/noisywinds/smartmd) 157 | #### 2. 可视化的 markdown 文本渲染 158 | 参考 markdown-it 的插件开发 [链接](https://github.com/markdown-it/markdown-it) 159 | 如需更改后端的解析规则,后端可修改 Markdown.php, 前端需要修改 codemirror 的 token 160 | 161 | ## 问题反馈 162 | 欢迎你在 issue 反馈你遇到的问题和你想兼容或者想拓展的需求,希望能给到你一些帮助。 163 | 164 | -------------------------------------------------------------------------------- /docs/docs_EN.md: -------------------------------------------------------------------------------- 1 | # Laravel-smartmd 2 | 3 |  4 | 5 |6 | Documentation | 中文文档 7 |
8 | 9 | 15 | 16 | A simple markdown editor compatible most markdown parse,You can choose any parse methods on server or client,like Mathematical formula、flowchart、upload image... 17 | this program is a plugin for laravel 5.4 and php 7.1 upper.more feature develop now... 18 | 19 | 20 | ## screenshot 21 | editor demo page:[Demo](https://xiaoqingxin.site/editor/write) 22 | js parser page: [Demo](https://xiaoqingxin.site/editor/js-show) 23 | php parser page: [Demo](https://xiaoqingxin.site/editor/php-show) 24 | 25 |  26 | --- 27 |  28 | --- 29 |  30 | 31 | Reference: 32 | - CodeMirror [link](https://github.com/codemirror/CodeMirror) 33 | - Simplemde-markdown [link](https://github.com/sparksuite/simplemde-markdown-editor) 34 | - markdown-it (markdown render) [link](https://github.com/markdown-it/markdown-it) 35 | - mermaid (flowchart) [link](https://github.com/knsv/mermaid) 36 | - intervention (image handling) [link](https://github.com/Intervention/image) 37 | 38 | ## environment 39 | - PHP >= 7.1.0 40 | - Laravel >= 5.4.0 41 | 42 | ## How to use 43 | Install: 44 | ``` 45 | composer require noisywinds/laravel-smartmd 46 | ``` 47 | Initialization: 48 | ``` 49 | php artisan vendor:publish --provider="NoisyWinds\Smartmd\SmartmdServiceProvider" 50 | ``` 51 | Write route in web.php : 52 | ``` 53 | Route::group(['namespace' => 'Smartmd', 'prefix' => 'editor'], function () { 54 | Route::post('/upload', 'UploadController@imSave'); 55 | Route::get('/write', function () { 56 | return view('vendor/smartmd/write'); 57 | }); 58 | Route::get('/php-show','ParseController@index'); 59 | Route::get('/js-show',function(){ 60 | return view('vendor/smartmd/js-show'); 61 | }); 62 | }); 63 | ``` 64 | rewrite UploadController or config/smartmd.php change your image upload place: 65 | ```php 66 | [ 69 | /* 70 | * like filesystem, Where do you like to place pictures? 71 | */ 72 | "root" => storage_path('app/public/images'), 73 | /* 74 | * return public image path 75 | */ 76 | "url" => env('APP_URL').'/storage/images', 77 | ], 78 | ]; 79 | ``` 80 | 81 | ## shortcut keys 82 | 1. Bold (Ctrl + b) 83 | 2. Italic (Ctrl + I) 84 | 3. Insert Image (Ctrl + Alt + I) 85 | 4. Insert Math (Ctrl + m) 86 | 5. Insert flowchart (Ctrl + Alt + m) 87 | 6. more... (mac command the same with ctrl) 88 | 89 | 90 | ## client initialization 91 | ```javascript 92 | new Smartmd({ 93 | el: "#editor", 94 | height: "80vh", 95 | autoSave: { 96 | uuid: 1, 97 | delay: 5000 98 | }, 99 | isFullScreen: true, 100 | isPreviewActive: true, 101 | uploads: { 102 | url: './upload', 103 | type: ['jpeg', 'png', 'bmp', 'gif', 'jpg'], 104 | maxSize: 4096, 105 | typeError: 'Image support format {type}.', 106 | sizeError: 'Image size is more than {maxSize} kb.', 107 | serverError: 'Upload failed in {msg}' 108 | } 109 | }); 110 | ``` 111 | 112 | ## parse markdown 113 | #### parse by javascript (without sever): 114 | ```html 115 | // require in your view meta 116 | @include('Smartmd::js-parse') 117 | ``` 118 | ``` 119 | 125 | ``` 126 | #### need editor and parse by javascript: 127 | ```html 128 | 134 | ``` 135 | #### php parse: 136 | ```html 137 | // require in your view meta 138 | @include('Smartmd::php-parse') 139 | ``` 140 | ParseController.php 141 | ``` 142 | use NoisyWinds\Smartmd\Markdown; 143 | 144 | $parse = new Markdown(); 145 | $text = "# Your markdown text"; 146 | $html = $parse->text($text); 147 | return view('Smartmd::php-show',['content'=>$html]); 148 | 149 | ``` 150 | 151 | ## How to extand 152 | #### 1. editor 153 | Smartmd.js [noisywinds/smartmd](https://github.com/noisywinds/smartmd) 154 | #### 2. markdown text parse 155 | use markdown-it plugin [link](https://github.com/markdown-it/markdown-it) 156 | 157 | -------------------------------------------------------------------------------- /docs/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/docs/screenshot.png -------------------------------------------------------------------------------- /docs/screenshot_02.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/docs/screenshot_02.gif -------------------------------------------------------------------------------- /docs/screenshot_03.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/docs/screenshot_03.gif -------------------------------------------------------------------------------- /src/Controller/ParseController.php: -------------------------------------------------------------------------------- 1 | Mathematics abuse my hundreds of times, I stay mathematics such as first.\n\n### 2. Code highlight\n\n```javascript\n// get page width\nvar width = document.body.clientWidth\n```\n\n```python\n# Find the odd number within 100\ni = 0\nsum = 0\nwhile i < 100:\n if i % 2 == 1:\n sum += i\n i += 1\nprint \"odd number sum is:\" + str(sum)\n```\n\n### 3. Flow chart\n\n```\ngraph LR\nA[rock] -- write --> B((article))\nA --> C(posts)\nB --> D{mountain}\nC --> D\n```\n\n### 4.Table lists\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Text | Text | Text |\n| Text | Text | Text |\n\n### 4.Emoji face\n\nemoji shortcode will be render like this:\n```\n:joy :laughing: :fire: :dragon_face: :frog:\n```\n:joy: :laughing: :fire: :dragon_face: :frog:\n\n### 4.Upload image\n\n\n\n\n"; 12 | $html = $parse->text($text); 13 | return view('Smartmd::php-show',['content'=>$html]); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Controller/UploadController.php: -------------------------------------------------------------------------------- 1 | all(), [ 15 | 'image' => 'required|max:4096|image' 16 | ]); 17 | if ($validator->passes()) { 18 | $temp = $request->file('image'); 19 | $name = $temp->hashName(); 20 | $im = Image::make($temp->getPathname()); 21 | $width = $im->width(); 22 | $height = $im->height(); 23 | if ($width > 1200) { 24 | $scale = 1200 / $width; 25 | $width = ceil($width * $scale); 26 | $height = ceil($height * $scale); 27 | $im->resize($width, $height); 28 | } 29 | $im->save(config('smartmd.image.root') . '/' . $name, 80); 30 | return response()->json( 31 | [ 32 | 'path' => config('smartmd.image.url') . '/' . $name, 33 | 'size' => [ 34 | 'width' => $width, 35 | 'height' => $height 36 | ], 37 | 'message' => '图片上传成功' 38 | ] 39 | ); 40 | } 41 | return response()->json(['message' => $validator->errors()->first()],400); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/Facades/Smartmd.php: -------------------------------------------------------------------------------- 1 | config = $config; 11 | $this->markdown = new Markdown(); 12 | } 13 | } -------------------------------------------------------------------------------- /src/SmartmdServiceProvider.php: -------------------------------------------------------------------------------- 1 | loadViewsFrom(__DIR__ . '/views', 'Smartmd'); 18 | $this->publishes([ 19 | __DIR__.'/views' => base_path('resources/views/vendor/smartmd'), 20 | __DIR__.'/static' => public_path('vendor/laravel-smartmd'), 21 | __DIR__.'/config' => config_path('/'), 22 | __DIR__.'/Controller' => app_path('Http/Controllers/Smartmd'), 23 | ]); 24 | 25 | } 26 | 27 | /** 28 | * Register services. 29 | * 30 | * @return void 31 | */ 32 | public function register() 33 | { 34 | $this->app->singleton('Smartmd', function ($app) { 35 | return new Smartmd($app['config']); 36 | }); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/config/smartmd.php: -------------------------------------------------------------------------------- 1 | [ 4 | /* 5 | * like filesystem, Where do you like to place pictures? 6 | */ 7 | "root" => storage_path('app/public'), 8 | /* 9 | * return public image path 10 | */ 11 | "url" => env('APP_URL').'/storage', 12 | ], 13 | ]; -------------------------------------------------------------------------------- /src/emoji/full.json: -------------------------------------------------------------------------------- 1 | { 2 | "100": "💯", 3 | "1234": "🔢", 4 | "grinning": "😀", 5 | "smiley": "😃", 6 | "smile": "😄", 7 | "grin": "😁", 8 | "laughing": "😆", 9 | "satisfied": "😆", 10 | "sweat_smile": "😅", 11 | "joy": "😂", 12 | "rofl": "🤣", 13 | "relaxed": "☺️", 14 | "blush": "😊", 15 | "innocent": "😇", 16 | "slightly_smiling_face": "🙂", 17 | "upside_down_face": "🙃", 18 | "wink": "😉", 19 | "relieved": "😌", 20 | "heart_eyes": "😍", 21 | "kissing_heart": "😘", 22 | "kissing": "😗", 23 | "kissing_smiling_eyes": "😙", 24 | "kissing_closed_eyes": "😚", 25 | "yum": "😋", 26 | "stuck_out_tongue_winking_eye": "😜", 27 | "stuck_out_tongue_closed_eyes": "😝", 28 | "stuck_out_tongue": "😛", 29 | "money_mouth_face": "🤑", 30 | "hugs": "🤗", 31 | "nerd_face": "🤓", 32 | "sunglasses": "😎", 33 | "clown_face": "🤡", 34 | "cowboy_hat_face": "🤠", 35 | "smirk": "😏", 36 | "unamused": "😒", 37 | "disappointed": "😞", 38 | "pensive": "😔", 39 | "worried": "😟", 40 | "confused": "😕", 41 | "slightly_frowning_face": "🙁", 42 | "frowning_face": "☹️", 43 | "persevere": "😣", 44 | "confounded": "😖", 45 | "tired_face": "😫", 46 | "weary": "😩", 47 | "triumph": "😤", 48 | "angry": "😠", 49 | "rage": "😡", 50 | "pout": "😡", 51 | "no_mouth": "😶", 52 | "neutral_face": "😐", 53 | "expressionless": "😑", 54 | "hushed": "😯", 55 | "frowning": "😦", 56 | "anguished": "😧", 57 | "open_mouth": "😮", 58 | "astonished": "😲", 59 | "dizzy_face": "😵", 60 | "flushed": "😳", 61 | "scream": "😱", 62 | "fearful": "😨", 63 | "cold_sweat": "😰", 64 | "cry": "😢", 65 | "disappointed_relieved": "😥", 66 | "drooling_face": "🤤", 67 | "sob": "😭", 68 | "sweat": "😓", 69 | "sleepy": "😪", 70 | "sleeping": "😴", 71 | "roll_eyes": "🙄", 72 | "thinking": "🤔", 73 | "lying_face": "🤥", 74 | "grimacing": "😬", 75 | "zipper_mouth_face": "🤐", 76 | "nauseated_face": "🤢", 77 | "sneezing_face": "🤧", 78 | "mask": "😷", 79 | "face_with_thermometer": "🤒", 80 | "face_with_head_bandage": "🤕", 81 | "smiling_imp": "😈", 82 | "imp": "👿", 83 | "japanese_ogre": "👹", 84 | "japanese_goblin": "👺", 85 | "hankey": "💩", 86 | "poop": "💩", 87 | "shit": "💩", 88 | "ghost": "👻", 89 | "skull": "💀", 90 | "skull_and_crossbones": "☠️", 91 | "alien": "👽", 92 | "space_invader": "👾", 93 | "robot": "🤖", 94 | "jack_o_lantern": "🎃", 95 | "smiley_cat": "😺", 96 | "smile_cat": "😸", 97 | "joy_cat": "😹", 98 | "heart_eyes_cat": "😻", 99 | "smirk_cat": "😼", 100 | "kissing_cat": "😽", 101 | "scream_cat": "🙀", 102 | "crying_cat_face": "😿", 103 | "pouting_cat": "😾", 104 | "open_hands": "👐", 105 | "raised_hands": "🙌", 106 | "clap": "👏", 107 | "pray": "🙏", 108 | "handshake": "🤝", 109 | "+1": "👍", 110 | "thumbsup": "👍", 111 | "-1": "👎", 112 | "thumbsdown": "👎", 113 | "fist_oncoming": "👊", 114 | "facepunch": "👊", 115 | "punch": "👊", 116 | "fist_raised": "✊", 117 | "fist": "✊", 118 | "fist_left": "🤛", 119 | "fist_right": "🤜", 120 | "crossed_fingers": "🤞", 121 | "v": "✌️", 122 | "metal": "🤘", 123 | "ok_hand": "👌", 124 | "point_left": "👈", 125 | "point_right": "👉", 126 | "point_up_2": "👆", 127 | "point_down": "👇", 128 | "point_up": "☝️", 129 | "hand": "✋", 130 | "raised_hand": "✋", 131 | "raised_back_of_hand": "🤚", 132 | "raised_hand_with_fingers_splayed": "🖐", 133 | "vulcan_salute": "🖖", 134 | "wave": "👋", 135 | "call_me_hand": "🤙", 136 | "muscle": "💪", 137 | "middle_finger": "🖕", 138 | "fu": "🖕", 139 | "writing_hand": "✍️", 140 | "selfie": "🤳", 141 | "nail_care": "💅", 142 | "ring": "💍", 143 | "lipstick": "💄", 144 | "kiss": "💋", 145 | "lips": "👄", 146 | "tongue": "👅", 147 | "ear": "👂", 148 | "nose": "👃", 149 | "footprints": "👣", 150 | "eye": "👁", 151 | "eyes": "👀", 152 | "speaking_head": "🗣", 153 | "bust_in_silhouette": "👤", 154 | "busts_in_silhouette": "👥", 155 | "baby": "👶", 156 | "boy": "👦", 157 | "girl": "👧", 158 | "man": "👨", 159 | "woman": "👩", 160 | "blonde_woman": "👱♀", 161 | "blonde_man": "👱", 162 | "person_with_blond_hair": "👱", 163 | "older_man": "👴", 164 | "older_woman": "👵", 165 | "man_with_gua_pi_mao": "👲", 166 | "woman_with_turban": "👳♀", 167 | "man_with_turban": "👳", 168 | "policewoman": "👮♀", 169 | "policeman": "👮", 170 | "cop": "👮", 171 | "construction_worker_woman": "👷♀", 172 | "construction_worker_man": "👷", 173 | "construction_worker": "👷", 174 | "guardswoman": "💂♀", 175 | "guardsman": "💂", 176 | "female_detective": "🕵️♀️", 177 | "male_detective": "🕵", 178 | "detective": "🕵", 179 | "woman_health_worker": "👩⚕", 180 | "man_health_worker": "👨⚕", 181 | "woman_farmer": "👩🌾", 182 | "man_farmer": "👨🌾", 183 | "woman_cook": "👩🍳", 184 | "man_cook": "👨🍳", 185 | "woman_student": "👩🎓", 186 | "man_student": "👨🎓", 187 | "woman_singer": "👩🎤", 188 | "man_singer": "👨🎤", 189 | "woman_teacher": "👩🏫", 190 | "man_teacher": "👨🏫", 191 | "woman_factory_worker": "👩🏭", 192 | "man_factory_worker": "👨🏭", 193 | "woman_technologist": "👩💻", 194 | "man_technologist": "👨💻", 195 | "woman_office_worker": "👩💼", 196 | "man_office_worker": "👨💼", 197 | "woman_mechanic": "👩🔧", 198 | "man_mechanic": "👨🔧", 199 | "woman_scientist": "👩🔬", 200 | "man_scientist": "👨🔬", 201 | "woman_artist": "👩🎨", 202 | "man_artist": "👨🎨", 203 | "woman_firefighter": "👩🚒", 204 | "man_firefighter": "👨🚒", 205 | "woman_pilot": "👩✈", 206 | "man_pilot": "👨✈", 207 | "woman_astronaut": "👩🚀", 208 | "man_astronaut": "👨🚀", 209 | "woman_judge": "👩⚖", 210 | "man_judge": "👨⚖", 211 | "mrs_claus": "🤶", 212 | "santa": "🎅", 213 | "princess": "👸", 214 | "prince": "🤴", 215 | "bride_with_veil": "👰", 216 | "man_in_tuxedo": "🤵", 217 | "angel": "👼", 218 | "pregnant_woman": "🤰", 219 | "bowing_woman": "🙇♀", 220 | "bowing_man": "🙇", 221 | "bow": "🙇", 222 | "tipping_hand_woman": "💁", 223 | "information_desk_person": "💁", 224 | "sassy_woman": "💁", 225 | "tipping_hand_man": "💁♂", 226 | "sassy_man": "💁♂", 227 | "no_good_woman": "🙅", 228 | "no_good": "🙅", 229 | "ng_woman": "🙅", 230 | "no_good_man": "🙅♂", 231 | "ng_man": "🙅♂", 232 | "ok_woman": "🙆", 233 | "ok_man": "🙆♂", 234 | "raising_hand_woman": "🙋", 235 | "raising_hand": "🙋", 236 | "raising_hand_man": "🙋♂", 237 | "woman_facepalming": "🤦♀", 238 | "man_facepalming": "🤦♂", 239 | "woman_shrugging": "🤷♀", 240 | "man_shrugging": "🤷♂", 241 | "pouting_woman": "🙎", 242 | "person_with_pouting_face": "🙎", 243 | "pouting_man": "🙎♂", 244 | "frowning_woman": "🙍", 245 | "person_frowning": "🙍", 246 | "frowning_man": "🙍♂", 247 | "haircut_woman": "💇", 248 | "haircut": "💇", 249 | "haircut_man": "💇♂", 250 | "massage_woman": "💆", 251 | "massage": "💆", 252 | "massage_man": "💆♂", 253 | "business_suit_levitating": "🕴", 254 | "dancer": "💃", 255 | "man_dancing": "🕺", 256 | "dancing_women": "👯", 257 | "dancers": "👯", 258 | "dancing_men": "👯♂", 259 | "walking_woman": "🚶♀", 260 | "walking_man": "🚶", 261 | "walking": "🚶", 262 | "running_woman": "🏃♀", 263 | "running_man": "🏃", 264 | "runner": "🏃", 265 | "running": "🏃", 266 | "couple": "👫", 267 | "two_women_holding_hands": "👭", 268 | "two_men_holding_hands": "👬", 269 | "couple_with_heart_woman_man": "💑", 270 | "couple_with_heart": "💑", 271 | "couple_with_heart_woman_woman": "👩❤️👩", 272 | "couple_with_heart_man_man": "👨❤️👨", 273 | "couplekiss_man_woman": "💏", 274 | "couplekiss_woman_woman": "👩❤️💋👩", 275 | "couplekiss_man_man": "👨❤️💋👨", 276 | "family_man_woman_boy": "👪", 277 | "family": "👪", 278 | "family_man_woman_girl": "👨👩👧", 279 | "family_man_woman_girl_boy": "👨👩👧👦", 280 | "family_man_woman_boy_boy": "👨👩👦👦", 281 | "family_man_woman_girl_girl": "👨👩👧👧", 282 | "family_woman_woman_boy": "👩👩👦", 283 | "family_woman_woman_girl": "👩👩👧", 284 | "family_woman_woman_girl_boy": "👩👩👧👦", 285 | "family_woman_woman_boy_boy": "👩👩👦👦", 286 | "family_woman_woman_girl_girl": "👩👩👧👧", 287 | "family_man_man_boy": "👨👨👦", 288 | "family_man_man_girl": "👨👨👧", 289 | "family_man_man_girl_boy": "👨👨👧👦", 290 | "family_man_man_boy_boy": "👨👨👦👦", 291 | "family_man_man_girl_girl": "👨👨👧👧", 292 | "family_woman_boy": "👩👦", 293 | "family_woman_girl": "👩👧", 294 | "family_woman_girl_boy": "👩👧👦", 295 | "family_woman_boy_boy": "👩👦👦", 296 | "family_woman_girl_girl": "👩👧👧", 297 | "family_man_boy": "👨👦", 298 | "family_man_girl": "👨👧", 299 | "family_man_girl_boy": "👨👧👦", 300 | "family_man_boy_boy": "👨👦👦", 301 | "family_man_girl_girl": "👨👧👧", 302 | "womans_clothes": "👚", 303 | "shirt": "👕", 304 | "tshirt": "👕", 305 | "jeans": "👖", 306 | "necktie": "👔", 307 | "dress": "👗", 308 | "bikini": "👙", 309 | "kimono": "👘", 310 | "high_heel": "👠", 311 | "sandal": "👡", 312 | "boot": "👢", 313 | "mans_shoe": "👞", 314 | "shoe": "👞", 315 | "athletic_shoe": "👟", 316 | "womans_hat": "👒", 317 | "tophat": "🎩", 318 | "mortar_board": "🎓", 319 | "crown": "👑", 320 | "rescue_worker_helmet": "⛑", 321 | "school_satchel": "🎒", 322 | "pouch": "👝", 323 | "purse": "👛", 324 | "handbag": "👜", 325 | "briefcase": "💼", 326 | "eyeglasses": "👓", 327 | "dark_sunglasses": "🕶", 328 | "closed_umbrella": "🌂", 329 | "open_umbrella": "☂️", 330 | "dog": "🐶", 331 | "cat": "🐱", 332 | "mouse": "🐭", 333 | "hamster": "🐹", 334 | "rabbit": "🐰", 335 | "fox_face": "🦊", 336 | "bear": "🐻", 337 | "panda_face": "🐼", 338 | "koala": "🐨", 339 | "tiger": "🐯", 340 | "lion": "🦁", 341 | "cow": "🐮", 342 | "pig": "🐷", 343 | "pig_nose": "🐽", 344 | "frog": "🐸", 345 | "monkey_face": "🐵", 346 | "see_no_evil": "🙈", 347 | "hear_no_evil": "🙉", 348 | "speak_no_evil": "🙊", 349 | "monkey": "🐒", 350 | "chicken": "🐔", 351 | "penguin": "🐧", 352 | "bird": "🐦", 353 | "baby_chick": "🐤", 354 | "hatching_chick": "🐣", 355 | "hatched_chick": "🐥", 356 | "duck": "🦆", 357 | "eagle": "🦅", 358 | "owl": "🦉", 359 | "bat": "🦇", 360 | "wolf": "🐺", 361 | "boar": "🐗", 362 | "horse": "🐴", 363 | "unicorn": "🦄", 364 | "bee": "🐝", 365 | "honeybee": "🐝", 366 | "bug": "🐛", 367 | "butterfly": "🦋", 368 | "snail": "🐌", 369 | "shell": "🐚", 370 | "beetle": "🐞", 371 | "ant": "🐜", 372 | "spider": "🕷", 373 | "spider_web": "🕸", 374 | "turtle": "🐢", 375 | "snake": "🐍", 376 | "lizard": "🦎", 377 | "scorpion": "🦂", 378 | "crab": "🦀", 379 | "squid": "🦑", 380 | "octopus": "🐙", 381 | "shrimp": "🦐", 382 | "tropical_fish": "🐠", 383 | "fish": "🐟", 384 | "blowfish": "🐡", 385 | "dolphin": "🐬", 386 | "flipper": "🐬", 387 | "shark": "🦈", 388 | "whale": "🐳", 389 | "whale2": "🐋", 390 | "crocodile": "🐊", 391 | "leopard": "🐆", 392 | "tiger2": "🐅", 393 | "water_buffalo": "🐃", 394 | "ox": "🐂", 395 | "cow2": "🐄", 396 | "deer": "🦌", 397 | "dromedary_camel": "🐪", 398 | "camel": "🐫", 399 | "elephant": "🐘", 400 | "rhinoceros": "🦏", 401 | "gorilla": "🦍", 402 | "racehorse": "🐎", 403 | "pig2": "🐖", 404 | "goat": "🐐", 405 | "ram": "🐏", 406 | "sheep": "🐑", 407 | "dog2": "🐕", 408 | "poodle": "🐩", 409 | "cat2": "🐈", 410 | "rooster": "🐓", 411 | "turkey": "🦃", 412 | "dove": "🕊", 413 | "rabbit2": "🐇", 414 | "mouse2": "🐁", 415 | "rat": "🐀", 416 | "chipmunk": "🐿", 417 | "feet": "🐾", 418 | "paw_prints": "🐾", 419 | "dragon": "🐉", 420 | "dragon_face": "🐲", 421 | "cactus": "🌵", 422 | "christmas_tree": "🎄", 423 | "evergreen_tree": "🌲", 424 | "deciduous_tree": "🌳", 425 | "palm_tree": "🌴", 426 | "seedling": "🌱", 427 | "herb": "🌿", 428 | "shamrock": "☘️", 429 | "four_leaf_clover": "🍀", 430 | "bamboo": "🎍", 431 | "tanabata_tree": "🎋", 432 | "leaves": "🍃", 433 | "fallen_leaf": "🍂", 434 | "maple_leaf": "🍁", 435 | "mushroom": "🍄", 436 | "ear_of_rice": "🌾", 437 | "bouquet": "💐", 438 | "tulip": "🌷", 439 | "rose": "🌹", 440 | "wilted_flower": "🥀", 441 | "sunflower": "🌻", 442 | "blossom": "🌼", 443 | "cherry_blossom": "🌸", 444 | "hibiscus": "🌺", 445 | "earth_americas": "🌎", 446 | "earth_africa": "🌍", 447 | "earth_asia": "🌏", 448 | "full_moon": "🌕", 449 | "waning_gibbous_moon": "🌖", 450 | "last_quarter_moon": "🌗", 451 | "waning_crescent_moon": "🌘", 452 | "new_moon": "🌑", 453 | "waxing_crescent_moon": "🌒", 454 | "first_quarter_moon": "🌓", 455 | "moon": "🌔", 456 | "waxing_gibbous_moon": "🌔", 457 | "new_moon_with_face": "🌚", 458 | "full_moon_with_face": "🌝", 459 | "sun_with_face": "🌞", 460 | "first_quarter_moon_with_face": "🌛", 461 | "last_quarter_moon_with_face": "🌜", 462 | "crescent_moon": "🌙", 463 | "dizzy": "💫", 464 | "star": "⭐️", 465 | "star2": "🌟", 466 | "sparkles": "✨", 467 | "zap": "⚡️", 468 | "fire": "🔥", 469 | "boom": "💥", 470 | "collision": "💥", 471 | "comet": "☄", 472 | "sunny": "☀️", 473 | "sun_behind_small_cloud": "🌤", 474 | "partly_sunny": "⛅️", 475 | "sun_behind_large_cloud": "🌥", 476 | "sun_behind_rain_cloud": "🌦", 477 | "rainbow": "🌈", 478 | "cloud": "☁️", 479 | "cloud_with_rain": "🌧", 480 | "cloud_with_lightning_and_rain": "⛈", 481 | "cloud_with_lightning": "🌩", 482 | "cloud_with_snow": "🌨", 483 | "snowman_with_snow": "☃️", 484 | "snowman": "⛄️", 485 | "snowflake": "❄️", 486 | "wind_face": "🌬", 487 | "dash": "💨", 488 | "tornado": "🌪", 489 | "fog": "🌫", 490 | "ocean": "🌊", 491 | "droplet": "💧", 492 | "sweat_drops": "💦", 493 | "umbrella": "☔️", 494 | "green_apple": "🍏", 495 | "apple": "🍎", 496 | "pear": "🍐", 497 | "tangerine": "🍊", 498 | "orange": "🍊", 499 | "mandarin": "🍊", 500 | "lemon": "🍋", 501 | "banana": "🍌", 502 | "watermelon": "🍉", 503 | "grapes": "🍇", 504 | "strawberry": "🍓", 505 | "melon": "🍈", 506 | "cherries": "🍒", 507 | "peach": "🍑", 508 | "pineapple": "🍍", 509 | "kiwi_fruit": "🥝", 510 | "avocado": "🥑", 511 | "tomato": "🍅", 512 | "eggplant": "🍆", 513 | "cucumber": "🥒", 514 | "carrot": "🥕", 515 | "corn": "🌽", 516 | "hot_pepper": "🌶", 517 | "potato": "🥔", 518 | "sweet_potato": "🍠", 519 | "chestnut": "🌰", 520 | "peanuts": "🥜", 521 | "honey_pot": "🍯", 522 | "croissant": "🥐", 523 | "bread": "🍞", 524 | "baguette_bread": "🥖", 525 | "cheese": "🧀", 526 | "egg": "🥚", 527 | "fried_egg": "🍳", 528 | "bacon": "🥓", 529 | "pancakes": "🥞", 530 | "fried_shrimp": "🍤", 531 | "poultry_leg": "🍗", 532 | "meat_on_bone": "🍖", 533 | "pizza": "🍕", 534 | "hotdog": "🌭", 535 | "hamburger": "🍔", 536 | "fries": "🍟", 537 | "stuffed_flatbread": "🥙", 538 | "taco": "🌮", 539 | "burrito": "🌯", 540 | "green_salad": "🥗", 541 | "shallow_pan_of_food": "🥘", 542 | "spaghetti": "🍝", 543 | "ramen": "🍜", 544 | "stew": "🍲", 545 | "fish_cake": "🍥", 546 | "sushi": "🍣", 547 | "bento": "🍱", 548 | "curry": "🍛", 549 | "rice": "🍚", 550 | "rice_ball": "🍙", 551 | "rice_cracker": "🍘", 552 | "oden": "🍢", 553 | "dango": "🍡", 554 | "shaved_ice": "🍧", 555 | "ice_cream": "🍨", 556 | "icecream": "🍦", 557 | "cake": "🍰", 558 | "birthday": "🎂", 559 | "custard": "🍮", 560 | "lollipop": "🍭", 561 | "candy": "🍬", 562 | "chocolate_bar": "🍫", 563 | "popcorn": "🍿", 564 | "doughnut": "🍩", 565 | "cookie": "🍪", 566 | "milk_glass": "🥛", 567 | "baby_bottle": "🍼", 568 | "coffee": "☕️", 569 | "tea": "🍵", 570 | "sake": "🍶", 571 | "beer": "🍺", 572 | "beers": "🍻", 573 | "clinking_glasses": "🥂", 574 | "wine_glass": "🍷", 575 | "tumbler_glass": "🥃", 576 | "cocktail": "🍸", 577 | "tropical_drink": "🍹", 578 | "champagne": "🍾", 579 | "spoon": "🥄", 580 | "fork_and_knife": "🍴", 581 | "plate_with_cutlery": "🍽", 582 | "soccer": "⚽️", 583 | "basketball": "🏀", 584 | "football": "🏈", 585 | "baseball": "⚾️", 586 | "tennis": "🎾", 587 | "volleyball": "🏐", 588 | "rugby_football": "🏉", 589 | "8ball": "🎱", 590 | "ping_pong": "🏓", 591 | "badminton": "🏸", 592 | "goal_net": "🥅", 593 | "ice_hockey": "🏒", 594 | "field_hockey": "🏑", 595 | "cricket": "🏏", 596 | "golf": "⛳️", 597 | "bow_and_arrow": "🏹", 598 | "fishing_pole_and_fish": "🎣", 599 | "boxing_glove": "🥊", 600 | "martial_arts_uniform": "🥋", 601 | "ice_skate": "⛸", 602 | "ski": "🎿", 603 | "skier": "⛷", 604 | "snowboarder": "🏂", 605 | "weight_lifting_woman": "🏋️♀️", 606 | "weight_lifting_man": "🏋", 607 | "person_fencing": "🤺", 608 | "women_wrestling": "🤼♀", 609 | "men_wrestling": "🤼♂", 610 | "woman_cartwheeling": "🤸♀", 611 | "man_cartwheeling": "🤸♂", 612 | "basketball_woman": "⛹️♀️", 613 | "basketball_man": "⛹", 614 | "woman_playing_handball": "🤾♀", 615 | "man_playing_handball": "🤾♂", 616 | "golfing_woman": "🏌️♀️", 617 | "golfing_man": "🏌", 618 | "surfing_woman": "🏄♀", 619 | "surfing_man": "🏄", 620 | "surfer": "🏄", 621 | "swimming_woman": "🏊♀", 622 | "swimming_man": "🏊", 623 | "swimmer": "🏊", 624 | "woman_playing_water_polo": "🤽♀", 625 | "man_playing_water_polo": "🤽♂", 626 | "rowing_woman": "🚣♀", 627 | "rowing_man": "🚣", 628 | "rowboat": "🚣", 629 | "horse_racing": "🏇", 630 | "biking_woman": "🚴♀", 631 | "biking_man": "🚴", 632 | "bicyclist": "🚴", 633 | "mountain_biking_woman": "🚵♀", 634 | "mountain_biking_man": "🚵", 635 | "mountain_bicyclist": "🚵", 636 | "running_shirt_with_sash": "🎽", 637 | "medal_sports": "🏅", 638 | "medal_military": "🎖", 639 | "1st_place_medal": "🥇", 640 | "2nd_place_medal": "🥈", 641 | "3rd_place_medal": "🥉", 642 | "trophy": "🏆", 643 | "rosette": "🏵", 644 | "reminder_ribbon": "🎗", 645 | "ticket": "🎫", 646 | "tickets": "🎟", 647 | "circus_tent": "🎪", 648 | "woman_juggling": "🤹♀", 649 | "man_juggling": "🤹♂", 650 | "performing_arts": "🎭", 651 | "art": "🎨", 652 | "clapper": "🎬", 653 | "microphone": "🎤", 654 | "headphones": "🎧", 655 | "musical_score": "🎼", 656 | "musical_keyboard": "🎹", 657 | "drum": "🥁", 658 | "saxophone": "🎷", 659 | "trumpet": "🎺", 660 | "guitar": "🎸", 661 | "violin": "🎻", 662 | "game_die": "🎲", 663 | "dart": "🎯", 664 | "bowling": "🎳", 665 | "video_game": "🎮", 666 | "slot_machine": "🎰", 667 | "car": "🚗", 668 | "red_car": "🚗", 669 | "taxi": "🚕", 670 | "blue_car": "🚙", 671 | "bus": "🚌", 672 | "trolleybus": "🚎", 673 | "racing_car": "🏎", 674 | "police_car": "🚓", 675 | "ambulance": "🚑", 676 | "fire_engine": "🚒", 677 | "minibus": "🚐", 678 | "truck": "🚚", 679 | "articulated_lorry": "🚛", 680 | "tractor": "🚜", 681 | "kick_scooter": "🛴", 682 | "bike": "🚲", 683 | "motor_scooter": "🛵", 684 | "motorcycle": "🏍", 685 | "rotating_light": "🚨", 686 | "oncoming_police_car": "🚔", 687 | "oncoming_bus": "🚍", 688 | "oncoming_automobile": "🚘", 689 | "oncoming_taxi": "🚖", 690 | "aerial_tramway": "🚡", 691 | "mountain_cableway": "🚠", 692 | "suspension_railway": "🚟", 693 | "railway_car": "🚃", 694 | "train": "🚋", 695 | "mountain_railway": "🚞", 696 | "monorail": "🚝", 697 | "bullettrain_side": "🚄", 698 | "bullettrain_front": "🚅", 699 | "light_rail": "🚈", 700 | "steam_locomotive": "🚂", 701 | "train2": "🚆", 702 | "metro": "🚇", 703 | "tram": "🚊", 704 | "station": "🚉", 705 | "helicopter": "🚁", 706 | "small_airplane": "🛩", 707 | "airplane": "✈️", 708 | "flight_departure": "🛫", 709 | "flight_arrival": "🛬", 710 | "rocket": "🚀", 711 | "artificial_satellite": "🛰", 712 | "seat": "💺", 713 | "canoe": "🛶", 714 | "boat": "⛵️", 715 | "sailboat": "⛵️", 716 | "motor_boat": "🛥", 717 | "speedboat": "🚤", 718 | "passenger_ship": "🛳", 719 | "ferry": "⛴", 720 | "ship": "🚢", 721 | "anchor": "⚓️", 722 | "construction": "🚧", 723 | "fuelpump": "⛽️", 724 | "busstop": "🚏", 725 | "vertical_traffic_light": "🚦", 726 | "traffic_light": "🚥", 727 | "world_map": "🗺", 728 | "moyai": "🗿", 729 | "statue_of_liberty": "🗽", 730 | "fountain": "⛲️", 731 | "tokyo_tower": "🗼", 732 | "european_castle": "🏰", 733 | "japanese_castle": "🏯", 734 | "stadium": "🏟", 735 | "ferris_wheel": "🎡", 736 | "roller_coaster": "🎢", 737 | "carousel_horse": "🎠", 738 | "parasol_on_ground": "⛱", 739 | "beach_umbrella": "🏖", 740 | "desert_island": "🏝", 741 | "mountain": "⛰", 742 | "mountain_snow": "🏔", 743 | "mount_fuji": "🗻", 744 | "volcano": "🌋", 745 | "desert": "🏜", 746 | "camping": "🏕", 747 | "tent": "⛺️", 748 | "railway_track": "🛤", 749 | "motorway": "🛣", 750 | "building_construction": "🏗", 751 | "factory": "🏭", 752 | "house": "🏠", 753 | "house_with_garden": "🏡", 754 | "houses": "🏘", 755 | "derelict_house": "🏚", 756 | "office": "🏢", 757 | "department_store": "🏬", 758 | "post_office": "🏣", 759 | "european_post_office": "🏤", 760 | "hospital": "🏥", 761 | "bank": "🏦", 762 | "hotel": "🏨", 763 | "convenience_store": "🏪", 764 | "school": "🏫", 765 | "love_hotel": "🏩", 766 | "wedding": "💒", 767 | "classical_building": "🏛", 768 | "church": "⛪️", 769 | "mosque": "🕌", 770 | "synagogue": "🕍", 771 | "kaaba": "🕋", 772 | "shinto_shrine": "⛩", 773 | "japan": "🗾", 774 | "rice_scene": "🎑", 775 | "national_park": "🏞", 776 | "sunrise": "🌅", 777 | "sunrise_over_mountains": "🌄", 778 | "stars": "🌠", 779 | "sparkler": "🎇", 780 | "fireworks": "🎆", 781 | "city_sunrise": "🌇", 782 | "city_sunset": "🌆", 783 | "cityscape": "🏙", 784 | "night_with_stars": "🌃", 785 | "milky_way": "🌌", 786 | "bridge_at_night": "🌉", 787 | "foggy": "🌁", 788 | "watch": "⌚️", 789 | "iphone": "📱", 790 | "calling": "📲", 791 | "computer": "💻", 792 | "keyboard": "⌨️", 793 | "desktop_computer": "🖥", 794 | "printer": "🖨", 795 | "computer_mouse": "🖱", 796 | "trackball": "🖲", 797 | "joystick": "🕹", 798 | "clamp": "🗜", 799 | "minidisc": "💽", 800 | "floppy_disk": "💾", 801 | "cd": "💿", 802 | "dvd": "📀", 803 | "vhs": "📼", 804 | "camera": "📷", 805 | "camera_flash": "📸", 806 | "video_camera": "📹", 807 | "movie_camera": "🎥", 808 | "film_projector": "📽", 809 | "film_strip": "🎞", 810 | "telephone_receiver": "📞", 811 | "phone": "☎️", 812 | "telephone": "☎️", 813 | "pager": "📟", 814 | "fax": "📠", 815 | "tv": "📺", 816 | "radio": "📻", 817 | "studio_microphone": "🎙", 818 | "level_slider": "🎚", 819 | "control_knobs": "🎛", 820 | "stopwatch": "⏱", 821 | "timer_clock": "⏲", 822 | "alarm_clock": "⏰", 823 | "mantelpiece_clock": "🕰", 824 | "hourglass": "⌛️", 825 | "hourglass_flowing_sand": "⏳", 826 | "satellite": "📡", 827 | "battery": "🔋", 828 | "electric_plug": "🔌", 829 | "bulb": "💡", 830 | "flashlight": "🔦", 831 | "candle": "🕯", 832 | "wastebasket": "🗑", 833 | "oil_drum": "🛢", 834 | "money_with_wings": "💸", 835 | "dollar": "💵", 836 | "yen": "💴", 837 | "euro": "💶", 838 | "pound": "💷", 839 | "moneybag": "💰", 840 | "credit_card": "💳", 841 | "gem": "💎", 842 | "balance_scale": "⚖️", 843 | "wrench": "🔧", 844 | "hammer": "🔨", 845 | "hammer_and_pick": "⚒", 846 | "hammer_and_wrench": "🛠", 847 | "pick": "⛏", 848 | "nut_and_bolt": "🔩", 849 | "gear": "⚙️", 850 | "chains": "⛓", 851 | "gun": "🔫", 852 | "bomb": "💣", 853 | "hocho": "🔪", 854 | "knife": "🔪", 855 | "dagger": "🗡", 856 | "crossed_swords": "⚔️", 857 | "shield": "🛡", 858 | "smoking": "🚬", 859 | "coffin": "⚰️", 860 | "funeral_urn": "⚱️", 861 | "amphora": "🏺", 862 | "crystal_ball": "🔮", 863 | "prayer_beads": "📿", 864 | "barber": "💈", 865 | "alembic": "⚗️", 866 | "telescope": "🔭", 867 | "microscope": "🔬", 868 | "hole": "🕳", 869 | "pill": "💊", 870 | "syringe": "💉", 871 | "thermometer": "🌡", 872 | "toilet": "🚽", 873 | "potable_water": "🚰", 874 | "shower": "🚿", 875 | "bathtub": "🛁", 876 | "bath": "🛀", 877 | "bellhop_bell": "🛎", 878 | "key": "🔑", 879 | "old_key": "🗝", 880 | "door": "🚪", 881 | "couch_and_lamp": "🛋", 882 | "bed": "🛏", 883 | "sleeping_bed": "🛌", 884 | "framed_picture": "🖼", 885 | "shopping": "🛍", 886 | "shopping_cart": "🛒", 887 | "gift": "🎁", 888 | "balloon": "🎈", 889 | "flags": "🎏", 890 | "ribbon": "🎀", 891 | "confetti_ball": "🎊", 892 | "tada": "🎉", 893 | "dolls": "🎎", 894 | "izakaya_lantern": "🏮", 895 | "lantern": "🏮", 896 | "wind_chime": "🎐", 897 | "email": "✉️", 898 | "envelope": "✉️", 899 | "envelope_with_arrow": "📩", 900 | "incoming_envelope": "📨", 901 | "e-mail": "📧", 902 | "love_letter": "💌", 903 | "inbox_tray": "📥", 904 | "outbox_tray": "📤", 905 | "package": "📦", 906 | "label": "🏷", 907 | "mailbox_closed": "📪", 908 | "mailbox": "📫", 909 | "mailbox_with_mail": "📬", 910 | "mailbox_with_no_mail": "📭", 911 | "postbox": "📮", 912 | "postal_horn": "📯", 913 | "scroll": "📜", 914 | "page_with_curl": "📃", 915 | "page_facing_up": "📄", 916 | "bookmark_tabs": "📑", 917 | "bar_chart": "📊", 918 | "chart_with_upwards_trend": "📈", 919 | "chart_with_downwards_trend": "📉", 920 | "spiral_notepad": "🗒", 921 | "spiral_calendar": "🗓", 922 | "calendar": "📆", 923 | "date": "📅", 924 | "card_index": "📇", 925 | "card_file_box": "🗃", 926 | "ballot_box": "🗳", 927 | "file_cabinet": "🗄", 928 | "clipboard": "📋", 929 | "file_folder": "📁", 930 | "open_file_folder": "📂", 931 | "card_index_dividers": "🗂", 932 | "newspaper_roll": "🗞", 933 | "newspaper": "📰", 934 | "notebook": "📓", 935 | "notebook_with_decorative_cover": "📔", 936 | "ledger": "📒", 937 | "closed_book": "📕", 938 | "green_book": "📗", 939 | "blue_book": "📘", 940 | "orange_book": "📙", 941 | "books": "📚", 942 | "book": "📖", 943 | "open_book": "📖", 944 | "bookmark": "🔖", 945 | "link": "🔗", 946 | "paperclip": "📎", 947 | "paperclips": "🖇", 948 | "triangular_ruler": "📐", 949 | "straight_ruler": "📏", 950 | "pushpin": "📌", 951 | "round_pushpin": "📍", 952 | "scissors": "✂️", 953 | "pen": "🖊", 954 | "fountain_pen": "🖋", 955 | "black_nib": "✒️", 956 | "paintbrush": "🖌", 957 | "crayon": "🖍", 958 | "memo": "📝", 959 | "pencil": "📝", 960 | "pencil2": "✏️", 961 | "mag": "🔍", 962 | "mag_right": "🔎", 963 | "lock_with_ink_pen": "🔏", 964 | "closed_lock_with_key": "🔐", 965 | "lock": "🔒", 966 | "unlock": "🔓", 967 | "heart": "❤️", 968 | "yellow_heart": "💛", 969 | "green_heart": "💚", 970 | "blue_heart": "💙", 971 | "purple_heart": "💜", 972 | "black_heart": "🖤", 973 | "broken_heart": "💔", 974 | "heavy_heart_exclamation": "❣️", 975 | "two_hearts": "💕", 976 | "revolving_hearts": "💞", 977 | "heartbeat": "💓", 978 | "heartpulse": "💗", 979 | "sparkling_heart": "💖", 980 | "cupid": "💘", 981 | "gift_heart": "💝", 982 | "heart_decoration": "💟", 983 | "peace_symbol": "☮️", 984 | "latin_cross": "✝️", 985 | "star_and_crescent": "☪️", 986 | "om": "🕉", 987 | "wheel_of_dharma": "☸️", 988 | "star_of_david": "✡️", 989 | "six_pointed_star": "🔯", 990 | "menorah": "🕎", 991 | "yin_yang": "☯️", 992 | "orthodox_cross": "☦️", 993 | "place_of_worship": "🛐", 994 | "ophiuchus": "⛎", 995 | "aries": "♈️", 996 | "taurus": "♉️", 997 | "gemini": "♊️", 998 | "cancer": "♋️", 999 | "leo": "♌️", 1000 | "virgo": "♍️", 1001 | "libra": "♎️", 1002 | "scorpius": "♏️", 1003 | "sagittarius": "♐️", 1004 | "capricorn": "♑️", 1005 | "aquarius": "♒️", 1006 | "pisces": "♓️", 1007 | "id": "🆔", 1008 | "atom_symbol": "⚛️", 1009 | "accept": "🉑", 1010 | "radioactive": "☢️", 1011 | "biohazard": "☣️", 1012 | "mobile_phone_off": "📴", 1013 | "vibration_mode": "📳", 1014 | "eight_pointed_black_star": "✴️", 1015 | "vs": "🆚", 1016 | "white_flower": "💮", 1017 | "ideograph_advantage": "🉐", 1018 | "secret": "㊙️", 1019 | "congratulations": "㊗️", 1020 | "u6e80": "🈵", 1021 | "a": "🅰️", 1022 | "b": "🅱️", 1023 | "ab": "🆎", 1024 | "cl": "🆑", 1025 | "o2": "🅾️", 1026 | "sos": "🆘", 1027 | "x": "❌", 1028 | "o": "⭕️", 1029 | "stop_sign": "🛑", 1030 | "no_entry": "⛔️", 1031 | "name_badge": "📛", 1032 | "no_entry_sign": "🚫", 1033 | "anger": "💢", 1034 | "hotsprings": "♨️", 1035 | "no_pedestrians": "🚷", 1036 | "do_not_litter": "🚯", 1037 | "no_bicycles": "🚳", 1038 | "non-potable_water": "🚱", 1039 | "underage": "🔞", 1040 | "no_mobile_phones": "📵", 1041 | "no_smoking": "🚭", 1042 | "exclamation": "❗️", 1043 | "heavy_exclamation_mark": "❗️", 1044 | "grey_exclamation": "❕", 1045 | "question": "❓", 1046 | "grey_question": "❔", 1047 | "bangbang": "‼️", 1048 | "interrobang": "⁉️", 1049 | "low_brightness": "🔅", 1050 | "high_brightness": "🔆", 1051 | "part_alternation_mark": "〽️", 1052 | "warning": "⚠️", 1053 | "children_crossing": "🚸", 1054 | "trident": "🔱", 1055 | "fleur_de_lis": "⚜️", 1056 | "beginner": "🔰", 1057 | "recycle": "♻️", 1058 | "white_check_mark": "✅", 1059 | "chart": "💹", 1060 | "sparkle": "❇️", 1061 | "eight_spoked_asterisk": "✳️", 1062 | "negative_squared_cross_mark": "❎", 1063 | "globe_with_meridians": "🌐", 1064 | "diamond_shape_with_a_dot_inside": "💠", 1065 | "m": "Ⓜ️", 1066 | "cyclone": "🌀", 1067 | "zzz": "💤", 1068 | "atm": "🏧", 1069 | "wc": "🚾", 1070 | "wheelchair": "♿️", 1071 | "parking": "🅿️", 1072 | "sa": "🈂️", 1073 | "passport_control": "🛂", 1074 | "customs": "🛃", 1075 | "baggage_claim": "🛄", 1076 | "left_luggage": "🛅", 1077 | "mens": "🚹", 1078 | "womens": "🚺", 1079 | "baby_symbol": "🚼", 1080 | "restroom": "🚻", 1081 | "put_litter_in_its_place": "🚮", 1082 | "cinema": "🎦", 1083 | "signal_strength": "📶", 1084 | "koko": "🈁", 1085 | "symbols": "🔣", 1086 | "information_source": "ℹ️", 1087 | "abc": "🔤", 1088 | "abcd": "🔡", 1089 | "capital_abcd": "🔠", 1090 | "ng": "🆖", 1091 | "ok": "🆗", 1092 | "up": "🆙", 1093 | "cool": "🆒", 1094 | "new": "🆕", 1095 | "free": "🆓", 1096 | "zero": "0️⃣", 1097 | "one": "1️⃣", 1098 | "two": "2️⃣", 1099 | "three": "3️⃣", 1100 | "four": "4️⃣", 1101 | "five": "5️⃣", 1102 | "six": "6️⃣", 1103 | "seven": "7️⃣", 1104 | "eight": "8️⃣", 1105 | "nine": "9️⃣", 1106 | "keycap_ten": "🔟", 1107 | "hash": "#️⃣", 1108 | "asterisk": "*️⃣", 1109 | "arrow_forward": "▶️", 1110 | "pause_button": "⏸", 1111 | "play_or_pause_button": "⏯", 1112 | "stop_button": "⏹", 1113 | "record_button": "⏺", 1114 | "next_track_button": "⏭", 1115 | "previous_track_button": "⏮", 1116 | "fast_forward": "⏩", 1117 | "rewind": "⏪", 1118 | "arrow_double_up": "⏫", 1119 | "arrow_double_down": "⏬", 1120 | "arrow_backward": "◀️", 1121 | "arrow_up_small": "🔼", 1122 | "arrow_down_small": "🔽", 1123 | "arrow_right": "➡️", 1124 | "arrow_left": "⬅️", 1125 | "arrow_up": "⬆️", 1126 | "arrow_down": "⬇️", 1127 | "arrow_upper_right": "↗️", 1128 | "arrow_lower_right": "↘️", 1129 | "arrow_lower_left": "↙️", 1130 | "arrow_upper_left": "↖️", 1131 | "arrow_up_down": "↕️", 1132 | "left_right_arrow": "↔️", 1133 | "arrow_right_hook": "↪️", 1134 | "leftwards_arrow_with_hook": "↩️", 1135 | "arrow_heading_up": "⤴️", 1136 | "arrow_heading_down": "⤵️", 1137 | "twisted_rightwards_arrows": "🔀", 1138 | "repeat": "🔁", 1139 | "repeat_one": "🔂", 1140 | "arrows_counterclockwise": "🔄", 1141 | "arrows_clockwise": "🔃", 1142 | "musical_note": "🎵", 1143 | "notes": "🎶", 1144 | "heavy_plus_sign": "➕", 1145 | "heavy_minus_sign": "➖", 1146 | "heavy_division_sign": "➗", 1147 | "heavy_multiplication_x": "✖️", 1148 | "heavy_dollar_sign": "💲", 1149 | "currency_exchange": "💱", 1150 | "tm": "™️", 1151 | "copyright": "©️", 1152 | "registered": "®️", 1153 | "wavy_dash": "〰️", 1154 | "curly_loop": "➰", 1155 | "loop": "➿", 1156 | "end": "🔚", 1157 | "back": "🔙", 1158 | "on": "🔛", 1159 | "top": "🔝", 1160 | "soon": "🔜", 1161 | "heavy_check_mark": "✔️", 1162 | "ballot_box_with_check": "☑️", 1163 | "radio_button": "🔘", 1164 | "white_circle": "⚪️", 1165 | "black_circle": "⚫️", 1166 | "red_circle": "🔴", 1167 | "large_blue_circle": "🔵", 1168 | "small_red_triangle": "🔺", 1169 | "small_red_triangle_down": "🔻", 1170 | "small_orange_diamond": "🔸", 1171 | "small_blue_diamond": "🔹", 1172 | "large_orange_diamond": "🔶", 1173 | "large_blue_diamond": "🔷", 1174 | "white_square_button": "🔳", 1175 | "black_square_button": "🔲", 1176 | "black_small_square": "▪️", 1177 | "white_small_square": "▫️", 1178 | "black_medium_small_square": "◾️", 1179 | "white_medium_small_square": "◽️", 1180 | "black_medium_square": "◼️", 1181 | "white_medium_square": "◻️", 1182 | "black_large_square": "⬛️", 1183 | "white_large_square": "⬜️", 1184 | "speaker": "🔈", 1185 | "mute": "🔇", 1186 | "sound": "🔉", 1187 | "loud_sound": "🔊", 1188 | "bell": "🔔", 1189 | "no_bell": "🔕", 1190 | "mega": "📣", 1191 | "loudspeaker": "📢", 1192 | "eye_speech_bubble": "👁🗨", 1193 | "speech_balloon": "💬", 1194 | "thought_balloon": "💭", 1195 | "right_anger_bubble": "🗯", 1196 | "spades": "♠️", 1197 | "clubs": "♣️", 1198 | "hearts": "♥️", 1199 | "diamonds": "♦️", 1200 | "black_joker": "🃏", 1201 | "flower_playing_cards": "🎴", 1202 | "mahjong": "🀄️", 1203 | "clock1": "🕐", 1204 | "clock2": "🕑", 1205 | "clock3": "🕒", 1206 | "clock4": "🕓", 1207 | "clock5": "🕔", 1208 | "clock6": "🕕", 1209 | "clock7": "🕖", 1210 | "clock8": "🕗", 1211 | "clock9": "🕘", 1212 | "clock10": "🕙", 1213 | "clock11": "🕚", 1214 | "clock12": "🕛", 1215 | "clock130": "🕜", 1216 | "clock230": "🕝", 1217 | "clock330": "🕞", 1218 | "clock430": "🕟", 1219 | "clock530": "🕠", 1220 | "clock630": "🕡", 1221 | "clock730": "🕢", 1222 | "clock830": "🕣", 1223 | "clock930": "🕤", 1224 | "clock1030": "🕥", 1225 | "clock1130": "🕦", 1226 | "clock1230": "🕧", 1227 | "white_flag": "🏳️", 1228 | "black_flag": "🏴", 1229 | "checkered_flag": "🏁", 1230 | "triangular_flag_on_post": "🚩", 1231 | "rainbow_flag": "🏳️🌈", 1232 | "afghanistan": "🇦🇫", 1233 | "aland_islands": "🇦🇽", 1234 | "albania": "🇦🇱", 1235 | "algeria": "🇩🇿", 1236 | "american_samoa": "🇦🇸", 1237 | "andorra": "🇦🇩", 1238 | "angola": "🇦🇴", 1239 | "anguilla": "🇦🇮", 1240 | "antarctica": "🇦🇶", 1241 | "antigua_barbuda": "🇦🇬", 1242 | "argentina": "🇦🇷", 1243 | "armenia": "🇦🇲", 1244 | "aruba": "🇦🇼", 1245 | "australia": "🇦🇺", 1246 | "austria": "🇦🇹", 1247 | "azerbaijan": "🇦🇿", 1248 | "bahamas": "🇧🇸", 1249 | "bahrain": "🇧🇭", 1250 | "bangladesh": "🇧🇩", 1251 | "barbados": "🇧🇧", 1252 | "belarus": "🇧🇾", 1253 | "belgium": "🇧🇪", 1254 | "belize": "🇧🇿", 1255 | "benin": "🇧🇯", 1256 | "bermuda": "🇧🇲", 1257 | "bhutan": "🇧🇹", 1258 | "bolivia": "🇧🇴", 1259 | "caribbean_netherlands": "🇧🇶", 1260 | "bosnia_herzegovina": "🇧🇦", 1261 | "botswana": "🇧🇼", 1262 | "brazil": "🇧🇷", 1263 | "british_indian_ocean_territory": "🇮🇴", 1264 | "british_virgin_islands": "🇻🇬", 1265 | "brunei": "🇧🇳", 1266 | "bulgaria": "🇧🇬", 1267 | "burkina_faso": "🇧🇫", 1268 | "burundi": "🇧🇮", 1269 | "cape_verde": "🇨🇻", 1270 | "cambodia": "🇰🇭", 1271 | "cameroon": "🇨🇲", 1272 | "canada": "🇨🇦", 1273 | "canary_islands": "🇮🇨", 1274 | "cayman_islands": "🇰🇾", 1275 | "central_african_republic": "🇨🇫", 1276 | "chad": "🇹🇩", 1277 | "chile": "🇨🇱", 1278 | "cn": "🇨🇳", 1279 | "christmas_island": "🇨🇽", 1280 | "cocos_islands": "🇨🇨", 1281 | "colombia": "🇨🇴", 1282 | "comoros": "🇰🇲", 1283 | "congo_brazzaville": "🇨🇬", 1284 | "congo_kinshasa": "🇨🇩", 1285 | "cook_islands": "🇨🇰", 1286 | "costa_rica": "🇨🇷", 1287 | "cote_divoire": "🇨🇮", 1288 | "croatia": "🇭🇷", 1289 | "cuba": "🇨🇺", 1290 | "curacao": "🇨🇼", 1291 | "cyprus": "🇨🇾", 1292 | "czech_republic": "🇨🇿", 1293 | "denmark": "🇩🇰", 1294 | "djibouti": "🇩🇯", 1295 | "dominica": "🇩🇲", 1296 | "dominican_republic": "🇩🇴", 1297 | "ecuador": "🇪🇨", 1298 | "egypt": "🇪🇬", 1299 | "el_salvador": "🇸🇻", 1300 | "equatorial_guinea": "🇬🇶", 1301 | "eritrea": "🇪🇷", 1302 | "estonia": "🇪🇪", 1303 | "ethiopia": "🇪🇹", 1304 | "eu": "🇪🇺", 1305 | "european_union": "🇪🇺", 1306 | "falkland_islands": "🇫🇰", 1307 | "faroe_islands": "🇫🇴", 1308 | "fiji": "🇫🇯", 1309 | "finland": "🇫🇮", 1310 | "fr": "🇫🇷", 1311 | "french_guiana": "🇬🇫", 1312 | "french_polynesia": "🇵🇫", 1313 | "french_southern_territories": "🇹🇫", 1314 | "gabon": "🇬🇦", 1315 | "gambia": "🇬🇲", 1316 | "georgia": "🇬🇪", 1317 | "de": "🇩🇪", 1318 | "ghana": "🇬🇭", 1319 | "gibraltar": "🇬🇮", 1320 | "greece": "🇬🇷", 1321 | "greenland": "🇬🇱", 1322 | "grenada": "🇬🇩", 1323 | "guadeloupe": "🇬🇵", 1324 | "guam": "🇬🇺", 1325 | "guatemala": "🇬🇹", 1326 | "guernsey": "🇬🇬", 1327 | "guinea": "🇬🇳", 1328 | "guinea_bissau": "🇬🇼", 1329 | "guyana": "🇬🇾", 1330 | "haiti": "🇭🇹", 1331 | "honduras": "🇭🇳", 1332 | "hong_kong": "🇭🇰", 1333 | "hungary": "🇭🇺", 1334 | "iceland": "🇮🇸", 1335 | "india": "🇮🇳", 1336 | "indonesia": "🇮🇩", 1337 | "iran": "🇮🇷", 1338 | "iraq": "🇮🇶", 1339 | "ireland": "🇮🇪", 1340 | "isle_of_man": "🇮🇲", 1341 | "israel": "🇮🇱", 1342 | "it": "🇮🇹", 1343 | "jamaica": "🇯🇲", 1344 | "jp": "🇯🇵", 1345 | "crossed_flags": "🎌", 1346 | "jersey": "🇯🇪", 1347 | "jordan": "🇯🇴", 1348 | "kazakhstan": "🇰🇿", 1349 | "kenya": "🇰🇪", 1350 | "kiribati": "🇰🇮", 1351 | "kosovo": "🇽🇰", 1352 | "kuwait": "🇰🇼", 1353 | "kyrgyzstan": "🇰🇬", 1354 | "laos": "🇱🇦", 1355 | "latvia": "🇱🇻", 1356 | "lebanon": "🇱🇧", 1357 | "lesotho": "🇱🇸", 1358 | "liberia": "🇱🇷", 1359 | "libya": "🇱🇾", 1360 | "liechtenstein": "🇱🇮", 1361 | "lithuania": "🇱🇹", 1362 | "luxembourg": "🇱🇺", 1363 | "macau": "🇲🇴", 1364 | "macedonia": "🇲🇰", 1365 | "madagascar": "🇲🇬", 1366 | "malawi": "🇲🇼", 1367 | "malaysia": "🇲🇾", 1368 | "maldives": "🇲🇻", 1369 | "mali": "🇲🇱", 1370 | "malta": "🇲🇹", 1371 | "marshall_islands": "🇲🇭", 1372 | "martinique": "🇲🇶", 1373 | "mauritania": "🇲🇷", 1374 | "mauritius": "🇲🇺", 1375 | "mayotte": "🇾🇹", 1376 | "mexico": "🇲🇽", 1377 | "micronesia": "🇫🇲", 1378 | "moldova": "🇲🇩", 1379 | "monaco": "🇲🇨", 1380 | "mongolia": "🇲🇳", 1381 | "montenegro": "🇲🇪", 1382 | "montserrat": "🇲🇸", 1383 | "morocco": "🇲🇦", 1384 | "mozambique": "🇲🇿", 1385 | "myanmar": "🇲🇲", 1386 | "namibia": "🇳🇦", 1387 | "nauru": "🇳🇷", 1388 | "nepal": "🇳🇵", 1389 | "netherlands": "🇳🇱", 1390 | "new_caledonia": "🇳🇨", 1391 | "new_zealand": "🇳🇿", 1392 | "nicaragua": "🇳🇮", 1393 | "niger": "🇳🇪", 1394 | "nigeria": "🇳🇬", 1395 | "niue": "🇳🇺", 1396 | "norfolk_island": "🇳🇫", 1397 | "northern_mariana_islands": "🇲🇵", 1398 | "north_korea": "🇰🇵", 1399 | "norway": "🇳🇴", 1400 | "oman": "🇴🇲", 1401 | "pakistan": "🇵🇰", 1402 | "palau": "🇵🇼", 1403 | "palestinian_territories": "🇵🇸", 1404 | "panama": "🇵🇦", 1405 | "papua_new_guinea": "🇵🇬", 1406 | "paraguay": "🇵🇾", 1407 | "peru": "🇵🇪", 1408 | "philippines": "🇵🇭", 1409 | "pitcairn_islands": "🇵🇳", 1410 | "poland": "🇵🇱", 1411 | "portugal": "🇵🇹", 1412 | "puerto_rico": "🇵🇷", 1413 | "qatar": "🇶🇦", 1414 | "reunion": "🇷🇪", 1415 | "romania": "🇷🇴", 1416 | "ru": "🇷🇺", 1417 | "rwanda": "🇷🇼", 1418 | "st_barthelemy": "🇧🇱", 1419 | "st_helena": "🇸🇭", 1420 | "st_kitts_nevis": "🇰🇳", 1421 | "st_lucia": "🇱🇨", 1422 | "st_pierre_miquelon": "🇵🇲", 1423 | "st_vincent_grenadines": "🇻🇨", 1424 | "samoa": "🇼🇸", 1425 | "san_marino": "🇸🇲", 1426 | "sao_tome_principe": "🇸🇹", 1427 | "saudi_arabia": "🇸🇦", 1428 | "senegal": "🇸🇳", 1429 | "serbia": "🇷🇸", 1430 | "seychelles": "🇸🇨", 1431 | "sierra_leone": "🇸🇱", 1432 | "singapore": "🇸🇬", 1433 | "sint_maarten": "🇸🇽", 1434 | "slovakia": "🇸🇰", 1435 | "slovenia": "🇸🇮", 1436 | "solomon_islands": "🇸🇧", 1437 | "somalia": "🇸🇴", 1438 | "south_africa": "🇿🇦", 1439 | "south_georgia_south_sandwich_islands": "🇬🇸", 1440 | "kr": "🇰🇷", 1441 | "south_sudan": "🇸🇸", 1442 | "es": "🇪🇸", 1443 | "sri_lanka": "🇱🇰", 1444 | "sudan": "🇸🇩", 1445 | "suriname": "🇸🇷", 1446 | "swaziland": "🇸🇿", 1447 | "sweden": "🇸🇪", 1448 | "switzerland": "🇨🇭", 1449 | "syria": "🇸🇾", 1450 | "taiwan": "🇹🇼", 1451 | "tajikistan": "🇹🇯", 1452 | "tanzania": "🇹🇿", 1453 | "thailand": "🇹🇭", 1454 | "timor_leste": "🇹🇱", 1455 | "togo": "🇹🇬", 1456 | "tokelau": "🇹🇰", 1457 | "tonga": "🇹🇴", 1458 | "trinidad_tobago": "🇹🇹", 1459 | "tunisia": "🇹🇳", 1460 | "tr": "🇹🇷", 1461 | "turkmenistan": "🇹🇲", 1462 | "turks_caicos_islands": "🇹🇨", 1463 | "tuvalu": "🇹🇻", 1464 | "uganda": "🇺🇬", 1465 | "ukraine": "🇺🇦", 1466 | "united_arab_emirates": "🇦🇪", 1467 | "gb": "🇬🇧", 1468 | "uk": "🇬🇧", 1469 | "us": "🇺🇸", 1470 | "us_virgin_islands": "🇻🇮", 1471 | "uruguay": "🇺🇾", 1472 | "uzbekistan": "🇺🇿", 1473 | "vanuatu": "🇻🇺", 1474 | "vatican_city": "🇻🇦", 1475 | "venezuela": "🇻🇪", 1476 | "vietnam": "🇻🇳", 1477 | "wallis_futuna": "🇼🇫", 1478 | "western_sahara": "🇪🇭", 1479 | "yemen": "🇾🇪", 1480 | "zambia": "🇿🇲", 1481 | "zimbabwe": "🇿🇼" 1482 | } -------------------------------------------------------------------------------- /src/emoji/shortcuts.php: -------------------------------------------------------------------------------- 1 | li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} 5 | -------------------------------------------------------------------------------- /src/static/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_AMS-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_AMS-Regular.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_AMS-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_AMS-Regular.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_AMS-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_AMS-Regular.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Caligraphic-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Caligraphic-Bold.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Caligraphic-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Caligraphic-Bold.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Caligraphic-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Caligraphic-Bold.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Caligraphic-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Caligraphic-Regular.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Caligraphic-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Caligraphic-Regular.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Caligraphic-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Caligraphic-Regular.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Fraktur-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Fraktur-Bold.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Fraktur-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Fraktur-Bold.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Fraktur-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Fraktur-Bold.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Fraktur-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Fraktur-Regular.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Fraktur-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Fraktur-Regular.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Fraktur-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Fraktur-Regular.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Main-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Main-Bold.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Main-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Main-Bold.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Main-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Main-Bold.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Main-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Main-BoldItalic.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Main-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Main-BoldItalic.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Main-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Main-BoldItalic.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Main-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Main-Italic.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Main-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Main-Italic.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Main-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Main-Italic.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Main-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Main-Regular.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Main-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Main-Regular.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Main-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Main-Regular.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Math-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Math-BoldItalic.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Math-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Math-BoldItalic.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Math-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Math-BoldItalic.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Math-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Math-Italic.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Math-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Math-Italic.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Math-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Math-Italic.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_SansSerif-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_SansSerif-Bold.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_SansSerif-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_SansSerif-Bold.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_SansSerif-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_SansSerif-Bold.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_SansSerif-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_SansSerif-Italic.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_SansSerif-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_SansSerif-Italic.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_SansSerif-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_SansSerif-Italic.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_SansSerif-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_SansSerif-Regular.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_SansSerif-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_SansSerif-Regular.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_SansSerif-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_SansSerif-Regular.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Script-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Script-Regular.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Script-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Script-Regular.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Script-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Script-Regular.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Size1-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Size1-Regular.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Size1-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Size1-Regular.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Size1-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Size1-Regular.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Size2-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Size2-Regular.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Size2-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Size2-Regular.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Size2-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Size2-Regular.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Size3-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Size3-Regular.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Size3-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Size3-Regular.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Size3-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Size3-Regular.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Size4-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Size4-Regular.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Size4-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Size4-Regular.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Size4-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Size4-Regular.woff2 -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Typewriter-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Typewriter-Regular.ttf -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Typewriter-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Typewriter-Regular.woff -------------------------------------------------------------------------------- /src/static/fonts/KaTeX_Typewriter-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/KaTeX_Typewriter-Regular.woff2 -------------------------------------------------------------------------------- /src/static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/static/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoisyWinds/laravel-smartmd/356e70557b8d5ed1555e449a3f49b37bb9d32159/src/static/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/static/highlight.min.js: -------------------------------------------------------------------------------- 1 | /*! highlight.js v9.11.0 | BSD3 License | git.io/hljslicense */ 2 | !function(e){var t="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):t&&(t.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return t.hljs}))}(function(e){function t(e){return e.replace(/&/g,"&").replace(//g,">")}function r(e){return e.nodeName.toLowerCase()}function a(e,t){var r=e&&e.exec(t);return r&&0===r.index}function n(e){return E.test(e)}function i(e){var t,r,a,i,s=e.className+" ";if(s+=e.parentNode?e.parentNode.className:"",r=M.exec(s))return w(r[1])?r[1]:"no-highlight";for(s=s.split(/\s+/),t=0,a=s.length;a>t;t++)if(i=s[t],n(i)||w(i))return i}function s(e){var t,r={},a=Array.prototype.slice.call(arguments,1);for(t in e)r[t]=e[t];return a.forEach(function(e){for(t in e)r[t]=e[t]}),r}function c(e){var t=[];return function a(e,n){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?n+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:n,node:i}),n=a(i,n),r(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:n,node:i}));return n}(e,0),t}function o(e,a,n){function i(){return e.length&&a.length?e[0].offset!==a[0].offset?e[0].offset"}function c(e){u+=""+r(e)+">"}function o(e){("start"===e.event?s:c)(e.node)}for(var l=0,u="",d=[];e.length||a.length;){var b=i();if(u+=t(n.substring(l,b[0].offset)),l=b[0].offset,b===e){d.reverse().forEach(c);do o(b.splice(0,1)[0]),b=i();while(b===e&&b.length&&b[0].offset===l);d.reverse().forEach(s)}else"start"===b[0].event?d.push(b[0].node):d.pop(),o(b.splice(0,1)[0])}return u+t(n.substr(l))}function l(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(t){return s(e,{v:null},t)})),e.cached_variants||e.eW&&[s(e)]||[e]}function u(e){function t(e){return e&&e.source||e}function r(r,a){return new RegExp(t(r),"m"+(e.cI?"i":"")+(a?"g":""))}function a(n,i){if(!n.compiled){if(n.compiled=!0,n.k=n.k||n.bK,n.k){var s={},c=function(t,r){e.cI&&(r=r.toLowerCase()),r.split(" ").forEach(function(e){var r=e.split("|");s[r[0]]=[t,r[1]?Number(r[1]):1]})};"string"==typeof n.k?c("keyword",n.k):k(n.k).forEach(function(e){c(e,n.k[e])}),n.k=s}n.lR=r(n.l||/\w+/,!0),i&&(n.bK&&(n.b="\\b("+n.bK.split(" ").join("|")+")\\b"),n.b||(n.b=/\B|\b/),n.bR=r(n.b),n.e||n.eW||(n.e=/\B|\b/),n.e&&(n.eR=r(n.e)),n.tE=t(n.e)||"",n.eW&&i.tE&&(n.tE+=(n.e?"|":"")+i.tE)),n.i&&(n.iR=r(n.i)),null==n.r&&(n.r=1),n.c||(n.c=[]),n.c=Array.prototype.concat.apply([],n.c.map(function(e){return l("self"===e?n:e)})),n.c.forEach(function(e){a(e,n)}),n.starts&&a(n.starts,i);var o=n.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([n.tE,n.i]).map(t).filter(Boolean);n.t=o.length?r(o.join("|"),!0):{exec:function(){return null}}}}a(e)}function d(e,r,n,i){function s(e,t){var r,n;for(r=0,n=t.c.length;n>r;r++)if(a(t.c[r].bR,e))return t.c[r]}function c(e,t){if(a(e.eR,t)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?c(e.parent,t):void 0}function o(e,t){return!n&&a(t.iR,e)}function l(e,t){var r=v.cI?t[0].toLowerCase():t[0];return e.k.hasOwnProperty(r)&&e.k[r]}function p(e,t,r,a){var n=a?"":L.classPrefix,i='',i+t+s}function m(){var e,r,a,n;if(!N.k)return t(E);for(n="",r=0,N.lR.lastIndex=0,a=N.lR.exec(E);a;)n+=t(E.substring(r,a.index)),e=l(N,a),e?(M+=e[1],n+=p(e[0],t(a[0]))):n+=t(a[0]),r=N.lR.lastIndex,a=N.lR.exec(E);return n+t(E.substr(r))}function f(){var e="string"==typeof N.sL;if(e&&!x[N.sL])return t(E);var r=e?d(N.sL,E,!0,k[N.sL]):b(E,N.sL.length?N.sL:void 0);return N.r>0&&(M+=r.r),e&&(k[N.sL]=r.top),p(r.language,r.value,!1,!0)}function g(){C+=null!=N.sL?f():m(),E=""}function _(e){C+=e.cN?p(e.cN,"",!0):"",N=Object.create(e,{parent:{value:N}})}function h(e,t){if(E+=e,null==t)return g(),0;var r=s(t,N);if(r)return r.skip?E+=t:(r.eB&&(E+=t),g(),r.rB||r.eB||(E=t)),_(r,t),r.rB?0:t.length;var a=c(N,t);if(a){var n=N;n.skip?E+=t:(n.rE||n.eE||(E+=t),g(),n.eE&&(E=t));do N.cN&&(C+=R),N.skip||(M+=N.r),N=N.parent;while(N!==a.parent);return a.starts&&_(a.starts,""),n.rE?0:t.length}if(o(t,N))throw new Error('Illegal lexeme "'+t+'" for mode "'+(N.cN||"x = 1
"; 15 | $actualMarkup = $extension->text($math); 16 | $this->assertEquals($expectedMarkup, $actualMarkup); 17 | $expectedMarkup = "\ngraph LR\nA-->B```
";
18 | $actualMarkup = $extension->text($flow);
19 | $this->assertEquals($expectedMarkup, $actualMarkup);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------