960

0

Outline

为成长中的团队提供最快的 wiki 和知识库。美观、实时、功能丰富且兼容 Markdown。

使用 React 和 Node.js 为您的团队构建的快速、协作的知识库。使用我们在www.getoutline.com 上的托管版本试用 Outline 。 截屏

打字稿 更漂亮 样式化的组件

这是运行Outline和所有相关服务的源代码。如果您想使用 Outline,则无需运行此代码,我们在getoutline.com上提供了该应用程序的托管版本。

如果您想运行自己的 Outline 副本或为开发做出贡献,那么这里就是您的最佳选择。

安装

请参阅文档以在生产配置中运行您自己的 Outline 副本。

如果您对文档有任何疑问或改进,请在GitHub 讨论中创建一个线程。

发展

如果您希望对 Outline 进行更改、修复和改进,这里有一个设置开发环境的简短指南。

贡献

Outline 由一个小团队构建和维护——我们希望您能帮助我们修复错误和添加功能!

在提交拉取请求之前,请通过在GitHub 上创建或评论问题与核心团队进行讨论——我们也很乐意在讨论中听取您的意见。通过这种方式,我们可以确保在编写代码之前就方法达成一致。这将导致您的代码被接受的可能性更高。

如果您正在寻找入门方法,以下是帮助我们改进 Outline 的方法列表:

  • 翻译成其他语言
  • good first issue标签问题
  • 服务器和前端的性能改进
  • 开发人员的幸福感和文档
  • GitHub 上列出的错误和其他问题

建筑学

如果您有兴趣贡献或了解有关 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 许可