diff --git a/people.json b/people.json new file mode 100644 index 0000000..1140b07 --- /dev/null +++ b/people.json @@ -0,0 +1,16 @@ +{ + "people": [ + { + "name": "Frédéric Harper", + "title": "Director of Developer Relations", + "company": "Mindee", + "city": "Montréal", + "country": "Canada", + "linkedin": "https://www.linkedin.com/in/fredericharper", + "twitter": "https://twitter.com/fharper", + "scheduling": "https://calendly.com/fharper/coffee", + "online-only": false, + "topics": ["Open-Source", "SaaS Architecture", "Developer Relations", "Developers Documentation", "Community Building", "Personal Branding", "Starting in Tech", "Job Search", "Cats", "Coffee", "Microbrewery Beer", "Travelling", "Mental Health", "Anything else"] + } + ] +} \ No newline at end of file diff --git a/scripts/README-TEMPLATE.md b/scripts/README-TEMPLATE.md new file mode 100644 index 0000000..2b0a1da --- /dev/null +++ b/scripts/README-TEMPLATE.md @@ -0,0 +1,28 @@ +# Coffee Chat + +List of awesome people offering their time **for free** to have a "coffee chat" with others about different topics, mostly in a mentorship kind of way. + +PLACEHOLDER + +## Add yourself to this list + +To add your name to this list, you simply need to add another person object in [people.json](people.json). You can simply copy someone else, and change the information. If you don't want to share a piece of information, just leave the value of the field empty. Once done, please do a pull request. If you have no idea how all this works, you can simply send me your information by [email](mailto:hi@fred.dev), and I'll add you to the list myself with pleasure. + +⚠️ **Warning**: only add yourself to this list! + +## Remove yourself from this list + +Simply create a pull request by removing your people definition from [people.json](people.json). As for adding yourself to the list if you are not a technical person, just send me an [email](mailto:hi@fred.dev) and I'll do it for you. + +## Future plans + +I put this up quickly, and don't have more time this week to finalize what I had in mind, so here's some things left to do. + +- Generate a second list by location (when we'll have more people) +- Generate a third list by discussion topics (when we'll have more people) +- Add GitHub Action for JSON linting +- Add GitHub Action for automatic README generation +- Add GitHub Action for links validation +- Create pull request template +- Create a CONTRIBUTION.md +- Better formatting of the list including city & country (suggestions welcome here). diff --git a/scripts/write-readme.js b/scripts/write-readme.js new file mode 100644 index 0000000..122d2d5 --- /dev/null +++ b/scripts/write-readme.js @@ -0,0 +1,20 @@ +'use strict;' +const fs = require('fs'); + +//Get the data +const data = fs.readFileSync('../people.json'); +const json = JSON.parse(data); + +//Order by name +json.people.sort(function (a, b) { + return a.name.localeCompare(b.name); +}); + +//Generate with proper formating +const peopleList = json.people.map(people => + `- **[${people.name}](${people.scheduling}) (${(people.linkedin ? "[LinkedIn](" + people.linkedin + "), " : "")}${(people.twitter ? "[Twitter](" + people.twitter + ")" : "")}), ${people.title} at ${people.company}:** ${people.topics.join(', ')})` +).join('\r\n'); + +//Write README.md +const template = fs.readFileSync('README-TEMPLATE.md', 'utf8'); +fs.writeFileSync('../README.md', template.replace('PLACEHOLDER', peopleList));