Outline
为成长中的团队提供最快的 wiki 和知识库。美观、实时、功能丰富且兼容 Markdown。
使用 React 和 Node.js 为您的团队构建的快速、协作的知识库。使用我们在www.getoutline.com 上的托管版本试用 Outline 。
这是运行Outline和所有相关服务的源代码。如果您想使用 Outline,则无需运行此代码,我们在getoutline.com上提供了该应用程序的托管版本。
如果您想运行自己的 Outline 副本或为开发做出贡献,那么这里就是您的最佳选择。
请参阅文档以在生产配置中运行您自己的 Outline 副本。
如果您对文档有任何疑问或改进,请在GitHub 讨论中创建一个线程。
如果您希望对 Outline 进行更改、修复和改进,这里有一个设置开发环境的简短指南。
Outline 由一个小团队构建和维护——我们希望您能帮助我们修复错误和添加功能!
在提交拉取请求之前,请通过在GitHub 上创建或评论问题与核心团队进行讨论——我们也很乐意在讨论中听取您的意见。通过这种方式,我们可以确保在编写代码之前就方法达成一致。这将导致您的代码被接受的可能性更高。
如果您正在寻找入门方法,以下是帮助我们改进 Outline 的方法列表:
good first issue
标签问题如果您有兴趣贡献或了解有关 Outline 代码库的更多信息,请首先参阅架构文档,以获取有关如何组合应用程序的高级概述。
在开发中,Outline 将简单的日志记录输出到控制台,并以类别为前缀。在生产中,它会输出 JSON 日志,这些可以很容易地被您喜欢的日志摄取管道解析。
默认情况下禁用 HTTP 日志记录,但可以通过设置 DEBUG=http
环境变量来启用。
我们的目标是为应用程序的关键部分提供足够的测试覆盖率,而不是 100% 的单元测试覆盖率。所有 API 端点和任何与身份验证相关的东西都应该经过彻底测试。
要添加新测试,请使用Jest .test.js
编写测试并在测试代码旁边添加一个带有扩展名的文件。
# To run all tests
make test
# To run backend tests in watch mode
make watch
一旦创建了测试数据库,make test
您就可以直接单独运行前端和后端测试。
# To run backend tests
yarn test:server
# To run a specific backend test
yarn test:server myTestFile
# To run frontend tests
yarn test:app
Sequelize 用于创建和运行迁移,例如:
yarn sequelize migration:generate --name my-migration
yarn sequelize db:migrate
或者在测试数据库上运行迁移:
yarn sequelize db:migrate --env test
Outline 已获得 BSL 1.1 许可。