Skip to content

Commit b86b070

Browse files
authored
Merge pull request vuejs#1 from Abdelaziz18003/main
merge upstream
2 parents 42f3562 + cbd9ad7 commit b86b070

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1414
-953
lines changed

.vitepress/config.ts

Lines changed: 175 additions & 160 deletions
Large diffs are not rendered by default.

.vitepress/theme/components/Home.vue

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<script setup lang="ts">
22
import { onMounted } from 'vue'
3-
import NewsLetter from './NewsLetter.vue'
3+
import SiteMap from './SiteMap.vue';
4+
// import NewsLetter from './NewsLetter.vue'
45
import { load, data, base } from './sponsors'
56
import SponsorsGroup from './SponsorsGroup.vue'
67
import VueMasteryModal from './VueMasteryModal.vue'
@@ -89,7 +90,8 @@ onMounted(async () => {
8990
<SponsorsGroup tier="gold" placement="landing" />
9091
</section>
9192

92-
<NewsLetter />
93+
<SiteMap />
94+
<!-- <NewsLetter /> -->
9395
</template>
9496

9597
<style scoped>
@@ -255,6 +257,7 @@ html:not(.dark) .accent,
255257
font-size: 64px;
256258
letter-spacing: -0.5px;
257259
}
260+
258261
.description {
259262
font-size: 18px;
260263
margin-bottom: 48px;
@@ -272,26 +275,33 @@ html:not(.dark) .accent,
272275
#hero {
273276
padding: 64px 32px;
274277
}
278+
275279
.description {
276280
font-size: 16px;
277281
margin: 18px 0 30px;
278282
}
283+
279284
#special-sponsor {
280285
flex-direction: column;
281286
}
287+
282288
#special-sponsor img {
283289
height: 36px;
284290
margin: 8px 0;
285291
}
292+
286293
#special-sponsor span {
287294
text-align: center !important;
288295
}
296+
289297
#highlights h3 {
290298
margin-bottom: 0.6em;
291299
}
300+
292301
#highlights .vt-box {
293302
padding: 20px 36px;
294303
}
304+
295305
.actions a {
296306
margin: 0.5em 0;
297307
}

.vitepress/theme/components/NewsLetter.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import { VTLink } from '@vue/theme'
3232
id="member_submit"
3333
name="member[subscribe]"
3434
type="submit"
35-
value="SUBSCRIBE"
35+
value="سجّل"
3636
/>
3737
</div>
3838
</form>
@@ -44,10 +44,10 @@ import { VTLink } from '@vue/theme'
4444
>news.vuejs.org</VTLink
4545
>. تستطيع متابعتنا على
4646
<VTLink class="link" href="https://twitter.com/vuejs" no-icon
47-
>Twitter</VTLink
47+
>تويتر</VTLink
4848
>, أو الانضمام إلينا على
4949
<VTLink class="link" href="https://chat.vuejs.org/" no-icon
50-
>Discord</VTLink
50+
>ديسكورد</VTLink
5151
>.
5252
</p>
5353
</div>

.vitepress/theme/components/ReplLoading.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<div></div>
77
<div></div>
88
</div>
9-
<div>Repl is loading...</div>
9+
<div>Repl قيد التحميل</div>
1010
</div>
1111
</template>
1212

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<script setup lang="ts">
2+
import { VTLink } from '@vue/theme'
3+
import { useData } from 'vitepress'
4+
5+
const data = useData()
6+
const nav = data.site.value.themeConfig.nav
7+
const ecosystem = nav.find((i: any) => i.text === 'بيئة العمل')
8+
const items = nav
9+
.filter((i: any) => i !== ecosystem && i.items)
10+
.concat(ecosystem.items)
11+
</script>
12+
13+
<template>
14+
<section id="sitemap">
15+
<div class="container">
16+
<div class="sitemap-col" v-for="col in items">
17+
<h4>{{ col.text }}</h4>
18+
<ul>
19+
<li v-for="row in col.items">
20+
<VTLink :href="row.link">{{ row.text }}</VTLink>
21+
</li>
22+
</ul>
23+
</div>
24+
</div>
25+
</section>
26+
</template>
27+
28+
<style>
29+
#sitemap {
30+
background: var(--vt-c-bg-soft);
31+
}
32+
33+
#sitemap .container {
34+
max-width: 900px;
35+
margin: 0 auto;
36+
columns: 1;
37+
padding: 24px 32px;
38+
}
39+
40+
@media (min-width: 768px) {
41+
#sitemap .container {
42+
columns: 2;
43+
}
44+
}
45+
46+
@media (min-width: 1024px) {
47+
#sitemap .container {
48+
columns: 3;
49+
}
50+
}
51+
52+
#sitemap h4 {
53+
font-weight: 500;
54+
color: var(--vt-c-text-1);
55+
margin-bottom: 0.25em;
56+
}
57+
58+
.sitemap-col {
59+
margin-bottom: 2em;
60+
break-inside: avoid;
61+
}
62+
63+
#sitemap .vt-link {
64+
font-size: 0.9em;
65+
color: var(--vt-c-text-2);
66+
}
67+
</style>

.vitepress/theme/components/SponsorsAside.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const { frontmatter } = useData()
66

77
<template>
88
<div v-if="frontmatter.sponsors !== false">
9-
<a class="sponsors-aside-text" href="/sponsor/">Sponsors</a>
9+
<a class="sponsors-aside-text" href="/sponsor/">الراعون</a>
1010
<SponsorsGroup tier="special" />
1111
<SponsorsGroup tier="platinum" />
1212
</div>

.vitepress/theme/components/SponsorsGroup.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script setup lang="ts">
22
import { onMounted, onUnmounted } from 'vue'
3-
import { SponsorData, data, base, load } from './sponsors';
3+
import { SponsorData, data, base, load } from './sponsors'
44
55
const { tier, placement = 'aside' } = defineProps<{
66
tier: keyof SponsorData

.vitepress/theme/components/VueJobs.vue

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ const base = 'https://app.vuejobs.com/feed/vuejs/docs?format=json'
55
let items = $ref<Jobs[]>([])
66
77
type Jobs = {
8-
organization: Organization;
9-
title: string;
10-
link: string;
11-
locations: string[];
12-
remote: false | 'ALLOWED' | 'ONLY';
13-
};
8+
organization: Organization
9+
title: string
10+
link: string
11+
locations: string[]
12+
remote: false | 'ALLOWED' | 'ONLY'
13+
}
1414
1515
type Organization = {
16-
name: string;
17-
avatar: string;
18-
};
16+
name: string
17+
avatar: string
18+
}
1919
</script>
2020
2121
<script setup lang="ts">
@@ -43,8 +43,8 @@ onMounted(async () => {
4343
target="_blank"
4444
>
4545
<div class="vj-company-logo">
46-
<img
47-
:src="job.organization.avatar"
46+
<img
47+
:src="job.organization.avatar"
4848
:alt="`Logo for ${job.organization.name}`" />
4949
</div>
5050
<div
@@ -63,7 +63,7 @@ onMounted(async () => {
6363
</a>
6464
</div>
6565
<div class="vj-link">
66-
Jobs by
66+
وظائف من طرف
6767
<a
6868
href="https://vuejobs.com/?utm_source=vuejs&utm_medium=referral&utm_campaign=jobs_widget&utm_content=bottom_link"
6969
target="_blank"

.vitepress/theme/components/VueMasteryModal.vue

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ watch(
2020
class="why-vue"
2121
@click="showWhyVue = true"
2222
href="javascript:;"
23-
dir="rtl"
2423
>
2524
<svg
2625
class="icon-play"
@@ -29,12 +28,12 @@ watch(
2928
viewBox="0 0 100 125"
3029
fill="#FFFFFF"
3130
>
32-
<title id="simpleicons-play-icon" lang="en">Play icon</title>
31+
<title id="simpleicons-play-icon" lang="en">أيقونة التشغيل</title>
3332
<path
3433
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"
3534
></path>
3635
</svg>
37-
لماذا Vue
36+
لماذا Vue؟
3837
</a>
3938
<Teleport v-if="showWhyVue" to="body">
4039
<div @click="showWhyVue = false" class="vuemastery-modal-mask">
@@ -61,9 +60,9 @@ watch(
6160
</div>
6261
</div>
6362

64-
<div class="vuemastery-modal-footer">
63+
<div class="vuemastery-modal-footer" dir="rtl">
6564
<p class="vuemastery-modal-footer-text">
66-
Video by
65+
فيديو من طرف
6766
<a
6867
href="https://www.vuemastery.com"
6968
target="_blank"
@@ -72,14 +71,14 @@ watch(
7271
>
7372
Vue Mastery.</a
7473
>
75-
Watch Vue Mastery’s free
74+
شاهد مجانا
7675
<a
7776
href="https://www.vuemastery.com/courses/intro-to-vue-3/intro-to-vue3"
7877
target="_blank"
7978
rel="sponsored noopener"
80-
title="Vue.js Courses on Vue Mastery"
79+
title="دورات Vue.js على Vue Mastery"
8180
>
82-
Intro to Vue course.</a
81+
مقدمة عن دورة Vue</a
8382
>
8483
</p>
8584
</div>

.vitepress/theme/components/VueSchoolLink.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
rel="sponsored noopener"
77
:title="title"
88
>
9-
<slot>Watch a free video lesson on Vue School</slot>
9+
<slot> شاهد فيديو تعليمي مجاني على VueSchool</slot>
1010
</a>
1111
</div>
1212
</template>

.vitepress/theme/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import {
88
filterHeadersByPreference
99
} from './components/preferences'
1010
import SponsorsAside from './components/SponsorsAside.vue'
11-
import VueJobs from './components/VueJobs.vue'
1211
import VueSchoolLink from './components/VueSchoolLink.vue'
1312
// import Banner from './components/Banner.vue'
1413

@@ -26,6 +25,5 @@ export default Object.assign({}, VPTheme, {
2625
app.provide('prefer-sfc', preferSFC)
2726
app.provide('filter-headers', filterHeadersByPreference)
2827
app.component('VueSchoolLink', VueSchoolLink)
29-
app.component('VueJobs', VueJobs)
3028
}
3129
})

.vitepress/theme/styles/index.css

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
@import "./pages.css";
2-
@import "./badges.css";
3-
@import "./options-boxes.css";
4-
@import "./inline-demo.css";
5-
@import "./utilities.css";
6-
@import "./style-guide.css";
1+
@import './pages.css';
2+
@import './badges.css';
3+
@import './options-boxes.css';
4+
@import './inline-demo.css';
5+
@import './utilities.css';
6+
@import './style-guide.css';
7+
@import './overrides.css';

.vitepress/theme/styles/overrides.css

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
.VPSidebar,
2+
.vt-doc.guide,
3+
.VPContentDocOutline,
4+
.edit-link {
5+
direction: rtl;
6+
}
7+
8+
pre {
9+
direction: ltr;
10+
}
11+
.vt-doc .custom-block {
12+
padding: 22px 24px 4px 20px !important;
13+
}
14+
.vt-doc .custom-block:before {
15+
content: 'ⓘ';
16+
position: absolute;
17+
font-weight: 600;
18+
font-size: 15px;
19+
top: 28px;
20+
right: 12px;
21+
}
22+
23+
.vt-doc .custom-block-title {
24+
margin-right: 14px;
25+
}
26+
27+
.vt-doc ul {
28+
padding-left: auto;
29+
padding-right: 1.25rem;
30+
}
31+
32+
.vt-doc ul > li:before {
33+
content: '•';
34+
right: -1.25rem;
35+
}
36+
37+
.ar.vue-mastery-link .description {
38+
margin-right: 16px;
39+
}
40+
41+
.vt-doc a[href^="https://sfc.vuejs.org"]:before
42+
{
43+
padding-right: 2.5px;
44+
}
45+
46+
.vt-doc .header-anchor {
47+
position: absolute;
48+
right: -24px;
49+
}

.vitepress/theme/styles/vue-mastery.css

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
.vue-mastery-link .banner {
1414
background-color: var(--vt-c-white-soft);
1515
border-radius: 4px;
16-
width:96px;
17-
height:56px;
16+
width: 96px;
17+
height: 56px;
1818
object-fit: cover;
1919
}
2020

@@ -50,7 +50,7 @@
5050

5151
@media (max-width: 576px) {
5252
.vue-mastery-link .banner {
53-
width:56px;
53+
width: 56px;
5454
}
5555

5656
.vue-mastery-link .description {

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"editor.formatOnSave": false
3+
}

0 commit comments

Comments
 (0)