Skip to content

Commit 9b7cdf4

Browse files
committed
upstream 머지 및 일부 번역
1 parent cee189a commit 9b7cdf4

33 files changed

+433
-264
lines changed

ko-KR/.vitepress/config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,6 +554,7 @@ export default defineConfigWithTheme<ThemeConfig>({
554554
scrollOffset: 'header',
555555

556556
head: [
557+
['meta', { name: 'theme-color', content: "#3c8772" }],
557558
['meta', { name: 'twitter:site', content: '@vuejs' }],
558559
['meta', { name: 'twitter:card', content: 'summary' }],
559560
[

ko-KR/.vitepress/inlined-scripts/restorePreference.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@
88
restore('vue-docs-prefer-composition', 'prefer-composition')
99
restore('vue-docs-prefer-sfc', 'prefer-sfc', true)
1010

11-
window.__VUE_BANNER_ID__ = 'wip'
11+
window.__VUE_BANNER_ID__ = 'vuejsdeConf2022'
1212
restore(`vue-docs-banner-${__VUE_BANNER_ID__}`, 'banner-dismissed')
1313
})()

ko-KR/.vitepress/theme/components/Banner.vue

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,32 @@ function dismiss() {
1919
</script>
2020

2121
<template>
22-
<div class="banner" v-if="open">
23-
Vue 3 is now the new default version!
24-
<a
25-
href="https://blog.vuejs.org/posts/vue-3-as-the-new-default.html"
26-
target="_blank"
27-
>Learn more</a
28-
>
22+
<div class="banner banner-vuejsconf" v-if="open">
23+
<a href="https://conf.vuejs.de" target="_blank">
24+
<picture>
25+
<source
26+
media="(min-width:1200px)"
27+
srcset="/images/vuejsde-conf/vuejsdeconf_banner_large.png"
28+
/>
29+
<source
30+
media="(min-width:920px)"
31+
srcset="/images/vuejsde-conf/vuejsdeconf_banner_medium.png"
32+
/>
33+
<img
34+
src="/images/vuejsde-conf/vuejsdeconf_banner_small.png"
35+
alt=""
36+
/>
37+
</picture>
38+
</a>
39+
<div class="close-btn" @click.stop.prevent="dismiss">
40+
<img src="/images/vuejsde-conf/close.svg" alt="Close" />
41+
</div>
2942
</div>
3043
</template>
3144

3245
<style>
3346
html:not(.banner-dismissed) {
34-
--vt-banner-height: 24px;
47+
--vt-banner-height: 60px;
3548
}
3649
</style>
3750

@@ -44,7 +57,7 @@ html:not(.banner-dismissed) {
4457
left: 0;
4558
right: 0;
4659
height: var(--vt-banner-height);
47-
line-height: var(--vt-banner-height);
60+
line-height: 0;
4861
text-align: center;
4962
font-size: 12px;
5063
font-weight: 600;
@@ -59,4 +72,23 @@ html:not(.banner-dismissed) {
5972
a {
6073
text-decoration: underline;
6174
}
75+
76+
.banner-vuejsconf {
77+
background: linear-gradient(90deg, #fff 50%, var(--vt-c-green) 50%);
78+
}
79+
80+
.banner-vuejsconf a {
81+
display: inline-block;
82+
margin: 0 auto;
83+
}
84+
85+
.banner-vuejsconf .close-btn {
86+
top: 26%;
87+
right: 10px;
88+
z-index: 99;
89+
position: absolute;
90+
border-radius: 50%;
91+
background-color: var(--vt-c-brand-dark);
92+
padding: 8px;
93+
}
6294
</style>

ko-KR/.vitepress/theme/components/Home.vue

Lines changed: 38 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,30 @@
11
<script setup lang="ts">
2+
import { onMounted } from 'vue';
23
import NewsLetter from './NewsLetter.vue'
4+
import { load, data, base } from './sponsors';
35
import SponsorsGroup from './SponsorsGroup.vue';
46
import VueMasteryModal from './VueMasteryModal.vue';
7+
8+
onMounted(async () => {
9+
await load()
10+
})
511
</script>
612

713
<template>
814
<section id="hero">
915
<h1 class="tagline">
10-
11-
<span class="accent">프로그래시브</span>
12-
<br />자바스크립트 프레임워크
16+
The
17+
<span class="accent">Progressive</span>
18+
<br />JavaScript Framework
1319
</h1>
1420
<p class="description">
15-
웹 유저 인터페이스를 구축하기 위한 접근하기 쉽고 성능이 뛰어나며 다재다능한 프레임워크
21+
An approachable, performant and versatile framework for building web
22+
user interfaces.
1623
</p>
1724
<p class="actions">
1825
<vue-mastery-modal />
1926
<a class="get-started" href="/guide/introduction.html">
20-
시작하기
27+
Get Started
2128
<svg
2229
class="icon"
2330
xmlns="http://www.w3.org/2000/svg"
@@ -30,52 +37,54 @@ import VueMasteryModal from './VueMasteryModal.vue';
3037
/>
3138
</svg>
3239
</a>
33-
<a class="setup" href="/guide/quick-start.html">설치</a>
40+
<a class="setup" href="/guide/quick-start.html">Install</a>
3441
</p>
3542
</section>
3643

37-
<!-- TODO make dynamic based on data -->
3844
<section id="special-sponsor">
3945
<span>Special Sponsor</span>
40-
<a href="https://www.dcloud.io/hbuilderx.html?hmsr=vue-en&hmpl=&hmcu=&hmkw=&hmci=">
41-
<picture>
42-
<source type="image/avif" srcset="/images/sponsors/hbuilder.avif" />
43-
<img
44-
alt="hbuilder logo"
45-
width="97"
46-
height="36"
47-
src="/images/sponsors/hbuilder.png"
48-
/>
49-
</picture>
50-
</a>
51-
<span>Vue를 위한 IDE</span>
46+
<template v-if="data && data.special">
47+
<template v-for="{ url, img, name, description } of data.special">
48+
<a :href="url" target="_blank" rel="sponsored noopener">
49+
<picture v-if="img.endsWith('png')">
50+
<source type="image/avif" :srcset="`${base}/images/${img.replace(/\.png$/, '.avif')}`" />
51+
<img :src="`${base}/images/${img}`" :alt="name" />
52+
</picture>
53+
<img v-else :src="`${base}/images/${img}`" :alt="name" />
54+
</a>
55+
<span v-if="description">{{ description }}</span>
56+
</template>
57+
</template>
5258
</section>
5359

5460
<section id="highlights" class="vt-box-container">
5561
<div class="vt-box">
56-
<h2>접근하기 쉬운</h2>
62+
<h2>Approachable</h2>
5763
<p>
58-
직관적인 API 및 세계적 수준의 문서를 제공하며 표준 HTML, CSS 및 자바스크립트이 기반입니다.
64+
Builds on top of standard HTML, CSS and JavaScript with intuitive
65+
API and world-class documentation.
5966
</p>
6067
</div>
6168
<div class="vt-box">
62-
<h2>성능이 뛰어난</h2>
69+
<h2>Performant</h2>
6370
<p>
64-
완전히 반응형이며, 컴파일러를 통해 최적화된 렌더링 시스템은 수동 최적화를 거의 할 필요가 없습니다.
71+
Truly reactive, compiler-optimized rendering system that rarely
72+
requires manual optimization.
6573
</p>
6674
</div>
6775
<div class="vt-box">
68-
<h2>다재다능한</h2>
76+
<h2>Versatile</h2>
6977
<p>
70-
풍부한 기능을 점증적으로 적용할수 있는 생태계를 제공하여 단순히 라이브러리로도 사용할수 있고 모든 기능을 가진 프레임워크로도 사용할수 있습니다.
78+
A rich, incrementally adoptable ecosystem that scales between a
79+
library and a full-featured framework.
7180
</p>
7281
</div>
7382
</section>
7483

7584
<section id="sponsors">
76-
<h2>플래티넘 스폰서</h2>
85+
<h2>Platinum Sponsors</h2>
7786
<SponsorsGroup tier="platinum" placement="landing" />
78-
<h2>골드 스폰서</h2>
87+
<h2>Gold Sponsors</h2>
7988
<SponsorsGroup tier="gold" placement="landing" />
8089
</section>
8190

@@ -177,13 +186,14 @@ html:not(.dark) .accent,
177186
font-weight: 500;
178187
font-size: 13px;
179188
vertical-align: middle;
180-
margin: 0 24px;
189+
margin-right: 24px;
181190
}
182191
183192
#special-sponsor img {
184193
display: inline-block;
185194
vertical-align: middle;
186195
height: 36px;
196+
margin-right: 24px;
187197
}
188198
189199
.dark #special-sponsor img {

ko-KR/.vitepress/theme/components/SponsorsGroup.vue

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,6 @@
1-
<script lang="ts">
2-
interface Sponsor {
3-
url: string
4-
img: string
5-
name: string
6-
}
7-
8-
interface SponsorData {
9-
special: Sponsor[]
10-
platinum: Sponsor[]
11-
platinum_china: Sponsor[]
12-
gold: Sponsor[]
13-
silver: Sponsor[]
14-
bronze: Sponsor[]
15-
}
16-
17-
// shared data across instances so we load only once
18-
let data = $ref<SponsorData>()
19-
let pending = false
20-
21-
const base = `https://sponsors.vuejs.org`
22-
</script>
23-
241
<script setup lang="ts">
252
import { onMounted, onUnmounted } from 'vue'
3+
import { SponsorData, data, base, load } from './sponsors';
264
275
const { tier, placement = 'aside' } = defineProps<{
286
tier: keyof SponsorData
@@ -47,10 +25,7 @@ onMounted(async () => {
4725
onUnmounted(() => observer.disconnect())
4826
4927
// load data
50-
if (!pending) {
51-
pending = true
52-
data = await (await fetch(`${base}/data.json`)).json()
53-
}
28+
await load()
5429
})
5530
</script>
5631

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// shared data across instances so we load only once
2+
3+
import { ref } from 'vue'
4+
5+
export interface Sponsor {
6+
url: string
7+
img: string
8+
name: string
9+
description?: string
10+
}
11+
12+
export interface SponsorData {
13+
special: Sponsor[]
14+
platinum: Sponsor[]
15+
platinum_china: Sponsor[]
16+
gold: Sponsor[]
17+
silver: Sponsor[]
18+
bronze: Sponsor[]
19+
}
20+
21+
export const data = ref<SponsorData>()
22+
export const pending = ref<boolean>(false)
23+
24+
export const base = `https://sponsors.vuejs.org`
25+
26+
export const load = async () => {
27+
if (!pending.value) {
28+
pending.value = true
29+
data.value = await (await fetch(`${base}/data.json`)).json()
30+
}
31+
}

ko-KR/.vitepress/theme/index.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,24 @@ import {
88
filterHeadersByPreference
99
} from './components/preferences'
1010
import SponsorsAside from './components/SponsorsAside.vue'
11-
// import VueSchoolLink from './components/VueSchoolLink.vue'
12-
// import VueJobs from './components/VueJobs.vue'
11+
import VueJobs from './components/VueJobs.vue'
12+
import VueSchoolLink from './components/VueSchoolLink.vue'
13+
import Banner from './components/Banner.vue'
1314

1415
export default Object.assign({}, VPTheme, {
1516
Layout: () => {
1617
// @ts-ignore
1718
return h(VPTheme.Layout, null, {
19+
banner: () => h(Banner),
1820
'sidebar-top': () => h(PreferenceSwitch),
1921
'aside-mid': () => h(SponsorsAside),
20-
// 'aside-bottom': () => h(VueJobs)
22+
'aside-bottom': () => h(VueJobs)
2123
})
2224
},
2325
enhanceApp({ app }: { app: App }) {
2426
app.provide('prefer-composition', preferComposition)
2527
app.provide('prefer-sfc', preferSFC)
2628
app.provide('filter-headers', filterHeadersByPreference)
27-
// app.component('VueSchoolLink', VueSchoolLink)
29+
app.component('VueSchoolLink', VueSchoolLink)
2830
}
2931
})

ko-KR/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@
99
"preinstall": "npx only-allow pnpm"
1010
},
1111
"dependencies": {
12-
"@vue/repl": "^1.0.0",
13-
"@vue/theme": "^1.0.2",
12+
"@vue/repl": "^1.2.4",
13+
"@vue/theme": "^1.0.4",
1414
"dynamics.js": "^1.1.5",
1515
"gsap": "^3.9.0",
1616
"vitepress": "^0.22.4",
17-
"vue": "^3.2.33"
17+
"vue": "^3.2.37"
1818
},
1919
"devDependencies": {
2020
"@types/markdown-it": "^12.2.3",

0 commit comments

Comments
 (0)