📚 Bibliography management for your django projects.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
docs/images
requirements
sandbox
td_biblio
.gitignore
.travis.yml
AUTHORS
CHANGELOG.md
LICENSE
MANIFEST.in
Makefile
Procfile
README.md
requirements.txt
runtime.txt
setup.cfg
setup.py

README.md

Django TailorDev Biblio

Bibliography management with Django.

Coverage Status

Compatibility

Since the 1.0.0 release, we have added full support for recent python and Django releases:

Django 1.8 Django 1.9 Django 1.10 Django 1.11 Django 2.0 Django 2.1
Python 2.7 ✔️ ✔️ ✔️ ✔️
Python 3.4 ✔️ ✔️ ✔️ ✔️ ✔️
Python 3.5 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Python 3.6 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Please note that for older Python and/or Django versions, you can still use the 0.3 release.

Sandbox

Click on the screenshot below to browse the sandbox deployed on Heroku:

Django TailorDev Biblio Screenshot

Nota bene: to test references importation from PMIDs or DOIs, you will need to login with these credentials:

login: rosalind
password: idiscovereddnastructurefirst

Installation

Install td_biblio

The easiest way to go is to use pip:

$ pip install -U django-tailordev-biblio

Configure td_biblio

Add td_biblio to your INSTALLED_APPS in django settings:

# foo_project/settings.py

INSTALLED_APPS = (
    # other apps…
    'td_biblio',
)

Add td_biblio urls your project url patterns:

# foo_project/urls.py

urlpatterns = [
    # other urls…
    url(r'^bibliography/', include('td_biblio.urls', namespace='td_biblio')),
]

And finally migrate your database from your project root path:

$ python manage.py migrate td_biblio

Add a base template

In order to use td_biblio templates, you will need to create a base template to inherit from. This base template should be visible as _layouts/base.html and contains at least the following blocks:

<html>
  <head>
    <title>Publication list</title>
  </head>
  <body>
    {% block content %}{% endblock content %} {% block javascripts %}{% endblock
    javascripts %}
  </body>
</html>

As you might have guessed, the content block is the base block where we render the bibliography list and item details, while the javascripts block contains eponym front-end dependencies. You will find an example base layout template at: td_biblio/templates/_layouts/base.html

Import bibliography

Once td_biblio is installed and configured, you may want to import your references stored in a BibTeX file. Hopefully, there is a command for that:

$ python manage.py bibtex_import my_bibliography.bib

Alternatively, you can browse to the /import/ view with a superuser account to fetch references from their DOIs or PMIDs.

Hack

Development installation

If you intend to work on the code, clone this repository and install all dependencies in a virtual environment via:

$ make bootstrap

And then start the development server via:

$ make dev

Running the Tests

You can run the tests with via:

$ make test

Deploy to Heroku

To start playing with an Heroku instance, we suppose you have:

  • an Heroku account;
  • a functional SSH key imported for this account;
  • installed the heroku client.
# Log in to heroku
$ heroku login

# Configure current repository as a registered heroku app
$ heroku git:remote -a tailordev-biblio

# Push your code
$ git push heroku master

# Perform database migrations
$ heroku run python sandbox/manage.py migrate

Upload a new release to PyPI

$ python setup.py sdist bdist_wheel
$ twine upload dist/*

License

django-tailordev-biblio is released under the MIT License. See the bundled LICENSE file for details.