From b251413b86a3eb90306d7dd5b56eafc16c36d788 Mon Sep 17 00:00:00 2001 From: acethecreator Date: Mon, 28 Nov 2022 16:55:57 +0100 Subject: [PATCH 01/19] blog post about hacktoberfest 2022 --- pages/blog/hacktoberfest-2022.md | 91 +++++++++++++++++++ public/img/avatars/ace.webp | Bin 0 -> 22496 bytes public/img/posts/asyncapiXhacktoberfest.webp | Bin 0 -> 9960 bytes 3 files changed, 91 insertions(+) create mode 100644 pages/blog/hacktoberfest-2022.md create mode 100644 public/img/avatars/ace.webp create mode 100644 public/img/posts/asyncapiXhacktoberfest.webp diff --git a/pages/blog/hacktoberfest-2022.md b/pages/blog/hacktoberfest-2022.md new file mode 100644 index 000000000000..70dfbbc9340b --- /dev/null +++ b/pages/blog/hacktoberfest-2022.md @@ -0,0 +1,91 @@ +--- +title: "Is Hacktoberfest Good For Maintainers?" +date: 2020-11-05T06:00:00+01:00 +type: Community +tags: + - Hacktoberfest +cover: /img/posts/asyncapiXhacktoberfest.webp +authors: + - name: Azeez Elegbede + photo: /img/avatars/ace.webp + link: https://twitter.com/_acebuild + byline: Preacher at AsyncAPI +--- + +Hacktoberfest was a blast this year! We can’t believe it’s over already. We had a great time participating with y'all and wanted to share a bit of our experience in a review. + +## Why Hacktoberfest + +Hacktoberfest is an annual event that encourages people to contribute to open source throughout October. AsyncAPI is an open-source project and like many other open-source projects built and maintained by passionate people who often don’t have the staff or budgets to do much more than keep the project alive. Hacktoberfest is all about giving back to those projects, sharpening skills, and celebrating all things open source, especially the people that make open source so special. + +## Planting the seed + +For us, contributions come in all shapes and sizes. From typo fixes and bug reporting to bigger improvements. But that’s not all! AsyncAPI also creates time to help onboard contributors that are finding it difficult to start contributing to the project or provide help to contributors that gets stuck while contributing. + +## How we prepared + +Not gonna lie, this year's Hacktoberfest snuck up on us like Batman in Gotham City, and as soon as we realized this, we immediately started planning. We kicked off by defining our goals for Hacktoberfest as we've always done. + +- Promote [AsyncAPI Initiative](https://www.asyncapi.com/) as a place where we work not only on the AsyncAPI specification but also lots of tools +- Help members of the broader open-source community make their first contributions in a friendly environment + +We spent time writing a how-to-contribute guide for folks participating for the first time and also wrote a maintainers guide for potential maintainers. + +AsyncAPI is a great project to contribute to because you can learn about AsyncAPI while fixing an issue. That's why we carefully curated issues and prepared especially for Hacktoberfest. And because most of these issues are existing issues, we made sure we reached out to project maintainers to identify which of them is a good one for Hacktoberfest contributors to look into + +## Was it worth it? + +Absolutely! Even despite the fact that we kicked off late, we still received an amazing contribution... AsyncAPI merged 18 PRs from 12 contributors as part of this year's Hacktoberfest! I know it's less than the previous years but let's look on the bright side because some of these contributions were fun to make. + +## Meet the heroes + +This is a huge amount of work, and we are really proud that so many wonderful people come to help AsyncAPI to produce better software. + +We would like to thank everyone personally who submitted improvements to our repositories. Here are the names of our heroes: + + + + + +
+ + +
+ + + ab510 (2) + + +
+
+ +- [Amishakumari544](https://github.com/Amishakumari544) 1 PR +- [aeworxet](https://github.com/aeworxet) 2 PRs +- [toukirkhan](https://github.com/toukirkhan) 1 PR +- [manavdesai27](https://github.com/manavdesai27) 1 PR +- [Ankitchaudharyy](https://github.com/Ankitchaudharyy) 2 PRs +- [nawed2611](https://github.com/nawed2611) 1 PR +- [dhfherna](https://github.com/dhfherna) 1 PR +- [amit-ksh](https://github.com/amit-ksh) 1 PR +- [mastdev](https://github.com/mastdev) 2 PRs +- [codingtenshi](https://github.com/codingtenshi) 4 PRs +- [akshatnema](https://github.com/akshatnema) 1 PR +- [Mayaleeeee](https://github.com/Mayaleeeee) 1 PR + +## Things to learn from + +I believed we were overwhelmed and weren't fully prepared to handle the enthusiastic response from the community. Because we didn't curate enough issues tagged Hacktoberfest, many of the issues were claimed before the mid of October which left other contributors interested left out because of the lack of more issues. + +Once beaten twice shy. In other to avoid these potential pitfalls next year, we're gonna put some things in place which include the following + +- Start planning earlier +- Create more accessible Hacktoberfest issues +- Usage of social media as an advantage to bring in more folks + +## Wrap up + +Thank you so much to everyone who took part! We welcomed new contributors but were just as happy to see our existing contributors join in the fun, too. We hope you all enjoyed participating in Hacktoberfest as much as we did. + +## Hacktoberfest is over, but Open Source is for life + +Are you interested in getting involved with AsyncAPI? You can always find us on [GitHub](https://github.com/asyncapi) or [Slack](https://asyncapi.com/slack-invite). Can’t wait to meet you and merge your PR! diff --git a/public/img/avatars/ace.webp b/public/img/avatars/ace.webp new file mode 100644 index 0000000000000000000000000000000000000000..3f55898eb18cd27bdfe6acb274fb524cf3fe01f5 GIT binary patch literal 22496 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 literal 0 HcmV?d00001 diff --git a/public/img/posts/asyncapiXhacktoberfest.webp b/public/img/posts/asyncapiXhacktoberfest.webp new file mode 100644 index 0000000000000000000000000000000000000000..d0923f70992fe7156b5b69eb0620b01b14cbd043 GIT binary patch literal 9960 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 literal 0 HcmV?d00001 From fe215cc6d9d073bc2150e489ffb482acccfb17e0 Mon Sep 17 00:00:00 2001 From: acethecreator Date: Mon, 28 Nov 2022 17:53:51 +0100 Subject: [PATCH 02/19] completed hacktoberfest 2022 post --- pages/blog/hacktoberfest-2022.md | 168 ++++++++++++++++++++++++++----- 1 file changed, 142 insertions(+), 26 deletions(-) diff --git a/pages/blog/hacktoberfest-2022.md b/pages/blog/hacktoberfest-2022.md index 70dfbbc9340b..203dff0f82b2 100644 --- a/pages/blog/hacktoberfest-2022.md +++ b/pages/blog/hacktoberfest-2022.md @@ -12,21 +12,21 @@ authors: byline: Preacher at AsyncAPI --- -Hacktoberfest was a blast this year! We can’t believe it’s over already. We had a great time participating with y'all and wanted to share a bit of our experience in a review. +Hacktoberfest was a blast this year! We can't believe it's over already. We had a great time participating with you all and wanted to share a bit of our experience in a review. ## Why Hacktoberfest -Hacktoberfest is an annual event that encourages people to contribute to open source throughout October. AsyncAPI is an open-source project and like many other open-source projects built and maintained by passionate people who often don’t have the staff or budgets to do much more than keep the project alive. Hacktoberfest is all about giving back to those projects, sharpening skills, and celebrating all things open source, especially the people that make open source so special. +Hacktoberfest is an annual event that encourages people to contribute to open source throughout October. AsyncAPI is an open-source project and, like many other open-source projects, built and maintained by passionate people who often don't have the staff or budgets to do much more than keep the project alive. Hacktoberfest is all about giving back to those projects, sharpening skills, and celebrating all things open source, especially those who make open source so special. ## Planting the seed -For us, contributions come in all shapes and sizes. From typo fixes and bug reporting to bigger improvements. But that’s not all! AsyncAPI also creates time to help onboard contributors that are finding it difficult to start contributing to the project or provide help to contributors that gets stuck while contributing. +For us, contributions come in all shapes and sizes. From typo fixes, bug reporting to more significant improvements. But that's not all! AsyncAPI also creates time to help onboard contributors that are finding it difficult to start contributing to the project or provide help to contributors that get stuck while contributing. ## How we prepared Not gonna lie, this year's Hacktoberfest snuck up on us like Batman in Gotham City, and as soon as we realized this, we immediately started planning. We kicked off by defining our goals for Hacktoberfest as we've always done. -- Promote [AsyncAPI Initiative](https://www.asyncapi.com/) as a place where we work not only on the AsyncAPI specification but also lots of tools +- Promote [AsyncAPI Initiative](https://www.asyncapi.com/) as a place where we work not only on the AsyncAPI specification but also lots of tools - Help members of the broader open-source community make their first contributions in a friendly environment We spent time writing a how-to-contribute guide for folks participating for the first time and also wrote a maintainers guide for potential maintainers. @@ -35,23 +35,148 @@ AsyncAPI is a great project to contribute to because you can learn about AsyncAP ## Was it worth it? -Absolutely! Even despite the fact that we kicked off late, we still received an amazing contribution... AsyncAPI merged 18 PRs from 12 contributors as part of this year's Hacktoberfest! I know it's less than the previous years but let's look on the bright side because some of these contributions were fun to make. +Absolutely! Even despite the fact that we kicked off late, we still received an amazing contribution. AsyncAPI merged 18 PRs from 12 contributors as part of this year's Hacktoberfest! I know it's less than the previous years but let's look on the bright side because some of these contributions were fun to make. ## Meet the heroes -This is a huge amount of work, and we are really proud that so many wonderful people come to help AsyncAPI to produce better software. +This is a huge amount of work, and we are really proud that so many wonderful people have come to help AsyncAPI to produce better software. -We would like to thank everyone personally who submitted improvements to our repositories. Here are the names of our heroes: +We want to thank everyone personally who submitted improvements to our repositories. Here are the names of our heroes: + + + + + + + + + + + + + + +
- - + +
- ab510 (2) + Amishakumari544 - 1 PR + + +
+
+ + +
+ + + toukirkhan - 1 PR + + +
+
+ + +
+ + + aeworxet - 2 PRs + + +
+
+ + +
+ + + manavdesai27 - 1 PR + + +
+
+ + +
+ + + Ankitchaudharyy - 2 PR + + +
+
+ + +
+ + + nawed2611 - 1 PR + + +
+
+ + +
+ + + dhfherna - 1 PR + + +
+
+ + +
+ + + amit-ksh - 1 PR + + +
+
+ + +
+ + + mastdev - 2 PRs + + +
+
+ + +
+ + + codingtenshi - 4 PRs + + +
+
+ + +
+ + + akshatnema - 1 PR + + +
+
+ + +
+ + + Mayaleeeee - 1 PR
@@ -59,33 +184,24 @@ We would like to thank everyone personally who submitted improvements to our rep
-- [Amishakumari544](https://github.com/Amishakumari544) 1 PR -- [aeworxet](https://github.com/aeworxet) 2 PRs -- [toukirkhan](https://github.com/toukirkhan) 1 PR -- [manavdesai27](https://github.com/manavdesai27) 1 PR -- [Ankitchaudharyy](https://github.com/Ankitchaudharyy) 2 PRs -- [nawed2611](https://github.com/nawed2611) 1 PR -- [dhfherna](https://github.com/dhfherna) 1 PR -- [amit-ksh](https://github.com/amit-ksh) 1 PR -- [mastdev](https://github.com/mastdev) 2 PRs -- [codingtenshi](https://github.com/codingtenshi) 4 PRs -- [akshatnema](https://github.com/akshatnema) 1 PR -- [Mayaleeeee](https://github.com/Mayaleeeee) 1 PR +## Late to the party? + +Not a problem. We've got tons of issues you can explore and start contributing to in no time. Because we are a community-first open-source project, we've made it our responsibility to make it easier for contributors to navigate through issues easily. That's why we've built the AsyncAPI [community dashboard](https://www.asyncapi.com/community/dashboard) to help you explore some exciting good first issues. ## Things to learn from -I believed we were overwhelmed and weren't fully prepared to handle the enthusiastic response from the community. Because we didn't curate enough issues tagged Hacktoberfest, many of the issues were claimed before the mid of October which left other contributors interested left out because of the lack of more issues. +We were overwhelmed and weren't fully prepared to handle the enthusiastic response from the community. Because we needed to curate more issues tagged Hacktoberfest, many of the issues were claimed before the mid of October, which left other contributors interested left out because of the lack of more issues. -Once beaten twice shy. In other to avoid these potential pitfalls next year, we're gonna put some things in place which include the following +Once beaten twice shy. In other to avoid these potential pitfalls next year, we're gonna put some things in place, which include the following. - Start planning earlier - Create more accessible Hacktoberfest issues - Usage of social media as an advantage to bring in more folks -## Wrap up +## Wrap up Thank you so much to everyone who took part! We welcomed new contributors but were just as happy to see our existing contributors join in the fun, too. We hope you all enjoyed participating in Hacktoberfest as much as we did. ## Hacktoberfest is over, but Open Source is for life -Are you interested in getting involved with AsyncAPI? You can always find us on [GitHub](https://github.com/asyncapi) or [Slack](https://asyncapi.com/slack-invite). Can’t wait to meet you and merge your PR! +Are you interested in getting involved with AsyncAPI? You can always find us on [GitHub](https://github.com/asyncapi) or [Slack](https://asyncapi.com/slack-invite). Can't wait to meet you and merge your PR! From 547909851e918689ef3b01de547446aa8fa1c95c Mon Sep 17 00:00:00 2001 From: acethecreator Date: Mon, 28 Nov 2022 17:56:16 +0100 Subject: [PATCH 03/19] . --- pages/blog/hacktoberfest-2022.md | 207 ------------------------------- 1 file changed, 207 deletions(-) delete mode 100644 pages/blog/hacktoberfest-2022.md diff --git a/pages/blog/hacktoberfest-2022.md b/pages/blog/hacktoberfest-2022.md deleted file mode 100644 index 203dff0f82b2..000000000000 --- a/pages/blog/hacktoberfest-2022.md +++ /dev/null @@ -1,207 +0,0 @@ ---- -title: "Is Hacktoberfest Good For Maintainers?" -date: 2020-11-05T06:00:00+01:00 -type: Community -tags: - - Hacktoberfest -cover: /img/posts/asyncapiXhacktoberfest.webp -authors: - - name: Azeez Elegbede - photo: /img/avatars/ace.webp - link: https://twitter.com/_acebuild - byline: Preacher at AsyncAPI ---- - -Hacktoberfest was a blast this year! We can't believe it's over already. We had a great time participating with you all and wanted to share a bit of our experience in a review. - -## Why Hacktoberfest - -Hacktoberfest is an annual event that encourages people to contribute to open source throughout October. AsyncAPI is an open-source project and, like many other open-source projects, built and maintained by passionate people who often don't have the staff or budgets to do much more than keep the project alive. Hacktoberfest is all about giving back to those projects, sharpening skills, and celebrating all things open source, especially those who make open source so special. - -## Planting the seed - -For us, contributions come in all shapes and sizes. From typo fixes, bug reporting to more significant improvements. But that's not all! AsyncAPI also creates time to help onboard contributors that are finding it difficult to start contributing to the project or provide help to contributors that get stuck while contributing. - -## How we prepared - -Not gonna lie, this year's Hacktoberfest snuck up on us like Batman in Gotham City, and as soon as we realized this, we immediately started planning. We kicked off by defining our goals for Hacktoberfest as we've always done. - -- Promote [AsyncAPI Initiative](https://www.asyncapi.com/) as a place where we work not only on the AsyncAPI specification but also lots of tools -- Help members of the broader open-source community make their first contributions in a friendly environment - -We spent time writing a how-to-contribute guide for folks participating for the first time and also wrote a maintainers guide for potential maintainers. - -AsyncAPI is a great project to contribute to because you can learn about AsyncAPI while fixing an issue. That's why we carefully curated issues and prepared especially for Hacktoberfest. And because most of these issues are existing issues, we made sure we reached out to project maintainers to identify which of them is a good one for Hacktoberfest contributors to look into - -## Was it worth it? - -Absolutely! Even despite the fact that we kicked off late, we still received an amazing contribution. AsyncAPI merged 18 PRs from 12 contributors as part of this year's Hacktoberfest! I know it's less than the previous years but let's look on the bright side because some of these contributions were fun to make. - -## Meet the heroes - -This is a huge amount of work, and we are really proud that so many wonderful people have come to help AsyncAPI to produce better software. - -We want to thank everyone personally who submitted improvements to our repositories. Here are the names of our heroes: - - - - - - - - - - - - - - - - - - - - -
- - -
- - - Amishakumari544 - 1 PR - - -
-
- - -
- - - toukirkhan - 1 PR - - -
-
- - -
- - - aeworxet - 2 PRs - - -
-
- - -
- - - manavdesai27 - 1 PR - - -
-
- - -
- - - Ankitchaudharyy - 2 PR - - -
-
- - -
- - - nawed2611 - 1 PR - - -
-
- - -
- - - dhfherna - 1 PR - - -
-
- - -
- - - amit-ksh - 1 PR - - -
-
- - -
- - - mastdev - 2 PRs - - -
-
- - -
- - - codingtenshi - 4 PRs - - -
-
- - -
- - - akshatnema - 1 PR - - -
-
- - -
- - - Mayaleeeee - 1 PR - - -
-
- -## Late to the party? - -Not a problem. We've got tons of issues you can explore and start contributing to in no time. Because we are a community-first open-source project, we've made it our responsibility to make it easier for contributors to navigate through issues easily. That's why we've built the AsyncAPI [community dashboard](https://www.asyncapi.com/community/dashboard) to help you explore some exciting good first issues. - -## Things to learn from - -We were overwhelmed and weren't fully prepared to handle the enthusiastic response from the community. Because we needed to curate more issues tagged Hacktoberfest, many of the issues were claimed before the mid of October, which left other contributors interested left out because of the lack of more issues. - -Once beaten twice shy. In other to avoid these potential pitfalls next year, we're gonna put some things in place, which include the following. - -- Start planning earlier -- Create more accessible Hacktoberfest issues -- Usage of social media as an advantage to bring in more folks - -## Wrap up - -Thank you so much to everyone who took part! We welcomed new contributors but were just as happy to see our existing contributors join in the fun, too. We hope you all enjoyed participating in Hacktoberfest as much as we did. - -## Hacktoberfest is over, but Open Source is for life - -Are you interested in getting involved with AsyncAPI? You can always find us on [GitHub](https://github.com/asyncapi) or [Slack](https://asyncapi.com/slack-invite). Can't wait to meet you and merge your PR! From 9d9cf369bfde89f2a330b2b7a55e42de2bc628a7 Mon Sep 17 00:00:00 2001 From: acethecreator Date: Mon, 28 Nov 2022 17:59:26 +0100 Subject: [PATCH 04/19] added hacktoberfest post --- pages/blog/hacktoberfest-2022.md | 207 +++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 pages/blog/hacktoberfest-2022.md diff --git a/pages/blog/hacktoberfest-2022.md b/pages/blog/hacktoberfest-2022.md new file mode 100644 index 000000000000..203dff0f82b2 --- /dev/null +++ b/pages/blog/hacktoberfest-2022.md @@ -0,0 +1,207 @@ +--- +title: "Is Hacktoberfest Good For Maintainers?" +date: 2020-11-05T06:00:00+01:00 +type: Community +tags: + - Hacktoberfest +cover: /img/posts/asyncapiXhacktoberfest.webp +authors: + - name: Azeez Elegbede + photo: /img/avatars/ace.webp + link: https://twitter.com/_acebuild + byline: Preacher at AsyncAPI +--- + +Hacktoberfest was a blast this year! We can't believe it's over already. We had a great time participating with you all and wanted to share a bit of our experience in a review. + +## Why Hacktoberfest + +Hacktoberfest is an annual event that encourages people to contribute to open source throughout October. AsyncAPI is an open-source project and, like many other open-source projects, built and maintained by passionate people who often don't have the staff or budgets to do much more than keep the project alive. Hacktoberfest is all about giving back to those projects, sharpening skills, and celebrating all things open source, especially those who make open source so special. + +## Planting the seed + +For us, contributions come in all shapes and sizes. From typo fixes, bug reporting to more significant improvements. But that's not all! AsyncAPI also creates time to help onboard contributors that are finding it difficult to start contributing to the project or provide help to contributors that get stuck while contributing. + +## How we prepared + +Not gonna lie, this year's Hacktoberfest snuck up on us like Batman in Gotham City, and as soon as we realized this, we immediately started planning. We kicked off by defining our goals for Hacktoberfest as we've always done. + +- Promote [AsyncAPI Initiative](https://www.asyncapi.com/) as a place where we work not only on the AsyncAPI specification but also lots of tools +- Help members of the broader open-source community make their first contributions in a friendly environment + +We spent time writing a how-to-contribute guide for folks participating for the first time and also wrote a maintainers guide for potential maintainers. + +AsyncAPI is a great project to contribute to because you can learn about AsyncAPI while fixing an issue. That's why we carefully curated issues and prepared especially for Hacktoberfest. And because most of these issues are existing issues, we made sure we reached out to project maintainers to identify which of them is a good one for Hacktoberfest contributors to look into + +## Was it worth it? + +Absolutely! Even despite the fact that we kicked off late, we still received an amazing contribution. AsyncAPI merged 18 PRs from 12 contributors as part of this year's Hacktoberfest! I know it's less than the previous years but let's look on the bright side because some of these contributions were fun to make. + +## Meet the heroes + +This is a huge amount of work, and we are really proud that so many wonderful people have come to help AsyncAPI to produce better software. + +We want to thank everyone personally who submitted improvements to our repositories. Here are the names of our heroes: + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + Amishakumari544 - 1 PR + + +
+
+ + +
+ + + toukirkhan - 1 PR + + +
+
+ + +
+ + + aeworxet - 2 PRs + + +
+
+ + +
+ + + manavdesai27 - 1 PR + + +
+
+ + +
+ + + Ankitchaudharyy - 2 PR + + +
+
+ + +
+ + + nawed2611 - 1 PR + + +
+
+ + +
+ + + dhfherna - 1 PR + + +
+
+ + +
+ + + amit-ksh - 1 PR + + +
+
+ + +
+ + + mastdev - 2 PRs + + +
+
+ + +
+ + + codingtenshi - 4 PRs + + +
+
+ + +
+ + + akshatnema - 1 PR + + +
+
+ + +
+ + + Mayaleeeee - 1 PR + + +
+
+ +## Late to the party? + +Not a problem. We've got tons of issues you can explore and start contributing to in no time. Because we are a community-first open-source project, we've made it our responsibility to make it easier for contributors to navigate through issues easily. That's why we've built the AsyncAPI [community dashboard](https://www.asyncapi.com/community/dashboard) to help you explore some exciting good first issues. + +## Things to learn from + +We were overwhelmed and weren't fully prepared to handle the enthusiastic response from the community. Because we needed to curate more issues tagged Hacktoberfest, many of the issues were claimed before the mid of October, which left other contributors interested left out because of the lack of more issues. + +Once beaten twice shy. In other to avoid these potential pitfalls next year, we're gonna put some things in place, which include the following. + +- Start planning earlier +- Create more accessible Hacktoberfest issues +- Usage of social media as an advantage to bring in more folks + +## Wrap up + +Thank you so much to everyone who took part! We welcomed new contributors but were just as happy to see our existing contributors join in the fun, too. We hope you all enjoyed participating in Hacktoberfest as much as we did. + +## Hacktoberfest is over, but Open Source is for life + +Are you interested in getting involved with AsyncAPI? You can always find us on [GitHub](https://github.com/asyncapi) or [Slack](https://asyncapi.com/slack-invite). Can't wait to meet you and merge your PR! From 9775510ff533bf4860c3d22128bd02def454ef5b Mon Sep 17 00:00:00 2001 From: acethecreator Date: Fri, 2 Dec 2022 10:50:05 +0100 Subject: [PATCH 05/19] replaced avatar urls --- pages/blog/hacktoberfest-2022.md | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/pages/blog/hacktoberfest-2022.md b/pages/blog/hacktoberfest-2022.md index 203dff0f82b2..08a17ee7a7e5 100644 --- a/pages/blog/hacktoberfest-2022.md +++ b/pages/blog/hacktoberfest-2022.md @@ -1,10 +1,11 @@ --- -title: "Is Hacktoberfest Good For Maintainers?" -date: 2020-11-05T06:00:00+01:00 +title: "Hacktoberfest was a blast!" +date: 2022-11-28T10:00:00+01:00 type: Community tags: - Hacktoberfest cover: /img/posts/asyncapiXhacktoberfest.webp +featured: true authors: - name: Azeez Elegbede photo: /img/avatars/ace.webp @@ -47,7 +48,7 @@ We want to thank everyone personally who submitted improvements to our repositor - +
@@ -58,7 +59,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- +
@@ -69,7 +70,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- +
@@ -80,7 +81,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- +
@@ -93,7 +94,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- +
@@ -104,7 +105,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- +
@@ -115,7 +116,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- +
@@ -126,7 +127,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- +
@@ -139,7 +140,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- +
@@ -150,7 +151,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- +
@@ -161,7 +162,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- +
@@ -172,7 +173,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- +
From e652367f0de4a61213ff450eaebda71d26a25057 Mon Sep 17 00:00:00 2001 From: acethecreator Date: Fri, 2 Dec 2022 10:54:41 +0100 Subject: [PATCH 06/19] updated PR counts --- pages/blog/hacktoberfest-2022.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/blog/hacktoberfest-2022.md b/pages/blog/hacktoberfest-2022.md index 08a17ee7a7e5..0f3e7ff1efe4 100644 --- a/pages/blog/hacktoberfest-2022.md +++ b/pages/blog/hacktoberfest-2022.md @@ -36,7 +36,7 @@ AsyncAPI is a great project to contribute to because you can learn about AsyncAP ## Was it worth it? -Absolutely! Even despite the fact that we kicked off late, we still received an amazing contribution. AsyncAPI merged 18 PRs from 12 contributors as part of this year's Hacktoberfest! I know it's less than the previous years but let's look on the bright side because some of these contributions were fun to make. +Absolutely! Even despite the fact that we kicked off late, we still received an amazing contribution. AsyncAPI merged 23 PRs from 12 contributors as part of this year's Hacktoberfest! I know it's less than the previous years but let's look on the bright side because some of these contributions were fun to make. ## Meet the heroes @@ -63,7 +63,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- toukirkhan - 1 PR + toukirkhan - 2 PRs
@@ -98,7 +98,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- Ankitchaudharyy - 2 PR + Ankitchaudharyy - 3 PRs @@ -177,7 +177,7 @@ We want to thank everyone personally who submitted improvements to our repositor
- Mayaleeeee - 1 PR + Mayaleeeee - 4 PRs From 74c5251cdb6eb05f61f3501a5996dcffd839806d Mon Sep 17 00:00:00 2001 From: Ace <40604284+AceTheCreator@users.noreply.github.com> Date: Mon, 5 Dec 2022 16:21:51 +0100 Subject: [PATCH 07/19] Update pages/blog/hacktoberfest-2022.md Co-authored-by: Alejandra Quetzalli --- pages/blog/hacktoberfest-2022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/hacktoberfest-2022.md b/pages/blog/hacktoberfest-2022.md index 0f3e7ff1efe4..e59a8969f21d 100644 --- a/pages/blog/hacktoberfest-2022.md +++ b/pages/blog/hacktoberfest-2022.md @@ -21,7 +21,7 @@ Hacktoberfest is an annual event that encourages people to contribute to open so ## Planting the seed -For us, contributions come in all shapes and sizes. From typo fixes, bug reporting to more significant improvements. But that's not all! AsyncAPI also creates time to help onboard contributors that are finding it difficult to start contributing to the project or provide help to contributors that get stuck while contributing. +For us, contributions come in all shapes and sizes. From typo fixes and bug reporting to more significant improvements. But that's not all! AsyncAPI also creates time to help onboard contributors who find it difficult to start contributing to the project or provide help to contributors who get stuck while contributing. ## How we prepared From 9816050236055f810c1a611670b99e4a5a580040 Mon Sep 17 00:00:00 2001 From: Ace <40604284+AceTheCreator@users.noreply.github.com> Date: Mon, 5 Dec 2022 16:22:00 +0100 Subject: [PATCH 08/19] Update pages/blog/hacktoberfest-2022.md Co-authored-by: Alejandra Quetzalli --- pages/blog/hacktoberfest-2022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/hacktoberfest-2022.md b/pages/blog/hacktoberfest-2022.md index e59a8969f21d..6b66747f9e27 100644 --- a/pages/blog/hacktoberfest-2022.md +++ b/pages/blog/hacktoberfest-2022.md @@ -36,7 +36,7 @@ AsyncAPI is a great project to contribute to because you can learn about AsyncAP ## Was it worth it? -Absolutely! Even despite the fact that we kicked off late, we still received an amazing contribution. AsyncAPI merged 23 PRs from 12 contributors as part of this year's Hacktoberfest! I know it's less than the previous years but let's look on the bright side because some of these contributions were fun to make. +Absolutely! Even though we kicked off late, we still received an amazing contribution. AsyncAPI merged 23 PRs from 12 contributors as part of this year's Hacktoberfest! I know it's less than the previous years but let's look on the bright side because some of these contributions were fun to make. ## Meet the heroes From eba5a7de0c373bd5e68c15fcdcaa212ab5eb857b Mon Sep 17 00:00:00 2001 From: Ace <40604284+AceTheCreator@users.noreply.github.com> Date: Mon, 5 Dec 2022 16:22:11 +0100 Subject: [PATCH 09/19] Update pages/blog/hacktoberfest-2022.md Co-authored-by: Alejandra Quetzalli --- pages/blog/hacktoberfest-2022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/hacktoberfest-2022.md b/pages/blog/hacktoberfest-2022.md index 6b66747f9e27..ce32470b9bab 100644 --- a/pages/blog/hacktoberfest-2022.md +++ b/pages/blog/hacktoberfest-2022.md @@ -193,7 +193,7 @@ Not a problem. We've got tons of issues you can explore and start contributing t We were overwhelmed and weren't fully prepared to handle the enthusiastic response from the community. Because we needed to curate more issues tagged Hacktoberfest, many of the issues were claimed before the mid of October, which left other contributors interested left out because of the lack of more issues. -Once beaten twice shy. In other to avoid these potential pitfalls next year, we're gonna put some things in place, which include the following. +Once beaten twice shy. In order to avoid these potential pitfalls next year, we're gonna put some things in place, which include the following. - Start planning earlier - Create more accessible Hacktoberfest issues From b717a29f173815b77e5e945d6d7f0b296d13d37c Mon Sep 17 00:00:00 2001 From: Ace <40604284+AceTheCreator@users.noreply.github.com> Date: Mon, 5 Dec 2022 16:22:32 +0100 Subject: [PATCH 10/19] Update pages/blog/hacktoberfest-2022.md Co-authored-by: Alejandra Quetzalli --- pages/blog/hacktoberfest-2022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/hacktoberfest-2022.md b/pages/blog/hacktoberfest-2022.md index ce32470b9bab..98ef1729d3d6 100644 --- a/pages/blog/hacktoberfest-2022.md +++ b/pages/blog/hacktoberfest-2022.md @@ -205,4 +205,4 @@ Thank you so much to everyone who took part! We welcomed new contributors but we ## Hacktoberfest is over, but Open Source is for life -Are you interested in getting involved with AsyncAPI? You can always find us on [GitHub](https://github.com/asyncapi) or [Slack](https://asyncapi.com/slack-invite). Can't wait to meet you and merge your PR! +Are you interested in getting involved with AsyncAPI? You can always find us on [AsyncAPI GitHub](https://github.com/asyncapi) or our [AsyncAPI Slack](https://asyncapi.com/slack-invite) workspace. Can't wait to meet you and merge your PR! From fff23e16c184e0380eb36c35bb74254ccc79c19f Mon Sep 17 00:00:00 2001 From: Nelson Date: Tue, 6 Dec 2022 08:59:52 +0100 Subject: [PATCH 11/19] docs: add protocol concepts doc (#1013) Co-authored-by: Alejandra Quetzalli --- pages/docs/concepts/protocol.md | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 pages/docs/concepts/protocol.md diff --git a/pages/docs/concepts/protocol.md b/pages/docs/concepts/protocol.md new file mode 100644 index 000000000000..6babaaba62d5 --- /dev/null +++ b/pages/docs/concepts/protocol.md @@ -0,0 +1,45 @@ +--- +title: Protocol +weight: 25 +--- + + +## What is a protocol? +A protocol is a set of rules that specifies how information is exchanged between applications and/or servers. + +Protocol examples: +* [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket) +* [HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP) +* [Kafka](https://kafka.apache.org/) +* [MQTT](https://mqtt.org/) + +## Why do we need protocols? +Whenever a producer detects a state change (events) and publishes those events as messages, a protocol carries those messages to the channel and then to a consumer. Protocol plays a vital role in message transmission. + +```mermaid +sequenceDiagram + Publisher->>+Broker: PUBLISH(QoS0,Msg) + Broker->>+Subscriber: PUBLISH(QoS0,Msg) + Publisher->>+Publisher: Delete(Msg) +``` + +The diagram above depicts the message exchange flow from `producer` to `broker` to `consumer` using the MQTT protocol with QoS0 (quality of service 0). This means that information exchanged from `producer` to `broker` to `consumer` is delivered at most once. + +The quality of service information rule is specified on a protocol level. Broker implementations and other involved actors must act accordingly. + +In AsyncAPI documents, all protocol-specific details that the application follows can be described using [bindings](/docs/reference/specification/v2.5.0#definitionsBindings). + + \ No newline at end of file From ab44f2f508c3ccb3a64335874511c322ff50e9a0 Mon Sep 17 00:00:00 2001 From: Alejandra Quetzalli Date: Tue, 6 Dec 2022 00:48:43 -0800 Subject: [PATCH 12/19] docs: new concept doc application (#992) Co-authored-by: Lukasz Gornicki Co-authored-by: akshatnema <20bcs022@iiitdmj.ac.in> --- pages/docs/concepts/application.md | 42 ++++++++++++++++++++++++++++++ pages/docs/concepts/channel.md | 4 +-- pages/docs/concepts/message.md | 4 +-- pages/docs/concepts/protocol.md | 4 +-- 4 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 pages/docs/concepts/application.md diff --git a/pages/docs/concepts/application.md b/pages/docs/concepts/application.md new file mode 100644 index 000000000000..1f8aafc05b87 --- /dev/null +++ b/pages/docs/concepts/application.md @@ -0,0 +1,42 @@ +--- +title: Application +weight: 23 +--- + + +## What is an application? +An application is any computer program or a group of them. + +An application could also be a micro-service, IoT device (sensor), mainframe process, etc. Users may even write applications in different programming languages if they support one of the selected protocols. + +## Why do we need applications? +In Event-Driven Architecture (EDA), an application must be a `producer`, a `consumer`, or both. Applications must also use the protocols the server supports if they wish to connect and exchange messages. + +### Applications: producers and consumers +```mermaid +flowchart TD + A[PRODUCER application] --> B[message] + B --> C[channel] + C --> D[message] + D --> F[CONSUMER application] +``` +The above diagram describes a message communication traveling through a channel between a **PRODUCER application** and a **CONSUMER application**. + + +When writing your AsyncAPI document, make sure to describe what a user can do with your application; not what the application does. In other words, if your application is a producer, your AsyncAPI document should describe where users can subscribe to, to receive messages produced by your producer application. + + + diff --git a/pages/docs/concepts/channel.md b/pages/docs/concepts/channel.md index a44468ff4fa6..44a30bdd2376 100644 --- a/pages/docs/concepts/channel.md +++ b/pages/docs/concepts/channel.md @@ -30,9 +30,9 @@ The diagram above shows the communication between a `producer` and `consumer`, w title: 'Consumer', }, { - href:'/docs/concepts/message', + href:'/docs/concepts/application', type: 'next', - title: 'Message', + title: 'Application', } ]} /> diff --git a/pages/docs/concepts/message.md b/pages/docs/concepts/message.md index dd39f30a4a34..37c90b95844b 100644 --- a/pages/docs/concepts/message.md +++ b/pages/docs/concepts/message.md @@ -38,9 +38,9 @@ Overall, `events` are `messages` but not all `messages` are `events`. \ No newline at end of file From 842a41c0853db442a515385f023792cce03d5604 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Tue, 6 Dec 2022 10:49:19 +0100 Subject: [PATCH 13/19] ci: update generic workflows (#1142) --- .github/workflows/scripts/mailchimp/index.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scripts/mailchimp/index.js b/.github/workflows/scripts/mailchimp/index.js index 387176b41eaf..4a200c6c48b6 100644 --- a/.github/workflows/scripts/mailchimp/index.js +++ b/.github/workflows/scripts/mailchimp/index.js @@ -27,8 +27,14 @@ module.exports = async (link, title) => { type: 'regular', recipients: { list_id: '6e3e437abe', - segments_opts: { - saved_segment_id: 'tsc-voting-email' + segment_opts: { + match: 'any', + conditions: [{ + condition_type: 'Interests', + field: 'interests-2801e38b9f', + op: 'interestcontains', + value: ['f7204f9b90'] + }] } }, settings: { From 9a32bf09eeee8f40521672e4da746e1a66b76909 Mon Sep 17 00:00:00 2001 From: Anurag Goswami <64116092+Anurag607@users.noreply.github.com> Date: Tue, 6 Dec 2022 17:59:38 +0530 Subject: [PATCH 14/19] feat: added link to YT video to TSC page (#1141) Co-authored-by: Akshat Nema <76521428+akshatnema@users.noreply.github.com> --- components/typography/TextLink.js | 5 +++-- pages/community/tsc.js | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/components/typography/TextLink.js b/components/typography/TextLink.js index 08882de387ab..2810218811e8 100644 --- a/components/typography/TextLink.js +++ b/components/typography/TextLink.js @@ -1,4 +1,5 @@ import Link from 'next/link' +import { twMerge } from 'tailwind-merge' export default function TextLink({ href, className, @@ -7,7 +8,7 @@ export default function TextLink({ id }) { - const classNames = `text-secondary-500 underline hover:text-gray-800 font-medium transition ease-in-out duration-300 ${className || ''}` + const classNames = twMerge(`text-secondary-500 underline hover:text-gray-800 font-medium transition ease-in-out duration-300 ${className || ''}`) return ( <> @@ -20,4 +21,4 @@ export default function TextLink({ ) -} \ No newline at end of file +} diff --git a/pages/community/tsc.js b/pages/community/tsc.js index ad993e9ecbee..bc5012302b8a 100644 --- a/pages/community/tsc.js +++ b/pages/community/tsc.js @@ -2,6 +2,7 @@ import GenericLayout from "../../components/layout/GenericLayout"; import TSCMembersList from "../../config/TSC_MEMBERS.json"; import {sortBy} from 'lodash'; import NewsletterSubscribe from "../../components/NewsletterSubscribe"; +import TextLink from '../../components/typography/TextLink'; function addAdditionalUserInfo(user) { const userData = { @@ -72,6 +73,11 @@ export default function TSC() { can also build a great AsyncAPI-based project that we don't have yet in our GitHub organization and donate it (we'll ask you to stay as a maintainer). + Follow this + + Link + +  to know more!

@@ -225,7 +231,14 @@ function QuestionCard() { src="/img/avatars/questionmark.webp" className="mx-auto rounded-full h-20 w-20 xl:w-28 xl:h-28" /> -
Become a member!
+
+ Want to become a member? + Follow this + + Link + +  to know more! +
); } From 5bb21941c96d106ef8fea19218cd6b0f13546532 Mon Sep 17 00:00:00 2001 From: Ace <40604284+AceTheCreator@users.noreply.github.com> Date: Tue, 6 Dec 2022 16:45:06 +0100 Subject: [PATCH 15/19] feat: added new md component (#1137) Co-authored-by: Akshat Nema <76521428+akshatnema@users.noreply.github.com> --- components/MDX.js | 4 +++- components/Profile.js | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 components/Profile.js diff --git a/components/MDX.js b/components/MDX.js index e8dde002b7ab..daa7ed720524 100644 --- a/components/MDX.js +++ b/components/MDX.js @@ -15,6 +15,7 @@ import Caption from '../components/Caption' import Row from '../components/layout/Row' import Column from '../components/layout/Column' import Figure from '../components/Figure' +import Profile from '../components/Profile' import GeneratorInstallation from '../components/GeneratorInstallation' import NewsletterSubscribe from '../components/NewsletterSubscribe' import DocsButton from '../components/buttons/DocsButton'; @@ -88,7 +89,8 @@ function getMDXComponents() { TwitterMomentShare, TwitterDMButton, TwitterVideoEmbed, - TwitterOnAirButton + TwitterOnAirButton, + Profile } } diff --git a/components/Profile.js b/components/Profile.js new file mode 100644 index 000000000000..e5ae5afb2cb8 --- /dev/null +++ b/components/Profile.js @@ -0,0 +1,23 @@ +export default function Profile({profiles = [], className}) { + if(profiles.length === 0){ + return null; + } + return ( +
+ {profiles.map((profile) => ( + + {profile.name} + + {profile.name} + + + ))} +
+ ); +} From 607f52e44cd021c11c7d041942b69d9b9a1c975e Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Wed, 7 Dec 2022 18:58:22 +0100 Subject: [PATCH 16/19] chore: add more categories for tools and support repo description (#1143) --- config/tools-automated.json | 2 +- config/tools-manual.json | 8 ++++++++ config/tools.json | 2 +- scripts/tools/categorylist.js | 14 ++++++++++++-- scripts/tools/tools-object.js | 9 +++++---- scripts/tools/tools-schema.json | 2 +- 6 files changed, 28 insertions(+), 9 deletions(-) diff --git a/config/tools-automated.json b/config/tools-automated.json index 0075295a0291..30814a9a7303 100644 --- a/config/tools-automated.json +++ b/config/tools-automated.json @@ -1 +1 @@ -{"Code-first tools":{"description":"The following is a list of tools that generate AsyncAPI documents from your code.","toolsList":[]},"Code Generators":{"description":"The following is a list of tools that generate code from an AsyncAPI document; not the other way around.","toolsList":[{"title":"Sample Tool","description":"Tool for testing","links":{"websiteUrl":"https://akshatnema.netlify.app","docsUrl":"","repoUrl":"https://github.com/akshatnema/Login-Registration-project"},"filters":{"language":"javascript","technology":["react"],"categories":["code generator"],"hasCommercial":false,"isAsyncAPIOwner":false}}]},"Converters":{"description":"The following is a list of tools that do not yet belong to any specific category but are also useful for the community.","toolsList":[]},"Directories":{"description":"The following is a list of directories that index public AsyncAPI documents.","toolsList":[]},"Documentation Generators":{"description":"The following is a list of tools that generate human-readable documentation from an AsyncAPI document.","toolsList":[]},"UI components":{"description":"The following is a list of UI components to view AsyncAPI documents.","toolsList":[]},"DSL":{"description":"Writing YAML by hand is no fun, and maybe you don't want a GUI, so use a Domain Specific Language to write AsyncAPI in your language of choice.","toolsList":[]},"Frameworks":{"description":"The following is a list of API/application frameworks that make use of AsyncAPI.","toolsList":[]},"GitHub Actions":{"description":"The following is a list of GitHub Actions that you can use in your workflows","toolsList":[]},"Mocking and Testing":{"description":"The tools below take specification documents as input, then publish fake messages to broker destinations for simulation purposes. They may also check that publisher messages are compliant with schemas.","toolsList":[]},"Validators":{"description":"The following is a list of tools that validate AsyncAPI documents.","toolsList":[]},"Compare tools":{"description":"The following is a list of tools that compare AsyncAPI documents.","toolsList":[]},"Others":{"description":"The following is a list of tools that comes under Other category","toolsList":[{"title":"AsyncAPI CLI","description":"One CLI to rule them all. \nThis is a CLI that aims to integrate all AsyncAPI tools that you need while AsyncAPI document development and maintainance. \nYou can use it to generate docs or code, validate AsyncAPI document and event create new documents.\n","links":{"websiteUrl":"https://www.asyncapi.com/tools/cli","repoUrl":"https://github.com/asyncapi/cli"},"filters":{"technology":["TypeScript"],"categories":["others","cli"],"hasCommercial":false,"isAsyncAPIOwner":true}}]},"CLIs":{"description":"The following is a list of tools that you can work with in terminal or do some CI/CD automation","toolsList":[{"title":"AsyncAPI CLI","description":"One CLI to rule them all. \nThis is a CLI that aims to integrate all AsyncAPI tools that you need while AsyncAPI document development and maintainance. \nYou can use it to generate docs or code, validate AsyncAPI document and event create new documents.\n","links":{"websiteUrl":"https://www.asyncapi.com/tools/cli","repoUrl":"https://github.com/asyncapi/cli"},"filters":{"technology":["TypeScript"],"categories":["others","cli"],"hasCommercial":false,"isAsyncAPIOwner":true}}]}} \ No newline at end of file +{"Code-first tools":{"description":"The following is a list of tools that generate AsyncAPI documents from your code.","toolsList":[]},"Code Generators":{"description":"The following is a list of tools that generate code from an AsyncAPI document; not the other way around.","toolsList":[{"title":"Sample Tool","description":"Tool for testing","links":{"websiteUrl":"https://akshatnema.netlify.app","docsUrl":"","repoUrl":"https://github.com/akshatnema/Login-Registration-project"},"filters":{"language":"javascript","technology":["react"],"categories":["code generator"],"hasCommercial":false,"isAsyncAPIOwner":false}}]},"Converters":{"description":"The following is a list of tools that do not yet belong to any specific category but are also useful for the community.","toolsList":[]},"Directories":{"description":"The following is a list of directories that index public AsyncAPI documents.","toolsList":[]},"Documentation Generators":{"description":"The following is a list of tools that generate human-readable documentation from an AsyncAPI document.","toolsList":[]},"UI components":{"description":"The following is a list of UI components to view AsyncAPI documents.","toolsList":[{"title":"AsyncAPI React component","description":"React component for rendering documentation from your specification in real-time in the browser. It also provides a WebComponent and bundle for Angular and Vue","links":{"repoUrl":"https://github.com/asyncapi/asyncapi-react"},"filters":{"languages":["TypeScript"],"technology":["React","WebComponents"],"categories":["ui-component"],"isAsyncAPIOwner":true}}]},"DSL":{"description":"Writing YAML by hand is no fun, and maybe you don't want a GUI, so use a Domain Specific Language to write AsyncAPI in your language of choice.","toolsList":[]},"Frameworks":{"description":"The following is a list of API/application frameworks that make use of AsyncAPI.","toolsList":[]},"GitHub Actions":{"description":"The following is a list of GitHub Actions that you can use in your workflows","toolsList":[{"title":"GitHub Action for Generator","description":"GitHub Action to generate all the things from your AsyncAPI document using the AsyncAPI generator","links":{"repoUrl":"https://github.com/asyncapi/github-action-for-generator"},"filters":{"technology":["AsyncAPI Generator"],"categories":["github-actions"],"isAsyncAPIOwner":true}}]},"Mocking and Testing":{"description":"The tools below take specification documents as input, then publish fake messages to broker destinations for simulation purposes. They may also check that publisher messages are compliant with schemas.","toolsList":[]},"Validators":{"description":"The following is a list of tools that validate AsyncAPI documents.","toolsList":[]},"Compare tools":{"description":"The following is a list of tools that compare AsyncAPI documents.","toolsList":[{"title":"AsyncAPI Diff","description":"Diff is a library that compares two AsyncAPI Documents and provides information about the differences by pointing out explicitly information like breaking changes.","links":{"repoUrl":"https://github.com/asyncapi/diff"},"filters":{"languages":["TypeScript"],"technology":["TypeScript"],"categories":["compare-tool"],"hasCommercial":false,"isAsyncAPIOwner":true}}]},"Others":{"description":"The following is a list of tools that comes under Other category.","toolsList":[{"title":"AsyncAPI CLI","description":"One CLI to rule them all. \nThis is a CLI that aims to integrate all AsyncAPI tools that you need while AsyncAPI document development and maintainance. \nYou can use it to generate docs or code, validate AsyncAPI document and event create new documents.\n","links":{"websiteUrl":"https://www.asyncapi.com/tools/cli","repoUrl":"https://github.com/asyncapi/cli"},"filters":{"technology":["TypeScript"],"categories":["others","cli"],"hasCommercial":false,"isAsyncAPIOwner":true}}]},"CLIs":{"description":"The following is a list of tools that you can work with in terminal or do some CI/CD automation.","toolsList":[{"title":"AsyncAPI CLI","description":"One CLI to rule them all. \nThis is a CLI that aims to integrate all AsyncAPI tools that you need while AsyncAPI document development and maintainance. \nYou can use it to generate docs or code, validate AsyncAPI document and event create new documents.\n","links":{"websiteUrl":"https://www.asyncapi.com/tools/cli","repoUrl":"https://github.com/asyncapi/cli"},"filters":{"technology":["TypeScript"],"categories":["others","cli"],"hasCommercial":false,"isAsyncAPIOwner":true}}]},"Bundlers":{"description":"The following is a list of tools that you can work with to bundle AsyncAPI documents.","toolsList":[{"title":"AsyncAPI Bundler","description":"Combine multiple AsyncAPI specification files into one","links":{"repoUrl":"https://github.com/asyncapi/bundler"},"filters":{"languages":["TypeScript"],"technology":["TypeScript"],"categories":["bundler"],"isAsyncAPIOwner":true}}]},"IDE Extensions":{"description":"The following is a list of extensions for different IDEs like VSCode, IntelliJ IDEA and others","toolsList":[{"title":"asyncapi-preview","description":"VSCode extension that enables you to:\n - Preview documentation generated using you AsyncAPI document. It uses AsyncAPI React component under the hood,\n - Create AsyncAPI documents faster using SmartPaste functionality\n","links":{"repoUrl":"https://github.com/asyncapi/vs-asyncapi-preview"},"filters":{"technology":["VSCode","SmartPaste"],"categories":["ide-extension"],"isAsyncAPIOwner":true}}]}} \ No newline at end of file diff --git a/config/tools-manual.json b/config/tools-manual.json index 4b7fc2e7e8d9..e442bcaa1f3e 100644 --- a/config/tools-manual.json +++ b/config/tools-manual.json @@ -73,5 +73,13 @@ "CLIs": { "description": "The following is a list of tools that you can work with in terminal or do some CI/CD automation", "toolsList": [] + }, + "Bundlers": { + "description": "The following is a list of tools that you can work with to bundle AsyncAPI documents.", + "toolsList": [] + }, + "IDE Extensions": { + "description": "The following is a list of extensions for different IDEs like VSCode, IntelliJ IDEA and others", + "toolsList": [] } } \ No newline at end of file diff --git a/config/tools.json b/config/tools.json index 6bf94c7ce9c7..b82c0c28019d 100644 --- a/config/tools.json +++ b/config/tools.json @@ -1 +1 @@ -{"Code-first tools":{"description":"The following is a list of tools that generate AsyncAPI documents from your code.","toolsList":[]},"Code Generators":{"description":"The following is a list of tools that generate code from an AsyncAPI document; not the other way around.","toolsList":[{"title":"Sample Tool","description":"Tool for testing","links":{"websiteUrl":"https://akshatnema.netlify.app","docsUrl":"","repoUrl":"https://github.com/akshatnema/Login-Registration-project"},"filters":{"language":{"name":"Javascript","color":"#F2F1C7","borderColor":"#BFBE86"},"technology":[],"categories":["code generator"],"hasCommercial":false,"isAsyncAPIOwner":false}}]},"Converters":{"description":"The following is a list of tools that do not yet belong to any specific category but are also useful for the community.","toolsList":[]},"Directories":{"description":"The following is a list of directories that index public AsyncAPI documents.","toolsList":[]},"Documentation Generators":{"description":"The following is a list of tools that generate human-readable documentation from an AsyncAPI document.","toolsList":[{"title":"asyncapi-asciidoc-template","description":"Asciidoc template for the asyncapi generator","links":{"repoUrl":"https://gitlab.com/djencks/asyncapi-asciidoc-template"},"filters":{"language":{"name":"Javascript","color":"#F2F1C7","borderColor":"#BFBE86"},"technology":[],"categories":["documentation generator"],"hasCommercial":false,"isAsyncAPIOwner":false}}]},"UI components":{"description":"The following is a list of UI components to view AsyncAPI documents.","toolsList":[]},"DSL":{"description":"Writing YAML by hand is no fun, and maybe you don't want a GUI, so use a Domain Specific Language to write AsyncAPI in your language of choice.","toolsList":[]},"Frameworks":{"description":"The following is a list of API/application frameworks that make use of AsyncAPI.","toolsList":[]},"GitHub Actions":{"description":"The following is a list of GitHub Actions that you can use in your workflows","toolsList":[]},"Mocking and Testing":{"description":"The tools below take specification documents as input, then publish fake messages to broker destinations for simulation purposes. They may also check that publisher messages are compliant with schemas.","toolsList":[]},"Validators":{"description":"The following is a list of tools that validate AsyncAPI documents.","toolsList":[]},"Compare tools":{"description":"The following is a list of tools that compare AsyncAPI documents.","toolsList":[]},"Others":{"description":"The following is a list of tools that comes under Other category","toolsList":[{"title":"AsyncAPI CLI","description":"One CLI to rule them all. \nThis is a CLI that aims to integrate all AsyncAPI tools that you need while AsyncAPI document development and maintainance. \nYou can use it to generate docs or code, validate AsyncAPI document and event create new documents.\n","links":{"websiteUrl":"https://www.asyncapi.com/tools/cli","repoUrl":"https://github.com/asyncapi/cli"},"filters":{"technology":[],"categories":["others","cli"],"hasCommercial":false,"isAsyncAPIOwner":true}}]},"CLIs":{"description":"The following is a list of tools that you can work with in terminal or do some CI/CD automation","toolsList":[{"title":"AsyncAPI CLI","description":"One CLI to rule them all. \nThis is a CLI that aims to integrate all AsyncAPI tools that you need while AsyncAPI document development and maintainance. \nYou can use it to generate docs or code, validate AsyncAPI document and event create new documents.\n","links":{"websiteUrl":"https://www.asyncapi.com/tools/cli","repoUrl":"https://github.com/asyncapi/cli"},"filters":{"technology":[],"categories":["others","cli"],"hasCommercial":false,"isAsyncAPIOwner":true}}]}} \ No newline at end of file +{"Code-first tools":{"description":"The following is a list of tools that generate AsyncAPI documents from your code.","toolsList":[]},"Code Generators":{"description":"The following is a list of tools that generate code from an AsyncAPI document; not the other way around.","toolsList":[{"title":"Sample Tool","description":"Tool for testing","links":{"websiteUrl":"https://akshatnema.netlify.app","docsUrl":"","repoUrl":"https://github.com/akshatnema/Login-Registration-project"},"filters":{"language":{"name":"Javascript","color":"#F2F1C7","borderColor":"#BFBE86"},"technology":[],"categories":["code generator"],"hasCommercial":false,"isAsyncAPIOwner":false}}]},"Converters":{"description":"The following is a list of tools that do not yet belong to any specific category but are also useful for the community.","toolsList":[]},"Directories":{"description":"The following is a list of directories that index public AsyncAPI documents.","toolsList":[]},"Documentation Generators":{"description":"The following is a list of tools that generate human-readable documentation from an AsyncAPI document.","toolsList":[{"title":"asyncapi-asciidoc-template","description":"Asciidoc template for the asyncapi generator","links":{"repoUrl":"https://gitlab.com/djencks/asyncapi-asciidoc-template"},"filters":{"language":{"name":"Javascript","color":"#F2F1C7","borderColor":"#BFBE86"},"technology":[],"categories":["documentation generator"],"hasCommercial":false,"isAsyncAPIOwner":false}}]},"UI components":{"description":"The following is a list of UI components to view AsyncAPI documents.","toolsList":[{"title":"AsyncAPI React component","description":"React component for rendering documentation from your specification in real-time in the browser. It also provides a WebComponent and bundle for Angular and Vue","links":{"repoUrl":"https://github.com/asyncapi/asyncapi-react"},"filters":{"languages":["TypeScript"],"technology":[],"categories":["ui-component"],"isAsyncAPIOwner":true}}]},"DSL":{"description":"Writing YAML by hand is no fun, and maybe you don't want a GUI, so use a Domain Specific Language to write AsyncAPI in your language of choice.","toolsList":[]},"Frameworks":{"description":"The following is a list of API/application frameworks that make use of AsyncAPI.","toolsList":[]},"GitHub Actions":{"description":"The following is a list of GitHub Actions that you can use in your workflows","toolsList":[{"title":"GitHub Action for Generator","description":"GitHub Action to generate all the things from your AsyncAPI document using the AsyncAPI generator","links":{"repoUrl":"https://github.com/asyncapi/github-action-for-generator"},"filters":{"technology":[],"categories":["github-actions"],"isAsyncAPIOwner":true}}]},"Mocking and Testing":{"description":"The tools below take specification documents as input, then publish fake messages to broker destinations for simulation purposes. They may also check that publisher messages are compliant with schemas.","toolsList":[]},"Validators":{"description":"The following is a list of tools that validate AsyncAPI documents.","toolsList":[]},"Compare tools":{"description":"The following is a list of tools that compare AsyncAPI documents.","toolsList":[{"title":"AsyncAPI Diff","description":"Diff is a library that compares two AsyncAPI Documents and provides information about the differences by pointing out explicitly information like breaking changes.","links":{"repoUrl":"https://github.com/asyncapi/diff"},"filters":{"languages":["TypeScript"],"technology":[],"categories":["compare-tool"],"hasCommercial":false,"isAsyncAPIOwner":true}}]},"Others":{"description":"The following is a list of tools that comes under Other category.","toolsList":[{"title":"AsyncAPI CLI","description":"One CLI to rule them all. \nThis is a CLI that aims to integrate all AsyncAPI tools that you need while AsyncAPI document development and maintainance. \nYou can use it to generate docs or code, validate AsyncAPI document and event create new documents.\n","links":{"websiteUrl":"https://www.asyncapi.com/tools/cli","repoUrl":"https://github.com/asyncapi/cli"},"filters":{"technology":[],"categories":["others","cli"],"hasCommercial":false,"isAsyncAPIOwner":true}}]},"CLIs":{"description":"The following is a list of tools that you can work with in terminal or do some CI/CD automation.","toolsList":[{"title":"AsyncAPI CLI","description":"One CLI to rule them all. \nThis is a CLI that aims to integrate all AsyncAPI tools that you need while AsyncAPI document development and maintainance. \nYou can use it to generate docs or code, validate AsyncAPI document and event create new documents.\n","links":{"websiteUrl":"https://www.asyncapi.com/tools/cli","repoUrl":"https://github.com/asyncapi/cli"},"filters":{"technology":[],"categories":["others","cli"],"hasCommercial":false,"isAsyncAPIOwner":true}}]},"Bundlers":{"description":"The following is a list of tools that you can work with to bundle AsyncAPI documents.","toolsList":[{"title":"AsyncAPI Bundler","description":"Combine multiple AsyncAPI specification files into one","links":{"repoUrl":"https://github.com/asyncapi/bundler"},"filters":{"languages":["TypeScript"],"technology":[],"categories":["bundler"],"isAsyncAPIOwner":true}}]},"IDE Extensions":{"description":"The following is a list of extensions for different IDEs like VSCode, IntelliJ IDEA and others","toolsList":[{"title":"asyncapi-preview","description":"VSCode extension that enables you to:\n - Preview documentation generated using you AsyncAPI document. It uses AsyncAPI React component under the hood,\n - Create AsyncAPI documents faster using SmartPaste functionality\n","links":{"repoUrl":"https://github.com/asyncapi/vs-asyncapi-preview"},"filters":{"technology":[],"categories":["ide-extension"],"isAsyncAPIOwner":true}}]}} \ No newline at end of file diff --git a/scripts/tools/categorylist.js b/scripts/tools/categorylist.js index f46a8d7cef99..b20d3b9b6237 100644 --- a/scripts/tools/categorylist.js +++ b/scripts/tools/categorylist.js @@ -62,12 +62,22 @@ const categoryList = [ { name: "Others", tag: "other", - description: "The following is a list of tools that comes under Other category" + description: "The following is a list of tools that comes under Other category." }, { name: "CLIs", tag: "cli", - description: "The following is a list of tools that you can work with in terminal or do some CI/CD automation" + description: "The following is a list of tools that you can work with in terminal or do some CI/CD automation." + }, + { + name: "Bundlers", + tag: "bundler", + description: "The following is a list of tools that you can work with to bundle AsyncAPI documents." + }, + { + name: "IDE Extensions", + tag: "ide-extension", + description: "The following is a list of extensions for different IDEs like VSCode, IntelliJ IDEA and others" } ] diff --git a/scripts/tools/tools-object.js b/scripts/tools/tools-object.js index 5b05aa735152..326dff389391 100644 --- a/scripts/tools/tools-object.js +++ b/scripts/tools/tools-object.js @@ -16,10 +16,10 @@ const options = { const fuse = new Fuse(categoryList, options) -const createToolObject = (toolFile, repositoryUrl, isAsyncAPIrepo) => { +const createToolObject = (toolFile, repositoryUrl, repoDescription, isAsyncAPIrepo) => { let resultantObject = { title: toolFile.title, - description: toolFile.description, + description: toolFile.description || repoDescription, links: { ...toolFile.links, repoUrl: repositoryUrl, @@ -62,8 +62,9 @@ async function convertTools(data) { if (isValid) { let repositoryUrl = tool.repository.html_url; + let repoDescription = tool.repository.description; let isAsyncAPIrepo = tool.repository.owner.login === "asyncapi"; - let toolObject = createToolObject(jsonToolFileContent, repositoryUrl, isAsyncAPIrepo); + let toolObject = createToolObject(jsonToolFileContent, repositoryUrl, repoDescription, isAsyncAPIrepo); jsonToolFileContent.filters.categories.forEach((category) => { const categorySearch = fuse.search(category); @@ -78,10 +79,10 @@ async function convertTools(data) { } }); } else { + console.error('Script is not failing, it is just dropping errors for further investigation'); console.error('Invalid .asyncapi-tool file.'); console.error(`Located in: ${tool.html_url}`); console.error('Validation errors:', JSON.stringify(validate.errors, null, 2)); - console.error('Not failing, dropping errors for further investigation'); } } } catch (err) { diff --git a/scripts/tools/tools-schema.json b/scripts/tools/tools-schema.json index 8e1d2956dbbf..2f392bb1552c 100644 --- a/scripts/tools/tools-schema.json +++ b/scripts/tools/tools-schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "JSON Schema for AsyncAPI tool discovery file.", "type": "object", - "required": ["title", "description", "links", "filters"], + "required": ["title", "filters"], "properties": { "title": { "type": "string", From ac42705ece01c6083397df6f1be4b68456f34a84 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Thu, 8 Dec 2022 01:26:31 +0100 Subject: [PATCH 17/19] chore: update meetings.json and newsrooom_videos.json (#1149) --- config/meetings.json | 8 +------- config/newsroom_videos.json | 12 ++++++------ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/config/meetings.json b/config/meetings.json index 4b641638c687..0637a088a01e 100644 --- a/config/meetings.json +++ b/config/meetings.json @@ -1,7 +1 @@ -[ - { - "title": "Spec 3.0 Meeting", - "url": "https://github.com/asyncapi/community/issues/531", - "date": "Wed, 07 Dec 2022 16:00:00 GMT" - } -] \ No newline at end of file +[] \ No newline at end of file diff --git a/config/newsroom_videos.json b/config/newsroom_videos.json index 9164a182356e..e3df88d9e567 100644 --- a/config/newsroom_videos.json +++ b/config/newsroom_videos.json @@ -1,4 +1,10 @@ [ + { + "image_url": "https://i.ytimg.com/vi/qgcRg5sVOKg/hqdefault.jpg", + "title": "Spec 3.0 meeting (December 7, 2022)", + "description": "https://github.com/asyncapi/community/issues/531.", + "videoId": "qgcRg5sVOKg" + }, { "image_url": "https://i.ytimg.com/vi/kn_oQiZ-ZXU/hqdefault.jpg", "title": "Let's talk about contributing - Documentation", @@ -22,11 +28,5 @@ "title": "Spec 3.0 meeting (November 23, 2022)", "description": "https://github.com/asyncapi/community/issues/518.", "videoId": "3faqDCnzlHU" - }, - { - "image_url": "https://i.ytimg.com/vi/OYi4zYXKiYw/hqdefault.jpg", - "title": "Let's talk about contributing - AsyncAPI & MQTT Part 1", - "description": "AsyncAPI & MQTT https://github.com/AceTheCreator/Virtual-houses.", - "videoId": "OYi4zYXKiYw" } ] \ No newline at end of file From 9998f68b879f12dd00e50383e1dd7ee89764a194 Mon Sep 17 00:00:00 2001 From: acethecreator Date: Thu, 8 Dec 2022 19:37:51 +0100 Subject: [PATCH 18/19] used the new md profile component --- pages/blog/hacktoberfest-2022.md | 202 ++++++++++--------------------- 1 file changed, 62 insertions(+), 140 deletions(-) diff --git a/pages/blog/hacktoberfest-2022.md b/pages/blog/hacktoberfest-2022.md index 98ef1729d3d6..832ea2bebb03 100644 --- a/pages/blog/hacktoberfest-2022.md +++ b/pages/blog/hacktoberfest-2022.md @@ -44,146 +44,68 @@ This is a huge amount of work, and we are really proud that so many wonderful pe We want to thank everyone personally who submitted improvements to our repositories. Here are the names of our heroes: - - - - - - - - - - - - - - - - - - - -
- - -
- - - Amishakumari544 - 1 PR - - -
-
- - -
- - - toukirkhan - 2 PRs - - -
-
- - -
- - - aeworxet - 2 PRs - - -
-
- - -
- - - manavdesai27 - 1 PR - - -
-
- - -
- - - Ankitchaudharyy - 3 PRs - - -
-
- - -
- - - nawed2611 - 1 PR - - -
-
- - -
- - - dhfherna - 1 PR - - -
-
- - -
- - - amit-ksh - 1 PR - - -
-
- - -
- - - mastdev - 2 PRs - - -
-
- - -
- - - codingtenshi - 4 PRs - - -
-
- - -
- - - akshatnema - 1 PR - - -
-
- - -
- - - Mayaleeeee - 4 PRs - - -
-
+ ## Late to the party? From 31e22d037a1825ac83218b32dae5e90017ec4e7d Mon Sep 17 00:00:00 2001 From: Ace <40604284+AceTheCreator@users.noreply.github.com> Date: Mon, 12 Dec 2022 13:26:24 +0100 Subject: [PATCH 19/19] Update pages/blog/hacktoberfest-2022.md Co-authored-by: Lukasz Gornicki --- pages/blog/hacktoberfest-2022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/blog/hacktoberfest-2022.md b/pages/blog/hacktoberfest-2022.md index 832ea2bebb03..4378812326ba 100644 --- a/pages/blog/hacktoberfest-2022.md +++ b/pages/blog/hacktoberfest-2022.md @@ -1,6 +1,6 @@ --- title: "Hacktoberfest was a blast!" -date: 2022-11-28T10:00:00+01:00 +date: 2022-12-13T10:00:00+01:00 type: Community tags: - Hacktoberfest