cenXiv 是一个基于 Django 的电子预印本存档,旨在为用户提供中文(CN)和英文(EN)双语界面的 arXiv 论文浏览、搜索和下载功能。该项目允许用户浏览、搜索和获取科学论文的各种格式,包括中文全文 PDF、英文全文 PDF、HTML、DVI 和源文件等。
确保您的系统上已安装以下软件:
- Python 3.13 或更高版本
- Memcached(用于页面缓存)
- RabbitMQ(用于异步任务的消息队列)
- Poetry(用于依赖管理和虚拟环境)
- Git(用于代码版本控制)
-
克隆项目到本地
git clone https://github.com/cenXiv/cenxiv.git cd cenxiv -
安装 Poetry
如果您尚未安装 Poetry,可以使用以下命令进行安装:
curl -sSL https://install.python-poetry.org | python3 -或参考 Poetry 官方文档 进行安装。
-
使用 Poetry 创建虚拟环境并安装依赖
poetry install
这将根据
pyproject.toml文件安装所有必要的依赖并创建虚拟环境。 -
激活虚拟环境
poetry shell
-
配置环境变量
创建一个
.env文件在项目根目录,并添加以下内容:SECRET_KEY=your_secret_key DEBUG=True ALLOWED_HOSTS=localhost,127.0.0.1
将
your_secret_key替换为您的 Django 密钥。 -
运行数据库迁移
python manage.py migrate
-
创建超级用户(可选)
python manage.py createsuperuser
-
启动 memcached
memcached -m 256 -I 64m
-
启动 rabbitmq
brew services start rabbitmq rabbitmqctl enable_feature_flag all
-
启动 celery
poetry run celery -A cenxiv worker -l INFO- 启动开发服务器
python manage.py runserver- 访问项目
在浏览器中访问 http://127.0.0.1:8000/ 查看 cenXiv 项目。
- 实现论文的中文翻译及中文全文 PDF 下载
- 实现用户注册和登录功能
- 编写单元测试和集成测试
- 完善文档
欢迎任何人对 cenXiv 项目进行贡献!无论是报告问题、提出建议还是提交代码,您的参与都将使项目更加完善。请遵循以下步骤进行贡献:
-
Fork 本项目
-
创建您的特性分支
git checkout -b feature/YourFeature
-
提交您的更改
git commit -m '添加了某个新功能' -
推送到分支
git push origin feature/YourFeature
-
创建一个 Pull Request
在 GitHub 上发起一个新的 Pull Request,我们的维护团队会尽快审查您的更改。
- 编码规范:请遵循 PEP 8 编码风格。
- 文档:请为您的功能添加相应的文档说明。
- 测试:确保所有新功能都有相应的测试覆盖。
- 提交信息:请使用清晰、简洁的提交信息,描述您所做的更改。
如有任何问题或建议,请通过 GitHub 的 Issues 页面提交,或联系项目维护者:
- 邮箱:sfzuo@bao.ac.cn
- GitHub Discussions:请访问 cenXiv Discussions
感谢您的支持与贡献!
- 后端:Django 5.1.4
- 前端:HTML, CSS, JavaScript
- 数据库:SQLite(开发),建议使用 PostgreSQL(生产)
- 缓存:Memcached
- 异步任务 + 消息队列:Celery + RabbitMQ
- 依赖管理:Poetry
- 版本控制:Git
本项目暂无许可证。

