-
Notifications
You must be signed in to change notification settings - Fork 9
Documentation
veekun is actually an instance of spline, and is split across several projects. To actually get the site running as-is, you'll need all of them.
Again, if you just want the Pokédex data, see the pokedex
instructions for getting data. XXX: link to docs
-
pokedex
Contains all the Pokédex data and sprites, as well as the logic for some things like the name lookup. The data is stored as CSV dumps, and the schema is in Python, but a tool called pokedex is included to load the data into a database. It also has documentation. XXX: link to docs -
spline
Core for the Web site. It doesn't do a lot on its own; it's an extension of the Pylons framework to allow for plugins. The actual Pokédex part of the site is its own plugin, entirely separate from the user stuff and forum stuff and so forth. The idea is that you can someday run the forums for your own site without lugging everything else along. -
spline-pokedex
Requires spline and pokedex.
Pokédex plugin for the site. Performs the actual lookups, spits out the Pokédex pages, has all the searching logic, etc. -
veekun
Requires spline.
Unlike the others, this isn't really a Python module; it's just a collection of spline customizations. The static pages, layout, and temporary file directory are in here.
Not too complicated.
- Check out all the projects listed above. They use Git, and are all hosted on github. If you can't figure this bit out, you probably don't need to be running veekun.
- Run python setup.py develop for pokedex, then spline, then spline-pokedex. Using a virtualenv is a very good idea.
- Load the Pokédex data into a database somewhere. XXX: link to docs
- Run
paster make-config spline development.ini
to get a generic configuration file. There isn't too much in here, but the most interesting settings are:
- If you want debug mode, comment out the
set debug = false
line. This will give you a traceback and a cool interactive Python console in your browser when something crashes. Since this can be used to run absolutely any code on your machine, do not enable debug mode if you make your server publicly accessible. -
spline-pokedex.database_url
must be changed to point to your Pokédex database. The URL ought to be exactly the same as the one you used to load the data. -
spline.site_title
controls the title tag and header. Changing it to something other than “veekun” helps distinguish between your server and veekun.com.
- Run
paster setup-app development.ini
to create the database for users, forum, etc. - From the veekun directory:
paster serve --reload development.ini
This will start up a little development Web server and give you a link to the now-running site. It'll restart automatically when it detects that any code it's using has changed. You're good to go!
You can also run paster
from the spline
directory, which will skip all veekun-specific customizations. I rarely try this, so large chunks of CSS may be missing, but everything else should work okay.
If, for some perverse reason, you want to run this code in a production environment, you should check the Pylons documentation for the best way to plug veekun into your web server.
Just git pull --rebase
everything. You might want to run setup.py
for each project again, just in case there are new dependencies, and you'll almost certainly need to reload your Pokédex database.
These use an actual honest-to-god writeable database, entirely separate from the Pokédex database. Running paster setup-app development.ini
should set it up. I think that'll work, anyway. I've been trying to use sqlalchemy-migrate
for schema migration, so you can use that after creating an initial db. Better docs forthcoming once the dust settles.