GithubHelp home page GithubHelp logo

hansanghyeon / blog Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 322.52 MB

Home Page: https://hyeon.pro

Makefile 0.07% PHP 23.83% TypeScript 16.36% JavaScript 4.21% SCSS 15.12% Blade 35.80% CSS 3.89% HTML 0.27% Shell 0.45%
blog

blog's People

Contributors

code-factor avatar dependabot-preview[bot] avatar dependabot[bot] avatar fossabot avatar greenkeeper[bot] avatar hansanghyeon avatar imgbot[bot] avatar imgbotapp avatar

Stargazers

 avatar

Watchers

 avatar

blog's Issues

[Feature] Menu ์ œ์ž‘

๐Ÿ“ฌ๋ฌด์—‡์„

  • Menu btn
  • Menu Nav
  • MSB

๐Ÿค”์™œ?

์—ฌ๋ ค๊ฐœ์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋ คํ•  ๋•Œ ๊ฒฐ๊ตญ ํŽ˜์ด์ง€๋ณ„๋กœ ๊ตฌ๋ถ„ํ•ด์•ผํ•˜๋Š”๋ฐ ๊ทธ ์ง„์ž…์ ์„ ์ œ์ž‘ํ•ด์•ผํ•œ๋‹ค.

[Feature] Day/Night Button ์ œ์ž‘

  • gatsby-plugin-use-dark-mode
  • use-dark-mode
  • Button

Dark mode ์‚ฌ์šฉ

Gatsby์˜ ๋‹คํฌ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ์‚ฌ์šฉ!
์ฐพ์•„์•ผ๋  ์  ์›น์•ฑ์ด ๋ Œ๋”ฉ๋ ๋•Œ @media (prefers-color-scheme: dark)์ธ์ง€ ์•„๋‹Œ์ง€ ๊ตฌ๋ณ„ํ•ด์„œ ์ƒํƒœ๊ฐ’์œผ๋กœ ๋ถ€์—ฌํ•ด์ฃผ๊ธฐ ์ด๋ถ€๋ถ„์„ ๋ชจ๋ฆ„

Button

์ฐธ๊ณ 
Pure Css "day and night" toggle

[Feature] stylelint ์ถ”๊ฐ€

๐Ÿค” ์ด์ „์— styled-components์—์„œ ์„ธ๋ฏธ์ฝœ๋ก ์ด ๋น ์ ธ์„œ ์˜ค๋ฅ˜๋ฅผ ๊ฒช์—ˆ์—ˆ์ง€๋งŒ ์›์ธ์„ ์ถœ๋ ฅํ•ด์ฃผ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ผญ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ™•์ธํ•ด๋ณด๊ณคํ–ˆ์—ˆ๋‹ค.

styled-components linst semicolons .. etc...

styled-components ํ™•์žฅ์ค‘์— styled-components/stylelint-processor-styled-components ํŒจํ‚ค์ง€๊ฐ€์žˆ๋‹ค. ์ด๊ฒƒ์„ ์ ์šฉํ•˜์ž

[Feature] Google Tag Manager

GA๋ฅผ ํ†ตํ•œ ๊ด€๋ฆฌ๋ณด๋‹ค ์ถ”ํ›„ ํ™•์žฅ์„ฑ์„ ์œ„ํ•ด์„œ GTM์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ

[Feature] Breadcrumb

๋…ธ์…˜์—์„œ ์–ด๋Š ์นดํ…Œ๊ณ ๋ฆฌ ๋ฐ ์–ด๋Š ํŽ˜์ด์ง€ ํ•˜์œ„๋กœ ๋“ค์–ด์™”๋Š”์ง€ ์•Œ์•„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ํŽธ๋ฆฌํ–ˆ๋‹ค. ๋„์ž…ํ•ด๋ณด๊ณ ์‹ถ์€ ๊ธฐ๋Šฅ

[Feature] About ํŽ˜์ด์ง€

๋…ธ์…˜์œผ๋กœ ์ •๋ฆฌํ•ด์™”๋˜ 4log ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ•˜๋Š” ์ด์œ ์™€ ํžˆ์Šคํ† ๋ฆฌ์—๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐํ•˜๊ณ ์‹ถ๋‹ค.

  • 4log about
  • Hansanghyeon about

[Try] Gatsby ํŒŒ๋จน๊ธฐ

์ฝ”๋“œ๋Š” React๋ฅผ ์ด์šฉํ•ด์„œ ์ปดํฌ๋„ŒํŠธ ์ž‘์„ฑํ•˜๋“ฏ์ด ์‚ฌ์šฉํ•˜์ง€๋งŒ, ๊ณตํ†ต ๋ ˆ์ด์•„์›ƒ์„ ๊ด€๋ฆฌํ•˜๊ฑฐ๋‚˜ ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ์†Œ์Šค์™€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ฑฐ๋‚˜ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ Gatsby์—์„œ ์ œ๊ณตํ•˜๊ณ  ์žˆ์–ด์„œ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

Gatsby ํŒŒ๋จน๊ธฐ

  • ๊ณตํ†ต ๋ ˆ์ด์•„์›ƒ ๊ด€๋ฆฌ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด๊ธฐ

[BUG] ๋””ํ”Œ๋กœ์ด์ƒํƒœ์—์„œ SVG

1์ฐจ beta release๋ฅผ ํ•˜๋ ค๊ณ ๋ณด๋Š”๋ฐ ๋ฉ”์ธํŽ˜์ด์ง€์—์„œ๋งŒ ๋ชจ๋“  ๋”๋“ค์ด ๋กœ๋”ฉ๋˜๊ณ  svg๊ฐ€ ๋งŒ๋“ค์–ด์ง€๋ฉด์„œ ๋ ˆ์ด์•„์›ƒ๊ณผ ๋‹ค๋ฅธ ๋ชจ์–‘์œผ๋กœ ๋‚˜์˜ค๊ฒŒ๋œ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผํ• ๊นŒ?

[Try] current prefers-colors-schmeme value

์ฒ˜์Œ ๋ธ”๋กœ๊ทธ ๋ฐฉ๋ฌธํ–ˆ์„๋•Œ ๋ณด์—ฌ์ง€๋Š” ๋””๋ฐ”์ด์Šค์˜ ๋ผ์ดํŠธ๋ชจ๋“œ / ๋‹คํฌ๋ชจ๋“œ๋ฅผ detechํ•ด์„œ ๋™์ ์ธ ํ…Œ๋งˆ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

[Feature] Category post template

์นดํ…Œ๊ณ ๋ฆฌ์—์„œ post์˜ ๋ธ”๋กœ๊ทธ ํ…œํ”Œ๋ฆฟ์€ mdx๋กœ ๋ณ€ํ˜•ํ•˜๋Š” ๊ฒƒ์ด์•„๋‹Œ wp์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ทฐ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋ผ์„œ ๋‹ค๋ฅธ ํ…œํ”Œ๋ฆฟ์ด ํ•„์š”ํ•˜๋‹ค.
์ด์— ๋”ฐ๋ผ์„œ post ํ…œํ”Œ๋ฆฟ์„ ๋˜ ํ…œํ”Œ๋ฆฟํ™”ํ•ด์„œ ๋ถ„๋ฆฌํ•ด์„œ ์ž‘์„ฑํ•ด์•ผ ํ•  ๊ฒƒ๊ฐ™๋‹ค.

[Feature] Recent Article

์ตœ๊ทผ๊ธ€์„ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒํ•ด์ฃผ๋Š” ์˜์—ญ์ด ํ•„์š”ํ•  ๊ฒƒ๊ฐ™๋‹ค

Action required: Greenkeeper could not be activated ๐Ÿšจ

๐Ÿšจ You need to enable Continuous Integration on Greenkeeper branches of this repository. ๐Ÿšจ

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didnโ€™t receive a CI status on the greenkeeper/initial branch, itโ€™s possible that you donโ€™t have CI set up yet.
We recommend using:

If you have already set up a CI for this repository, you might need to check how itโ€™s configured. Make sure it is set to run on all new branches. If you donโ€™t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, youโ€™ll need to re-trigger Greenkeeperโ€™s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

[Feature] Content CMS

๐Ÿ“ฌ๋ฌด์—‡์„

์ง€๊ธˆ์€ MDX๋ฅผ ํ†ตํ•ด์„œ ์ปจํ…์ธ ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ ์žˆ๋‹ค. ์ด๊ฒƒ์„ WordPress ์˜ ๊ธ€๋กœ ๋ณ€๊ฒฝ

๐Ÿค”์™œ?

MDX๋ฅผ ํ†ตํ•ด์„œ ์ปจํ…์ธ ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์— ํšŒ์˜๊ฐ€ ๋“ค์—ˆ๋‹ค. ์ •๋ง๋กœ CMS๋กœ์˜ ๊ธฐ๋Šฅ์„ ์ œ๋Œ€๋กœ ํ•˜๊ณ ์žˆ๋Š” ๊ฑด๊ฐ€? ์ด๋ ‡๊ฒŒ ๊ณ„์† ๊ตฌ์„ฑํ•ด๋„๋ ๊นŒ? ๋‚˜์ค‘์— ๊ธ€๋กœ์˜ฎ๊ธฐ๋ ค๋ฉด? ์ด๋Ÿฐ ๊ณ ๋ฏผ๋“ค์ด ๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ๊ธฐ๋•Œ๋ฌธ์ด๋‹ค.

[Feature] Page Header

๊ฐ ํŽ˜์ด์ง€์—์„œ ํŽ˜์ด์ง€ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด์ฃผ๋Š” ํŽ˜์ด์ง€ ํ—ค๋”์ œ์ž‘ํ•˜๊ธฐ

  • ์•„์ด์ฝ˜
  • ํŽ˜์ด์ง€ ์„ฌ๋„ค์ผ
  • ํŽ˜์ด์ง€ ์ •๋ณด

[Try] ์–ด๋–ป๊ฒŒ mdx์—์„œ ๋ฌด์Šจ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ์ง€? ๊ตฌ๋ถ„ํ•˜์ง€?

#54

๋ฌธ์ œ์ 
blog-post.tsx์—์„œ ์„ฌ๋„ค์ผ์„ ๋‚˜ํƒ€๋„ค๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ Œ๋”๋งํ•ด์„œ ๋งŒ๋“ ๋‹ค. ๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ .mdx์—์„œ ์ธํ„ฐ๋ ‰์…˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋˜๊ฒƒ์„ ๊ตฌ๋ถ„ํ•ด์„œ ๋ถˆ๋Ÿฌ์˜ฌ๊นŒ?

[Feature] Category Template

๐Ÿ“ฌ๋ฌด์—‡์„

Category ํŽ˜์ด์ง€์˜ template ์ œ์ž‘

๐Ÿค”์™œ?

๋ฉ”๋‰ด์—์„œ ํ•ด๋‹น ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋“ค์–ด๊ฐ”์„๋•Œ ๊ทธ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์„ธ๋ถ€๋‚ด์šฉ์„ ํ‘œํ˜„ํ•ด์ฃผ๊ณ ์ž ํ•œ๋‹ค.
์•„๋ž˜๋Š” ๋‚ด๊ฐ€ ๋…ธ์…˜์—์„œ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ํŽ˜์ด์ง€๋ฅผ ์šด์˜ํ•˜๋Š” ๋ฐฉ์‹์ธ๋ฐ ์ด๊ฒƒ์„ ํ™ˆํŽ˜์ด์ง€๋กœ ๊ฐ€์ ธ์˜ค๊ณ ์ž ํ•œ๋‹ค.

[Feature] wp, mdx ํ˜ผ์šฉ previous, next ๋ฒ„ํŠผ ๊ตฌํ˜„ํ•˜๊ธฐ ๊ตฌ์ƒ

๐Ÿ“ฌ๋ฌด์—‡์„

ํ˜„์žฌ wp, mdx ๋ฐ์ดํ„ฐ๋กœ ํ˜ผ์šฉ์œผ๋กœ ๋ธ”๋กœ๊ทธ๋ฅผ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐ ํฌ์ŠคํŠธ๋“ค์˜ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณณ์ด๋‹ฌ๋ผ ์ด์ „๊ธ€ ๋‹ค์Œ๊ธ€์„ ๊ตฌํ˜„ํ•˜๊ธฐ ๋ฒ…์ฐจ๋‹ค. category๊ด€๋ จ ํ”„๋กœ์ ํŠธ ์™„๋ฃŒํ•˜๊ณ  ๋ฒ„ํŠผ ๊ตฌํ˜„ํ•˜๊ธฐ!

๐Ÿค”์™œ?

์™œ๋ƒ? ๋‹ค์Œ๊ธ€, ์ด์ „๊ธ€์ด ์žˆ์–ด์•ผ ์‚ฌ์šฉ์ž๋กœํ•˜์—ฌ๊ธˆ ๋‘˜๋Ÿฌ๋ณด๊ธฐ ํŽธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„๋‹ˆ๋ฉด ์ด์ „๊ธ€ ๋‹ค์Œ๊ธ€์ด์•„๋‹Œ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ด๋™ํ• ์ˆ˜์žˆ๋Š” ๊ตฌํ˜„์„ ์ƒ๊ฐํ•ด๋ณด๊ธฐ

[Feature] Prettier

๐Ÿ“ฌ๋ฌด์—‡์„

eslintํ•˜๊ณ  prettierํ•˜๊ณ  ๊ฐ™์ด ์„ค์ •ํ•˜๊ธฐ ์–ด๋ ค์› ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ–ˆ๋Š”์ง€ ์ดํ•ดํ–ˆ์œผ๋‹ˆ ์ ์šฉํ•˜๊ธฐ!

๐Ÿค”์™œ?

  • ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๋ณด๋ฉด ํ•ญ์ƒ import module from 'module'์ด๋Ÿฐ์‹์œผ๋กœ ๋‚˜์˜ค๊ฒŒ๋˜๋Š” ๊ฒƒ
  • ๋งˆ์ง€๋ง‰ trailing comma๋ฅผ ๋„ฃ๋Š”๊ฒƒ์ด ๋ถˆํŽธํ•œ ์ ์ด์žˆ๋‹ค.
  • Atomic Design ํŒจํ„ด์œผ๋กœ ์ž‘์—…์„ํ•˜๋Š”๋ฐ Atom๋‹จ๊ณ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์ œ์™€ ๋™์ผํ•˜๊ฒŒ ๋„ฃ์ง€์•Š๊ณ  Lorem ipsum...์œผ๋กœ ์ฑ„์›Œ๋„ฃ๋Š”๋ฐ 100๊ธ€์ž๊ฐ€ ๋„˜์–ด์„œ lint์—์„œ ์—๋Ÿฌ๋ฅผ ๋‚ด๋ฟœ๋Š”๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ()๊ฐ์‹ธ์ฃผ๊ณ  ๋‹จ๋ฝ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ๋ถˆํŽธํ•˜๋‹ค

[Feature] TOC

  • ๋””์ž์ธ ๋ ˆํผ๋Ÿฐ์Šค ์ฐพ๊ธฐ

[Feature] Framer X

๐Ÿ“ฌ๋ฌด์—‡์„

Framer X๋ฅผํ†ตํ•œ ํŽ˜์ด์ง€์ „ํ™˜ ๋ชจ์…˜์ถ”๊ฐ€ํ•˜๊ธฐ

๐Ÿค”์™œ?

Gatsby์˜ ํŽ˜์ด์ง€์ „ํ™˜ ํŠธ๋žœ์ง€์…˜ ํ”Œ๋Ÿฌ๊ทธ์ธ๋„์žˆ์ง€๋งŒ ์ถ”ํ›„ ๊ณ„์†์ ์œผ๋กœ ์ธํ„ฐ๋ ‰์…˜๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ฐ˜์‘์„ ๋งŒ๋“ค๋ ค๋ฉด ๋” ํ™œ์šฉ๋ฒ”์œ„๊ฐ€ ์ข‹์€ ํˆด๊ณผ ๋ชจ์…˜์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

[BUG] StoryBook alias & gatsby static query

Gatsby์—์„œ ๊ตฌ์„ฑ์š”์†Œ์•ˆ์—์„œ StaticQuery๋ฅผ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋“ค์ด ๋งŽ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๊ฒƒ๋“ค storybook์—์„œ ๋ทฐํ…Œ์ŠคํŒ…์„ํ•˜๋ ค๊ณ ๋ณด๋ฉด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์–ด์„œ ์˜ค๋ฅ˜๋ฅผ ๋‚ธ๋‹ค.

์ฐธ๊ณ 

StoryBook์—์„œ aliasํ• ๋•Œ ๋ฃจํŠธ ๊ฒฝ๋กœ๋Š” ํ•ด๋‹น .storybook ํด๋”๋ฅผ ํ–ฅํ•œ๋‹ค. ๊ทธ๋ž˜์„œ aliasํ•ด ์ค„๋•Œ ../src/ ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฃจํŠธ๋ฅผ ๋‹ค์‹œ ์žก์•„์ค˜์•ผํ•œ๋‹ค.

[Feature] Redux ํ™˜๊ฒฝ์„ค์ •

๐Ÿ“ฌ๋ฌด์—‡์„

Redux์˜ ์„ค์ •

๐Ÿค”์™œ?

์•ž์œผ๋กœ ์ƒํƒœ๊ด€๋ฆฌ์—๋Œ€ํ•œ ๊ธฐ์ˆ ๋กœ Redux๋ฅผ ์‚ฌ์šฉ
#24

[Question] MDํŒŒ์ผ ์ปจํ…์ธ ์ €์žฅ์†Œ

์›์ธ

Travis๋ฅผ ํ†ตํ•ด์„œ ์ž๋™์œผ๋กœ ๋นŒ๋“œ ๋ฐฐํฌํ•˜๋ คํ–ˆ๋Š”๋ฐ ์ปจํ…์ธ ๋Š” Post๋ผ๋Š” ๊นƒํ—™ ์ €์žฅ์†Œ์—์„œ ๊ด€๋ฆฌํ•˜๊ณ ์žˆ์–ด์„œ 4log๋ฅผ ์ž๋™๋ฐฐํฌํ•˜๊ฒŒ๋˜๋ฉด ์•„๋ฌด๋Ÿฐ ์ปจํ…์ธ ๊ฐ€ ์—†๋Š” ์ƒํƒœ๋กœ ๋ฐฐํฌ๊ฐ€๋˜๋ฒ„๋ฆฐ๋‹ค. ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ?

#57

[Feature] ์ด๋ฏธ์ง€ & ๋™์˜์ƒ ๊ฐค๋Ÿฌ๋ฆฌ ์ปดํฌ๋„ŒํŠธ

Daily blog๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์‚ฌ์ง„์„ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

์ •์ ์ธ ์ด๋ฏธ์ง€๋Š” nas๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์„ผํ„ฐ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ.

[Try] Travis CD ํ…Œ์ŠคํŠธ

๐Ÿค”์˜๋„

master branch๋กœ ํ’€๋ฆฌํ€˜๋ฅผํ• ๋•Œ๋Š” ๋ฆด๋ฆฌ์ฆˆ๊ฐ€์™„๋ฃŒ๋˜์–ด์„œ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ด๋ผ์„œ ์ด ์ƒํ™ฉ์—์„œ๋Š” gatsby๋กœ ๋ฐฐํฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ

https://github.com/Hansanghyeon/4log/blob/73dab7c00fb490c074b9c16197ce59c7ca6856d7/.travis.yml#L20-L29

[Feature] ์ธ๋„ค์ผ์ถ”๊ฐ€

๊ธ€ ์ƒ์„ธํŽ˜์ด์ง€์—์„œ ์ƒ๋‹จ์— ์ธ๋„ค์ผ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ๋” ์ข‹์„๊ฒƒ๊ฐ™๋‹ค!

[Feature] Text highlight

๊ธฐ๋Šฅ ๊ฐœ์š”

  • Text Color
  • Text background Color

๋‘˜์ค‘ ํ•œ๊ฐ€์ง€๋งŒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์„ค์ •ํ•˜๊ธฐ

[Try] Get and process data from browser window only on first render

#43

๋‹คํฌ๋ชจ๋“œ, ๋ผ์ดํŠธ๋ชจ๋“œ๋ฅผ ์ง€์ •ํ•˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€์žˆ๋Š”๋ฐ ์ด๊ฒƒ์€ ์บ์‹œ๊ฐ€์—†์ด ์ฒ˜์Œ์œผ๋กœ ๋ฐฉ๋ฌธ ํ–ˆ์„๋•Œ ์ผ์–ด๋‚˜๋Š” ํ˜„์ƒ?

์™œ? ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ–ˆ๋Š”๊ฐ€?

์บ์‹œ๊ฐ€์—†๋Š” ์ƒํƒœ์—์„œ๋งŒ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์ƒˆ๋กœ๊ณ ์นจ ํ–ˆ์„๋•Œ ์ •์ƒ์ ์œผ๋กœ ๋ณด์—ฌ์ง€๋‹ˆ๊นŒ.

๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด ๋ณผ ๊ฒƒ์ธ๊ฐ€?

์ฒซ ๋กœ๋”ฉ๋•Œ

window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches

์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•ด์„œ styled-components ๋ฅผ ๋ถ€์—ฌํ•ด์ฃผ๊ณ  ์ดํ›„์—๋Š” ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ overload ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋˜์ง€์•Š์„๊นŒ?

[Feature] wp post template ์ฝ”๋“œ๋ธ”๋Ÿญ

๐Ÿ“ฌ๋ฌด์—‡์„

gutenberg ๋ฐ์ดํ„ฐ๋กœ ๊ฐ€์ ธ์˜จ code ๋ธ”๋Ÿญ ๊ตฌํ˜„ prism ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด์šฉ

๐Ÿค”์™œ?

wp cms์—์„œ gutenbreg์—์„œ ๊ฐ ๋ธ”๋Ÿญ๋งˆ๋‹ค ๊ฐ€์ ธ์˜ค๊ณ  ๊ทธ ๊ฐ’์„ json์ด์–ด์„œ string ๊ฐ’์œผ๋กœ ๋ฐ›๋Š”๋‹ค
์˜ˆ์‹œ๋กœ

const codeblock = `<!-- wp:code -->\n<pre title=\"gatsby-config.js\" class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">module.exports = {\n  plugins: [\n    // You can have multiple instances of this plugin\n    // to create pages from React components in different directories.\n    //\n    // The following sets up the pattern of having multiple\n    // \"pages\" directories in your project\n    {\n      resolve: `gatsby-plugin-page-creator`,\n      options: {\n        path: `${__dirname}/src/account/pages`,\n      },\n    },\n    {\n      resolve: `gatsby-plugin-page-creator`,\n      options: {\n        path: `${__dirname}/src/settings/pages`,\n      },\n    },\n  ],\n}</code></pre>\n<!-- /wp:code -->\n\n<!-- wp:paragraph -->\n<p>์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํŽ˜์ด์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณณ์˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝ ํ•  ์ˆ˜ ์žˆ๋‹ค.</p>\n<!-- /wp:paragraph -->`

์œ„์™€ ๊ฐ™์ด ๋ฐ›์•„์˜จ๋‹ค๊ณ ํ–ˆ์„๋•Œ
<pre> <code>๋ฅผ ๋ถ„๋ฆฌํ•ด์„œ ์‹ค์ œ ๋”์ฒ˜๋Ÿผ ์ œ์ž‘ํ•ด์•ผํ•œ๋‹ค. prism์˜ ํ•ด๋‹น ์˜ˆ์‹œ์ฒ˜๋Ÿผ ๊ตฌํ˜„ํ•˜๋ คํ•œ๋‹ค

const Prism = require('prismjs');
const loadLanguages = require('prismjs/components/');
loadLanguages(['haml']);

// The code snippet you want to highlight, as a string
const code = `= ['hi', 'there', 'reader!'].join " "`;

// Returns a highlighted HTML string
const html = Prism.highlight(code, Prism.languages.haml, 'haml');
  • ๋‚ด๋ถ€ ์ฝ”๋“œ ํ…์ŠคํŠธ์˜์—ญ๋งŒ ๊ฐ€์ ธ์˜ค๊ธฐ
  • code lang์˜ ์–ด๋–ค ํ™•์žฅ์ž์˜ ์ฝ”๋“œ์ธ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ

[Try] DarkMode Redux๋กœ ๊ตฌํ˜„

ํ˜„์žฌ๋Š” gatsby-use-dark-mode๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค ํ•˜์ง€๋งŒ ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ•ด์ฃผ๋Š” ์—ญํ™œ์„ ์ „์—ญ์—์„œ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€์žˆ์–ด์„œ Redux๋กœ ๋‹คํฌ๋ชจ๋“œ์˜ ์ƒํƒœ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹์„ ๊ฒƒ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋””๋ฐ”์ด์Šค์˜ ํ˜„์žฌ ํ…Œ๋งˆ๋ชจ๋“œ๋ฅผ ๊ฐ€์ ธ์™€์„œ ํ™œ์„ฑํ™”ํ•ด์ค„๋•Œ๋„ ํ•„์š”ํ•  ๊ฒƒ๊ฐ™๋‹ค.

[BUG] static state useDarkMode value

use-dark-mode ํŒจํ‚ค์ง€๋กœ ๊ตฌ์„ฑํ•ด์„œ dark-mode์œ ๋ฌด๋ฅผ ๊ฐ€๋ ค์„œ value๊ฐ’์„ props๋กœ ๋„˜๊ฒจ ์Šคํƒ€์ผ์„ ์ง€์ •ํ•ด์คฌ๋‹ค.
gatsby์—์„œ gatsby clean && gatsby build && gastby serve ํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด๋ฉด
styled-components props๋กœ darkMode.value๋กœ ์ง€์ •ํ•ด์คฌ๋˜ ๋ฐฐ๊ฒฝ์ƒ‰๊ฐ’๋“ค์ด ์žฌ๋Œ€๋กœ ์ง€์ •๋˜์ง€ ์•Š๋Š” ๋ชจ์Šต์ด ๋ณด์ธ๋‹ค. ์ด๊ฒƒ ๋˜ํ•œ styled-components์˜ ์˜ค๋ฅ˜์ธ์ง€ ์ฐพ์•„๋ด์•ผํ•  ๊ฒƒ๊ฐ™๋‹ค.

[Feature] Related article

๋ณด๊ณ ์žˆ๋Š” ๊ธ€์˜ ๊ด€๋ จ๋œ ๋‚ด์šฉ์˜ ๊ธ€์„ ๋ณด์—ฌ์ฃผ๋ฉด ์ข‹์„ ๊ฒƒ๊ฐ™๋‹ค.

[Feature] tag template ํŽ˜์ด์ง€์ œ์ž‘

์ง€๊ธˆ์€ ์ปจํ…์ธ ๋ฅผ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ๊ตฌ์„ฑํ•˜๊ธฐ ํž˜๋“ค์–ด์„œ ํƒœ๊ทธ๋ณ„๋กœ ๋‚˜๋ˆ ์„œ ๋ณด์—ฌ์ง€๋Š” ๊ฒƒ์œผ๋กœ ๋Œ€์ฑ„ํ•ด์„œ ๊ตฌํ˜„

[Feature] Storybook addon ์ถ”๊ฐ€

๐Ÿ“ฌ๋ฌด์—‡์„

npm i --save-dev @storybook/addon-viewport
์Šคํ† ๋ฆฌ๋ถ์—์„œ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋ชจ๋ฐ”์ผ ํƒœ๋ธ”๋ฆฟ์˜ ๋ทฐํฌํŠธ๋ฅผ ์ •ํ•ด์„œ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋‹ค.
https://github.com/storybookjs/storybook/tree/master/addons/viewport

๐Ÿค”์™œ?

์ง์ ‘ ๋ทฐํฌํŠธ๋ฅผ ์ง€์ •ํ•ด์ค˜๋„ storybook์˜ ui ํŒจ๋„๋“ค๊ณผ ๊ฒน์ฒ˜์„œ ์žฌ๋Œ€๋กœ๋œ ๋ทฐํฌํŠธ๋ฅผ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์—†๋‹ค.

[Feature] Layout ๋ผˆ๋Œ€๊ตฌ์„ฑํ•˜๊ธฐ

  • Layout system ์‚ฌ์šฉ
  • Blog Design Variation

https://dan4log.com/
์›๋ž˜ ํ™ˆํŽ˜์ด์ง€๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋ฉด์„œ ์›ํ•˜๋Š” ๋””์ž์ธ๊ณผ ์ธํ„ฐ๋ ‰์…˜์„ ์ฒจ๋ถ€ํ•ด์„œ ์กฐ๊ธˆ ๋ณ€ํ™”๋ฅผ ์ฃผ๊ธฐ

blog ์ฐธ๊ณ 
https://feel5ny.github.io/

[Feature] insert Blog header custom container

๋ธ”๋กœ๊ทธ thumbnail ์˜์—ญ์—์„œ ์›ํ•˜๋Š” ์ธํ„ฐ๋ ‰์…˜ ์š”์†Œ๋ฅผ ๋„ฃ๊ณ ์‹ถ์„๋•Œ๊ฐ€ ๋งŽ๋‹ค. ํ‰๋ฒ”ํ•œ ๋ธ”๋กœ๊ทธ๋กœ ๋งŒ๋“ค๊ณ ์‹ถ์ง€ ์•Š์œผ๋‹ˆ๊นŒ
์ƒ๊ฐํ•˜๋‹ค๊ฐ€ ํ˜„์žฌ๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ ํ–ˆ๋Š”๋ฐ ์ด ๋ถ€๋ถ„์„ ์ด๋ฏธ์ง€์˜ ์‚ฌ์ด์ฆˆ ๋ฐ ๋น„์œจ์— ๋งž๊ฒŒ ์˜์—ญ์„ ์ฐจ์ง€ํ•˜๊ฒŒ ์ œ์ž‘ํ•˜๊ณ  ์ด๋ฏธ์ง€๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๋„ฃ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ ํ•˜๋ฉด ์–ด๋–จ๊นŒ?

[Try] Logo animation

anime.js๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋กœ๊ณ  ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋งŒ๋“ค๊ธฐ
anime.js๋กœ ๋กœ๊ณ  ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ผ๋‹จ ๋กœ๊ณ ๋ฅผ SVG๋กœ ๋ฝ‘์•„ ๋‚ด์•ผํ•œ๋‹ค!

[Feature] comment

@utterances utterances github plugin์œผ๋กœ ๋ธ”๋กœ๊ทธ ์ฝ”๋ฉ˜ํŠธ ์ œ์ž‘ํ•˜๊ธฐ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.