Giter VIP home page Giter VIP logo

catchup's People

Contributors

anxkhn avatar dependabot[bot] avatar dheerajdlalwani avatar harshkapadia2 avatar kartiksoneji avatar kmk-git avatar mohitgangwani avatar pranavdani avatar saketthota avatar siruscodes avatar sreekaransrinath avatar srkvrm avatar sushma1031 avatar tusharnankani avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

catchup's Issues

Add PR checklist.

Add PR checklist primarily to remind people to run Prettier before opening a PR.

Credits: @KartikSoneji

PS: Which label should one apply to such an issue? Do we need a new label? If yes, what would it be called?

Merge telegram and twitter actions

Currently, we have actions as:

  • Reminder
  1. Telegram
  2. Twitter
  • Catchup
  1. Telegram
  2. Twitter

This costs a total of 4 actions which could be done in 2.
So the proposal is to merge all the reminder actions in 1 and catchup in 1.

feat: Better `/summary/:number` 404 pages

If number is not valid, redirect to a page that says
"Sorry, this is not a valid summary, here is the latest summary or you can read all the summaries here"
with the appropriate links.

Add Prettier linting instructions to `CONTRIBUTING.md`.

  • File to be changed: CONTRIBUTING.md
  • We need to inform contributors that we have a linting check in place.
    • This can be added as a note below the 'Tech Stack' section.
      • Eg: > NOTE: This repository has a Prettier code linting CI check. Please follow the Prettier instructions mentioned below.
  • We also need to inform contributors that they need to use Prettier before committing and provide instructions to do so.
    • Instructions should be provided for each type of environment, the Gitpod Setup and the Local Setup.
    • Instructions should be pertaining to how Prettier can be added/installed and which commands to execute or what method to follow to use Prettier.

Credits: @tusharnankani (in a PR comment)

Replace bullet points with numbered list for CatchUp attendees.

What is the change?

  • Replace bullet points (unordered list) with a numbered (ordered) list for CatchUp attendees.
  • To be done for CatchUp numbers 54 to 63.
  • Existing (bullet points/unordered list)
    image
  • Expected (numbered/ordered list)
    image

Why this change?

  • Makes it easier to count the number of people who have attended a particular CatchUp at a glance.

What is to be done?

  • In ./summary/sessions/<catchup_number>/attendees.adoc (for CatchUp numbers 54 to 63), replace * link:example.com[example^] with . link:example.com[example^], i.e., remove the asterisk (*) and replace it with a period (.).

Update UI for summary page

Currently the summary page looks like this:

image

To something that looks like this:

image

What has changed? and Motivation

  • Removed version number (Do we need it?)
  • Removed about catchup section as it was taking up a large space and providing not much value to the reader who already know what catchups are. (We can add a one liner or add it somewhere else)
  • Removed duplicate title also worked in #101
  • If we are generating OG images as screenshot of summary then I feel it's better to have more content upfront than these things.

What are your views @OurTechCommunity/core

Hamburger menu consistency across all pages.

image

image

Currently, About CatchUp acts as the only link between summaries, the latest summary, and OTC CatchUp.
So what I suggest is, instead of having the hamburger on the top right, we can move it to the top left across every single page so that it does not collide with the dark/light switch on summaries (This can also allow the addition of the switch across all the pages.). (Also having it on the right side feels RIGHT for some reason.)

  • This will allow users to use the hamburger across all the pages.
  • Maintains consistency across all the pages.
  • Allows a proper replacement for the above-mentioned changes.

Originally posted by @PranavDani in #113 (comment)

Refactor Twitter & Telegram Action name & description.

The new Twitter and Telegram workflow merged in 0d54459 can have a better name and description.


Current name:

name: Reminder Tweet

UI on GitHub:

image

This can be changed to 'Send Tweets and Telegram messages'.


Current description:

description: |
Which message template to use.
if set to `automatic`, resolves to:
`joining`, if time is after 10pm on Saturday (IST)
`reminder`, otherwise

This description renders like this:

image

The way GitHub renders the workflow description makes it confusing to read, so a more complete and free-flowing description would be better.

Video element overflows on summary pages when screen width is less than 700 px.

We add a video to indicate that we forgot to take a picture during a particular CatchUp session, for example in the 74th CatchUp summary.

We haven't added any size restrictions to that element, so maybe that's why it overflows on screens less than 700 px in width. The page becomes horizontally scrollable and can be zoomed out, when both of those should not be required.

This affects the common summary page and the individual summary pages with such a video included (Eg: 74th CatchUp summary).

One thing to remember while assigning a width would be the we need to maintain the aspect ratio of the video. (This might be achieved using the aspect-ratio property, but this is just a suggestion.)

Normal page load (overflow should not exist):

Zoomed out (should not happen):

Links in Attendee Map Overridden by `null`.

Background

To make it easier to convert a file with CatchUp attendee names to a format that adds their social media links, @tusharnankani added functionality to first create a Map of existing attendees and their social media handles, and secondly to use that map to generate the required link format.

Documentation for the Map generation and link format conversion is at https://github.com/OurTechCommunity/catchup/blob/main/util/README.md. Feel free to ask more questions!

Initial attendee name list format:

First_name Last_name
First_name Last_name
First_name Last_name

Final link format: (Eg: https://github.com/OurTechCommunity/catchup/blob/main/summary/sessions/139/attendees.adoc?plain=1)

link:<social_link>[First_name Last_name^]
link:<social_link>[First_name Last_name^]
link:<social_link>[First_name Last_name^]

Map format: (Generated in the summary directory as map.json once the command mentioned in the documentation is executed.)

[
	{
		"name": "First_name Last_name",
		"handle": "<social_link>"
	},
	...
]

Map property of overriding existing key values if set again:

image

Problem

If an attendee has their social media link set in previous CatchUp sessions, but does not have a link in the last CatchUp session that they attended, then their link gets overridden to null as per the logic below.

for (let line of fileContents) {
if (!line) continue; // skip empty lines
let [, link, name, onlyName] = line.match(attendeePattern) ?? [];
if (link && name) {
globalMap.set(name, link);
} else if (onlyName) {
globalMap.set(onlyName, null);
} else {
console.warn(`Error parsing line: ${line}, filePath: ${filePath}`);
}
}

Proposed Solution

We need to check that if an attendee's handle key in the map is not null (i.e., a link exists), then it should not be overwritten to null. Changes have to be made in the https://github.com/OurTechCommunity/catchup/blob/main/util/create-attendee-handle-map.js file.

Feel free to suggest other solutions!

On a side note, just for clarification, we should allow overwriting in other cases, because if an attendee requests a new link to be used from current sessions, then we should allow the current behaviour of replacing the older handle (link) with the new link.
(Yes, we can check to see if the old link and the new one are the same and replace it only if it is new, but I don't think it is worth adding a check for that, because the map is in memory and we're not reading/writing to a file till the entire map is ready.)

Telegram messages

Markdown in joining msg not working.

Also, auto-pinning of automated messages to be figured out.

Improve Documentation for Attendee List Generation Scripts.

Cc: @tusharnankani

Change Burger Menu to a Web Component.

The Burger Menu (three horizontal lines on the top right of the web app) is repetitive and changes to it on one page need to be manually made on every page, so it makes sense to create a Web Component called burger-menu for it.

Before implementing, please check the browser support.

Consider applying this to all OTC web sites and web apps.

bugfix: Update actions dependent on deprecated versions of node

Screenshot of workflow
Screenshot from https://github.com/OurTechCommunity/catchup/actions/runs/3303128628

Current scenario:

  • actions/checkout needs to be updated in all workflow files.
  • Eomm/why-don-t-you-tweet needs to be updated in the twitter workflow files.

Fixes:

  • The actions/checkout update is trivial since we just need to change actions/checkout@v2 to actions/checkout@v3
  • The Eomm/why-don-t-you-tweet update is more complicated since the action doesn't have an updated version with node 16+ as of now. There is an open issue in the action's repo Eomm/why-don-t-you-tweet#64

Deadline:
From https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/

We plan to migrate all actions to run on Node16 by Summer 2023

Use containers for actions

Currently, we are using an Ubuntu container to run actions. It will be better if we can use Node v16 container.

Add a `devcontainer.json` for all Dependency Needs.

Issue Description

I propose adding a devcontainer.json file to the Our Tech Community repository. This file will enable developers to set up a consistent development environment quickly using GitHub Codespaces or other similar services.

Why is this needed?

A devcontainer.json file:

  • Standardizes development environments across team members, reducing configuration discrepancies.
  • Simplifies onboarding for new contributors.
  • Ensures that the project's dependencies and tools are isolated, avoiding conflicts with the developer's local environment.
  • Facilitates automated testing and continuous integration.

Proposed Changes

  • Create a devcontainer directory in the root of the repository.
  • Add a devcontainer.json file to the devcontainer directory, specifying the necessary development environment setup.
  • Update the README with instructions for using the development container.

Additional Information

  • There is already a .gitpod.yml file that mentions the dependencies. But the devcontainer.json format is more widely used and is supported by more platforms.
  • If you have any additional context, ideas, or suggestions, please feel free to share them here.

๐Ÿค Thank you, OTC.

Improve hot reload process for Asciidoctor

  • Nodemon hotreloads the JS changes.
  • The Asciidoctor summary files are not watched by Nodemon and the build is not triggered every time a .adoc file changes. The Asciidoctor build script runs just once when npm test run is executed.
  • Maybe use something like Chokidar to watch over the summary directory and run the build script every time a .adoc file changes.

Automate linking Twitter handles in `attendees.adoc`

Let's automate!

Problem

Currently, we manually link respective Twitter handles in /summary/sessions/<session_num>/attendees.adoc.

  1. Create attendees.adoc
  2. Add a filler format
  3. Paste the list of names (Full Name) from the csv of attendees given by the extension
  4. Manually format it in: . link:<twitter_url>[Full Name^]

Idea

The idea is to automate step 4^ by doing the following steps:

Do only once:

  • Create a global database (map/json); mapping all users to their Twitter Handles.
    • Run a script to parse all attendees.adocs in summary/sessions
    • Create a global map
    • Keep updating it further (either manually or running the script once)

To automate linking attendees.adoc for every CatchUp:

  • Complete till Step 3 in the first list.
  • Then, run the script by finding the Twitter Handle mapped to the name in the global database.
  • It will make changes to attendees.adoc and we will be good to go.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.