Skip to content

Commit

Permalink
Refresh the software tools page
Browse files Browse the repository at this point in the history
  • Loading branch information
viroulep committed Mar 26, 2020
1 parent c42c8fc commit 7ea53dc
Show file tree
Hide file tree
Showing 7 changed files with 193 additions and 26 deletions.
1 change: 1 addition & 0 deletions WcaOnRails/app/assets/stylesheets/application.css.scss
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
@import "competition_tabs";
@import "competition_schedule";
@import "server_status";
@import "static_pages";
@import "relations";
@import "edit_events";
@import "edit_schedule";
Expand Down
16 changes: 13 additions & 3 deletions WcaOnRails/app/assets/stylesheets/static_pages.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
// Place all the styles related to the StaticPages controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
#software-tools {
.wca-tool-icon {
width: 32px;
}
.tools-list {
.panel-body {
i {
margin-right: 10px;
}
}
margin-top: 15px;
}
}
8 changes: 8 additions & 0 deletions WcaOnRails/app/helpers/static_pages_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,12 @@ def format_team_member_content(user)
yield
end
end

def wca_icon
image_tag "wca_logo.svg", class: "wca-tool-icon", data: {
toggle: "tooltip",
placement: "right",
title: t("score_tools.wca_icon_text"),
}
end
end
47 changes: 47 additions & 0 deletions WcaOnRails/app/views/static_pages/_software_list.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<% tools ||= {} %>
<% clearfix = false %>
<div class="row tools-list">
<% tools.each do |key, hash| %>
<div class="col-xs-12 col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
<%= hash[:title] %> <%= wca_icon if hash[:wst] %>
</h3>
</div>
<div class="panel-body">
<p><%= hash[:description] %></p>
<% if hash[:url] %>
<p>
<%= icon("fas", "link") %>
<%= link_to("Website", hash[:url], target: "_blank") %>
</p>
<% end %>
<% if hash[:guide_url] %>
<p>
<%= icon("fas", "question-circle") %>
<%= link_to("Guide", hash[:guide_url], target: "_blank") %>
</p>
<% end %>
<% if hash[:src_url] %>
<p>
<%= icon("fab", "github") %>
<%= link_to("Sources", hash[:src_url], target: "_blank") %>
(<%= hash[:maintainer] %>)
</p>
<% end %>
<% if hash[:download_url] %>
<p>
<%= icon("fas", "download") %>
<%= link_to("Download", hash[:download_url], target: "_blank") %>
</p>
<% end %>
</div>
</div>
</div>
<% if clearfix %>
<div class="clearfix"></div>
<% end %>
<% clearfix = !clearfix %>
<% end %>
</div>
87 changes: 78 additions & 9 deletions WcaOnRails/app/views/static_pages/score_tools.html.erb
Original file line number Diff line number Diff line change
@@ -1,13 +1,82 @@
<% provide(:title, t('score_tools.title')) %>
<% provide(:title, t("score_tools.title")) %>

<div class="container">
<% tools = {
before: {
age: {
url: "https://goosly.github.io/AGE/",
src_url: "https://github.com/Goosly/AGE",
guide_url: "https://github.com/Goosly/AGE/wiki",
maintainer: "Manu Vereecken",
wst: false,
}.merge(t("score_tools.tools.age")),
groupifier: {
url: "https://groupifier.jonatanklosko.com/",
src_url: "https://github.com/jonatanklosko/groupifier",
guide_url: "https://github.com/jonatanklosko/groupifier/wiki/Guide",
maintainer: "Jonatan Kłosko",
wst: false,
}.merge(t("score_tools.tools.groupifier")),
tnoodle: {
url: "https://www.worldcubeassociation.org/regulations/scrambles/",
guide_url: "https://www.worldcubeassociation.org/regulations/scrambles/",
src_url: "https://github.com/thewca/tnoodle",
maintainer: "WCA Software Team",
wst: true,
}.merge(t("score_tools.tools.tnoodle")),
},
during: {
live: {
url: "https://live.worldcubeassociation.org/",
src_url: "https://github.com/thewca/wca-live",
guide_url: "https://github.com/thewca/wca-live/wiki/Guide",
maintainer: "WCA Software Team",
wst: true,
}.merge(t("score_tools.tools.live")),
certificates: {
url: "https://goosly.github.io/wca-certificates/",
src_url: "https://github.com/Goosly/wca-certificates",
guide_url: "https://github.com/Goosly/wca-certificates/wiki",
maintainer: "Manu Vereecken",
wst: false,
}.merge(t("score_tools.tools.certificates")),
scorecards: {
url: "https://goosly.github.io/wca-scorecards/",
src_url: "https://github.com/Goosly/wca-scorecards",
guide_url: "https://github.com/Goosly/wca-scorecards/wiki",
maintainer: "Manu Vereecken",
wst: false,
}.merge(t("score_tools.tools.scorecards")),
nightmare: {
download_url: "https://www.worldcubeassociation.org/files/results.xls",
wst: true,
}.merge(t("score_tools.tools.nightmare")),
},
after: {
matcher: {
url: "https://viroulep.github.io/scrambles-matcher/",
src_url: "https://github.com/viroulep/scrambles-matcher/",
maintainer: "Philippe Virouleau",
wst: false,
}.merge(t("score_tools.tools.matcher")),
},
} %>

<div class="container" id="software-tools">
<h1><%= yield(:title) %></h1>

