Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main'
Browse files Browse the repository at this point in the history
# Conflicts:
#	app/components/AppFooter.vue
#	app/pages/blog/[slug].vue
#	app/pages/deploy/[slug].vue
#	app/pages/docs/[...slug].vue
#	content/0.index.yml
#	content/team.yml
  • Loading branch information
Ivan Bochkarev committed Nov 6, 2024
2 parents 531d853 + ed9e4c8 commit ebe289c
Show file tree
Hide file tree
Showing 15 changed files with 2,128 additions and 1,574 deletions.
1 change: 1 addition & 0 deletions app/components/AppFooter.vue
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ const { footerLinks } = useNavigation()

<template #right>
<UButton aria-label="Nuxt в X" to="https://go.nuxt.com/x" target="_blank" icon="i-simple-icons-x" v-bind="($ui.button.secondary as any)" />
<UButton aria-label="Nuxt в BlueSky" to="https://go.nuxt.com/bluesky" target="_blank" icon="i-simple-icons-bluesky" v-bind="($ui.button.secondary as any)" />
<UButton aria-label="Nuxt в LinkedIn" to="https://go.nuxt.com/linkedin" target="_blank" icon="i-simple-icons-linkedin" v-bind="($ui.button.secondary as any)" />
<UButton aria-label="Nuxt в Discord" to="https://go.nuxt.com/discord" target="_blank" icon="i-simple-icons-discord" v-bind="($ui.button.secondary as any)" />
<UButton aria-label="Nuxt в GitHub" to="https://go.nuxt.com/github" target="_blank" icon="i-simple-icons-github" v-bind="($ui.button.secondary as any)" />
Expand Down
36 changes: 36 additions & 0 deletions app/components/SocialLinks.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<template>
<div class="flex items-center">
<UButton
icon="i-simple-icons-discord"
to="https://go.nuxt.com/discord"
target="_blank"
variant="ghost"
color="gray"
size="xs"
/>
<UButton
icon="i-simple-icons-bluesky"
to="https://go.nuxt.com/bluesky"
target="_blank"
variant="ghost"
color="gray"
size="xs"
/>
<UButton
icon="i-simple-icons-x"
to="https://go.nuxt.com/x"
target="_blank"
variant="ghost"
color="gray"
size="xs"
/>
<UButton
icon="i-simple-icons-github"
to="https://go.nuxt.com/github"
target="_blank"
variant="ghost"
color="gray"
size="xs"
/>
</div>
</template>
8 changes: 1 addition & 7 deletions app/pages/blog/[slug].vue
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,6 @@ const links = [
label: 'Звезды на GitHub',
to: 'https://go.nuxt.com/github',
target: '_blank'
}, {
icon: 'i-ph-chat-centered-text',
label: 'Чат в Discord',
to: 'https://go.nuxt.com/discord',
target: '_blank'
}, {
icon: 'i-ph-hand-heart',
label: 'Стать спонсором',
Expand Down Expand Up @@ -152,9 +147,8 @@ const links = [
<template #bottom>
<div class="hidden lg:block space-y-6">
<UPageLinks title="Ссылки" :links="links" />

<UDivider type="dashed" />

<SocialLinks />
<Ads />
</div>
</template>
Expand Down
4 changes: 1 addition & 3 deletions app/pages/deploy/[slug].vue
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,9 @@ links.push({
<template #bottom>
<div class="hidden lg:block space-y-6" :class="{ '!mt-6': provider.body?.toc?.links?.length }">
<UDivider v-if="links?.length && provider.body?.toc?.links?.length" type="dashed" />

<UPageLinks title="Ссылки" :links="links" />

<UDivider type="dashed" />

<SocialLinks />
<Ads />
</div>
</template>
Expand Down
14 changes: 7 additions & 7 deletions app/pages/docs/[...slug].vue
Original file line number Diff line number Diff line change
Expand Up @@ -50,16 +50,16 @@ const communityLinks = computed(() => [{
label: 'Редактировать эту страницу',
to: `https://github.com/translation-gang/nuxt/edit/main/docs/${page?.value?._file?.split('/').slice(1).join('/')}`,
target: '_blank'
}, {
icon: 'i-ph-chat-centered-text',
label: 'Чат в Discord',
to: 'https://go.nuxt.com/discord',
target: '_blank'
}, {
icon: 'i-ph-hand-heart',
label: 'Стать спонсором',
to: 'https://go.nuxt.com/sponsor',
target: '_blank'
}, {
icon: 'i-ph-chef-hat',
label: 'Master Nuxt',
to: 'https://masteringnuxt.com/nuxt3',
target: '_blank'
}])
const title = page.value.head?.title || page.value.title
Expand Down Expand Up @@ -103,9 +103,9 @@ defineOgImageComponent('Docs', {
<template #bottom>
<div class="hidden lg:block space-y-6" :class="{ '!mt-6': page.body?.toc?.links?.length }">
<UDivider v-if="page.body?.toc?.links?.length" type="dashed" />

<UPageLinks title="Сообщество" :links="communityLinks" />

<UDivider type="dashed" />
<SocialLinks />
<Ads />
</div>
</template>
Expand Down
25 changes: 17 additions & 8 deletions app/pages/enterprise/agencies/[slug].vue
Original file line number Diff line number Diff line change
Expand Up @@ -66,22 +66,31 @@ defineOgImageComponent('Docs', {
<span class="text-sm font-medium">{{ agency.location }}</span>
</div>

<span v-if="agency.twitter" class="hidden lg:block text-gray-500 dark:text-gray-400">&bull;</span>

<NuxtLink v-if="agency.twitter" :to="`https://twitter.com/${agency.twitter}`" target="_blank" class="flex items-center gap-1.5 hover:text-primary">
<UIcon name="i-simple-icons-twitter" class="w-5 h-5" />
<span class="text-sm font-medium">Twitter</span>
<span v-if="agency.twitter || agency.x" class="hidden lg:block text-gray-500 dark:text-gray-400">&bull;</span>
<NuxtLink v-if="agency.twitter || agency.x" :to="`https://x.com/${agency.twitter || agency.x}`" target="_blank" class="flex items-center gap-1.5 hover:text-primary">
<UIcon name="i-simple-icons-x" class="w-5 h-5" />
<span class="text-sm font-medium">{{ agency.twitter || agency.x }}</span>
</NuxtLink>

<span v-if="agency.github" class="hidden lg:block text-gray-500 dark:text-gray-400">&bull;</span>

<NuxtLink v-if="agency.github" :to="`https://github.com/${agency.github}`" target="_blank" class="flex items-center gap-1.5 hover:text-primary">
<UIcon name="i-simple-icons-github" class="w-5 h-5" />
<span class="text-sm font-medium">GitHub</span>
<span class="text-sm font-medium">{{ agency.github }}</span>
</NuxtLink>

<span v-if="agency.link" class="hidden lg:block text-gray-500 dark:text-gray-400">&bull;</span>
<span v-if="agency.linkedin" class="hidden lg:block text-gray-500 dark:text-gray-400">&bull;</span>
<NuxtLink v-if="agency.linkedin" :to="`https://linkedin.com/company/${agency.linkedin}`" target="_blank" class="flex items-center gap-1.5 hover:text-primary">
<UIcon name="i-simple-icons-linkedin" class="w-5 h-5" />
<span class="text-sm font-medium">{{ agency.linkedin }}</span>
</NuxtLink>

<span v-if="agency.instagram" class="hidden lg:block text-gray-500 dark:text-gray-400">&bull;</span>
<NuxtLink v-if="agency.instagram" :to="`https://instagram.com/${agency.instagram}`" target="_blank" class="flex items-center gap-1.5 hover:text-primary">
<UIcon name="i-simple-icons-instagram" class="w-5 h-5" />
<span class="text-sm font-medium">{{ agency.instagram }}</span>
</NuxtLink>

<span v-if="agency.link" class="hidden lg:block text-gray-500 dark:text-gray-400">&bull;</span>
<NuxtLink v-if="agency.link" :to="agency.link" target="_blank" class="flex items-center gap-1.5 hover:text-primary">
<UIcon name="i-ph-link" class="w-5 h-5" />
<span class="text-sm font-medium">Website</span>
Expand Down
3 changes: 1 addition & 2 deletions app/pages/modules/[slug].vue
Original file line number Diff line number Diff line change
Expand Up @@ -177,9 +177,8 @@ defineOgImageComponent('Docs', {
Contributors <UBadge :label="module.contributors.length.toString()" color="gray" size="xs" :ui="{ rounded: 'rounded-full' }" />
</template>
</UPageLinks>

<UDivider type="dashed" />

<SocialLinks />
<Ads />
</div>
</template>
Expand Down
3 changes: 3 additions & 0 deletions app/types/agencies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ export interface Agency extends ParsedContent {
_path: string
link: string
twitter: string
x: string
github: string
linkedin: string
instagram: string
logo: {
light: string
dark: string
Expand Down
27 changes: 17 additions & 10 deletions content/0.index.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
navigation: false
hero:
cta:
label: Nuxt v3.13 вышел
to: /blog/v3-13
label: Nuxt v3.14 вышел
to: /blog/v3-14
icon: i-ph-arrow-right
logos:
title: 'Доверяют лучшие фронтенд-команды'
Expand Down Expand Up @@ -243,25 +243,31 @@ sections:
target: _blank
color: black
size: md
- label: Discord
icon: 'i-simple-icons-discord'
- icon: 'i-simple-icons-discord'
color: gray
variant: ghost
size: md
target: _blank
to: 'https://go.nuxt.com/discord'
- label: GitHub
icon: 'i-simple-icons-github'
- icon: 'i-simple-icons-github'
color: gray
variant: ghost
size: md
target: _blank
to: 'https://go.nuxt.com/github'
- label: X / Twitter
icon: 'i-simple-icons-x'
- icon: 'i-simple-icons-x'
color: gray
variant: ghost
size: md
target: _blank
to: 'https://go.nuxt.com/x'
- title: 'Нам доверяет <br><span class="text-primary">World Wide Web.</span>'
- icon: 'i-simple-icons-bluesky'
color: gray
variant: ghost
size: md
target: _blank
to: 'https://go.nuxt.com/bluesky'
- title: 'Нам доверяет the<br><span class="text-primary">World Wide Web.</span>'
class: 'dark:bg-gradient-to-b from-gray-900 to-gray-950'
slot: testimonials
align: center
Expand Down Expand Up @@ -328,4 +334,5 @@ sections:
target: '_blank'
avatar:
src: 'https://ipx.nuxt.com/f_auto,s_40x40/gh_avatar/rijkvanzanten'
srcset: 'https://ipx.nuxt.com/f_auto,s_80x80/gh_avatar/rijkvanzanten 2x'
srcset: 'https://ipx.nuxt.com/f_auto,s_80x80/gh_avatar/rijkvanzanten 2x'

86 changes: 86 additions & 0 deletions content/7.blog/27.v3-14.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
title: Nuxt 3.14
description: Nuxt 3.14 is out - with a new rspack builder, shared folder, and performance enhancements!
navigation: false
image: /assets/blog/v3.14.png
authors:
- name: Daniel Roe
avatarUrl: https://github.com/danielroe.png
link: https://twitter.com/danielcroe
twitter: danielcroe
date: 2024-11-04T10:00:00.000Z
category: Release
---

Behind the scenes, a lot has been going on in preparation for the release of Nuxt v4 (particularly on the `unjs` side with preparations for Nitro v3!)

### ⚡️ Faster starts powered by `jiti`

Loading the nuxt config file, as well as modules and other build-time code, is now powered by `jiti` v2. You can see more about the release in the [jiti v2 release notes](https://github.com/unjs/jiti/releases/tag/v2.0.0), but one of the most important pieces is native node esm import (where possible), which should mean a faster start. ✨

### 📂 Shared folder for code and types shared with client/server

You should never import Vue app code in your nitro code (or the other way around). But this has meant a friction point when it comes to sharing types or utilities that _don't_ rely on the nitro/vue contexts.

For this, we have a new `shared/` folder ([#28682](https://github.com/nuxt/nuxt/pull/28682)). You can't import Vue or nitro code _into_ files in this folder, but it produces auto-imports you can consume throughout the rest of your app.

If needed you can use the new `#shared` alias which points to this folder.

The shared folder is alongside your `server/` folder. (If you're using `compatibilityVersion: 4`, this means it's not inside your `app/` folder.)

### 🦀 `rspack` builder

We're excited to announce a new first-class Nuxt builder for `rspack`. It's still experimental but we've refactored the internal Nuxt virtual file system to use `unplugin` to make this possible.

Let us know if you like it - and feel free to raise any issues you experience with it.

👉 To try it out, you can use [this starter](https://github.com/danielroe/nuxt-rspack-starter) - or just install `@nuxt/rspack-builder` and set `builder: 'rspack'` in your nuxt config file.

### ✨ New composables

We have new `useResponseHeader` and `useRuntimeHook` composables ([#27131](https://github.com/nuxt/nuxt/pull/27131) and [#29741](https://github.com/nuxt/nuxt/pull/29741)).

### 🔧 New module utilities

We now have a new `addServerTemplate` utility ([#29320](https://github.com/nuxt/nuxt/pull/29320)) for adding virtual files for access inside nitro runtime routes.

### 🚧 v4 changes

We've merged some changes which only take effect with `compatibilityVersion: 4`, but which you can opt-into earlier.

1. previously, if you had a component like `~/components/App/Header.vue` this would be visible in your devtools as `<Header>`. From v4 we ensure this is `<AppHeader>`, but it's opt-in to avoid breaking any manual `<KeepAlive>` you might have implemented. ([#28745](https://github.com/nuxt/nuxt/pull/28745)).
2. Nuxt scans page metadata from your files, before calling `pages:extend`. But this has led to some confusing behaviour, as pages added at this point do not end up having their page metadata respected. So we now do not scan metadata before calling `pages:extend`. Instead, we have a new `pages:resolved` hook, which is called after `pages:extend`, after all pages have been augmented with their metadata. I'd recommend opting into this by setting `experimental.scanPageMeta` to `after-resolve`, as it solves a number of bugs.

## 🗺️ Roadmap to v3.15

They didn't quite make it in time for v3.14 but for the next minor release you can expect (among other things):

- auto-imported directives from modules ([#29203](https://github.com/nuxt/nuxt/pull/29203))
- 'isolated' page renders ([#29366](https://github.com/nuxt/nuxt/pull/29366))
- delayed hydration ([#26468](https://github.com/nuxt/nuxt/pull/26468))

## ✅ Upgrading

As usual, our recommendation for upgrading is to run:

```sh
npx nuxi@latest upgrade --force
```

This will refresh your lockfile as well, and ensures that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.

## Full Release Notes

::read-more
---
color: gray
icon: i-simple-icons-github
target: _blank
to: https://github.com/nuxt/nuxt/releases/tag/v3.14.0
---
Read the full release notes of Nuxt `v3.14.0`.
::

A huge thank you to everyone who's been a part of this release. We have exciting things in store with our next releases! ❤️

Don't hesitate to let us know if you have any feedback or issues! 🙏
18 changes: 8 additions & 10 deletions content/8.enterprise/2.agencies/2.acumen-digital.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
category: agency
title: Acumen Digital
description: We bring ideas, resources, and expertise together to create companies that solve real-life problems.
description: Transforming Ideas into Digital Success Stories
logo:
light: /assets/enterprise/agencies/square/light/acumen.svg
dark: /assets/enterprise/agencies/square/dark/acumen.svg
logoFull: /assets/enterprise/agencies/square/light/acumen.svg
link: https://www.acumen.digital/
link: https://www.acumen.digital/nuxt
services:
- eCommerce
- Software & SaaS
Expand All @@ -24,22 +24,20 @@ resources:
target: _blank
emailAddress: ayo@acumen.digital
phoneNumber: null
twitter: Acumendigital_
github: acumendigital
linkedin: acumendigital
instagram: acumen.digital
color:
- '#00ecae'
regions:
- Africa
- North America
location: Delaware, USA & Lagos, Nigeria
location: Delaware, USA / Lagos, Nigeria / Johannesburg, South Africa
---

At Acumen, we’re more than just a digital agency—we’re your partners in innovation. With a focus on delivering high-quality product design, development and team augmentation, we help companies scale quickly and efficiently.
Acumen Digital is an award-winning product design and engineering studio with a global reach that spans Africa, the US, Canada, and Europe. We've partnered with numerous companies to craft exceptional digital products, leveraging a robust tech stack that includes Laravel, Vue.js, Nuxt.js, AWS, and Figma. Our expertise has helped clients scale from Minimum Viable Products (MVPs) to unicorn & acquisition status.

We bring together the top 1% of talent from Africa—designers, developers, and strategists—who thrive on solving complex challenges and creating user-centered solutions.
With a unique approach that combines technical expertise and market insights, we augment our teams to our clients to deliver high-quality products efficiently. Our dedicated professionals, including product designers, engineers, product managers, and quality assurance specialists, work collaboratively with clients to ensure each project's success and beyond.

Our approach is simple: we listen, we understand, and we deliver. Whether you're a startup or a large enterprise, we craft digital experiences that drive results, helping you stay ahead in an ever-changing digital landscape. We take pride in offering world-class talent and service at competitive prices, all while building lasting partnerships with our clients.

At Acumen, we believe in transforming ideas into reality and making an impact every step of the way.

Let's create something extraordinary together.
Whether you're a startup with a groundbreaking idea or an established company seeking digital transformation, Acumen Digital provides the expertise and support needed to turn your vision into reality
Loading

0 comments on commit ebe289c

Please sign in to comment.