{"_id":"@addaps/doca-addaps-theme","_rev":"12-67b7323a1830612a816444e6395108fa","name":"@addaps/doca-addaps-theme","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.1":{"name":"@addaps/doca-addaps-theme","version":"1.0.1","description":"Doca theme using Twitter Bootstrap. Fork from https://github.com/cloudflare/doca-bootstrap-theme.git","main":"index.js","author":{"name":"Alex Oviedo","email":"alex@addaps.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+https://github.com/alex0vi/doca-addaps-theme.git"},"scripts":{"build":"npm run clean && mkdir -p build && babel components --out-dir build","lint":"eslint components || true","prepublish":"cross-env NODE_ENV=production npm run build","clean":"rimraf build"},"files":["*.md","build","fonts","styles","assets"],"dependencies":{"cross-env":"^1.0.8","immutable":"^3.8.1","lodash":"^4.13.1","react":"^15.2.0","react-dom":"^15.2.0","react-immutable-proptypes":"^1.7.1","react-marked-markdown":"^1.4.0","react-pure-render":"^1.0.2","rimraf":"^2.6.2"},"peerDependencies":{"json-schema-example-loader":"^3.0.0"},"devDependencies":{"babel-cli":"^6.8.0","babel-core":"^6.8.0","babel-eslint":"^6.1.1","babel-plugin-transform-class-properties":"^6.10.2","babel-plugin-transform-runtime":"^6.8.0","babel-preset-es2015":"^6.6.0","babel-preset-react":"^6.5.0","babel-preset-react-hmre":"^1.1.1","cross-env":"^1.0.8","eslint":"^3.0.1","eslint-config-airbnb":"^9.0.1","eslint-loader":"^1.4.1","eslint-plugin-import":"^1.10.2","eslint-plugin-jsx-a11y":"^1.5.5","eslint-plugin-react":"^5.1.1","rimraf":"^2.5.3"},"bugs":{"url":"https://github.com/alex0vi/doca-addaps-theme/issues"},"homepage":"https://github.com/alex0vi/doca-addaps-theme#readme","keywords":["documentation"],"gitHead":"9fd587ad8cd61f41579d2b74b9e42d392d4ed8be","_id":"@addaps/doca-addaps-theme@1.0.1","_shasum":"337482c179b63908f2abe33abefac263b8723b56","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"esoca123","email":"emilio@addaps.com"},"dist":{"shasum":"337482c179b63908f2abe33abefac263b8723b56","tarball":"https://registry.npmjs.org/@addaps/doca-addaps-theme/-/doca-addaps-theme-1.0.1.tgz","fileCount":16,"unpackedSize":51763,"integrity":"sha512-VXPMLTBRR/Ksl11iudybudEqLtAngZyFii8HbUia49RSJMGCZPkYKlUSbWQQCKRcB6YmpJk5krE8/UNVUnUOYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDZkdh5tF30YBooEXdbH6FmkgKZAo/mPNsmwl9VDJoynAiEA3Nr0KyW47kJXWP6WiUYugOYiCeGw+PXM3h5vpmr2PXE="}]},"maintainers":[{"name":"esoca123","email":"emilio@addaps.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doca-addaps-theme_1.0.1_1519140405019_0.7512617218805109"},"_hasShrinkwrap":false},"1.0.2":{"name":"@addaps/doca-addaps-theme","version":"1.0.2","description":"Doca theme using Twitter Bootstrap. Fork from https://github.com/cloudflare/doca-bootstrap-theme.git","main":"index.js","author":{"name":"Alex Oviedo","email":"alex@addaps.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+https://github.com/alex0vi/doca-addaps-theme.git"},"scripts":{"build":"npm run clean && mkdir -p build && babel components --out-dir build","lint":"eslint components || true","prepublish":"cross-env NODE_ENV=production npm run build","clean":"rimraf build"},"files":["*.md","build","fonts","styles","assets"],"dependencies":{"cross-env":"^1.0.8","immutable":"^3.8.1","lodash":"^4.13.1","react":"^15.2.0","react-dom":"^15.2.0","react-immutable-proptypes":"^1.7.1","react-marked-markdown":"^1.4.0","react-pure-render":"^1.0.2","rimraf":"^2.6.2"},"peerDependencies":{"json-schema-example-loader":"^3.0.0"},"devDependencies":{"babel-cli":"^6.8.0","babel-core":"^6.8.0","babel-eslint":"^6.1.1","babel-plugin-transform-class-properties":"^6.10.2","babel-plugin-transform-runtime":"^6.8.0","babel-preset-es2015":"^6.6.0","babel-preset-react":"^6.5.0","babel-preset-react-hmre":"^1.1.1","cross-env":"^1.0.8","eslint":"^3.0.1","eslint-config-airbnb":"^9.0.1","eslint-loader":"^1.4.1","eslint-plugin-import":"^1.10.2","eslint-plugin-jsx-a11y":"^1.5.5","eslint-plugin-react":"^5.1.1","rimraf":"^2.5.3"},"bugs":{"url":"https://github.com/alex0vi/doca-addaps-theme/issues"},"homepage":"https://github.com/alex0vi/doca-addaps-theme#readme","keywords":["documentation"],"gitHead":"4dd3280a953f5b5c3a22a584db904ad286fddb41","_id":"@addaps/doca-addaps-theme@1.0.2","_shasum":"c4ac9310d49797b7c5e1140e15b9ebc289f7fd33","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"esoca123","email":"emilio@addaps.com"},"dist":{"shasum":"c4ac9310d49797b7c5e1140e15b9ebc289f7fd33","tarball":"https://registry.npmjs.org/@addaps/doca-addaps-theme/-/doca-addaps-theme-1.0.2.tgz","fileCount":16,"unpackedSize":51657,"integrity":"sha512-f9bqoSxoMkTReKlozInLz5sT/a/xVYF118KfHoyy4sn1ci7hU9u3qTBtiEwKOHcBWrz1p9IgtR9vnm4+YuX0yA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGc3MWqfpGDgERKVY84K2QjwrKS+wrqUuBXgzW9hyYA5AiAbxKt8hjHV3l/blvi3mhIqj5GBAgpMn5qhh0br2xNYng=="}]},"maintainers":[{"name":"esoca123","email":"emilio@addaps.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doca-addaps-theme_1.0.2_1519141271752_0.2020373809551652"},"_hasShrinkwrap":false},"1.0.3":{"name":"@addaps/doca-addaps-theme","version":"1.0.3","description":"Doca theme using Twitter Bootstrap. Fork from https://github.com/cloudflare/doca-bootstrap-theme.git","main":"index.js","author":{"name":"Alex Oviedo","email":"alex@addaps.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+https://github.com/alex0vi/doca-addaps-theme.git"},"scripts":{"build":"npm run clean && mkdir -p build && babel components --out-dir build","lint":"eslint components || true","prepublish":"cross-env NODE_ENV=production npm run build","clean":"rimraf build"},"files":["*.md","build","fonts","styles","assets"],"dependencies":{"cross-env":"^1.0.8","immutable":"^3.8.1","lodash":"^4.13.1","react":"^15.2.0","react-dom":"^15.2.0","react-immutable-proptypes":"^1.7.1","react-marked-markdown":"^1.4.0","react-pure-render":"^1.0.2","rimraf":"^2.6.2"},"peerDependencies":{"json-schema-example-loader":"^3.0.0"},"devDependencies":{"babel-cli":"^6.8.0","babel-core":"^6.8.0","babel-eslint":"^6.1.1","babel-plugin-transform-class-properties":"^6.10.2","babel-plugin-transform-runtime":"^6.8.0","babel-preset-es2015":"^6.6.0","babel-preset-react":"^6.5.0","babel-preset-react-hmre":"^1.1.1","cross-env":"^1.0.8","eslint":"^3.0.1","eslint-config-airbnb":"^9.0.1","eslint-loader":"^1.4.1","eslint-plugin-import":"^1.10.2","eslint-plugin-jsx-a11y":"^1.5.5","eslint-plugin-react":"^5.1.1","rimraf":"^2.5.3"},"bugs":{"url":"https://github.com/alex0vi/doca-addaps-theme/issues"},"homepage":"https://github.com/alex0vi/doca-addaps-theme#readme","keywords":["documentation"],"gitHead":"e841e0df65a15bde7ffa011d2ec39030f392197b","_id":"@addaps/doca-addaps-theme@1.0.3","_shasum":"e2c2aaf20d8c240c6e52e82ab562274c78c19426","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"esoca123","email":"emilio@addaps.com"},"dist":{"shasum":"e2c2aaf20d8c240c6e52e82ab562274c78c19426","tarball":"https://registry.npmjs.org/@addaps/doca-addaps-theme/-/doca-addaps-theme-1.0.3.tgz","fileCount":16,"unpackedSize":52111,"integrity":"sha512-piO9+Oz/R+/7MkZX3C+7EaPWyfTRMtgaZ0n2NtT4O2r61ju7mNFe80OBLwTH8jpcTC/8EmLpQP7HtGnuCOqaQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpMHxTsKsJc/xOYCqDbshP6zwGDeLXNElXChMzbVF4rwIhAOsbD9uvDvvwMAE7hUScqUArmPzy7oc5gEGkBhR0BXhS"}]},"maintainers":[{"name":"esoca123","email":"emilio@addaps.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doca-addaps-theme_1.0.3_1519314460120_0.3114520289550633"},"_hasShrinkwrap":false},"1.0.4":{"name":"@addaps/doca-addaps-theme","version":"1.0.4","description":"Doca theme using Twitter Bootstrap. Fork from https://github.com/cloudflare/doca-bootstrap-theme.git","main":"index.js","author":{"name":"Alex Oviedo","email":"alex@addaps.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+https://github.com/alex0vi/doca-addaps-theme.git"},"scripts":{"build":"npm run clean && mkdir -p build && babel components --out-dir build","lint":"eslint components || true","prepublish":"cross-env NODE_ENV=production npm run build","clean":"rimraf build"},"files":["*.md","build","fonts","styles","assets"],"dependencies":{"cross-env":"^1.0.8","immutable":"^3.8.1","lodash":"^4.13.1","react":"^15.2.0","react-dom":"^15.2.0","react-immutable-proptypes":"^1.7.1","react-marked-markdown":"^1.4.0","react-pure-render":"^1.0.2","rimraf":"^2.6.2"},"peerDependencies":{"json-schema-example-loader":"^3.0.0"},"devDependencies":{"babel-cli":"^6.8.0","babel-core":"^6.8.0","babel-eslint":"^6.1.1","babel-plugin-transform-class-properties":"^6.10.2","babel-plugin-transform-runtime":"^6.8.0","babel-preset-es2015":"^6.6.0","babel-preset-react":"^6.5.0","babel-preset-react-hmre":"^1.1.1","cross-env":"^1.0.8","eslint":"^3.0.1","eslint-config-airbnb":"^9.0.1","eslint-loader":"^1.4.1","eslint-plugin-import":"^1.10.2","eslint-plugin-jsx-a11y":"^1.5.5","eslint-plugin-react":"^5.1.1","rimraf":"^2.5.3"},"bugs":{"url":"https://github.com/alex0vi/doca-addaps-theme/issues"},"homepage":"https://github.com/alex0vi/doca-addaps-theme#readme","keywords":["documentation"],"gitHead":"a32c8a1eeddbe4d2e757ca6c8ad38c0d8b3371f9","_id":"@addaps/doca-addaps-theme@1.0.4","_shasum":"51763e879d4b7bedcc8c8ae7a2c0cf92445a5455","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"esoca123","email":"emilio@addaps.com"},"dist":{"shasum":"51763e879d4b7bedcc8c8ae7a2c0cf92445a5455","tarball":"https://registry.npmjs.org/@addaps/doca-addaps-theme/-/doca-addaps-theme-1.0.4.tgz","fileCount":19,"unpackedSize":67389,"integrity":"sha512-dVoC1BgJl0z7ocGtQH9+E9w1G2LeU0VYt2i1jNe/Ko3+ctraF3ntkAF0K1xoVxzXEmq7j6ygI9+xjUL753y67Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuE/Px7Z/dMQawBfdHxmvSp66oc15XFODvpS/lYpNE/gIhAKDdTSqhZe214LKg2v1p2hTkpJN8P4Pz2vYScz3f+3Sg"}]},"maintainers":[{"name":"esoca123","email":"emilio@addaps.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doca-addaps-theme_1.0.4_1519742239139_0.4700010964027792"},"_hasShrinkwrap":false},"1.0.5":{"name":"@addaps/doca-addaps-theme","version":"1.0.5","description":"Doca theme using Twitter Bootstrap. Fork from https://github.com/cloudflare/doca-bootstrap-theme.git","main":"index.js","author":{"name":"Alex Oviedo","email":"alex@addaps.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+https://github.com/alex0vi/doca-addaps-theme.git"},"scripts":{"build":"npm run clean && mkdir -p build && babel components --out-dir build","lint":"eslint components || true","prepublish":"cross-env NODE_ENV=production npm run build","clean":"rimraf build"},"files":["*.md","build","fonts","styles","assets"],"dependencies":{"cross-env":"^1.0.8","immutable":"^3.8.1","lodash":"^4.13.1","react":"^15.2.0","react-dom":"^15.2.0","react-immutable-proptypes":"^1.7.1","react-marked-markdown":"^1.4.0","react-pure-render":"^1.0.2","rimraf":"^2.6.2"},"peerDependencies":{"json-schema-example-loader":"^3.0.0"},"devDependencies":{"babel-cli":"^6.8.0","babel-core":"^6.8.0","babel-eslint":"^6.1.1","babel-plugin-transform-class-properties":"^6.10.2","babel-plugin-transform-runtime":"^6.8.0","babel-preset-es2015":"^6.6.0","babel-preset-react":"^6.5.0","babel-preset-react-hmre":"^1.1.1","cross-env":"^1.0.8","eslint":"^3.0.1","eslint-config-airbnb":"^9.0.1","eslint-loader":"^1.4.1","eslint-plugin-import":"^1.10.2","eslint-plugin-jsx-a11y":"^1.5.5","eslint-plugin-react":"^5.1.1","rimraf":"^2.5.3"},"bugs":{"url":"https://github.com/alex0vi/doca-addaps-theme/issues"},"homepage":"https://github.com/alex0vi/doca-addaps-theme#readme","keywords":["documentation"],"gitHead":"73818cd3cfe751dd4141acd8581444fa5c15c54b","_id":"@addaps/doca-addaps-theme@1.0.5","_shasum":"ee9e8598c91948ae37aa98dc694239c340b77b8b","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"esoca123","email":"emilio@addaps.com"},"dist":{"shasum":"ee9e8598c91948ae37aa98dc694239c340b77b8b","tarball":"https://registry.npmjs.org/@addaps/doca-addaps-theme/-/doca-addaps-theme-1.0.5.tgz","fileCount":19,"unpackedSize":70108,"integrity":"sha512-prjLMBfYe2yrXRUfs8bWwUPefhR6IDGtd4rWG7bKnt6NEJ+ujbWqu/vTe2qiDQ4x2CZVcPz3V028prSSHl6wYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD97o41E35OxrQktN/ewvECIMpdKxECHiFbpjFSU1erpAIhAO+fnzJNe3q+g4ApDArSZvzoweA3l73OQOg+1ATEO41s"}]},"maintainers":[{"name":"esoca123","email":"emilio@addaps.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doca-addaps-theme_1.0.5_1520411658476_0.14561028464795367"},"_hasShrinkwrap":false},"1.0.6":{"name":"@addaps/doca-addaps-theme","version":"1.0.6","description":"Doca theme using Twitter Bootstrap. Fork from https://github.com/cloudflare/doca-bootstrap-theme.git","main":"index.js","author":{"name":"Alex Oviedo","email":"alex@addaps.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+https://github.com/alex0vi/doca-addaps-theme.git"},"scripts":{"build":"npm run clean && mkdir -p build && babel components --out-dir build","lint":"eslint components || true","prepublish":"cross-env NODE_ENV=production npm run build","clean":"rimraf build"},"files":["*.md","build","fonts","styles","assets"],"dependencies":{"cross-env":"^1.0.8","immutable":"^3.8.1","lodash":"^4.13.1","react":"^15.2.0","react-dom":"^15.2.0","react-immutable-proptypes":"^1.7.1","react-marked-markdown":"^1.4.0","react-pure-render":"^1.0.2","rimraf":"^2.6.2"},"peerDependencies":{"json-schema-example-loader":"^3.0.0"},"devDependencies":{"babel-cli":"^6.8.0","babel-core":"^6.8.0","babel-eslint":"^6.1.1","babel-plugin-transform-class-properties":"^6.10.2","babel-plugin-transform-runtime":"^6.8.0","babel-preset-es2015":"^6.6.0","babel-preset-react":"^6.5.0","babel-preset-react-hmre":"^1.1.1","cross-env":"^1.0.8","eslint":"^3.0.1","eslint-config-airbnb":"^9.0.1","eslint-loader":"^1.4.1","eslint-plugin-import":"^1.10.2","eslint-plugin-jsx-a11y":"^1.5.5","eslint-plugin-react":"^5.1.1","rimraf":"^2.5.3"},"bugs":{"url":"https://github.com/alex0vi/doca-addaps-theme/issues"},"homepage":"https://github.com/alex0vi/doca-addaps-theme#readme","keywords":["documentation"],"gitHead":"cbbe5b889b2b696f8fca6209982f8536059d39b5","_id":"@addaps/doca-addaps-theme@1.0.6","_npmVersion":"5.8.0","_nodeVersion":"8.10.0","_npmUser":{"name":"esoca123","email":"emilio@addaps.com"},"dist":{"integrity":"sha512-mpXtg97IipPeHjetXQXIrrspbu9In3QM7nrWZvFRe28+G+bU9Tu1PKuzgDn4PC++wQLz7T4mbqCbc+Rt5YJL3A==","shasum":"223ad5a42f12feb22ee4dbbd63e2078dfbc1e550","tarball":"https://registry.npmjs.org/@addaps/doca-addaps-theme/-/doca-addaps-theme-1.0.6.tgz","fileCount":19,"unpackedSize":69526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8GXQCRA9TVsSAnZWagAA8kYQAI0vqxXJkXZhDOaZrVNp\nvqzCnQ2gN/zRf0rOH6NZnKWPTZLkhSHYRdKDJlC48tDJ6k4l3HUo4WwaZKzL\nqo76KlMV45A6zbm8OMe1i67Arw872S2iGHXUSIFdo/0RNUOMntb8ilZaiXwS\nYrFX4H2FpNUHHqKhKAZYgFzqigNTUZqzRufRyk5SegDsvb5goKoZvi9w2W1J\nS2Zsr157MTfBTN69iZBk1rR7yEtr6E4bPoxALDWSHj/4rbYgBe48f5puvrcl\nQhGaJejeFsaDJFKVrPkgS1M7Rbuh9s4ll8rzVwBW/tgMPNYFx+cEvqUWrPEw\nZoCEA4j6vrWHVosVV9n4dBznmiKWCsiodVye7tuAEFqjZlR9Tl+ABpsvJ7vd\nzjoaRLaCSaJ7Fh+dEAIkS15thyIt+FJxKMYbua/eHn7CHzKxEYWYf5Myb3v9\n32kYSjcVGOZT+N+LAJo7SB4Wrw2Gn7Fr8r9sn1c4VPtrMw5OhXhScmiIJGC6\nJGyWunBagCOZs7xBApMNldFhoPPku3WLB2m1FLKxFvNTUkWB+CNkDhkJd/92\n3FZqKhHaiE6hBurTzNsckJxDx0soV7FDr+mupDlUhcR1GctHpqhkjCKdySsw\nRI0wRo5te3i2Rqz9mrH20qP6bMXJuTWOuZ5ViqKROrrvKQwzK3+6e2cadnOc\nXRaU\r\n=LNHW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE7JBRdUKWGLJcILADb+85c3GVcFsBsDtxjq2xq07joeAiEAvC7ive6NpshSEin/i449jJoI5CsbR0q96LawUVw70FM="}]},"maintainers":[{"name":"esoca123","email":"emilio@addaps.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doca-addaps-theme_1.0.6_1525704143790_0.11382819265507882"},"_hasShrinkwrap":false}},"time":{"created":"2018-02-20T15:26:44.937Z","1.0.1":"2018-02-20T15:26:45.185Z","modified":"2022-06-12T14:18:01.668Z","1.0.2":"2018-02-20T15:41:11.951Z","1.0.3":"2018-02-22T15:47:40.167Z","1.0.4":"2018-02-27T14:37:19.179Z","1.0.5":"2018-03-07T08:34:18.591Z","1.0.6":"2018-05-07T14:42:23.899Z"},"maintainers":[],"description":"Doca theme using Twitter Bootstrap. Fork from https://github.com/cloudflare/doca-bootstrap-theme.git","homepage":"https://github.com/alex0vi/doca-addaps-theme#readme","keywords":["documentation"],"repository":{"type":"git","url":"git+https://github.com/alex0vi/doca-addaps-theme.git"},"author":{"name":"Alex Oviedo","email":"alex@addaps.com"},"bugs":{"url":"https://github.com/alex0vi/doca-addaps-theme/issues"},"license":"BSD-3-Clause","readme":"# doca-bootstrap-theme\n\nSimple [Twitter Boostrap 3](http://getbootstrap.com/) based theme for [doca](https://github.com/cloudflare/doca).\n\nIt's supposed to be used in combination with [doca](https://github.com/cloudflare/doca) - a tool that scaffolds API documentation based on JSON HyperSchemas.\n\nPlease file any issues at the [doca](https://github.com/cloudflare/doca/issues) repository.\n\n## Usage\n\n```\nnpm install -g doca\ndoca init -t bootstrap\n```\n\nThis creates a new API documentation with `doca-bootstrap-theme` as a dependency.\n\n# How to create your own theme\n\n**The best way is to fork and modify this repository.** The integration with doca is pretty loose and it makes just a few assumptions about your theme.\n\n\n## React Components\n\nDoca expects to import **two React components** from your theme (otherwise it fails):\n\n- **`App`** - main root component that gets all schemas through the props\n- **`Head`** - `<head></head>` part of the final documentation\n\n### App component\n\n[App component](https://github.com/cloudflare/doca-bootstrap-theme/blob/master/components/app.js) can expect to receive two props:\n\n- **`this.props.schemas`** : *Immutable.List* - an array of all imported schemas, the schema format can be found [here](https://github.com/cloudflare/json-schema-example-loader) - it's the ouput of [json-schema-example-loader](https://github.com/cloudflare/json-schema-example-loader). However, the whole data structure is additionally turned into immutable one by [Immutable.js](https://facebook.github.io/immutable-js) library and `Immutable.fromJS()` function. It deeply converts all arrays into [Immutable.List](https://facebook.github.io/immutable-js/docs/#/List) and all objects into [Immutable.Map](https://facebook.github.io/immutable-js/docs/#/Map). Thus, you have to use slightly different methods for iteration or prop access.\n- **`this.props.config`** : *object* - a plain object exported by users from `config.js`, it should always have the key `title`.\n\n### Head component\n\n[Head component](https://github.com/cloudflare/doca-bootstrap-theme/blob/master/components/head.js) can expect to receive two props:\n\n- **`this.props.title`** : *string* - the title specified in `config.js`\n- **`this.props.cssBundle`** : *string* - you should put this code into your Head component:\n\n  ```jsx\n  {this.props.cssBundle && <link href={this.props.cssBundle} rel=\"stylesheet\" />}\n  ```\n\n### State\n\n- You should just use native `this.state` and keep the state in your components. It's perfect for things like toggling.\n- **Advanced:** If your theme is getting bigger (a lot of state everywhere), you can consider using [Redux](http://redux.js.org/). Doca is already using Redux for handling schemas. Your theme can export a reducer ([check this pattern](https://github.com/cloudflare/cf-ui/tree/master/packages/cf-builder-card/src) in our cf-ui components). However, it's up to you to modify the scaffolded application and import your reducer in `/src/client/reducers/index.js`. Doca app currently doesn't do any assumptions about this (it could auto-import the theme reducer in future though). So if you want to make your theme useful out-of-the-box, try to use native `this.state` instead.\n\n## Global variables\n\nYou can use these three global variables (provided by webpack):\n\n- **`IS_JAVASCRIPT`** : *bool* - doca provides `npm run build:nojs` script. You can ship your API docs without JS bundle. This variable is `true` when `nojs` flag is used. It gives you opportunity to do some changes in your components (show/hide sections should be visible by default etc.)\n- **`LAST_MODIFIED`** : *number* - `Date.now()` value, in case you want to display \"last modified\" information somewhere\n- **`process.env.NODE_ENV`** : *enum* - can be `development` or `production`\n\n## Styles\n\nYou have three options how to style your React components:\n\n- [React inline styles](https://facebook.github.io/react/tips/inline-styles.html).\n- Link directly your external stylesheet in the Head component.\n- Doca's webpack **expects to find folder `/styles` in your theme**. It [dynamically imports](https://webpack.github.io/docs/context.html) and processes all css, less and scss files from this folder. **Magic!** Then, it bundles them into a single css file and passes `this.props.cssBundle` to your Head component. You can leave this folder empty, then `this.props.cssBundle` is going to be empty.\n\nUnfortunately, you can't directly import styles from your React components since webpack can't resolve such requires in `node_modules`.\n\n## Publishing\n\nWe would be happy to see more open source doca themes! Let us know if you publish some. It should follow this name convention:\n\n```\ndoca-XXXXXXXX-theme\n```\n\n## Tips\n\n- **Immutable.js** is used because resulting app (page) can be pretty big and we want to keep re-rendering fast. All your components should implement `shouldComponentUpdate()` method, so it prevents unnecessary re-renders. Or you can simply extend your components from [react-pure-render](https://github.com/gaearon/react-pure-render).\n\n- When you're developing a new theme, you can streamline the process by copy&pasting your components into Doca app. That will give you hot-reloading! Otherwise, you can use [npm link](https://docs.npmjs.com/cli/link). With every change, you have to call `npm link` again, so it triggers `npm prepublish` and rebuilds your components (babel/JSX -> ES5).\n\n- `npm run lint` (use node v4+)\n\n","readmeFilename":"README.md"}