<ul class="list-group">
<% t('score_tools.paragraphs').values.each do |paragraph| %>
<li class="list-group-item">
<%= raw paragraph %>
</li>
<% end %>
</ul>
<p><%= t("score_tools.intro.desc") %></p>
<p><%= t("score_tools.intro.disclaimer") %></p>
<p><%= t("score_tools.intro.used") %></p>

<h2><%= t("score_tools.before.title") %></h2>
<p><%= t("score_tools.before.desc") %></p>
<%= render "software_list", tools: tools[:before] %>

<h2><%= t("score_tools.during.title") %></h2>
<p><%= t("score_tools.during.desc") %></p>
<%= render "software_list", tools: tools[:during] %>

<h2><%= t("score_tools.after.title") %></h2>
<p><%= t("score_tools.after.desc") %></p>
<%= render "software_list", tools: tools[:after] %>
</div>
2 changes: 1 addition & 1 deletion WcaOnRails/config/i18n-tasks.yml.erb
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ ignore_unused:
- 'faq.answers.*'
- 'about.mission.paragraphs.*'
- 'logo.paragraphs.*'
- 'score_tools.paragraphs.*'
- 'score_tools.tools.*'
- 'wca.doorkeeper.scopes.*'
- 'contact.*.info'
- 'organizer_guidelines.*'
Expand Down
58 changes: 45 additions & 13 deletions WcaOnRails/config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1922,20 +1922,52 @@ en:
councils_html: "Councils"
wac:
info_html: "This council is responsible for building and maintaining bilateral communication between the WCA Community and the WCA Staff."
#context: On the page describing software tools for WCA competitions
score_tools:
title: "WCA Score Taking tools"
paragraphs:
'1': 'The WCA highly recommends the use of <a href="https://live.worldcubeassociation.org">WCA Live</a> before and during a competition. WCA Live is a platform for running WCA competitions and sharing live results with the world.'
'2': 'Score sheets and scrambles should be processed and checked for errors before sending them to the WCA Results Team. You can use <a href="https://viroulep.github.io/scrambles-matcher/">Scrambles Matcher</a>, an Open Source project created by Philippe Virouleau.'
'3': 'The latest version of the WCA competition Score sheet can be downloaded here:<br /><a href="/files/results.xls" target="_blank">WCA competition Score sheet</a>.'
'4': >-
You may also want to use <a href="https://groupifier.jonatanklosko.com">Groupifier</a>
for preparing competitor groups for a competition. It's a tool that aims to do exactly this for you.
Among the main features you will find: sorting competitors by rankings,
assigning tasks (judging, scrambling), deciding how many scrambles are needed,
generating score sheets, personal sheets, and summaries.
It's an Open Source project created by Jonatan Kłosko.
title: "Software tools for WCA competitions"
wca_icon_text: "Developed and maintained by the WST"
intro:
desc: "This page is a non exhaustive list of tools which are known to be used to help with the organization of WCA competitions."
disclaimer: "Not all tools on that page are maintained by the WST: it's definitely fine! We don't have the manpower to manage all the WCA-related software out there :)"
used: "All the programs on this list have been used during real WCA competitions and integrate with the WCA website: they let you sign in with your WCA account to be able to import (and sometimes update) your upcoming competitions data. For each of them the maintainer(s) will be clearly written."
#context: tools used before the competition
before:
title: "Before the competition"
desc: "Managing competitors registrations can be done directly on the WCA website. Since managing groups and staff manually can be time-consuming, you may want to consider using one of the tools below."
#context: tools used during the competition
during:
title: "During the competition"
desc: "You will find here tools that let you manage the results of the competition while it's going on."
#context: tools used after the competition
after:
title: "After the competition"
desc: "While results validation occurs right there on the website, you will have to use some tool to assign scrambles generated by TNoodle to the actual results submitted to the WCA website."
#context: part of the description of a program
tools:
age:
title: "AGE"
description: "Tool for generating and editing groups/task assignments for WCA competitions"
certificates:
title: "Certificates"
description: "Print certificates for WCA competitions using WCA Live"
groupifier:
title: "Groupifier"
description: "Task and group management tool for WCA competition organizers. Among the main features you will find: sorting competitors by rankings, assigning tasks (judging, scrambling), deciding how many scrambles are needed, generating score sheets, personal sheets, and summaries... Check out the website to find out more."
scorecards:
title: "Scorecards"
description: "Print scorecards for WCA competitions using WCA Live"
tnoodle:
title: "TNoodle (Scrambles)"
description: "TNoodle is the official scramble program which is used for WCA competitions. It is typically used by WCA Delegates prior to WCA competitions, but its user interface also allows anyone to generate any kind of scrambles for all WCA events."
live:
title: "WCA Live"
description: "Platform for running WCA competitions and sharing live results with the world."
nightmare:
title: "Results spreadsheet"
description: "Sometimes things happen... If you don't have network access, you will have to use the good old spreadsheet."
matcher:
title: "Scrambles Matcher"
description: "Can be used to assign scrambles generated by TNoodle to results. Import results from the WCA website (when using WCA Live), a spreadsheet, or a standalone WCIF file. Import scrambles from one or more TNoodle json file(s). Export results to the appropriate format for WCA submission."
logo:
title: 'WCA Logo'
paragraphs:
Expand Down

0 comments on commit 7ea53dc

Please sign in to comment.