https://github.com/getrd/academic-file-converter
📚 Import Bibtex publications and Jupyter Notebook blog posts into your Markdown website or book. 将Bibtex转换为Markdown网站
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
2 of 20 committers (10.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.4%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
📚 Import Bibtex publications and Jupyter Notebook blog posts into your Markdown website or book. 将Bibtex转换为Markdown网站
Basic Info
- Host: GitHub
- Owner: GetRD
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://docs.hugoblox.com/reference/content-types/#automatically-import-publications-from-bibtex
- Size: 459 KB
Statistics
- Stars: 403
- Watchers: 12
- Forks: 103
- Open Issues: 2
- Releases: 22
Topics
Metadata Files
README.md
Academic File Converter
📚 Easily import publications and Jupyter notebooks to your Markdown-formatted website or book

Features
- Import Jupyter notebooks as blog posts or book chapters
- Import publications (such as books, conference proceedings, and journals) from your reference manager to your Markdown-formatted website or book
- Simply export a BibTeX file from your reference manager, such as Zotero, and provide this as the input to the converter tool
- Compatible with all static website generators such as Next, Astro, Gatsby, Hugo, etc.
- Easy to use - 100% Python, no dependency on complex software such as Pandoc
- Automate file conversions using a GitHub Action
Community
- 📚 View the documentation below
- 💬 Chat live with the community on Discord
- 🐦 Twitter: @GetResearchDev @GeorgeCushen #MadeWithAcademic
❤️ Support Open Research & Open Source
We are on a mission to foster open research by developing open source tools like this.
To help us develop this open source software sustainably under the MIT license, we ask all individuals and businesses that use it to help support its ongoing maintenance and development via sponsorship and contributing.
Support the open research movement:
- ⭐️ Star this project on GitHub
- ❤️ Become a GitHub Sponsor and unlock perks
- ☕️ Donate a coffee
- 👩💻 Contribute
Installation
Open your Terminal or Command Prompt app and enter one of the installation commands below.
With Pipx
For the easiest installation, install with Pipx:
pipx install academic
Pipx will automatically install the required Python version for you in a dedicated environment.
With Pip
To install using the Python's Pip tool, ensure you have Python 3.11+ installed and then run:
pip3 install -U academic
Usage
Open your Command Line or Terminal app and use the cd command to navigate to the folder containing the files you wish to convert, for example:
cd ~/Documents/my_website
Import publications
Download references from your reference manager, such as Zotero, in the Bibtex format.
Say we downloaded our publications to a file named my_publications.bib within the website folder, let's import them into the content/publication/ folder:
academic import my_publications.bib content/publication/ --compact
Optional arguments:
--compactGenerate minimal markdown without comments or empty keys--overwriteOverwrite any existing publications in the output folder--normalizeNormalize tags by converting them to lowercase and capitalizing the first letter (e.g. "sciEnCE" -> "Science")--featuredFlag these publications as featured (to appear in your website's Featured Publications section)--verboseor-vShow verbose messages--helpHelp
Import full text and cover image
After importing publications, we suggest you:
- Edit the Markdown body of each publication to add the full text directly to the page (if the publication is open access), or otherwise, to add supplementary notes for each publication
- Add an image named featured to each publication's folder to visually represent your publication on the page and for sharing on social media
- Add the publication PDF to each publication folder (for open access publications), to enable your website visitors to download your publication
Learn more in the Hugo Blox Docs.
Import blog posts from Jupyter Notebooks
Say we have our notebooks in a notebooks folder within the website folder, let's import them into the content/post/ folder:
academic import 'notebooks/*.ipynb' content/post/ --verbose
Optional arguments:
--overwriteOverwrite any existing blog posts in the output folder--verboseor-vShow verbose messages--helpHelp
Contribute
Interested in contributing to open source and open research?
Learn how to contribute code on Github.
Check out the open issues and contribute a Pull Request.
For local development, clone this repository and use Poetry to install and run the converter using the following commands:
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
When preparing a contribution, run the following checks and ensure that they all pass:
- Lint:
make lint - Format:
make format - Test:
make test - Type check:
make type
Help beta test the dev version
You can help test the latest development version by installing the latest main branch from GitHub:
pip3 install -U git+https://github.com/GetRD/academic-file-converter.git
License
Copyright 2018-present George Cushen.
Licensed under the MIT License.
Owner
- Name: research.dev
- Login: GetRD
- Kind: organization
- Website: research.dev
- Twitter: GetResearchDev
- Repositories: 1
- Profile: https://github.com/GetRD
GitHub Events
Total
- Issues event: 2
- Watch event: 45
- Delete event: 7
- Issue comment event: 17
- Pull request event: 15
- Fork event: 7
- Create event: 4
Last Year
- Issues event: 2
- Watch event: 45
- Delete event: 7
- Issue comment event: 17
- Pull request event: 15
- Fork event: 7
- Create event: 4
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| George Cushen | g****n | 114 |
| Alexander Richardson | A****n@c****k | 5 |
| Harvester | H****7 | 2 |
| dependabot[bot] | 4****] | 2 |
| RobinDM | a****s@g****m | 1 |
| Armando Faz | a****h | 1 |
| Chas Nelson | c****n@g****k | 1 |
| Christian Brodbeck | c****k@g****m | 1 |
| Daniel Thomas | d****4@s****g | 1 |
| FramboisePi | 2****i | 1 |
| John Muchovej | 5****s | 1 |
| Kartik Singhal | k****l@g****m | 1 |
| Luca Di Gaspero | l****o@g****m | 1 |
| Oliver Staadt | o****t | 1 |
| Richard Höchenberger | r****r@g****m | 1 |
| Stewart Jamieson | S****n | 1 |
| Yury Zhauniarovich | z****y | 1 |
| highlando | j****d@g****m | 1 |
| jwtay1 | 6****1 | 1 |
| lsy3 | s****t@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 8
- Total pull requests: 34
- Average time to close issues: 14 days
- Average time to close pull requests: about 1 month
- Total issue authors: 8
- Total pull request authors: 4
- Average comments per issue: 1.5
- Average comments per pull request: 1.38
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 28
Past Year
- Issues: 1
- Pull requests: 16
- Average time to close issues: about 1 month
- Average time to close pull requests: about 1 month
- Issue authors: 1
- Pull request authors: 3
- Average comments per issue: 1.0
- Average comments per pull request: 1.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 12
Top Authors
Issue Authors
- d-bohn (1)
- dcoeurjo (1)
- hoechenberger (1)
- cmahnke (1)
- karthikraman (1)
- lrnv (1)
- dependabot[bot] (1)
- wojciechmyszka (1)
- andrese52 (1)
Pull Request Authors
- dependabot[bot] (42)
- AllardDuursma (2)
- yarikoptic (2)
- gcushen (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 1,743 last-month
- Total docker downloads: 43
- Total dependent packages: 0
- Total dependent repositories: 6
- Total versions: 29
- Total maintainers: 1
pypi.org: academic
Import Bibtex publications and Jupyter Notebook blog posts into your Markdown-formatted website or book.
- Homepage: https://hugoblox.com/
- Documentation: https://docs.hugoblox.com/reference/content-types/
- License: MIT
-
Latest release: 0.11.2
published about 2 years ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v2 composite
- github/codeql-action/analyze v1 composite
- github/codeql-action/autobuild v1 composite
- github/codeql-action/init v1 composite
- actions/stale v3 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- codecov/codecov-action v1.0.6 composite
- bibtexparser 1.4.0
- black 23.9.1
- click 8.1.7
- colorama 0.4.6
- flake8 6.1.0
- iniconfig 2.0.0
- isort 5.12.0
- mccabe 0.7.0
- mypy-extensions 1.0.0
- packaging 23.1
- pathspec 0.11.2
- platformdirs 3.10.0
- pluggy 1.3.0
- pycodestyle 2.11.0
- pyflakes 3.1.0
- pyparsing 3.1.1
- pytest 7.4.2
- ruamel-yaml 0.17.32
- ruamel-yaml-clib 0.2.7
- bibtexparser ^1.4.0
- python >=3.11.5
- ruamel.yaml ^0.17.32