Skip to content
/ cenxiv Public

cenXiv 是一个基于 Django 的电子预印本存档,旨在为用户提供中文(CN)和英文(EN)双语界面的 arXiv 论文浏览、搜索和下载功能。该项目允许用户浏览、搜索和获取科学论文的各种格式,包括中文全文 PDF、英文全文 PDF、HTML、DVI 和源文件等。

Notifications You must be signed in to change notification settings

cenXiv/cenxiv

Repository files navigation

cenXiv 项目

项目介绍

cenXiv 是一个基于 Django 的电子预印本存档,旨在为用户提供中文(CN)和英文(EN)双语界面的 arXiv 论文浏览、搜索和下载功能。该项目允许用户浏览、搜索和获取科学论文的各种格式,包括中文全文 PDF、英文全文 PDF、HTML、DVI 和源文件等。

项目网址

https://cenxiv.cn

首页截图

查看更多网站截图

安装和运行

前提条件

确保您的系统上已安装以下软件:

  • Python 3.13 或更高版本
  • Memcached(用于页面缓存)
  • RabbitMQ(用于异步任务的消息队列)
  • Poetry(用于依赖管理和虚拟环境)
  • Git(用于代码版本控制)

安装步骤

  1. 克隆项目到本地

    git clone https://github.com/cenXiv/cenxiv.git
    cd cenxiv
  2. 安装 Poetry

    如果您尚未安装 Poetry,可以使用以下命令进行安装:

    curl -sSL https://install.python-poetry.org | python3 -

    或参考 Poetry 官方文档 进行安装。

  3. 使用 Poetry 创建虚拟环境并安装依赖

    poetry install

    这将根据 pyproject.toml 文件安装所有必要的依赖并创建虚拟环境。

  4. 激活虚拟环境

    poetry shell
  5. 配置环境变量

    创建一个 .env 文件在项目根目录,并添加以下内容:

    SECRET_KEY=your_secret_key
    DEBUG=True
    ALLOWED_HOSTS=localhost,127.0.0.1

    your_secret_key 替换为您的 Django 密钥。

  6. 运行数据库迁移

    python manage.py migrate
  7. 创建超级用户(可选)

    python manage.py createsuperuser
  8. 启动 memcached

    memcached -m 256 -I 64m
  9. 启动 rabbitmq

    brew services start rabbitmq
    rabbitmqctl enable_feature_flag all
  10. 启动 celery

poetry run celery -A cenxiv worker -l INFO
  1. 启动开发服务器
python manage.py runserver
  1. 访问项目

在浏览器中访问 http://127.0.0.1:8000/ 查看 cenXiv 项目。

TODO 列表

  • 实现论文的中文翻译及中文全文 PDF 下载
  • 实现用户注册和登录功能
  • 编写单元测试和集成测试
  • 完善文档

贡献

欢迎任何人对 cenXiv 项目进行贡献!无论是报告问题、提出建议还是提交代码,您的参与都将使项目更加完善。请遵循以下步骤进行贡献:

  1. Fork 本项目

  2. 创建您的特性分支

    git checkout -b feature/YourFeature
  3. 提交您的更改

    git commit -m '添加了某个新功能'
  4. 推送到分支

    git push origin feature/YourFeature
  5. 创建一个 Pull Request

    在 GitHub 上发起一个新的 Pull Request,我们的维护团队会尽快审查您的更改。

贡献指南

  • 编码规范:请遵循 PEP 8 编码风格。
  • 文档:请为您的功能添加相应的文档说明。
  • 测试:确保所有新功能都有相应的测试覆盖。
  • 提交信息:请使用清晰、简洁的提交信息,描述您所做的更改。

联系我们

如有任何问题或建议,请通过 GitHub 的 Issues 页面提交,或联系项目维护者:

感谢您的支持与贡献!

技术栈

  • 后端:Django 5.1.4
  • 前端:HTML, CSS, JavaScript
  • 数据库:SQLite(开发),建议使用 PostgreSQL(生产)
  • 缓存:Memcached
  • 异步任务 + 消息队列:Celery + RabbitMQ
  • 依赖管理:Poetry
  • 版本控制:Git

许可证

本项目暂无许可证。

赞赏与支持

请用微信扫描下方的二维码进行赞赏,感谢你的支持! 赞赏码

About

cenXiv 是一个基于 Django 的电子预印本存档,旨在为用户提供中文(CN)和英文(EN)双语界面的 arXiv 论文浏览、搜索和下载功能。该项目允许用户浏览、搜索和获取科学论文的各种格式,包括中文全文 PDF、英文全文 PDF、HTML、DVI 和源文件等。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published