Skip to content
This repository has been archived by the owner. It is now read-only.
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.