Website on VTES Strategy, cards rulings and TWD search interface
Project description
Codex of the Damned
This site is a compilation of Vampire: the Eternal Struggle strategy resources. The site is publicly available at 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.
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 and Babel to generate pages dynamically and handle internationalisation.
Installation
To install a working developpment version of the site, use pip
:
python3 -m venv venv
pip install -e ".[dev]"
Translating
Install a PO editor like POEdit, call the following command to generate the messages in the language you're interested in:
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:
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
:
<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:
$ 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:
DEBUG=1 codex
Production deployment
To run the production server, you'll need a web server like uWSGI:
uwsgi --module codex_of_the_damned:app
or Gunicorn:
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:
convert -morphology Smooth Octagon:2 clan-ahrimanes.gif clan-ahrimanes.svg
Google Translate
Use python and Google Translate to help with translation:
import clipboard
import pprint
import re
def pre():
s = "".join(s[1:-1] for s in clipboard.paste().split("\n"))
s = re.sub(r"%\(([^\)]*)\)s", r"§K3PX\1§", s)
clipboard.copy(s)
def post():
s = clipboard.paste()
s = pprint.pformat(re.sub(r"§K3PX([^§]*)§", r"%(\1)s", s), width=120)
s = re.sub(
r"(^')|('$)",
'"',
re.sub(r"^\s*", "", s[1:-1], flags=re.MULTILINE),
flags=re.MULTILINE
).replace("\\n", "")
clipboard.copy(s)
# usage:
# > copy paragraph to translate from the PO file
# pre()
# > copy translation
# post()
# > copy result to the PO file
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file codex_of_the_damned-1.65.tar.gz
.
File metadata
- Download URL: codex_of_the_damned-1.65.tar.gz
- Upload date:
- Size: 22.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f93dbed75953650e59f7a1219960001b05198c0efa617758fac37a4f7414308 |
|
MD5 | 405c004aa86ee0f27fc6479405665d0a |
|
BLAKE2b-256 | 259cded23f85fa7c559882c88006a24c80529cba3b7c75da96b73d71bffacc90 |
File details
Details for the file codex_of_the_damned-1.65-py3-none-any.whl
.
File metadata
- Download URL: codex_of_the_damned-1.65-py3-none-any.whl
- Upload date:
- Size: 22.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 682d58821821afad2cc067aa87d83b34efca3ba7dba0ac425f315341cf580036 |
|
MD5 | dd6580a39c65eb944034292e6271dce0 |
|
BLAKE2b-256 | ac2c963fea254a0880e13f158d4bb424f68a4f697caf2aa39068bf55174c76ba |