Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Ignore artifacts
scripts/*
public/open-source-projects/issues/*
public/learn/*

# Ignore markdown files
*.md
Expand Down
42 changes: 42 additions & 0 deletions app/(explore)/contribute/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
"use client"

import React from "react"
import AsideGoTO from "@/components/aside-go-to"
import CardContainers from "@/components/brand/CardContainers"
import { useCurriculum } from "@/context/FilterContext"

const ContributePage = () => {
const { filteredCurriculum: allCurriculum } = useCurriculum()

return (
<div className="w-full text-brand-dark flex flex-col lg:flex-row lg:gap-[90px]">
<div className="gap-5 lg:hidden">
<h2 className="text-[2rem] lg:text-[3.5rem] font-extrabold font-montserrat leading">
CONTRIBUTE
</h2>
<p className="text-[1.125rem] lg:text-xl font-quicksand">
Find ways to make your first contributions to ₿OSS.
</p>
</div>
<div className="w-full lg:w-[300px] flex flex-col gap-6">
<AsideGoTO
selected="contribute"
allCurriculum={allCurriculum}
/>
</div>
<div className="flex flex-col gap-8">
<div className="gap-5 hidden lg:flex lg:flex-col">
<h2 className="text-[2rem] lg:text-[3.5rem] font-extrabold font-montserrat leading">
CONTRIBUTE
</h2>
<p className="text-[1.125rem] lg:text-xl font-quicksand">
Find ways to make your first contributions to ₿OSS.
</p>
</div>
<CardContainers allCurriculum={allCurriculum} />
</div>
</div>
)
}

export default ContributePage
289 changes: 289 additions & 0 deletions app/(explore)/get-funded/page.tsx

Large diffs are not rendered by default.

26 changes: 26 additions & 0 deletions app/(explore)/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
"use client"

import { CurriculumProvider } from "@/context/FilterContext"
import { usePathname } from "next/navigation"
import React from "react"

const Layout = ({ children }: { children: React.ReactNode }) => {
const pathname = usePathname()

// Determine the path based on the current route
const dataPath = pathname.includes("/contribute")
? "/contribute/index.json"
: "/learn/index.json"

return (
<CurriculumProvider path={dataPath}>
<div className="flex flex-col w-full bg-brand-orange ">
<div className="flex flex-col w-full px-4 max-w-7xl mx-auto py-[3.75rem]">
{children}
</div>
</div>
</CurriculumProvider>
)
}

export default Layout
41 changes: 41 additions & 0 deletions app/(explore)/learn/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
"use client"

import React from "react"
import AsideGoTO from "@/components/aside-go-to"
import CardContainers from "@/components/brand/CardContainers"
import { useCurriculum } from "@/context/FilterContext"

const LearnPage = () => {
const { filteredCurriculum: allCurriculum } = useCurriculum()
return (
<div className="w-full text-brand-dark flex flex-col lg:flex-row lg:gap-[90px]">
<div className="lg:hidden flex flex-col">
<h2 className="text-[2rem] lg:text-[3.5rem] font-extrabold font-montserrat leading">
LEARN
</h2>
<p className="text-[1.125rem] lg:text-xl font-quicksand">
A curated library of guides, tools, and workshops for every
skill level
</p>
</div>
<div className=" lg:w-[300px] flex flex-col gap-6">
<AsideGoTO selected="learn" allCurriculum={allCurriculum} />
</div>

<div className="flex flex-col gap-8">
<div className="hidden lg:flex lg:flex-col">
<h2 className="text-[2rem] lg:text-[3.5rem] font-extrabold font-montserrat leading">
LEARN
</h2>
<p className="text-[1.125rem] lg:text-xl font-quicksand">
A curated library of guides, tools, and workshops for
every skill level
</p>
</div>
<CardContainers allCurriculum={allCurriculum} />
</div>
</div>
)
}

export default LearnPage
133 changes: 133 additions & 0 deletions app/about/page-backup.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
import { Wrapper } from "@/components/Wrapper"
import { genPageMetadata } from "../seo"

type Props = {
content: string | React.ReactNode
title: string
}

const Item = ({ content, title }: Props) => (
<div className="gap-2">
<h2 className="text-2xl max-md:text-xl font-medium leading-normal">
{title}
</h2>
<section className="text-lg max-md:text-md">{content}</section>
</div>
)

export const metadata = genPageMetadata({
title: "About | Bitcoin Dev Project",
keywords: "bitcoin, open source, good first issues, bitcoin development",
description:
"Our goal is to provide newcomers with resources and support for your bitcoin open source development journey.",
openGraph: {
images: [
{
url: "https://bitcoindevs.xyz/images/pages-thumbnails/about.png",
alt: "About BDP"
}
],
title: "About | Bitcoin Dev Project Mission",
url: "https://bitcoindevs.xyz/about",
type: "website",
description:
"Our goal is to provide newcomers with resources and support for your bitcoin open source development journey."
},
twitter: {
images: ["https://bitcoindevs.xyz/images/pages-thumbnails/about.png"],
card: "summary_large_image",
title: "About | Bitcoin Dev Project",
creator: "@Bitcoin_Devs",
description:
"Our goal is to provide newcomers with resources and support for your bitcoin open source development journey."
}
})
export default function About() {
return (
<Wrapper>
<div className="flex flex-col p-14 max-sm:p-7 mx-auto my-0">
<div className="flex flex-col mb-24 gap-y-10 w-2/3 max-md:w-full self-center">
<h1 className="text-[58px] max-lg:text-[36px] max-md:text-center font-bold leading-tight">
About The Bitcoin Dev Project
</h1>
<Item
content={
<>
<></>
<p className="my-4">
Our goal is to provide newcomers with
resources and support for your bitcoin open
source development journey. We are here to
convince you to contribute to{" "}
<a className="text-orange" href="/projects">
bitcoin open source projects
</a>
. We measure our success by action, not
passive consumption of educational
materials.
</p>
<p>
There is an oft-repeated sentiment in the
community that bitcoin does not need you.
While bitcoin is designed to be resilient,
we{" "}
<span className="font-style: italic">
do
</span>{" "}
need you. Bitcoin needs all the talent and
energy it can gather to solve some of the
most difficult technical problems of our
time. Bitcoin in your hands changes
everything.
</p>
</>
}
title="Why"
/>
<Item
content={
<>
<></>
<p className="my-4">
The Bitcoin Dev Project is a{" "}
<a
className="text-orange"
href="https://chaincode.com"
target="_blank"
rel="noopener noreferrer"
>
Chaincode Labs
</a>{" "}
sponsored initiative geared towards
developers at the beginning of their bitcoin
journey. Chaincode has a{" "}
<a
className="text-orange"
href="https://bluematt.bitcoin.ninja/2016/08/08/chaincode/"
target="_blank"
rel="noopener noreferrer"
>
{" "}
long history
</a>{" "}
of providing technical education through its
in-person residencies and{" "}
<a
className="text-orange"
href="https://learning.chaincode.com"
target="_blank"
rel="noopener noreferrer"
>
online programs
</a>
.
</p>
</>
}
title="Who"
/>
</div>
</div>
</Wrapper>
)
}
Loading
Loading