diff --git a/README.md b/README.md index acce74a413..86dc20a48e 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,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 f7e4932033..e17c9463ed 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 fe7e1fb9f2..d1c343bf56 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 c4a6977093..d374aa1541 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 5e1dd97968..2caeb13211 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 02d3e4d344..7e0d9ffc1b 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 405530b040..aef5d0ef29 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 fb2599f477..3370925c2c 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 9967cbceb7..c16a2bdb44 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 c1386f6b86..28161a592f 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 + +### `