├── .eslintrc.json ├── .gitignore ├── LICENSE.md ├── README.md ├── next.config.js ├── package-lock.json ├── package.json ├── postcss.config.js ├── prettier.config.js ├── public └── og-image.jpg ├── src ├── app │ ├── favicon.ico │ ├── layout.tsx │ ├── not-found.tsx │ └── page.tsx ├── components │ ├── Author.tsx │ ├── Button.tsx │ ├── CheckIcon.tsx │ ├── Container.tsx │ ├── Expandable.tsx │ ├── Footer.tsx │ ├── FreeChapters.tsx │ ├── Friends.tsx │ ├── GridPattern.tsx │ ├── Hero.tsx │ ├── Introduction.tsx │ ├── NavBar.tsx │ ├── Pattern.tsx │ ├── Pricing.tsx │ ├── Resources.tsx │ ├── Screencasts.tsx │ ├── SectionHeading.tsx │ ├── StarRating.tsx │ ├── TableOfContents.tsx │ ├── Testimonial.tsx │ └── Testimonials.tsx ├── fonts │ ├── CalSans-SemiBold.ttf │ └── CalSans-SemiBold.woff2 ├── images │ ├── avatars │ │ ├── author.jpg │ │ ├── author.png │ │ ├── avatar-1.png │ │ ├── avatar-10.png │ │ ├── avatar-11.png │ │ ├── avatar-12.png │ │ ├── avatar-13.png │ │ ├── avatar-14.png │ │ ├── avatar-15.png │ │ ├── avatar-16.png │ │ ├── avatar-17.png │ │ ├── avatar-18.png │ │ ├── avatar-2.png │ │ ├── avatar-3.png │ │ ├── avatar-4.png │ │ ├── avatar-5.png │ │ ├── avatar-6.png │ │ ├── avatar-7.png │ │ ├── avatar-8.png │ │ └── avatar-9.png │ ├── cover.png │ ├── resources │ │ ├── abstract-background.png │ │ ├── discord.svg │ │ ├── figma.svg │ │ └── video-player.svg │ └── screencasts │ │ ├── duotone.svg │ │ ├── grids.svg │ │ ├── setup.svg │ │ └── strokes.svg └── styles │ └── tailwind.css ├── tailwind.config.ts └── tsconfig.json /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env*.local 29 | 30 | # vercel 31 | .vercel 32 | 33 | # typescript 34 | *.tsbuildinfo 35 | next-env.d.ts 36 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) oss/acc. Built with TailwindUI.com 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # oss/acc 2 | 3 | ossacc.com has been built with Primer, a [Tailwind UI](https://tailwindui.com) site template built using [Tailwind CSS](https://tailwindcss.com) and [Next.js](https://nextjs.org). 4 | 5 | ## Getting started 6 | 7 | To get started with this template, first install the npm dependencies: 8 | 9 | ```bash 10 | npm install 11 | ``` 12 | 13 | Next, run the development server: 14 | 15 | ```bash 16 | npm run dev 17 | ``` 18 | 19 | Finally, open [http://localhost:3000](http://localhost:3000) in your browser to view the website. 20 | 21 | ## Customizing 22 | 23 | You can start editing this template by modifying the files in the `/src` folder. The site will auto-update as you edit these files. 24 | 25 | ## Learn more 26 | 27 | To learn more about the technologies used in this site template, see the following resources: 28 | 29 | - [Tailwind CSS](https://tailwindcss.com/docs) - the official Tailwind CSS documentation 30 | - [Next.js](https://nextjs.org/docs) - the official Next.js documentation 31 | - [Headless UI](https://headlessui.dev) - the official Headless UI documentation 32 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = {} 3 | 4 | module.exports = nextConfig 5 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwindui-primer", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "browserslist": "defaults, not ie <= 11", 12 | "dependencies": { 13 | "@headlessui/react": "^1.7.13", 14 | "@types/node": "20.4.5", 15 | "@types/react": "18.2.17", 16 | "@types/react-dom": "18.2.7", 17 | "autoprefixer": "^10.4.12", 18 | "clsx": "^1.2.1", 19 | "next": "13.4.16", 20 | "react": "18.2.0", 21 | "react-dom": "18.2.0", 22 | "tailwindcss": "^3.3.3", 23 | "typescript": "5.1.6" 24 | }, 25 | "devDependencies": { 26 | "eslint": "8.45.0", 27 | "eslint-config-next": "13.4.16", 28 | "prettier": "^3.0.1", 29 | "prettier-plugin-tailwindcss": "^0.5.2", 30 | "sharp": "^0.32.0" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('prettier').Options} */ 2 | module.exports = { 3 | singleQuote: true, 4 | semi: false, 5 | plugins: ['prettier-plugin-tailwindcss'], 6 | } 7 | -------------------------------------------------------------------------------- /public/og-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeerRich/ossacc/ad0af5758d95b77f573c5d3cbf8f0d92229846d3/public/og-image.jpg -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeerRich/ossacc/ad0af5758d95b77f573c5d3cbf8f0d92229846d3/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import { type Metadata } from 'next' 2 | import { Inter } from 'next/font/google' 3 | import clsx from 'clsx' 4 | import localFont from 'next/font/local' 5 | 6 | import '@/styles/tailwind.css' 7 | 8 | const inter = Inter({ 9 | subsets: ['latin'], 10 | display: 'swap', 11 | variable: '--font-inter', 12 | }) 13 | 14 | const calSans = localFont({ 15 | src: '../fonts/CalSans-SemiBold.woff2', 16 | variable: '--font-cal', 17 | }) 18 | 19 | export const metadata: Metadata = { 20 | title: 'oss/acc', 21 | description: 22 | 'Everything is build with Open Source. The modern world we live in today would simply not exist.', 23 | } 24 | 25 | export default function RootLayout({ 26 | children, 27 | }: { 28 | children: React.ReactNode 29 | }) { 30 | return ( 31 | 39 | 40 | 41 | 42 | 47 | 52 | 56 | 57 | {children} 58 | 59 | ) 60 | } 61 | -------------------------------------------------------------------------------- /src/app/not-found.tsx: -------------------------------------------------------------------------------- 1 | import Link from 'next/link' 2 | 3 | import { Container } from '@/components/Container' 4 | import { GridPattern } from '@/components/GridPattern' 5 | 6 | export default function NotFound() { 7 | return ( 8 |
9 |
10 | 11 |
12 | 13 |

14 | 404 15 |

16 |

17 | Page not found 18 |

19 |

20 | Sorry, we couldn’t find the page you’re looking for. 21 |

22 | 26 | Go back home 27 | 28 |
29 |
30 | ) 31 | } 32 | -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- 1 | import { Author } from '@/components/Author' 2 | import { Footer } from '@/components/Footer' 3 | import { Introduction } from '@/components/Introduction' 4 | 5 | export default function Home() { 6 | return ( 7 | <> 8 | 9 | 10 |