Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding a proper calendar #17

Open
bahorn opened this issue Nov 6, 2019 · 10 comments
Open

Adding a proper calendar #17

bahorn opened this issue Nov 6, 2019 · 10 comments
Labels
enhancement New feature or request

Comments

@bahorn
Copy link
Member

bahorn commented Nov 6, 2019

I've been investigating some JS libraries for calendars so we don't have to push to the repo every monday to remove stale hackathons.

Currently tried out ToastUI and FullCalendar but it seems mkdocs interferes with the styling.

Beyond that, we would need to actually get our list into the calendar. I'm thinking doing something similar to what mermaid does for the family tree and read the contact contained in a div on the page.

fullcalendar does have support for loading from a JSON feed, but I imagine it's easier if people can just modify the markdown instead.

@kkgm13
Copy link
Contributor

kkgm13 commented Nov 9, 2019

Just curious since it's taking from Markdown to HTML, has anyone tried what would happen when using the code markdown?

@bahorn
Copy link
Member Author

bahorn commented Nov 11, 2019

There are a few libraries for parsing markdown in the browser, but it's probably way easier just to search for a div with a specific id and read the table under it.

@wrussell1999
Copy link
Contributor

This is something @jedevc might enjoy.

A nice touch would be adding the hackathon logo to the table, similar to the MLH website.

@bahorn
Copy link
Member Author

bahorn commented Dec 11, 2019

For the logo it would be worth just adding an extra column to the dataset for this I made a few days ago:

https://gist.github.com/bahorn/bb953987edf0ffd4aed2c69a2988612e

I was thinking a normal calendar, but would make sense to just have them as cards down the page.

@wrussell1999
Copy link
Contributor

Yeah if we could add an extra column to that, that would be great. I've got a Google Calendar that I add a lot of the hackathons to. If we had something like cssbham.com have with a Google Calendar that shows events on their site. @jedevc built that.

@bahorn bahorn added the enhancement New feature or request label Dec 11, 2019
@danielfspencer
Copy link
Contributor

Idea: store the hackathons in YAML structures.

Then for the table we can have a liquid template that traverses the dataset to generate markdown.
Then another template can be used to generate JSON for FullCalendar.

I'm can't promise anything soon but I reckon I can make FullCalendar work (I fixed a Jekyll theme that was interfering with it on the HFS site so I imagine this is a similar situation).

@robzwolf
Copy link
Contributor

robzwolf commented Feb 6, 2020

Agreed, markdown is definitely not the best data structure. YAML, JSON, or something like that would likely be better.

The only advantage I can see from markdown is that it forces people to contribute to the wiki to ensure they have filled out every column (even if it's just a ??). With YAML/JSON, I'd imagine it's more difficult to automatically enforce contributors completing every field. Thoughts @danielfspencer?

@danielfspencer
Copy link
Contributor

Yeah I don't know a way to automatically enforce filling in all the fields unfortunately. YAML/JSON would require more manual review of pull requests.

@bahorn
Copy link
Member Author

bahorn commented Feb 7, 2020

Could hackup a github action that runs on each pull request. Enforce this for merges and we're all good.

We did this for CovHack's site to ensure it was linted probably with reviewdog [1], but it just needs to be a python script in a container that checks if has all the fields.

[1] https://github.com/CovHack/CovHack2020/blob/master/.github/workflows/main.yml

@danielfspencer
Copy link
Contributor

Cool! That solves that problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants