├── .editorconfig
├── .github
└── pull_request_template.md
├── .gitignore
├── LICENSE
├── README.md
├── _config.yml
├── _scripts
├── pre-deploy.js
└── sync-sponsors.js
├── assets
├── data.ai
├── hn-architecture.ai
├── icons.psd
├── lifecycle.ai
├── logo.ai
├── mvvm.ai
├── props_and_events.ai
├── state.ai
└── why-vue
│ ├── arabic.js.srt
│ ├── chinese.js.srt
│ ├── english.js.srt
│ └── french.js.srt
├── package.json
├── src
├── _posts
│ ├── 011-component.md
│ ├── 012-release.md
│ ├── 1.0.0-release.md
│ ├── announcing-2.0.md
│ ├── common-gotchas.md
│ ├── march-update.md
│ ├── vue-011-release.md
│ ├── vue-cli.md
│ ├── vue-next.md
│ ├── vuejs-010-release.md
│ └── why-no-template-url.md
├── coc
│ └── index.md
├── eol
│ └── index.md
├── images
│ ├── breakpoint_hit.png
│ ├── breakpoint_set.png
│ ├── components.png
│ ├── config_add.png
│ ├── data.png
│ ├── devtools-storage-chrome.png
│ ├── devtools-storage-edge.png
│ ├── devtools-storage.png
│ ├── devtools-timetravel.gif
│ ├── dom-tree.png
│ ├── hn-architecture.png
│ ├── hn.png
│ ├── lifecycle.png
│ ├── logged-proxied-data.png
│ ├── memory-leak-example.png
│ ├── mvvm.png
│ ├── oxford-comma.jpg
│ ├── props-events.png
│ ├── search-by-algolia.png
│ ├── state.png
│ ├── transition.png
│ ├── typescript-type-error.png
│ ├── vue-component-with-preprocessors.png
│ └── vue-component.png
├── index.md
├── lts
│ └── index.md
├── menu
│ └── index.md
├── perf
│ └── index.md
├── resources
│ ├── partners.md
│ └── themes.md
├── support-vuejs
│ └── index.md
└── v2
│ ├── api
│ └── index.md
│ ├── cookbook
│ ├── adding-instance-properties.md
│ ├── avoiding-memory-leaks.md
│ ├── client-side-storage.md
│ ├── creating-custom-scroll-directives.md
│ ├── debugging-in-vscode.md
│ ├── dockerize-vuejs-app.md
│ ├── editable-svg-icons.md
│ ├── form-validation.md
│ ├── index.md
│ ├── packaging-sfc-for-npm.md
│ ├── practical-use-of-scoped-slots.md
│ ├── serverless-blog.md
│ ├── unit-testing-vue-components.md
│ └── using-axios-to-consume-apis.md
│ ├── examples
│ ├── commits.md
│ ├── deepstream.md
│ ├── elastic-header.md
│ ├── firebase.md
│ ├── grid-component.md
│ ├── hackernews.md
│ ├── index.md
│ ├── modal.md
│ ├── select2.md
│ ├── svg.md
│ ├── todomvc.md
│ ├── tree-view.md
│ ├── vue-10-two-way-currency-filter-v2
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-10-two-way-currency-filter-v3
│ │ ├── currency-validator.js
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-10-two-way-currency-filter
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-20-accessing-parent-component-instance
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-20-component-blog-post-example
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-20-dependency-injection
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-20-dynamic-components-with-binding
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-20-dynamic-components
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-20-dynamic-state-transitions
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-20-elastic-header
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── sandbox.config.json
│ │ └── style.css
│ ├── vue-20-firebase-validation
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── sandbox.config.json
│ │ └── style.css
│ ├── vue-20-github-commits
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── sandbox.config.json
│ │ └── style.css
│ ├── vue-20-grid-component
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── sandbox.config.json
│ │ └── style.css
│ ├── vue-20-hello-world
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-20-keep-alive-with-dynamic-components
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── sandbox.config.json
│ │ └── style.css
│ ├── vue-20-list-move-transitions
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── sandbox.config.json
│ │ └── style.css
│ ├── vue-20-markdown-editor
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── sandbox.config.json
│ │ └── style.css
│ ├── vue-20-modal-component
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── sandbox.config.json
│ │ └── style.css
│ ├── vue-20-priority-d-rules-correct-example
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-20-priority-d-rules-unintended-consequences
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-20-programmatic-event-listeners
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-20-realtime-with-deepstreamhub
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── sandbox.config.json
│ │ └── style.css
│ ├── vue-20-single-file-components
│ │ ├── Hello.vue
│ │ ├── index.html
│ │ ├── index.js
│ │ └── package.json
│ ├── vue-20-svg-graph
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── sandbox.config.json
│ │ └── style.css
│ ├── vue-20-template-compilation
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── sandbox.config.json
│ │ └── style.css
│ ├── vue-20-todomvc
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── vue-20-tree-view
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── sandbox.config.json
│ │ └── style.css
│ ├── vue-20-two-way-currency-filter
│ │ ├── currency-validator.js
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ └── vue-20-wrapper-component
│ │ ├── index.html
│ │ ├── package.json
│ │ └── sandbox.config.json
│ ├── guide
│ ├── class-and-style.md
│ ├── comparison.md
│ ├── components-custom-events.md
│ ├── components-dynamic-async.md
│ ├── components-edge-cases.md
│ ├── components-props.md
│ ├── components-registration.md
│ ├── components-slots.md
│ ├── components.md
│ ├── computed.md
│ ├── conditional.md
│ ├── custom-directive.md
│ ├── deployment.md
│ ├── events.md
│ ├── filters.md
│ ├── forms.md
│ ├── index.md
│ ├── installation.md
│ ├── instance.md
│ ├── join.md
│ ├── list.md
│ ├── migration-vue-2-7.md
│ ├── migration-vue-router.md
│ ├── migration-vuex.md
│ ├── migration.md
│ ├── mixins.md
│ ├── plugins.md
│ ├── reactivity.md
│ ├── render-function.md
│ ├── routing.md
│ ├── security.md
│ ├── single-file-components.md
│ ├── ssr.md
│ ├── state-management.md
│ ├── syntax.md
│ ├── team.md
│ ├── testing.md
│ ├── transitioning-state.md
│ ├── transitions.md
│ └── typescript.md
│ ├── search
│ └── index.md
│ └── style-guide
│ └── index.md
├── themes
└── vue
│ ├── _config.yml
│ ├── layout
│ ├── icons
│ │ ├── bch.ejs
│ │ ├── btc.ejs
│ │ ├── eth.ejs
│ │ ├── github-dark.ejs
│ │ ├── github.ejs
│ │ ├── ltc.ejs
│ │ ├── medium.ejs
│ │ ├── play.ejs
│ │ └── twitter.ejs
│ ├── index.ejs
│ ├── layout.ejs
│ ├── page.ejs
│ ├── partials
│ │ ├── ad-text.ejs
│ │ ├── ad.ejs
│ │ ├── conf.ejs
│ │ ├── ecosystem_dropdown.ejs
│ │ ├── header.ejs
│ │ ├── language_dropdown.ejs
│ │ ├── learn_dropdown.ejs
│ │ ├── main_menu.ejs
│ │ ├── platinum_sponsors.ejs
│ │ ├── resources_dropdown.ejs
│ │ ├── sidebar.ejs
│ │ ├── sponsors.ejs
│ │ ├── sponsors_sidebar.ejs
│ │ ├── support_vue_dropdown.ejs
│ │ ├── toc.ejs
│ │ └── vueschool_banner.ejs
│ ├── partners-page.ejs
│ ├── post.ejs
│ ├── search-page.ejs
│ └── sponsors-page.ejs
│ └── source
│ ├── browserconfig.xml
│ ├── css
│ ├── _ad.styl
│ ├── _animations.styl
│ ├── _api.styl
│ ├── _common.styl
│ ├── _demo.styl
│ ├── _header.styl
│ ├── _migration.styl
│ ├── _modal.styl
│ ├── _offline-menu.styl
│ ├── _partners.styl
│ ├── _scrimba.styl
│ ├── _search-page.styl
│ ├── _settings.styl
│ ├── _sidebar.styl
│ ├── _sponsors-index.styl
│ ├── _sponsors-page.styl
│ ├── _sponsors-sidebar.styl
│ ├── _style-guide.styl
│ ├── _syntax.styl
│ ├── _team.styl
│ ├── _themes.styl
│ ├── _vue-mastery.styl
│ ├── _vueschool.styl
│ ├── benchmark.styl
│ ├── index.styl
│ ├── page.styl
│ └── search.styl
│ ├── images
│ ├── Monterail.png
│ ├── aaha.png
│ ├── accelebrate.png
│ ├── alligator_io.svg
│ ├── aussiecasinohex.svg
│ ├── authing.svg
│ ├── autocode.svg
│ ├── bacancy_technology.png
│ ├── banners
│ │ ├── bg-desktop.svg
│ │ ├── bg-mobile.png
│ │ ├── bg-tablet.svg
│ │ ├── close.svg
│ │ ├── vs-iso.svg
│ │ └── vs-logo.svg
│ ├── bestvpn_co.png
│ ├── betting_bet.png
│ ├── bit.png
│ ├── blokt_cryptocurrency_news.png
│ ├── chaitin.png
│ ├── check.png
│ ├── cloudstudio.png
│ ├── coding.png
│ ├── coin-bch.png
│ ├── coin-btc.png
│ ├── coin-eth.png
│ ├── coin-ltc.png
│ ├── daily.png
│ ├── das_keyboard.png
│ ├── daskeyboard.png
│ ├── dcloud.gif
│ ├── derek_pollard.png
│ ├── devexpress.png
│ ├── devsquad.png
│ ├── dopamine.png
│ ├── down.png
│ ├── doximity.png
│ ├── dronahq.png
│ ├── earthlink.png
│ ├── empiricus.png
│ ├── emq.png
│ ├── energy_comparison.png
│ ├── exmax.png
│ ├── fastcoding_inc.png
│ ├── fastcoding_inc.svg
│ ├── feed.png
│ ├── fen_tre_online_solutions.png
│ ├── fen_tre_online_solutions.svg
│ ├── finclip.png
│ ├── firestick_tricks.png
│ ├── flatlogic_templates.svg
│ ├── flowdash.png
│ ├── foo.png
│ ├── free_bets_us.png
│ ├── frontendlove.png
│ ├── gitee.png
│ ├── gridsome.png
│ ├── happy_programmer_llc.png
│ ├── hbuilder.png
│ ├── html_burger.png
│ ├── icons.png
│ ├── icons
│ │ ├── android-icon-144x144.png
│ │ ├── android-icon-192x192.png
│ │ ├── android-icon-36x36.png
│ │ ├── android-icon-48x48.png
│ │ ├── android-icon-72x72.png
│ │ ├── android-icon-96x96.png
│ │ ├── apple-icon-114x114.png
│ │ ├── apple-icon-120x120.png
│ │ ├── apple-icon-144x144.png
│ │ ├── apple-icon-152x152.png
│ │ ├── apple-icon-180x180.png
│ │ ├── apple-icon-57x57.png
│ │ ├── apple-icon-60x60.png
│ │ ├── apple-icon-72x72.png
│ │ ├── apple-icon-76x76.png
│ │ ├── apple-icon-precomposed.png
│ │ ├── apple-icon.png
│ │ ├── bacancy_technology.png
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon-96x96.png
│ │ ├── favicon.ico
│ │ ├── ms-icon-144x144.png
│ │ ├── ms-icon-150x150.png
│ │ ├── ms-icon-310x310.png
│ │ └── ms-icon-70x70.png
│ ├── icons_8.png
│ ├── inkoop.png
│ ├── intygrate.png
│ ├── ionic.png
│ ├── isle_of_code.png
│ ├── isolutions_uk_limited.png
│ ├── jqwidgets_.png
│ ├── jqwidgets_ltd.png
│ ├── laravel.png
│ ├── layer0.png
│ ├── lendio.png
│ ├── line_corporation.png
│ ├── litslink.png
│ ├── logo.png
│ ├── logo.svg
│ ├── lowdefy.png
│ ├── marcus_hiles.png
│ ├── memberful.png
│ ├── menu-blm.png
│ ├── menu.png
│ ├── modus.png
│ ├── nativescript.png
│ ├── neds.png
│ ├── netflix_vpn.png
│ ├── newicon.png
│ ├── nuxt.png
│ ├── okay.png
│ ├── onsen_ui.png
│ ├── onyx_gaming_limited.svg
│ ├── opteo.png
│ ├── passionate_people.png
│ ├── patreon.png
│ ├── paypal.png
│ ├── philip_john_basile.gif
│ ├── piratebay_proxy.png
│ ├── piratebayproxy.png
│ ├── plaid__inc_.svg
│ ├── plaid_inc_.svg
│ ├── primevue.png
│ ├── programmers_io.png
│ ├── pullrequest.svg
│ ├── qingfuwu-v2.svg
│ ├── quickbooks_tool_hub.png
│ ├── refurbed.png
│ ├── retool.png
│ ├── roadster.png
│ ├── search.png
│ ├── shopware_ag.png
│ ├── shopware_ag.svg
│ ├── special-sponsor-spot.png
│ ├── staff_augmentation.png
│ ├── stdlib.png
│ ├── storekit.png
│ ├── storyblok.png
│ ├── syncfusion.png
│ ├── takt.png
│ ├── tatvasoft.png
│ ├── team_extension_north_america_inc.png
│ ├── tee__.png
│ ├── tendermint.png
│ ├── tidelift.png
│ ├── tighten_co.png
│ ├── tooltwist.png
│ ├── troypoint.png
│ ├── unicorn_io.png
│ ├── usave.png
│ ├── valuecoders.png
│ ├── vehikl.png
│ ├── vpn_review.png
│ ├── vpnranks.png
│ ├── vpsserver_com.png
│ ├── vuejobs.png
│ ├── vuemastery.png
│ ├── vueschool.png
│ ├── vuetify.png
│ ├── vuetraining_net__note__since_i_m_not_sure_where_else_to_put_it____this_is_replacing_vuescreencasts___they_re_both_run_by_me__i_m_just_switching_where_i_want_my_sponsorship_to_point_.png
│ ├── watchcartoononline.png
│ ├── webdock.png
│ ├── webreinvent_technologies_pvt_ltd.svg
│ ├── webucator.png
│ ├── wilderminds.png
│ ├── writers_per_hour.jpg
│ ├── x_team.png
│ ├── y8.png
│ └── yakaz.png
│ ├── js
│ ├── common.js
│ ├── css.escape.js
│ ├── smooth-scroll.min.js
│ ├── theme-data.js
│ ├── v3-notice.js
│ ├── vue.js
│ └── vue.min.js
│ └── manifest.json
├── writing-guide.md
└── yarn.lock
/.editorconfig:
--------------------------------------------------------------------------------
1 | [*]
2 | charset = utf-8
3 | indent_style = space
4 | indent_size = 2
5 | end_of_line = lf
6 | insert_final_newline = true
7 | trim_trailing_whitespace = true
8 |
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 | Note
2 | ====
3 | This repository is for Vue 1.x and 2.x only. Issues and pull requests related to 3.x are managed in the v3 doc repo: https://github.com/vuejs/docs-next.
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | Thumbs.db
3 | db.json
4 | *.log
5 | node_modules/
6 | public/
7 | .deploy*/
8 | src/_drafts
9 | package-lock.json
10 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2013-present Yuxi Evan You
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/_scripts/pre-deploy.js:
--------------------------------------------------------------------------------
1 | // udpate to latest built files of Vue
2 | require('./sync-sponsors')
3 |
4 | const fs = require('fs')
5 | const zlib = require('zlib')
6 | const axios = require('axios')
7 | const execSync = require('child_process').execSync
8 |
9 | const themeconfPath = 'themes/vue/_config.yml'
10 | const installPath = 'src/v2/guide/installation.md'
11 | const themeconfig = fs.readFileSync(themeconfPath, 'utf-8')
12 | const installation = fs.readFileSync(installPath, 'utf-8')
13 |
14 | // get latest Vue version
15 | console.log(`Checking latest Vue version...`)
16 | const localVersion = themeconfig.match(/vue_version: (.*)/)[1]
17 | const version = execSync('npm view vue@v2-latest version').toString().trim()
18 |
19 | if (localVersion === version) {
20 | console.log(`Version is up-to-date.`)
21 | process.exit(0)
22 | }
23 |
24 | console.log(`Latest version: ${version}. Downloading dist files...`)
25 |
26 | // replace version in theme config
27 | fs.writeFileSync(
28 | themeconfPath,
29 | themeconfig.replace(/vue_version: .*/, 'vue_version: ' + version)
30 | )
31 |
32 | // grab it from unpkg
33 | Promise.all([download(`vue.js`), download(`vue.min.js`)])
34 | .then(([devSize, prodSize]) => {
35 | // replace installation page version and size
36 | fs.writeFileSync(
37 | installPath,
38 | installation
39 | .replace(/vue_version: .*/, 'vue_version: ' + version)
40 | .replace(/gz_size:.*/g, `gz_size: "${prodSize}"`)
41 | .replace(/\/vue@[\d\.]+/g, `/vue@${version}`)
42 | )
43 | console.log(
44 | `\nSuccessfully updated Vue version (${version}) and gzip file size (${prodSize}kb).\n`
45 | )
46 | })
47 | .catch((err) => {
48 | console.error(err)
49 | process.exit(1)
50 | })
51 |
52 | function download(file) {
53 | return axios({
54 | url: `http://unpkg.com/vue@${version}/dist/${file}`,
55 | method: 'get'
56 | }).then((res) => {
57 | fs.writeFileSync(`themes/vue/source/js/${file}`, res.data)
58 | const zipped = zlib.gzipSync(Buffer.from(res.data))
59 | return (zipped.length / 1024).toFixed(2)
60 | })
61 | }
62 |
--------------------------------------------------------------------------------
/_scripts/sync-sponsors.js:
--------------------------------------------------------------------------------
1 | // sync latest data from sponsor.vuejs.org
2 | const fs = require('fs')
3 | const path = require('path')
4 | const axios = require('axios')
5 | const yaml = require('js-yaml')
6 |
7 | const configPath = path.resolve(__dirname, '../themes/vue/_config.yml')
8 |
9 | ;(async () => {
10 | const { data } = await axios(`https://sponsors.vuejs.org/data.json`)
11 | const yml = yaml.dump(data)
12 | const config = fs.readFileSync(configPath, 'utf-8')
13 | const updated = config.replace(
14 | /(# START SPONSORS)[^]*(# END SPONSORS)/,
15 | `$1\n${yml}$2`
16 | )
17 | fs.writeFileSync(configPath, updated)
18 | })()
19 |
--------------------------------------------------------------------------------
/assets/data.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/assets/data.ai
--------------------------------------------------------------------------------
/assets/hn-architecture.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/assets/hn-architecture.ai
--------------------------------------------------------------------------------
/assets/icons.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/assets/icons.psd
--------------------------------------------------------------------------------
/assets/lifecycle.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/assets/lifecycle.ai
--------------------------------------------------------------------------------
/assets/logo.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/assets/logo.ai
--------------------------------------------------------------------------------
/assets/mvvm.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/assets/mvvm.ai
--------------------------------------------------------------------------------
/assets/props_and_events.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/assets/props_and_events.ai
--------------------------------------------------------------------------------
/assets/state.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/assets/state.ai
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "v2.vuejs.org",
3 | "private": true,
4 | "hexo": {
5 | "version": "6.2.0"
6 | },
7 | "scripts": {
8 | "dev": "node _scripts/sync-sponsors.js && hexo server",
9 | "build": "node _scripts/pre-deploy.js && hexo clean && hexo generate",
10 | "deploy": "npm run build && hexo deploy"
11 | },
12 | "engines": {
13 | "node": ">=14.0.0"
14 | },
15 | "dependencies": {
16 | "axios": "^0.27.2",
17 | "hexo": "^6.2.0",
18 | "hexo-generator-alias": "git+https://github.com/chrisvfritz/vuejs.org-hexo-generator-alias.git",
19 | "hexo-generator-archive": "^1.0.0",
20 | "hexo-generator-category": "^1.0.0",
21 | "hexo-generator-feed": "^3.0.0",
22 | "hexo-generator-index": "^2.0.0",
23 | "hexo-generator-tag": "^1.0.0",
24 | "hexo-renderer-ejs": "^2.0.0",
25 | "hexo-renderer-marked": "^0.3.2",
26 | "hexo-renderer-stylus": "^2.1.0",
27 | "hexo-server": "^3.0.0",
28 | "hoek": "^6.1.2",
29 | "js-yaml": "^4.1.0"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/_posts/vue-011-release.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Vue.js 0.11 released!
3 | date: 2014-11-09 09:23:40
4 | ---
5 |
6 | After the long wait, [Vue.js 0.11 **Cowboy Bebop**](https://github.com/yyx990803/vue/releases/tag/0.11.0) is finally here! Thanks to everyone who tried out the release candidate versions and provided feedback / bug reports along the way.
7 |
8 |
9 |
10 | The 0.11 release introduced many new features and also a fair number of breaking changes, so please carefully read through the [0.11 Change List](https://github.com/yyx990803/vue/blob/master/changes.md) before upgrading. Aside from the API changes, 0.11 also ships with better [code quality](https://codeclimate.com/github/yyx990803/vue) and [test coverage](https://coveralls.io/r/yyx990803/vue), and is considerably more robust in almost every aspect.
11 |
12 | This documentation site has been fully upgraded to match the new 0.11 API. For the now legacy 0.10.6 version, you can still find documentations for it at [legacy.vuejs.org](http://legacy.vuejs.org).
13 |
--------------------------------------------------------------------------------
/src/_posts/vue-next.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Vue.js 0.10.6, and what's next
3 | date: 2014-07-29 00:04:55
4 | ---
5 |
6 | ## 0.10.6
7 |
8 | Vue.js 0.10.6 has been released! This is another small bug-fix release and will be the last maintenance version before the next major release.
9 |
10 |
11 |
12 | - fix `v-style` error when value is falsy or a number. ( thanks to [@dmfilipenko](https://github.com/dmfilipenko) )
13 | - fix the built-in `currency` filter error when value is a string ( thanks to [@dmfilipenko](https://github.com/dmfilipenko) )
14 | - fix `Vue.require` for building with Component v1.0+ ( thanks to [@kewah](https://github.com/kewah) )
15 | - Allow template nodes to be passed as a template option ( thanks to [@jordangarcia](https://github.com/jordangarcia) )
16 | - `vm.$destroy()` now accepts an optional argument `noRemove`. When passed in as `true` it will leave the vm's DOM node intact after the vm is destroyed.
17 |
18 | ## Vue-next
19 |
20 | Some of you might have noticed there is a [next](https://github.com/yyx990803/vue/tree/next) branch in the repo. And yes, I am re-writing Vue.js from scratch. There are two main reasons:
21 |
22 | - Fix some issues that are caused by design flaws in the current version. Because these changes affect the design of some core modules, it is actually easier to rewrite than to apply on the current codebase.
23 | - Improve general code quality (in particular, `compiler.js` as of now is a big pile of mess, and comments are not consistent across the codebase.)
24 |
25 | Take note that the `next` branch is still in **very** early stage. The internals will change a lot, and when it comes out it **will** break current applications. Despite that I will try to keep the API changes to a minimum. Major differences with current 0.10 branch are documented in [`changes.md`](https://github.com/yyx990803/vue/blob/next/changes.md). The list is obviously incomplete and subject to change, some of them are simply ideas, but it at least gives you a taste of what to expect, and I'd appreciate your feedback on any of the topics.
26 |
27 | Share your thoughts at [vuejs/Discussion](https://github.com/vuejs/Discussion/issues).
28 |
--------------------------------------------------------------------------------
/src/images/breakpoint_hit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/breakpoint_hit.png
--------------------------------------------------------------------------------
/src/images/breakpoint_set.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/breakpoint_set.png
--------------------------------------------------------------------------------
/src/images/components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/components.png
--------------------------------------------------------------------------------
/src/images/config_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/config_add.png
--------------------------------------------------------------------------------
/src/images/data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/data.png
--------------------------------------------------------------------------------
/src/images/devtools-storage-chrome.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/devtools-storage-chrome.png
--------------------------------------------------------------------------------
/src/images/devtools-storage-edge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/devtools-storage-edge.png
--------------------------------------------------------------------------------
/src/images/devtools-storage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/devtools-storage.png
--------------------------------------------------------------------------------
/src/images/devtools-timetravel.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/devtools-timetravel.gif
--------------------------------------------------------------------------------
/src/images/dom-tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/dom-tree.png
--------------------------------------------------------------------------------
/src/images/hn-architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/hn-architecture.png
--------------------------------------------------------------------------------
/src/images/hn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/hn.png
--------------------------------------------------------------------------------
/src/images/lifecycle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/lifecycle.png
--------------------------------------------------------------------------------
/src/images/logged-proxied-data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/logged-proxied-data.png
--------------------------------------------------------------------------------
/src/images/memory-leak-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/memory-leak-example.png
--------------------------------------------------------------------------------
/src/images/mvvm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/mvvm.png
--------------------------------------------------------------------------------
/src/images/oxford-comma.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/oxford-comma.jpg
--------------------------------------------------------------------------------
/src/images/props-events.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/props-events.png
--------------------------------------------------------------------------------
/src/images/search-by-algolia.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/search-by-algolia.png
--------------------------------------------------------------------------------
/src/images/state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/state.png
--------------------------------------------------------------------------------
/src/images/transition.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/transition.png
--------------------------------------------------------------------------------
/src/images/typescript-type-error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/typescript-type-error.png
--------------------------------------------------------------------------------
/src/images/vue-component-with-preprocessors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/vue-component-with-preprocessors.png
--------------------------------------------------------------------------------
/src/images/vue-component.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/src/images/vue-component.png
--------------------------------------------------------------------------------
/src/index.md:
--------------------------------------------------------------------------------
1 | index: true
2 | ---
3 |
--------------------------------------------------------------------------------
/src/menu/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | type: menu
3 | ---
4 |
--------------------------------------------------------------------------------
/src/perf/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Performance Comparisons
3 | ---
4 |
5 | ## TodoMVC Benchmark
6 |
7 | > *Last Updated: 2014-10-12*
8 |
9 | Looking for the TodoMVC Benchmark? It's been removed because after discussion with some other framework authors we have agreed that:
10 |
11 | 1. The original intention of these benchmarks were for comparing Browser performance rather than that of frameworks. The "synchronously trigger an action xxx times" test routine doesn't reflect meaningful real world user actions.
12 |
13 | 2. Due to internal implementation differences, frameworks that uses async rendering (e.g. Vue, Om, Mercury) gains the advantage by skipping part of the calculations that happened in the same event loop. The real world user experience doesn't demonstrate such dramatic difference.
14 |
15 | 3. Overall this benchmark suite gave rise to more controversy than constructive insights, so it's been removed and I'd be happy to replace it with a more meaningful way to measure front-end performance.
16 |
--------------------------------------------------------------------------------
/src/resources/themes.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Themes
3 | type: resources
4 | order: 804
5 | ---
6 | {% raw %}
7 |
8 |
11 |
12 |
13 | Want to feature your themes here?
14 | Contact us !
15 |
16 |
17 |
18 |
41 |
42 |
69 | {% endraw %}
70 |
--------------------------------------------------------------------------------
/src/support-vuejs/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | sponsors: true
3 | type: sponsors
4 | ---
5 |
--------------------------------------------------------------------------------
/src/v2/examples/commits.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitHub Commits
3 | type: examples
4 | order: 1
5 | ---
6 |
7 | > This example fetches latest Vue.js commits data from GitHub's API and displays them as a list. You can switch between the master and dev branches.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/v2/examples/deepstream.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Realtime with deepstreamHub
3 | type: examples
4 | order: 9
5 | ---
6 |
7 | > This example uses [deepstreamHub](https://deepstreamhub.com/) to synchronize realtime data, send events and make remote procedure calls between clients (you can try opening it in multiple browser windows).
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/v2/examples/elastic-header.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Elastic Header
3 | type: examples
4 | order: 7
5 | ---
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/v2/examples/firebase.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Firebase + Validation
3 | type: examples
4 | order: 10
5 | ---
6 |
7 | > This example uses [Firebase](https://firebase.google.com/) as the data persistence backend and syncs between clients in real time (you can try opening it in multiple browser tabs). In addition, it performs instant validation using computed properties and triggers CSS transitions when adding/removing items.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/v2/examples/grid-component.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Grid Component
3 | type: examples
4 | order: 3
5 | ---
6 |
7 | > This is an example of creating a reusable grid component and using it with external data.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/v2/examples/hackernews.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: HackerNews Clone
3 | type: examples
4 | order: 12
5 | ---
6 |
7 | > This is a HackerNews clone built upon HN's official Firebase API, Vue 2.0 + Vue Router + Vuex, with server-side rendering.
8 |
9 | {% raw %}
10 |
15 | {% endraw %}
16 |
17 | > [Live Demo](https://vue-hn.herokuapp.com/)
18 | > Note: the demo may need some spin up time if nobody has accessed it for a certain period.
19 | >
20 | > [[Source](https://github.com/vuejs/vue-hackernews-2.0)]
21 |
22 | ## Features
23 |
24 | - Server Side Rendering
25 | - Vue + Vue Router + Vuex working together
26 | - Server-side data pre-fetching
27 | - Client-side state & DOM hydration
28 | - Single-file Vue Components
29 | - Hot-reload in development
30 | - CSS extraction for production
31 | - Real-time List Updates with FLIP Animation
32 |
33 | ## Architecture Overview
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/v2/examples/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Markdown Editor
3 | type: examples
4 | order: 0
5 | ---
6 |
7 | > Dead simple Markdown editor.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/v2/examples/modal.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Modal Component
3 | type: examples
4 | order: 6
5 | ---
6 |
7 | > Features used: component, prop passing, content insertion, transitions.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/v2/examples/select2.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Wrapper Component
3 | type: examples
4 | order: 8
5 | ---
6 |
7 | > In this example we are integrating a 3rd party jQuery plugin (select2) by wrapping it inside a custom component.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/v2/examples/svg.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: SVG Graph
3 | type: examples
4 | order: 5
5 | ---
6 |
7 | > This example showcases a combination of custom component, computed property, two-way binding and SVG support.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/v2/examples/todomvc.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: TodoMVC
3 | type: examples
4 | order: 11
5 | ---
6 |
7 | > This is a fully spec-compliant TodoMVC implementation in under 120 effective lines of JavaScript (excluding comments and blank lines).
8 |
9 | Note that if your web browser is configured to block 3rd-party data/cookies, the example below will not work, as the `localStorage` data will fail to be saved. You'll have to click on `Open Sandbox` to see the live result.
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/v2/examples/tree-view.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Tree View
3 | type: examples
4 | order: 4
5 | ---
6 |
7 | > Example of a simple tree view implementation showcasing recursive usage of components.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-10-two-way-currency-filter-v2/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Two-way Currency Filter
5 |
6 |
7 |
8 |
9 |
10 |
11 |
15 |
19 |
23 |
24 |
Total: ${{ total }}
25 |
26 |
27 |
87 |
88 |
89 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-10-two-way-currency-filter-v2/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-10-two-way-currency-filter-v2",
3 | "version": "1.0.0",
4 | "description": "Showing how delayed state updates can cause strange behavior.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-10-two-way-currency-filter-v2/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-10-two-way-currency-filter-v3/currency-validator.js:
--------------------------------------------------------------------------------
1 | var currencyValidator = {
2 | format: function(number) {
3 | return (Math.trunc(number * 100) / 100).toFixed(2);
4 | },
5 | parse: function(newString, oldNumber) {
6 | var CleanParse = function(value) {
7 | return { value: value };
8 | };
9 | var CurrencyWarning = function(warning, value) {
10 | return {
11 | warning: warning,
12 | value: value,
13 | attempt: newString
14 | };
15 | };
16 | var NotAValidDollarAmountWarning = function(value) {
17 | return new CurrencyWarning(
18 | newString + " is not a valid dollar amount",
19 | value
20 | );
21 | };
22 | var AutomaticConversionWarning = function(value) {
23 | return new CurrencyWarning(
24 | newString + " was automatically converted to " + value,
25 | value
26 | );
27 | };
28 |
29 | var newNumber = Number(newString);
30 | var indexOfDot = newString.indexOf(".");
31 | var indexOfE = newString.indexOf("e");
32 |
33 | if (isNaN(newNumber)) {
34 | if (
35 | indexOfDot === -1 &&
36 | indexOfE > 0 &&
37 | indexOfE === newString.length - 1 &&
38 | Number(newString.slice(0, indexOfE)) !== 0
39 | ) {
40 | return new CleanParse(oldNumber);
41 | } else {
42 | return new NotAValidDollarAmountWarning(oldNumber);
43 | }
44 | }
45 |
46 | var newCurrencyString = currencyValidator.format(newNumber);
47 | var newCurrencyNumber = Number(newCurrencyString);
48 |
49 | if (newCurrencyNumber === newNumber) {
50 | if (indexOfE !== -1 && indexOfE === newString.length - 2) {
51 | return new AutomaticConversionWarning(newNumber);
52 | } else {
53 | return new CleanParse(newNumber);
54 | }
55 | } else {
56 | return new NotAValidDollarAmountWarning(
57 | newNumber > newCurrencyNumber ? newCurrencyNumber : oldNumber
58 | );
59 | }
60 | }
61 | };
62 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-10-two-way-currency-filter-v3/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-10-two-way-currency-filter-v3",
3 | "version": "1.0.0",
4 | "description": "Showing how delayed state updates can cause strange behavior.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-10-two-way-currency-filter-v3/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-10-two-way-currency-filter/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Two-way Currency Filter
5 |
6 |
7 |
8 |
28 |
29 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-10-two-way-currency-filter/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-10-two-way-currency-filter",
3 | "version": "1.0.0",
4 | "description": "Showing how delayed state updates can cause strange behavior.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-10-two-way-currency-filter/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-accessing-parent-component-instance/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Dependency Injection Google Maps Demo
5 |
6 |
7 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-accessing-parent-component-instance/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-accessing-parent-component-instance",
3 | "version": "1.0.0",
4 | "description": "Vue.js example accessing Parent Component Instance using Google Maps.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-accessing-parent-component-instance/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-component-blog-post-example/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Component Blog Post Example
5 |
6 |
7 |
8 |
9 |
14 |
15 |
16 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-component-blog-post-example/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-component-blog-post-example",
3 | "version": "1.0.0",
4 | "description": "Dynamically passing props, like when fetching posts from an API.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-component-blog-post-example/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-dependency-injection/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Dependency Injection Google Maps Demo
5 |
6 |
7 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
96 |
97 |
98 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-dependency-injection/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-dependency-injection",
3 | "version": "1.0.0",
4 | "description": "Vue.js Dependency Injection example using Google Maps.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-dependency-injection/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-dynamic-components-with-binding/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Dynamic Components Example
5 |
6 |
28 |
29 |
30 |
31 |
37 | {{ tab.name }}
38 |
39 |
40 |
41 |
42 |
43 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-dynamic-components-with-binding/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-dynamic-components-with-binding",
3 | "version": "1.0.0",
4 | "description": "Showing binding to a component's options object.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-dynamic-components-with-binding/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-dynamic-components/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Dynamic Components Example
5 |
6 |
28 |
29 |
30 |
31 |
37 | {{ tab }}
38 |
39 |
40 |
41 |
42 |
43 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-dynamic-components/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-dynamic-components",
3 | "version": "1.0.0",
4 | "description": "Used to dynamically switch between components, like in a tabbed interface.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-dynamic-components/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-dynamic-state-transitions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-dynamic-state-transitions",
3 | "version": "1.0.0",
4 | "description": "Data backing state transitions can be updated in real time, like in this example.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-dynamic-state-transitions/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-elastic-header/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-elastic-header",
3 | "version": "1.0.0",
4 | "description": "Elastic Draggable SVG Header",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-elastic-header/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-elastic-header/style.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | font-weight: 300;
3 | font-size: 1.8em;
4 | margin-top: 0;
5 | }
6 | a {
7 | color: #fff;
8 | }
9 | .draggable-header-view {
10 | background-color: #fff;
11 | box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
12 | width: 320px;
13 | height: 560px;
14 | overflow: hidden;
15 | margin: 30px auto;
16 | position: relative;
17 | font-family: "Roboto", Helvetica, Arial, sans-serif;
18 | color: #fff;
19 | font-size: 14px;
20 | font-weight: 300;
21 | -webkit-user-select: none;
22 | -moz-user-select: none;
23 | -ms-user-select: none;
24 | user-select: none;
25 | }
26 | .draggable-header-view .bg {
27 | position: absolute;
28 | top: 0;
29 | left: 0;
30 | z-index: 0;
31 | }
32 | .draggable-header-view .header,
33 | .draggable-header-view .content {
34 | position: relative;
35 | z-index: 1;
36 | padding: 30px;
37 | box-sizing: border-box;
38 | }
39 | .draggable-header-view .header {
40 | height: 160px;
41 | }
42 | .draggable-header-view .content {
43 | color: #333;
44 | line-height: 1.5em;
45 | }
46 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-firebase-validation/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-firebase-validation",
3 | "version": "1.0.0",
4 | "description": "This example uses Firebase as the data persistence backend and syncs between clients in real time (you can try opening it in multiple browser tabs). In addition, it performs instant validation using computed properties and triggers CSS transitions when adding/removing items.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-firebase-validation/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-firebase-validation/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Helvetica, Arial, sans-serif;
3 | }
4 |
5 | ul {
6 | padding: 0;
7 | }
8 |
9 | .user {
10 | height: 30px;
11 | line-height: 30px;
12 | padding: 10px;
13 | border-top: 1px solid #eee;
14 | overflow: hidden;
15 | transition: all 0.25s ease;
16 | }
17 |
18 | .user:last-child {
19 | border-bottom: 1px solid #eee;
20 | }
21 |
22 | .v-enter,
23 | .v-leave-active {
24 | height: 0;
25 | padding-top: 0;
26 | padding-bottom: 0;
27 | border-top-width: 0;
28 | border-bottom-width: 0;
29 | }
30 |
31 | .errors {
32 | color: #f00;
33 | }
34 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-github-commits/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | GitHub Commits
5 |
6 |
7 |
8 |
9 |
10 |
Latest Vue.js Commits
11 |
12 |
19 | {{ branch }}
20 |
21 |
vuejs/vue@{{ currentBranch }}
22 |
39 |
40 |
41 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-github-commits/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-github-commits",
3 | "version": "1.0.0",
4 | "description": "This example fetches latest Vue.js commits data from GitHub's API and displays them as a list. You can switch between the master and dev branches.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-github-commits/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-github-commits/style.css:
--------------------------------------------------------------------------------
1 | #demo {
2 | font-family: "Helvetica", Arial, sans-serif;
3 | }
4 | a {
5 | text-decoration: none;
6 | color: #f66;
7 | }
8 | li {
9 | line-height: 1.5em;
10 | margin-bottom: 20px;
11 | }
12 | .author,
13 | .date {
14 | font-weight: bold;
15 | }
16 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-grid-component/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-grid-component",
3 | "version": "1.0.0",
4 | "description": "This is an example of creating a reusable grid component and using it with external data.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-grid-component/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-grid-component/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Helvetica Neue, Arial, sans-serif;
3 | font-size: 14px;
4 | color: #444;
5 | }
6 |
7 | table {
8 | border: 2px solid #42b983;
9 | border-radius: 3px;
10 | background-color: #fff;
11 | }
12 |
13 | th {
14 | background-color: #42b983;
15 | color: rgba(255, 255, 255, 0.66);
16 | cursor: pointer;
17 | -webkit-user-select: none;
18 | -moz-user-select: none;
19 | -ms-user-select: none;
20 | user-select: none;
21 | }
22 |
23 | td {
24 | background-color: #f9f9f9;
25 | }
26 |
27 | th,
28 | td {
29 | min-width: 120px;
30 | padding: 10px 20px;
31 | }
32 |
33 | th.active {
34 | color: #fff;
35 | }
36 |
37 | th.active .arrow {
38 | opacity: 1;
39 | }
40 |
41 | .arrow {
42 | display: inline-block;
43 | vertical-align: middle;
44 | width: 0;
45 | height: 0;
46 | margin-left: 5px;
47 | opacity: 0.66;
48 | }
49 |
50 | .arrow.asc {
51 | border-left: 4px solid transparent;
52 | border-right: 4px solid transparent;
53 | border-bottom: 4px solid #fff;
54 | }
55 |
56 | .arrow.dsc {
57 | border-left: 4px solid transparent;
58 | border-right: 4px solid transparent;
59 | border-top: 4px solid #fff;
60 | }
61 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-hello-world/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | My first Vue app
5 |
6 |
7 |
8 |
9 | {{ message }}
10 |
11 |
12 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-hello-world/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-hello-world",
3 | "version": "1.0.0",
4 | "description": "The easiest way to try out Vue.js, edit this Hello World example",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-hello-world/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-keep-alive-with-dynamic-components/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-keep-alive-with-dynamic-components",
3 | "version": "1.0.0",
4 | "description": "The Posts tab maintains its state (the selected post) even when it's not rendered.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-keep-alive-with-dynamic-components/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-keep-alive-with-dynamic-components/style.css:
--------------------------------------------------------------------------------
1 | .tab-button {
2 | padding: 6px 10px;
3 | border-top-left-radius: 3px;
4 | border-top-right-radius: 3px;
5 | border: 1px solid #ccc;
6 | cursor: pointer;
7 | background: #f0f0f0;
8 | margin-bottom: -1px;
9 | margin-right: -1px;
10 | }
11 | .tab-button:hover {
12 | background: #e0e0e0;
13 | }
14 | .tab-button.active {
15 | background: #e0e0e0;
16 | }
17 | .tab {
18 | border: 1px solid #ccc;
19 | padding: 10px;
20 | }
21 | .posts-tab {
22 | display: flex;
23 | }
24 | .posts-sidebar {
25 | max-width: 40vw;
26 | margin: 0;
27 | padding: 0 10px 0 0;
28 | list-style-type: none;
29 | border-right: 1px solid #ccc;
30 | }
31 | .posts-sidebar li {
32 | white-space: nowrap;
33 | text-overflow: ellipsis;
34 | overflow: hidden;
35 | cursor: pointer;
36 | }
37 | .posts-sidebar li:hover {
38 | background: #eee;
39 | }
40 | .posts-sidebar li.selected {
41 | background: lightblue;
42 | }
43 | .selected-post-container {
44 | padding-left: 10px;
45 | }
46 | .selected-post > :first-child {
47 | margin-top: 0;
48 | padding-top: 0;
49 | }
50 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-list-move-transitions/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | List Move Transitions Sudoku Example
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Lazy Sudoku
12 |
Keep hitting the shuffle button until you win.
13 |
14 |
15 | Shuffle
16 |
17 |
18 |
19 | {{ cell.number }}
20 |
21 |
22 |
23 |
24 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-list-move-transitions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-list-move-transitions",
3 | "version": "1.0.0",
4 | "description": "Example showing list entering/leaving transitions in Sudoku.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-list-move-transitions/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-list-move-transitions/style.css:
--------------------------------------------------------------------------------
1 | .container {
2 | display: flex;
3 | flex-wrap: wrap;
4 | width: 238px;
5 | margin-top: 10px;
6 | }
7 | .cell {
8 | display: flex;
9 | justify-content: space-around;
10 | align-items: center;
11 | width: 25px;
12 | height: 25px;
13 | border: 1px solid #aaa;
14 | margin-right: -1px;
15 | margin-bottom: -1px;
16 | }
17 | .cell:nth-child(3n) {
18 | margin-right: 0;
19 | }
20 | .cell:nth-child(27n) {
21 | margin-bottom: 0;
22 | }
23 | .cell-move {
24 | transition: transform 1s;
25 | }
26 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-markdown-editor/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Markdown Editor
5 |
6 |
7 |
8 |
9 |
10 |
11 |
15 |
16 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-markdown-editor/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-markdown-editor",
3 | "version": "1.0.0",
4 | "description": "Dead simple Markdown editor.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-markdown-editor/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-markdown-editor/style.css:
--------------------------------------------------------------------------------
1 | html,
2 | body,
3 | #editor {
4 | margin: 0;
5 | height: 100%;
6 | font-family: "Helvetica Neue", Arial, sans-serif;
7 | color: #333;
8 | }
9 |
10 | textarea,
11 | #editor div {
12 | display: inline-block;
13 | width: 49%;
14 | height: 100%;
15 | vertical-align: top;
16 | box-sizing: border-box;
17 | padding: 0 20px;
18 | }
19 |
20 | textarea {
21 | border: none;
22 | border-right: 1px solid #ccc;
23 | resize: none;
24 | outline: none;
25 | background-color: #f6f6f6;
26 | font-size: 14px;
27 | font-family: "Monaco", courier, monospace;
28 | padding: 20px;
29 | }
30 |
31 | code {
32 | color: #f66;
33 | }
34 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-modal-component/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Modal Component
5 |
6 |
7 |
8 |
39 |
40 |
41 |
42 |
43 | Show Modal
44 |
45 |
46 |
50 | custom header
51 |
52 |
53 |
54 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-modal-component/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-modal-component",
3 | "version": "1.0.0",
4 | "description": "Features used: component, prop passing, content insertion, transitions.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-modal-component/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-modal-component/style.css:
--------------------------------------------------------------------------------
1 | .modal-mask {
2 | position: fixed;
3 | z-index: 9998;
4 | top: 0;
5 | left: 0;
6 | width: 100%;
7 | height: 100%;
8 | background-color: rgba(0, 0, 0, 0.5);
9 | display: table;
10 | transition: opacity 0.3s ease;
11 | }
12 |
13 | .modal-wrapper {
14 | display: table-cell;
15 | vertical-align: middle;
16 | }
17 |
18 | .modal-container {
19 | width: 300px;
20 | margin: 0px auto;
21 | padding: 20px 30px;
22 | background-color: #fff;
23 | border-radius: 2px;
24 | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33);
25 | transition: all 0.3s ease;
26 | font-family: Helvetica, Arial, sans-serif;
27 | }
28 |
29 | .modal-header h3 {
30 | margin-top: 0;
31 | color: #42b983;
32 | }
33 |
34 | .modal-body {
35 | margin: 20px 0;
36 | }
37 |
38 | .modal-default-button {
39 | float: right;
40 | }
41 |
42 | /*
43 | * The following styles are auto-applied to elements with
44 | * transition="modal" when their visibility is toggled
45 | * by Vue.js.
46 | *
47 | * You can easily play with the modal transition by editing
48 | * these styles.
49 | */
50 |
51 | .modal-enter {
52 | opacity: 0;
53 | }
54 |
55 | .modal-leave-active {
56 | opacity: 0;
57 | }
58 |
59 | .modal-enter .modal-container,
60 | .modal-leave-active .modal-container {
61 | -webkit-transform: scale(1.1);
62 | transform: scale(1.1);
63 | }
64 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-priority-d-rules-correct-example/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Priority D Rules Correct Example
5 |
6 |
20 |
21 |
22 |
23 |
24 |
25 | Save
26 |
27 |
28 | Edit
29 |
30 |
31 |
32 |
33 | With a unique key
on each conditional element, the
34 | transition is now applied.
35 |
36 |
37 |
38 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-priority-d-rules-correct-example/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-priority-d-rules-correct-example",
3 | "version": "1.0.0",
4 | "description": "A unique key on each conditional element so the transition is applied.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-priority-d-rules-correct-example/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-priority-d-rules-unintended-consequences/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Priority D Rules Unintended Consequences
5 |
6 |
20 |
21 |
22 |
23 |
24 |
25 | Save
26 |
27 |
28 | Edit
29 |
30 |
31 |
32 |
33 | When clicking on the <button>
above, the transition
34 | is never applied because Vue is reusing the same element for render
35 | efficiency. To force Vue to treat these as separate elements, a
36 | unique key
must be added
41 | to each conditional element.
42 |
43 |
44 |
45 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-priority-d-rules-unintended-consequences/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-priority-d-rules-unintended-consequences",
3 | "version": "1.0.0",
4 | "description": "Lacking a unique key on each conditional element, the transition is never applied.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-priority-d-rules-unintended-consequences/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-programmatic-event-listeners/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Programmatic Event Listeners using Pikaday
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-programmatic-event-listeners/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-programmatic-event-listeners",
3 | "version": "1.0.0",
4 | "description": "Vue.js Programmatic Event Listeners example using Pikaday",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-programmatic-event-listeners/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-realtime-with-deepstreamhub/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-realtime-with-deepstreamhub",
3 | "version": "1.0.0",
4 | "description": "This example uses deepstreamHub to synchronize realtime data, send events and make remote procedure calls between clients (you can try opening it in multiple browser windows).",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-realtime-with-deepstreamhub/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-realtime-with-deepstreamhub/style.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | list-style-type: none;
5 | font-family: RobotoCondensed, sans-serif;
6 | font-size: 14px;
7 | color: #333;
8 | box-sizing: border-box;
9 | outline: none;
10 | transition: all 200ms ease;
11 | }
12 |
13 | body {
14 | background-color: #fff;
15 | }
16 |
17 | .group {
18 | width: 80%;
19 | max-width: 800px;
20 | margin: 40px auto;
21 | padding: 20px;
22 | position: relative;
23 | overflow: hidden;
24 | }
25 |
26 | .group.connectionState {
27 | margin: 10px auto 0;
28 | padding: 0 20px;
29 | }
30 |
31 | h2 {
32 | font-size: 20px;
33 | border-bottom: 1px solid #ccc;
34 | padding-bottom: 4px;
35 | margin-bottom: 10px;
36 | position: relative;
37 | }
38 |
39 | h2 small {
40 | position: absolute;
41 | right: 0;
42 | }
43 |
44 | h2 small * {
45 | display: inline-block;
46 | vertical-align: middle;
47 | font-weight: normal;
48 | color: #333;
49 | font-size: 12px;
50 | cursor: pointer;
51 | }
52 |
53 | button,
54 | input,
55 | .item {
56 | height: 32px;
57 | padding: 6px;
58 | }
59 |
60 | button {
61 | border: none;
62 | background: #7185ec;
63 | color: #fff;
64 | font-weight: 500;
65 | border-radius: 4px;
66 | cursor: pointer;
67 | text-align: center;
68 | cursor: pointer;
69 | font-weight: bold;
70 | box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.2);
71 | }
72 |
73 | button:hover {
74 | background-color: #586cd8;
75 | }
76 |
77 | button:active {
78 | position: relative;
79 | top: 1px;
80 | left: 1px;
81 | box-shadow: none;
82 | }
83 |
84 | .half {
85 | width: 48%;
86 | float: left;
87 | position: relative;
88 | }
89 |
90 | .half.left {
91 | margin-right: 4%;
92 | }
93 |
94 | label {
95 | font-size: 11px;
96 | font-style: italic;
97 | }
98 |
99 | input {
100 | border-radius: 4px;
101 | border: 1px solid #ccc;
102 | }
103 |
104 | input:focus {
105 | border-color: #7185ec;
106 | }
107 |
108 | .input-group input {
109 | width: 100%;
110 | }
111 |
112 | span.response {
113 | display: inline-block;
114 | background-color: #dddddd;
115 | }
116 |
117 | @media screen and (max-width: 900px) {
118 | .half {
119 | width: 100%;
120 | margin: 0 0 10px !important;
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-single-file-components/Hello.vue:
--------------------------------------------------------------------------------
1 |
2 | {{ greeting }} World!
3 |
4 |
5 |
14 |
15 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-single-file-components/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-single-file-components/index.js:
--------------------------------------------------------------------------------
1 | import Vue from "vue";
2 | import App from "./Hello";
3 |
4 | Vue.config.productionTip = false;
5 |
6 | new Vue({
7 | el: "#app",
8 | template: " ",
9 | components: { App }
10 | });
11 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-single-file-components/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-single-file-components",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "vue": "^2.6.11"
12 | },
13 | "devDependencies": {},
14 | "browserslist": ["> 1%", "last 2 versions", "not ie <= 8"],
15 | "keywords": [],
16 | "description": "Hello.vue single-file components example using a .vue extension."
17 | }
18 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-svg-graph/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-svg-graph",
3 | "version": "1.0.0",
4 | "description": "This example showcases a combination of custom component, computed property, two-way binding and SVG support.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-svg-graph/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-svg-graph/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Helvetica Neue, Arial, sans-serif;
3 | }
4 |
5 | polygon {
6 | fill: #42b983;
7 | opacity: 0.75;
8 | }
9 |
10 | circle {
11 | fill: transparent;
12 | stroke: #999;
13 | }
14 |
15 | text {
16 | font-family: Helvetica Neue, Arial, sans-serif;
17 | font-size: 10px;
18 | fill: #666;
19 | }
20 |
21 | label {
22 | display: inline-block;
23 | margin-left: 10px;
24 | width: 20px;
25 | }
26 |
27 | #raw {
28 | position: absolute;
29 | top: 0;
30 | left: 300px;
31 | }
32 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-template-compilation/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Template Compilation
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
render:
13 |
{{ result.render }}
14 |
staticRenderFns:
15 |
_m({{ index }}): {{ fn }}
18 |
{{ result.staticRenderFns }}
21 |
22 |
23 |
Compilation Error:
24 |
{{ result }}
25 |
26 |
27 |
28 |
37 |
38 |
82 |
83 |
84 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-template-compilation/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-template-compilation",
3 | "version": "1.0.0",
4 | "description": "A demo using Vue.compile to live-compile a template string.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-template-compilation/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-template-compilation/style.css:
--------------------------------------------------------------------------------
1 | *,
2 | *::before,
3 | *::after {
4 | box-sizing: border-box;
5 | }
6 |
7 | body {
8 | font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
9 | -webkit-user-select: inherit;
10 | user-select: inherit;
11 | font-size: 14px;
12 | color: #34495e;
13 | }
14 |
15 | pre {
16 | padding: 10px;
17 | overflow-x: auto;
18 | background: #f2f2f2;
19 | }
20 |
21 | code {
22 | white-space: pre;
23 | padding: 0;
24 | }
25 |
26 | code,
27 | pre,
28 | textarea {
29 | font-family: "Roboto Mono", Monaco, courier, monospace;
30 | }
31 |
32 | textarea {
33 | width: 100%;
34 | font-size: 14px;
35 | margin-bottom: 8px;
36 | border-color: #bbb;
37 | padding: 8px;
38 | border-bottom-width: 2px;
39 | outline: none;
40 | color: #34495e;
41 | }
42 |
43 | textarea:focus {
44 | background: lightyellow;
45 | }
46 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-todomvc/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-todomvc",
3 | "version": "1.0.0",
4 | "description": "This is a fully spec-compliant TodoMVC implementation in under 120 effective lines of JavaScript (excluding comments and blank lines).",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-todomvc/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-tree-view/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-tree-view",
3 | "version": "1.0.0",
4 | "description": "Example of a simple tree view implementation showcasing recursive usage of components.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-tree-view/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-tree-view/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Menlo, Consolas, monospace;
3 | color: #444;
4 | }
5 | .item {
6 | cursor: pointer;
7 | }
8 | .bold {
9 | font-weight: bold;
10 | }
11 | ul {
12 | padding-left: 1em;
13 | line-height: 1.5em;
14 | list-style-type: dot;
15 | }
16 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-two-way-currency-filter/currency-validator.js:
--------------------------------------------------------------------------------
1 | var currencyValidator = {
2 | format: function(number) {
3 | return (Math.trunc(number * 100) / 100).toFixed(2);
4 | },
5 | parse: function(newString, oldNumber) {
6 | var CleanParse = function(value) {
7 | return { value: value };
8 | };
9 | var CurrencyWarning = function(warning, value) {
10 | return {
11 | warning: warning,
12 | value: value,
13 | attempt: newString
14 | };
15 | };
16 | var NotAValidDollarAmountWarning = function(value) {
17 | return new CurrencyWarning(
18 | newString + " is not a valid dollar amount",
19 | value
20 | );
21 | };
22 | var AutomaticConversionWarning = function(value) {
23 | return new CurrencyWarning(
24 | newString + " was automatically converted to " + value,
25 | value
26 | );
27 | };
28 |
29 | var newNumber = Number(newString);
30 | var indexOfDot = newString.indexOf(".");
31 | var indexOfE = newString.indexOf("e");
32 |
33 | if (isNaN(newNumber)) {
34 | if (
35 | indexOfDot === -1 &&
36 | indexOfE > 0 &&
37 | indexOfE === newString.length - 1 &&
38 | Number(newString.slice(0, indexOfE)) !== 0
39 | ) {
40 | return new CleanParse(oldNumber);
41 | } else {
42 | return new NotAValidDollarAmountWarning(oldNumber);
43 | }
44 | }
45 |
46 | var newCurrencyString = currencyValidator.format(newNumber);
47 | var newCurrencyNumber = Number(newCurrencyString);
48 |
49 | if (newCurrencyNumber === newNumber) {
50 | if (indexOfE !== -1 && indexOfE === newString.length - 2) {
51 | return new AutomaticConversionWarning(newNumber);
52 | } else {
53 | return new CleanParse(newNumber);
54 | }
55 | } else {
56 | return new NotAValidDollarAmountWarning(
57 | newNumber > newCurrencyNumber ? newCurrencyNumber : oldNumber
58 | );
59 | }
60 | }
61 | };
62 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-two-way-currency-filter/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-two-way-currency-filter",
3 | "version": "1.0.0",
4 | "description": "Using lifecycle hooks and DOM events in place of the hidden behavior of two-way filters",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-two-way-currency-filter/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-wrapper-component/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Wrapper Component
5 |
6 |
7 |
8 |
9 |
14 |
23 |
24 |
25 |
26 |
27 |
28 |
36 |
37 |
42 |
43 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-wrapper-component/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-20-wrapper-component",
3 | "version": "1.0.0",
4 | "description": "In this example we are integrating a 3rd party jQuery plugin (select2) by wrapping it inside a custom component.",
5 | "main": "index.html",
6 | "scripts": {
7 | "start": "serve"
8 | },
9 | "keywords": [],
10 | "license": "MIT",
11 | "devDependencies": {
12 | "serve": "^11.2.0"
13 | }
14 | }
--------------------------------------------------------------------------------
/src/v2/examples/vue-20-wrapper-component/sandbox.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "template": "static"
3 | }
4 |
--------------------------------------------------------------------------------
/src/v2/guide/routing.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Routing
3 | type: guide
4 | order: 501
5 | ---
6 |
7 | ## Official Router
8 |
9 | For most Single Page Applications, it's recommended to use the officially-supported [vue-router library](https://github.com/vuejs/vue-router). For more details, see vue-router's [documentation](https://router.vuejs.org/).
10 |
11 | ## Simple Routing From Scratch
12 |
13 | If you only need very simple routing and do not wish to involve a full-featured router library, you can do so by dynamically rendering a page-level component like this:
14 |
15 | ``` js
16 | const NotFound = { template: 'Page not found
' }
17 | const Home = { template: 'home page
' }
18 | const About = { template: 'about page
' }
19 |
20 | const routes = {
21 | '/': Home,
22 | '/about': About
23 | }
24 |
25 | new Vue({
26 | el: '#app',
27 | data: {
28 | currentRoute: window.location.pathname
29 | },
30 | computed: {
31 | ViewComponent () {
32 | return routes[this.currentRoute] || NotFound
33 | }
34 | },
35 | render (h) { return h(this.ViewComponent) }
36 | })
37 | ```
38 |
39 | Combined with the HTML5 History API, you can build a very basic but fully-functional client-side router. To see that in practice, check out [this example app](https://github.com/chrisvfritz/vue-2.0-simple-routing-example).
40 |
41 | ## Integrating 3rd-Party Routers
42 |
43 | If there's a 3rd-party router you prefer to use, such as [Page.js](https://github.com/visionmedia/page.js) or [Director](https://github.com/flatiron/director), integration is [similarly easy](https://github.com/chrisvfritz/vue-2.0-simple-routing-example/compare/master...pagejs). Here's a [complete example](https://github.com/chrisvfritz/vue-2.0-simple-routing-example/tree/pagejs) using Page.js.
44 |
--------------------------------------------------------------------------------
/src/v2/guide/ssr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Server-Side Rendering
3 | type: guide
4 | order: 503
5 | ---
6 |
7 | ## The Complete SSR Guide
8 |
9 | We have created a standalone guide for creating server-rendered Vue applications. This is a very in-depth guide for those who are already familiar with client-side Vue development, server-side Node.js development and webpack. Check it out at [v2.ssr.vuejs.org](https://v2.ssr.vuejs.org/).
10 |
11 | ## Nuxt.js
12 |
13 | Properly configuring all the discussed aspects of a production-ready server-rendered app can be a daunting task. Luckily, there is an excellent community project that aims to make all of this easier: [Nuxt.js](https://nuxtjs.org/). Nuxt.js is a higher-level framework built on top of the Vue ecosystem which provides an extremely streamlined development experience for writing universal Vue applications. Better yet, you can even use it as a static site generator (with pages authored as single-file Vue components)! We highly recommend giving it a try.
14 |
15 | ## Quasar Framework SSR + PWA
16 |
17 | [Quasar Framework](https://quasar.dev) will generate an SSR app (with optional PWA handoff) that leverages its best-in-class build system, sensible configuration and developer extensibility to make designing and building your idea a breeze. With over one hundred specific "Material Design 2.0"-compliant components, you can decide which ones to execute on the server, which are available in the browser - and even manage the ` ` tags of your site. Quasar is a node.js and webpack based development environment that supercharges and streamlines rapid development of SPA, PWA, SSR, Electron, Capacitor and Cordova apps - all from one codebase.
18 |
--------------------------------------------------------------------------------
/src/v2/search/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Search Vue.js
3 | type: search
4 | search: true
5 | ---
--------------------------------------------------------------------------------
/themes/vue/layout/icons/bch.ejs:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/themes/vue/layout/icons/btc.ejs:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/themes/vue/layout/icons/eth.ejs:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/themes/vue/layout/icons/github-dark.ejs:
--------------------------------------------------------------------------------
1 | GitHub Dark icon
2 |
--------------------------------------------------------------------------------
/themes/vue/layout/icons/github.ejs:
--------------------------------------------------------------------------------
1 | GitHub icon
2 |
--------------------------------------------------------------------------------
/themes/vue/layout/icons/ltc.ejs:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/themes/vue/layout/icons/medium.ejs:
--------------------------------------------------------------------------------
1 | Medium icon
2 |
--------------------------------------------------------------------------------
/themes/vue/layout/icons/play.ejs:
--------------------------------------------------------------------------------
1 | Play icon
2 |
--------------------------------------------------------------------------------
/themes/vue/layout/icons/twitter.ejs:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/themes/vue/layout/page.ejs:
--------------------------------------------------------------------------------
1 | <% if (page.type) { %> <%- partial('partials/sidebar', { type: page.type ===
2 | 'menu' ? 'guide' : page.type, index: page.index }) %> <% } else { %>
3 |
8 | <% } %>
9 |
58 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/ad-text.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
12 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/ad.ejs:
--------------------------------------------------------------------------------
1 | <% if (!page.sponsors && !page.partners) { %>
2 |
3 |
9 |
10 | <% } %>
11 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/conf.ejs:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/ecosystem_dropdown.ejs:
--------------------------------------------------------------------------------
1 |
2 | Ecosystem
3 |
4 | Help
5 |
10 | Tooling
11 |
12 |
17 |
18 | Core Libraries
19 |
24 | News
25 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/header.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Vue 2 has reached EOL and is no longer actively maintained.
4 |
Upgrade to Vue 3
5 |
or learn more about
6 |
|
7 |
Vue 2 EOL .
8 |
9 |
10 |
19 |
20 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/language_dropdown.ejs:
--------------------------------------------------------------------------------
1 |
2 | Translations
3 |
14 |
15 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/learn_dropdown.ejs:
--------------------------------------------------------------------------------
1 |
2 | Learn
3 |
4 | Documentation
5 |
6 |
13 |
14 | Video Courses
15 |
16 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/main_menu.ejs:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | <%- partial('partials/learn_dropdown') %>
7 | <%- partial('partials/ecosystem_dropdown') %>
8 | <%- partial('partials/resources_dropdown') %>
9 |
10 | EOLNEW
11 |
12 | <%- partial('partials/language_dropdown') %>
13 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/platinum_sponsors.ejs:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/resources_dropdown.ejs:
--------------------------------------------------------------------------------
1 |
2 | Resources
3 |
39 |
40 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/sidebar.ejs:
--------------------------------------------------------------------------------
1 | <% var isHomePage = page.path === 'index.html' %>
2 |
3 |
37 | <% if (!page.sponsors && !page.partners) { %>
38 | <%- partial('partials/platinum_sponsors', { context: 'right' }) %>
39 | <% } %>
40 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/sponsors.ejs:
--------------------------------------------------------------------------------
1 | <% function logo(img) { return `https://sponsors.vuejs.org/images/${img}` } %>
2 |
3 | Patreon Sponsors
4 |
5 | <%_ for (const sponsor of theme.platinum) {_%>
6 |
9 | <%_ } _%>
10 |
11 |
12 | <%_ for (const sponsor of theme.gold) {_%>
13 |
16 | <%_ } _%>
17 |
18 |
19 |
20 |
21 |
31 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/sponsors_sidebar.ejs:
--------------------------------------------------------------------------------
1 | <% function logo(img) { return `https://sponsors.vuejs.org/images/${img}` } %>
2 |
3 | <%_ if (theme.special) { _%>
4 |
16 | <%_ } _%>
17 | <%_ if (!page.sponsors && !page.partners) { _%>
18 | <%- partial('partials/platinum_sponsors', { context: 'left' }) %>
19 | <%_ } _%>
20 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/support_vue_dropdown.ejs:
--------------------------------------------------------------------------------
1 |
2 | Support Vue
3 |
8 |
9 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/toc.ejs:
--------------------------------------------------------------------------------
1 |
38 |
--------------------------------------------------------------------------------
/themes/vue/layout/partials/vueschool_banner.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/themes/vue/layout/post.ejs:
--------------------------------------------------------------------------------
1 |
23 |
29 |
--------------------------------------------------------------------------------
/themes/vue/source/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | #ffffff
9 |
10 |
11 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_ad.styl:
--------------------------------------------------------------------------------
1 | // main ad placement (bottom right)
2 | #ad
3 | width 125px
4 | position fixed
5 | z-index ($z-header - 1)
6 | bottom 10px
7 | right 10px
8 | padding 10px
9 | background-color #fff
10 | border-radius 3px
11 | font-size 13px
12 | a
13 | display inline-block
14 | color $light
15 | font-weight normal
16 | span
17 | color $light
18 | display block
19 | img
20 | width 125px
21 | .carbon-img, .carbon-text
22 | display block
23 | margin-bottom 4px
24 | font-weight normal
25 | color $medium
26 | .carbon-poweredby
27 | color #aaa
28 | font-size 10px
29 | letter-spacing .8px
30 | text-transform uppercase
31 | font-weight normal
32 |
33 | // text ad (end of the documentation)
34 | #bsa-native
35 | .native-box
36 | box-shadow inset 0 0 0 1px hsla(0, 0%, 0%, .075)
37 | background-color #f8f8f8;
38 | color $medium
39 | display flex
40 | border-radius 3px;
41 | padding .65em 1em
42 | align-items center
43 | margin-bottom 1.2em
44 | .native-link
45 | text-decoration none
46 | display flex
47 | align-items center
48 | padding 10px 14px
49 | .native-sponsor
50 | background-color #41b983
51 | color #fff
52 | font-size 12px
53 | border-radius 2px
54 | margin-right 1em
55 | line-height 1
56 | padding 6px 10px
57 | font-weight 600
58 | text-transform uppercase
59 | .native-text
60 | font-weight normal
61 | line-height 1.35
62 | text-align left
63 |
64 |
65 | @media print
66 | #ad
67 | display none
68 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_animations.styl:
--------------------------------------------------------------------------------
1 | .rotating-clockwise
2 | animation: 3s rotating-clockwise linear infinite
3 |
4 | i.rotating-clockwise
5 | display: inline-block
6 | animation-duration: 2s
7 |
8 | @keyframes rotating-clockwise
9 | from
10 | transform: rotate(0)
11 | to
12 | transform: rotate(360deg)
13 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_api.styl:
--------------------------------------------------------------------------------
1 | .content.api
2 | h2, h3
3 | > sup
4 | margin-left: .3em
5 | color: #b9465c
6 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_demo.styl:
--------------------------------------------------------------------------------
1 | #demo, .demo, .content .demo
2 | border: 1px solid #eee
3 | border-radius: $radius
4 | padding: 25px 35px
5 | margin-top: 1em
6 | margin-bottom: 40px
7 | -webkit-user-select: none
8 | -moz-user-select: none
9 | -ms-user-select: none
10 | user-select: none
11 | overflow-x: auto
12 | h1
13 | margin: 0 0 .5em
14 | font-size: 1.8em
15 | h2
16 | padding: 0
17 | border: none
18 | h2, h3, h4, h5, h6
19 | margin: 1em 0
20 | ul, ol
21 | padding-left: 1.5em
22 | padding-bottom: .2em !important
23 | &:first-child
24 | margin-top: 0
25 | &:last-child
26 | margin-bottom: 0
27 | li
28 | color: $medium
29 | // !!TODO: Check to make sure this isn't here for a good reason.
30 | // cursor: pointer
31 | // -ms-user-select: none
32 | // -moz-user-select: none
33 | // -webkit-user-select: none
34 | &.done
35 | color: $light
36 | text-decoration: line-through
37 | p
38 | margin: 0 !important
39 | padding: 0 !important
40 | textarea
41 | width: 100%
42 | resize: vertical
43 | > :first-child
44 | margin-top: 0
45 | > :last-child
46 | margin-bottom: 0
47 |
48 |
49 |
50 | ul#demo, ul.demo
51 | li
52 | margin-left: 1.5em
53 |
54 | @media screen and (max-width: 900px)
55 | #demo, .demo
56 | margin-left: 0
57 |
58 | .benchmark-table
59 | margin: 0 auto
60 | text-align: center
61 |
62 | tbody > tr > th
63 | text-align: right
64 |
65 | th, td
66 | padding: 3px 7px
67 |
68 | @media print
69 | #demo, .demo, .content .demo
70 | page-break-inside: avoid
71 | padding: 1em
72 | margin-bottom: 1em
73 | border-width: 2px
74 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_migration.styl:
--------------------------------------------------------------------------------
1 | .content.guide[class*="migration"]
2 | h2, h3
3 | > sup
4 | margin-left: .3em
5 | color: #b9465c
6 | .upgrade-path
7 | margin-top: 2em
8 | padding: 2em
9 | background: rgba(73, 195, 140, .1)
10 | border-radius: 2px
11 | > h4
12 | margin-top: 0
13 | > p:last-child
14 | margin-bottom: 0
15 | padding-bottom: 0
16 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_modal.styl:
--------------------------------------------------------------------------------
1 | .modal
2 | box-sizing: border-box
3 | display: none
4 | position: fixed
5 | width: 75%
6 | height: auto
7 | padding: .5em
8 | background-color: #f9f9f9
9 | box-shadow: 0 0 10px rgba(0,0,0,.2)
10 | &.open
11 | display: block
12 | top: 50%
13 | left: 50%
14 | transform: translate(-50%, -50%)
15 | z-index: $z-modal
16 | .modal-text
17 | margin-bottom 0.5em
18 | text-align center
19 | > a
20 | color $green
21 | font-weight 600
22 | .overlay
23 | position: fixed
24 | top: 0
25 | bottom: 0
26 | left: 0
27 | right: 0
28 | background: rgba(0,0,0,.2)
29 | z-index: $z-overlay
30 | .stop-scroll
31 | overflow: hidden
32 | height: 100%
33 | @media screen and (max-width: 400px)
34 | .modal
35 | width: 98%
36 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_offline-menu.styl:
--------------------------------------------------------------------------------
1 | .content.menu
2 | font-size: 1.2em
3 | .menu-root
4 | padding-left: 0
5 | #search-form, .algolia-autocomplete, input
6 | width: 100%
7 | .aa-dropdown-menu
8 | box-sizing: border-box
9 | h3
10 | margin: 1.5em 0 .75em
11 | &:before, &:after
12 | display: none
13 | li
14 | list-style-type: none
15 | margin-top: .1em
16 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_partners.styl:
--------------------------------------------------------------------------------
1 | @import "_settings"
2 | #partners
3 | .partner
4 | display: flex
5 | padding: 25px 0
6 | border-bottom: 1px dotted #ddd
7 | &:first-of-type
8 | margin-top: 15px
9 | &:last-of-type
10 | border-bottom: none
11 | .logo
12 | flex: 0 0 125px
13 | .profile
14 | padding: 0 26px
15 | flex: 1
16 | h3
17 | margin: 0
18 | font-size: 1.3em
19 | p
20 | margin-top: 0
21 | dl
22 | margin: .6em 0 0
23 | dt, dd, ul, li
24 | display: inline
25 | padding: 0
26 | margin: 0
27 | line-height: 1.3
28 | dt
29 | text-transform: uppercase
30 | font-size: .84em
31 | font-weight: 600
32 | &::after
33 | content: ""
34 | margin-right: 7px
35 | i
36 | width: 14px
37 | text-align: center
38 | &.fa-map-marker
39 | font-size: 1.15em
40 | &.fa-globe
41 | font-size: 1.2em
42 | &.fa-link
43 | font-size: 1.05em
44 | dd
45 | font-weight: 600
46 | &::after
47 | display: block
48 | content: ""
49 | margin-top: .6em
50 | li
51 | display: inline-block
52 | &::after
53 | display: inline-block
54 | content: "·"
55 | margin: 0 8px
56 | &:last-child::after
57 | content: ""
58 | .social
59 | a
60 | color: #000
61 | display: inline-block
62 | line-height: 1
63 | vertical-align: middle
64 | margin-right: 4px
65 | &.github
66 | color: #000
67 | &.twitter
68 | color: #1da1f3
69 | &.linkedin
70 | color: #0077B5
71 | &.instagram
72 | color: #C13584
73 | &.youtube
74 | color: #f00
75 | i
76 | vertical-align: text-bottom
77 | font-size: 1.3em
78 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_scrimba.styl:
--------------------------------------------------------------------------------
1 | .scrimba, .vueschool
2 | background-color #e7ecf3
3 | padding 1em 1.25em
4 | border-radius 2px
5 | color #486491
6 | position relative
7 | a
8 | color #486491 !important
9 | position relative
10 | padding-left 36px
11 | &:before
12 | content ''
13 | position absolute
14 | display block
15 | width 30px
16 | height 30px
17 | top -5px
18 | left -4px
19 | border-radius 50%
20 | background-color #73abfe
21 | &:after
22 | content ''
23 | position absolute
24 | display block
25 | width 0
26 | height 0
27 | top 5px
28 | left 8px
29 | border-top 5px solid transparent
30 | border-bottom 5px solid transparent
31 | border-left 8px solid #fff
32 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_search-page.styl:
--------------------------------------------------------------------------------
1 | #search-page
2 | .search-form
3 | .search-query
4 | width: 100%
5 | border-radius: 5px
6 | margin-right: 0
7 | .search-footer
8 | display: flex
9 | height: 35px
10 | align-items: center
11 | justify-content: space-between
12 | margin-bottom: 15px
13 | p
14 | margin: 0
15 | padding: 0
16 | .search-result
17 | margin-bottom: 15px;
18 | .title
19 | display: block
20 | font-size: 17.55px
21 | .summary
22 | padding: 0
23 | margin: 0
24 | .breadcrumb
25 | color: $light
26 | & + .breadcrumb::before
27 | content: "\203A\A0"
28 | margin-left: 5px
29 | color: $light
30 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_settings.styl:
--------------------------------------------------------------------------------
1 | // font faces
2 | $body-font = "Source Sans Pro", "Helvetica Neue", Arial, sans-serif
3 | $logo-font = "Dosis", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif
4 | $code-font = "Roboto Mono", Monaco, courier, monospace
5 |
6 | // font sizes
7 | $body-font-size = 1rem
8 | $code-font-size = .85em
9 |
10 | // colors
11 | $dark = #273849
12 | $medium = #304455
13 | $light = #4f5959
14 | $green = #42b983
15 | $border = #dddddd
16 | $codebg = #f8f8f8
17 | $red = #ff6666
18 | $info = #1C90F3
19 |
20 | $radius = 2px
21 | $content-padding-vertical = 35px
22 |
23 | // header settings
24 | $header-inner-height = 41px
25 | $heading-padding-vertical = 10px
26 | $v3-banner-height = 40px
27 | $header-height = $header-inner-height + $heading-padding-vertical * 2 + $v3-banner-height
28 | $mobile-header-height = 40px
29 | // prevent headers from being covered by the top nav upon navigation
30 | $heading-link-padding-top = $header-height + $content-padding-vertical
31 | $mobile-heading-link-padding-top = $mobile-header-height + $content-padding-vertical
32 | $h2-margin-top = 45px
33 | $h3-margin-top = 52px
34 |
35 | // z-index manifest
36 | $z-base = 1
37 | $z-sidebar = 10
38 | $z-header = 20
39 | $z-overlay = 30
40 | $z-modal = 40
41 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_sidebar.styl:
--------------------------------------------------------------------------------
1 | @import "_settings"
2 |
3 | .sidebar
4 | position: absolute
5 | z-index: $z-sidebar
6 | top: $header-height
7 | left: 0
8 | bottom: 0
9 | overflow-x: hidden
10 | overflow-y: auto
11 | -webkit-overflow-scrolling: touch
12 | -ms-overflow-style: none
13 | h2
14 | margin-top: .2em
15 | ul
16 | list-style-type: none
17 | margin: 0
18 | line-height: 1.5em
19 | padding-left: 1em
20 | li
21 | margin-top: .5em
22 | .sidebar-inner
23 | width: 260px
24 | padding: $content-padding-vertical 0px 60px 20px
25 | .version-select
26 | vertical-align: middle
27 | margin-left: 5px
28 | .menu-root
29 | padding-left: 0
30 | .sidebar-link
31 | color: $light
32 | &.current
33 | font-weight: 600
34 | color: $green
35 | &.new
36 | &:after
37 | content: "NEW"
38 | display: inline-block
39 | font-size: 10px
40 | font-weight: 600
41 | color: #fff
42 | background-color: $green
43 | line-height: 14px
44 | padding: 0 4px
45 | border-radius: 3px
46 | margin-left: 5px
47 | vertical-align: middle
48 | position: relative
49 | top: -1px
50 | &:hover
51 | border-bottom: 2px solid $green
52 | .section-link
53 | &.active
54 | font-weight: bold
55 | color: $green
56 | .main-menu
57 | margin-bottom: 20px
58 | display: none
59 | padding-left: 0
60 | .nav-dropdown
61 | h4
62 | font-weight: normal
63 | margin: 0
64 |
65 | @media screen and (max-width: 900px)
66 | .sidebar
67 | position: fixed
68 | background-color: #f9f9f9
69 | height: 100%
70 | top: 40px
71 | left: 0
72 | box-shadow: 0 0 10px rgba(0,0,0,.2)
73 | transition: all .4s cubic-bezier(0.4, 0, 0, 1)
74 | -webkit-transform: translate(-280px, 0)
75 | transform: translate(-280px, 0)
76 | .sidebar-inner
77 | padding: 60px 10px 30px 20px
78 | box-sizing: border-box
79 | .sidebar-inner-index
80 | padding: 10px 10px 10px 20px
81 | .search-query
82 | width: 200px
83 | margin-bottom: 10px
84 | .main-menu
85 | display: block
86 | &.open
87 | -webkit-transform: translate(0, 0)
88 | transform: translate(0, 0)
89 |
90 | @media print
91 | .sidebar
92 | display: none
93 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_sponsors-index.styl:
--------------------------------------------------------------------------------
1 | #sponsors
2 | text-align: center
3 | padding: 35px 40px 45px
4 | background-color: #f6f6f6
5 | .inner
6 | max-width: 700px
7 | margin: 0px auto
8 | h3
9 | color: #999
10 | margin: 0 0 10px
11 | a
12 | margin: 20px 15px 0
13 | position: relative
14 | display: inline-block
15 | &.sponsor
16 | width: 100px
17 | height: 60px
18 | line-height: 60px
19 | img
20 | max-width: 100%
21 | max-height: 100%
22 | vertical-align: middle
23 | transition: all .3s ease
24 | filter: grayscale(100%)
25 | opacity: 0.66
26 | &:hover
27 | filter: none
28 | opacity: 1
29 | a.vip
30 | display: block
31 | margin: 30px auto 15px
32 | width: 200px
33 | height: auto
34 | .become-sponsor
35 | margin-top: 40px
36 | font-size: .9em
37 | font-weight: 700
38 | width: auto
39 | background-color: transparent
40 |
41 | .open-collective-sponsors
42 | margin-top 60px
43 | a, img
44 | width: auto
45 | max-width: 100px
46 | max-height: 60px
47 | h4
48 | color #999
49 | margin-bottom 0
50 | &.active
51 | img
52 | filter: none
53 | opacity: 1
54 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_sponsors-page.styl:
--------------------------------------------------------------------------------
1 | .content
2 | .platinum
3 | text-align center
4 | a
5 | display inline-block
6 | margin 20px
7 | img
8 | width 250px
9 | vertical-align middle
10 |
11 | .sponsor-section
12 | text-align center
13 | margin-top 0
14 | margin-bottom 60px
15 |
16 | .patreon-sponsors
17 | a, img
18 | max-width: 140px
19 | max-height: 60px
20 | display: inline-block
21 | vertical-align: middle
22 | a
23 | margin: 10px 20px
24 |
25 | .open-collective-sponsors
26 | img
27 | max-width 140px
28 | max-height 60px
29 | margin-right 30px
30 | margin-bottom 20px
31 |
32 | #one-time-donations
33 | a, svg
34 | display inline-block
35 | vertical-align middle
36 | a
37 | margin 20px
38 | color $medium
39 | svg
40 | margin-right 5px
41 |
42 | #coin-details
43 | text-align center
44 | border-radius 4px
45 | padding 30px
46 | font-weight bold
47 | img
48 | width 200px
49 | p
50 | padding 0
51 | margin 0 0 20px
52 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_sponsors-sidebar.styl:
--------------------------------------------------------------------------------
1 | .main-sponsor
2 | color: $light
3 | font-size: .85em
4 | .logo
5 | color: $light
6 | width: 125px
7 | height: 50px
8 | font-weight: bold
9 | display flex
10 | align-items center
11 | justify-content center
12 | &:first-child
13 | margin-top: 18px
14 | &:last-child
15 | margin-bottom: 20px
16 | img
17 | max-width: 125px
18 | max-height: 50px
19 |
20 | .become-backer
21 | border: 1px solid $green
22 | border-radius: 2em
23 | display: inline-block
24 | color: $green
25 | font-size: .8em
26 | width: 125px
27 | padding: 4px 0
28 | text-align: center
29 | margin-bottom: 20px
30 |
31 | #sidebar-sponsors-platinum-left
32 | display block
33 |
34 | #sidebar-sponsors-platinum-right
35 | display none
36 | position fixed
37 | z-index ($z-header - 1)
38 | top 90px
39 | right 20px
40 |
41 | @media screen and (min-width: 1300px)
42 | #sidebar-sponsors-platinum-left
43 | display none
44 | #sidebar-sponsors-platinum-right
45 | display block
46 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_style-guide.styl:
--------------------------------------------------------------------------------
1 | $style-guide-bad-bg = lighten(desaturate($red, 50%), 80%)
2 | $style-guide-bad-text = darken(desaturate($red, 80%), 20%)
3 | $style-guide-good-bg = lighten(desaturate($green, 80%), 85%)
4 | $style-guide-good-text = darken(desaturate($green, 80%), 10%)
5 |
6 | $style-guide-priority-a-bg = $style-guide-bad-text
7 | $style-guide-priority-a-color = white
8 | $style-guide-priority-b-bg = $style-guide-bad-text
9 | $style-guide-priority-b-color = white
10 | $style-guide-priority-c-bg = steelblue
11 | $style-guide-priority-c-color = white
12 | $style-guide-priority-d-bg = $style-guide-bad-text
13 | $style-guide-priority-d-color = white
14 |
15 | .style-guide
16 | .style-example, details, .style-enforcement
17 | border-radius $radius
18 | margin: 1.6em 0
19 | padding: 1.6em
20 | h4
21 | margin-top: 0
22 | figure, p
23 | &:last-child
24 | margin-bottom: 0
25 | padding-bottom: 0
26 | .style-example
27 | &.example-bad
28 | background: $style-guide-bad-bg
29 | h4
30 | color: $style-guide-bad-text
31 | &.example-good
32 | background: $style-guide-good-bg
33 | h4
34 | color: $style-guide-good-text
35 | details, .style-enforcement
36 | background-color: #eee
37 | details
38 | display: block // Add the correct display in IE and Edge.
39 | position: relative
40 | &:not([open]) summary
41 | &::after
42 | content: "..."
43 | &:hover
44 | background: rgba(255, 255, 255, .3)
45 | summary
46 | cursor: pointer
47 | padding: 1.6em
48 | margin: -1.6em
49 | outline: none
50 | > h4
51 | display: inline-block
52 | margin: 0
53 | .style-enforcement
54 | table
55 | width: 100%
56 | background-color: $codebg
57 | border-radius: $radius
58 | th, td
59 | padding: .4em
60 | text-align: center
61 | th
62 | padding-bottom: .2em
63 | td
64 | padding-top: .2em
65 | .style-rule-tag
66 | background-color: $codebg
67 | border-radius: $radius
68 | font-size: .9em
69 | color: $style-guide-good-text
70 | font-weight: 600
71 | text-transform: uppercase
72 | padding: .1em .4em
73 | a > .style-rule-tag
74 | color: $green
75 | sup
76 | text-transform: uppercase
77 | font-size: .7em
78 | margin-left: 1em
79 | pointer-events: all
80 | position: absolute
81 | [data-p="a"]
82 | color: #6b2a2a
83 | [data-p="b"]
84 | color: #8c480a
85 | [data-p="c"]
86 | color: #2b5a99
87 | [data-p="d"]
88 | content: #3f536d
89 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_syntax.styl:
--------------------------------------------------------------------------------
1 | figure.highlight
2 | overflow-x auto
3 |
4 | figure.highlight > table
5 | width 100%
6 |
7 | pre
8 | border-radius: $radius
9 | position: relative
10 |
11 | pre code
12 | overflow-x: auto
13 | color: #525252
14 | white-space: pre
15 | padding: 1.2em 1.4em
16 | font-size: .85rem
17 | line-height: 1.6rem
18 | display: block
19 |
20 | .hljs
21 | &-tag,
22 | &-tag &-title,
23 | &-change,
24 | &-winutils,
25 | &-flow,
26 | &-tex &-special
27 | color: #2973b7
28 |
29 | &-symbol,
30 | &-symbol &-string,
31 | &-value,
32 | &-regexp
33 | &-string,
34 | &-subst,
35 | &-haskell &-type,
36 | &-preprocessor,
37 | &-ruby &-class &-parent,
38 | &-built_in,
39 | &-sql &-aggregate,
40 | &-django &-template_tag,
41 | &-django &-variable,
42 | &-smalltalk &-class,
43 | &-javadoc,
44 | &-django &-filter &-argument,
45 | &-smalltalk &-localvars,
46 | &-smalltalk &-array,
47 | &-attr_selector,
48 | &-pseudo,
49 | &-addition,
50 | &-stream,
51 | &-envvar,
52 | &-apache &-tag,
53 | &-apache &-cbracket,
54 | &-tex &-command,
55 | &-prompt
56 | color: $green
57 |
58 | &-function &-keyword,
59 | &-constant
60 | color: #0092db
61 |
62 | &-keyword,
63 | &-attribute
64 | color: #d63200
65 |
66 | &-number,
67 | &-literal
68 | color: #a32eff
69 |
70 | &-class &-title
71 | color: white
72 |
73 | &-title
74 | color: #a6e22e
75 |
76 | &-tag &-value,
77 | &-comment,
78 | &-java &-annotation,
79 | &-python &-decorator,
80 | &-template_comment,
81 | &-pi,
82 | &-doctype,
83 | &-deletion,
84 | &-shebang,
85 | &-apache &-sqbracket,
86 | &-tex &-formula
87 | color: #707070
88 |
89 | &-coffeescript &-javascript,
90 | &-javascript &-xml,
91 | &-tex &-formula,
92 | &-xml &-javascript,
93 | &-xml &-vbscript,
94 | &-xml &-css,
95 | &-xml &-cdata
96 | opacity: 0.5
97 |
98 | &.hljs
99 | &.html, &.js, &.bash, &.css
100 | &::before
101 | font-family: $body-font
102 | position: absolute
103 | top: 0
104 | right: 0
105 | color: #ccc
106 | text-align: right
107 | font-size: .9em
108 | padding: 5px 10px 0
109 | line-height: 15px
110 | height: 15px
111 | font-weight: 600
112 |
113 | &.html::before
114 | content: "HTML"
115 |
116 | &.js::before
117 | content: "JS"
118 |
119 | &.bash::before
120 | content: "Shell"
121 |
122 | &.css::before
123 | content: "CSS"
124 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_themes.styl:
--------------------------------------------------------------------------------
1 | $media-width = 1300px
2 | $item-margin-bottom = 10px
3 | $item-box-shadow = 0 2rem 1.5rem -1.5rem rgba(33,37,41,.15), 0 0 1.5rem 0.5rem rgba(33,37,41,.05)
4 | $item-box-shadow-hover = 0 2.25rem 1.5rem -1.5rem rgba(33,37,41,.2),0 0 1.5rem .5rem rgba(33,37,41,.05);
5 |
6 | .themes-grid
7 | display: flex
8 | flex-wrap: wrap
9 | justify-content space-between
10 | .item-preview
11 | width: 290px
12 | margin-bottom 25px
13 | .item-preview-img
14 | transition: .15s box-shadow,.15s transform
15 | border-radius: .5rem
16 | box-shadow $item-box-shadow
17 | overflow: hidden
18 | display block
19 | &:hover
20 | transform: translateY(-0.25rem)
21 | box-shadow: $item-box-shadow-hover
22 | img
23 | max-width: 100%
24 | height: auto
25 | border-radius: .5rem
26 | vertical-align: middle
27 | border-style: none
28 | .item-preview-name-container
29 | display flex
30 | justify-content space-between
31 | align-items center
32 | h3.item-preview-name
33 | margin-top: .7rem
34 | margin-bottom: 0
35 | &.free::after
36 | content: "FREE";
37 | display: inline-block
38 | font-size: 10px
39 | font-weight: 600
40 | color: #fff
41 | background-color: $green
42 | line-height: 14px
43 | padding: 0 4px
44 | border-radius: 3px
45 | margin-left: 5px
46 | vertical-align: middle
47 | position: relative
48 | top: -1px
49 | .item-preview-price
50 | margin-top: .7rem
51 | .item-preview-description
52 | font-size: .9rem
53 | .see-more-container
54 | text-align: center;
55 | width: 100%
56 | .see-more-link
57 | color: $green
58 | display: inline-block
59 | width: auto
60 |
61 | @media screen and (max-width: $media-width)
62 | .themes-grid
63 | justify-content center
64 | .item-preview
65 | justify-content center
66 | width: 380px
67 |
--------------------------------------------------------------------------------
/themes/vue/source/css/_vue-mastery.styl:
--------------------------------------------------------------------------------
1 | .vue-mastery
2 | background-color #e7ecf3
3 | padding 1em 1.25em
4 | border-radius 2px
5 | color #486491
6 | position relative
7 | margin-top 1em
8 | a
9 | color #486491 !important
10 | position relative
11 | padding-left 36px
12 | &:before
13 | content ''
14 | position absolute
15 | display block
16 | width 30px
17 | height 30px
18 | top -5px
19 | left -4px
20 | border-radius 50%
21 | background-color #73abfe
22 | &:after
23 | content ''
24 | position absolute
25 | display block
26 | width 0
27 | height 0
28 | top 5px
29 | left 8px
30 | border-top 5px solid transparent
31 | border-bottom 5px solid transparent
32 | border-left 8px solid #fff
--------------------------------------------------------------------------------
/themes/vue/source/css/benchmark.styl:
--------------------------------------------------------------------------------
1 | #benchmark-results
2 | margin-bottom: 2em
3 | ul
4 | list-style-type: none
5 | padding: 0
6 | margin-left: 0
7 |
8 | .framework, .time, .bar, .inner
9 | display: inline-block
10 |
11 | .framework
12 | width: 4.2em
13 | // text-align: right
14 | margin-right: 1em
15 | font-weight: 600
16 |
17 | .time
18 | width: 4.2em
19 | margin-right: 1em
20 |
21 | .bar
22 | width: 60%
23 | &.min .inner
24 | background-color: #e74c3c
25 |
26 | .inner
27 | height: 3px
28 | vertical-align: middle
29 | background-color: #3498db
30 |
31 | @media screen and (max-width: 600px)
32 | #benchmark-results
33 | .bar
34 | width: 45%
35 |
--------------------------------------------------------------------------------
/themes/vue/source/css/search.styl:
--------------------------------------------------------------------------------
1 | @import "_settings"
2 |
3 | $border = #ddd
4 |
5 | @media (max-width: 900px)
6 | .algolia-autocomplete
7 | position: fixed!important
8 |
9 | .algolia-autocomplete
10 | line-height: normal
11 |
12 | .aa-dropdown-menu
13 | width: 100%
14 | border-color: #999
15 | font-size: 0.9rem
16 |
17 | @media (min-width: 768px)
18 | .aa-dropdown-menu
19 | min-width: 515px
20 |
21 | .algolia-docsearch-suggestion
22 | border-color: $border
23 |
24 | .algolia-docsearch-suggestion--content
25 | color: $dark
26 |
27 | .algolia-docsearch-suggestion--subcategory-column
28 | border-color: $border
29 |
30 | .algolia-docsearch-suggestion--category-header
31 | background: $green
32 |
33 | .algolia-docsearch-footer
34 | border-color: $border
35 |
36 | .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight
37 | background: rgba(255, 255, 255, 0.6)
38 |
39 | .algolia-docsearch-suggestion--highlight
40 | color: #2c815b
41 |
42 | .aa-cursor .algolia-docsearch-suggestion--content
43 | color: $dark
44 |
--------------------------------------------------------------------------------
/themes/vue/source/images/Monterail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/Monterail.png
--------------------------------------------------------------------------------
/themes/vue/source/images/aaha.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/aaha.png
--------------------------------------------------------------------------------
/themes/vue/source/images/accelebrate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/accelebrate.png
--------------------------------------------------------------------------------
/themes/vue/source/images/bacancy_technology.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/bacancy_technology.png
--------------------------------------------------------------------------------
/themes/vue/source/images/banners/bg-mobile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/banners/bg-mobile.png
--------------------------------------------------------------------------------
/themes/vue/source/images/banners/close.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/themes/vue/source/images/banners/vs-iso.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/themes/vue/source/images/bestvpn_co.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/bestvpn_co.png
--------------------------------------------------------------------------------
/themes/vue/source/images/betting_bet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/betting_bet.png
--------------------------------------------------------------------------------
/themes/vue/source/images/bit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/bit.png
--------------------------------------------------------------------------------
/themes/vue/source/images/blokt_cryptocurrency_news.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/blokt_cryptocurrency_news.png
--------------------------------------------------------------------------------
/themes/vue/source/images/chaitin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/chaitin.png
--------------------------------------------------------------------------------
/themes/vue/source/images/check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/check.png
--------------------------------------------------------------------------------
/themes/vue/source/images/cloudstudio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/cloudstudio.png
--------------------------------------------------------------------------------
/themes/vue/source/images/coding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/coding.png
--------------------------------------------------------------------------------
/themes/vue/source/images/coin-bch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/coin-bch.png
--------------------------------------------------------------------------------
/themes/vue/source/images/coin-btc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/coin-btc.png
--------------------------------------------------------------------------------
/themes/vue/source/images/coin-eth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/coin-eth.png
--------------------------------------------------------------------------------
/themes/vue/source/images/coin-ltc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/coin-ltc.png
--------------------------------------------------------------------------------
/themes/vue/source/images/daily.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/daily.png
--------------------------------------------------------------------------------
/themes/vue/source/images/das_keyboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/das_keyboard.png
--------------------------------------------------------------------------------
/themes/vue/source/images/daskeyboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/daskeyboard.png
--------------------------------------------------------------------------------
/themes/vue/source/images/dcloud.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/dcloud.gif
--------------------------------------------------------------------------------
/themes/vue/source/images/derek_pollard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/derek_pollard.png
--------------------------------------------------------------------------------
/themes/vue/source/images/devexpress.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/devexpress.png
--------------------------------------------------------------------------------
/themes/vue/source/images/devsquad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/devsquad.png
--------------------------------------------------------------------------------
/themes/vue/source/images/dopamine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/dopamine.png
--------------------------------------------------------------------------------
/themes/vue/source/images/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/down.png
--------------------------------------------------------------------------------
/themes/vue/source/images/doximity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/doximity.png
--------------------------------------------------------------------------------
/themes/vue/source/images/dronahq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/dronahq.png
--------------------------------------------------------------------------------
/themes/vue/source/images/earthlink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/earthlink.png
--------------------------------------------------------------------------------
/themes/vue/source/images/empiricus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/empiricus.png
--------------------------------------------------------------------------------
/themes/vue/source/images/emq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/emq.png
--------------------------------------------------------------------------------
/themes/vue/source/images/energy_comparison.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/energy_comparison.png
--------------------------------------------------------------------------------
/themes/vue/source/images/exmax.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/exmax.png
--------------------------------------------------------------------------------
/themes/vue/source/images/fastcoding_inc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/fastcoding_inc.png
--------------------------------------------------------------------------------
/themes/vue/source/images/feed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/feed.png
--------------------------------------------------------------------------------
/themes/vue/source/images/fen_tre_online_solutions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/fen_tre_online_solutions.png
--------------------------------------------------------------------------------
/themes/vue/source/images/finclip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/finclip.png
--------------------------------------------------------------------------------
/themes/vue/source/images/firestick_tricks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/firestick_tricks.png
--------------------------------------------------------------------------------
/themes/vue/source/images/flowdash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/flowdash.png
--------------------------------------------------------------------------------
/themes/vue/source/images/foo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/foo.png
--------------------------------------------------------------------------------
/themes/vue/source/images/free_bets_us.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/free_bets_us.png
--------------------------------------------------------------------------------
/themes/vue/source/images/frontendlove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/frontendlove.png
--------------------------------------------------------------------------------
/themes/vue/source/images/gitee.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/gitee.png
--------------------------------------------------------------------------------
/themes/vue/source/images/gridsome.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/gridsome.png
--------------------------------------------------------------------------------
/themes/vue/source/images/happy_programmer_llc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/happy_programmer_llc.png
--------------------------------------------------------------------------------
/themes/vue/source/images/hbuilder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/hbuilder.png
--------------------------------------------------------------------------------
/themes/vue/source/images/html_burger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/html_burger.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/android-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/android-icon-144x144.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/android-icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/android-icon-192x192.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/android-icon-36x36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/android-icon-36x36.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/android-icon-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/android-icon-48x48.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/android-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/android-icon-72x72.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/android-icon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/android-icon-96x96.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/apple-icon-114x114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/apple-icon-114x114.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/apple-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/apple-icon-120x120.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/apple-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/apple-icon-144x144.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/apple-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/apple-icon-152x152.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/apple-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/apple-icon-180x180.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/apple-icon-57x57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/apple-icon-57x57.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/apple-icon-60x60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/apple-icon-60x60.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/apple-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/apple-icon-72x72.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/apple-icon-76x76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/apple-icon-76x76.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/apple-icon-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/apple-icon-precomposed.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/apple-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/apple-icon.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/bacancy_technology.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/bacancy_technology.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/favicon-16x16.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/favicon-32x32.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/favicon-96x96.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/favicon.ico
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/ms-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/ms-icon-144x144.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/ms-icon-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/ms-icon-150x150.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/ms-icon-310x310.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/ms-icon-310x310.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons/ms-icon-70x70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons/ms-icon-70x70.png
--------------------------------------------------------------------------------
/themes/vue/source/images/icons_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/icons_8.png
--------------------------------------------------------------------------------
/themes/vue/source/images/inkoop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/inkoop.png
--------------------------------------------------------------------------------
/themes/vue/source/images/intygrate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/intygrate.png
--------------------------------------------------------------------------------
/themes/vue/source/images/ionic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/ionic.png
--------------------------------------------------------------------------------
/themes/vue/source/images/isle_of_code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/isle_of_code.png
--------------------------------------------------------------------------------
/themes/vue/source/images/isolutions_uk_limited.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/isolutions_uk_limited.png
--------------------------------------------------------------------------------
/themes/vue/source/images/jqwidgets_.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/jqwidgets_.png
--------------------------------------------------------------------------------
/themes/vue/source/images/jqwidgets_ltd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/jqwidgets_ltd.png
--------------------------------------------------------------------------------
/themes/vue/source/images/laravel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/laravel.png
--------------------------------------------------------------------------------
/themes/vue/source/images/layer0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/layer0.png
--------------------------------------------------------------------------------
/themes/vue/source/images/lendio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/lendio.png
--------------------------------------------------------------------------------
/themes/vue/source/images/line_corporation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/line_corporation.png
--------------------------------------------------------------------------------
/themes/vue/source/images/litslink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/litslink.png
--------------------------------------------------------------------------------
/themes/vue/source/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/logo.png
--------------------------------------------------------------------------------
/themes/vue/source/images/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/themes/vue/source/images/lowdefy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/lowdefy.png
--------------------------------------------------------------------------------
/themes/vue/source/images/marcus_hiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/marcus_hiles.png
--------------------------------------------------------------------------------
/themes/vue/source/images/memberful.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/memberful.png
--------------------------------------------------------------------------------
/themes/vue/source/images/menu-blm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/menu-blm.png
--------------------------------------------------------------------------------
/themes/vue/source/images/menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/menu.png
--------------------------------------------------------------------------------
/themes/vue/source/images/modus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/modus.png
--------------------------------------------------------------------------------
/themes/vue/source/images/nativescript.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/nativescript.png
--------------------------------------------------------------------------------
/themes/vue/source/images/neds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/neds.png
--------------------------------------------------------------------------------
/themes/vue/source/images/netflix_vpn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/netflix_vpn.png
--------------------------------------------------------------------------------
/themes/vue/source/images/newicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/newicon.png
--------------------------------------------------------------------------------
/themes/vue/source/images/nuxt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/nuxt.png
--------------------------------------------------------------------------------
/themes/vue/source/images/okay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/okay.png
--------------------------------------------------------------------------------
/themes/vue/source/images/onsen_ui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/onsen_ui.png
--------------------------------------------------------------------------------
/themes/vue/source/images/opteo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/opteo.png
--------------------------------------------------------------------------------
/themes/vue/source/images/passionate_people.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/passionate_people.png
--------------------------------------------------------------------------------
/themes/vue/source/images/patreon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/patreon.png
--------------------------------------------------------------------------------
/themes/vue/source/images/paypal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/paypal.png
--------------------------------------------------------------------------------
/themes/vue/source/images/philip_john_basile.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/philip_john_basile.gif
--------------------------------------------------------------------------------
/themes/vue/source/images/piratebay_proxy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/piratebay_proxy.png
--------------------------------------------------------------------------------
/themes/vue/source/images/piratebayproxy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/piratebayproxy.png
--------------------------------------------------------------------------------
/themes/vue/source/images/plaid__inc_.svg:
--------------------------------------------------------------------------------
1 | plaid_yoko
--------------------------------------------------------------------------------
/themes/vue/source/images/plaid_inc_.svg:
--------------------------------------------------------------------------------
1 | plaid_yoko
--------------------------------------------------------------------------------
/themes/vue/source/images/primevue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/primevue.png
--------------------------------------------------------------------------------
/themes/vue/source/images/programmers_io.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/programmers_io.png
--------------------------------------------------------------------------------
/themes/vue/source/images/quickbooks_tool_hub.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/quickbooks_tool_hub.png
--------------------------------------------------------------------------------
/themes/vue/source/images/refurbed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/refurbed.png
--------------------------------------------------------------------------------
/themes/vue/source/images/retool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/retool.png
--------------------------------------------------------------------------------
/themes/vue/source/images/roadster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/roadster.png
--------------------------------------------------------------------------------
/themes/vue/source/images/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/search.png
--------------------------------------------------------------------------------
/themes/vue/source/images/shopware_ag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/shopware_ag.png
--------------------------------------------------------------------------------
/themes/vue/source/images/special-sponsor-spot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/special-sponsor-spot.png
--------------------------------------------------------------------------------
/themes/vue/source/images/staff_augmentation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/staff_augmentation.png
--------------------------------------------------------------------------------
/themes/vue/source/images/stdlib.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/stdlib.png
--------------------------------------------------------------------------------
/themes/vue/source/images/storekit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/storekit.png
--------------------------------------------------------------------------------
/themes/vue/source/images/storyblok.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/storyblok.png
--------------------------------------------------------------------------------
/themes/vue/source/images/syncfusion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/syncfusion.png
--------------------------------------------------------------------------------
/themes/vue/source/images/takt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/takt.png
--------------------------------------------------------------------------------
/themes/vue/source/images/tatvasoft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/tatvasoft.png
--------------------------------------------------------------------------------
/themes/vue/source/images/team_extension_north_america_inc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/team_extension_north_america_inc.png
--------------------------------------------------------------------------------
/themes/vue/source/images/tee__.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/tee__.png
--------------------------------------------------------------------------------
/themes/vue/source/images/tendermint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/tendermint.png
--------------------------------------------------------------------------------
/themes/vue/source/images/tidelift.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/tidelift.png
--------------------------------------------------------------------------------
/themes/vue/source/images/tighten_co.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/tighten_co.png
--------------------------------------------------------------------------------
/themes/vue/source/images/tooltwist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/tooltwist.png
--------------------------------------------------------------------------------
/themes/vue/source/images/troypoint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/troypoint.png
--------------------------------------------------------------------------------
/themes/vue/source/images/unicorn_io.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/unicorn_io.png
--------------------------------------------------------------------------------
/themes/vue/source/images/usave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/usave.png
--------------------------------------------------------------------------------
/themes/vue/source/images/valuecoders.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/valuecoders.png
--------------------------------------------------------------------------------
/themes/vue/source/images/vehikl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/vehikl.png
--------------------------------------------------------------------------------
/themes/vue/source/images/vpn_review.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/vpn_review.png
--------------------------------------------------------------------------------
/themes/vue/source/images/vpnranks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/vpnranks.png
--------------------------------------------------------------------------------
/themes/vue/source/images/vpsserver_com.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/vpsserver_com.png
--------------------------------------------------------------------------------
/themes/vue/source/images/vuejobs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/vuejobs.png
--------------------------------------------------------------------------------
/themes/vue/source/images/vuemastery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/vuemastery.png
--------------------------------------------------------------------------------
/themes/vue/source/images/vueschool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/vueschool.png
--------------------------------------------------------------------------------
/themes/vue/source/images/vuetify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/vuetify.png
--------------------------------------------------------------------------------
/themes/vue/source/images/vuetraining_net__note__since_i_m_not_sure_where_else_to_put_it____this_is_replacing_vuescreencasts___they_re_both_run_by_me__i_m_just_switching_where_i_want_my_sponsorship_to_point_.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/vuetraining_net__note__since_i_m_not_sure_where_else_to_put_it____this_is_replacing_vuescreencasts___they_re_both_run_by_me__i_m_just_switching_where_i_want_my_sponsorship_to_point_.png
--------------------------------------------------------------------------------
/themes/vue/source/images/watchcartoononline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/watchcartoononline.png
--------------------------------------------------------------------------------
/themes/vue/source/images/webdock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/webdock.png
--------------------------------------------------------------------------------
/themes/vue/source/images/webucator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/webucator.png
--------------------------------------------------------------------------------
/themes/vue/source/images/wilderminds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/wilderminds.png
--------------------------------------------------------------------------------
/themes/vue/source/images/writers_per_hour.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/writers_per_hour.jpg
--------------------------------------------------------------------------------
/themes/vue/source/images/x_team.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/x_team.png
--------------------------------------------------------------------------------
/themes/vue/source/images/y8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/y8.png
--------------------------------------------------------------------------------
/themes/vue/source/images/yakaz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/v2.vuejs.org/e468cc04e4da67ea758682609fc85e721916e7cf/themes/vue/source/images/yakaz.png
--------------------------------------------------------------------------------
/themes/vue/source/js/v3-notice.js:
--------------------------------------------------------------------------------
1 | ;(() => {
2 | if (!location.search.includes(`redirect=true`)) {
3 | return
4 | }
5 |
6 | const v3Url = document.body.dataset.v3Url
7 | if (!v3Url) {
8 | return
9 | }
10 |
11 | const hashRedirect =
12 | typeof __pageRedirects !== 'undefined' && __pageRedirects[location.hash]
13 | const finalUrl = hashRedirect || v3Url
14 |
15 | const el = document.createElement('div')
16 | el.className = `v3-notice`
17 | el.innerHTML = `
18 | Heads Up!
19 |
20 | This page contains documentation for Vue 2. The Vue 3 version of the URL you are visiting is: .
21 |
22 |
23 | You can learn more about the Vue 2 -> Vue 3 default version switch in
24 | this blog post .
25 |
26 |
27 | Stay on Vue 2 docs
28 |
29 | `.trim()
30 |
31 | const style = document.createElement('style')
32 | style.textContent = `
33 | .v3-notice {
34 | position: fixed;
35 | top: 20px;
36 | --width: min(calc(100vw - 20px), 500px);
37 | left: calc(50vw - var(--width) / 2);
38 | width: var(--width);
39 | z-index: 9999;
40 | background-color: #f8f8f8;
41 | border: 2px solid #ffa500;
42 | border-radius: 8px;
43 | padding: 0 20px;
44 | box-shadow: 0 10px 28px rgba(0,0,0,0.25);
45 | }
46 | .v3-notice a {
47 | color: #42b983;
48 | font-weight: bold;
49 | }
50 | .v3-notice .go, .v3-notice .stay {
51 | display: inline-block;
52 | padding: 8px 12px;
53 | border-radius: 4px;
54 | cursor: pointer;
55 | }
56 | .v3-notice .go {
57 | background-color: #42b983;
58 | color: #fff;
59 | }
60 | .v3-notice .stay {
61 | background-color: #ddd;
62 | color: #666;
63 | }
64 | .v3-notice code {
65 | background-color: transparent;
66 | }
67 | `
68 |
69 | document.body.appendChild(style)
70 | document.body.appendChild(el)
71 |
72 | el.querySelector('.stay').addEventListener('click', () => {
73 | document.body.removeChild(el)
74 | })
75 |
76 | const v3Link = el.querySelector('#v3-url')
77 | v3Link.textContent = v3Link.href = `https://vuejs.org${finalUrl}`
78 | })()
79 |
--------------------------------------------------------------------------------
/themes/vue/source/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "background_color": "#ffffff",
3 | "description": "The Progressive JavaScript Framework",
4 | "display": "standalone",
5 | "icons": [
6 | {
7 | "src": "\/images\/icons\/android-icon-36x36.png",
8 | "sizes": "36x36",
9 | "type": "image\/png",
10 | "density": "0.75"
11 | },
12 | {
13 | "src": "\/images\/icons\/android-icon-48x48.png",
14 | "sizes": "48x48",
15 | "type": "image\/png",
16 | "density": "1.0"
17 | },
18 | {
19 | "src": "\/images\/icons\/android-icon-72x72.png",
20 | "sizes": "72x72",
21 | "type": "image\/png",
22 | "density": "1.5"
23 | },
24 | {
25 | "src": "\/images\/icons\/android-icon-96x96.png",
26 | "sizes": "96x96",
27 | "type": "image\/png",
28 | "density": "2.0"
29 | },
30 | {
31 | "src": "\/images\/icons\/android-icon-144x144.png",
32 | "sizes": "144x144",
33 | "type": "image\/png",
34 | "density": "3.0"
35 | },
36 | {
37 | "src": "\/images\/icons\/android-icon-192x192.png",
38 | "sizes": "192x192",
39 | "type": "image\/png",
40 | "density": "4.0"
41 | }
42 | ],
43 | "lang": "en-US",
44 | "name": "Vue.js",
45 | "short_name": "Vue",
46 | "start_url": "./menu",
47 | "theme_color": "#4fc08d"
48 | }
49 |
--------------------------------------------------------------------------------