{"maintainers":[{"name":"anonymous","email":"dom@w3.org"}],"dist-tags":{"latest":"0.3.0"},"description":"Parser for the content attribute of the meta viewport","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","repository":{"type":"git","url":"git+https://github.com/dontcallmedom/metaviewport-parser.git"},"license":"MIT","bugs":{"url":"https://github.com/dontcallmedom/metaviewport-parser/issues"},"versions":{"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","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/metaviewport-parser/-/metaviewport-parser-0.0.1.tgz","integrity":"sha512-t4IOnaI2P3L3CgAIhBBQrpndPwd6OloiS88LgCwPIuMccx+STjm1WUaxe2TdLAYzcaw/0rn6S1LEIgTDY2AlMg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9WCMovl/PUrZpaaTMuEProlY0PsJ9QObeBOV3GcoiBQIhAKKwo35XRJCAojoSBlfouKDJ9Tsn7oyrqbWZoScesArN"}]},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"anonymous","email":"dom@w3.org"},"maintainers":[{"name":"anonymous","email":"dom@w3.org"}],"directories":{}},"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":"anonymous","email":"dom@w3.org"},"dist":{"shasum":"97fa67ea4bbf640f4fd59010f88f10cea7d5accc","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/metaviewport-parser/-/metaviewport-parser-0.1.0.tgz","integrity":"sha512-hYu2GsfJruZKX2jAh3W3G0LZDLJ7zbnGOam57yALQ8rRsyX9nsWRm2Bvbq0lfDKg6VB8bkZJ7pqFLxfA44zLkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDu+O63RL5OKa5AAS5dANZQ1Z5ParejAat3YwVo0WcTzgIgBKkdRXobn9ickKZQN7b4vhabVziyVxzj/F5P0PQVtbc="}]},"maintainers":[{"name":"anonymous","email":"dom@w3.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/metaviewport-parser-0.1.0.tgz_1502091229923_0.4779535511042923"},"directories":{}},"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":"anonymous","email":"dom@w3.org"},"dist":{"shasum":"535c3ce1ccf6223a5025fddc6a1c36505f7e7db1","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/metaviewport-parser/-/metaviewport-parser-0.2.0.tgz","integrity":"sha512-qL5NtY18LGs7lvZCkj3ep2H4Pes9rIiSLZRUyfDdvVw7pWFA0eLwmqaIxApD74RGvUrNEtk9e5Wt1rT+VlCvGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrQ1DQ2fDFu4fOYKjfty1GL/gAXACHp1DCduZnKHm9fwIhANWFeGy2IpZWb7VK3bPR3yNVFTFciaEYvgSD98xbUUhu"}]},"maintainers":[{"name":"anonymous","email":"dom@w3.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/metaviewport-parser-0.2.0.tgz_1506929863032_0.930661857360974"},"directories":{}},"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":{"integrity":"sha512-EoYJ8xfjQ6kpe9VbVHvZTZHiOl4HL1Z18CrZ+qahvLXT7ZO4YTC2JMyt5FaUp9JJp6J4Ybb/z7IsCXZt86/QkQ==","shasum":"6af1e99b5eaf250c049e0af1e84143a39750dea6","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/metaviewport-parser/-/metaviewport-parser-0.3.0.tgz","fileCount":8,"unpackedSize":25713,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGD8EvZz4MTEWtHPQcHG4D2fDLK6ICuAubfIEo6TAk7OAiEAjHL9n0qAI3EvYJYhquqItjxwyasBBxcdV+r5a/ZImME="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjybyXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoAtw/9HmpnQI8lx+ErB3VZAQ/rvqEaVrrw6qSObtlBV1QHx86++OhZ\r\neQkGKOnTUk8LZyZqOFCE5DSYXpNRt/W8lxuXdo+yfLC7ASaYYhEElOzKlt/Z\r\nzBMQ9eWLXRLWHHKDgAANRkWJM8oBESh8+g7IqXbpZ6VHLpr9UhCcPVpcTR/x\r\nY6nQ6SAw5ttT95GDuafD05avv62EBQSMfSKiNTKPTo24V0gwr/bWmO235u59\r\nNIx2B3m0lN+2/ly/uzo6U+d4y+mpvOux8B4UB5l+Fgu6ye7I7uM4lxrfBJ6A\r\n/IYlZELq3Rolen4zkwHCXIC3lgDVrMXoBzDTy+7W2nGe4dP+e7yBdvxus+jx\r\nc6v6rZ7LlSBOcDS+9UWzS+lhj5izEBMO4q0GjH9bCzX0TeVkPCTUuICVKwUf\r\nARi1Q82GPiNIE1AYubitMCzelHFgelezipkQYXF/qxnXdF0O1UdZJn0K1rcI\r\nLehgkaazAMpWld0ifIH1g6oejU7kTToSNVL6BEKgua3313cS7oNiNwnusVXY\r\ns5hwgqjhuiaupWVzfFOa8OR6Jf0jrjP2tHC2lqodCOxOuy8ZlPtKSZZkln3Y\r\n2XPbDpHsYyS58SBiXYkyCOgymTaKQCEzXK84mqWpf7WXgmVFv9a+WqmOZRuJ\r\n4yim4ALdGnjQAnL3vDRDgnMkF282LglvA6E=\r\n=HcEg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anonymous","email":"dom@w3.org"},"directories":{},"maintainers":[{"name":"anonymous","email":"dom@w3.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/metaviewport-parser_0.3.0_1674165399558_0.09003636791182856"},"_hasShrinkwrap":false}},"name":"metaviewport-parser","time":{"modified":"2023-01-19T21:56:39.885Z","created":"2014-08-22T15:43:43.230Z","0.0.1":"2014-08-22T15:43:45.537Z","0.1.0":"2017-08-07T07:33:50.992Z","0.2.0":"2017-10-02T07:37:44.090Z","0.3.0":"2023-01-19T21:56:39.761Z"},"readmeFilename":"README.md","homepage":"https://github.com/dontcallmedom/metaviewport-parser#readme"}