Skip to content
5j9Public

About

An online citation generator for Wikipedia

Resources

Stars

36 stars

Watchers

3 watching

Forks

Latest commit

 

History

1,306 Commits

Folders and files

Repository files navigation

Citer

A citation generator tool for Wikipedia. Currently accessible from:
https://citer.toolforge.org/ (the English version)
https://yadfa.toolforge.org/ (the Persian version)

What does it do?

Citer is especially useful for generating citations from Google Books URLs, DOIs (Any Digital object Identifiers) and ISBNs (International Standard Book Numbers). Additionally, any URL, including the URL of many major news websites can be processed to generate a citation.

URLs of Wayback Machine and archive.today are also supported and generate a citation template with archive parameters filled.

Installation

To run Citer on your local computer:

  1. Clone the project (use --depth=1 to reduce size)
  2. Copy config.py.example to config.py (You might want to get an NCBI API key and add it to the config file if you're going to use its services)
  3. Install uv. (curl -LsSf https://astral.sh/uv/install.sh | sh)
  4. Run uv run app.py

If everything goes fine, the main page will be accessible from:
http://localhost:5000/

If you experience any problems or have questions, please open an issue on this repo.

Language Setting

The default language is English and can be changed to Persian using the setting in the config.py file.

Known issues

  • The bookmarklet does not work on archive.org (issue #26) or any other website that does not allow opening external links. One needs to use Citer directly in such cases.

Running Tests

Citer uses pytest for testing. To run the test suite, execute:

uv run pytest

By default, tests run in offline mode using cached responses from tests/testdata. To allow network access when a cached response is unavailable, use --online:

uv run pytest --online

Other useful options:

  • --force-overwrite-testdata: Regenerate cached responses, even when cached versions already exist.
  • --remove-unused-testdata: Remove unused test data files after the test run.
  • --print-test-filename: Print the filenames of cached responses used by tests.

For example, to regenerate cached responses using the network:

uv run pytest --online --force-overwrite-testdata

Warning: --remove-unused-testdata deletes cache files that were not used during the test run. Use it with care.

About

An online citation generator for Wikipedia

Resources

Stars

36 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages