FOSSRIT / people

Interactive directory of FOSS@RIT community members generated from YAML profiles and built with Jekyll
https://fossrit.github.io/people/
GNU General Public License v3.0
9 stars 34 forks source link

Research planning for foss-profiles v2.0 #68

Closed jwflory closed 4 years ago

jwflory commented 4 years ago

Summary

Determine a new way to automatically deploy foss-profiles HTML into a hosting site

Background

This is a new project in 2020 for the @FOSSRIT/tech-team. foss-profiles is one of the oldest projects we have, and it acts like a directory of folks involved with the FOSS community at RIT. To bring it one step further, we want to generate and publish the HTML pages each time a new pull request is merged.

The requirements for v2.0 are as follows:

Details

@10eMyrT and I met at BrickHack 6 and outlined what the interface could look like, some of the tools for the job:

Whiteboard diagram of possible user interface and some tools we could use

We discussed two possible ways of doing this. The decision we make could be a mix of these too, or an idea we haven't considered yet. The emphasis should be on reducing cost and easy maintainability:

Outcome

Anyone can view the foss-profiles directory on the web

kevinassogba commented 4 years ago

OpenWhisk offers a built-in package for webhook with GitHub event. In case we choose to use it, the aspect of triggering the update of the profile webpage once a PR is authorized will be supported. More info on the package is available here.

kennedy commented 4 years ago

The cheapest solution could possibly be using gh-pages without coupling a external webhook and service. I’ve made something slightly similar before a few years ago taking advantage of the _data directory in Jekyll: https://github.com/RITIVCF/ritivcf.github.io/blob/master/_includes/smallgroups.html. In this case I used a single collective yaml file in a _data directory which held all the data and auto generated a div field of each line item. It can be customized to use multi-yaml files instead of one like blog posting.

kevinassogba commented 4 years ago

I took a look. It seems exactly like what we were expecting to do. Knowing that the PR are made and the YAML file are stored in a given folder, we can just iterate in the html file to read the data from all the files contained in the respective folder. Thereby, every time someone opens the URL, the web page will auto populate, and provide update-to-date info about the community.

It is simple, works, and does not requires hosting outside; hence no additional cost.

kennedy commented 4 years ago

I worked on creating a jekyll based profile page. Here is what I have so far using the minima theme. I am still working out the icons for the forges, but I might end up just using text urls for now.

Screen Shot 2020-03-06 at 01 45 15-fullpage

jwflory commented 4 years ago

Whoooaaaaa @kennedy, this is awesome! :heart_eyes: You've been busy! Do you think you could get a PR up soon with the work you have so far?

My only feedback is it would be nice to put the different categories (Student, Mentor, Faculty, Alum) on different pages in some sort of navigation bar at the top. The current page is a little long. However, I'd also be okay with a PR merging what you have so far, and then we can try to invite some other folks to help out with the work too.

Another improvement could be to add buttons to navigate to specific names (e.g. a J button brings you to the first J name for a given list). But I wouldn't expect this for a first PR, it could be iterated on later.

kennedy commented 4 years ago

I created a pr