Skip to content

Conversation

LKedward
Copy link
Member

@LKedward LKedward commented Jun 6, 2020

This PR creates a new top-level page called 'Community' for the Fortran-lang projects in order to:

  • Provide instructions & links for (new) contributors
  • Link to project documentation
  • List and acknowledge contributors

The PR includes json data files from https://gitlab.com/fortran-lang/github_stats_data which is used to generate the contributor lists and plots. On the new community page you can use the slider beneath the aggregate plot to filter contributions by a specific date range.
The contributions list can also be incorporated into newsletters with a fixed date range, which I have done for the June newsletter as an example.

Work for future PRs will be:

  • including commit data into contributions;
  • using github actions to update json data periodically.

As always, I value feedback on this - my focus has been on the structure and implementation, so any suggestions for the text content are especially welcome.

(Apologies for the size of this PR, it grew to more than I was initially planning to organise and cleanup the javascript files.)

LKedward added 13 commits June 2, 2020 15:43
For listing Fortran-lang community projects; this will hold information
on contributing, code of conduct and current contributors.
Reads github_stats json files and produces list of contributors
and plots which can be filtered by repository and date window.
Update main.css for better vertical-alignment of feather icons with text.
Simplify html-side of contributor plots. Start cleanup of javascript.
Add new features to previous newsletter to demonstrate inclusion of contributor info.
Move script parameters into namespace global options structure at beginning.
Add library of site-wide javascript functions, including jekyll parameters.
This avoids the need to have other javascript files processed by jekyll templating.
Add text for how to start contributing.
The generated package list is now a proper JSON file.
Package search updated to load json file and remove global scope.
Restructures the package page without the community projects, which have moved to community page.
@LKedward
Copy link
Member Author

LKedward commented Jun 6, 2020

#build_preview

@github-actions
Copy link

github-actions bot commented Jun 6, 2020

This PR has been built with Jekyll and can be previewed at: https://fortran-lang.org/pr/100/

@jvdp1
Copy link
Member

jvdp1 commented Jun 6, 2020

Great new page!

@milancurcic
Copy link
Member

This is excellent, thank you Laurence. Very nice contribution graphs. Are contributions == commits + comments?

@LKedward
Copy link
Member Author

LKedward commented Jun 6, 2020

This is excellent, thank you Laurence. Very nice contribution graphs. Are contributions == commits + comments?

Thanks!
No, I should have said: currently it's just comments because that's what's in the json files currently - when Ondřej updates his stats scripts, it will include commits as well.
@certik

Copy link
Member

@certik certik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The graphs look absolutely awesome. Much better than I've been imagining. Thank you @LKedward. As far as it looks, I am definitely for merging.

Some organizational things that we should discuss:

  1. Modifying already published newsletters, I left a comment below.

  2. The JSON files seem to be checked in this repository. Is the idea that we will keep updating them here by submitting PRs? It might work, that way it's clear exactly what the data is, and it's also clear when we update it, and the whole community can see / check that the updates are correct. What I was imagining before is that the JSON files would be hosted in another repository, and freshly downloaded at the CI when this website is built. But then the other repository must be updated, so we might as well just update this repository directly. So I think it's fine with me as it is. The only real downside that I can see is that the JSON files are quite big and will only get bigger in the future.

  3. Is the standard practice to check in all the JavaScript libraries? Or can they be simply downloaded by the CI. It would reduce the size of this repository.

@everythingfunctional
Copy link
Member

This is really cool. I think it helps to gameify things enough to keep us all coming back and contributing. And the more we keep contributing the better it will get and the more it will grow and then turn into a virtuous cycle. Great addition.

@certik
Copy link
Member

certik commented Jun 7, 2020

@everythingfunctional you got the idea. We want people to feel proud and excited to be visible there.

LKedward added 2 commits June 7, 2020 11:17
This avoids page lag due to waiting on the main thread and is recommended practice.
@LKedward
Copy link
Member Author

LKedward commented Jun 7, 2020

#build_preview

@github-actions
Copy link

github-actions bot commented Jun 7, 2020

This PR has been built with Jekyll and can be previewed at: https://fortran-lang.org/pr/100/

@LKedward
Copy link
Member Author

LKedward commented Jun 7, 2020

Thanks for the feedback!

Regarding the javascript library and JSON data files, I agree that these should ideally be left out of this repository - CI downloading is an option, but we also don't want the CI environment to be able to diverge from the local clones, i.e. we need a solution that brings dependencies into the local repos as well.

My preferred solution to this would be to use git submodules, however I'm aware that some people do not like submodules. I personally have never had any problems with submodules and the advantage here is that it minimally affects contributor workflow while also allowing dependencies in separate repos.
Does anyone have a strong preference not to use git submodules?

@certik
Copy link
Member

certik commented Jun 7, 2020

I think this can be merged as far as I am concerned.

I personally am not a big fan of submodules, it's an extra struggle. But I am also not against it, and I think it technically does what we need: keeping the big files out of the repository. And since you are @LKedward the main contributor to this website (as apparent from the statistics in this PR:), and you like submodules, then let's use them.

If too many people struggle with them, we can always move to another solution later.

Thanks again for this PR.

@everythingfunctional
Copy link
Member

I have good success using submodules as a dependency management strategy. I would vote for using them. As @certik said, we can move to something else later if need be.

@LKedward
Copy link
Member Author

LKedward commented Jun 8, 2020

Okay I will merge and open a new issue for the external dependencies.

@LKedward LKedward merged commit 4c52602 into fortran-lang:master Jun 8, 2020
@LKedward LKedward deleted the community-section branch June 8, 2020 07:27
@LKedward
Copy link
Member Author

LKedward commented Jun 8, 2020

#delete_preview

@github-actions
Copy link

github-actions bot commented Jun 8, 2020

The preview build for this PR has now been deleted.

@LKedward LKedward mentioned this pull request Jun 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants