# Codex of the Damned
[![PyPI version](https://badge.fury.io/py/codex-of-the-damned.svg)](https://badge.fury.io/py/codex-of-the-damned)
[![Validation](https://github.com/lionel-panhaleux/codex-of-the-damned/actions/workflows/validation.yaml/badge.svg)](https://github.com/lionel-panhaleux/codex-of-the-damned/actions)
[![Python version](https://img.shields.io/badge/python-3.11-blue)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/License-MIT-blue)](https://opensource.org/licenses/MIT)
[![Code Style](https://img.shields.io/badge/code%20style-black-black)](https://github.com/psf/black)
This site is a compilation of Vampire: the Eternal Struggle strategy resources.
The site is publicly available at [codex-of-the-damned.org](http://www.codex-of-the-damned.org).
Portions of the materials are the copyrights and trademarks of Paradox Interactive AB,
and are used with permission. All rights reserved.
For more information please visit [www.worldofdarkness.com](http://www.worldofdarkness.com.).
![Dark Pack](codex_of_the_damned/static/img/dark-pack.png)
## Contributing
Contributions are welcome. Pull Requests will be merged if they respect the general style.
Issues will be dealt with as quickly as possible.
This site uses [Flask](https://flask.palletsprojects.com) and [Babel](http://babel.pocoo.org)
to generate pages dynamically and handle internationalisation.
## Installation
To install a working developpment version of the site, use `pip`:
```bash
python3 -m venv venv
pip install -e ".[dev]"
```
### Translating
Install a PO editor like [POEdit](https://poedit.net), call the following command
to generate the messages in the language you're interested in:
```bash
BABEL_LANG=es make po-update
```
Then open the generated catalog file,
`codex_of_the_damned/translations/es/LC_MESSAGES/messages.po`, in your PO editor.
While translating, beware to keep the `HTML` tags like `<p>`, `<em>` as they are,
and make sure you keep the exact same format parameters in the translated text.
They include anything dynamic, from disciplines like `%(cel)s` and clans like
`%(brujah)s`, to cards like `%(alastor)s` and external urls like `%(johns_deck)`.
Once you're done translating, generate the translation files with:
```bash
make po
```
To make a new language accessible in the website, you simply have to add the matching
line in the translation `nav` header of the global layout
`codex_of_the_damned/templates/layout.html`:
```html
<nav role="translation">
{{ translation('en', "🇬🇧") }}
{{ translation('fr', "🇫🇷") }}
</nav>
```
### Run a dev server
You can run the development version of the site using the `codex` entrypoint:
```bash
$ codex
* Serving Flask app "codex_of_the_damned" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
```
You can set the `DEBUG` environment variable to activate the debug mode:
```bash
DEBUG=1 codex
```
### Production deployment
To run the production server, you'll need a web server like
[uWSGI](https://uwsgi-docs.readthedocs.io):
```bash
uwsgi --module codex_of_the_damned:app
```
or [Gunicorn](https://gunicorn.org):
```bash
gunicorn codex_of_the_damned:app
```
## Useful tools
### Icons
Convert icons from raster to SVG using `imagemagick` and `potrace`,
depending on the icon, smoothing may be better or not:
```bash
convert -morphology Smooth Octagon:2 clan-ahrimanes.gif clan-ahrimanes.svg
```
### Google Translate
Use [POEdit](https://poedit.net) and [Google Translate](https://translate.google.com) to help with translations.
Run `make po` to build the translation files under `codex-of-the-damned/translations`,
edit them with [POEdit](https://poedit.net), then run `make po` when you're done to streamline them.
Raw data
{
"_id": null,
"home_page": null,
"name": "codex-of-the-damned",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "vtes, Vampire: The Eternal Struggle, CCG, TWD, TWDA",
"author": null,
"author_email": "Lionel Panhaleux <lionel.panhaleux+codex@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/d1/03/a76ba61510ebd26f8d1974603e4146d434cbc3db95a6353a69e1938d694c/codex_of_the_damned-1.85.tar.gz",
"platform": null,
"description": "# Codex of the Damned\n\n[![PyPI version](https://badge.fury.io/py/codex-of-the-damned.svg)](https://badge.fury.io/py/codex-of-the-damned)\n[![Validation](https://github.com/lionel-panhaleux/codex-of-the-damned/actions/workflows/validation.yaml/badge.svg)](https://github.com/lionel-panhaleux/codex-of-the-damned/actions)\n[![Python version](https://img.shields.io/badge/python-3.11-blue)](https://www.python.org/downloads/)\n[![License](https://img.shields.io/badge/License-MIT-blue)](https://opensource.org/licenses/MIT)\n[![Code Style](https://img.shields.io/badge/code%20style-black-black)](https://github.com/psf/black)\n\nThis site is a compilation of Vampire: the Eternal Struggle strategy resources.\nThe site is publicly available at [codex-of-the-damned.org](http://www.codex-of-the-damned.org).\n\nPortions of the materials are the copyrights and trademarks of Paradox Interactive AB,\nand are used with permission. All rights reserved.\nFor more information please visit [www.worldofdarkness.com](http://www.worldofdarkness.com.).\n\n![Dark Pack](codex_of_the_damned/static/img/dark-pack.png)\n\n## Contributing\n\nContributions are welcome. Pull Requests will be merged if they respect the general style.\nIssues will be dealt with as quickly as possible.\n\nThis site uses [Flask](https://flask.palletsprojects.com) and [Babel](http://babel.pocoo.org)\nto generate pages dynamically and handle internationalisation.\n\n\n## Installation\n\nTo install a working developpment version of the site, use `pip`:\n\n```bash\npython3 -m venv venv\npip install -e \".[dev]\"\n```\n\n### Translating\n\nInstall a PO editor like [POEdit](https://poedit.net), call the following command\nto generate the messages in the language you're interested in:\n\n```bash\nBABEL_LANG=es make po-update\n```\n\nThen open the generated catalog file,\n`codex_of_the_damned/translations/es/LC_MESSAGES/messages.po`, in your PO editor.\n\n\nWhile translating, beware to keep the `HTML` tags like `<p>`, `<em>` as they are,\nand make sure you keep the exact same format parameters in the translated text.\nThey include anything dynamic, from disciplines like `%(cel)s` and clans like\n`%(brujah)s`, to cards like `%(alastor)s` and external urls like `%(johns_deck)`.\n\n\nOnce you're done translating, generate the translation files with:\n\n```bash\nmake po\n```\n\nTo make a new language accessible in the website, you simply have to add the matching\nline in the translation `nav` header of the global layout\n`codex_of_the_damned/templates/layout.html`:\n\n```html\n<nav role=\"translation\">\n {{ translation('en', \"\ud83c\uddec\ud83c\udde7\") }}\n {{ translation('fr', \"\ud83c\uddeb\ud83c\uddf7\") }}\n</nav>\n```\n\n### Run a dev server\n\nYou can run the development version of the site using the `codex` entrypoint:\n\n```bash\n$ codex\n * Serving Flask app \"codex_of_the_damned\" (lazy loading)\n * Environment: production\n WARNING: This is a development server. Do not use it in a production deployment.\n Use a production WSGI server instead.\n * Debug mode: off\n * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)\n```\n\nYou can set the `DEBUG` environment variable to activate the debug mode:\n\n```bash\nDEBUG=1 codex\n```\n\n### Production deployment\n\nTo run the production server, you'll need a web server like\n[uWSGI](https://uwsgi-docs.readthedocs.io):\n\n```bash\nuwsgi --module codex_of_the_damned:app\n```\n\nor [Gunicorn](https://gunicorn.org):\n\n```bash\ngunicorn codex_of_the_damned:app\n```\n\n## Useful tools\n\n### Icons\n\nConvert icons from raster to SVG using `imagemagick` and `potrace`,\ndepending on the icon, smoothing may be better or not:\n\n```bash\nconvert -morphology Smooth Octagon:2 clan-ahrimanes.gif clan-ahrimanes.svg\n```\n\n### Google Translate\n\nUse [POEdit](https://poedit.net) and [Google Translate](https://translate.google.com) to help with translations.\n\nRun `make po` to build the translation files under `codex-of-the-damned/translations`,\nedit them with [POEdit](https://poedit.net), then run `make po` when you're done to streamline them.\n",
"bugtrack_url": null,
"license": null,
"summary": "Website on VTES Strategy, cards rulings and TWD search interface",
"version": "1.85",
"project_urls": {
"Homepage": "https://codex-of-the-damned.org",
"Repository": "https://github.com/lionel-panhaleux/codex-of-the-damned"
},
"split_keywords": [
"vtes",
" vampire: the eternal struggle",
" ccg",
" twd",
" twda"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "020db76a422f300414f07bbe28be1ef88f597541c72f4efb5041345db2fd2c47",
"md5": "816893cc998592e6a956f1c1020deb40",
"sha256": "3bd5062fbcef756a7af4ba91591f9c5ae219797ab2558713a3a0173a0826c36e"
},
"downloads": -1,
"filename": "codex_of_the_damned-1.85-py3-none-any.whl",
"has_sig": false,
"md5_digest": "816893cc998592e6a956f1c1020deb40",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 23328611,
"upload_time": "2024-12-11T23:59:39",
"upload_time_iso_8601": "2024-12-11T23:59:39.890689Z",
"url": "https://files.pythonhosted.org/packages/02/0d/b76a422f300414f07bbe28be1ef88f597541c72f4efb5041345db2fd2c47/codex_of_the_damned-1.85-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d103a76ba61510ebd26f8d1974603e4146d434cbc3db95a6353a69e1938d694c",
"md5": "38675da98a2e04ecb0a266292da06bce",
"sha256": "b5f46ec0a21180751d0b543137f214e6568ec3e698488cef3abdabcf59bff981"
},
"downloads": -1,
"filename": "codex_of_the_damned-1.85.tar.gz",
"has_sig": false,
"md5_digest": "38675da98a2e04ecb0a266292da06bce",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 23170998,
"upload_time": "2024-12-11T23:59:46",
"upload_time_iso_8601": "2024-12-11T23:59:46.003308Z",
"url": "https://files.pythonhosted.org/packages/d1/03/a76ba61510ebd26f8d1974603e4146d434cbc3db95a6353a69e1938d694c/codex_of_the_damned-1.85.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-11 23:59:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "lionel-panhaleux",
"github_project": "codex-of-the-damned",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "codex-of-the-damned"
}