diff --git a/README.md b/README.md index acce74a41..048c91620 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,30 @@ + +# after 2022.04 + + +현재 번역이 진행중입니다. 2022.04.18 + +지금 보고 계신 master 브랜치는 구버전의 문서를 유지보수하기 위한 브랜치입니다. + +번역은 main에서 진행해 주시기 바랍니다. + + + +# 브랜치 설명 + +master 브랜치는 vuejs/docs-next 와 싱크용으로 사용됩니다. +upMaster는 vuejs/docs-next 로 PR 생성용으로 사용됩니다. +rootKoKr은 v3.vuejs-korea.org 사이트 소스로 사용됩니다. +번역 + +master 브랜치는 업스크림인 vuejs/docs-next 의 master의 내용을 주기적으로 머지 합니다. + +해당 소스의 영어 원문을 참고 하셔서(diff로 변경사항을 파악해서) 번역을 해주시면 됩니다. + +실제 번역 결과는 rootKoKr의 파일들에 적용되어야 합니다. rootKoKr 브랜치의 파일들로 한글 사이트가 갱신되게 됩니다. + +번역과 관련된 대화는 Vue.js Korea 슬랙 에서 진행중입니다. 자유롭게 방문해 주시면 됩니다. + # v3.vuejs.org This site is built with [VuePress](https://vuepress.vuejs.org/). Site content is written in Markdown format located in `src`. @@ -11,7 +38,7 @@ See the [Vue Docs Writing Guide](https://v3.vuejs.org/guide/writing-guide.html) 1. Clone repository ```bash -git clone git@github.com:vuejs/docs-next.git +git clone https://github.com/vuejs/docs.git ``` 2. Install dependencies diff --git a/package.json b/package.json index f7e493203..e17c9463e 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "@docsearch/css": "^1.0.0-alpha.27", "@docsearch/js": "^1.0.0-alpha.27", "algoliasearch": "^4.4.0", - "axios": "^0.21.1", "intersection-observer": "^0.11.0", "showdown": "^1.9.1" } diff --git a/src/.vuepress/components/community/team/emeriti.js b/src/.vuepress/components/community/team/emeriti.js index fe7e1fb9f..d1c343bf5 100644 --- a/src/.vuepress/components/community/team/emeriti.js +++ b/src/.vuepress/components/community/team/emeriti.js @@ -1,6 +1,27 @@ import { shuffle } from 'lodash' export default shuffle([ + { + name: 'Sarah Drasner', + city: 'Denver, CO, USA', + languages: ['en'], + work: { + role: 'Director of Engineering, Core Developer Web', + org: 'Google', + orgUrl: 'https://google.com/', + }, + github: 'sdras', + twitter: 'sarah_edo', + codepen: 'sdras', + reposOfficial: ['vuejs.org'], + reposPersonal: [ + 'vue-vscode-snippets', + 'intro-to-vue', + 'vue-vscode-extensionpack', + 'ecommerce-netlify', + ], + links: ['https://sarah.dev/'], + }, { name: 'Chris Fritz', title: 'Good Word Putter-Togetherer', @@ -9,11 +30,9 @@ export default shuffle([ github: 'chrisvfritz', twitter: 'chrisvfritz', work: { - role: 'Educator & Consultant' + role: 'Educator & Consultant', }, - reposPersonal: [ - 'vue-enterprise-boilerplate' - ] + reposPersonal: ['vue-enterprise-boilerplate'], }, { name: 'Blake Newman', @@ -23,10 +42,10 @@ export default shuffle([ work: { role: 'Software Engineer', org: 'Attest', - orgUrl: 'https://www.askattest.com/' + orgUrl: 'https://www.askattest.com/', }, github: 'blake-newman', - twitter: 'blakenewman' + twitter: 'blakenewman', }, { name: 'kingwl', @@ -36,12 +55,10 @@ export default shuffle([ work: { role: 'Software Development Engineer', org: 'Chaitin', - orgUrl: 'https://chaitin.cn/' + orgUrl: 'https://chaitin.cn/', }, github: 'kingwl', - reposOfficial: [ - 'vue' - ] + reposOfficial: ['vue'], }, { name: 'Alan Song', @@ -51,12 +68,10 @@ export default shuffle([ work: { role: 'Cofounder', org: 'Futurenda', - orgUrl: 'https://www.futurenda.com/' + orgUrl: 'https://www.futurenda.com/', }, github: 'fnlctrl', - reposOfficial: [ - 'vue-router' - ] + reposOfficial: ['vue-router'], }, { name: 'defcc', @@ -66,8 +81,8 @@ export default shuffle([ github: 'defcc', work: { org: 'zbj.com', - orgUrl: 'http://www.zbj.com/' - } + orgUrl: 'http://www.zbj.com/', + }, }, { name: 'gebilaoxiong', @@ -77,8 +92,8 @@ export default shuffle([ github: 'gebilaoxiong', work: { org: 'zbj.com', - orgUrl: 'http://www.zbj.com/' - } + orgUrl: 'http://www.zbj.com/', + }, }, { name: 'Denis Karabaza', @@ -90,8 +105,8 @@ export default shuffle([ work: { role: 'Software Engineer', org: 'Neolant', - orgUrl: 'http://neolant.ru/' - } + orgUrl: 'http://neolant.ru/', + }, }, { name: 'Edd Yerburgh', @@ -101,16 +116,10 @@ export default shuffle([ github: 'eddyerburgh', twitter: 'EddYerburgh', work: { - role: 'Full Stack Developer' + role: 'Full Stack Developer', }, - reposOfficial: [ - 'vue-test-utils' - ], - reposPersonal: [ - 'avoriaz' - ], - links: [ - 'https://www.eddyerburgh.me/' - ] - } + reposOfficial: ['vue-test-utils'], + reposPersonal: ['avoriaz'], + links: ['https://www.eddyerburgh.me/'], + }, ]) diff --git a/src/.vuepress/components/community/team/members.js b/src/.vuepress/components/community/team/members.js index c4a697709..d374aa154 100644 --- a/src/.vuepress/components/community/team/members.js +++ b/src/.vuepress/components/community/team/members.js @@ -10,11 +10,11 @@ const members = [ twitter: 'youyuxi', work: { role: 'Creator', - org: 'Vue.js' + org: 'Vue.js', }, reposOfficial: ['vuejs/*', 'vuejs-templates/*'], - links: ['https://www.patreon.com/evanyou'] - } + links: ['https://www.patreon.com/evanyou'], + }, ].concat( shuffle([ { @@ -25,11 +25,11 @@ const members = [ github: 'posva', twitter: 'posva', work: { - role: 'Freelance Developer & Consultant' + role: 'Freelance Developer & Consultant', }, reposOfficial: ['vuefire', 'vue-router'], reposPersonal: ['vuex-mock-store', 'vue-promised', 'vue-motion'], - links: ['https://www.patreon.com/posva'] + links: ['https://www.patreon.com/posva'], }, { name: 'Sodatea', @@ -37,7 +37,7 @@ const members = [ languages: ['zh', 'en'], github: 'sodatea', twitter: 'haoqunjiang', - reposOfficial: ['vue-cli', 'vue-loader'] + reposOfficial: ['vue-cli', 'vue-loader'], }, { name: 'Pine Wu', @@ -46,9 +46,9 @@ const members = [ github: 'octref', twitter: 'octref', work: { - role: 'Nomad' + role: 'Nomad', }, - reposOfficial: ['vetur'] + reposOfficial: ['vetur'], }, { name: 'Jinjiang', @@ -61,8 +61,8 @@ const members = [ 'vue-a11y-utils', 'vue-mark-display', 'mark2slides', - 'vue-keyboard-over' - ] + 'vue-keyboard-over', + ], }, { name: 'Katashin', @@ -72,12 +72,12 @@ const members = [ work: { role: 'Software Engineer', org: 'ClassDo', - orgUrl: 'https://classdo.com/' + orgUrl: 'https://classdo.com/', }, github: 'ktsn', twitter: 'ktsn', reposOfficial: ['vuex', 'vue-class-component'], - reposPersonal: ['vue-designer'] + reposPersonal: ['vue-designer'], }, { name: 'Kazupon', @@ -89,7 +89,7 @@ const members = [ work: { role: 'Engineer', org: 'PLAID, Inc.', - orgUrl: 'https://plaid.co.jp/' + orgUrl: 'https://plaid.co.jp/', }, reposOfficial: ['vuejs.org', 'jp.vuejs.org'], reposPersonal: [ @@ -98,9 +98,9 @@ const members = [ 'vue-i18n-loader', 'eslint-plugin-vue-i18n', 'vue-i18n-extensions', - 'vue-cli-plugin-p11n' + 'vue-cli-plugin-p11n', ], - links: ['https://www.patreon.com/kazupon'] + links: ['https://www.patreon.com/kazupon'], }, { name: 'Rahul Kadyan', @@ -110,13 +110,13 @@ const members = [ work: { role: 'Software Engineer', org: 'Grammarly', - orgUrl: 'https://grammarly.com/' + orgUrl: 'https://grammarly.com/', }, github: 'znck', twitter: 'znck0', reposOfficial: ['rollup-plugin-vue', 'vue-next'], reposPersonal: ['vue-developer-experience', 'prop-types', 'grammarly'], - links: ['https://znck.me/'] + links: ['https://znck.me/'], }, { name: 'Linusborg', @@ -127,7 +127,7 @@ const members = [ twitter: 'Linus_Borg', reposOfficial: ['vuejs/*'], reposPersonal: ['portal-vue'], - links: ['https://forum.vuejs.org/'] + links: ['https://forum.vuejs.org/'], }, { name: 'Guillaume Chau', @@ -139,37 +139,16 @@ const members = [ work: { role: 'Frontend Developer', org: 'Livestorm', - orgUrl: 'https://livestorm.co/' + orgUrl: 'https://livestorm.co/', }, reposOfficial: ['vue-devtools', 'vue-cli', 'vue-curated'], reposPersonal: [ 'vue-apollo', 'vue-meteor', 'vue-virtual-scroller', - 'v-tooltip' - ], - links: ['http://patreon.com/akryum'] - }, - { - name: 'Sarah Drasner', - city: 'Denver, CO, USA', - languages: ['en'], - work: { - role: 'VP of Developer Experience', - org: 'Netlify', - orgUrl: 'https://url.netlify.com/HJ8X2mxP8' - }, - github: 'sdras', - twitter: 'sarah_edo', - codepen: 'sdras', - reposOfficial: ['vuejs.org'], - reposPersonal: [ - 'vue-vscode-snippets', - 'intro-to-vue', - 'vue-vscode-extensionpack', - 'ecommerce-netlify' + 'v-tooltip', ], - links: ['https://sarah.dev/'] + links: ['http://patreon.com/akryum'], }, { name: 'Damian Dulisz', @@ -179,10 +158,10 @@ const members = [ github: 'shentao', twitter: 'DamianDulisz', work: { - role: 'Consultant' + role: 'Consultant', }, reposOfficial: ['news.vuejs.org'], - reposPersonal: ['shentao/vue-multiselect', 'shentao/vue-global-events'] + reposPersonal: ['shentao/vue-multiselect', 'shentao/vue-global-events'], }, { name: 'Michał Sajnóg', @@ -193,10 +172,10 @@ const members = [ work: { role: 'Senior Frontend Developer / Team Leader', org: 'Netguru', - orgUrl: 'https://netguru.co/' + orgUrl: 'https://netguru.co/', }, reposOfficial: ['eslint-plugin-vue', 'vue-devtools'], - reposPersonal: ['vue-computed-helpers', 'vue-content-placeholders'] + reposPersonal: ['vue-computed-helpers', 'vue-content-placeholders'], }, { name: 'GU Yiling', @@ -205,7 +184,7 @@ const members = [ work: { role: 'Senior web developer', org: 'Baidu, inc.', - orgUrl: 'https://www.baidu.com/' + orgUrl: 'https://www.baidu.com/', }, github: 'Justineo', twitter: '_justineo', @@ -213,8 +192,8 @@ const members = [ reposPersonal: [ 'Justineo/vue-awesome', 'ecomfe/vue-echarts', - 'ecomfe/veui' - ] + 'ecomfe/veui', + ], }, { name: 'ULIVZ', @@ -223,11 +202,11 @@ const members = [ work: { role: 'Senior Frontend Developer', org: 'AntFinancial', - orgUrl: 'https://www.antfin.com/' + orgUrl: 'https://www.antfin.com/', }, github: 'ulivz', twitter: '_ulivz', - reposOfficial: ['vuepress'] + reposOfficial: ['vuepress'], }, { name: 'Phan An', @@ -239,25 +218,25 @@ const members = [ work: { role: 'Engineering Team Lead', org: 'InterNations', - orgUrl: 'https://www.internations.org/' + orgUrl: 'https://www.internations.org/', }, reposOfficial: ['vuejs.org'], reposPersonal: ['vuequery', 'vue-google-signin-button'], - links: ['https://vi.vuejs.org/', 'https://phanan.net/'] + links: ['https://vi.vuejs.org/', 'https://phanan.net/'], }, { name: 'Natalia Tepluhina', title: 'Fox Tech Guru', - city: 'Kyiv, Ukraine', + city: 'Amsterdam, Netherlands', languages: ['uk', 'ru', 'en'], reposOfficial: ['vuejs.org', 'vue-cli'], work: { role: 'Staff Frontend Engineer', org: 'GitLab', - orgUrl: 'https://gitlab.com/' + orgUrl: 'https://gitlab.com/', }, github: 'NataliaTepluhina', - twitter: 'N_Tepluhina' + twitter: 'N_Tepluhina', }, { name: 'Yosuke Ota', @@ -268,9 +247,9 @@ const members = [ work: { role: 'Lead Web Engineer', org: 'Future Corporation', - orgUrl: 'https://www.future.co.jp/' + orgUrl: 'https://www.future.co.jp/', }, - reposOfficial: ['eslint-plugin-vue'] + reposOfficial: ['eslint-plugin-vue'], }, { name: 'Ben Hong', @@ -278,12 +257,12 @@ const members = [ languages: ['en', 'zh'], work: { role: 'Developer Experience (DX) Engineer', - org: 'Cypress.io' + org: 'Cypress.io', }, reposOfficial: ['vuejs.org', 'vuepress', 'vuejs/events'], github: 'bencodezen', twitter: 'bencodezen', - links: ['https://bencodezen.io/'] + links: ['https://bencodezen.io/'], }, { name: 'Kia King Ishii', @@ -293,12 +272,12 @@ const members = [ work: { role: 'Tech Talent', org: 'Global Brain', - orgUrl: 'https://globalbrains.com/' + orgUrl: 'https://globalbrains.com/', }, github: 'kiaking', twitter: 'KiaKing85', reposOfficial: ['vuex'], - reposPersonal: ['vuex-orm/*'] + reposPersonal: ['vuex-orm/*'], }, { name: 'Anthony Fu', @@ -308,8 +287,8 @@ const members = [ twitter: 'antfu7', reposOfficial: ['composition-api'], reposPersonal: ['vueuse', 'vue-demi', 'vue-reactivity/*'], - links: ['https://antfu.me/'] - } + links: ['https://antfu.me/'], + }, ]) ) diff --git a/src/.vuepress/components/community/team/partners.js b/src/.vuepress/components/community/team/partners.js index 5e1dd9796..2caeb1321 100644 --- a/src/.vuepress/components/community/team/partners.js +++ b/src/.vuepress/components/community/team/partners.js @@ -211,15 +211,14 @@ export default shuffle([ github: 'rstoenescu', twitter: 'quasarframework', work: { - role: 'Developer', + role: 'Author', org: 'Quasar Framework', - orgUrl: 'http://quasar-framework.org/' + orgUrl: 'http://quasar.dev/' }, reposPersonal: [ - 'quasarframework/quasar', - 'quasarframework/quasar-cli', - 'quasarframework/quasar-play' - ] + 'quasarframework/quasar' + ], + links: ['https://quasar.dev/'] }, { name: 'Jilson Thomas', diff --git a/src/.vuepress/components/community/themes/theme-data.js b/src/.vuepress/components/community/themes/theme-data.js index 02d3e4d34..7e0d9ffc1 100644 --- a/src/.vuepress/components/community/themes/theme-data.js +++ b/src/.vuepress/components/community/themes/theme-data.js @@ -127,63 +127,98 @@ export default [ }, { name: 'PrimeVue', - description: `The open-source UI component library [PrimeVue](https://www.primefaces.org/primevue/#/?af_id=4218) offers over 50 flexible components to build your apps with! They have a ton of different component themes and Vue-CLI application templates available to get the look&feel that suits you best.`, + description: `The open-source UI component library [PrimeVue](https://www.primefaces.org/primevue/#/?af_id=4218) offers over 80 flexible components to build your apps with! They have a ton of different component themes and Vue-CLI application templates available to get the look & feel that suits you best.`, seeMoreUrl: 'https://www.primefaces.org/primevue/#/?af_id=4218', products: [ { - name: 'Sapphire', + name: 'Sakai', + price: 0, + description: 'Free Admin Template', + url: 'https://www.primefaces.org/sakai-vue/#/?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/sakai.jpg' + }, + { + name: 'Atlantis', + price: 59, + description: 'Premium Admin Template', + url: 'https://www.primefaces.org/layouts/atlantis-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/atlantis.jpg' + }, + { + name: 'Freya', + price: 59, + description: 'Premium Admin Template', + url: 'https://www.primefaces.org/layouts/freya-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/freya.jpg' + }, + { + name: 'Ultima', price: 79, description: 'Material Design Admin Template', + url: 'https://www.primefaces.org/layouts/ultima-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/ultima.jpg' + }, + { + name: 'Diamond', + price: 59, + description: 'PrimeOne Design Admin Template', + url: 'https://www.primefaces.org/layouts/diamond-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/diamond.jpg' + }, + { + name: 'Sapphire', + price: 49, + description: 'Material Design Admin Template', url: 'https://www.primefaces.org/layouts/sapphire-vue?af_id=4218', image: 'https://www.primefaces.org/vue-templates/sapphire.jpg' }, { name: 'Avalon', - price: 79, + price: 49, description: 'Bootstrap Inspired Admin Template', url: 'https://www.primefaces.org/layouts/avalon-vue?af_id=4218', image: 'https://www.primefaces.org/vue-templates/avalon.jpg' }, { name: 'Serenity', - price: 79, + price: 49, description: 'Material Design Admin Template', url: 'https://www.primefaces.org/layouts/serenity-vue?af_id=4218', image: 'https://www.primefaces.org/vue-templates/serenity.jpg' }, { name: 'Apollo', - price: 79, + price: 49, description: 'Admin Template with a Dark Mode', url: 'https://www.primefaces.org/layouts/apollo-vue?af_id=4218', image: 'https://www.primefaces.org/vue-templates/apollo.jpg' }, { name: 'Babylon', - price: 79, + price: 49, description: 'Admin Template with Extensive Options', url: 'https://www.primefaces.org/layouts/babylon-vue?af_id=4218', image: 'https://www.primefaces.org/vue-templates/babylon.jpg' }, { name: 'Roma', - price: 59, + price: 39, description: 'Admin Template with a Clean Design System', url: 'https://www.primefaces.org/layouts/roma-vue?af_id=4218', image: 'https://www.primefaces.org/vue-templates/roma.jpg' }, { - name: 'Sigma', - price: 0, - description: 'Free Admin Template', - url: 'https://www.primefaces.org/sigma-vue/#/?af_id=4218', - image: 'https://www.primefaces.org/vue-templates/sigma.jpg' + name: 'Prestige', + price: 39, + description: 'Highly Customizable Admin Template', + url: 'https://www.primefaces.org/layouts/prestige-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/prestige.jpg' } ] }, { name: 'Flatlogic', - description: `Check the admin dashboards templates built by our partners from [Flatlogic](https://flatlogic.com/templates?ref=x-fdkuTAVW). With these themes you can see how real applications is built. Additionally these templates will help you to start a new application and save you time and money.`, + description: `Check out the admin dashboard templates built by our partners from [Flatlogic](https://flatlogic.com/templates?ref=x-fdkuTAVW). With these themes you can see how real applications are built. Additionally, these templates will help you to start a new application and save you time and money.`, seeMoreUrl: 'https://flatlogic.com/templates?ref=x-fdkuTAVW', products: [ { diff --git a/src/.vuepress/components/guide/contributing/translations-data.js b/src/.vuepress/components/guide/contributing/translations-data.js index 405530b04..aef5d0ef2 100644 --- a/src/.vuepress/components/guide/contributing/translations-data.js +++ b/src/.vuepress/components/guide/contributing/translations-data.js @@ -11,9 +11,9 @@ export const labels = { // Repos are in alphabetical order by the language code // You may need to clear your sessionStorage when adding a new item to this list export const repos = [ - { lang: 'en-us', owner: 'vuejs', repo: 'docs-next', branch: 'master', url: 'https://v3.vuejs.org/' }, + { lang: 'en-us', owner: 'vuejs', repo: 'docs', branch: 'master', url: 'https://v3.vuejs.org/' }, { lang: 'fr', owner: 'demahom18', repo: 'docs-next', branch: 'master', url: 'https://vue3-fr.netlify.app/' }, - { lang: 'id', owner: 'vuejs-id', repo: 'docs-next', branch: 'indonesian' }, + { lang: 'id', owner: 'vuejs-id', repo: 'docs-next', branch: 'indonesian', url: 'https://v3-vuejsid-docs.netlify.app/' }, { lang: 'ja', owner: 'vuejs-jp', repo: 'ja.vuejs.org', branch: 'lang-ja', url: 'https://v3.ja.vuejs.org/' }, { lang: 'ko', owner: 'vuejs-kr', repo: 'docs-next', branch: 'rootKoKr', url: 'https://v3.ko.vuejs.org/' }, { lang: 'pt-br', owner: 'vuejs-br', repo: 'docs-next', branch: 'master', url: 'https://vuejsbr-docs-next.netlify.app/' }, diff --git a/src/.vuepress/config.js b/src/.vuepress/config.js index fb2599f47..3370925c2 100644 --- a/src/.vuepress/config.js +++ b/src/.vuepress/config.js @@ -80,6 +80,7 @@ const sidebar = { title: 'Advanced Guides', collapsable: false, children: [ + '/guide/web-components', { title: 'Reactivity', children: [ @@ -106,7 +107,12 @@ const sidebar = { { title: 'Scaling Up', collapsable: false, - children: ['/guide/routing', '/guide/state-management', '/guide/ssr', '/guide/security'] + children: [ + '/guide/routing', + '/guide/state-management', + '/guide/ssr', + '/guide/security' + ] }, { title: 'Accessibility', @@ -148,10 +154,33 @@ const sidebar = { children: [ '/api/basic-reactivity', '/api/refs-api', - '/api/computed-watch-api' + '/api/computed-watch-api', + '/api/effect-scope', ] }, - '/api/composition-api' + '/api/composition-api', + { + title: 'Single File Components', + collapsable: false, + children: [ + { + title: 'Spec', + path: '/api/sfc-spec' + }, + { + title: 'Tooling', + path: '/api/sfc-tooling' + }, + { + title: ' diff --git a/src/.vuepress/theme/components/Newsletter.vue b/src/.vuepress/theme/components/Newsletter.vue index 9967cbceb..c16a2bdb4 100644 --- a/src/.vuepress/theme/components/Newsletter.vue +++ b/src/.vuepress/theme/components/Newsletter.vue @@ -85,6 +85,7 @@ box-sizing: border-box; border: 1px solid currentColor; appearance: none; + cursor: pointer; } } diff --git a/src/.vuepress/theme/components/PageEdit.vue b/src/.vuepress/theme/components/PageEdit.vue index c1386f6b8..28161a592 100644 --- a/src/.vuepress/theme/components/PageEdit.vue +++ b/src/.vuepress/theme/components/PageEdit.vue @@ -4,17 +4,20 @@

Deployed on Netlify. - + @@ -519,7 +565,7 @@ export default { ``` -For more information about using CSS modules, see [Vue Loader - CSS Modules](https://vue-loader.vuejs.org/guide/css-modules.html). +For more information about using CSS modules, see [SFC Style Features: ` + + + This could be e.g. documentation for the component. + +``` + +## Language Blocks + +### `