Skip to main content

TailorDev Biblio Bibliography management with Django.

Project description

# Django TailorDev Biblio

Bibliography management with Django.

[![](https://travis-ci.org/TailorDev/django-tailordev-biblio.svg?branch=master)
](https://travis-ci.org/TailorDev/django-tailordev-biblio/)
[![Coverage Status](https://coveralls.io/repos/github/TailorDev/django-tailordev-biblio/badge.svg?branch=master)](https://coveralls.io/github/TailorDev/django-tailordev-biblio?branch=master)
[![](https://img.shields.io/pypi/v/django-tailordev-biblio.svg)](https://pypi.python.org/pypi/django-tailordev-biblio)

## 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 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | |
| Python 3.4 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| Python 3.5 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Python 3.6 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |

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](docs/images/preview.png "Checkout the demo!")
](https://tailordev-biblio.herokuapp.com)

_Nota bene:_ to test [references
importation](https://tailordev-biblio.herokuapp.com/import/) 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:

```bash
$ pip install -U django-tailordev-biblio
```

### Configure `td_biblio`

Add `td_biblio` to your `INSTALLED_APPS` in django settings:

```python
# foo_project/settings.py

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

Add `td_biblio` urls your project url patterns:

```python
# 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:

```bash
$ 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
<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`](https://github.com/TailorDev/django-tailordev-biblio/blob/master/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:

```bash
$ 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:

```bash
$ make bootstrap
```

And then start the development server via:

```bash
$ make dev
```

### Running the Tests

You can run the tests with via:

```bash
$ 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](https://devcenter.heroku.com/articles/heroku-cli).

```bash
# 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

```bash
$ 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.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-tailordev-biblio-2.0.0.tar.gz (223.5 kB view details)

Uploaded Source

Built Distribution

django_tailordev_biblio-2.0.0-py2.py3-none-any.whl (67.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-tailordev-biblio-2.0.0.tar.gz.

File metadata

  • Download URL: django-tailordev-biblio-2.0.0.tar.gz
  • Upload date:
  • Size: 223.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for django-tailordev-biblio-2.0.0.tar.gz
Algorithm Hash digest
SHA256 b596ac0fcb30cc2c7b7ed31da7238bdfee50a668cf81f6e6862c199798ea38b0
MD5 9453595d0e8d72d8f1a766d6aacb3e05
BLAKE2b-256 17f23fd2a676548eb3587ed0a504ed91f180ccb2869928c49fe5a3d982a03dd8

See more details on using hashes here.

File details

Details for the file django_tailordev_biblio-2.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: django_tailordev_biblio-2.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 67.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for django_tailordev_biblio-2.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 73bd7cdda181b419061abfacba57ef9b1d230d1db033f1e0b0b48f29688e8966
MD5 dc28ddab1c1e9343bde8c4b31222e750
BLAKE2b-256 8d9b374633b795b6050e05897576561255cd5e03e5526f2d075e86170c6d5a57

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page