diff --git a/.github/workflows/import-community-events.yml b/.github/workflows/import-community-events.yml new file mode 100644 index 00000000000..ca0f86a0601 --- /dev/null +++ b/.github/workflows/import-community-events.yml @@ -0,0 +1,23 @@ +name: Import community events + +on: + schedule: + - cron: "0 0 * * SUN" # Runs every Sunday at midnight + workflow_dispatch: + +jobs: + create_pr: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: actions/setup-node@v3 + with: + node-version: 18 + - run: yarn install + - run: yarn events-import + env: + GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} + - uses: EndBug/add-and-commit@v9 + with: + default_author: github_actions + message: "Update community events" diff --git a/package.json b/package.json index 61ab69929d2..e162c175408 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "chromatic": "chromatic --project-token fee8e66c9916", "crowdin-clean": "rm -rf .crowdin && mkdir .crowdin", "crowdin-import": "ts-node src/scripts/crowdin-import.ts", + "events-import": "ts-node -O '{ \"module\": \"commonjs\" }' src/scripts/events-import.ts", "markdown-checker": "ts-node -O '{ \"module\": \"commonjs\" }' src/scripts/markdownChecker.ts" }, "dependencies": { diff --git a/src/components/UpcomingEventsList.tsx b/src/components/UpcomingEventsList.tsx index b310fc4b895..08a7f9e00bc 100644 --- a/src/components/UpcomingEventsList.tsx +++ b/src/components/UpcomingEventsList.tsx @@ -11,7 +11,7 @@ import InlineLink from "@/components/Link" import { trackCustomEvent } from "@/lib/utils/matomo" -import communityConferences from "@/data/community-events" +import communityEvents from "@/data/community-events.json" type OrderedUpcomingEvent = CommunityConference & { date: string @@ -37,7 +37,7 @@ const UpcomingEventsList = () => { } useEffect(() => { - const eventsList: CommunityConference[] = [...communityConferences] + const eventsList = communityEvents as CommunityConference[] const yesterday = new Date() yesterday.setDate(yesterday.getDate() - 1) diff --git a/src/data/community-events.json b/src/data/community-events.json new file mode 100644 index 00000000000..93729a23278 --- /dev/null +++ b/src/data/community-events.json @@ -0,0 +1,548 @@ +[ + { + "title": "ETH Cinco de Mayo", + "startDate": "2024-02-02", + "endDate": "2024-02-04", + "to": "https://ethcincodemayo.com/", + "location": "Cholula, Puebla", + "description": "A perfect combination of competition, workshops, networking, entrepreneurship and culture!", + "imageUrl": "https://ETHCincoDeMayo.com/assets/images/og-918.jpg" + }, + { + "title": "Circuit Breaker", + "to": "https://ethglobal.com/events/circuitbreaker", + "location": "Remote", + "description": "It's finally the time to do a dedicated event all about Zero Knowledge Proofs. Build, learn, and understand how to write ZK Circuits at Circuit Breaker and play a role in making ZK Tooling better. Join us for the month of Feb to do everything ZK.", + "startDate": "2024-2-2", + "endDate": "2024-2-21" + }, + { + "title": "ETH Lima Day", + "startDate": "2024-02-03", + "endDate": "2024-02-03", + "to": "https://ethlima.org", + "location": "Lima, PE", + "description": "In Ethereum Lima, we are united by the will to create a community that can take advantage of the opportunities of the technological revolution that comes with blockchain, and particularly with Ethereum." + }, + { + "title": "NFT Paris", + "startDate": "2024-02-23", + "endDate": "2024-02-24", + "to": "https://nftparis.xyz", + "location": "Paris, FR", + "description": "Where Finance, Gaming, Art, Fashion, Sport , Media converge to celebrate the era of digital assets." + }, + { + "title": "ETHDenver", + "startDate": "2024-02-23", + "endDate": "2024-03-03", + "to": "https://ethdenver.com", + "location": "Denver, CO, USA", + "description": "ETHDenver celebrates the convergence of blockchain, culture, and education. Located in the heart of Denver, Colorado, ETHDenver is the premiere destination for #BUIDLing the decentralized future.." + }, + { + "title": "Pragma Denver", + "to": "https://ethglobal.com/events/pragma-denver", + "location": "Denver, Colorado", + "description": "Our first IRL event of the year will be our One Day Founders Only Pragma conference in Denver just before the big weekend. We're excited to show you our new format for how we believe amazing content focused web3 summits should be executed!", + "startDate": "2024-2-28", + "endDate": "2024-2-28", + "imageUrl": "https://storage.googleapis.com/ethglobal-api-production/event%2Ff5188%2Fimages%2F1707852837903_pragma-denver-og.jpg" + }, + { + "title": "ETH Latam", + "startDate": "2024-03-13", + "endDate": "2024-03-14", + "to": "https://ethlatam.org/#/honduras", + "location": "San Pedro Sula, HN", + "description": "ETH Latam brings together the global community of creators and educators with the most vibrant crypto communities in the world, who use Ethereum protocols and technology in their daily lives, providing real solutions to real problems.", + "imageUrl": "https://raw.githubusercontent.com/ethlatam/website/master/public/twitter-card.png" + }, + { + "title": "Pragma London", + "to": "https://ethglobal.com/events/pragma-london", + "location": "London, United Kingdom", + "description": "Pragma is a one-day, single-track, in-person summit hosted by ETHGlobal. With a focus on intimacy, Pragma serves as a hub for high-quality talks and as a forum of discussion for builders and leaders from Ethereum ecosystem and beyond. Join us on Pi Day in London to catchup on all things pushing this ecosystem forward", + "startDate": "2024-3-14", + "endDate": "2024-3-14", + "imageUrl": "https://storage.googleapis.com/ethglobal-api-production/event/ujg37/images/1710175563047_pragma_london_twitter.png" + }, + { + "title": "ETHGlobal London", + "to": "https://ethglobal.com/events/london2024", + "location": "London, United Kingdom", + "description": "ETHGlobal London is going to be an event full of hacking, networking, side events and fun activities. We are excited to be back in London for our inaugural event of 2024, marking our first return since 2020.", + "startDate": "2024-3-15", + "endDate": "2024-3-17", + "imageUrl": "https://ethglobal.com/og.png" + }, + { + "title": "ETH Canal", + "startDate": "2024-03-19", + "endDate": "2024-03-21", + "to": "https://ethcanal.xyz", + "location": "Panama City, PA", + "description": "Experience three transformative where the Ethereum community gathers in Panama, to discuss blockchain innovation.", + "imageUrl": "http://static1.squarespace.com/static/655d268c638893672051146d/t/6565f31326915872624773d4/1701180179382/Color+logo+-+no+background.png?format=1500w" + }, + { + "title": "ETHVietnam", + "startDate": "2024-03-16", + "endDate": "2024-03-17", + "to": "https://www.eth-vietnam.com/", + "location": "Hanoi, Vietnam", + "description": "ETH Community in SEA to #Build, #Learn and #Share together.", + "imageUrl": "http://static1.squarespace.com/static/629856e64f44db3799f8e3f6/t/65c04e1059e3477a33a1c105/1707101732532/COVER.png?format=1500w" + }, + { + "title": "ETHTaipei", + "startDate": "2024-03-21", + "endDate": "2024-03-24", + "to": "https://ethtaipei.org", + "location": "Taipei, TW", + "description": "ETHTaipei presents an opportunity to learn about cutting-edge technology and applications about Ethereum, as well as to get involved with the local community in Taiwan.", + "imageUrl": "https://ethtaipei.org/images/ethtaipei-meta-image.jpg" + }, + { + "title": "ETHSamba", + "to": "https://www.ethsamba.org/", + "location": "Rio de Janeiro, Brazil", + "description": "Bootcamp & Hackathon for builders in sunny Rio de Janeiro with the usual ETHSamba vibes", + "startDate": "2024-03-22", + "endDate": "2024-03-24", + "imageUrl": "https://framerusercontent.com/images/8aVlGCsHbkoS0juwXpKY258ik.png" + }, + { + "title": "ETHBucharest", + "startDate": "2024-03-27", + "endDate": "2024-03-30", + "to": "https://ethbucharest.xyz", + "location": "Bucharest, ROU", + "description": "Eth Bucharest is not just an event; it's a movement empowering creativity, bold ideas, and meaningful connections in the heart of Eastern Europe.", + "imageUrl": "https://ethbucharest.xyz/images/og-image.png" + }, + { + "title": "ETH Seoul", + "startDate": "2024-03-29", + "endDate": "2024-03-31", + "to": "https://ethseoul.org", + "location": "Seoul, KR", + "description": "ETH Seoul is a 3 day hackathon that takes place from March 29-31 in Neowiz building in Pangyo, South Korea" + }, + { + "title": "DEFICON", + "startDate": "2024-03-30", + "endDate": "2024-03-30", + "to": "https://deficon.nyc", + "location": "New York, NYC, USA", + "description": "DeFiCon is a nonprofit conference with a mission to elevate the ethos of peer-to-peer crypto." + }, + { + "title": "NFT NYC", + "startDate": "2024-04-03", + "endDate": "2024-04-05", + "to": "https://nft.nyc", + "location": "NYC, USA", + "description": "7th edition of the NFT.NYC", + "imageUrl": "https://510411.fs1.hubspotusercontent-na1.net/hubfs/510411/nftnyc2021-eventbrite-header.png#keepProtocol" + }, + { + "title": "Ethereumzuri.ch 2024", + "to": "https://ethereumzuri.ch/", + "location": "Zurich, Switzerland", + "description": "Switzerland's largest Ethereum research and development-focused community conference and hackathon, with the goal of connecting academics, developers, researchers, and enthusiasts, and creating a space for collaboration and innovation.", + "startDate": "2024-04-05", + "endDate": "2024-04-07", + "imageUrl": "https://ethereumzuri.ch/Zu24_social.jpg" + }, + { + "title": "Scaling Ethereum 2024", + "to": "https://ethglobal.com/events/scaling2024", + "location": "Remote", + "description": "Join us April as we bring back our community favorite — Scaling Ethereum. Strap in for three weeks of hacking and summits devoted to pushing the envelope and building the future L2 infrastructure of our ecosystem.", + "startDate": "2024-4-5", + "endDate": "2024-4-26" + }, + { + "title": "ETHDam", + "to": "https://www.ethdam.com/", + "location": "Amsterdam, Netherlands", + "description": "Conference and hackathon gathering the best Privacy and Security builders", + "startDate": "2024-04-12", + "endDate": "2024-04-14", + "imageUrl": "https://static.wixstatic.com/media/9830df_811f95405189407a8d9a2a7a5a7715f6~mv2.png/v1/fill/w_1250,h_656,al_c/9830df_811f95405189407a8d9a2a7a5a7715f6~mv2.png" + }, + { + "title": "Web3FC³", + "to": "https://www.web3fc.xyz/", + "location": "Barcelona, Spain", + "description": "A chain-agnostic conference for the grassroots community. An event by Web3 Family, running in-person meetups and conference in Barcelona.", + "startDate": "2024-04-17", + "endDate": "2024-04-19" + }, + { + "title": "TOKEN2049", + "startDate": "2024-04-18", + "endDate": "2024-04-19", + "to": "https://token2049.com", + "location": "Dubai, UAE", + "description": "TOKEN2049 is organized annually in Dubai and Singapore, where founders and executives in the web3 industry share their view on the industry", + "imageUrl": "https://static.wixstatic.com/media/df5f7a_8ec2fa25938e484a8cc2dc11ef6ed2f7~mv2.png/v1/fill/w_2500,h_1352,al_c/df5f7a_8ec2fa25938e484a8cc2dc11ef6ed2f7~mv2.png" + }, + { + "title": "ETHTallinn", + "startDate": "2024-04-19", + "endDate": "2024-04-21", + "to": "https://ethtallinn.org/", + "location": "Tallinn, EST", + "description": "ETHTallinn is an Ethereum community focused on pushing technologies to new limits within the DeFi, NFT, and web3 industry" + }, + { + "title": "ETHDubai", + "startDate": "2024-04-19", + "endDate": "2024-04-21", + "to": "https://www.ethdubaiconf.org/", + "location": "Dubai, UAE", + "description": "The Ethereum dev conference and hackathon in Dubai on everything DeFi, privacy, EVM scaling, layers 2, Account Abstraction and more with a focus on decentralization and community projects. We also organize a Demo Pitch Day with VCs.", + "imageUrl": "https://www.ethdubaiconf.org/twitter-card2.jpg" + }, + { + "title": "Pragma Sydney", + "to": "https://ethglobal.com/events/pragma-sydney", + "location": "Sydney, Australia", + "description": "Pragma is a one-day, single-track, in-person summit hosted by ETHGlobal. With a focus on intimacy, Pragma serves as a hub for high-quality talks and as a forum of discussion for builders and leaders from Ethereum ecosystem and beyond. Join us at our first event in Oceania and meet incredible founders helping shape this ecosystem.", + "startDate": "2024-5-2", + "endDate": "2024-5-2", + "imageUrl": "https://og.ethglobal.com/api/generic?text=Pragma%20Sydney" + }, + { + "title": "ETHGlobal Sydney", + "to": "https://ethglobal.com/events/sydney", + "location": "Sydney, Australia", + "description": "ETHGlobal Sydney is going to be an event full of hacking, networking, side events and fun activities. This will be our inaugural event on the continent of Oceania-completing the global in ETHGlobal as the sixth and final continent in our world tour.", + "startDate": "2024-5-3", + "endDate": "2024-5-5", + "imageUrl": "https://ethglobal.com/og.png" + }, + { + "title": "ETH Rio", + "startDate": "2024-05-13", + "endDate": "2024-05-15", + "to": "https://www.ethereumbrasil.com/", + "location": "Rio de Janeiro, Brazil", + "description": "3rd Edition of ETH Rio. ETH Rio 2024 will bring regulators, builders and businesses to discuss the future of the Brazilian Tokenized Economy based on EVM." + }, + { + "title": "DappConn", + "startDate": "2024-05-21", + "endDate": "2024-05-23", + "to": "https://www.dappcon.io/", + "location": "Berlin, Germany", + "description": "A 3-day Developer Conference for Ethereum Infrastructure and dApps that would bring together over 900 builders together, hosted by Gnosis since 2018." + }, + { + "title": "ETHBerlin04", + "to": "https://www.ethberlin.org", + "location": "Berlin, Germany", + "description": "ETHBerlin is a hackathon, a cultural festival, an educational event, a platform for hacktivism, and a community initiative to push the decentralized ecosystem forward.", + "startDate": "2024-05-24", + "endDate": "2024-05-26" + }, + { + "title": "BlockSplit", + "startDate": "2024-05-27", + "endDate": "2024-05-30", + "to": "https://blocksplit.net", + "location": "Split, Croatia", + "description": "Web3 Conference in the heart of the Mediterranean." + }, + { + "title": "Non Fungible Conference", + "startDate": "2024-05-28", + "endDate": "2024-05-30", + "to": "https://nonfungibleconference.com/", + "location": "Lisbon, PRT", + "description": "NFC is an experimental Web3 event that brings the global NFT community together" + }, + { + "title": "Consensus2024", + "startDate": "2024-05-29", + "endDate": "2024-05-31", + "to": "https://coindesk.com/consensus/", + "location": "Austin, TX, USA", + "description": "Consensus 2024 is your chance to be a part of important conversation in crypto and Web3.", + "imageUrl": "https://consensus2024.coindesk.com/site/consensus2024/images/userfiles/site-defaults/C23_DRD_Metadata_1200x600_default.png" + }, + { + "title": "ETHPrague", + "startDate": "2024-05-31", + "endDate": "2024-06-02", + "to": "https://ethprague.com", + "location": "Prague, CZ", + "description": "An event focused on the future of Ethereum and potential concepts or applications that don't yet exist", + "imageUrl": "https://ethprague.com/ETHPrague_soc_share-2024.jpg" + }, + { + "title": "ETHDublin", + "startDate": "2024-05-31", + "endDate": "2024-06-02", + "to": "https://ethdublin.io", + "location": "Dublin, IRL", + "description": "ETHDublin brings together like-minded investors, builders and designers from all over the world to solve industry problems, harnessing the power of Web3", + "imageUrl": "https://i.ibb.co/G9N8QGP/banner.png" + }, + { + "title": "ETH Belgrade", + "to": "https://ethbelgrade.rs/", + "location": "Belgrade, Serbia", + "description": "ETH Belgrade is a playground for exploring Ethereum possibilities. As part of Belgrade Blockchain Week, this three-day conference gathers extraordinary minds and Ethereum enthusiasts to share knowledge and spark ideas that will ignite the whole ecosystem.", + "startDate": "2024-06-03", + "endDate": "2024-06-05", + "imageUrl": "https://ethbelgrade.rs/eth-blegrade-og2.jpg" + }, + { + "title": "Belgrade Blockchain Week", + "startDate": "2024-06-01", + "endDate": "2024-06-09", + "to": "https://belgradeblockchainweek.com/", + "location": "Belgrade, SRB", + "description": "Belgrade Blockchain Week is a week-long in-person gathering of the greatest Web3 minds and professionals. It features independent events organized by top-tier companies and communities throughout the week.", + "imageUrl": "https://belgradeblockchainweek.com/bgbw-og-image.jpg" + }, + { + "title": "ETHKyiv", + "startDate": "2024-06-01", + "endDate": "2024-06-01", + "to": "https://ethkyiv.org", + "location": "Kyiv, UKR", + "description": "Through Hackathon, Conference, side events, discussions, collaborations, and vast networking, we aim to further establish Kyiv as an innovation and infrastructure development leader", + "imageUrl": "http://static1.squarespace.com/static/644799dcb1397a180a8c2d81/t/644a43c95c041a7353d4c070/1682588617556/Group+120.png?format=1500w" + }, + { + "title": "EthCC", + "to": "https://ethcc.io", + "location": "Brussels, Belgium", + "description": "The Ethereum Community Conference (EthCC) is the largest annual European Ethereum event focused on technology and community. Four intense days of conferences, networking and learning.", + "startDate": "2024-7-08", + "endDate": "2024-7-11" + }, + { + "title": "Pragma Brussels", + "to": "https://ethglobal.com/events/pragma-brussels", + "location": "Brussels, Belgium", + "description": "Pragma is a one-day, single-track, in-person summit hosted by ETHGlobal. With a focus on intimacy, Pragma serves as a hub for high-quality talks and as a forum of discussion for builders and leaders from Ethereum ecosystem and beyond.", + "startDate": "2024-7-11", + "endDate": "2024-7-11", + "imageUrl": "https://og.ethglobal.com/api/generic?text=Pragma%20Brussels" + }, + { + "title": "ETHGlobal Brussels", + "to": "https://ethglobal.com/events/brussels", + "location": "Brussels, Belgium", + "description": "ETHGlobal Brussels is going to be an event full of hacking, networking, side events and fun activities. This marks our first event in Belgium and our 3rd hackathon alongside EthCC.", + "startDate": "2024-7-12", + "endDate": "2024-7-14", + "imageUrl": "https://ethglobal.com/og.png" + }, + { + "title": "EDCON", + "startDate": "2024-07-26", + "endDate": "2024-07-30", + "to": "https://edcon.io/", + "location": "Tokyo, JPN", + "description": "EDCON is committed to serving the Ethereum ecosystem by boosting communication and engagement between Ethereum communities worldwide" + }, + { + "title": "ETHOnline 2024", + "to": "https://ethglobal.com/events/ethonline2024", + "location": "Remote", + "description": "Our community favorite and flagship event is back once again. Join thousands of developers and creatives online next August for ETHOnline 2024!", + "startDate": "2024-8-23", + "endDate": "2024-9-13" + }, + { + "title": "Web3 Lagos Conference", + "startDate": "2024-09-05", + "endDate": "2024-09-07", + "to": "https://event.web3bridge.com/", + "location": "Lagos, NGA", + "description": "This conference will bring together Web3 enthusiasts from all over Nigeria and beyond. Here, community meets technology for three days of intensive Networking and Learning experiences." + }, + { + "title": "ETHSafari", + "startDate": "2024-09-09", + "endDate": "2024-09-15", + "to": "https://ethsafari.xyz/", + "location": "Nairobi & Kilifi, Kenya", + "description": "Welcome to the largest Ethereum event happening in Africa! Join the BlockTrain from Nairobi to celebrate an ETH-festival held underneath ancient Boabab trees in Kilifi." + }, + { + "title": "TOKEN2049", + "startDate": "2024-09-18", + "endDate": "2024-09-19", + "to": "https://token2049.com", + "location": "Singapore, SG", + "description": "TOKEN2049 is organized annually in Dubai and Singapore, where founders and executives in the web3 industry share their view on the industry" + }, + { + "title": "ETHGlobal Singapore", + "to": "https://ethglobal.com/events/singapore2024", + "location": "Singapore, Singapore", + "description": "ETHGlobal Singapore is going to be an event full of hacking, networking, side events and fun activities. We cannot wait to at long last return to Singapore. Since our last ETHSingapore in 2018, so much has changed.", + "startDate": "2024-9-20", + "endDate": "2024-9-22", + "imageUrl": "https://ethglobal.com/og.png" + }, + { + "title": "Pragma San Francisco", + "to": "https://ethglobal.com/events/pragma-sanfrancisco", + "location": "San Francisco, California", + "description": "Pragma is a single-track, in-person summit hosted by ETHGlobal. With a focus on intimacy, Pragma serves as a hub for high-quality talks and as a forum of discussion for builders and leaders from Ethereum ecosystem and beyond. For the first time, we’re excited to introduce a multi-day format to cover an even wider range for all things happening in web3", + "startDate": "2024-10-15", + "endDate": "2024-10-17", + "imageUrl": "https://og.ethglobal.com/api/generic?text=Pragma%20San%20Francisco" + }, + { + "title": "ETHSofia", + "to": "https://ethsofia.com", + "location": "Sofia, Bulgaria", + "description": "ETHSofia is a 3-day conference and hackathon event that brings together the Ethereum community in Bulgaria and beyond. It is a place for developers, researchers, and enthusiasts to come together and share knowledge and ideas.", + "startDate": "2024-10-17", + "endDate": "2024-10-19", + "imageUrl": "https://framerusercontent.com/images/OHGIdIaZVjWGAwpmJhN1z6Yuh5g.png" + }, + { + "title": "ETHGlobal San Francisco", + "to": "https://ethglobal.com/events/sanfrancisco2024", + "location": "San Francisco, California", + "description": "ETHGlobal Singapore is going to be an event full of hacking, networking, side events and fun activities. In our third iteration of ETHGlobal San Francisco, we're going bigger than ever.", + "startDate": "2024-10-18", + "endDate": "2024-10-20", + "imageUrl": "https://ethglobal.com/og.png" + }, + { + "title": "Devcon 7 - Southeast Asia", + "to": "https://devcon.org/", + "location": "Bangkok, Thailand", + "description": "Discover Ethereum and its community at Devcon, the conference for developers, thinkers, and makers and a place for learning, knowledge sharing, and fun.", + "startDate": "2024-11-12", + "endDate": "2024-11-15", + "imageUrl": "https://www.devcon.org/assets/images/dc7-og.png" + }, + { + "title": "ETHGlobal Devcon 2024", + "to": "https://ethglobal.com/events/devcon2024", + "location": "TBD", + "description": "Whenever Devcon happens, we'll be running a large hackathon right alongside it. Don't miss the biggest web3 developer meetup of the year in South East Asia.", + "startDate": "TBD", + "endDate": "TBD" + }, + { + "title": "ETHArgentina", + "startDate": "2024-03-01", + "endDate": "2024-03-02", + "to": "https://ethereumargentina.org/en", + "location": "Mendoza, ARG", + "description": "We are the annual meeting point to promote the use of Ethereum technology, foster technological innovation and facilitate discussion of successful use cases.", + "imageUrl": "https://landing-ethereum-argentina-g418ghtf9.vercel.app/images/opengraph-image-en.png" + }, + { + "title": "ETHVolcano", + "startDate": "2024-03-09", + "endDate": "2024-03-09", + "to": "https://ethsalvador.org", + "location": "San Salvador, SLV", + "description": "", + "imageUrl": "" + }, + { + "title": "ETHMumbai", + "startDate": "2024-03-29", + "endDate": "2024-03-31", + "to": "https://ethmumbai.in", + "location": "Mumbai, IND", + "description": "First ever Ethereum Hackathon in Mumbai. Build from Mumbai, for the world. 29-31 March 2024.", + "imageUrl": "" + }, + { + "title": "ETH Gathering", + "startDate": "2024-04-25", + "endDate": "2024-04-26", + "to": "https://ethgathering.com", + "location": "Barcelona, SPA", + "description": "ETH Gathering Barcelona 2024", + "imageUrl": "" + }, + { + "title": "ETHBratislava", + "startDate": "2024-05-10", + "endDate": "2024-05-11", + "to": "https://ethbratislava.com/", + "location": "Bratislava, Slovakia", + "description": "Join the 1st #ETH hackathon & conference in Bratislava empowering local communities & sustainability on Ethereum. Follow us for more updates 🔜", + "imageUrl": "https://framerusercontent.com/images/wx8uSNTYpgWtsrSN5A2dkD0F4.png" + }, + { + "title": "ETHTokyo", + "startDate": "2024-08-23", + "endDate": "2024-08-26", + "to": "https://ethtokyo.com", + "location": "Tokyo, JPN", + "description": "ETHTokyo 2024 is a Ethereum hackathon & conference organized by Japanese Ethereum enthusiasts.", + "imageUrl": "https://www.ethtokyo.com/images/thumbnail.jpg" + }, + { + "title": "ETHAccra", + "startDate": "2024-08-29", + "endDate": "2024-08-31", + "to": "https://ETHAccra.xyz", + "location": "Accra, Ghana", + "description": "", + "imageUrl": "http://pnl.fvr.mybluehost.me/wp-content/uploads/2024/03/eth_new_one-scaled-e1709730770140.jpg" + }, + { + "title": "ETHWarsaw", + "startDate": "2024-09-04", + "endDate": "2024-09-08", + "to": "https://ethwarsaw.dev", + "location": "Warsaw, POL", + "description": "EthWarsaw 2024", + "imageUrl": "" + }, + { + "title": "NapulETH", + "startDate": "2024-09-12", + "endDate": "2024-09-14", + "to": "https://napul.eth.limo", + "location": "Napoli, Italy", + "description": "The Biggest ETH Event in Southern Italy", + "imageUrl": "" + }, + { + "title": "ETHRome Hackathon", + "startDate": "2024-10-04", + "endDate": "2024-10-06", + "to": "https://ethrome.org", + "location": "Rome, ITA", + "description": "The 1st International Web3 Hackathon in Italy focusing on Governance and Privacy-preserving technologies.", + "imageUrl": "https://ethrome.org/social-img01.png" + }, + { + "title": "Permissionless III", + "startDate": "2024-10-09", + "endDate": "2024-10-11", + "to": "https://blockworks.co/event/permissionless-iii", + "location": "Salt Lake City, Utah, US", + "description": "Pack your bags, anon — we're heading west! Join us in the beautiful Salt Lake City for the third installment of Permissionless. Come for the alpha, stay for the fresh air. Permissionless III promises unforgettable panels, killer networking opportunities, and mountains of fun!", + "imageUrl": "https://blockworks.co/_next/image?url=https://blockworks-co.imgix.net/wp-content/uploads/2023/11/PMLS_Website_Banner_20240226a-1.png&w=1920&q=75&webp=false" + }, + { + "title": "ETHGlobal Bangkok", + "startDate": "2024-11-15", + "endDate": "2024-11-17", + "to": "https://ethglobal.com/events/bangkok", + "location": "South East Asia", + "description": "Bringing developers onchain to build the future of the internet.", + "imageUrl": "https://ethglobal.com/og.png" + } +] diff --git a/src/data/community-events.ts b/src/data/community-events.ts deleted file mode 100644 index 354f949cf82..00000000000 --- a/src/data/community-events.ts +++ /dev/null @@ -1,390 +0,0 @@ -import { CommunityConference } from "@/lib/types" - -const communityConferences: CommunityConference[] = [ - { - title: "ETH Canal", - startDate: "2024-03-19", - endDate: "2024-03-21", - to: "https://ethcanal.xyz", - location: "Panama City, PA", - description: - "Experience three transformative where the Ethereum community gathers in Panama, to discuss blockchain innovation.", - }, - { - title: "ETHTaipei", - startDate: "2024-03-21", - endDate: "2024-03-24", - to: "https://ethtaipei.org", - location: "Taipei, TW", - description: - "ETHTaipei presents an opportunity to learn about cutting-edge technology and applications about Ethereum, as well as to get involved with the local community in Taiwan.", - }, - { - title: "ETHSamba", - to: "https://www.ethsamba.org/", - location: "Rio de Janeiro, Brazil", - description: - "Bootcamp & Hackathon for builders in sunny Rio de Janeiro with the usual ETHSamba vibes", - startDate: "2024-03-22", - endDate: "2024-03-24", - }, - { - title: "ETHBucharest", - startDate: "2024-03-27", - endDate: "2024-03-30", - to: "https://ethbucharest.xyz", - location: "Bucharest, ROU", - description: - "Eth Bucharest is not just an event; it’s a movement empowering creativity, bold ideas, and meaningful connections in the heart of Eastern Europe.", - }, - { - title: "ETH Seoul", - startDate: "2024-03-29", - endDate: "2024-03-31", - to: "https://ethseoul.org", - location: "Seoul, KR", - description: - "ETH Seoul is a 3 day hackathon that takes place from March 29-31 in Neowiz building in Pangyo, South Korea", - }, - { - title: "DEFICON", - startDate: "2024-03-30", - endDate: "2024-03-30", - to: "https://deficon.nyc", - location: "New York, NYC, USA", - description: - "DeFiCon is a nonprofit conference with a mission to elevate the ethos of peer-to-peer crypto.", - }, - { - title: "NFT NYC", - startDate: "2024-04-03", - endDate: "2024-04-05", - to: "https://nft.nyc", - location: "NYC, USA", - description: "7th edition of the NFT.NYC", - }, - { - title: "Ethereumzuri.ch 2024", - to: "https://ethereumzuri.ch/", - location: "Zurich, Switzerland", - description: - "Switzerland's largest Ethereum research and development-focused community conference and hackathon, with the goal of connecting academics, developers, researchers, and enthusiasts, and creating a space for collaboration and innovation.", - startDate: "2024-04-05", - endDate: "2024-04-07", - }, - { - title: "Scaling Ethereum 2024", - to: "https://ethglobal.com/events/scaling2024", - location: "Remote", - description: - "Join us April as we bring back our community favorite — Scaling Ethereum. Strap in for three weeks of hacking and summits devoted to pushing the envelope and building the future L2 infrastructure of our ecosystem.", - startDate: "2024-4-5", - endDate: "2024-4-26", - }, - { - title: "ETHDam", - to: "https://www.ethdam.com/", - location: "Amsterdam, Netherlands", - description: - "Conference and hackathon gathering the best Privacy and Security builders", - startDate: "2024-04-12", - endDate: "2024-04-14", - }, - { - title: "Web3FC³", - to: "https://www.web3fc.xyz/", - location: "Barcelona, Spain", - description: - "A chain-agnostic conference for the grassroots community. An event by Web3 Family, running in-person meetups and conference in Barcelona.", - startDate: "2024-04-17", - endDate: "2024-04-19", - }, - { - title: "TOKEN2049", - startDate: "2024-04-18", - endDate: "2024-04-19", - to: "https://token2049.com", - location: "Dubai, UAE", - description: - "TOKEN2049 is organized annually in Dubai and Singapore, where founders and executives in the web3 industry share their view on the industry", - }, - { - title: "ETHTallinn", - startDate: "2024-04-19", - endDate: "2024-04-21", - to: "https://ethtallinn.org/", - location: "Tallinn, EST", - description: - "ETHTallinn is an Ethereum community focused on pushing technologies to new limits within the DeFi, NFT, and web3 industry", - }, - { - title: "ETHDubai", - startDate: "2024-04-19", - endDate: "2024-04-21", - to: "https://www.ethdubaiconf.org/", - location: "Dubai, UAE", - description: - "The Ethereum dev conference and hackathon in Dubai on everything DeFi, privacy, EVM scaling, layers 2, Account Abstraction and more with a focus on decentralization and community projects. We also organize a Demo Pitch Day with VCs.", - }, - { - title: "Pragma Sydney", - to: "https://ethglobal.com/events/pragma-sydney", - location: "Sydney, Australia", - description: - "Pragma is a one-day, single-track, in-person summit hosted by ETHGlobal. With a focus on intimacy, Pragma serves as a hub for high-quality talks and as a forum of discussion for builders and leaders from Ethereum ecosystem and beyond. Join us at our first event in Oceania and meet incredible founders helping shape this ecosystem.", - startDate: "2024-5-2", - endDate: "2024-5-2", - }, - { - title: "ETHGlobal Sydney", - to: "https://ethglobal.com/events/sydney", - location: "Sydney, Australia", - description: - "ETHGlobal Sydney is going to be an event full of hacking, networking, side events and fun activities. This will be our inaugural event on the continent of Oceania-completing the global in ETHGlobal as the sixth and final continent in our world tour.", - startDate: "2024-5-3", - endDate: "2024-5-5", - }, - { - title: "ETH Rio", - startDate: "2024-05-13", - endDate: "2024-05-15", - to: "https://www.ethereumbrasil.com/", - location: "Rio de Janeiro, Brazil", - description: - "3rd Edition of ETH Rio. ETH Rio 2024 will bring regulators, builders and businesses to discuss the future of the Brazilian Tokenized Economy based on EVM.", - }, - { - title: "DappConn", - startDate: "2024-05-21", - endDate: "2024-05-23", - to: "https://www.dappcon.io/", - location: "Berlin, Germany", - description: - "A 3-day Developer Conference for Ethereum Infrastructure and dApps that would bring together over 900 builders together, hosted by Gnosis since 2018.", - }, - { - title: "ETHBerlin04", - to: "https://www.ethberlin.org", - location: "Berlin, Germany", - description: - "ETHBerlin is a hackathon, a cultural festival, an educational event, a platform for hacktivism, and a community initiative to push the decentralized ecosystem forward.", - startDate: "2024-05-24", - endDate: "2024-05-26", - }, - { - title: "BlockSplit", - startDate: "2024-05-27", - endDate: "2024-05-30", - to: "https://blocksplit.net", - location: "Split, Croatia", - description: "Web3 Conference in the heart of the Mediterranean.", - }, - { - title: "Non Fungible Conference", - startDate: "2024-05-28", - endDate: "2024-05-30", - to: "https://nonfungibleconference.com/", - location: "Lisbon, PRT", - description: - "NFC is an experimental Web3 event that brings the global NFT community together", - }, - { - title: "Consensus2024", - startDate: "2024-05-29", - endDate: "2024-05-31", - to: "https://coindesk.com/consensus/", - location: "Austin, TX, USA", - description: - "Consensus 2024 is your chance to be a part of important conversation in crypto and Web3.", - }, - { - title: "ETHPrague", - startDate: "2024-05-31", - endDate: "2024-06-02", - to: "https://ethprague.com", - location: "Prague, CZ", - description: - "An event focused on the future of Ethereum and potential concepts or applications that don't yet exist", - }, - { - title: "ETHDublin", - startDate: "2024-05-31", - endDate: "2024-06-02", - to: "https://ethdublin.io", - location: "Dublin, IRL", - description: - "ETHDublin brings together like-minded investors, builders and designers from all over the world to solve industry problems, harnessing the power of Web3", - }, - { - title: "ETH Belgrade", - to: "https://ethbelgrade.rs/", - location: "Belgrade, Serbia", - description: - "ETH Belgrade is a playground for exploring Ethereum possibilities. As part of Belgrade Blockchain Week, this three-day conference gathers extraordinary minds and Ethereum enthusiasts to share knowledge and spark ideas that will ignite the whole ecosystem.", - startDate: "2024-06-03", - endDate: "2024-06-05", - }, - { - title: "Belgrade Blockchain Week", - startDate: "2024-06-01", - endDate: "2024-06-09", - to: "https://belgradeblockchainweek.com/", - location: "Belgrade, SRB", - description: - "Belgrade Blockchain Week is a week-long in-person gathering of the greatest Web3 minds and professionals. It features independent events organized by top-tier companies and communities throughout the week.", - }, - { - title: "ETHKyiv", - startDate: "2024-06-01", - endDate: "2024-06-01", - to: "https://ethkyiv.org", - location: "Kyiv, UKR", - description: - "Through Hackathon, Conference, side events, discussions, collaborations, and vast networking, we aim to further establish Kyiv as an innovation and infrastructure development leader", - }, - { - title: "EthCC", - to: "https://ethcc.io", - location: "Brussels, Belgium", - description: - "The Ethereum Community Conference (EthCC) is the largest annual European Ethereum event focused on technology and community. Four intense days of conferences, networking and learning.", - startDate: "2024-7-08", - endDate: "2024-7-11", - }, - { - title: "Pragma Brussels", - to: "https://ethglobal.com/events/pragma-brussels", - location: "Brussels, Belgium", - description: - "Pragma is a one-day, single-track, in-person summit hosted by ETHGlobal. With a focus on intimacy, Pragma serves as a hub for high-quality talks and as a forum of discussion for builders and leaders from Ethereum ecosystem and beyond.", - startDate: "2024-7-11", - endDate: "2024-7-11", - }, - { - title: "ETHGlobal Brussels", - to: "https://ethglobal.com/events/brussels", - location: "Brussels, Belgium", - description: - "ETHGlobal Brussels is going to be an event full of hacking, networking, side events and fun activities. This marks our first event in Belgium and our 3rd hackathon alongside EthCC.", - startDate: "2024-7-12", - endDate: "2024-7-14", - }, - { - title: "EDCON", - startDate: "2024-07-26", - endDate: "2024-07-30", - to: "https://edcon.io/", - location: "Tokyo, JPN", - description: - "EDCON is committed to serving the Ethereum ecosystem by boosting communication and engagement between Ethereum communities worldwide", - }, - { - title: "ETHOnline 2024", - to: "https://ethglobal.com/events/ethonline2024", - location: "Remote", - description: - "Our community favorite and flagship event is back once again. Join thousands of developers and creatives online next August for ETHOnline 2024!", - startDate: "2024-8-23", - endDate: "2024-9-13", - }, - { - title: "Web3 Lagos Conference", - startDate: "2024-09-05", - endDate: "2024-09-07", - to: "https://event.web3bridge.com/", - location: "Lagos, NGA", - description: - "This conference will bring together Web3 enthusiasts from all over Nigeria and beyond. Here, community meets technology for three days of intensive Networking and Learning experiences.", - }, - { - title: "ETHSafari", - startDate: "2024-09-09", - endDate: "2024-09-15", - to: "https://ethsafari.xyz/", - location: "Nairobi & Kilifi, Kenya", - description: - "Welcome to the largest Ethereum event happening in Africa! Join the BlockTrain from Nairobi to celebrate an ETH-festival held underneath ancient Boabab trees in Kilifi.", - }, - { - title: "TOKEN2049", - startDate: "2024-09-18", - endDate: "2024-09-19", - to: "https://token2049.com", - location: "Singapore, SG", - description: - "TOKEN2049 is organized annually in Dubai and Singapore, where founders and executives in the web3 industry share their view on the industry", - }, - { - title: "ETHGlobal Singapore", - to: "https://ethglobal.com/events/singapore2024", - location: "Singapore, Singapore", - description: - "ETHGlobal Singapore is going to be an event full of hacking, networking, side events and fun activities. We cannot wait to at long last return to Singapore. Since our last ETHSingapore in 2018, so much has changed.", - startDate: "2024-9-20", - endDate: "2024-9-22", - }, - { - title: "Pragma San Francisco", - to: "https://ethglobal.com/events/pragma-sanfrancisco", - location: "San Francisco, California", - description: - "Pragma is a single-track, in-person summit hosted by ETHGlobal. With a focus on intimacy, Pragma serves as a hub for high-quality talks and as a forum of discussion for builders and leaders from Ethereum ecosystem and beyond. For the first time, we’re excited to introduce a multi-day format to cover an even wider range for all things happening in web3", - startDate: "2024-10-15", - endDate: "2024-10-17", - }, - { - title: "ETHSofia", - to: "https://ethsofia.com", - location: "Sofia, Bulgaria", - description: - "ETHSofia is a 3-day conference and hackathon event that brings together the Ethereum community in Bulgaria and beyond. It is a place for developers, researchers, and enthusiasts to come together and share knowledge and ideas.", - startDate: "2024-10-17", - endDate: "2024-10-19", - }, - { - title: "ETHGlobal San Francisco", - to: "https://ethglobal.com/events/sanfrancisco2024", - location: "San Francisco, California", - description: - "ETHGlobal Singapore is going to be an event full of hacking, networking, side events and fun activities. In our third iteration of ETHGlobal San Francisco, we're going bigger than ever.", - startDate: "2024-10-18", - endDate: "2024-10-20", - }, - { - title: "Devcon 7 - Southeast Asia", - to: "https://devcon.org/", - location: "Bangkok, Thailand", - description: - "Discover Ethereum and its community at Devcon, the conference for developers, thinkers, and makers and a place for learning, knowledge sharing, and fun.", - startDate: "2024-11-12", - endDate: "2024-11-15", - }, - { - title: "ETHGlobal Devcon 2024", - to: "https://ethglobal.com/events/devcon2024", - location: "TBD", - description: - "Whenever Devcon happens, we’ll be running a large hackathon right alongside it. Don’t miss the biggest web3 developer meetup of the year in South East Asia.", - startDate: "TBD", - endDate: "TBD", - }, - { - title: "ETHBratislava", - to: "http://www.ethbratislava.com/", - location: "Bratislava, Slovakia", - description: - "With this pioneering event in Slovakia we are finally uniting a passionate community engaged in the Ethereum ecosystem's economics, governance, and technology.", - startDate: "2024-05-10", - endDate: "2024-05-11", - }, - { - title: "NapulETH Open Village", - to: "https://napul.eth.limo", - location: "Naples, Italy", - description: "The Biggest ETH Event in Southern Italy", - startDate: "2024-09-12", - endDate: "2024-09-14", - }, -] - -export default communityConferences diff --git a/src/lib/types.ts b/src/lib/types.ts index fba82e7ae65..eaa3e932f79 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -493,6 +493,7 @@ export type CommunityConference = { description: string startDate: string endDate: string + imageUrl: string } // Wallets diff --git a/src/scripts/events-import.ts b/src/scripts/events-import.ts new file mode 100644 index 00000000000..05cb09aa358 --- /dev/null +++ b/src/scripts/events-import.ts @@ -0,0 +1,57 @@ +import fs from "fs" +import path from "path" + +import { CommunityConference } from "@/lib/types" + +import localEvents from "../data/community-events.json" + +import { EthereumEventsImport } from "./events/ethereum-events-import" + +import "dotenv/config" + +;(async () => { + const communityEvents = localEvents as CommunityConference[] + + console.log("Community Events Import..") + const ethereumEvents = await EthereumEventsImport() + // Can add multiple event sources here in the future + + ethereumEvents.forEach((imported) => { + const id = communityEvents.findIndex((local) => + tryMatchEvent(imported, local) + ) + if (id > -1) { + const local = communityEvents[id] + if (imported.imageUrl && !local.imageUrl) + local.imageUrl = imported.imageUrl + if (imported.description && !local.description) + local.description = imported.description + } else { + communityEvents.push(imported) + } + }) + + // Write to Events.json + const eventsPath = path.join(__dirname, "..", "data/community-events.json") + fs.writeFileSync(eventsPath, JSON.stringify(communityEvents, null, 2)) +})() + +function tryMatchEvent( + imported: CommunityConference, + local: CommunityConference +) { + if (imported.title.toLocaleLowerCase() === local.title.toLocaleLowerCase()) + return true + + if ( + URL.canParse(imported.to) && + URL.canParse(local.to) && + new URL(imported.to).hostname.replace("www.", "") === + new URL(local.to).hostname.replace("www.", "") && + new URL(imported.to).pathname === new URL(local.to).pathname + ) { + return true + } + + return false +} diff --git a/src/scripts/events/ethereum-events-import.ts b/src/scripts/events/ethereum-events-import.ts new file mode 100644 index 00000000000..47d18f93a98 --- /dev/null +++ b/src/scripts/events/ethereum-events-import.ts @@ -0,0 +1,104 @@ +import { CommunityConference } from "@/lib/types" + +import "dotenv/config" + +async function getPageMetadata(url: string): Promise> { + try { + const metaTags: Record = {} + const text = await fetch(url).then((r) => r.text()) + + const description = text.match( + /|/i + ) + if (description && Array.from(description).length > 2) + metaTags["description"] = Array.from(description)[1] + + const tags = text.matchAll( + /