开放图书馆
开放图书馆是一个开放的、可编辑的图书目录,致力于为每一本出版过的书籍创建一个网页。
你想开始了解吗?这是你正在寻找的指南。你可能想了解更多关于谷歌编程之夏(GSoC)或Hacktoberfest的信息。
目录
概述
开放图书馆是一项始于2006年的努力,旨在"为每一本出版过的书创建一个网页"。它提供访问许多公共领域和绝版书籍的途径,这些书籍可以在线阅读。
这里有一个简短的开放图书馆公开导览,帮助你熟悉这项服务及其功能(10分钟)。
安装
运行 docker compose up
并访问 http://localhost:8080
需要更多详细信息?查看 Docker 说明 或 视频教程。 另外,如果你不想在本地计算机上设置Open Library,可以尝试使用Gitpod! 这让你可以完全在浏览器中处理Open Library,无需在个人电脑上安装任何东西。 警告:此集成仍处于实验阶段。
开发者指南
有关管理Open Library实例的说明,请参阅开发者的快速入门指南。
你还可以在Open Library的Wiki中找到更多关于Open Library的开发者文档信息。
代码组织
- openlibrary/core - 核心Open Library功能,由www导入和使用
- openlibrary/plugins - 其他模型、控制器和视图辅助函数
- openlibrary/views - 用于渲染网页的视图
- openlibrary/templates - 网站使用的所有模板
- openlibrary/macros - 宏类似于模板,但可以从wikitext中调用
架构
后端
OpenLibrary基于Infogami wiki系统开发,而Infogami本身是建立在web.py Python Web框架和Infobase数据库框架之上的。
阅读完OpenLibrary后端技术概述后,强烈建议你阅读开发者入门,其中解释了如何使用Infogami(及其数据库Infobase)。
如果你想深入了解Infogami的源代码,请查看Infogami仓库。
运行测试
Open Library测试可以使用docker运行。有关更多详细信息,请查看我们的测试文档。
docker compose run --rm home make test
贡献
志愿者可以通过多种方式为Open Library项目做出贡献,从开发和设计到数据管理和社区参与。以下是你可以参与的方式:
开发者
设计师
- 设计贡献: 我们欢迎设计师帮助改善用户体验。你可以从查看与设计相关的问题开始。
图书馆员和数据爱好者
- 数据贡献: 了解如何为我们的目录做出贡献,帮助改善Open Library上的图书数据。访问我们的志愿者页面获取更多信息。
社区参与
- 参加我们的社区会议: Open Library每周举行社区和设计会议。查看社区会议时间表了解时间和详情。
- 提问: 如果你有任何问题,加入我们的gitter聊天或在我们的志愿者页面上请求加入我们的Slack频道。
有关更详细的信息,请参阅贡献指南。
许可证
此处发布的所有源代码均可根据GNU Affero通用公共许可证第3版的条款使用。