Skip to content

Commit 93cf83c

Browse files
committed
본가 머지
1 parent c030a1b commit 93cf83c

File tree

16 files changed

+146
-24
lines changed

16 files changed

+146
-24
lines changed

ko-KR/src/about/team/members-partner.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,28 @@
1616
"twitter": "MariaLamardo"
1717
}
1818
},
19+
{
20+
"name": "Daniel Roe",
21+
"title": "Framework Architect",
22+
"company": "Nuxt",
23+
"projects": [
24+
{
25+
"label": "nuxt",
26+
"url": "https://github.com/nuxt"
27+
},
28+
{
29+
"label": "typed-vuex",
30+
"url": "https://github.com/danielroe/typed-vuex"
31+
}
32+
],
33+
"location": "United Kingdom",
34+
"languages": ["English"],
35+
"socials": {
36+
"github": "danielroe",
37+
"twitter": "danielcroe",
38+
"linkedin": "daniel-roe"
39+
}
40+
},
1941
{
2042
"name": "Pratik Patel",
2143
"avatarPic": "https://pbs.twimg.com/profile_images/1541624512/profile-pic-09-11-2011_400x400.png",

ko-KR/src/api/ApiIndex.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ const filtered = computed(() => {
3131
return item
3232
}
3333
// filter headers
34-
const matchedHeaders = item.headers.filter(matches)
34+
const matchedHeaders = item.headers.filter(
35+
({ text, anchor }) => matches(text) || matches(anchor)
36+
)
3537
return matchedHeaders.length
3638
? { text: item.text, link: item.link, headers: matchedHeaders }
3739
: null
@@ -92,8 +94,8 @@ function slugify(text: string): string {
9294
>
9395
<h3>{{ item.text }}</h3>
9496
<ul>
95-
<li v-for="h of item.headers" :key="h">
96-
<a :href="item.link + '.html#' + slugify(h)">{{ h }}</a>
97+
<li v-for="h of item.headers" :key="h.anchor">
98+
<a :href="item.link + '.html#' + slugify(h.anchor)">{{ h.anchor }}</a>
9799
</li>
98100
</ul>
99101
</div>

ko-KR/src/api/api.data.ts

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,17 @@ import fs from 'fs'
44
import path from 'path'
55
import { sidebar } from '../../.vitepress/config'
66

7+
interface APIHeader {
8+
anchor: string
9+
text: string
10+
}
11+
712
export interface APIGroup {
813
text: string
914
items: {
1015
text: string
1116
link: string
12-
headers: string[]
17+
headers: APIHeader[]
1318
}[]
1419
}
1520

@@ -34,7 +39,7 @@ export default {
3439
const headersCache = new Map<
3540
string,
3641
{
37-
headers: string[]
42+
headers: APIHeader[]
3843
timestamp: number
3944
}
4045
>()
@@ -50,15 +55,19 @@ function parsePageHeaders(link: string) {
5055

5156
const src = fs.readFileSync(fullPath, 'utf-8')
5257
const h2s = src.match(/^## [^\n]+/gm)
53-
let headers: string[] = []
58+
let headers: APIHeader[] = []
5459
if (h2s) {
55-
headers = h2s.map((h) =>
56-
h
57-
.slice(2)
58-
.replace(/<sup class=.*/, '')
59-
.replace(/\\</g, '<')
60-
.replace(/`([^`]+)`/g, '$1')
61-
.trim()
60+
headers = h2s.map((h) => {
61+
const text = h
62+
.slice(2)
63+
.replace(/<sup class=.*/, '')
64+
.replace(/\\</g, '<')
65+
.replace(/`([^`]+)`/g, '$1')
66+
.replace(/\{#([a-zA-Z0-9-]+)\}/g, '') // hidden anchor tag
67+
.trim()
68+
const anchor = h.match(/\{#([a-zA-Z0-9-]+)\}/)?.[1] ?? text
69+
return { text, anchor }
70+
}
6271
)
6372
}
6473
headersCache.set(fullPath, {

ko-KR/src/api/general.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,18 @@ A type helper for defining a Vue component with type inference.
125125
type FooInstance = InstanceType<typeof Foo>
126126
```
127127

128+
### Note on webpack Treeshaking
129+
130+
Because `defineComponent()` is a function call, it could look like that it would produce side-effects to some build tools, e.g. webpack. This will prevent the component from being tree-shaken even when the component is never used.
131+
132+
To tell webpack that this function call is safe to be tree-shaken, you can add a `/*#__PURE__*/` comment notation before the function call:
133+
134+
```js
135+
export default /*#__PURE__*/ defineComponent(/* ... */)
136+
```
137+
138+
Note this is not necessary if you are using Vite, because Rollup (the underlying production bundler used by Vite) is smart enough to determine that `defineComponent()` is in fact side-effect-free without the need for manual annotations.
139+
128140
- **See also:** [Guide - Using Vue with TypeScript](/guide/typescript/overview.html#general-usage-notes)
129141

130142
## defineAsyncComponent()

ko-KR/src/ecosystem/themes/themes.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,20 @@
165165
"url": "https://www.primefaces.org/layouts/diamond-vue?af_id=4218",
166166
"image": "https://www.primefaces.org/vue-templates/diamond.jpg"
167167
},
168+
{
169+
"name": "Poseidon",
170+
"price": 59,
171+
"description": "PrimeOne Design Admin Template",
172+
"url": "https://www.primefaces.org/layouts/poseidon-vue?af_id=4218",
173+
"image": "https://www.primefaces.org/vue-templates/poseidon.jpg"
174+
},
175+
{
176+
"name": "Verona",
177+
"price": 49,
178+
"description": "PrimeOne Design Admin Template",
179+
"url": "https://www.primefaces.org/layouts/verona-vue?af_id=4218",
180+
"image": "https://www.primefaces.org/vue-templates/verona.jpg"
181+
},
168182
{
169183
"name": "Sapphire",
170184
"price": 49,

ko-KR/src/guide/essentials/computed.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ const fullName = computed({
278278
### getter에서 사이드 이펙트는 금물
279279

280280
계산된 속성의 getter 함수는 오로지 계산만 수행해야 함으로써, 사이드 이펙트는 없어야 함을 기억하는 것이 중요합니다.
281-
예를 들어, getter에서 비동기 요청을 하거나 DOM을 변경하면 안됩니다!
281+
예를 들어, **getter에서 비동기 요청을 하거나 DOM을 변경하면 안됩니다!**
282282
계산된 속성은 다른 값을 기반으로 의도한 값을 도출하는 방법을 선언적으로 정의한 것으로 이해해야 합니다.
283283
이것의 유일한 기능은 해당 값을 계산하고 반환하는 것이어야 합니다.
284284
가이드의 뒷부분에서 상태 변경에 반응하는 [감시자](./watchers)를 사용하여 사이드 이펙트를 수행하는 방법에 대해 알아볼 것입니다.

ko-KR/src/guide/scaling-up/sfc.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
## Introduction
77

8-
Vue Single-File Components (aka `*.vue` files, abbreviated as **SFC**) is a special file format that allows us to encapsulate the template, logic, **and** styling of a Vue component in a single file. Here's an example SFC:
8+
Vue Single-File Components (a.k.a. `*.vue` files, abbreviated as **SFC**) is a special file format that allows us to encapsulate the template, logic, **and** styling of a Vue component in a single file. Here's an example SFC:
99

1010
```vue
1111
<script>
@@ -30,14 +30,14 @@ export default {
3030
</style>
3131
```
3232

33-
As we can see, Vue SFC is a natural extension of the classic trio of HTML, CSS and JavaScript. The `<template>`, `<script>`, and `<style>` blocks encapsulates and collocates the view, logic and styling of a component in the same file. The full syntax is defined in the [SFC Syntax Specification](/api/sfc-spec).
33+
As we can see, Vue SFC is a natural extension of the classic trio of HTML, CSS and JavaScript. The `<template>`, `<script>`, and `<style>` blocks encapsulate and colocate the view, logic and styling of a component in the same file. The full syntax is defined in the [SFC Syntax Specification](/api/sfc-spec).
3434

3535
## Why SFC
3636

3737
While SFCs require a build step, there are numerous benefits in return:
3838

3939
- Author modularized components using familiar HTML, CSS and JavaScript syntax
40-
- [Collocation of inherently coupled concerns](#what-about-separation-of-concerns)
40+
- [Colocation of inherently coupled concerns](#what-about-separation-of-concerns)
4141
- Pre-compiled templates
4242
- [Component-scoped CSS](/api/sfc-css-features)
4343
- [More ergonomic syntax when working with Composition API](/api/sfc-script-setup)
@@ -51,7 +51,7 @@ SFC is a defining feature of Vue as a framework, and is the recommended approach
5151
- Static Site Generation (SSG)
5252
- Any non-trivial frontend where a build step can be justified for better development experience (DX).
5353

54-
That said, we do realize there are scenarios where SFCs can feel like overkill. This is why Vue can still be used via plain JavaScript without a build step. If you are just looking for enhancing largely static HTML with light interactions, you can also check out [petite-vue](https://github.com/vuejs/petite-vue), a 6kb subset of Vue optimized for progressive enhancement.
54+
That said, we do realize there are scenarios where SFCs can feel like overkill. This is why Vue can still be used via plain JavaScript without a build step. If you are just looking for enhancing largely static HTML with light interactions, you can also check out [petite-vue](https://github.com/vuejs/petite-vue), a 6 kB subset of Vue optimized for progressive enhancement.
5555

5656
## How It Works
5757

@@ -77,8 +77,8 @@ In actual projects, we typically integrate the SFC compiler with a build tool su
7777

7878
Some users coming from a traditional web development background may have the concern that SFCs are mixing different concerns in the same place - which HTML/CSS/JS were supposed to separate!
7979

80-
To answer this question, it is important for us to agree that **separation of concerns is not equal to the separation of file types.** The ultimate goal of engineering principles is to improve the maintainability of codebases. Separation of concerns, when applied dogmatically as separation of file types, does not help us reach that goal in the context of increasingly complex frontend applications.
80+
To answer this question, it is important for us to agree that **separation of concerns is not equal to the separation of file types**. The ultimate goal of engineering principles is to improve the maintainability of codebases. Separation of concerns, when applied dogmatically as separation of file types, does not help us reach that goal in the context of increasingly complex frontend applications.
8181

82-
In modern UI development, we have found that instead of dividing the codebase into three huge layers that interweave with one another, it makes much more sense to divide them into loosely-coupled components and compose them. Inside a component, its template, logic, and styles are inherently coupled, and collocating them actually makes the component more cohesive and maintainable.
82+
In modern UI development, we have found that instead of dividing the codebase into three huge layers that interweave with one another, it makes much more sense to divide them into loosely-coupled components and compose them. Inside a component, its template, logic, and styles are inherently coupled, and colocating them actually makes the component more cohesive and maintainable.
8383

8484
Note even if you don't like the idea of Single-File Components, you can still leverage its hot-reloading and pre-compilation features by separating your JavaScript and CSS into separate files using [Src Imports](/api/sfc-spec.html#src-imports).

ko-KR/src/guide/typescript/overview.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,9 @@ export default defineComponent({
132132
})
133133
```
134134

135-
참고사항: [`defineComponent`를 위한 타입 테스트](https://github.com/vuejs/core/blob/main/test-dts/defineComponent.test-d.tsx)
135+
참고사항:
136+
- [웹팩에서 트리쉐이킹](/api/general.html#note-on-webpack-treeshaking)
137+
- [`defineComponent`를 위한 타입 테스트](https://github.com/vuejs/core/blob/main/test-dts/defineComponent.test-d.tsx)
136138

137139
:::tip
138140
`defineComponent()` 는 일반 자바스크립트로 정의된 컴포넌트에 대한 타입 추론을 가능하게 합니다.

ko-KR/src/partners/components/PartnerCard.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ h3 {
9898
.partner-card.hero .big {
9999
display: inline-block;
100100
margin-left: auto;
101-
width: 60%;
101+
max-width: 60%;
102102
max-height: 360px;
103103
object-fit: cover;
104104
}
@@ -115,6 +115,7 @@ h3 {
115115
}
116116
.partner-card.hero .big {
117117
width: 100%;
118+
max-width: 100%;
118119
}
119120
}
120121

ko-KR/src/partners/components/PartnerPage.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ function genMailLink(email: string) {
3030

3131
<div class="description">
3232
<h2>About {{ p.name }}</h2>
33-
<p v-for="desc in p.description">{{ desc }}</p>
33+
<p v-for="desc in p.description" v-html="desc"></p>
3434
</div>
3535

3636
<div class="actions">

0 commit comments

Comments
 (0)