🤞 * map option objects to a `World.options` dict * convert RoR2 to options dict system for testing * add temp behavior for lttp with notes * copy/paste bad * convert `set_default_common_options` to a namespace property * reorganize test call order * have fill_restrictive use the new options system * update world api * update soe tests * fix world api * core: auto initialize a dataclass on the World class with the option results * core: auto initialize a dataclass on the World class with the option results: small tying improvement * add `as_dict` method to the options dataclass * fix namespace issues with tests * have current option updates use `.value` instead of changing the option * update ror2 to use the new options system again * revert the junk pool dict since it's cased differently * fix begin_with_loop typo * write new and old options to spoiler * change factorio option behavior back * fix comparisons * move common and per_game_common options to new system * core: automatically create missing options_dataclass from legacy option_definitions * remove spoiler special casing and add back the Factorio option changing but in new system * give ArchipIDLE the default options_dataclass so its options get generated and spoilered properly * reimplement `inspect.get_annotations` * move option info generation for webhost to new system * need to include Common and PerGame common since __annotations__ doesn't include super * use get_type_hints for the options dictionary * typing.get_type_hints returns the bases too. * forgot to sweep through generate * sweep through all the tests * swap to a metaclass property * move remaining usages from get_type_hints to metaclass property * move remaining usages from __annotations__ to metaclass property * move remaining usages from legacy dictionaries to metaclass property * remove legacy dictionaries * cache the metaclass property * clarify inheritance in world api * move the messenger to new options system * add an assert for my dumb * update the doc * rename o to options * missed a spot * update new messenger options * comment spacing Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * fix tests * fix missing import * make the documentation definition more accurate * use options system for loc creation * type cast MessengerWorld * fix typo and use quotes for cast * LTTP: set random seed in tests * ArchipIdle: remove change here as it's default on AutoWorld * Stardew: Need to set state because `set_default_common_options` used to * The Messenger: update shop rando and helpers to new system; optimize imports * Add a kwarg to `as_dict` to do the casing for you * RoR2: use new kwarg for less code * RoR2: revert some accidental reverts * The Messenger: remove an unnecessary variable * remove TypeVar that isn't used * CommonOptions not abstract * Docs: fix mistake in options api.md Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * create options for item link worlds * revert accidental doc removals * Item Links: set default options on group * change Zillion to new options dataclass * remove unused parameter to function * use TypeGuard for Literal narrowing * move dlc quest to new api * move overcooked 2 to new api * fixed some missed code in oc2 * - Tried to be compliant with 993 (WIP?) * - I think it all works now * - Removed last trace of me touching core * typo * It now passes all tests! * Improve options, fix all issues I hope * - Fixed init options * dlcquest: fix bad imports * missed a file * - Reduce code duplication * add as_dict documentation * - Use .items(), get option name more directly, fix slot data content * - Remove generic options from the slot data * improve slot data documentation * remove `CommonOptions.get_value` (#21) * better slot data description Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> --------- Co-authored-by: el-u <109771707+el-u@users.noreply.github.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> Co-authored-by: Doug Hoskisson <beauxq@yahoo.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> Co-authored-by: Alex Gilbert <alexgilbert@yahoo.com> |
||
---|---|---|
.. | ||
api | ||
static | ||
templates | ||
README.md | ||
__init__.py | ||
autolauncher.py | ||
check.py | ||
customserver.py | ||
downloads.py | ||
generate.py | ||
landing.py | ||
locker.py | ||
lttpsprites.py | ||
misc.py | ||
models.py | ||
options.py | ||
requirements.txt | ||
stats.py | ||
tracker.py | ||
upload.py |
README.md
WebHost
Contribution Guidelines
Thank you for your interest in contributing to the Archipelago website!
Much of the content on the website is generated automatically, but there are some things
that need a personal touch. For those things, we rely on contributions from both the core
team and the community. The current primary maintainer of the website is Farrak Kilhn.
He may be found on Discord as Farrak Kilhn#0418
, or on GitHub as LegendaryLinux
.
Small Changes
Little changes like adding a button or a couple new select elements are perfectly fine. Tweaks to style specific to a PR's content are also probably not a problem. For example, if you build a new page which needs two side by side tables, and you need to write a CSS file specific to your page, that is perfectly reasonable.
Content Additions
Once you develop a new feature or add new content the website, make a pull request. It will be reviewed by the community and there will probably be some discussion around it. Depending on the size of the feature, and if new styles are required, there may be an additional step before the PR is accepted wherein Farrak works with the designer to implement styles.
Restrictions on Style Changes
A professional designer is paid to develop the styles and assets for the Archipelago website. In an effort to maintain a consistent look and feel, pull requests which exclusively change site styles are rejected. Please note this applies to code which changes the overall look and feel of the site, not to small tweaks to CSS for your custom page. The intention behind these restrictions is to maintain a curated feel for the design of the site. If any PR affects the overall feel of the site but includes additive changes, there will likely be a conversation about how to implement those changes without compromising the curated site style. It is therefore worth noting there are a couple files which, if changed in your pull request, will cause it to draw additional scrutiny.
These closely guarded files are:
globalStyles.css
islandFooter.css
landing.css
markdown.css
tooltip.css
Site Themes
There are several themes available for game pages. It is possible to request a new theme in
the #art-and-design
channel on Discord. Because themes are created by the designer, they
are not free, and take some time to create. Farrak works closely with the designer to implement
these themes, and pays for the assets out of pocket. Therefore, only a couple themes per year
are added. If a proposed theme seems like a cool idea and the community likes it, there is a
good chance it will become a reality.