特性
- 将 Jupyter笔记本导入为博客文章或书籍章节
- 将出版物(如书籍、会议论文集和期刊)从您的参考文献管理器导入到您的Markdown格式的网站或书籍中
- 只需从参考文献管理器(例如Zotero)导出BibTeX文件,并将此文件作为转换工具的输入
- 兼容所有静态网站生成器,如Next、Astro、Gatsby、Hugo等
- 易于使用 - 100% Python,无需依赖Pandoc等复杂软件
- 使用GitHub Action 自动化 文件转换
社区
我们的使命是通过开发像这样的开源工具来促进开放研究。
为了帮助我们根据MIT许可证在可持续地进行这个开源软件的开发,我们请求所有使用它的个人和企业支持它的维护和发展,通过赞助和贡献来实现。
支持开放研究运动:
- ⭐️ 在GitHub上给这个项目加星标
- ❤️ 成为GitHub赞助商并解锁特权
- ☕️ 捐赠一杯咖啡
- 👩💻 贡献
打开您的终端或命令提示符应用程序并输入以下的安装命令之一。
对于最简单的安装,使用Pipx进行安装:
pipx install academic
Pipx将会自动在一个专用环境中为您安装所需的Python版本。
使用Python的Pip工具进行安装,请确保您已安装Python 3.11+,然后运行:
pip3 install -U academic
打开您的命令行或终端应用程序,使用cd
命令导航至包含您希望转换的文件的文件夹,例如:
cd ~/Documents/my_website
从您的参考文献管理器中(例如Zotero)下载参考文献,使用Bibtex格式。
假设我们将我们的出版物下载到了网站文件夹内名为my_publications.bib
的文件中,让我们将它们导入到 content/publication/
文件夹中:
academic import my_publications.bib content/publication/ --compact
可选参数:
--compact
生成没有注释或空键的最小化markdown--overwrite
覆盖输出文件夹中的任何现有出版物--normalize
标准化标签,将其转换为小写并将第一个字母大写(例如 "sciEnCE" -> "Science")--featured
将这些出版物标记为特色出版物(以便在您的网站的特色出版物部分显示)--verbose
或-v
显示详细消息--help
帮助
导入出版物后,我们建议您:
- 编辑每个出版物的Markdown正文,直接在页面上添加全文(如果出版物是开放访问的),或者添加每个出版物的补充笔记
- 将名为
featured
的图像添加到每个出版物的文件夹中,以在页面上可视化地代表您的出版物,并用于在社交媒体上分享 - 将出版物的PDF添加到每个出版物的文件夹中(对于开放访问的出版物),以便您的网站访问者可以下载您的出版物
设想我们有一个笔记本在网站文件夹中的notebooks
文件夹中,让我们将它们导入到content/post/
文件夹中:
academic import 'notebooks/*.ipynb' content/post/ --verbose
可选参数:
--overwrite
覆盖输出文件夹中的任何现有博客文章--verbose
或-v
显示详细消息--help
帮助
对贡献开源和开放研究感兴趣吗?
查看开放的问题,并贡献一个Pull Request。
对于本地开发,克隆此存储库并使用诗(Poetry)安装和运行转换器,使用以下命令: git clone https://github.com/GetRD/academic-file-converter.git cd academic-file-converter poetry install poetry run academic import tests/data/article.bib output/publication/ --overwrite --compact poetry run academic import 'tests/data/**/*.ipynb' output/post/ --overwrite --verbose
在准备投稿时,请运行以下检查并确保所有检查都通过:
- Lint:
make lint
- Format:
make format
- Test:
make test
- Type check:
make type
您可以通过安装GitHub上的最新main
分支来帮助测试最新的开发版本:
pip3 install -U git+https://github.com/GetRD/academic-file-converter.git
版权所有2018-至今 George Cushen。
根据MIT许可证授权。