Closed tovmasharrison closed 7 months ago
The JSON schema needs to be way more minimal.
We want to reduce the burden on people adding events.
It's fine if we harmonise a bit how events are displayed.
Having a JSON schema is a good idea.
We should just use something like https://json-schema.org/, and then we can quickly run a validator.
Instead of using ad-hoc schema format, and then still needing dozens of if-statements.
Hey @bittlingmayer,
I made quite a bit of changes.
Changed the structure of the JSON files for adding events
Created a separate calls_for_papers.json file for adding external events that have a Calls For Papers
Created a JSON Schema to validate events.json
, callsForPapers.json
and wmt_events.json
When manually adding events, I changed it so it can be added in markdown instead of HTML tags. Also, I changed the loops for generating events to Markdown + Liquid.
The date range is being automatically generated.
SEO is generated from generate.py
.
Removed Organizers columns from calls_for_papers.md
.
Provided examples of what each property is inside _events.json
, _wmt_events.json
, _calls_for_papers.json
.
Also, I have created a WMT Test event so we can see what it will look like. If everything is fine, I'll remove it.
Please let me know what you think.
Yes, with schema is better!
Made a few comments, but today is busy with the community meetup, will look more on the weekend.
@bittlingmayer All done.
@bittlingmayer Done
@bittlingmayer
I have added a form submission at http://127.0.0.1:4000/add_event
that returns a JSON version of the inputs, which can be copied and pasted inside the events.json
/ wmt_events.json
/ calls_for_papers.json
files.
I have reverted the structure for speakers
, important_dates
, multiday_schedule
, and one_day_schedule
to their previous states since their input boxes were being represented as textarea. See below.
Also, the WMT Test
event is still included for reference. I'll remove it once everything looks good.
Let me know what you think.
Description
The events can be autogenerated by adding WMT events to
wmt_events.json
and the rest toevents.json
. I have tried to automate the most commonly added information about the events. However, specific information that is not automated can be added manually to the markdown file after generating the event.The
_events.json
and_wmt_events.json
files include the empty structure of available fields that can be automated by choice. I have included them for reference.Also, I have created a list to show all the MT Summit, EAMT, and AMTA events separately at the top of the page. This closes that part in #584.
How it works:
Validation: After the events are added to the corresponding
.json
file,generate.py
validates the entries and creates a file inside theevents/
directory. For external events or for events where there's no need to create a page, the"id"
key-value pair should not be added. The examples are AMTA 2024, AmericasNLP and WMT24.events.md
: An appropriate header is created based on the event'sstartDate
, and each event is listed under the corresponding header appropriately. For example, if the event starts in 2024 or 2025, it will be listed under 2024 Events or 2025 Events.calls-for-papers.md
: If the event has a call for paper, then"callsForPapersDeadline": "some_date"
key value pair should be given inside the.json
file for it to be added tocalls-for-papers.md
or else it won't.Bold/unbold dates and names based on the deadline: The names and dates are in bold if the deadline has not been passed, and as soon as it passes they will automatically unbold. The check to bold/unbold will happen each time the website is generated, as it will compare the
endDate
with the current date.Past/future tense: When adding the event to the
.json
file, the future and past tenses can be added simultaneously. For the future tense, it can be added as"openingParagraph": "The event will take place"
, for the past tense, it can be added as"pastOpeningParagraph": "The event took place"
, and the appropriate tense will be automatically shown with the same bold/unbold logic mentioned above.Syntax: The markdown syntax should be replaced with HTML tags inside the
.json
file. \Some word\ should be used to bold the name. \some_word\ should be used to add a link.Please let me know if you have any questions or suggestions.
Fixes #563
Checklist: