{"id":13835963,"url":"https://github.com/lightningminers/kodo","last_synced_at":"2025-08-18T12:31:44.450Z","repository":{"id":68584794,"uuid":"56522411","full_name":"lightningminers/kodo","owner":"lightningminers","description":"React UI Library so easy used in mobile, Demo Style UI Url：http://imweb.github.io/sheral","archived":false,"fork":false,"pushed_at":"2018-09-01T17:13:13.000Z","size":1144,"stargazers_count":87,"open_issues_count":0,"forks_count":19,"subscribers_count":22,"default_branch":"master","last_synced_at":"2024-04-09T21:48:15.950Z","etag":null,"topics":["javascript","react"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lightningminers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-04-18T16:07:10.000Z","updated_at":"2024-03-14T14:29:30.000Z","dependencies_parsed_at":"2023-03-02T15:00:23.643Z","dependency_job_id":null,"html_url":"https://github.com/lightningminers/kodo","commit_stats":null,"previous_names":["icepy/kodo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightningminers%2Fkodo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightningminers%2Fkodo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightningminers%2Fkodo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightningminers%2Fkodo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lightningminers","download_url":"https://codeload.github.com/lightningminers/kodo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230231384,"owners_count":18193919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","react"],"created_at":"2024-08-04T15:00:30.954Z","updated_at":"2024-12-18T07:14:09.743Z","avatar_url":"https://github.com/lightningminers.png","language":"JavaScript","funding_links":[],"categories":["React"],"sub_categories":[],"readme":"# kodo\n\n[![Build Status](https://travis-ci.org/icepy/kodo.svg?branch=master)](https://travis-ci.org/icepy/kodo) [![Coverage Status](https://coveralls.io/repos/github/icepy/kodo/badge.svg?branch=master)](https://coveralls.io/github/icepy/kodo?branch=master)\n\n## How to Run\n\n首先你需要通过命令`npm install`来安装所需要的依赖环境。整个项目分为了两个部分，`kodo` 库源码和 `examples` 展示例子。\n\n你可以运行 `npm run dev` 来构建 kodo 项目开发者版本，然后运行 `npm run examp` 来构建 `examples` 展示例子。\n\n现在你可以运行 `npm run dev-server` 来启动一个Web 服务器，这样在地址栏输入： `http://localhost:3000/#/index/` 就可以访问 Demo 了。\n\n## How to Update\n\n你可以使用 `npm outdate` 命令来查询是否需要更新，然后再运行 `npm update` 来个更新你的应用环境。\n\n## 结构与参与项目方式说明\n\n`kodo` 项目的源码放置在顶层的 `src` 目录下，如果你需要创建一个组件：\n\n- 在 `components` 目录中创建你的组件目录和 `index.js` 文件\n- 在入口 `index.js` 文件中导出你的组件\n- 请注意将你的组件和导出组件使用大小写区分，例如 `components/button` ，导出时可以使用 `Button`。\n\n当你编写完一个组件时，需要进行测试：\n\n- 在 `test` 目录中编写单元测试文件\n- 在 `examples/src/interface` 目录中创建你的展示例子目录\n- 在 `examples/src/router` 路由文件中配置好你的路由\n\n当你想亲自参与这个开源项目时可以Fork [kodo](https://github.com/icepy/kodo) 项目，按照上述的方式来添加新的组件和展示例子，那么你就可以发送 PR 给我们了。\n\n```JavaScript\n\nimport React, { PropTypes } from 'react';\nimport { render } from 'react-dom';\nimport { Router, Route, hashHistory, IndexRoute } from 'react-router';\nimport NoPages from '../components/nopages/';\nimport IndexPages from '../interface/index/';\nimport ButtonPages from '../interface/button/'\n\nconst propTypes = {\n  children: PropTypes.element\n};\n\n// Web App 启动\n\nclass AppStart extends React.Component {\n  render() {\n    if (!this.props.children) {\n      return null;\n    }\n    return (\n      \u003cdiv\n        className=\"app-container\"\n      \u003e\n        { this.props.children }\n      \u003c/div\u003e\n    );\n  }\n}\n\nAppStart.propTypes = propTypes;\n\nmodule.exports = {\n  start() {\n    render((\n      \u003cRouter\n        history={ hashHistory }\n      \u003e\n        \u003cRoute\n          path=\"/\"\n          component={ AppStart }\n        \u003e\n          \u003cIndexRoute component= { IndexPages } /\u003e\n          \u003cRoute path=\"button\" component={ ButtonPages } /\u003e\n          \u003cRoute path=\"*\" component={ NoPages } /\u003e\n        \u003c/Route\u003e\n      \u003c/Router\u003e\n    ), document.getElementById('app-container'));\n  }\n};\n\n```\n\n## 感谢\n\n感谢好友 [结一](https://github.com/marvin1023) 提供了CSS UI [sheral](https://github.com/imweb/sheral)项目。\n\n## 开源遵循\n\nThe MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightningminers%2Fkodo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flightningminers%2Fkodo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightningminers%2Fkodo/lists"}