-
Notifications
You must be signed in to change notification settings - Fork 6
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
feat: turn data/projects into a markdown file #26
Comments
By markdown, do you mean making the entire thing some sort of Jekyll/Hugo-style front matter? Or just changing some of the descriptions to use markdown instead of strings? Definitely open to making this more parseable, since this quarter I'll probably be going a bit ham in adding all of ACM's stuff. |
Instead of manually adding in a JSON object of projects, why don't we use the Github Developer APIs to programatically generate the list of projects to display? This would also enforce good convention by making our open-source projects properly detail their projects by adding in topics, links to their project, and more. |
Not a bad idea, but a couple of caveats:
If you feel like you have an even partial solution for this, I would suggest to go for it! Even if it's not perfect, I'd love to see a more human-parseable description of our projects :) |
what you could do is tag projects as even sexier would be to create an npm package to lint a config file to make sure all the configurations are up to date |
While it's true that not everyone writes documentation, I think that filling in repository fields that are made available through GitHub APIs: like descriptions of projects, links to deployments or websites detailing the project if they are made, descriptions, and more are good practice and imo enforcing that these fields are properly filled out can only be a good thing.
I personally think that ACM's projects should all be contained within the @uclaacm organization. However, we can combine octokit along with JSON/YAML/Markdown files for extra projects, or can also use octokit within acm AI's org as well to get their projects. For extra metadata, I like Bryan's idea of adding in a .yml files specific for our projects, but we should try to fit in as much as we can into normal github repository information, like using the image from each repository's social media image preview and more. |
Right, I think my point is more that it will be very hard to get people within ACM to add descriptions, tags, etc. to the existing (and old) repositories. I don't think this should be a barrier for you getting started - just something to keep in mind! If you go ahead with this approach, you could also make posts in the Slack, announcements at all-hands, etc. to make sure these things happen! As for containing things within organizations - it's hard to move things since then it breaks permalinks, and for AI in particular they rely on the subdomain for their org for their website (i.e. Overall, feel free to steer this in the direction that you're interested in; very down for you to take ownership for the project and see it get better! |
Instead of using a JSON object or markdown file, this uses octokit to grab all of @uclaacm's repositories to generate the list of ProjectCards. However, a few modifications were made to the Project interface to make it work with this setup: - tech was changed to topics to use the repository's associated topics instead - Language uses the language provided by the repository as opposed to the `Language` enum - link can be possibly undefined if the repository doesn't have an associated homepage There are also a couple approaches we can take to associate an image to each repository, since currently we are unable to associate a unique image to each repository with our octokit request: - First, we can use the social media preview image associated with the repository (which would enforce good practice of adding that in for repository maintainers.) - In order to use the social media preview image associated with the repository, we would have to use GitHub's [graph ql api](https://stackoverflow.com/questions/56691229/how-can-i-get-my-social-preview-image-link-of-my-github-repo-using-git-api-or-an). - We can also add in an image at the root directory of each repository, and access it through `https://github.com/uclaacm/REPO_NAME/blob/main/image.jpg`. - Using an iframe instead of an img of the homepage of each project to view how it looks - We can take the approach that Bryan outlined of adding in a config yml file as detailed in #26 . * refactored projects to use github api instead * fixed autoformatting and removed extraneous updated_at * fixed linting runs * addressed jest issues * added iframe for img * removed iframe in favor of committee logos * added color badges using github data * jest snapshot updated * octokit pagination for all repos * Addressed Changes - Changed behavior of ELink to always generate link if exists. - Changed GitHub Event to use the proper types from octokit. - Addressed no topics or default language for ProjectCard. - Added fixtures for repositoryResponse. - Changed GithubColor behavior to attempt to grab the most recent from the repository. * updated jest snapshot * attempted to fix jest issues * fixes lint error * removes snapshot test for homepage * fixed layout and image * removed extraneous div * fixed row gap Co-authored-by: Matt Wang <[email protected]>
thoughts on turning this into markdown? might be easier to add to, but also not necessary
opensource/data/projects.ts
Lines 6 to 17 in 938f3a7
The text was updated successfully, but these errors were encountered: