├── README.md ├── .npmignore ├── .travis.yml ├── index.js ├── rollup.config.js ├── test └── snippets.js ├── .gitignore ├── package.json ├── LICENSE ├── xsl.json ├── html.json └── css.json /README.md: -------------------------------------------------------------------------------- 1 | # Deprecated 2 | 3 | Snippets are moved to Emmet monorepo: https://github.com/emmetio/emmet 4 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.log* 2 | node_modules 3 | jspm_packages 4 | .npm 5 | /test 6 | /*.* 7 | /.* 8 | !/*.json 9 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | sudo: false 3 | node_js: 4 | - "4" 5 | - "5" 6 | - "6" 7 | - "7" 8 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import html from './html.json'; 4 | import css from './css.json'; 5 | import xsl from './xsl.json'; 6 | 7 | export default { html, css, xsl }; 8 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | export default { 4 | entry: './index.js', 5 | plugins: [{ 6 | name: 'json', 7 | transform(code, id) { 8 | return id.slice(-5) === '.json' ? `export default ${code}` : null; 9 | } 10 | }], 11 | targets: [ 12 | {format: 'cjs', dest: 'dist/snippets.cjs.js'}, 13 | {format: 'es', dest: 'dist/snippets.es.js'} 14 | ] 15 | }; 16 | -------------------------------------------------------------------------------- /test/snippets.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const assert = require('assert'); 4 | const html = require('../html.json'); 5 | const css = require('../css.json'); 6 | const xsl = require('../xsl.json'); 7 | const parse = require('@emmetio/abbreviation'); 8 | 9 | // simple check that every abbreviation can be expanded 10 | describe('Snippets', () => { 11 | it('html', () => { 12 | Object.keys(html).forEach(name => { 13 | assert(parse(html[name])); 14 | }); 15 | }); 16 | 17 | it('xsl', () => { 18 | Object.keys(xsl).forEach(name => { 19 | assert(parse(xsl[name])); 20 | }); 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | 6 | # Runtime data 7 | pids 8 | *.pid 9 | *.seed 10 | 11 | # Directory for instrumented libs generated by jscoverage/JSCover 12 | lib-cov 13 | 14 | # Coverage directory used by tools like istanbul 15 | coverage 16 | 17 | # nyc test coverage 18 | .nyc_output 19 | 20 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 21 | .grunt 22 | 23 | # node-waf configuration 24 | .lock-wscript 25 | 26 | # Compiled binary addons (http://nodejs.org/api/addons.html) 27 | build/Release 28 | 29 | # Dependency directories 30 | node_modules 31 | jspm_packages 32 | 33 | # Optional npm cache directory 34 | .npm 35 | 36 | # Optional REPL history 37 | .node_repl_history 38 | /dist 39 | .DS_Store 40 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@emmetio/snippets", 3 | "version": "0.2.11", 4 | "description": "Emmet snippets", 5 | "main": "dist/snippets.cjs.js", 6 | "module": "dist/snippets.es.js", 7 | "scripts": { 8 | "test": "mocha", 9 | "build": "rollup -c", 10 | "prepublish": "npm run test && npm run build" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/emmetio/html-snippets.git" 15 | }, 16 | "keywords": [ 17 | "emmet", 18 | "html", 19 | "snippets" 20 | ], 21 | "author": "Sergey Chikuyonok ", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/emmetio/html-snippets/issues" 25 | }, 26 | "homepage": "https://github.com/emmetio/html-snippets#readme", 27 | "devDependencies": { 28 | "@emmetio/abbreviation": "^0.5.0", 29 | "mocha": "^3.1.2", 30 | "rollup": "^0.41.4" 31 | }, 32 | "directories": { 33 | "test": "test" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Emmet.io 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /xsl.json: -------------------------------------------------------------------------------- 1 | { 2 | "tm|tmatch": "xsl:template[match mode]", 3 | "tn|tname": "xsl:template[name]", 4 | "call": "xsl:call-template[name]", 5 | "ap": "xsl:apply-templates[select mode]", 6 | "api": "xsl:apply-imports", 7 | "imp": "xsl:import[href]", 8 | "inc": "xsl:include[href]", 9 | "ch": "xsl:choose", 10 | "wh|xsl:when": "xsl:when[test]", 11 | "ot": "xsl:otherwise", 12 | "if": "xsl:if[test]", 13 | "par": "xsl:param[name]", 14 | "pare": "xsl:param[name select]", 15 | "var": "xsl:variable[name]", 16 | "vare": "xsl:variable[name select]", 17 | "wp": "xsl:with-param[name select]", 18 | "key": "xsl:key[name match use]", 19 | "elem": "xsl:element[name]", 20 | "attr": "xsl:attribute[name]", 21 | "attrs": "xsl:attribute-set[name]", 22 | "cp": "xsl:copy[select]", 23 | "co": "xsl:copy-of[select]", 24 | "val": "xsl:value-of[select]", 25 | "for|each": "xsl:for-each[select]", 26 | "tex": "xsl:text", 27 | "com": "xsl:comment", 28 | "msg": "xsl:message[terminate=no]", 29 | "fall": "xsl:fallback", 30 | "num": "xsl:number[value]", 31 | "nam": "namespace-alias[stylesheet-prefix result-prefix]", 32 | "pres": "xsl:preserve-space[elements]", 33 | "strip": "xsl:strip-space[elements]", 34 | "proc": "xsl:processing-instruction[name]", 35 | "sort": "xsl:sort[select order]", 36 | "choose": "xsl:choose>xsl:when+xsl:otherwise", 37 | "xsl": "!!!+xsl:stylesheet[version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform]>{\n|}", 38 | "!!!": "{}" 39 | } -------------------------------------------------------------------------------- /html.json: -------------------------------------------------------------------------------- 1 | { 2 | "a": "a[href]", 3 | "a:blank": "a[href='http://${0}' target='_blank' rel='noopener noreferrer']", 4 | "a:link": "a[href='http://${0}']", 5 | "a:mail": "a[href='mailto:${0}']", 6 | "a:tel": "a[href='tel:+${0}']", 7 | "abbr": "abbr[title]", 8 | "acr|acronym": "acronym[title]", 9 | "base": "base[href]/", 10 | "basefont": "basefont/", 11 | "br": "br/", 12 | "frame": "frame/", 13 | "hr": "hr/", 14 | "bdo": "bdo[dir]", 15 | "bdo:r": "bdo[dir=rtl]", 16 | "bdo:l": "bdo[dir=ltr]", 17 | "col": "col/", 18 | "link": "link[rel=stylesheet href]/", 19 | "link:css": "link[href='${1:style}.css']", 20 | "link:print": "link[href='${1:print}.css' media=print]", 21 | "link:favicon": "link[rel='shortcut icon' type=image/x-icon href='${1:favicon.ico}']", 22 | "link:mf|link:manifest": "link[rel='manifest' href='${1:manifest.json}']", 23 | "link:touch": "link[rel=apple-touch-icon href='${1:favicon.png}']", 24 | "link:rss": "link[rel=alternate type=application/rss+xml title=RSS href='${1:rss.xml}']", 25 | "link:atom": "link[rel=alternate type=application/atom+xml title=Atom href='${1:atom.xml}']", 26 | "link:im|link:import": "link[rel=import href='${1:component}.html']", 27 | "meta": "meta/", 28 | "meta:utf": "meta[http-equiv=Content-Type content='text/html;charset=UTF-8']", 29 | "meta:vp": "meta[name=viewport content='width=${1:device-width}, initial-scale=${2:1.0}']", 30 | "meta:compat": "meta[http-equiv=X-UA-Compatible content='${1:IE=7}']", 31 | "meta:edge": "meta:compat[content='${1:ie=edge}']", 32 | "meta:redirect": "meta[http-equiv=refresh content='0; url=${1:http://example.com}']", 33 | "style": "style", 34 | "script": "script[!src]", 35 | "script:src": "script[src]", 36 | "img": "img[src alt]/", 37 | "img:s|img:srcset": "img[srcset src alt]", 38 | "img:z|img:sizes": "img[sizes srcset src alt]", 39 | "picture": "picture", 40 | "src|source": "source/", 41 | "src:sc|source:src": "source[src type]", 42 | "src:s|source:srcset": "source[srcset]", 43 | "src:t|source:type": "source[srcset type='${1:image/}']", 44 | "src:z|source:sizes": "source[sizes srcset]", 45 | "src:m|source:media": "source[media='(${1:min-width: })' srcset]", 46 | "src:mt|source:media:type": "source:media[type='${2:image/}']", 47 | "src:mz|source:media:sizes": "source:media[sizes srcset]", 48 | "src:zt|source:sizes:type": "source[sizes srcset type='${1:image/}']", 49 | "iframe": "iframe[src frameborder=0]", 50 | "embed": "embed[src type]/", 51 | "object": "object[data type]", 52 | "param": "param[name value]/", 53 | "map": "map[name]", 54 | "area": "area[shape coords href alt]/", 55 | "area:d": "area[shape=default]", 56 | "area:c": "area[shape=circle]", 57 | "area:r": "area[shape=rect]", 58 | "area:p": "area[shape=poly]", 59 | "form": "form[action]", 60 | "form:get": "form[method=get]", 61 | "form:post": "form[method=post]", 62 | "label": "label[for]", 63 | "input": "input[type=${1:text}]/", 64 | "inp": "input[name=${1} id=${1}]", 65 | "input:h|input:hidden": "input[type=hidden name]", 66 | "input:t|input:text": "inp[type=text]", 67 | "input:search": "inp[type=search]", 68 | "input:email": "inp[type=email]", 69 | "input:url": "inp[type=url]", 70 | "input:p|input:password": "inp[type=password]", 71 | "input:datetime": "inp[type=datetime]", 72 | "input:date": "inp[type=date]", 73 | "input:datetime-local": "inp[type=datetime-local]", 74 | "input:month": "inp[type=month]", 75 | "input:week": "inp[type=week]", 76 | "input:time": "inp[type=time]", 77 | "input:tel": "inp[type=tel]", 78 | "input:number": "inp[type=number]", 79 | "input:color": "inp[type=color]", 80 | "input:c|input:checkbox": "inp[type=checkbox]", 81 | "input:r|input:radio": "inp[type=radio]", 82 | "input:range": "inp[type=range]", 83 | "input:f|input:file": "inp[type=file]", 84 | "input:s|input:submit": "input[type=submit value]", 85 | "input:i|input:image": "input[type=image src alt]", 86 | "input:b|input:button": "input[type=button value]", 87 | "input:reset": "input:button[type=reset]", 88 | "isindex": "isindex/", 89 | "select": "select[name=${1} id=${1}]", 90 | "select:d|select:disabled": "select[disabled.]", 91 | "opt|option": "option[value]", 92 | "textarea": "textarea[name=${1} id=${1} cols=${2:30} rows=${3:10}]", 93 | "marquee": "marquee[behavior direction]", 94 | "menu:c|menu:context": "menu[type=context]", 95 | "menu:t|menu:toolbar": "menu[type=toolbar]", 96 | "video": "video[src]", 97 | "audio": "audio[src]", 98 | "html:xml": "html[xmlns=http://www.w3.org/1999/xhtml]", 99 | "keygen": "keygen/", 100 | "command": "command/", 101 | "btn:s|button:s|button:submit" : "button[type=submit]", 102 | "btn:r|button:r|button:reset" : "button[type=reset]", 103 | "btn:b|button:b|button:button" : "button[type=button]", 104 | "btn:d|button:d|button:disabled" : "button[disabled.]", 105 | "fst:d|fset:d|fieldset:d|fieldset:disabled" : "fieldset[disabled.]", 106 | 107 | "bq": "blockquote", 108 | "fig": "figure", 109 | "figc": "figcaption", 110 | "pic": "picture", 111 | "ifr": "iframe", 112 | "emb": "embed", 113 | "obj": "object", 114 | "cap": "caption", 115 | "colg": "colgroup", 116 | "fst": "fieldset", 117 | "btn": "button", 118 | "optg": "optgroup", 119 | "tarea": "textarea", 120 | "leg": "legend", 121 | "sect": "section", 122 | "art": "article", 123 | "hdr": "header", 124 | "ftr": "footer", 125 | "adr": "address", 126 | "dlg": "dialog", 127 | "str": "strong", 128 | "prog": "progress", 129 | "mn": "main", 130 | "tem": "template", 131 | "fset": "fieldset", 132 | "datag": "datagrid", 133 | "datal": "datalist", 134 | "kg": "keygen", 135 | "out": "output", 136 | "det": "details", 137 | "cmd": "command", 138 | 139 | "ri:d|ri:dpr": "img:s", 140 | "ri:v|ri:viewport": "img:z", 141 | "ri:a|ri:art": "pic>src:m+img", 142 | "ri:t|ri:type": "pic>src:t+img", 143 | 144 | "!!!": "{}", 145 | "doc": "html[lang=${lang}]>(head>meta[charset=${charset}]+meta:vp+title{${1:Document}})+body", 146 | "!|html:5": "!!!+doc", 147 | 148 | "c": "{}", 149 | "cc:ie": "{}", 150 | "cc:noie": "{${0}}" 151 | } 152 | -------------------------------------------------------------------------------- /css.json: -------------------------------------------------------------------------------- 1 | { 2 | "@f": "@font-face {\n\tfont-family: ${1};\n\tsrc: url(${1});\n}", 3 | "@ff": "@font-face {\n\tfont-family: '${1:FontName}';\n\tsrc: url('${2:FileName}.eot');\n\tsrc: url('${2:FileName}.eot?#iefix') format('embedded-opentype'),\n\t\t url('${2:FileName}.woff') format('woff'),\n\t\t url('${2:FileName}.ttf') format('truetype'),\n\t\t url('${2:FileName}.svg#${1:FontName}') format('svg');\n\tfont-style: ${3:normal};\n\tfont-weight: ${4:normal};\n}", 4 | "@i|@import": "@import url(${0});", 5 | "@kf": "@keyframes ${1:identifier} {\n\t${2}\n}", 6 | "@m|@media": "@media ${1:screen} {\n\t${0}\n}", 7 | "ac": "align-content:start|end|flex-start|flex-end|center|space-between|space-around|stretch|space-evenly", 8 | "ai": "align-items:start|end|flex-start|flex-end|center|baseline|stretch", 9 | "anim": "animation:${1:name} ${2:duration} ${3:timing-function} ${4:delay} ${5:iteration-count} ${6:direction} ${7:fill-mode}", 10 | "animdel": "animation-delay:${1:time}", 11 | "animdir": "animation-direction:normal|reverse|alternate|alternate-reverse", 12 | "animdur": "animation-duration:${1:0}s", 13 | "animfm": "animation-fill-mode:both|forwards|backwards", 14 | "animic": "animation-iteration-count:1|infinite", 15 | "animn": "animation-name", 16 | "animps": "animation-play-state:running|paused", 17 | "animtf": "animation-timing-function:linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(${1:0.1}, ${2:0.7}, ${3:1.0}, ${3:0.1})", 18 | "ap": "appearance:none", 19 | "as": "align-self:start|end|auto|flex-start|flex-end|center|baseline|stretch", 20 | "b": "bottom", 21 | "bd": "border:${1:1px} ${2:solid} ${3:#000}", 22 | "bdb": "border-bottom:${1:1px} ${2:solid} ${3:#000}", 23 | "bdbc": "border-bottom-color:${1:#000}", 24 | "bdbi": "border-bottom-image:url(${0})", 25 | "bdbk": "border-break:close", 26 | "bdbli": "border-bottom-left-image:url(${0})|continue", 27 | "bdblrs": "border-bottom-left-radius", 28 | "bdbri": "border-bottom-right-image:url(${0})|continue", 29 | "bdbrrs": "border-bottom-right-radius", 30 | "bdbs": "border-bottom-style", 31 | "bdbw": "border-bottom-width", 32 | "bdc": "border-color:${1:#000}", 33 | "bdci": "border-corner-image:url(${0})|continue", 34 | "bdcl": "border-collapse:collapse|separate", 35 | "bdf": "border-fit:repeat|clip|scale|stretch|overwrite|overflow|space", 36 | "bdi": "border-image:url(${0})", 37 | "bdl": "border-left:${1:1px} ${2:solid} ${3:#000}", 38 | "bdlc": "border-left-color:${1:#000}", 39 | "bdlen": "border-length", 40 | "bdli": "border-left-image:url(${0})", 41 | "bdls": "border-left-style", 42 | "bdlw": "border-left-width", 43 | "bdr": "border-right:${1:1px} ${2:solid} ${3:#000}", 44 | "bdrc": "border-right-color:${1:#000}", 45 | "bdri": "border-right-image:url(${0})", 46 | "bdrs": "border-radius", 47 | "bdrst": "border-right-style", 48 | "bdrw": "border-right-width", 49 | "bds": "border-style:none|hidden|dotted|dashed|solid|double|dot-dash|dot-dot-dash|wave|groove|ridge|inset|outset", 50 | "bdsp": "border-spacing", 51 | "bdt": "border-top:${1:1px} ${2:solid} ${3:#000}", 52 | "bdtc": "border-top-color:${1:#000}", 53 | "bdti": "border-top-image:url(${0})", 54 | "bdtli": "border-top-left-image:url(${0})|continue", 55 | "bdtlrs": "border-top-left-radius", 56 | "bdtri": "border-top-right-image:url(${0})|continue", 57 | "bdtrrs": "border-top-right-radius", 58 | "bdts": "border-top-style", 59 | "bdtw": "border-top-width", 60 | "bdw": "border-width", 61 | "bfv": "backface-visibility:hidden|visible", 62 | "bg": "background:${1:#000}", 63 | "bga": "background-attachment:fixed|scroll", 64 | "bgbk": "background-break:bounding-box|each-box|continuous", 65 | "bgc": "background-color:#${1:fff}", 66 | "bgcp": "background-clip:padding-box|border-box|content-box|no-clip", 67 | "bgi": "background-image:url(${0})", 68 | "bgo": "background-origin:padding-box|border-box|content-box", 69 | "bgp": "background-position:${1:0} ${2:0}", 70 | "bgpx": "background-position-x", 71 | "bgpy": "background-position-y", 72 | "bgr": "background-repeat:no-repeat|repeat-x|repeat-y|space|round", 73 | "bgsz": "background-size:contain|cover", 74 | "bxsh": "box-shadow:${1:inset }${2:hoff} ${3:voff} ${4:blur} ${5:#000}|none", 75 | "bxsz": "box-sizing:border-box|content-box|border-box", 76 | "c": "color:${1:#000}", 77 | "cl": "clear:both|left|right|none", 78 | "cm": "/* ${0} */", 79 | "cnt": "content:'${0}'|normal|open-quote|no-open-quote|close-quote|no-close-quote|attr(${0})|counter(${0})|counters({$0})", 80 | "coi": "counter-increment", 81 | "colm": "columns", 82 | "colmc": "column-count", 83 | "colmf": "column-fill", 84 | "colmg": "column-gap", 85 | "colmr": "column-rule", 86 | "colmrc": "column-rule-color", 87 | "colmrs": "column-rule-style", 88 | "colmrw": "column-rule-width", 89 | "colms": "column-span", 90 | "colmw": "column-width", 91 | "cor": "counter-reset", 92 | "cp": "clip:auto|rect(${1:top} ${2:right} ${3:bottom} ${4:left})", 93 | "cps": "caption-side:top|bottom", 94 | "cur": "cursor:pointer|auto|default|crosshair|hand|help|move|pointer|text", 95 | "d": "display:grid|inline-grid|subgrid|block|none|flex|inline-flex|inline|inline-block|list-item|run-in|compact|table|inline-table|table-caption|table-column|table-column-group|table-header-group|table-footer-group|table-row|table-row-group|table-cell|ruby|ruby-base|ruby-base-group|ruby-text|ruby-text-group", 96 | "ec": "empty-cells:show|hide", 97 | "f": "font:${1:1em} ${2:sans-serif}", 98 | "fd": "font-display:auto|block|swap|fallback|optional", 99 | "fef": "font-effect:none|engrave|emboss|outline", 100 | "fem": "font-emphasize", 101 | "femp": "font-emphasize-position:before|after", 102 | "fems": "font-emphasize-style:none|accent|dot|circle|disc", 103 | "ff": "font-family:serif|sans-serif|cursive|fantasy|monospace", 104 | "fft": "font-family:\"Times New Roman\", Times, Baskerville, Georgia, serif", 105 | "ffa": "font-family:Arial, \"Helvetica Neue\", Helvetica, sans-serif", 106 | "ffv": "font-family:Verdana, Geneva, sans-serif", 107 | "fl": "float:left|right|none", 108 | "fs": "font-style:italic|normal|oblique", 109 | "fsm": "font-smoothing:antialiased|subpixel-antialiased|none", 110 | "fst": "font-stretch:normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded", 111 | "fv": "font-variant:normal|small-caps", 112 | "fvs": "font-variation-settings:normal|inherit|initial|unset", 113 | "fw": "font-weight:normal|bold|bolder|lighter", 114 | "fx": "flex", 115 | "fxb": "flex-basis:fill|max-content|min-content|fit-content|content", 116 | "fxd": "flex-direction:row|row-reverse|column|column-reverse", 117 | "fxf": "flex-flow", 118 | "fxg": "flex-grow", 119 | "fxsh": "flex-shrink", 120 | "fxw": "flex-wrap:nowrap|wrap|wrap-reverse", 121 | "fz": "font-size", 122 | "fza": "font-size-adjust", 123 | "gtc": "grid-template-columns:repeat()|minmax()", 124 | "gtr": "grid-template-rows:repeat()|minmax()", 125 | "gta": "grid-template-areas", 126 | "gt": "grid-template", 127 | "gg": "grid-gap", 128 | "gcg": "grid-column-gap", 129 | "grg": "grid-row-gap", 130 | "gac": "grid-auto-columns:auto|minmax()", 131 | "gar": "grid-auto-rows:auto|minmax()", 132 | "gaf": "grid-auto-flow:row|column|dense|inherit|initial|unset", 133 | "gd": "grid", 134 | "gc": "grid-column", 135 | "gcs": "grid-column-start", 136 | "gce": "grid-column-end", 137 | "gr": "grid-row", 138 | "grs": "grid-row-start", 139 | "gre": "grid-row-end", 140 | "ga": "grid-area", 141 | "h": "height", 142 | "jc": "justify-content:start|end|stretch|flex-start|flex-end|center|space-between|space-around|space-evenly", 143 | "ji": "justify-items:start|end|center|stretch", 144 | "js": "justify-self:start|end|center|stretch", 145 | "l": "left", 146 | "lg": "background-image:linear-gradient(${1})", 147 | "lh": "line-height", 148 | "lis": "list-style", 149 | "lisi": "list-style-image", 150 | "lisp": "list-style-position:inside|outside", 151 | "list": "list-style-type:disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman", 152 | "lts": "letter-spacing:normal", 153 | "m": "margin", 154 | "mah": "max-height", 155 | "mar": "max-resolution", 156 | "maw": "max-width", 157 | "mb": "margin-bottom", 158 | "mih": "min-height", 159 | "mir": "min-resolution", 160 | "miw": "min-width", 161 | "ml": "margin-left", 162 | "mr": "margin-right", 163 | "mt": "margin-top", 164 | "ol": "outline", 165 | "olc": "outline-color:${1:#000}|invert", 166 | "olo": "outline-offset", 167 | "ols": "outline-style:none|dotted|dashed|solid|double|groove|ridge|inset|outset", 168 | "olw": "outline-width|thin|medium|thick", 169 | "op": "opacity", 170 | "ord": "order", 171 | "ori": "orientation:landscape|portrait", 172 | "orp": "orphans", 173 | "ov": "overflow:hidden|visible|hidden|scroll|auto", 174 | "ovs": "overflow-style:scrollbar|auto|scrollbar|panner|move|marquee", 175 | "ovx": "overflow-x:hidden|visible|hidden|scroll|auto", 176 | "ovy": "overflow-y:hidden|visible|hidden|scroll|auto", 177 | "p": "padding", 178 | "pb": "padding-bottom", 179 | "pgba": "page-break-after:auto|always|left|right", 180 | "pgbb": "page-break-before:auto|always|left|right", 181 | "pgbi": "page-break-inside:auto|avoid", 182 | "pl": "padding-left", 183 | "pos": "position:relative|absolute|relative|fixed|static", 184 | "pr": "padding-right", 185 | "pt": "padding-top", 186 | "q": "quotes", 187 | "qen": "quotes:'\\201C' '\\201D' '\\2018' '\\2019'", 188 | "qru": "quotes:'\\00AB' '\\00BB' '\\201E' '\\201C'", 189 | "r": "right", 190 | "rsz": "resize:none|both|horizontal|vertical", 191 | "t": "top", 192 | "ta": "text-align:left|center|right|justify", 193 | "tal": "text-align-last:left|center|right", 194 | "tbl": "table-layout:fixed", 195 | "td": "text-decoration:none|underline|overline|line-through", 196 | "te": "text-emphasis:none|accent|dot|circle|disc|before|after", 197 | "th": "text-height:auto|font-size|text-size|max-size", 198 | "ti": "text-indent", 199 | "tj": "text-justify:auto|inter-word|inter-ideograph|inter-cluster|distribute|kashida|tibetan", 200 | "to": "text-outline:${1:0} ${2:0} ${3:#000}", 201 | "tov": "text-overflow:ellipsis|clip", 202 | "tr": "text-replace", 203 | "trf": "transform:${1}|skewX(${1:angle})|skewY(${1:angle})|scale(${1:x}, ${2:y})|scaleX(${1:x})|scaleY(${1:y})|scaleZ(${1:z})|scale3d(${1:x}, ${2:y}, ${3:z})|rotate(${1:angle})|rotateX(${1:angle})|rotateY(${1:angle})|rotateZ(${1:angle})|translate(${1:x}, ${2:y})|translateX(${1:x})|translateY(${1:y})|translateZ(${1:z})|translate3d(${1:tx}, ${2:ty}, ${3:tz})", 204 | "trfo": "transform-origin", 205 | "trfs": "transform-style:preserve-3d", 206 | "trs": "transition:${1:prop} ${2:time}", 207 | "trsde": "transition-delay:${1:time}", 208 | "trsdu": "transition-duration:${1:time}", 209 | "trsp": "transition-property:${1:prop}", 210 | "trstf": "transition-timing-function:${1:fn}", 211 | "tsh": "text-shadow:${1:hoff} ${2:voff} ${3:blur} ${4:#000}", 212 | "tt": "text-transform:uppercase|lowercase|capitalize|none", 213 | "tw": "text-wrap:none|normal|unrestricted|suppress", 214 | "us": "user-select:none", 215 | "v": "visibility:hidden|visible|collapse", 216 | "va": "vertical-align:top|super|text-top|middle|baseline|bottom|text-bottom|sub", 217 | "w": "width", 218 | "whs": "white-space:nowrap|pre|pre-wrap|pre-line|normal", 219 | "whsc": "white-space-collapse:normal|keep-all|loose|break-strict|break-all", 220 | "wid": "widows", 221 | "wm": "writing-mode:lr-tb|lr-tb|lr-bt|rl-tb|rl-bt|tb-rl|tb-lr|bt-lr|bt-rl", 222 | "wob": "word-break:normal|keep-all|break-all", 223 | "wos": "word-spacing", 224 | "wow": "word-wrap:none|unrestricted|suppress|break-word|normal", 225 | "z": "z-index", 226 | "zom": "zoom:1" 227 | } 228 | --------------------------------------------------------------------------------