diff --git a/.github/workflows/data-validate.yml b/.github/workflows/data-validate.yml index 9b312fcd..81e20dc8 100644 --- a/.github/workflows/data-validate.yml +++ b/.github/workflows/data-validate.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 with: - node-version: 13.x + node-version: 16.x - name: Cache/Restore node modules uses: actions/cache@v1 diff --git a/.github/workflows/populate-readme.yml b/.github/workflows/populate-readme.yml index f9885179..f9f3305d 100644 --- a/.github/workflows/populate-readme.yml +++ b/.github/workflows/populate-readme.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 with: - node-version: 13.x + node-version: 16.x - name: Cache/Restore node modules uses: actions/cache@v1 diff --git a/.gitignore b/.gitignore index c1df6902..0ae3e696 100644 --- a/.gitignore +++ b/.gitignore @@ -56,7 +56,6 @@ typings/ .env* .cache/ -public # Mac files .DS_Store diff --git a/contribution-guide.md b/contribution-guide.md index fe7589f7..3b27008b 100644 --- a/contribution-guide.md +++ b/contribution-guide.md @@ -16,7 +16,7 @@ A /uses page lists a developer's setup, gear, software, and configs (what they *use*). It's a great reference for those looking to add to their library of tools or reconfigure ones they already use. -**The URL MUST to follow the format of use|uses|using|setup|environment at the end.** +**The URL MUST follow the format of use|uses|using|setup|environment at the end.** ### What Should I Include? diff --git a/public/default.png b/public/default.png new file mode 100644 index 00000000..d0cafecd Binary files /dev/null and b/public/default.png differ diff --git a/readme.md b/readme.md index 3f2b95be..97df1478 100644 --- a/readme.md +++ b/readme.md @@ -30,7 +30,10 @@ This readme is auto-generated from the data.js file, so please don't PR this fil # Awesome Uses ![Awesome][awesome-badge] +* [Jose Munoz](https://www.josemunozmatos.com/uses) — Product Designer from Puerto Rico +* [Vladimir Vo](https://vldmr.website/uses) — Frontend developer with passion for great product design * [uncenter](https://www.uncenter.org/uses) — Very incompetent developer +* [Donavon West](https://donavon.com/uses) — Spread Love {...❤️} * [Justin Mahar](https://justinmahar.com/uses/) — Extremely bald Software Architect & Content Creator * [Syofyan Zuhad](https://syofyan-profile.vercel.app/uses/) — Full Stack Software Engineer 🇮🇩 * [Zilvinas Kucinskas](https://www.ziku.dev/uses/) — Full Stack Ruby on Rails Engineer and Entrepreneur @@ -73,6 +76,7 @@ This readme is auto-generated from the data.js file, so please don't PR this fil * [Simone Silvestroni](https://minutestomidnight.co.uk/uses) — Sound designer, web developer, bass player * [Gavin Pereira](https://gavinpereira.in/uses) — Graphic designer & frontend developer from Goa, India * [Tim Mouskhelichvili](https://timmousk.com/uses/) — Freelance Developer & Consultant from Montreal, Canada +* [Vladimir Vo](https://vldmr.website/uses) — Frontend developer with passion for great product design * [Andy Cetnarskyj](https://www.just-andy.uk/uses) — Design Systems Designer from Edinburgh, UK * [Akash Rajpurohit](https://akashrajpurohit.com/uses) — Software Engineer * [Bala Hantsi](https://github.com/bhantsi/uses) — Software developer, full stack developer (in training), lately focused on frontend. Enjoy traveling and gaming. @@ -99,6 +103,7 @@ This readme is auto-generated from the data.js file, so please don't PR this fil * [Joshua Cerbito](https://www.cerbito.com/uses) — I write code, I train devs, and I play music. * [Dale Larroder](https://www.dalelarroder.com/uses) — Software Engineer, React, TypeScript and Mechanical Keyboards! * [Salma Alam-Naylor](https://whitep4nth3r.com/uses) — Live coding streamer, writer and speaker +* [Bill Sullivan](https://billsullivan.name/uses/) — Engineering Manager, Senior Engineer, Novice Streamer, and Occasional Entrepreneur * [Amit Dhamu](https://amitd.co/uses) — Software Engineer, Formula 1 Addict, Tech Junkie, Hip-Hop Head * [Dominik Gallitzendörfer](https://nharox.com/uses) — Front‑end developer with a focus on UI/UX. Loves CSS and is addicted to Tetris. * [Emmanuel Gautier](https://www.emmanuelgautier.com/uses) — Solution Architect & Fullstack Developer living in France. Tech enthusiast and Data Lover. @@ -364,7 +369,7 @@ This readme is auto-generated from the data.js file, so please don't PR this fil * [Sergey Panteleev](https://sergeypanteleev.com/en/uses) — PHP 8.2 Release Manager * [Shajan Jacob](https://shajanjacob.com/uses) — Software Engineer, extroverted introvert, storyteller and a maker. * [Fidalgo](https://info.fidalgo.dev/uses) — Front end Developer -* [Alexandre Ferreira](https://www.alexjorgef.com/about/uses) — Software Developer, Fullstack +* [Alexandre Ferreira](https://www.alexjorgef.com/about/uses) — Full-stack developer, open-source enthusiast * [Marco Poletto](https://poletto.dev/uses/) — Engineering Manager @ Laiye, Frontend Developer, UI engineer, Mentor * [Tim Teege](https://www.teesche.com/uses/) — Web Studio CEO, Former Frontend Dev, Blogger, Ultrarunner * [Mark Horsell](https://markhorsell.com/uses) — Software Developer - Front-end mostly, back-end and native sometimes. @@ -409,6 +414,7 @@ This readme is auto-generated from the data.js file, so please don't PR this fil * [Josiah Wiebe](https://jwie.be/uses/) — Designer & developer, lifelong learner. * [Muhammad Oka](https://muhammadoka.dev/uses/) — Computer Science student, Cyber Security enthusiast. * [Benjamin Lannon](https://lannonbr.com/uses/) — Web Developer, Open Source Contributor, Livestreamer +* [Dmytro Litvinov](https://dmytrolitvinov.com/uses/) — Full Stack Python developer from 🇺🇦 * [Braden Watkins](https://bradenwatkins.dev/uses) — Student, Full Stack Developer, Lover of all things analog * [Rikin Patel](https://patelrikin.com/#uses) — Experienced Front-end developer, Passionate about Javascript * [Joris Hens](https://www.goodbytes.be/uses) — Web development teacher, Security and hacking enthousiast, Cook. @@ -452,6 +458,7 @@ This readme is auto-generated from the data.js file, so please don't PR this fil * [Yoann Fleury](https://blog.yoannfleury.dev/uses) — Front End Web Developer, Blogger * [Keith Wagner](https://kpwags.com/uses) — Experienced full stack developer. Always trying to learn new and better ways of doing things. * [Sebastian Försth](https://forsth.dev/uses) — I am solving problems you did not know you had. +* [Sebastian Remm](https://www.sebibasti.dev/uses) — Coding at 04am in the morning * [Chuck Munson](https://www.breadandrosesweb.com/uses/) — Web developer, blogger, writer, journalist, photographer, librarian, Minecraft addict, cooking show fanatic * [David O'Trakoun](https://www.davidosomething.com/uses/) — Software Engineer * [Dean Harris](https://deanacus.com/uses/) — Front End Developer. Husband. Skateboarder. Occasional blogger diff --git a/scripts/utils.js b/scripts/utils.js index 9088ead8..2aa0fd8a 100644 --- a/scripts/utils.js +++ b/scripts/utils.js @@ -111,6 +111,7 @@ module.exports.communicateValidationOutcome = async function ( ].join('\n'); } + const { GITHUB_TOKEN } = process.env; const { context } = github; if (!GITHUB_TOKEN || !context.payload.pull_request) { @@ -120,13 +121,13 @@ module.exports.communicateValidationOutcome = async function ( core.info(`Comment contents:\n${comment}`); return; } + // TODO: Re-enable a way to comment on PRs that tests passed. + // const pullRequestNumber = context.payload.pull_request.number; - const pullRequestNumber = context.payload.pull_request.number; - - const octokit = new github.GitHub(GITHUB_TOKEN); - await octokit.issues.createComment({ - ...context.repo, - issue_number: pullRequestNumber, - body: comment, - }); + // const octokit = new github.getOctokit(GITHUB_TOKEN); + // await octokit.rest.pulls.createReviewComment({ + // ...context.repo, + // pullRequestNumber, + // body: comment, + // }); }; diff --git a/server.ts b/server.ts index f61ecde4..97602293 100644 --- a/server.ts +++ b/server.ts @@ -12,5 +12,9 @@ export const config = { cache: "manual", path: "/*", // Pass all assets to the netlify asset server - excluded_patterns: ["/_assets/*", "/_shared/*", "/**/*.js"], + excluded_patterns: [ + '^\\/_assets\\/[^\\/]*$', + '^\\/shared\\/[^\\/]*$', + '^\\/**\\/[^\\/]*$', + ], }; diff --git a/src/components/Person.js b/src/components/Person.js index 9b9d0e8b..fa8a5d82 100644 --- a/src/components/Person.js +++ b/src/components/Person.js @@ -20,6 +20,10 @@ export default function Person({ person }) { height="50" src={img} alt={person.name} + onError={({ currentTarget }) => { + currentTarget.onerror = null; // prevents looping + currentTarget.src = "/default.png"; + }} loading="lazy" />

