Skip to content

๐ŸŒธ Joy of Code is a digital garden growing curious minds

License

Notifications You must be signed in to change notification settings

cesarnml/joy-of-code

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Joy of Code

Bob Ross

๐Ÿง‘โ€๐ŸŽจ What is Joy of Code?

Joy of Code is a digital garden growing curious minds with a wide variety of topics from web development to web design. If reading isn't your thing watch the video version on YouTube.

๐Ÿค— Contribute

First time contributors are welcome โ€” in fact this is the reason why I wanted to make it possible to contribute so you can get your first open source contribution.

At the end of each post there's a direct link to the Markdown file of the post you can edit within GitHub. Read the contributing guidelines to learn more.

๐Ÿ™ Use Issues to Find Answers

If you need help or something changed and isn't working when following a post or video series I made you can go to the issues and find the issue and bring it to my attention โ€” I hope in general people help each other out this way.

This avoids having to hunt down the issue you have in YouTube comments or places like Discord that aren't indexed by search results and are lost forever.

๐Ÿงญ Technologies

  • โšก๏ธ SvelteKit is used for the frontend with server-side rendering and prerendering static pages

  • ๐Ÿ”Œ GitHub API is used to manage content so GitHub is the content management system

  • The editor uses โšก๏ธ SvelteKit for the frontend and ๐Ÿ“œ Monaco Editor (code editor which powers VS Code) as the editor to manage content using the ๐Ÿ”Œ GitHub API

  • โœ๏ธ Posts are stored inside the posts folder and are used to build the page using the ๐Ÿ”Œ GitHub API but data is where posts metadata is stored in a single posts.json to serve as a database

  • The project is hosted on Vercel and uses ignored build step with git diff HEAD^ HEAD --quiet . ':(exclude)posts/*' ':(exclude)data/*' to avoid redeploy for those special folders

  • The tests use Playwright for end-to-end testing

  • Analytics use Google Analytics

  • Newsletter uses Buttondown when I remember to send one ๐Ÿคญ

  • Post views use Supabase

  • Social share images use mattcroat/social-share-images

๐Ÿ“œ Setup

The project uses ๐Ÿ“ฆ๏ธ pnpm but any package manager is going to work.

๐Ÿ‘ฌ Clone the project.

git clone https://github.com/mattcroat/joy-of-code.git

๐Ÿ“ฆ๏ธ Install the dependencies.

pnpm i

๐Ÿ’ฟ๏ธ Run the development server with pnpm run dev or build and preview the project with pnpm run build && pnpm run preview.

pnpm run dev

About

๐ŸŒธ Joy of Code is a digital garden growing curious minds

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Svelte 50.5%
  • TypeScript 24.3%
  • SCSS 21.0%
  • HTML 3.0%
  • Other 1.2%