/wanny-gatsby-blog-template

Primary LanguageTypeScriptBSD Zero Clause License0BSD

Danmin Gatsby Blog Template

Danmin Gatsby Blog Template is released under the 0BSD license.

Demo Website: jeong-min.com
Open source Code: Github

 

๐Ÿ‘‹ ์†Œ๊ฐœ

X๋กœ๊ทธ, X์Šคํ† ๋ฆฌ, X๋Ÿฐ์น˜, X๋””์—„.. ์•ˆ ์จ๋ณธ ๋ธ”๋กœ๊ทธ ํ”Œ๋žซํผ์ด ์—†์„ ์ •๋„๋กœ ์œ ๋ชฉ๋ฏผ ์ƒํ™œ์„ ํ•ด์™”๋Š”๋ฐ์š”, ๊ฒฐ๊ตญ ๋Œ๊ณ  ๋Œ์•„ ๋ธ”๋กœ๊ทธ ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

์ด ํ…œํ”Œ๋ฆฟ์˜ ๋ฒ ์ด์Šค๊ฐ€ ๋˜์–ด์ค€ ์คŒ์ฝ”๋”ฉ ๋‹˜์˜ ๋ธ”๋กœ๊ทธ ํ…œํ”Œ๋ฆฟ๋„ ๋งŽ์€ ๊ด€์‹ฌ ๋ถ€ํƒ๋“œ๋ฆฌ๋ฉฐ, ํ”์พŒํžˆ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์„ ํ—ˆ๋ฝํ•ด์ฃผ์‹  ์ œ ์‚ฌ์šฐ๋‹˜, ์คŒ์ฝ”๋”ฉ ๋‹˜๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๐Ÿ™‡

 

โœจ ๊ธฐ๋Šฅ

  • โœจ ํ™ˆ ํ™”๋ฉด์— ์›ํ•˜๋Š” ๊ธ€ ์„ ํƒ์  ๋…ธ์ถœ
  • ๐ŸŒ˜ ๋‹คํฌ๋ชจ๋“œ ์ง€์›
  • ๐Ÿ’… ์ฝ”๋“œ ํ•˜์ด๋ผ์ดํŒ… ์ง€์›
  • ๐Ÿ‘‰ ๊ธ€ ๋ชฉ์ฐจ ์ž๋™ ์ƒ์„ฑ(ToC)
  • ๐Ÿ’ฌ Utterances ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ์ง€์›
  • โ˜•๏ธ ํ›„์›์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” Buy me a coffee ์ปดํฌ๋„ŒํŠธ
  • ๐Ÿ“š ๊ธ€์„ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ๋ณด์—ฌ์ฃผ๋Š” Posts ํŽ˜์ด์ง€
  • ๐Ÿ‘จโ€๐Ÿ’ป ํƒ€์ž„์Šคํƒฌํ”„๋กœ ํ™œ๋™ ๊ฒฝ๋ ฅ์„ ๋ณด์—ฌ์ฃผ๋Š” About ํŽ˜์ด์ง€
  • ๐Ÿ‘‹ Utterances๋ฅผ ํ™œ์šฉํ•œ ๋ฐฉ๋ช…๋ก ํŽ˜์ด์ง€
  • ๐Ÿ˜Ž ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” Playground ํŽ˜์ด์ง€
  • ๐Ÿ“ˆ ๋‹ค์–‘ํ•œ ๊ฐœ์ธ ๋น„ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ง€์› (Google Analytics, Google Adsense ๋“ฑ)
  • ๐Ÿ›  sitemap.xml, robots.txt ์ž๋™ ์ƒ์„ฑ

 

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ

Github Page, Netlify, Vercel ๋“ฑ ์›ํ•˜์‹œ๋Š” ๋ฐฐํฌ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

๐Ÿ”ง Netlify๋กœ ๋งŒ๋“ค๊ธฐ

์•„๋ž˜ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜๋ฉด, ๊ฐœ์ธ ๊ณ„์ •์œผ๋กœ ํ…œํ”Œ๋ฆฟ Repository ์ƒ์„ฑ ๋ฐ Netlify ๋ฐฐํฌ๋ฅผ ๋™์‹œ์— ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Deploy to Netlify

๐Ÿƒโ€โ™€๏ธ ์‹คํ–‰ํ•˜๊ธฐ

  1. ์ƒ์„ฑ๋œ Repository๋ฅผ cloneํ•ฉ๋‹ˆ๋‹ค.

  2. ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋กœ์ปฌ ํ™˜๊ฒฝ์— ๋ธ”๋กœ๊ทธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

# Install dependencies
$ yarn

# Start development server
# Server will run at http://localhost:8000
$ yarn dev

 

โœจ ๋ธ”๋กœ๊ทธ ์ปค์Šคํ…€ํ•˜๊ธฐ

์ด์ œ gatsby-site-meta-data.ts์˜ ๊ฐ’๋“ค์„ ๋ณ€๊ฒฝํ•ด๋ด…์‹œ๋‹ค! ๐Ÿ™Œ

 

1. ๋ธ”๋กœ๊ทธ ๊ธฐ๋ณธ ์ •๋ณด

title: `jeong-min.com`,
description: `๊ฐœ๋ฐœ์ž ๋‹จ๋ฏผ`,
language: `ko`,
siteUrl: `https://jeong-min.com/`,
ogImage: `/og-image.png` // ๊ณต์œ ํ•  ๋•Œ ๋ณด์ด๋Š” ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ด๋ฏธ์ง€

 

2. ๋Œ“๊ธ€ ์„ค์ •

๋ธ”๋กœ๊ทธ ๊ธ€๋“ค์— ๋Œ“๊ธ€์„ ๋‹ฌ ์ˆ˜ ์žˆ๊ธธ ์›ํ•˜์‹ ๋‹ค๋ฉด utterances๋ฅผ ํ†ตํ•ด์„œ ์ด๋ฅผ ์„ค์ •ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ช…๋ก๋„ ์ด์™€ ์—ฐ๋™๋ฉ๋‹ˆ๋‹ค.

๐Ÿฆ„ utterances ์‚ฌ์šฉ๋ฐฉ๋ฒ•์€ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!

comments: {
    utterances: {
        repo: '' // danmin20/danmin-gatsby-blog`,
    },
}

 

3. ๊ธ€์“ด์ด ์ •๋ณด

๊ธ€์“ด์ด(author)์— ์ž…๋ ฅํ•˜์‹  ์ •๋ณด๋Š” ๋ฉ”์ธ ํ™”๋ฉด๊ณผ about ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

author: {
    name: `์ด์ •๋ฏผ`,
    nickname: `๋‹จ๋ฏผ`,
    stack: ['Frontend', 'React', 'Typescript'],
    bio: {
      email: `ljm991108@gmail.com`,
      residence: 'Seoul, South Korea',
      bachelorDegree: 'Kyunghee Univ. Computer Engineering (2018.03-2022.02)',
    },
    social: {
      github: `https://github.com/danmin20`,
      linkedIn: `https://www.linkedin.com/in/jeonming-lee/`,
      resume: `https://www.figma.com/file/dtkCl6G7G5DVe18DN2LWny/%EC%9D%B4%EC%A0%95%EB%AF%BC-%EC%9D%B4%EB%A0%A5%EC%84%9C?node-id=0%3A1`,
    },
    // ๋“œ๋กญ๋‹ค์šด์œผ๋กœ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์€ ์ถ”๊ฐ€ ๋งํฌ๋“ค
    dropdown: {
      tistory: 'https://danminblog.tistory.com/',
      velog: 'https://velog.io/@danmin20',
    },
},

 

4. ๋ฉ”์ธ ํ™”๋ฉด์— ๋…ธ์ถœ์‹œํ‚ฌ ํ•ญ๋ชฉ ์„ค์ •

๋ฉ”์ธ ํ™”๋ฉด์— ๊ทธ๋ฃจํ•‘ํ•˜์—ฌ ๋…ธ์ถœ์‹œํ‚ฌ ๊ธ€๋“ค์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

featured: [
  {
    title: 'example1',
    category: 'featured-example1',
  },
  {
    title: 'example2',
    category: 'featured-example2',
  },
],

์œ„์˜ category์— ๋“ค์–ด๊ฐ€๋Š” ํ‚ค์›Œ๋“œ๋Š” ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ๋กœ ๊ธ€์„ ์ž‘์„ฑํ•  ๋•Œ ๋„ฃ์€ category์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

๊ธ€์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ, featured- ๋ฅผ ํฌํ•จํ•  ๊ฒฝ์šฐ, ์ง€์ •ํ•œ title๋กœ ํ™ˆ์— ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
featured-example1์œผ๋กœ ์ž‘์„ฑํ•  ๊ฒฝ์šฐ, ์นดํ…Œ๊ณ ๋ฆฌ๋Š” example1์œผ๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.

 

5. timestamps

timestamp ์ •๋ณด๋ฅผ ๋ฐฐ์—ด๋กœ ์ž‘์„ฑํ•˜๋ฉด Category์— ๋”ฐ๋ผ ๋ถ„๋ฆฌ๋˜์–ด ๋ณด์—ฌ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

timestamps: [
  {
    category: 'Career',
    date: '2022.01.04 - NOW',
    en: 'A Corp.',
    kr: 'A ํšŒ์‚ฌ',
    info: 'A ํŒ€',
    link: '',
  },
  {
    category: 'Career',
    date: '2021.01.04 - 2022.01.04',
    en: 'B Corp.',
    kr: 'B ํšŒ์‚ฌ',
    info: 'B ํŒ€',
    link: '',
  },
  {
    category: 'Activity',
    date: '2023.07 - NOW',
    en: 'Community',
    kr: '์ปค๋ฎค๋‹ˆํ‹ฐ',
    info: 'IT ์ปค๋ฎค๋‹ˆํ‹ฐ',
    link: '',
  },
],

 

6. projects

project ์ •๋ณด๋ฅผ ๋ฐฐ์—ด๋กœ ์ž‘์„ฑํ•˜๋ฉด Playground ํŽ˜์ด์ง€์— ๋ณด์—ฌ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

projects: [
  {
    title: 'Portfolio',
    description: 'ํฌํŠธํด๋ฆฌ์˜ค',
    techStack: ['React', 'Next.js', 'Typescript'],
    thumbnailUrl: '', // Path to your in the 'assets' folder
    links: {
    post: '',
    github: '',
    demo: '',
    googlePlay: '',
    appStore: '',
    },
  },
],

 

7. remittances

remittance ์ •๋ณด๋Š” Buy me a coffee ์ปดํฌ๋„ŒํŠธ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

remittances: {
  toss: {
    link: 'https://toss.me/danmin',
    qrCode: 'toss_qr.svg', // Path to your in the 'assets' folder
  },
  kakaopay: {
    qrCode: 'kakao_qr.svg', // Path to your in the 'assets' folder
  },
}

๊ทธ๋ ‡๊ฒŒ ๋‚ด์šฉ์„ ๋ฌธ์ œ ์—†์ด ์ž…๋ ฅํ•˜์…จ๋‹ค๋ฉด ๋‚˜๋งŒ์˜ ๋ธ”๋กœ๊ทธ๊ฐ€ ํƒ„์ƒํ•œ ๊ฒƒ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๐ŸŽ‰

config๋ฅผ ์ˆ˜์ •ํ–ˆ์„ ๊ฒฝ์šฐ, yarn dev๋กœ ์žฌ์‹คํ–‰ ํ•ด์ฃผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค!

 

โœ๏ธ ๊ธ€ ์“ฐ๊ธฐ

๋ณธ๊ฒฉ์ ์œผ๋กœ ๋ธ”๋กœ๊ทธ์— ๊ธ€์„ ์“ฐ๋ ค๋ฉด /content ์•„๋ž˜์— ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  index.md์— markdown์œผ๋กœ ์ž‘์„ฑํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํด๋”์˜ ์ด๋ฆ„์œผ๋กœ ๊ฒฝ๋กœ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

 

๐Ÿ— ๋ฉ”ํƒ€ ์ •๋ณด

index.md ํŒŒ์ผ์˜ ์ƒ๋‹จ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด emoji, title, date, categories ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

emoji๋Š” ๊ธ€๋จธ๋ฆฌ์— ๋ณด์—ฌ์ง€๊ฒŒ ๋˜๋ฉฐ, categories๋Š” ๋„์–ด์“ฐ๊ธฐ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

---
emoji: โœจ
title: My first writing
date: '2023-12-11'
categories: life dev
---

๐Ÿ–ผ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ

๊ธ€์— ์ด๋ฏธ์ง€๋ฅผ ์ฒจ๋ถ€ํ•˜๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด ๊ฐ™์€ ๋””๋ ‰ํ† ๋ฆฌ์— ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜์…”์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

![](ex.png)

์ด๋ฏธ์ง€๋ฅผ ์—ฌ๋Ÿฌ ์žฅ ๋‚˜์—ดํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด ํ‘œ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

| | |
| - | - |
| ![](ex1.png) | ![](ex2.png) |

๐Ÿ” ๋ชฉ์ฐจ ์ƒ์„ฑ

๊ธ€์˜ ์šฐ์ธก์— ๋ชฉ์ฐจ๊ฐ€ ๋ณด์ด๊ธฐ๋ฅผ ์›ํ•˜์‹ ๋‹ค๋ฉด index.md ํŒŒ์ผ ๋งจ ์•„๋ž˜์— ๋‹ค์Œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜์‹œ๋ฉด ์ž๋™์œผ๋กœ ๋ชฉ์ฐจ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

```toc
```

 

๐Ÿ’ก ๋ฌธ์˜

์งˆ๋ฌธ์ด ์žˆ์œผ์‹œ๊ฑฐ๋‚˜ ์ œ์•ˆํ•˜๊ณ  ์‹ถ์œผ์‹  ๊ธฐ๋Šฅ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด, ๐Ÿ‘‰ ์—ฌ๊ธฐ์— ํŽธํ•˜๊ฒŒ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”! :)