Skip to content

Commit

Permalink
Update ko (#72)
Browse files Browse the repository at this point in the history
* docs: better mp banner

* chore: up deps

* docs: wording

* docs: update links to vue docs (vuejs#2522)

* docs: add links to playground examples in introduction.md (vuejs#2512)
  • Loading branch information
niceplugin authored Dec 16, 2023
1 parent ee13ccd commit 77e71ff
Show file tree
Hide file tree
Showing 10 changed files with 2,033 additions and 809 deletions.
96 changes: 70 additions & 26 deletions docs/.vitepress/theme/components/AsideSponsors.vue
Original file line number Diff line number Diff line change
@@ -1,38 +1,82 @@
<script setup>
const banners = [
{
id: 1,
name: 'Vue.js Certification',
link: 'https://certificates.dev/vuejs?friend=VUEROUTER',
image: '/banners/vuejs-certification.svg',
},
{
id: 2,
name: 'Mastering Pinia',
link: 'https://masteringpinia.com',
image: '/banners/mastering-pinia.png',
},
]
</script>

<template>
<a
v-for="banner in banners"
:key="banner.id"
:href="banner.link"
class="mp-banner"
href="https://masteringpinia.com?utm=pinia-sidebar"
target="_blank"
:class="`banner_image_${banner.id}`"
>
<img :src="banner.image" :alt="banner.name" />
<img width="22" height="22" src="/mp-pinia-logo.svg" />
<span>
<p class="extra-info">Complete guide to</p>
<p class="heading">Mastering Pinia</p>
<p class="extra-info">written by its creator</p>
</span>
</a>

<a
class="banner"
href="https://certificates.dev/vuejs?friend=VUEROUTER"
target="_blank"
>
<img src="/banners/vuejs-certification.svg" alt="Vue.js Certification" />
</a>
</template>

<style scoped>
.banner_image_1 {
padding: 25px 10px 0px 0px;
.banner {
margin-bottom: 0.5rem;
}
.mp-banner {
margin: 1rem 0;
padding: 0.4rem 0;
border-radius: 14px;
position: relative;
font-size: 0.9rem;
font-weight: 700;
line-height: 1.1rem;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
gap: 1rem;
background-color: var(--vp-c-bg-alt);
border: 2px solid var(--vp-c-bg-alt);
transition: border-color 0.5s;
}
.mp-banner:hover {
border: 2px solid var(--vp-c-brand-1);
}
.mp-banner img {
transition: transform 0.5s;
transform: scale(1.25);
}
.mp-banner:hover img {
transform: scale(1.75);
}
.mp-banner .extra-info {
color: var(--vp-c-text-1);
opacity: 0;
font-size: 0.7rem;
padding-left: 0.1rem;
transition: opacity 0.5s;
}
.mp-banner .heading {
background-image: linear-gradient(
120deg,
var(--vp-c-brand-3) 16%,
var(--vp-c-brand-2),
var(--vp-c-brand-1)
);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.banner_image_2 {
padding: 15px 10px 15px 0px;
.mp-banner:hover .extra-info {
opacity: 0.9;
}
</style>
1 change: 1 addition & 0 deletions docs/.vitepress/theme/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import DefaultTheme from 'vitepress/theme'
import AsideSponsors from './components/AsideSponsors.vue'
// import AsideSponsors from './components/AsideSponsors.vue'
import './styles/vars.css'
import './styles/playground-links.css'
import VueSchoolLink from './components/VueSchoolLink.vue'
import VueMasteryLogoLink from './components/VueMasteryLogoLink.vue'

Expand Down
17 changes: 17 additions & 0 deletions docs/.vitepress/theme/styles/playground-links.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
.vp-doc a[href^="https://play.pinia.vuejs.org"]:before {
content: 'β–Ά';
width: 20px;
height: 20px;
display: inline-block;
border-radius: 10px;
vertical-align: middle;
position: relative;
top: -2px;
border: 2px solid;
margin-right: 8px;
margin-left: 4px;
line-height: 15px;
padding-left: 4.5px;
font-size: 11px;
font-family: system-ui, BlinkMacSystemFont, sans-serif;
}
4 changes: 2 additions & 2 deletions docs/core-concepts/actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ href="https://vueschool.io/lessons/synchronous-and-asynchronous-actions-in-pinia
title="Learn all about actions in Pinia"
/>

μ•‘μ…˜μ€ μ»΄ν¬λ„ŒνŠΈμ˜ [λ©”μ„œλ“œ](https://vuejs.kr/guide/essentials/reactivity-fundamentals.html#declaring-methods)와 λ™μΌν•©λ‹ˆλ‹€.
μ•‘μ…˜μ€ μ»΄ν¬λ„ŒνŠΈμ˜ [λ©”μ„œλ“œ](https://ko.vuejs.org/api/options-state.html#methods)와 λ™μΌν•©λ‹ˆλ‹€.
이듀은 `defineStore()`μ—μ„œ `actions` μ†μ„±μœΌλ‘œ μ •μ˜ν•  수 있으며,
**μ²˜λ¦¬ν•΄μ•Ό ν•  μž‘μ—…μ˜ λ‘œμ§μ„ μ •μ˜ν•˜λŠ” 데 μ™„λ²½ν•©λ‹ˆλ‹€**:

Expand Down Expand Up @@ -183,7 +183,7 @@ export default {
`store.$onAction()`에 μ½œλ°±μ„ 전달해 μ•‘μ…˜κ³Ό κ·Έ κ²°κ³Όλ₯Ό κ°μ‹œν•  수 있으며, μ•‘μ…˜λ³΄λ‹€ λ¨Όμ € μ‹€ν–‰λ©λ‹ˆλ‹€.
`after`λŠ” ν”„λΌλ―ΈμŠ€(promise)λ₯Ό μ²˜λ¦¬ν•˜κ³ , μ•‘μ…˜μ΄ ν•΄κ²°(resolve)된 ν›„, ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.
λΉ„μŠ·ν•œ λ°©μ‹μœΌλ‘œ `onError`λ₯Ό μ‚¬μš©ν•˜λ©΄, μž‘μ—…μ΄ μ‹€νŒ¨(throw)λ˜κ±°λ‚˜ κ±°λΆ€(reject)λ˜λŠ” 경우, ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ΄λŠ” [Vue λ¬Έμ„œμ—μ„œ μ–ΈκΈ‰ν•˜λŠ” 팁](https://vuejs.kr/guide/best-practices/production-deployment.html#tracking-runtime-errors)κ³Ό μœ μ‚¬ν•˜κ²Œ λŸ°νƒ€μž„μ— 였λ₯˜λ₯Ό μΆ”μ ν•˜λŠ” 데 μœ μš©ν•©λ‹ˆλ‹€.
μ΄λŠ” [Vue λ¬Έμ„œμ—μ„œ μ–ΈκΈ‰ν•˜λŠ” 팁](https://vuejs.org/guide/best-practices/production-deployment#tracking-runtime-errors)κ³Ό μœ μ‚¬ν•˜κ²Œ λŸ°νƒ€μž„μ— 였λ₯˜λ₯Ό μΆ”μ ν•˜λŠ” 데 μœ μš©ν•©λ‹ˆλ‹€.

λ‹€μŒμ€ μ•‘μ…˜μ„ μ‹€ν–‰ν•˜κΈ° μ „κ³Ό ν•΄κ²°/κ±°λΆ€ 이후λ₯Ό μ½˜μ†”μ— κΈ°λ‘ν•˜λŠ” μ˜ˆμ œμž…λ‹ˆλ‹€.

Expand Down
2 changes: 1 addition & 1 deletion docs/core-concepts/plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ pinia.use(({ store }) => {
})
```

λͺ¨λ“  μŠ€ν† μ–΄λŠ” [`reactive`](https://vuejs.kr/api/reactivity-core.html#reactive)둜 λž˜ν•‘λ˜λ©°,
λͺ¨λ“  μŠ€ν† μ–΄λŠ” [`reactive`](https://ko.vuejs.org/api/reactivity-core#reactive)둜 λž˜ν•‘λ˜λ©°,
λͺ¨λ“  Ref(`ref()`, `computed()`, . ..)λŠ” μžλ™μœΌλ‘œ μ–Έλž˜ν•‘λ©λ‹ˆλ‹€:

```js
Expand Down
8 changes: 8 additions & 0 deletions docs/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ counter.increment()
</template>
```

[Try it in the Playground](https://play.pinia.vuejs.org/#eNqNVM1O3DAQfpVpVGkXQWIQLYfVgqCIQ3toq9JjLsEZWNPEtuzJstUqb9IH6HP1STq2k/2hFeKyG49nvvnmsz+vsytri2WH2Sybe+mUJfBInb0otWqtcQRr6Dxem04TulsyDqGHe2damBRCpnDx6CelLrU02hMMQTh/Xjg9SEmpJv4fHpZaCHhStICqIyNNaxskZTT8+fV7m/zWViQX03UCn409Eggcwgn0DM5IxnFXpR+g0lDJCKSYFFb1Fkxp6bBFTYHQXKSxeWBeEHL/ipBXAPM3eQ5XUqL3QAsET7wDtXIoqfmZREjxoEqep6JaLS+uO+cYH+L0M1gPvDeE+34uQl5ov2mZHWVJ8rytLEtqNB/KOmCWw4YvMwYLkRCzSqsqRMpMxO8CfZvfOfPk45GU2dGYesknLGpckjGNzyurUtmCyPqZELLWnF9jo5au0EhC21b8U3N5VrwvTkSj7gQ3EkrXuNpvwxV5je1r0MfUy+Pi5F1xFlGXpwNoG1ADaF/qnmUhzzfrXj08EyVcFtWg+2LDOe+LUzWNefoUY+Q63FCUC5Q//hN/9KvE+qtDlm+JO2NR5R6Q0vbN7Wdc8fdmszV113D2C5vf0JumCxxT2odO10x7Jy+y/RjPmO/ud3+zItR+HCoQjWrE/Cjz9Qujb+meFqc7Km7NyhJuzF3jvdK4b+x4m6KjcRXTkrGfvwPnu8XTyYA/OUpUoltmMD2A84uRnOOnxWnuOtj4OHAbB2P3cripoWq8gTt2WkTntR+29yC3jwGjsJFh8LvfSLHj8zEEbFjlt29PiKTu4bc/yPq/puS2IQ==)

κ³ κΈ‰ μ‚¬μš© λͺ©μ μœΌλ‘œ ν•¨μˆ˜(μ»΄ν¬λ„ŒνŠΈ `setup()`κ³Ό μœ μ‚¬)λ₯Ό μ‚¬μš©ν•˜μ—¬ μŠ€ν† μ–΄λ₯Ό μ •μ˜ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€:

```js
Expand All @@ -96,6 +98,8 @@ export const useCounterStore = defineStore('counter', () => {
})
```

[Try it in the Playground](https://play.pinia.vuejs.org/#eNqNVEFu2zAQ/MpWKGAHscQGaXMwnCBpkEN7aIumR10Uah0zlUiCXCkuDP2kD+i7+pIuSVt20iLoSeJydnZ2yOUmu7K26DvM5tnCS6csgUfq7EWpVWuNI9hA5/HadJrQ3ZJxCAMsnWlhUgiZwsWDn5S61NJoT7ANwvnzxOlRAqWc+D0+LrUQ8KhoBVVHRprWNkjKaPj989ce/NpWJFfTTSKf72okEjiGExiYnJmM46pK30OloZKRSLEorOo9mdLSYYuagqCFSG1zw7wg5PoVIa8AFq/yHK6kRO+BVgieeAdq5VBS8yOZkOLBlTxPSbXqL64755gfYvdz2Gx1j4KHYSECLpQfS2azLFmet5VlS43mQ9kEznK74cuMyUIkxKzSqgqRMhPxv0Df5nfOPPp4JGU220Ev+YRFjT0Z0/i8siqlrYisnwsha834GhvVu0IjCW1b8VfO5VnxrjgRjboTXEgoXeP6aRnOyGts/4d9B718U5y8Lc4ia3+6JW0DayAdSj2wLeT5Zi3V/TNTwmVRDbrPNpzzU3OqpjGPH2OMXIejRLlC+f0f8Qe/Tqq/OGT7ejxoiyp3j5S2b24/4Zr/x83W1F3D6Bc2v6I3TRc0Jtj7Ttcs+wAX1X6IZ8x395u/WRNqv2sqCI1uRHy0+fqF1vdyT4vTAxf3w8oWjsPtcDkONBPzHI9bNS6VxqczHy9aHHZcR1ia+edPxPlh8nSyLT2ZwfQIzi+S1oPXgvGsY/qG5xFg2end4I5zuusuoou+ajoMT0fsLXwcv1lOs+YImO1TY/NH2fAHelGuuQ==)

아직 `setup()` 및 μ»΄ν¬μ§€μ…˜ API에 μ΅μˆ™ν•˜μ§€ μ•Šλ”λΌλ„ ν”Όλ‹ˆμ•„λŠ” [Vuex와 같은 맡 헬퍼](https://vuex.vuejs.org/guide/state.html#the-mapstate-helper)와 같은 μ„ΈνŠΈλ₯Ό μ§€μ›ν•˜λ―€λ‘œ κ±±μ •ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.
μŠ€ν† μ–΄ μ •μ˜ 방식은 κ°™μ§€λ§Œ, `mapStores()`, `mapState()` λ˜λŠ” `mapActions()`λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€:

Expand Down Expand Up @@ -132,6 +136,8 @@ export default defineComponent({
})
```

[Try it in the Playground](https://play.pinia.vuejs.org/#eNqdVcFy0zAQ/RWNL0lpIrUUesikmRTooRyAoXDCHBxrm6i1JY8kp5nJ+N9ZS7bsOIFhekmk1b7dt0/a9T66LQq6LSGaRXOTalHYRSxFXihtyZ5weBQSPircS5CWVORRq5yMEDDqueVJ8WCVBjPxy8SCW92mVihpAqwQUiR9YGkweCktaIcPjpSl3kyfzMD/pzl2RnPjGUvYOV9knpSZ++9XMN7HkpAUt6UFPiNuSwhjRNkN6HBCCq0K0FaACR6U0rBeiy0YkqQpGEOsInYjDG04e3aJ5N5ak3MmD8YoQa7xoP7JQYFnk0E6DQk/mbNLxlW5ygaZ8DaOE/0aOeRoQkYeM/rt81XuNwe7Udz0BTpZspCphrwW9qyftLn4U2kDop+wQvSchfeHGwt5kSFz3BEy52K7cIGQ0B4vqQvZCFBVc1Y7Be9Prijn7us7dFmV1ipJlmkm0uebOAqs4mhx367nzLshZM4CoWgS+fc4xULx1SmJveNkwjDuwMRREC6O3KOvLXHE3JqCyacrrV78q42j5p7jaIl9xThsrVKZmSaF8LCNtYWZMZZyif4cMrHVVIJlssjZEWZ5Td/TS5aJFcNETEgOu8M0iJhyyP8neuu6vKCX7+i1i7q9aoLmdVR3hXiDKIs1qZKPYj0Qpe4pkYH+WrhHcSBOkmXq5bOzWV1CoJhuIH0+YX8yO8/6G7YP6C30yrKJXgNeYH189/AFdrgOh7niJTbGvw6/g1FZWXP0bh9KyZF2z8+xvXd3LOT6h7nbWZCmLaom2nWQk7meO38rvaN7Ra96KnaTDyUcTOLDwdeO0zD0UH5jj4bqTR889n0PGjvfUTH1fJiR8Rm5WZBx01wzckEq357IEb27SeC7CQEO6FBu1TTiG/K2N0YSPwcCuDcuWhPpzbHzc2/z4HYwoCbNgH+9IN1XY6BGHbmVop3xLmn1B2TmaJo=)

핡심 κ°œλ…μ—μ„œ 각 "맡 헬퍼"에 λŒ€ν•œ μžμ„Έν•œ 정보λ₯Ό 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.

## μ™œ ν”Όλ‹ˆμ•„μΈκ°€? %{#why-pinia}%
Expand Down Expand Up @@ -191,6 +197,8 @@ export const useTodos = defineStore('todos', {
})
```

[Try it in the Playground](https://play.pinia.vuejs.org/#eNqtVs1y2zYQfpU1L5QdmUzGbQ4cyWO3k86kh7STuKcwB4pcWohJgIMfWRqVb9IH6HP1SboA+Cu7nkzbiygQu99++Haxy2Nw2zTRzmCQBCuVS9ZoUKhNc51yVjdCajiCxBJaKKWoISTTcLKltJB4Jz5iqQaThnGWTY2MIpNCjBZRrO06+qrILOW54EqDe/XJ4sF6cFmc99tHKFmlUS67JxY95nrKYjHCkGvvzPHRWt/hXpM5nWcRhm67NDzXTHDICoe3OIdjygFYCYuziVe0yyqD3SYQgjaS3AFaiwIT8lGP9NTbGj55S3xCUoFwVrFPAElPC411U2UaaQWwqrINVtcrxhujYXdZiwKrdRp4KdIA9KFBWsusYIKWDpnWWVWlwTXcVtUq9hD/Ba2kxKotFhbyp+7//4Fr+BT5t2E1w95K/zR+baMxilEKSQhWfmB8XhoUIXnAQ7cdMYvuXcn5lKM3Uf2xRrL5FvOHjdhPnI9Hl+9I23JqKXMOMa6YZxh3FDs5/PYHfATLKumsT+NP6mKMbQPQ6oZO0UhUKkJOx7N59TXWcZrptDFaUz0nBVPZpsKCrKeFbOHyiuUPM5TbgsT2noSyiofiC5aBv8aXddbQfRWcGoW7BGm3QTIn/bVIA3f37Zs0iN3/CFV9uZHiUaEk/zRY9qY31EriAndaiEpdZg3zblutG5XEcV5wsidx2E5GHHXMmzp+4nPzNvo+ekPSb2IKFDNe4H4ehjwuC6y/Bb03vXkdvfkueutQd1cdaG1RuxvfkixaUWsp2f2JKLmoG1ah/KWxbWUuDt1G8fize6elwYGiK7Fn3n9VVHWW9a+UfJQ7nBxLZ/IeKZt2+92nDy6zwyYVlanI+oXNj6hEZSxHb/aD4QXRntg5tu9djhm/v1Pv9hq56g9liTo1nL2T+ccXjj7SvYqupip2c4AEHMZFgdQA0E+C05mSctw7M9/Xh8mynnotQgcbLn18pamSE6DWvr6GRUcpvriAG3vN3G0mhRKyk3TQJbAiAW7qjZ01Y0dIYENFhxmH9vOXFi5ij+MiJfD5S6fbBDckBUP4HcK+n7nF2OzCEcX3rQScS48UuzYAj6yqYIOQGS3qTLOcbA7U7EqU1OmIQEfWe5E++j2Rfe1Q2nP3IOkJnmh2h+8Z+BHr9BlGmwtsY9lKrtCm8gz++uPPftePPi9q5NPn2S/c6HUinzRTN/j6UgEYFXg+/rdEOHs5BGWhQ6NseDz17xLdw8wS9U/M7VeD3rKeL6zXNNyHdE8Mncg2kSD0lgy7BFGu9fZE/Kn2gzZdkImKvUkLWCl8nsmk9GZcpqAnyRlgT5LjbF1upsL738x9UY3VZuuJHyCrheEaRAnUC0xNo0wte7gMGrrmjIgLCVxo79h/SdmszevzIAzJx6FgEnNN16E2NhVEC33d9LYjz6gxarvwJeBT7/b8fXn1al4BZWZFbGdVZX/b86D9GztAvyY=)

## Vuex와 비ꡐ %{#comparison-with-vuex}%

ν”Όλ‹ˆμ•„λŠ” Vuex 5에 λŒ€ν•œ 핡심 νŒ€ ν† λ‘ μ˜ λ§Žμ€ 아이디어λ₯Ό ν†΅ν•©ν•˜μ—¬,
Expand Down
Binary file removed docs/public/banners/mastering-pinia.png
Binary file not shown.
30 changes: 30 additions & 0 deletions docs/public/mp-pinia-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 77e71ff

Please sign in to comment.