Skip to content

Commit

Permalink
Обновлено: AppsWidget #185, обновлен index.ts
Browse files Browse the repository at this point in the history
  • Loading branch information
OlegShchavelev committed Feb 23, 2024
1 parent bd06fdd commit d8f4d44
Show file tree
Hide file tree
Showing 6 changed files with 131 additions and 117 deletions.
95 changes: 52 additions & 43 deletions .vitepress/theme/components/AGWAppsMetaWidget.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,13 @@ import { DefaultTheme, useData } from 'vitepress'
const { theme, frontmatter } = useData();
const props = computed(() => frontmatter.value.metainfo ?? theme.value.metainfo ?? false);
const metainfo = computed(() => frontmatter.value.metainfo ?? theme.value.metainfo ?? false);
const props = {
sisyphusId: frontmatter.value.sisyphus,
flatpakId: frontmatter.value.appstreamFlatpak,
snapcraftId: frontmatter.value.nameSnap
}
import VPLink from 'vitepress/dist/client/theme-default/components/VPLink.vue'
import VPImage from 'vitepress/dist/client/theme-default/components/VPImage.vue';
Expand All @@ -13,67 +19,70 @@ import VPImage from 'vitepress/dist/client/theme-default/components/VPImage.vue'
</script>

<template>
<article v-if="props" class="AppsWidget">
<figure class="figure" v-if="props.thumb && props.thumb.src">
<VPImage :image="props.thumb.src" :alt="props.thumb.title" class="card-image" />
<article v-if="metainfo" class="AppsWidget">
<figure class="figure" v-if="metainfo.thumb && metainfo.thumb.src">
<VPImage :image="metainfo.thumb.src" :alt="metainfo.thumb.title" class="card-image" />
<img src="">
</figure>
<div class="body">
<div class="summary">{{ props.summary }}</div>
<div v-if="props.adaptive || props.proprietary || props.gnomeCircle || props.gnomeCore || props.createTheme || props.restrictions"
<div class="summary">{{ metainfo.summary }}</div>
<div v-if="metainfo.adaptive || metainfo.proprietary || metainfo.gnomeCircle || metainfo.gnomeCore || metainfo.createTheme || metainfo.restrictions"
class="badges">
<Badge v-if="props.adaptive" type="tip">Адаптивное</Badge>
<Badge v-if="props.proprietary" type="danger">Проприетарное</Badge>
<Badge v-if="props.gnomeCircle" type="success">GNOME Circle</Badge>
<Badge v-if="props.gnomeCore" type="info">GNOME Core</Badge>
<Badge v-if="props.createTheme" type="success-1">Please don’t theme</Badge>
<Badge v-if="props.restrictions" type="danger">Региональные ограничения</Badge>
<Badge v-if="metainfo.adaptive" type="tip">Адаптивное</Badge>
<Badge v-if="metainfo.proprietary" type="danger">Проприетарное</Badge>
<Badge v-if="metainfo.gnomeCircle" type="success">GNOME Circle</Badge>
<Badge v-if="metainfo.gnomeCore" type="info">GNOME Core</Badge>
<Badge v-if="metainfo.createTheme" type="success-1">Please don’t theme</Badge>
<Badge v-if="metainfo.restrictions" type="danger">Региональные ограничения</Badge>
</div>
<div v-if="props.developer && props.developer.name" class="developers">
<figure v-if="props.developer && props.developer.avatar" class="avatar">
<VPImage :image="props.developer.avatar" :alt="props.developer.name" class="avatar-developer" />
<div v-if="metainfo.developer && metainfo.developer.name" class="developers">
<figure v-if="metainfo.developer && metainfo.developer.avatar" class="avatar">
<VPImage :image="metainfo.developer.avatar" :alt="metainfo.developer.name" class="avatar-developer" />
</figure>
<div>
<div class="caption">Разработчик</div>
<div class="name">{{ props.developer.name }}<span class="nickname">{{ props.developer.nickname }}</span>
<div class="name">{{ metainfo.developer.name }}<span class="nickname">{{ metainfo.developer.nickname
}}</span>
</div>
</div>
</div>
</div>
<dl>
<dt v-if="props.licence && props.licence.url">Лицензия</dt>
<dd v-if="props.licence && props.licence.url">
<VPLink :href="props.licence && props.licence.url" class="title">
{{ props.licence.anchor }}
<dt v-if="metainfo.licence && metainfo.licence.url">Лицензия</dt>
<dd v-if="metainfo.licence && metainfo.licence.url">
<VPLink :href="metainfo.licence && metainfo.licence.url" class="title">
{{ metainfo.licence.anchor }}
</VPLink>
</dd>
<dt v-if="props.site && props.site.url">Сайт проекта</dt>
<dd v-if="props.site && props.site.url">
<VPLink :href="props.site.url" target="_blank" class="title">
{{ props.site.anchor }}
<dt v-if="metainfo.site && metainfo.site.url">Сайт проекта</dt>
<dd v-if="metainfo.site && metainfo.site.url">
<VPLink :href="metainfo.site.url" target="_blank" class="title">
{{ metainfo.site.anchor }}
</VPLink>
</dd>
<dt v-if="props.translate && props.translate.url">Помочь с переводами</dt>
<dd v-if="props.translate && props.translate.url">
<VPLink :href="props.translate.url" target="_blank" class="title">
{{ props.translate.anchor }}
<dt v-if="metainfo.translate && metainfo.translate.url">Помочь с переводами</dt>
<dd v-if="metainfo.translate && metainfo.translate.url">
<VPLink :href="metainfo.translate.url" target="_blank" class="title">
{{ metainfo.translate.anchor }}
</VPLink>
</dd>
<dt v-if="props.issue && props.issue.url">Сообщить о проблеме</dt>
<dd v-if="props.issue && props.issue.url">
<VPLink :href="props.issue.url" target="_blank" class="title">
{{ props.issue.anchor }}
<dt v-if="metainfo.issue && metainfo.issue.url">Сообщить о проблеме</dt>
<dd v-if="metainfo.issue && metainfo.issue.url">
<VPLink :href="metainfo.issue.url" target="_blank" class="title">
{{ metainfo.issue.anchor }}
</VPLink>
</dd>
</dl>
<div class="footet">
<a target="_blank" v-if="props.sponsor && props.sponsor.url" :href="props.sponsor.url"
<a target="_blank" v-if="metainfo.sponsor && metainfo.sponsor.url" :href="metainfo.sponsor.url"
class="link-gnome-sponsor">Поддержать автора</a>
<a target="_blank" v-if="props.snapcraft && props.snapcraft.url" :href="props.snapcraft.url"
<a target="_blank" v-if="(metainfo.snapcraft && metainfo.snapcraft.url) || (metainfo.snapcraft !== false && props.snapcraftId)"
:href="(metainfo.snapcraft && metainfo.snapcraft.url) ? metainfo.snapcraft.url : 'https://snapcraft.io/' + props.snapcraftId"
class="link-gnome-snap">Snapcraft</a>
<a target="_blank" v-if="props.flathub && props.flathub.url" :href="props.flathub.url"
<a target="_blank" v-if="(metainfo.flathub && metainfo.flathub.url) || (metainfo.flathub !== false && props.flatpakId)"
:href="(metainfo.flathub && metainfo.flathub.url) ? metainfo.flathub.url : 'https://flathub.org/apps/' + props.flatpakId"
class="link-gnome-flathub">Flathub</a>
<a target="_blank" v-if="props.sisyphus && props.sisyphus.url" :href="props.sisyphus.url"
<a target="_blank" v-if="(metainfo.sisyphus && metainfo.sisyphus.url) || (metainfo.sisyphus !== false && props.sisyphusId)" :href="(metainfo.sisyphus && metainfo.sisyphus.url) ? metainfo.sisyphus.url : 'https://packages.altlinux.org/ru/sisyphus/srpms/' + props.sisyphusId"
class="link-gnome-sisyphus">Сизиф</a>
</div>
</article>
Expand Down Expand Up @@ -113,14 +122,14 @@ import VPImage from 'vitepress/dist/client/theme-default/components/VPImage.vue'
padding-top: 24px;
}
.figure > :deep(.VPImage) {
filter: grayscale(1);
transition: filter 0.25s;
}
.figure> :deep(.VPImage) {
filter: grayscale(1);
transition: filter 0.25s;
}
.AppsWidget:hover .figure > :deep(.VPImage) {
filter: grayscale(0) invert(0);
}
.AppsWidget:hover .figure> :deep(.VPImage) {
filter: grayscale(0) invert(0);
}
.badges {
display: flex;
Expand Down
10 changes: 8 additions & 2 deletions .vitepress/theme/components/AGWCategory.vue
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ defineProps<{
:width="icon.width || 48" />
<div v-else-if="icon" class="icon" v-html="icon"></div>
<div class="title">{{ title }}</div>
<ul v-if="apps">
<ul v-if="apps" class="AGWCategoryNav">
<li v-for="app in apps" :key="app.name">
<VPLink class="AGWCategoryNavLink" :href="app.link" tabindex="0">
{{ app.name }}
Expand Down Expand Up @@ -75,12 +75,18 @@ defineProps<{
margin-bottom: 12px;
}
.AGWCategoryNav {
padding-left: 0;
list-style: none;
line-height: 16px;
}
.AGWCategoryNavLink {
line-height: 24px;
font-size: 14px;
font-weight: 500;
color: var(--vp-c-text-2);
transition: color 0.25s;
text-decoration: none;
}
.AGWCategoryNavLink.active {
Expand Down
71 changes: 5 additions & 66 deletions .vitepress/theme/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@ import type { Options } from '@nolebase/vitepress-plugin-enhanced-readabilities'
import { InjectionKey } from '@nolebase/vitepress-plugin-enhanced-readabilities'
import AGWHomeContents from './components/AGWHomeContents.vue'
import AGWMetaBars from './components/AGWAppsMetaWidget.vue'
import AGWDOCSCategories from './components/AGWDocsCategories.vue'
import AGWCategories from './components/AGWDocsCategories.vue'
import AGWGallery from './components/AGWGallery.vue'

import { locales } from '../../_data/enhanced-readabilities'

import { yandexMetrika } from '@hywax/vitepress-yandex-metrika'

import './style.css'
Expand All @@ -31,77 +33,13 @@ export default {
'nav-bar-content-after': () => h(NolebaseEnhancedReadabilitiesMenu),
'nav-screen-content-after': () => h(NolebaseEnhancedReadabilitiesScreenMenu),
'aside-outline-after': () => h(AGWMetaBars),
'doc-footer-before': () => h(AGWDOCSCategories)
})
},

enhanceApp(ctx) {

ctx.app.provide(InjectionKey, {
locales: {
'ru-RU': {
title: {
title: 'Повышенная читаемость'
},
layoutSwitch: {
title: 'Измените внешний вид страницы',
titleHelpMessage: 'Измените стиль оформления ALT Gnome Wiki, выбирите максимально удобный вариант зависмости от размера вашего экрана и типа устройства.',
optionFullWidth: 'Полноэкранный',
optionFullWidthAriaLabel: 'Полноэкранный',
titleScreenNavWarningMessage: 'Изменить внешний вид страницы недоступен на экране мобильного устройства',
optionFullWidthHelpMessage: 'Боковая панель и область содержимого занимают всю ширину экрана.',
optionSidebarWidthAdjustableOnly: 'Боковая панель с пользовательской настройкой',
optionSidebarWidthAdjustableOnlyAriaLabel: 'Боковая панель с пользовательской настройкой',
optionSidebarWidthAdjustableOnlyHelpMessage: 'Увеличьте ширину боковой панели, максимальная ширина боковой панели может изменяться, но ширина области содержимого останется прежней.',
optionBothWidthAdjustable: 'Полноэрканный с пользовательской настройкой',
optionBothWidthAdjustableAriaLabel: 'Полноэрканный с пользовательской настройкой',
optionBothWidthAdjustableHelpMessage: 'Управляется шириной боковой панели, и шириной содержания документа. Настройте желаемую ширину максимальной ширины боковой панели и содержимого документа.',
optionOriginalWidth: 'Оригинальная ширина',
optionOriginalWidthAriaLabel: 'Оригинальная ширина',
optionOriginalWidthHelpMessage: 'Оригинальная ширина размера страницы, предусмотренная разработчиками VitePress',
pageLayoutMaxWidth: {
title: 'Измените максимальную ширину страницы',
titleAriaLabel: 'Измените максимальную ширину страницы',
titleHelpMessage: 'Отрегулируйте точное значение ширины страницы ALT Gnome Wiki, чтобы адаптироваться к различным потребностям чтения и экранам.',
titleScreenNavWarningMessage: 'Максимальная ширина макета страницы недоступна на экране мобильного устройства.',
slider: 'Отрегулируйте максимальную ширину страницы',
sliderAriaLabel: 'Отрегулируйте максимальную ширину страницы',
sliderHelpMessage: 'Расположенный ползунок, позволяющий пользователю выбирать и настраивать желаемую ширину страницы, может быть изменен в зависимости от размера вашего экрана.',
},
contentLayoutMaxWidth: {
title: 'Измените максимальную ширину содержания',
titleAriaLabel: 'Измените максимальную ширину содержания',
titleHelpMessage: 'Отрегулируйте точное значение ширины содержимого документа в макете ALT Gnome Wiki, чтобы адаптироваться к различным потребностям чтения и экранам.',
titleScreenNavWarningMessage: 'Максимальная ширина макета содержимого недоступна на экране мобильного устройства.',
slider: 'Отрегулируйте максимальную ширину содержимого',
sliderAriaLabel: 'Отрегулируйте максимальную ширину содержимого',
sliderHelpMessage: 'Расположенный ползунок, позволит пользователю выбирать и настраить желаемую ширину содержимого, может быть изменен в зависимости от размера вашего экрана.',
}
},
spotlight: {
title: 'Фокус',
titleAriaLabel: 'Фокус',
titleHelpMessage: 'Выделите строку, на которой в данный момент находится курсор мыши, в содержимом, для удобства пользователей, у которых могут возникнуть трудности с чтением и фокусировкой.',
titleScreenNavWarningMessage: 'Фокус недоступен на экране мобильного устройства.',
optionOn: 'Включить',
optionOnAriaLabel: 'Включить',
optionOnHelpMessage: 'Включите фокус.',
optionOff: 'Выключить',
optionOffAriaLabel: 'Выключить',
optionOffHelpMessage: 'Выключите фокус.',
styles: {
title: 'Стиль фокуса',
titleHelpMessage: 'Измените стиль фокуса(подсветки)',
optionUnder: 'Under',
optionUnderAriaLabel: 'Under',
optionUnderHelpMessage: 'Добавьте сплошной цвет фона под зависающим элементом, чтобы выделить место, где в данный момент находится курсор',
optionAside: 'Aside',
optionAsideAriaLabel: 'Aside',
optionAsideHelpMessage: 'Добавьте фиксированную линию сплошным цветом в сторону элемента наведения курсора, чтобы выделить место, где в данный момент находится курсор'
}
}
}
}
locales: locales
} as Options)

yandexMetrika(ctx, {
Expand All @@ -112,6 +50,7 @@ export default {
},
}),
ctx.app.component('AGWGallery', AGWGallery);
ctx.app.component('AGWCategories', AGWCategories)
},
setup() {
// Get route
Expand Down

0 comments on commit d8f4d44

Please sign in to comment.