{"_id":"metaviewport-parser","_rev":"2912655","name":"metaviewport-parser","description":"Parser for the content attribute of the meta viewport","dist-tags":{"latest":"0.3.0"},"maintainers":[{"name":"dontcallmedom","email":"dom@w3.org"}],"time":{"modified":"2023-02-01T08:40:25.000Z","created":"2014-08-22T15:43:45.537Z","0.3.0":"2023-01-19T21:56:39.761Z","0.2.0":"2017-10-02T07:37:44.090Z","0.1.0":"2017-08-07T07:33:50.992Z","0.0.1":"2014-08-22T15:43:45.537Z"},"users":{},"repository":{"type":"git","url":"git+https://github.com/dontcallmedom/metaviewport-parser.git"},"versions":{"0.3.0":{"name":"metaviewport-parser","version":"0.3.0","description":"Parser for the content attribute of the meta viewport","license":"MIT","repository":{"type":"git","url":"git+https://github.com/dontcallmedom/metaviewport-parser.git"},"bugs":{"url":"https://github.com/dontcallmedom/metaviewport-parser/issues"},"dependencies":{},"devDependencies":{"expect.js":"^0.3.1","mocha":"^2.2.5"},"scripts":{"test":"mocha"},"gitHead":"324e444b6904284b42bbab16155750047c8278b9","homepage":"https://github.com/dontcallmedom/metaviewport-parser#readme","_id":"metaviewport-parser@0.3.0","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"shasum":"6af1e99b5eaf250c049e0af1e84143a39750dea6","size":5635,"noattachment":false,"key":"/metaviewport-parser/-/metaviewport-parser-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/metaviewport-parser/download/metaviewport-parser-0.3.0.tgz"},"_npmUser":{"name":"dontcallmedom","email":"dom@w3.org"},"directories":{},"maintainers":[{"name":"dontcallmedom","email":"dom@w3.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/metaviewport-parser_0.3.0_1674165399558_0.09003636791182856"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-19T21:56:39.761Z","publish_time":1674165399761,"_cnpm_publish_time":1674165399761},"0.2.0":{"name":"metaviewport-parser","version":"0.2.0","description":"Parser for the content attribute of the meta viewport","license":"MIT","repository":{"type":"git","url":"git+https://github.com/dontcallmedom/metaviewport-parser.git"},"bugs":{"url":"https://github.com/dontcallmedom/metaviewport-parser/issues"},"dependencies":{},"devDependencies":{"expect.js":"^0.3.1","mocha":"^2.2.5"},"scripts":{"test":"mocha"},"gitHead":"54fc15bfa5036b0040f1645edf84c6c46f4ab947","homepage":"https://github.com/dontcallmedom/metaviewport-parser#readme","_id":"metaviewport-parser@0.2.0","_shasum":"535c3ce1ccf6223a5025fddc6a1c36505f7e7db1","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.3","_npmUser":{"name":"dontcallmedom","email":"dom@w3.org"},"dist":{"shasum":"535c3ce1ccf6223a5025fddc6a1c36505f7e7db1","size":5838,"noattachment":false,"key":"/metaviewport-parser/-/metaviewport-parser-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/metaviewport-parser/download/metaviewport-parser-0.2.0.tgz"},"maintainers":[{"name":"dontcallmedom","email":"dom@w3.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/metaviewport-parser-0.2.0.tgz_1506929863032_0.930661857360974"},"directories":{},"publish_time":1506929864090,"_hasShrinkwrap":false,"_cnpm_publish_time":1506929864090},"0.1.0":{"name":"metaviewport-parser","version":"0.1.0","description":"Parser for the content attribute of the meta viewport","license":"MIT","repository":{"type":"git","url":"git+https://github.com/dontcallmedom/metaviewport-parser.git"},"bugs":{"url":"https://github.com/dontcallmedom/metaviewport-parser/issues"},"dependencies":{},"devDependencies":{"expect.js":"^0.3.1","mocha":"^2.2.5"},"scripts":{"test":"mocha"},"gitHead":"4fc718918fced19b0ed4ca94d233a1a7bf8de6a8","homepage":"https://github.com/dontcallmedom/metaviewport-parser#readme","_id":"metaviewport-parser@0.1.0","_shasum":"97fa67ea4bbf640f4fd59010f88f10cea7d5accc","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"dontcallmedom","email":"dom@w3.org"},"dist":{"shasum":"97fa67ea4bbf640f4fd59010f88f10cea7d5accc","size":5666,"noattachment":false,"key":"/metaviewport-parser/-/metaviewport-parser-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/metaviewport-parser/download/metaviewport-parser-0.1.0.tgz"},"maintainers":[{"name":"dontcallmedom","email":"dom@w3.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/metaviewport-parser-0.1.0.tgz_1502091229923_0.4779535511042923"},"directories":{},"publish_time":1502091230992,"_hasShrinkwrap":false,"_cnpm_publish_time":1502091230992},"0.0.1":{"name":"metaviewport-parser","version":"0.0.1","license":"MIT","dependencies":{},"devDependencies":{"mocha":"1.20.1","expect.js":"0.3.1"},"scripts":{"test":"mocha"},"description":"This library uses the algorithm described in the [W3C CSS Device Adaption specification](http://dev.w3.org/csswg/css-device-adapt/#viewport-meta) to parse and interpret the content of a meta viewport declaration.","_id":"metaviewport-parser@0.0.1","dist":{"shasum":"9b28179659b76ff9d21de84ae25583257909b206","size":5422,"noattachment":false,"key":"/metaviewport-parser/-/metaviewport-parser-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/metaviewport-parser/download/metaviewport-parser-0.0.1.tgz"},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"dontcallmedom","email":"dom@w3.org"},"maintainers":[{"name":"dontcallmedom","email":"dom@w3.org"}],"directories":{},"publish_time":1408722225537,"_cnpm_publish_time":1408722225537,"_hasShrinkwrap":false}},"readme":"[![devDependency Status](https://david-dm.org/dontcallmedom/metaviewport-parser/dev-status.svg)](https://david-dm.org/dontcallmedom/metaviewport-parser#info=devDependencies)\n\n# Meta viewport parser\n\nThis library uses the algorithm described in the [W3C CSS Device Adaption specification](http://dev.w3.org/csswg/css-device-adapt/#viewport-meta) to parse and interpret the content of a meta viewport declaration.\n\n## Attribute parser\n\nThe function parseMetaViewPortContent() takes the content of the `content` attribute of a meta viewport declaration, and parses it into an object separating valid properties (key `validProperties`), unknown properties (key `unknownProperties`), and known properties with invalid values (key `invalidValues`).\n\n```html\n<meta name=viewport content=\"width=device-width\">\n```\n\n```javascript\n// contentAttr contains \"width=device-width\";\n\nvar metaparser = require('metaviewport-parser');\nconsole.log(metaparser.parseMetaViewPortContent(contentAttr));\n// { validProperties: {width: 'device-width'},\n//   unknownProperties: {},\n//   invalidValues: {}\n// }\n```\n\n```html\n<meta name=viewport content=\"width=foo,initial-scale=1\">\n```\n\n```javascript\nvar metaparser = require('metaviewport-parser');\nconsole.log(metaparser.parseMetaViewPortContent(contentAttr));\n// { validProperties: {'initial-scale': 1},\n//   unknownProperties: {},\n//   invalidValues: {'width': 'foo'}\n// }\n```\n\n\n```html\n<meta name=viewport content=\"width=foo,initial-scale=1\">\n```\n\n```javascript\nvar metaparser = require('metaviewport-parser');\nconsole.log(metaparser.parseMetaViewPortContent(contentAttr));\n// { validProperties: {'initial-scale': 1},\n//   unknownProperties: {},\n//   invalidValues: {'width': 'foo'}\n// }\n```\n\n## Viewport properties interpreter\n\nThe function getRenderingDataFromViewport() takes an object with valid properties of a viewport (`width`, `height`, `initial-scale`, `maximum-scale`, `minimum-scale`, `user-scalable`), and parameters describing the browser dimensions, and returns an object describing the inital width, height and zoom used to render a page with such a viewport, and whether the user can zoom or not (property `userZoom` with values `zoom` or `fixed`).\n\nThe following examples assume a browser with a `device-width` of 320, a `device-height` of 480, a maximum zoom of 4 and minimum zoom of 0.25.\n\nThe `zoom` key is set to null when the value is interpreted as \"auto\".\n\n```html\n<meta name=viewport content=\"width=device-width\">\n```\n\n```javascript\n// contentAttr contains \"width=device-width\";\n\nvar metaparser = require('metaviewport-parser');\nvar viewport = metaparser.parseMetaViewPortContent(contentAttr);\nvar renderingData = metaparser.getRenderingDataFromViewport(viewport.validProperties);\nconsole.log(renderingData);\n// { zoom: null, width: 320, height: 480, userZoom: \"zoom\" }\n```\n\n```html\n<meta name=viewport content=\"initial-scale=1\">\n```\n\n```javascript\nvar metaparser = require('metaviewport-parser');\nvar viewport = metaparser.parseMetaViewPortContent(contentAttr);\nvar renderingData = metaparser.getRenderingDataFromViewport(viewport.validProperties);\nconsole.log(renderingData);\n// { zoom: 1, width: 320, height: 480, userZoom: \"zoom\" }\n```\n\n```html\n<meta name=viewport content=\"initial-scale=2.0,height=device-width\">\n```\n\n```javascript\nvar metaparser = require('metaviewport-parser');\nvar viewport = metaparser.parseMetaViewPortContent(contentAttr);\nvar renderingData = metaparser.getRenderingDataFromViewport(viewport.validProperties);\nconsole.log(renderingData);\n// { zoom: 2, width: 213, height: 320, userZoom: \"zoom\" }\n```\n\n```html\n<meta name=viewport content=\"initial-scale=1,user-scalable=no\">\n```\n\n```javascript\nvar metaparser = require('metaviewport-parser');\nvar viewport = metaparser.parseMetaViewPortContent(contentAttr);\nvar renderingData = metaparser.getRenderingDataFromViewport(viewport.validProperties);\nconsole.log(renderingData);\n// { zoom: 1, width: 320, height: 480, userZoom: \"fixed\" }\n```\n\n","_attachments":{},"homepage":"https://github.com/dontcallmedom/metaviewport-parser#readme","bugs":{"url":"https://github.com/dontcallmedom/metaviewport-parser/issues"},"license":"MIT"}