Skip to content

Sync #6ca6619f #1100

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 21 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
0e5f89f
docs: fix hook name to composition version (#3237)
azzumed May 28, 2025
0b63564
Add Scrimba links and refactor VueSchoolLink to a more reusable compo…
perborgen May 28, 2025
54d0d23
Register ScrimbaLink component and change color on play button (#3242)
perborgen May 29, 2025
fcee623
vueconf us banner offline
yyx990803 May 29, 2025
4e0fa3e
docs(computed): correct parameter positions in the computed example (…
cszhjh Jun 10, 2025
ef53734
chore(deps): bump vue from 3.5.13 to 3.5.16 (#3243)
dependabot[bot] Jun 10, 2025
c80de28
docs(animation): add MAX_SAFE_INTEGER warning for large input edge ca…
70928manson Jun 10, 2025
dbbb833
docs: provide comma (#3254)
iiio2 Jun 26, 2025
a3c31de
feat: enhance code block & code group (#3235)
yuyinws Jun 27, 2025
9a3038b
feat: more enhanced code blocks (follow up for #3235) (#3258)
AloisSeckar Jul 9, 2025
7648af4
chore(deps): bump @vue/repl from 4.5.1 to 4.6.1
dependabot[bot] Jun 13, 2025
c3a649d
chore(deps): bump vue from 3.5.16 to 3.5.17
dependabot[bot] Jun 27, 2025
328948b
docs(theme): fix incorrect URL with missing query parameter (#3259)
yagnikvamja Jul 9, 2025
81d3626
docs: add addendum on useId usage with computed (#3262)
bencodezen Jul 15, 2025
ce81e35
chore: set up viteconf banner (#3266)
TheAlexLichter Jul 17, 2025
098dce7
Suspense: timeout is in milliseconds (#3261)
simon04 Jul 22, 2025
6ca6619
chore(deps): bump @vue/repl from 4.6.1 to 4.6.2 (#3265)
dependabot[bot] Jul 22, 2025
e7ab594
Merge remote-tracking branch 'origin/upstream' into sync
wxsms Aug 4, 2025
d478191
chore: update dependencies in pnpm-lock.yaml
wxsms Aug 4, 2025
2403db4
fix: add space before 'Vue' in quick-start.md for consistency
wxsms Aug 4, 2025
ae464cf
fix: translate comments in animation.md and composition-api-helpers.md
wxsms Aug 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import llmstxt from 'vitepress-plugin-llms'
import baseConfig from '@vue/theme/config'
import { headerPlugin } from './headerMdPlugin'
// import { textAdPlugin } from './textAdMdPlugin'
import { groupIconMdPlugin,groupIconVitePlugin } from 'vitepress-plugin-group-icons'

const nav: ThemeConfig['nav'] = [
{
Expand Down Expand Up @@ -825,6 +826,7 @@ export default defineConfigWithTheme<ThemeConfig>({
theme: 'github-dark',
config(md) {
md.use(headerPlugin)
.use(groupIconMdPlugin)
// .use(textAdPlugin)
}
},
Expand Down Expand Up @@ -876,6 +878,12 @@ Vue.js - The Progressive JavaScript Framework
## Table of Contents

{toc}`
}) as Plugin,
groupIconVitePlugin({
customIcon: {
cypress: 'vscode-icons:file-type-cypress',
'testing library': 'logos:testing-library'
}
}) as Plugin
]
}
Expand Down
2 changes: 1 addition & 1 deletion .vitepress/inlined-scripts/restorePreference.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
restore('vue-docs-prefer-composition', 'prefer-composition', true)
restore('vue-docs-prefer-sfc', 'prefer-sfc', true)

// window.__VUE_BANNER_ID__ = ''
// window.__VUE_BANNER_ID__ = 'viteconf2025'
// restore(`vue-docs-banner-${__VUE_BANNER_ID__}`, 'banner-dismissed')
})()
179 changes: 160 additions & 19 deletions .vitepress/theme/components/Banner.vue
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,48 @@ function dismiss() {
}
</script>


<template>
<div class="banner" v-if="open">
<a target="_blank"></a>
<svg style="margin-right: 0.5rem" width="20" height="20" viewBox="0 0 30 30" fill="none"
xmlns="http://www.w3.org/2000/svg">
<g>
<path
d="M20.3653 1.01733L11.1779 2.87249C11.0895 2.87249 11.0012 2.96082 11.0012 2.96082C10.9128 3.04916 10.9128 3.13751 10.9128 3.13751L10.3828 13.2083C10.3828 13.2967 10.3828 13.2967 10.3828 13.3851C10.3828 13.4734 10.4711 13.4734 10.4711 13.4734C10.4711 13.4734 10.5595 13.5618 10.6478 13.5618C10.7361 13.5618 10.7361 13.5618 10.8245 13.5618L13.3864 12.9433C13.6514 12.855 13.8281 13.12 13.8281 13.3851L13.033 17.3603C12.9447 17.6254 13.2097 17.8905 13.4748 17.8021L15.0648 17.272C15.3299 17.1837 15.5066 17.4487 15.5066 17.7137L14.2697 23.8976C14.1815 24.251 14.7115 24.5159 14.8882 24.1626L15.0648 23.8976L22.5738 8.08458C22.5738 7.90789 22.3088 7.55453 22.0438 7.64287L19.3935 8.17292C19.1286 8.26125 18.9519 7.99624 19.0402 7.73122L20.7187 1.45903C20.807 1.19401 20.6304 0.928988 20.3653 1.01733Z"
fill="url(#paint0_linear_648_13)" />
<path
d="M29.6424 3.75619C29.2891 3.22614 28.5824 2.96112 27.964 3.04945L20.985 4.37457L20.72 5.43465L28.2289 4.10955C28.494 4.02121 28.7591 4.19788 28.9357 4.37457C29.1124 4.63959 29.1124 4.90462 28.9357 5.16964L15.773 28.5799C15.6846 28.845 15.4196 28.9332 15.1545 28.9332C14.8896 28.9332 14.6245 28.7566 14.5361 28.5799L1.10836 5.08129C0.931674 4.90462 0.931674 4.55125 1.10836 4.37457C1.28504 4.19788 1.46172 4.10955 1.72674 4.10955C1.72674 4.10955 1.81508 4.10955 1.90342 4.10955L9.85411 5.523L9.94246 4.55125L1.99176 3.04945C1.28504 2.96112 0.666654 3.22614 0.313291 3.75619C-0.0400717 4.28623 -0.128412 4.99295 0.22495 5.61134L13.6528 29.1099C13.9178 29.64 14.5361 29.9933 15.1545 29.9933C15.773 29.9933 16.303 29.64 16.6563 29.1099L29.8191 5.61134C30.0842 4.99295 30.0842 4.28623 29.6424 3.75619Z"
fill="url(#paint1_linear_648_13)" />
</g>
<defs>
<linearGradient id="paint0_linear_648_13" x1="10.5947" y1="3.97762" x2="20.9471" y2="17.0584"
gradientUnits="userSpaceOnUse">
<stop stop-color="#B047FF" />
<stop offset="0.75" stop-color="#FFD0D0" />
<stop offset="0.9167" stop-color="#FFF3E6" />
</linearGradient>
<linearGradient id="paint1_linear_648_13" x1="8.078" y1="1.32911" x2="23.118" y2="18.0977"
gradientUnits="userSpaceOnUse">
<stop stop-color="#57CCFF" />
<stop offset="1" stop-color="#AF48FF" />
</linearGradient>
</defs>
</svg>
<p class="vt-banner-text">
<span class="vt-main">ViteConf 2025</span>
<span class="vt-tagline"> · First time <span style="font-weight: 900;">in-person</span></span>
<span class="vt-place"> · Amsterdam</span>
<span class="vt-date"> · Oct 09-10</span>
<a target="_blank" class="vt-primary-action"
href="https://viteconf.amsterdam/?utm_source=vuejs&utm_content=top_banner">
Register
</a>
</p>
<button @click="dismiss">
<VTIconPlus class="close" />
</button>
<div class="glow glow--purple"></div>
<div class="glow glow--blue"></div>
</div>
</template>

Expand All @@ -46,31 +82,80 @@ html:not(.banner-dismissed) {
height: var(--vt-banner-height);
line-height: var(--vt-banner-height);
text-align: center;
font-size: 13px;
font-weight: 600;
color: #fff;
background-color: var(--vt-c-green);
background: linear-gradient(
90deg,
rgba(66, 184, 131, 1) 0%,
rgba(39, 179, 137, 1) 19%,
rgba(100, 126, 255, 1) 100%
);
font-size: 12px;
color: white;
background: #262626;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
}

.banner-dismissed .banner {
display: none;
.glow.glow--purple {
position: absolute;
bottom: -15%;
left: -75%;
width: 80%;
aspect-ratio: 1.5;
pointer-events: none;
border-radius: 100%;
background: linear-gradient(270deg, #7a23a1, #715ebde6 60% 80%, #bd34fe00);
filter: blur(15vw);
transform: none;
opacity: .6
}

a:hover {
text-decoration: underline;
.glow.glow--blue {
position: absolute;
bottom: -15%;
right: -40%;
width: 80%;
aspect-ratio: 1.5;
pointer-events: none;
border-radius: 100%;
background: linear-gradient(180deg, #61d9ff, #0000);
filter: blur(15vw);
transform: none;
opacity: .3
}

@media (min-width: 768px) {
.glow.glow--blue {
top: -15%;
right: -40%;
width: 80%;
}

.glow.glow--purple {
bottom: -15%;
left: -40%;
width: 80%;
}
}

@media (min-width: 1025px) {
.glow.glow--blue {
top: -15%;
right: -40%;
width: 80%;
}

.glow.glow--purple {
bottom: -15%;
left: -40%;
width: 80%;
}
}

.banner-dismissed .banner {
display: none;
}

button {
position: absolute;
right: 0;
top: 0;
padding: 5px;
padding: 5px 5px;
}

.close {
Expand All @@ -79,9 +164,65 @@ button {
fill: #fff;
transform: rotate(45deg);
}
/*
@media (max-width: 720px) {
a > span {

.vt-banner-text {
color: #fff;
font-size: 12px;
}

.vt-main {
color: transparent;
background-image: linear-gradient(120deg, #b047ff 16%, #9499ff, #9499ff);
background-clip: text;
}

.vt-primary-action {
background: radial-gradient(141.42% 141.42% at 100% 0%, #ffffff80, #fff0), radial-gradient(140.35% 140.35% at 100% 94.74%, #bd34fe, #bd34fe00), radial-gradient(89.94% 89.94% at 18.42% 15.79%, #41d1ff, #41d1ff00);
color: #fff;
padding: 4px 8px;
border-radius: 5px;
font-size: 10px;
text-decoration: none;
margin: 0 10px;
transition: all .2s ease-in-out;

&:hover {
box-shadow: 0 1px #fffc inset;
}
}


@media (max-width: 1280px) {
.banner .vt-banner-text {
font-size: 14px;
}

.vt-tagline {
display: none;
}
}

@media (max-width: 780px) {
.vt-tagline {
display: none;
}

.vt-coupon {
display: none;
}

.vt-primary-action {
margin: 0 10px;
padding: 4px 8px;
}

.vt-time-now {
display: none;
}
}

@media (max-width: 560px) {
.vt-place {
display: none;
}
} */
Expand Down
59 changes: 59 additions & 0 deletions .vitepress/theme/components/ScrimbaLink.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<template>
<div class="scrimba">
<a
:href="href"
target="_blank"
rel="sponsored noopener"
:title="title"
>
<slot>Watch a free interactive tutorial on Scrimba</slot>
</a>
</div>
</template>
<script>
export default {
props: {
href: { type: String, required: true },
title: { type: String, required: true }
}
}
</script>
<style scoped>
.scrimba {
margin: 28px 0;
background-color: var(--vt-c-bg-soft);
padding: 1em 1.25em;
border-radius: 2px;
position: relative;
display: flex;
border-radius: 8px;
}
.scrimba a {
color: var(--c-text);
position: relative;
padding-left: 36px;
}
.scrimba a:before {
content: '';
position: absolute;
display: block;
width: 30px;
height: 30px;
top: calc(50% - 15px);
left: -4px;
border-radius: 50%;
background-color: #73abfe;
}
.scrimba a:after {
content: '';
position: absolute;
display: block;
width: 0;
height: 0;
top: calc(50% - 5px);
left: 8px;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
border-left: 8px solid #fff;
}
</style>
7 changes: 6 additions & 1 deletion .vitepress/theme/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,14 @@ import {
} from './components/preferences'
import SponsorsAside from './components/SponsorsAside.vue'
// import VueSchoolLink from './components/VueSchoolLink.vue'
import ScrimbaLink from './components/ScrimbaLink.vue'
import WwAds from './components/WwAds.vue'
// import Banner from './components/Banner.vue'
import Banner from './components/Banner.vue'
// import TextAd from './components/TextAd.vue'

import 'vitepress/dist/client/theme-default/styles/components/vp-code-group.css'
import 'virtual:group-icons.css'

export default Object.assign({}, VPTheme, {
Layout: () => {
// @ts-ignore
Expand All @@ -30,6 +34,7 @@ export default Object.assign({}, VPTheme, {
app.provide('prefer-sfc', preferSFC)
app.provide('filter-headers', filterHeadersByPreference)
// app.component('VueSchoolLink', VueSchoolLink)
app.component('ScrimbaLink', ScrimbaLink)
// app.component('TextAd', TextAd)
}
})
1 change: 1 addition & 0 deletions .vitepress/theme/styles/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
@import "./inline-demo.css";
@import "./utilities.css";
@import "./style-guide.css";
@import "./vars.css";
16 changes: 16 additions & 0 deletions .vitepress/theme/styles/vars.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
:root {
--vp-code-tab-active-bar-color: var(--vt-c-green);
--vp-code-tab-active-text-color: var(--vt-c-text-inverse-1);
--vp-code-tab-text-color: var(--vt-c-text-inverse-2);
--vp-code-tab-hover-text-color: var(--vt-c-text-inverse-1);
--vp-code-tab-bg: #292d3ef0;
--vp-code-block-bg: #292d3ef0;
}

.dark {
--vp-code-tab-text-color: var(--vt-c-text-2);
--vp-code-tab-hover-text-color: var(--vt-c-text-1);
--vp-code-tab-active-text-color: var(--vt-c-text-1);
--vp-code-tab-bg: var(--vt-c-black-mute);
--vp-code-block-bg: var(--vt-c-black-mute);
}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"open": "^8.4.0",
"simple-git": "^2.48.0",
"typescript": "^5.6.3",
"vitepress-plugin-group-icons": "^1.5.4",
"vitepress-plugin-llms": "^0.0.8",
"vue-tsc": "^2.1.6",
"zhlint": "^0.8.1"
Expand Down
Loading