diff --git a/src/data.js b/src/data.js index 26581d1f..f60b94d9 100644 --- a/src/data.js +++ b/src/data.js @@ -21,6 +21,47 @@ * Keep this a commonjs export. */ module.exports = [ + { + name: 'Jose Munoz', + description: 'Product Designer from Puerto Rico', + url: 'https://www.josemunozmatos.com/uses', + emoji: '🫶', + country: '🇵🇷', + computer: 'apple', + phone: 'iphone', + tags: [ + 'Lego', + 'UX Designer', + 'Product Designer', + 'Figma', + 'Markdown', + 'Notion', + ], + }, + { + name: 'Vladimir Vo', + description: 'Frontend developer with passion for great product design', + url: 'https://vldmr.website/uses', + twitter: '@v1in_', + emoji: '🖖', + country: '🇵🇱', + computer: 'apple', + phone: 'iphone', + tags: [ + 'Astro', + 'Front End', + 'Developer', + 'JavaScript', + 'TypeScript', + 'React', + 'Next', + 'JAMstack', + 'Netlify', + 'Vercel', + 'HTML', + 'CSS', + ], + }, { name: 'uncenter', description: 'Very incompetent developer', @@ -1127,6 +1168,30 @@ module.exports = [ 'React', ], }, + { + name: 'Vladimir Vo', + description: 'Frontend developer with passion for great product design', + url: 'https://vldmr.website/uses', + twitter: '@v1in_', + emoji: '🖖', + country: '🇵🇱', + computer: 'apple', + phone: 'iphone', + tags: [ + 'Astro', + 'Front End', + 'Developer', + 'JavaScript', + 'TypeScript', + 'React', + 'Next', + 'JAMstack', + 'Netlify', + 'Vercel', + 'HTML', + 'CSS', + ], + }, { name: 'Andy Cetnarskyj', description: 'Design Systems Designer from Edinburgh, UK', @@ -1461,8 +1526,8 @@ module.exports = [ twitter: '@yassinebridi', emoji: '🚀', country: '🇲🇦', - computer: 'linux', - phone: 'android', + computer: 'apple', + phone: 'iphone', tags: [ 'Developer', 'Designer', @@ -1756,6 +1821,26 @@ module.exports = [ 'Streamer', ], }, + { + name: 'Bill Sullivan', + description: + 'Engineering Manager, Senior Engineer, Novice Streamer, and Occasional Entrepreneur', + url: 'https://billsullivan.name/uses/', + twitter: '@BillSullivan794', + emoji: '🎸', + country: '🇺🇸', + computer: 'apple', + phone: 'iphone', + tags: [ + 'macOS', + 'system76', + 'Full Stack', + 'Manager', + 'Streamer', + 'Pop!_OS', + 'React', + ], + }, { name: 'Amit Dhamu', description: @@ -7652,14 +7737,14 @@ module.exports = [ }, { name: 'Alexandre Ferreira', - description: 'Software Developer, Fullstack', + description: 'Full-stack developer, open-source enthusiast', url: 'https://www.alexjorgef.com/about/uses', - twitter: '@alexandrejorgef', - emoji: '👽', - country: '🇵🇹', + twitter: '@alekksf', + emoji: '⚡', + country: '🇪🇺', computer: 'linux', phone: 'android', - tags: ['Python', 'Go', 'JavaScript', 'TypeScript', 'Vue', 'React'], + tags: ['Go', 'Python', 'JavaScript', 'TypeScript', 'React', 'Vue'], }, { name: 'Marco Poletto', @@ -8590,6 +8675,17 @@ module.exports = [ 'GraphQL', ], }, + { + name: 'Dmytro Litvinov', + description: 'Full Stack Python developer from 🇺🇦', + url: 'https://dmytrolitvinov.com/uses/', + twitter: '@DmytroLitvinov', + emoji: '🪵', + country: '🇺🇦', + computer: 'apple', + phone: 'iphone', + tags: ['Developer', 'Web Developer', 'Full Stack', 'Python', 'Django'], + }, { name: 'Braden Watkins', description: 'Student, Full Stack Developer, Lover of all things analog', @@ -9470,6 +9566,44 @@ module.exports = [ 'Problem Solver', ], }, + { + name: 'Sebastian Remm', + description: 'Coding at 04am in the morning', + url: 'https://www.sebibasti.dev/uses', + emoji: '😴', + country: '🇩🇪', + computer: 'apple', + phone: 'iphone', + tags: [ + 'Arch', + 'Back End', + 'CSS', + 'DJ', + 'Developer', + 'Firefox', + 'Front End', + 'Full Stack', + 'Git', + 'GitHub', + 'HTML', + 'iTerm', + 'JavaScript', + 'Jetbrains', + 'Linux', + 'Next.js', + 'Rails', + 'React', + 'Ruby', + 'Ruby on Rails', + 'RubyMine', + 'Sass', + 'Software Developer', + 'Software Engineer', + 'TypeScript', + 'Web Developer', + 'Web Development', + ], + }, { name: 'Chuck Munson', description: @@ -11406,6 +11540,47 @@ module.exports = [ 'Podcaster', ], }, + { + name: 'Jeremy Lanssiers', + description: + "Full-stack web developer-thinker-tinkerer. Preacher man for the GNU/Linux Church.", + url: 'https://www.jeremylanssiers.com/uses/', + emoji: '🔥', + country: '🇧🇪', + computer: 'linux', + phone: 'android', + tags: [ + 'GNU/Linux', + 'Bash', + 'Java', + 'Maven', + 'JavaScript', + 'JSON', + 'RegEx', + 'SCSS', + 'CSS', + 'HTML', + 'XML', + 'SSH', + 'cURL', + 'NVM', + 'NPM', + 'Git', + 'Nginx', + 'Apache HTTPD', + 'ExpressJS', + 'NodeJS', + 'React', + 'Redux', + 'Google Lighthouse', + 'Sublime Text Editor', + 'IntelliJ', + 'Visual Studio Code', + 'Cloudflare', + 'Chromium Debugging Tools', + 'Azure DevOps Pipelines' + ], + }, { name: 'Jacopo DP.', description: