Locations Plugin ๐ŸŒ

ํ›Œ๋ฅญํ•œ ์ž‘์—…์ด๋„ค์š”, Robert @merefield :clap::tada:

์ „:

ํ›„:


๋˜ ๋‹ค๋ฅธ ์ „:

ํ›„:

์™„๋ฒฝํ•ฉ๋‹ˆ๋‹ค - ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :grinning_face_with_smiling_eyes:

1๊ฐœ์˜ ์ข‹์•„์š”

์ •๋ง ํ›Œ๋ฅญํ•ด์š”, @merefield๋‹˜๊ป˜ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค :+1: :clap:

์—ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”. ์ด์ œ ์™„๋ฒฝํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์Šคํฌํ†ฑ ๋ฒ„์ „ ์Šคํฌ๋ฆฐ์ƒท:

์ƒˆ ์ค„๋กœ ๋‚˜๋ˆ„๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ฐ”์ผ์šฉ์œผ๋กœ๋Š” ์—ฌ๋ฐฑ๊ณผ ๊ธ€์ž ํฌ๊ธฐ๋ฅผ ์กฐ๊ธˆ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

2๊ฐœ์˜ ์ข‹์•„์š”

์ฝ์ง€ ์•Š์€ ๊ฒŒ์‹œ๋ฌผ์ด ์žˆ์„ ๋•Œ ๋ ˆ์ด์•„์›ƒ์ด ์•ฝ๊ฐ„ ๊นจ์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ๊ธˆ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค - ํ˜„์žฌ ์œ„์น˜๊ฐ€ ์—†๋”๋ผ๋„์š”:

@merefield ์œ„์น˜๊ฐ€ ์žˆ์„ ๋•Œ๋งŒ <span class="location-after-title"></span>์„ ํ‘œ์‹œํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ๊ฐ€์š”?
์•„๋‹ˆ๋ฉด ๋” ์ข‹๊ฒŒ, ๋ฒ„๋ธ”์„ ์ƒ์„ฑํ•˜๋Š” <span class="topic-post-badges">...</span> ๋’ค์— <span class="location-after-title"></span>์„ ๋ฐฐ์น˜ํ•˜๊ณ , ์œ„์น˜๊ฐ€ ์žˆ์„ ๋•Œ๋งŒ ํ‘œ์‹œํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–จ๊นŒ์š”?

1๊ฐœ์˜ ์ข‹์•„์š”

ํ•ฉ๋ฆฌ์ ์ธ ๊ฐœ์„ ์•ˆ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์ž‘์—…ํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” PR์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

1๊ฐœ์˜ ์ข‹์•„์š”

ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„ ์™„๋ฃŒ:

@Roi

3๊ฐœ์˜ ์ข‹์•„์š”

@merefield ์˜ค, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋ฐฉ๊ธˆ ์—…๋ฐ์ดํŠธ๋ฅผ ์ ์šฉํ•˜๊ณ  CSS ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋˜๋Œ๋ ธ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๊ดœ์ฐฎ์•„ ๋ณด์ž…๋‹ˆ๋‹ค. ์ฝ์ง€ ์•Š์€ ๊ฒŒ์‹œ๋ฌผ์ด ์žˆ์„ ๋•Œ ์–ด๋–ป๊ฒŒ ๋ณด์ผ์ง€ ์ง€์ผœ๋ด์•ผ๊ฒ ๋„ค์š”. ๊ณ„์† ์•Œ๋ ค๋“œ๋ฆด๊ฒŒ์š”. :slight_smile:

2๊ฐœ์˜ ์ข‹์•„์š”

์ €๋Š” ํ…Œ๋งˆ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ ํ˜„์žฌ๋กœ์„œ๋Š” ์ด๊ฒƒ์ด ์‚ฌ์šฉ์ž์˜ "๋‹คํฌ ๋ชจ๋“œ"์™€ ์ž๋™์œผ๋กœ ์ „ํ™˜๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ง€์ •๋œ "๋‹คํฌ ํ…Œ๋งˆ"์— ์ถ”๊ฐ€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์ด ์œ„์— ๋” ๋ฐœ์ „์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์œ ์šฉํ•œ ์ง„์ „์ž…๋‹ˆ๋‹ค:

:root {
  --map-tiles-filter: brightness(0.6) invert(1) contrast(3) hue-rotate(200deg) saturate(0.3) brightness(0.7);
}

.locations-map {
  .leaflet-tile-pane  {
    filter:var(--map-tiles-filter, none);
  }
  .leaflet-marker-shadow {
    display: none;
  }
}

3๊ฐœ์˜ ์ข‹์•„์š”

๋ฐฉ๊ธˆ ๊ทธ๊ฑธ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์™€์„œ ์ €ํฌ ๋‹คํฌ ํ…Œ๋งˆ์— ์ ์šฉํ–ˆ์–ด์š”.

Before:

After:

:star_struck:

๊ณ ๋งˆ์›Œ์š”, Robert :smiley: :clap:

4๊ฐœ์˜ ์ข‹์•„์š”

๊ดœ์ฐฎ์•„์š”, ๋‹คํฌ ๋ชจ๋“œ ์ „ํ™˜ ๊ธฐ๋Šฅ์ด ๊ฐ€๋Šฅํ•ด์ง€๋ฉด ์ด ๋™์ž‘์„ ๋„ค์ดํ‹ฐ๋ธŒ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

3๊ฐœ์˜ ์ข‹์•„์š”

@merefield ์ด ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! :slight_smile: ํ›Œ๋ฅญํ•œ ์ ‘๊ทผ๋ฒ•์ด๋„ค์š”!

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ˜„์žฌ ์‹œ์ ์—์„œ๋Š” ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ตฐ์š”. ์ €๋Š” ํ…Œ๋งˆ๊ฐ€ ํ•˜๋‚˜๋ฟ์ด๊ณ  ๋‘ ๊ฐ€์ง€ ์ƒ‰์ƒ(๋ผ์ดํŠธ์™€ ๋‹คํฌ)์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ์Šค์œ„์น˜๋ฅผ ํ†ตํ•ด ๋ผ์ดํŠธ์™€ ๋‹คํฌ ๋ชจ๋“œ๋ฅผ ์ „ํ™˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ง์”€ํ•˜์‹  ๋Œ€๋กœ ์ „ํ™˜ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Œ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. :slight_smile:

๊ฐ™์€ ๋™๋„ค/๋„์‹œ์— ์žˆ๋Š” ๋ฉค๋ฒ„๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์ง€๋ฆฌ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์€ ์–ด๋–จ๊นŒ์š”?

์‚ฌ์šฉ์ž ํƒญ์— ์žˆ์œผ๋ฉด ์ •๋ง ์™„๋ฒฝํ•  ๊ฒƒ ๊ฐ™์•„์š”!

์ข‹์€ ์•„์ด๋””์–ด์ง€๋งŒ, ํ™•๋Œ€ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ง€๋„ ๋•Œ๋ฌธ์— ๊ทธ ํšจ๊ณผ๊ฐ€ ๋‹ค์†Œ ์•ฝํ™”๋ฉ๋‹ˆ๋‹ค.

2๊ฐœ์˜ ์ข‹์•„์š”

๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ํšŒ์›๋“ค์€ ๊ทธ๋ƒฅ ์ง€๋„๋ฅผ ์—ด์–ด ์ž๊ธฐ ์ฃผ๋ณ€์— ๋ˆ„๊ฐ€ ์žˆ๋Š”์ง€ ๋‘˜๋Ÿฌ๋ณด๋Š” ๊ฑฐ์ฃ  :blush:

2๊ฐœ์˜ ์ข‹์•„์š”

๋กœ๋ฒ„ํŠธ๋‹˜, ์•ˆ๋…•ํ•˜์„ธ์š”!

์ •๋ง ๋ฉ‹์ง„ ์•„์ด๋””์–ด๋„ค์š”! ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค. :slightly_smiling_face:

color_definitions.scss์—์„œ ์ปค์Šคํ…€ dark-light-choose()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

$dark-theme-map-tiles-filter: brightness(0.6) invert(1) contrast(3) hue-rotate(200deg) saturate(0.3) brightness(0.7);
$light-theme-map-tiles-filter: none;

$dark-theme-map-marker-shadow-display: none;
$light-theme-map-marker-shadow-display: block;

$map-tiles-filter: dark-light-choose($light-theme-map-tiles-filter, $dark-theme-map-tiles-filter);
$map-marker-shadow-display: dark-light-choose($light-theme-map-marker-shadow-display, $dark-theme-map-marker-shadow-display);

:root {
  --map-tiles-filter: #{$map-tiles-filter};
  --map-marker-shadow-display: #{$map-marker-shadow-display};
}

๊ทธ ๋‹ค์Œ locations.scss๋‚˜ ๋‹ค๋ฅธ ์ ์ ˆํ•œ ์œ„์น˜์— ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹คโ€ฆ

.locations-map {
  .leaflet-tile-pane  {
    filter: var(--map-tiles-filter);
  }
  .leaflet-marker-shadow {
    display: var(--map-marker-shadow-display);
  }
}
4๊ฐœ์˜ ์ข‹์•„์š”

์˜ค, @Don ๊ณ ๋งˆ์›Œ์š”. ๋‹ค๋ฅธ ์ ‘๊ทผ๋ฒ•์ด๋„ค์š”, ํ•œ๋ฒˆ ์‹œ๋„ํ•ด๋ณผ๊ฒŒ์š” :+1:

2๊ฐœ์˜ ์ข‹์•„์š”

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, ์ •๋ง ์ข‹์Šต๋‹ˆ๋‹ค. :+1:

๋ฐฉ๊ธˆ ํ…Œ์ŠคํŠธํ•ด ๋ณด์•˜๋Š”๋ฐ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค! :slight_smile: ๋ฉฐ์น  ์ „์—๋„ color_definitions.scss๋ฅผ ์ด์šฉํ•ด ์ด๊ฑธ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ, ์–ด์งธ์„œ์ธ์ง€ ํ•ญ์ƒ ๋ฌธ๋ฒ•์—์„œ ๋ง‰ํ˜”์Šต๋‹ˆ๋‹คโ€ฆ

1๊ฐœ์˜ ์ข‹์•„์š”

์•ˆ๋…•ํ•˜์„ธ์š”

๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ ์ดํ›„๋กœ ์ข€ ์˜์™ธ์ž…๋‹ˆ๋‹ค :-/

ํ† ํ”ฝ ์ œ๋ชฉ ๋’ค์— ์œ„์น˜/์ฃผ์†Œ๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š๋Š” ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

1๊ฐœ์˜ ์ข‹์•„์š”

๊ทธ๊ฒƒ์ด ์š”์ฒญ์˜ ํ•ต์‹ฌ์ด์—ˆ์œผ๋ฉฐ, ์ดํ›„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋„ ๋ฐ”๋กœ ๊ทธ ๋ชฉ์ ์„ ์œ„ํ•œ ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ Span์ด๋ฏ€๋กœ CSS๋ฅผ ์‚ฌ์šฉํ•ด ์›ํ•˜๋Š” ๋Œ€๋กœ ์Šคํƒ€์ผ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :slight_smile:

๊ทธ์ „์—๋Š” ๋ถˆ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค.

์œ„์น˜(location) span์„ ํƒ€๊นƒ์œผ๋กœ ์ง€์ •ํ•˜๊ณ  display: block;์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ ์ค„๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํƒ€์ผ๋ง์— ๋„์›€์ด ํ•„์š”ํ•˜์‹œ๋‹ค๋ฉด Marketplace ์ฑ„๋„์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

1๊ฐœ์˜ ์ข‹์•„์š”

Robert @merefield ๋‹˜, ์ •ํ™•ํžˆ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์˜ˆ์‹œ๋ฅผ ์•Œ๋ ค ์ฃผ์‹ค ์ˆ˜ ์žˆ์„๊นŒ์š”? :thinking:

์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ด ์ž‘์—…์„ ๋งก์„ ์ˆ˜ ์žˆ์„ ๊ฑฐ๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ์ œ ์ง€์‹œ๋ฅผ ๋”ฐ๋ฅด์‹œ๋ฉด ์ž‘๋™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.