If a NamedRange has a `special_range_names` entry outside the `range_start` and `range_end`, the HTML5 range input will clamp the submitted value to the closest value in the range. These means that, for example, Pokemon RB's "HM Compatibility" option's "Vanilla (-1)" option would instead get posted as "0" rather than "-1". This change updates NamedRange to behave like TextChoice, where the select element has a `name` attribute matching the option, and there is an additional element to be able to provide an option other than the select element's choices. This uses a different suffix of `-range` rather than `-custom` that TextChoice uses. The reason is we need some way to decide whether to use the custom value or the select value, and that method needs to work without JavaScript. For TextChoice this is easy, if the custom field is empty use the select element. For NamedRange this is more difficult as the browser will always submit *something*. My choice was to only use the value from the range if the select box is set to "custom". Since this only happens with JS as "custom' is hidden, I made the range hidden under no-JS. If it's preferred, I could make the select box hidden instead. Let me know. This PR also makes the `js-required` class set `display: none` with `!important` as otherwise the class wouldn't work on any rule that had `display: flex` with more specificity than a single class. |
||
---|---|---|
.. | ||
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 | ||
robots.py | ||
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.