Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
368 changes: 209 additions & 159 deletions .vitepress/config.ts

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions .vitepress/theme/components/Banner.vue
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ function dismiss() {
<div class="banner" v-if="open">
<p class="vt-banner-text">
<span class="vt-main">Vueconf 2026</span>
<span class="vt-tagline"> · Join us for all things <span class="vt-main" style="font-weight: 900;"> Vue + AI </span></span>
<span class="vt-place"> · VUE2026 FOR 20% OFF!</span>
<span class="vt-date"> · May 19-21 2026</span>
<span class="vt-tagline"> · <span class="vt-main" style="font-weight: 900;">Vue + AI</span> ve daha fazlası için bize katılın</span>
<span class="vt-place"> · %20 İNDİRİM: VUE2026</span>
<span class="vt-date"> · 19–21 Mayıs 2026</span>
<a target="_blank" class="vt-primary-action"
href="https://vueconf.us//?utm_source=vuejs&utm_content=top_banner">
Register
Kayıt ol
</a>
</p>
<button @click="dismiss">
Expand Down
43 changes: 21 additions & 22 deletions .vitepress/theme/components/Home.vue
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,19 @@ onMounted(load)

<template>
<section id="hero">
<img id="uwu" alt="Vue.js Kawaii Logo by @icarusgkx" />
<img id="uwu" alt="@icarusgkx tarafından Vue.js Kawaii logosu" />
<h1 class="tagline">
The
<span class="accent">Progressive</span>
<br />JavaScript Framework
<span class="accent">İlerici</span>
<br />JavaScript Çatısı
</h1>
<p class="description">
An approachable, performant and versatile framework for building web
user interfaces.
Web kullanıcı arayüzleri oluşturmak için erişilebilir, performanslı ve
çok yönlü bir çatı.
</p>
<p class="actions">
<VueMasteryModal />
<a class="get-started" href="/guide/introduction.html">
Get Started
Başlayın
<svg
class="icon"
xmlns="http://www.w3.org/2000/svg"
Expand All @@ -37,9 +36,9 @@ onMounted(load)
/>
</svg>
</a>
<a class="setup" href="/guide/quick-start.html">Install</a>
<a class="setup" href="/guide/quick-start.html">Kurulum</a>
<a class="security" href="https://v2.vuejs.org/eol/" target="_blank">
Get Security Updates for Vue 2
Vue 2 için güvenlik güncellemeleri
<svg
class="icon"
xmlns="http://www.w3.org/2000/svg"
Expand All @@ -54,7 +53,7 @@ onMounted(load)
</section>

<section v-if="data && data.special" id="special-spsr">
<span class="lead">Special Sponsor</span>
<span class="lead">Özel sponsor</span>
<template v-for="{ url, img, name, description } of data.special">
<a :href="url" target="_blank" rel="sponsored noopener">
<picture v-if="img.endsWith('png')">
Expand All @@ -78,39 +77,39 @@ onMounted(load)
<section v-else id="special-spsr">
<span>
<a href="/sponsor/#tier-benefits">
Special Sponsor slot is now vacant - Inquire now
Özel sponsor alanı boş — bilgi alın
</a>
</span>
</section>

<section id="highlights" class="vt-box-container">
<div class="vt-box">
<h2>Approachable</h2>
<h2>Erişilebilir</h2>
<p>
Builds on top of standard HTML, CSS and JavaScript with intuitive
API and world-class documentation.
Standart HTML, CSS ve JavaScript üzerine kuruludur; sezgisel API ve
dünya çapında belgelendirme sunar.
</p>
</div>
<div class="vt-box">
<h2>Performant</h2>
<h2>Performanslı</h2>
<p>
Truly reactive, compiler-optimized rendering system that rarely
requires manual optimization.
Nadiren elle iyileştirme gerektiren, derleyiciyle optimize edilmiş
gerçekten reaktif bir işleme sistemi.
</p>
</div>
<div class="vt-box">
<h2>Versatile</h2>
<h2>Çok yönlü</h2>
<p>
A rich, incrementally adoptable ecosystem that scales between a
library and a full-featured framework.
Bir kütüphane ile tam özellikli çatı arasında ölçeklenen, zengin ve
aşamalı olarak benimsenebilir bir ekosistem.
</p>
</div>
</section>

<section id="spsrs">
<h2>Platinum Sponsors</h2>
<h2>Platin sponsorlar</h2>
<SponsorsGroup tier="platinum" placement="landing" />
<h2>Gold Sponsors</h2>
<h2>Altın sponsorlar</h2>
<SponsorsGroup tier="gold" placement="landing" />
</section>

Expand Down
14 changes: 7 additions & 7 deletions .vitepress/theme/components/PreferenceSwitch.vue
Original file line number Diff line number Diff line change
Expand Up @@ -62,24 +62,24 @@ function useToggleFn(
<div v-if="show" class="preference-switch">
<button
class="toggle"
aria-label="preference switches toggle"
aria-label="Tercih anahtarlarını aç/kapat"
aria-controls="preference-switches"
:aria-expanded="isOpen"
@click="toggleOpen"
@mousedown="removeOutline"
@blur="restoreOutline"
>
<span>API Preference</span>
<span>API tercihi</span>
<VTIconChevronDown class="vt-link-icon" :class="{ open: isOpen }" />
</button>
<div id="preference-switches" :hidden="!isOpen" :aria-hidden="!isOpen">
<div class="switch-container">
<label class="options-label" @click="toggleCompositionAPI(false)"
>Options</label
>Seçenekler</label
>
<VTSwitch
class="api-switch"
aria-label="prefer composition api"
aria-label="Composition API tercih et"
:aria-checked="preferComposition"
@click="toggleCompositionAPI()"
/>
Expand All @@ -90,7 +90,7 @@ function useToggleFn(
>
<a
class="switch-link"
title="About API preference"
title="API tercihi hakkında"
href="/guide/introduction.html#api-styles"
@click="closeSideBar"
>?</a
Expand All @@ -101,14 +101,14 @@ function useToggleFn(
<label class="no-sfc-label" @click="toggleSFC(false)">HTML</label>
<VTSwitch
class="sfc-switch"
aria-label="prefer single file component"
aria-label="Tek dosya bileşenini tercih et"
:aria-checked="preferSFC"
@click="toggleSFC()"
/>
<label class="sfc-label" @click="toggleSFC(true)">SFC</label>
<a
class="switch-link"
title="About SFC"
title="SFC hakkında"
href="/guide/scaling-up/sfc.html"
@click="closeSideBar"
>?</a
Expand Down
24 changes: 13 additions & 11 deletions .vitepress/theme/components/PreferenceTooltip.vue
Original file line number Diff line number Diff line change
Expand Up @@ -99,30 +99,32 @@ function dismiss() {
<Transition name="fly-in">
<div class="preference-tooltip" v-if="show">
<template v-if="source === 'default'">
<p>API style now defaults to Composition API.</p>
<p>API stili artık varsayılan olarak Composition API.</p>
<p>
Some pages contain different content based on the API style
chosen. Use this switch to toggle between APIs styles.
Bazı sayfalar seçilen API stiline göre farklı içerik gösterir. API
stilleri arasında geçmek için bu anahtarı kullanın.
</p>
</template>
<template v-else-if="source && source.startsWith('url')">
<p>
Showing content for
{{ preferComposition ? 'Composition' : 'Options' }} API because
{{
preferComposition ? 'Composition' : 'Options'
}}
API için içerik gösteriliyor; çünkü
{{
source === 'url-query'
? 'it is specified by the URL query.'
: 'the target section is only available for that API.'
? 'URL sorgusu bunu belirtiyor.'
: 'hedef bölüm yalnızca bu API için mevcut.'
}}
</p>
<p>
This is different from your saved preference and will only affect
the current browsing session.
Bu, kayıtlı tercihinizden farklıdır ve yalnızca geçerli oturumu
etkiler.
</p>
</template>
<p class="actions">
<a href="/guide/introduction#api-styles">Learn more</a>
<button @click="dismiss">Got it</button>
<a href="/guide/introduction#api-styles">Daha fazla bilgi</a>
<button @click="dismiss">Tamam</button>
</p>
<div class="arrow-top"></div>
<div class="arrow-top inner"></div>
Expand Down
2 changes: 1 addition & 1 deletion .vitepress/theme/components/ScrimbaLink.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
rel="sponsored noopener"
:title="title"
>
<slot>Watch a free interactive tutorial on Scrimba</slot>
<slot>Scrimba’da ücretsiz etkileşimli öğretici izleyin</slot>
</a>
</div>
</template>
Expand Down
2 changes: 1 addition & 1 deletion .vitepress/theme/components/SecurityUpdateBtn.vue
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
href="https://www.herodevs.com/support/nes-vue?utm_source=vuejs_org&utm_medium=sidebar_link&utm_campaign=vue2eol"
target="_blank"
>
Get Security Updates for Vue 2
Vue 2 için güvenlik güncellemeleri
<svg
class="icon"
xmlns="http://www.w3.org/2000/svg"
Expand Down
4 changes: 2 additions & 2 deletions .vitepress/theme/components/SponsorsGroup.vue
Original file line number Diff line number Diff line change
Expand Up @@ -93,14 +93,14 @@ function resolveList(data: SponsorData) {
href="/sponsor/"
class="spsr-item action"
@click="track(true)"
>Become a Sponsor</a
>Sponsor olun</a
>
<a
v-if="tier === 'special' && data && !data[tier]?.length"
href="/sponsor/#tier-benefits"
class="spsr-item action"
@click="track(true)"
>Inquire about Special Sponsorship</a
>Özel sponsorluk için bilgi alın</a
>
</div>
</template>
Expand Down
4 changes: 2 additions & 2 deletions .vitepress/theme/components/TextAd.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ function track() {

<template>
<div class="text-ad">
<span class="label">Ad</span>
<span class="label">Reklam</span>
<a
href="https://aircode.io"
target="_blank"
rel="noopener nofollow"
@click="track"
>Try it → Build and deploy your own ChatGPT bot with JavaScript in 5 minutes</a
>Dene → ChatGPT botunu JavaScript ile 5 dakikada oluştur ve yayınla</a
>
</div>
</template>
Expand Down
8 changes: 4 additions & 4 deletions .vitepress/theme/components/VueJobs.vue
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ onMounted(async () => {
<div class="vj-company-logo">
<img
:src="job.organization.avatar"
:alt="`Logo for ${job.organization.name}`"
:alt="`${job.organization.name} logosu`"
/>
</div>
<div
Expand All @@ -61,17 +61,17 @@ onMounted(async () => {
<div class="vj-job-title">{{ job.title }}</div>
<div class="vj-job-info">
{{ job.organization.name }} <span>· </span>
<span>{{ job.remote ? 'Remote' : job.locations[0] }}</span>
<span>{{ job.remote ? 'Uzaktan' : job.locations[0] }}</span>
</div>
</div>
</a>
</div>
<div class="vj-link">
Jobs by
İş ilanları:
<a
href="https://vuejobs.com/?utm_source=vuejs&utm_medium=referral&utm_campaign=jobs_widget&utm_content=bottom_link"
target="_blank"
title="Hire Vue.js developers"
title="Vue.js geliştiricileri işe alın"
>vuejobs.com</a
>
</div>
Expand Down
16 changes: 9 additions & 7 deletions .vitepress/theme/components/VueMasteryModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ watch(
viewBox="0 0 100 125"
fill="#FFFFFF"
>
<title id="simpleicons-play-icon" lang="en">Play icon</title>
<title id="simpleicons-play-icon" lang="tr">Oynat simgesi</title>
<path
d="M50,3.8C24.5,3.8,3.8,24.5,3.8,50S24.5,96.2,50,96.2S96.2,75.5,96.2,50S75.5,3.8,50,3.8z M71.2,53.3l-30.8,18 c-0.6,0.4-1.3,0.5-1.9,0.5c-0.6,0-1.3-0.1-1.9-0.5c-1.2-0.6-1.9-1.9-1.9-3.3V32c0-1.4,0.8-2.7,1.9-3.3c1.2-0.6,2.7-0.6,3.8,0 l30.8,18c1.2,0.6,1.9,1.9,1.9,3.3S72.3,52.7,71.2,53.3z"
></path>
</svg>
Why Vue
Neden Vue?
</a>
<Teleport v-if="showWhyVue" to="body">
<div
Expand Down Expand Up @@ -65,23 +65,25 @@ watch(

<div class="vuemastery-modal-footer">
<p class="vuemastery-modal-footer-text">
Video by
Video:
<a
href="https://www.vuemastery.com"
target="_blank"
rel="sponsored noopener"
title="Vue.js Courses on Vue Mastery"
title="Vue Mastery’de Vue.js kursları"
>
Vue Mastery.</a
> Watch Vue Mastery’s free
>
Ücretsiz
<a
href="https://www.vuemastery.com/courses/intro-to-vue-3/intro-to-vue3"
target="_blank"
rel="sponsored noopener"
title="Vue.js Courses on Vue Mastery"
title="Vue Mastery’de Vue.js kursları"
>
Intro to Vue course.</a
Vue’ya giriş kursunu</a
>
izleyin.
</p>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion .vitepress/theme/components/VueSchoolLink.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
rel="sponsored noopener"
:title="title"
>
<slot>Watch a free video lesson on Vue School</slot>
<slot>Vue School’da ücretsiz video dersi izleyin</slot>
</a>
</div>
</template>
Expand Down
Loading