fiee / croisee
- Source
- Commits
- Network (1)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
croisee /
| name | age | message | |
|---|---|---|---|
| |
.gitignore | ||
| |
README | ||
| |
croisee/ | ||
| |
django.wsgi | ||
| |
fabfile.py | ||
| |
requirements.txt | ||
| |
vhost.conf | ||
| |
wordlists/ |
README
fiëé croisée ============ I like making crossword puzzles. But it needs *a lot* of time without the right tools. So this is some kind of dictionary to look for matching words. At the moment. I hope it will become a tool that makes creating crossword puzzles just fun. Installation ------------ It's a Django application, to be run on Apache/mod_wsgi. The provided fabfile (fabric deployment) is for an Debian server and documented in this gist: http://gist.github.com/158177 Additionally you need a `settings_webserver.py` that gets copied as `settings_local.py`. It can contain every kind of local settings, at least the database password. Features -------- * public * find words that match a specified pattern (e.g. PY?H?N or ?YT*) * work in a puzzle grid (custom size 4-20 lines/rows) * admin * manage words and their descriptions in several dictionaries * import word lists User ==== Cloze Query ----------- On the start page you can look up words that contain defined letters at discrete locations. You can use _ and ? as wildcards for single letters, * and % for an undefined number of letters (including none). E.g. if you look up `_Y__O_` you get PYTHON and SYMBOL (depending on dictionaries, of course); if you look up `RAM*`, you get e.g. RAM, RAMBLE, RAMADAN etc. Of course you can mix wildcards at will. All letters get uppercased, German umlauts get converted from Ä, Ö, Ü to AE, OE, UE; other international characters get de-accented. (If your language needs other conversions, please contact the developer.) Below the query field there's a list of installed (and permitted) dictionaries; you can enable or disable them to delimit where the answers come from. Query results are limited to 100 answers. Grid View (URL: /grid/) --------- Here's how to make your own crossword puzzle: Create a grid in your favourite size (12x12 is good). You can move around in the grid with the arrow keys (tab, shift-tab, backspace, delete work also). If you write letters, the cursor will move right to the next cell; if you press shift, it will move downward. Write some words into the grid "by heart" - in an empty grid, you'd get thousands of possible words. Perhaps write only on letter in the corners - that's how I mostly start. Press ? (question mark) at any place, and after a short delay you'll get two lists of words that match in this place horizontally and vertically. You can click on the words in the result list to place them in the grid. The list will adapt automatically to the new situation. To mark cells as "blockers", press space (and again to remove the block). To set a number as start-of-word mark, press # (number sign). The numbering works automatically. Just press # again to remove the number. Admin ===== Make a wordlist --------------- # use the provided wordlists for german, english and esperanto (derived from ispell dictionaries); you can upload them directly # use a dictionary from aspell: aspell dump master > mydict.txt # get some long text, e.g. from Project Gutenberg # write your own * The wordlist file is expected in UTF-8 encoding. * Format is "(word)\t(description)\t(priority)\n". Description and priority are optional (default to word and 0). * run `make-wordlist.py` on it (or several), result is `wordlist.txt` Make a dictionary ----------------- * upload a wordlist file to your croisee installation (Wordlist Upload); that may take a while * fix the descriptions and priorities, if you like Development =========== Roadmap ------- I'm planning to implement the following features in about this order: * output list of questions * export grid and solution as text / HTML / LaTeX (cwpuzzle) / ConTeXt / InDesign tagged text * user registration (OpenID?) * import text files * safe puzzles for registered users as private/public * make safed puzzles available * export as PDF * different types of crossword grids (fat lines instead of blocked cells, uneven outline...) * mark letters for extra solution (competition word) * automate filling the grid (algorithm?) * set up a paid service * get rich * world domination Bugs / Todo ----------- * Bug: grid key handler eats control keys * admin: if adding to an existing dict, disable other fields * test in other browsers than Safari * clean up redundant template/view code License ------- GPLv3, see http://www.gnu.org/copyleft/gpl.html Feel free to ask after different, additional licensing. I don't plan to release my edited dictionaries, because in them's the most work. Everything related to fiëé visuëlle (logo, names) is copyrighted and contained only for the sake of completeness. That means you must not use the fiëé logo, fiëé favicon or any name containing fiëé in public, except in a descriptive manner, where it is encouraged (e.g. "this is derived from / based on"). Author(s) --------- * Henning Hraban Ramm, fiëé visuëlle, <hraban@fiee.net>, http://www.fiee.net * inspiration and code snippets by several other people & projects Dependencies ------------ * Python 2.5+ * Django 1.1+ * Fabric 0.9+ (optional, for easy deployment)

