Skip to content

Duosmium/duosmium

Repository files navigation

Duosmium Website

Netlify Status

A JavaScript (11ty) rewrite of the former Duosmium website, previously written in Ruby/Middleman.

Visit: https://www.duosmium.org/

Duosmium Results

An archive of any tournament results that have been output as or converted into the SciolyFF (Science Olympiad File Format).

How to view locally

Minimal instructions for Unix-based systems (MacOS, Linux, etc.) that will likely need to be modified depending on your development setup:

git clone https://www.github.com/Duosmium/duosmium.git
npm install
npm run build

Windows doesn't use Unix shells/commands, so we have a separate build function for it:

git clone https://www.github.com/Duosmium/duosmium.git
npm install
npm run build-windows

Developing

To run the site locally, you'll need the Netlify CLI in order to have the On-Demand Builders (which are just Netlify functions) to run properly. The site itself requires installing NodeJS and NPM.

To build the site for production, use:

npm run build # for Unix-based
npm run build-windows # for Windows

If you want to just build assets, you can use:

npm run build:webpack # for Unix-based
npm run build-windows:webpack # for Windows

The Eleventy dev server doesn't work well with the SciolyFF Previewer, but can be helpful for the results site. To run the Eleventy dev server, use:

npm run dev

If you have the Netlify CLI installed, you can run everything (including the previewer) locally. You may need to wait for assets to build before the site is ready. Make sure you're accessing the Netlify proxy server (usually port 8888) instead of the Eleventy dev server (usually port 8080).

npm run netlify

Contributing

Contributions of code and tournament results are welcome.

To add new tournament results, make a Pull Request that adds a YAML file in format of SciolyFF in the data directory. You can also join the Discord Server, to contribute.

A Google Sheets input template can be used to generate a CSV file that then can be converted into a SciolyFF file using this site. The files already in the data directory should serve as an example of expected output. Additionally, the sciolyff command line utility should be used to verify the data files.

After the pull request is merged, the website will automatically generate an HTML results page that can be viewed by clicking on the appropriate link in the site index.