+
{{ props.title }}
+
+
+
+
-
-
{{ props.title }}
-
-
-
-
-
-
-
Разработчик
-
{{ props.developer?.name }}
-
- {{ props.developer?.nickname }}
-
-
-
-
+
+
Разработчик
+
+ {{ props.developer?.name }}
+
+ {{ props.developer?.nickname }}
+
+
-
-
-
+
+
+
+
+
\ No newline at end of file
+
diff --git a/.vitepress/theme/components/AKWGallery.vue b/.vitepress/theme/components/AKWGallery.vue
index a0c5008..729520c 100644
--- a/.vitepress/theme/components/AKWGallery.vue
+++ b/.vitepress/theme/components/AKWGallery.vue
@@ -10,31 +10,33 @@ const route = useRoute()
const params = defineProps(['id'])
const props = computed(() => {
- if (!frontmatter.value.gallery) {
- return
- }
-
- const { title, type, lazy, images } = frontmatter.value.gallery[params.id]
- const gallery = []
+ if (!frontmatter.value.gallery) {
+ return
+ }
- if (images) {
- for (let src of Object.keys(images)){
- gallery.push({...images[src], ...{'src': assetImage(src, route.path) }})
- }
-
- }
+ const { title, type, lazy, images } = frontmatter.value.gallery[params.id]
+ const gallery = []
- return {
- title: title,
- type: type,
- gallery: gallery,
- lazy: lazy,
+ if (images) {
+ for (let src of Object.keys(images)) {
+ gallery.push({ ...images[src], ...{ src: assetImage(src, route.path) } })
}
+ }
+
+ return {
+ title: title,
+ type: type,
+ gallery: gallery,
+ lazy: lazy
+ }
})
-
-
-
-
\ No newline at end of file
+
+
+
diff --git a/.vitepress/theme/components/AKWHomeSponsors.vue b/.vitepress/theme/components/AKWHomeSponsors.vue
index 9d401a8..df85b57 100644
--- a/.vitepress/theme/components/AKWHomeSponsors.vue
+++ b/.vitepress/theme/components/AKWHomeSponsors.vue
@@ -1,24 +1,22 @@
-
-
\ No newline at end of file
+
+
diff --git a/.vitepress/theme/components/AKWHomeTeam.vue b/.vitepress/theme/components/AKWHomeTeam.vue
index 5efbe4e..7176dc6 100644
--- a/.vitepress/theme/components/AKWHomeTeam.vue
+++ b/.vitepress/theme/components/AKWHomeTeam.vue
@@ -1,33 +1,26 @@
-
-
-
- Участники
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+ Участники
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.vitepress/theme/components/AKWHomeTeamButton.vue b/.vitepress/theme/components/AKWHomeTeamButton.vue
index d50ed36..ff996e9 100644
--- a/.vitepress/theme/components/AKWHomeTeamButton.vue
+++ b/.vitepress/theme/components/AKWHomeTeamButton.vue
@@ -1,7 +1,7 @@
-
-
-
+
+
+
\ No newline at end of file
+
diff --git a/.vitepress/theme/components/AKWHomeTeamMembers.vue b/.vitepress/theme/components/AKWHomeTeamMembers.vue
index 4051073..d291bdf 100644
--- a/.vitepress/theme/components/AKWHomeTeamMembers.vue
+++ b/.vitepress/theme/components/AKWHomeTeamMembers.vue
@@ -1,8 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/.vitepress/theme/components/AKWTeamLoader.vue b/.vitepress/theme/components/AKWTeamLoader.vue
index 1c740d5..9231ae1 100644
--- a/.vitepress/theme/components/AKWTeamLoader.vue
+++ b/.vitepress/theme/components/AKWTeamLoader.vue
@@ -39,7 +39,7 @@ const random_placeholder = loading_placeholders[Math.floor(Math.random()*loading
max-width: 1152px;
background: var(--vp-c-bg-soft);
border-radius: 10px;
-}
+}
@media only screen and (max-width: 1024px) {
.AKWSpiner .container {
@@ -48,4 +48,4 @@ const random_placeholder = loading_placeholders[Math.floor(Math.random()*loading
}
}
-
\ No newline at end of file
+
diff --git a/.vitepress/theme/components/AKWTeamPage.vue b/.vitepress/theme/components/AKWTeamPage.vue
index af8b51c..68f256f 100644
--- a/.vitepress/theme/components/AKWTeamPage.vue
+++ b/.vitepress/theme/components/AKWTeamPage.vue
@@ -1,38 +1,33 @@
-
-
-
+
+
+
{{ frontmatter.longtitle }}
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
\ No newline at end of file
+
diff --git a/.vitepress/theme/components/AKWTeamPageMembers.vue b/.vitepress/theme/components/AKWTeamPageMembers.vue
index d61d11f..f1ef1fc 100644
--- a/.vitepress/theme/components/AKWTeamPageMembers.vue
+++ b/.vitepress/theme/components/AKWTeamPageMembers.vue
@@ -1,9 +1,8 @@
-
-
-
\ No newline at end of file
+
+
diff --git a/.vitepress/theme/composables/asidemeta.ts b/.vitepress/theme/composables/asidemeta.ts
index 7e79630..84d2f96 100644
--- a/.vitepress/theme/composables/asidemeta.ts
+++ b/.vitepress/theme/composables/asidemeta.ts
@@ -1,55 +1,50 @@
import { isValidUrl } from './link'
export const getLists = (data: {}, labels: {}) => {
+ if (!data) return []
- if (!data) return []
+ const _data = []
- const _data = []
+ Object.entries(data).forEach(([key, value]) => {
+ _data[key] =
+ typeof value !== 'string'
+ ? Object.assign({}, { label: labels[key] }, value)
+ : { label: labels[key], link: value }
+ })
- Object.entries(data).forEach(([key, value]) => {
- _data[key] = typeof value !== 'string'
- ? Object.assign({}, { label: labels[key] }, value)
- : { label: labels[key], link: value }
- })
-
- return { ..._data }
+ return { ..._data }
}
export const getLinks = (data: any, config: {}) => {
+ if (!data) return
- if (!data) return
-
- const _data = []
+ const _data = []
- Object.entries(data).forEach(([key, value]) => {
- (value && config[key]) ?
- _data[key] = Object.assign({}, { id: value?.id ?? value }, config[key])
- : {}
- })
+ Object.entries(data).forEach(([key, value]) => {
+ value && config[key] ? (_data[key] = Object.assign({}, { id: value?.id ?? value }, config[key])) : {}
+ })
- return Object.assign({}, _data)
+ return Object.assign({}, _data)
}
export const getKeywords = (data: Record
, config: Record) => {
- if (!data) return;
+ if (!data) return
- const _data: Record = {};
+ const _data: Record = {}
- Object.values(data).forEach((value: string) => {
- if (value && config[value]) {
- _data[value] = config[value];
- }
- });
+ Object.values(data).forEach((value: string) => {
+ if (value && config[value]) {
+ _data[value] = config[value]
+ }
+ })
- return _data;
-};
+ return _data
+}
export const getLicence = (data: any) => {
+ if (!data) return {}
- if (!data) return {}
-
- return {
- metadata_license: data
- }
-
-}
\ No newline at end of file
+ return {
+ metadata_license: data
+ }
+}
diff --git a/.vitepress/theme/composables/data.ts b/.vitepress/theme/composables/data.ts
index 2d9e04a..513b2c5 100644
--- a/.vitepress/theme/composables/data.ts
+++ b/.vitepress/theme/composables/data.ts
@@ -1,4 +1,4 @@
import { useData as useData$ } from 'vitepress'
import type { DefaultTheme } from 'vitepress/theme'
-export const useData: typeof useData$ = useData$
\ No newline at end of file
+export const useData: typeof useData$ = useData$
diff --git a/.vitepress/theme/composables/git/stats.js b/.vitepress/theme/composables/git/stats.js
index 2d61595..7872327 100644
--- a/.vitepress/theme/composables/git/stats.js
+++ b/.vitepress/theme/composables/git/stats.js
@@ -1,108 +1,114 @@
-import { Octokit } from "@octokit/core";
-import { contributions, leader_name } from '../../../data/team';
+import { Octokit } from '@octokit/core'
+import { contributions, leader_name } from '../../../data/team'
import { gitMapContributors } from '../../../data/gitlog'
+export async function getContributors(key, owner, repo, autosearch) {
+ if (!key) return contributions
+ if (!owner) return contributions
+ if (!repo) return contributions
-export async function getContributors(key, owner, repo, autosearch){
- if (!key) return contributions
- if (!owner) return contributions
- if (!repo) return contributions
+ const octokit = new Octokit({
+ auth: key
+ })
- const octokit = new Octokit({
- auth: key
+ const contributorsRawBase = await octokit
+ .request('GET /repos/{owner}/{repo}/stats/contributors', {
+ owner: owner,
+ repo: repo,
+ headers: {
+ 'X-GitHub-Api-Version': '2022-11-28'
+ }
+ })
+ .then((response) => {
+ return response.data
})
- const contributorsRawBase = await octokit.request('GET /repos/{owner}/{repo}/stats/contributors', {
- owner: owner,
- repo: repo,
- headers: {
- 'X-GitHub-Api-Version': '2022-11-28'
- }
- }).then( response => { return response.data })
-
- const userGetMore = async (user) => {
- return await octokit.request('GET /users/{user}', {
- user: user,
- headers: {
- 'X-GitHub-Api-Version': '2022-11-28'
- }
- })
- }
+ const userGetMore = async (user) => {
+ return await octokit.request('GET /users/{user}', {
+ user: user,
+ headers: {
+ 'X-GitHub-Api-Version': '2022-11-28'
+ }
+ })
+ }
- const contributors = []
+ const contributors = []
- if (contributorsRawBase && contributorsRawBase != {} ){
+ if (contributorsRawBase && contributorsRawBase != {}) {
+ for (const contributorRaw of contributorsRawBase) {
+ // Внутри forEach нельзя вызывать await
- for (const contributorRaw of contributorsRawBase) { // Внутри forEach нельзя вызывать await
+ const { author, total, weeks } = contributorRaw
+
+ const contributor = {
+ login: author.login,
+ name: autosearch
+ ? await userGetMore(author.login).then((response) => {
+ return response.data.name
+ })
+ : author.login,
+ title: autosearch ? 'Участник' : false,
+ links: autosearch ? [{ icon: 'github', link: author.html_url }] : false,
+ avatar: author.avatar_url,
+ commits: total,
+ additions: 0
+ }
- const { author, total, weeks } = contributorRaw
+ // Считаем изменения
+ weeks.forEach((week) => {
+ contributor.additions += week.a
+ })
- const contributor = {
- login: author.login,
- name: autosearch ? await userGetMore(author.login).then( response => { return response.data.name }) : author.login,
- title: autosearch ? "Участник" : false,
- links: autosearch ? [
- { icon: 'github', link: author.html_url },
- ] : false,
- avatar: author.avatar_url,
- commits: total,
- additions: 0
+ // Ищем имя для сайта по нику гита
+ gitMapContributors.forEach((gitContributor) => {
+ if (gitContributor.nameAliases.includes(contributor.login)) {
+ contributor.name = gitContributor.name
}
-
- // Считаем изменения
- weeks.forEach( week => {
- contributor.additions += week.a
- })
-
- // Ищем имя для сайта по нику гита
- gitMapContributors.forEach( gitContributor => {
- if (gitContributor.nameAliases.includes(contributor.login)) {
- contributor.name = gitContributor.name
- }
- })
- // По имени достаем остальные параметры для сайта по нику
- contributions.forEach( siteContributor => {
- if(siteContributor.name == contributor.name){
- Object.keys(siteContributor).forEach( key => {
- contributor[key] = siteContributor[key]
- })
- }
- })
- if ( contributor.name && contributor.title ) {
- contributors.push(contributor)
+ })
+ // По имени достаем остальные параметры для сайта по нику
+ contributions.forEach((siteContributor) => {
+ if (siteContributor.name == contributor.name) {
+ Object.keys(siteContributor).forEach((key) => {
+ contributor[key] = siteContributor[key]
+ })
}
+ })
+ if (contributor.name && contributor.title) {
+ contributors.push(contributor)
}
-
- return contributors
-
- } else {
-
- return contributions
-
}
+
+ return contributors
+ } else {
+ return contributions
+ }
}
-export function filterContributors(contributors, filter_type){
- contributors = (filter_type.includes("commits")) ? contributors.sort((a, b) => (-a.commits) - (-b.commits)) : contributors
- contributors = (filter_type.includes("additions")) ? contributors.sort((a, b) => (-a.additions) - (-b.additions)) : contributors
+export function filterContributors(contributors, filter_type) {
+ contributors = filter_type.includes('commits')
+ ? contributors.sort((a, b) => -a.commits - -b.commits)
+ : contributors
+ contributors = filter_type.includes('additions')
+ ? contributors.sort((a, b) => -a.additions - -b.additions)
+ : contributors
- if (filter_type.includes("role")){
- contributors.forEach( contributor => {
- if (contributor.title.includes('Разработчик')){
- contributors = contributors.sort((x,y) => {
- return x == contributor ? -1 : y == contributor ? 1 : 0;
- });
+ if (filter_type.includes('role')) {
+ contributors.forEach((contributor) => {
+ if (contributor.title.includes('Разработчик')) {
+ contributors = contributors.sort((x, y) => {
+ return x == contributor ? -1 : y == contributor ? 1 : 0
+ })
}
})
- contributors.forEach( contributor => {
- if (contributor.name.includes(leader_name)){
- contributors = contributors.sort((x,y) => {
- return x == contributor ? -1 : y == contributor ? 1 : 0;
- });
+ contributors.forEach((contributor) => {
+ if (contributor.name.includes(leader_name)) {
+ contributors = contributors.sort((x, y) => {
+ return x == contributor ? -1 : y == contributor ? 1 : 0
+ })
}
})
}
return contributors
-}
+}
diff --git a/.vitepress/theme/composables/image.ts b/.vitepress/theme/composables/image.ts
index 034ee09..f7ea63e 100644
--- a/.vitepress/theme/composables/image.ts
+++ b/.vitepress/theme/composables/image.ts
@@ -1,11 +1,10 @@
import { isValidUrl } from './link'
export const assetImage = (url: string, path: string) => {
-
+
if (!url) return
if (isValidUrl(url) != false) return url
return (url.slice(0, 2) === './') ? new URL(`/${path.slice(1) + url.slice(2)}`, import.meta.url).href : url
}
-
diff --git a/.vitepress/theme/composables/link.ts b/.vitepress/theme/composables/link.ts
index a4f05d1..616ea50 100644
--- a/.vitepress/theme/composables/link.ts
+++ b/.vitepress/theme/composables/link.ts
@@ -1,12 +1,14 @@
export const isValidUrl = (urlString: string) => {
- const urlPattern = new RegExp('^(https?:\\/\\/)?'+
- '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+
- '((\\d{1,3}\\.){3}\\d{1,3}))'+
- '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+
- '(\\?[;&a-z\\d%_.~+=-]*)?'+
- '(\\#[-a-z\\d_]*)?$','i');
- return !!urlPattern.test(urlString);
- }
-
+ const urlPattern = new RegExp(
+ '^(https?:\\/\\/)?' +
+ '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' +
+ '((\\d{1,3}\\.){3}\\d{1,3}))' +
+ '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' +
+ '(\\?[;&a-z\\d%_.~+=-]*)?' +
+ '(\\#[-a-z\\d_]*)?$',
+ 'i'
+ )
+ return !!urlPattern.test(urlString)
+}
- export const getDomainName = (url: any) => url.match(/\/\/([^/]+)\//)[1].replace('www.', '');
\ No newline at end of file
+export const getDomainName = (url: any) => url.match(/\/\/([^/]+)\//)[1].replace('www.', '')
diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts
index 5b5f092..7559db0 100644
--- a/.vitepress/theme/index.ts
+++ b/.vitepress/theme/index.ts
@@ -1,7 +1,7 @@
// https://vitepress.dev/guide/custom-theme
import { h } from 'vue'
import type { Theme } from 'vitepress'
-import {defineClientComponent} from 'vitepress'
+import { defineClientComponent } from 'vitepress'
import DefaultTheme from 'vitepress/theme'
import AKWTeamPage from './components/AKWTeamPage.vue'
@@ -12,20 +12,15 @@ import VueSilentbox from 'vue-silentbox'
import {
NolebaseEnhancedReadabilitiesMenu,
- NolebaseEnhancedReadabilitiesScreenMenu,
+ NolebaseEnhancedReadabilitiesScreenMenu
} from '@nolebase/vitepress-plugin-enhanced-readabilities'
import type { Options } from '@nolebase/vitepress-plugin-enhanced-readabilities'
import { InjectionKey } from '@nolebase/vitepress-plugin-enhanced-readabilities'
import { enhanceAppWithTabs } from 'vitepress-plugin-tabs/client'
-import {
- NolebaseGitChangelogPlugin
-} from '@nolebase/vitepress-plugin-git-changelog/client'
+import { NolebaseGitChangelogPlugin } from '@nolebase/vitepress-plugin-git-changelog/client'
-import {
- gitLocales,
- gitMapContributors
-} from '../data/gitlog'
+import { gitLocales, gitMapContributors } from '../data/gitlog'
import { lexiconEnhancedReadabilities } from './lexicon/enhanced-readabilities'
@@ -43,11 +38,8 @@ export default {
return h(DefaultTheme.Layout, null, {
'nav-bar-content-after': () => h(NolebaseEnhancedReadabilitiesMenu),
'nav-screen-content-after': () => h(NolebaseEnhancedReadabilitiesScreenMenu),
- 'home-features-after': () => [
- h(AKWHomeTeam),
- h(AKWHomeSponsors)
- ],
- 'aside-outline-after': () => h(defineClientComponent(() => import('./components/AKWDocsAsideMeta.vue'))),
+ 'home-features-after': () => [h(AKWHomeTeam), h(AKWHomeSponsors)],
+ 'aside-outline-after': () => h(defineClientComponent(() => import('./components/AKWDocsAsideMeta.vue')))
})
},
enhanceApp(ctx) {
@@ -55,16 +47,16 @@ export default {
locales: lexiconEnhancedReadabilities
} as Options)
enhanceAppWithTabs(ctx.app)
- ctx.app.component('contribution', AKWTeamPage);
+ ctx.app.component('contribution', AKWTeamPage)
ctx.app.use(VueSilentbox, {
- downloadButtonLabel: "Скачать 📥"
- });
- ctx.app.component('Gallery', AKWGallery);
- ctx.app.use(NolebaseGitChangelogPlugin, {locales: gitLocales, mapContributors: gitMapContributors})
+ downloadButtonLabel: 'Скачать 📥'
+ })
+ ctx.app.component('Gallery', AKWGallery)
+ ctx.app.use(NolebaseGitChangelogPlugin, { locales: gitLocales, mapContributors: gitMapContributors })
yandexMetrika(ctx, {
counter: {
id: config.yaMetrikaId
- },
+ }
})
- },
+ }
} satisfies Theme
diff --git a/.vitepress/theme/lexicon/enhanced-readabilities.ts b/.vitepress/theme/lexicon/enhanced-readabilities.ts
index d641abd..fd4754b 100644
--- a/.vitepress/theme/lexicon/enhanced-readabilities.ts
+++ b/.vitepress/theme/lexicon/enhanced-readabilities.ts
@@ -1,64 +1,78 @@
export const lexiconEnhancedReadabilities = {
- 'ru-RU': {
- title: {
- title: 'Повышенная читаемость'
+ '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:
+ 'Расположенный ползунок, позволяющий пользователю выбирать и настраивать желаемую ширину страницы, может быть изменен в зависимости от размера вашего экрана.'
},
- 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: 'Добавьте фиксированную линию сплошным цветом в сторону элемента наведения курсора, чтобы выделить место, где в данный момент находится курсор'
- }
+ 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:
+ 'Добавьте фиксированную линию сплошным цветом в сторону элемента наведения курсора, чтобы выделить место, где в данный момент находится курсор'
}
}
-}
\ No newline at end of file
+ }
+}
diff --git a/.vitepress/theme/styles/custom.css b/.vitepress/theme/styles/custom.css
index dd1d4cd..bc6636d 100644
--- a/.vitepress/theme/styles/custom.css
+++ b/.vitepress/theme/styles/custom.css
@@ -5,7 +5,6 @@
* -------------------------------------------------------------------------- */
:root {
-
--vp-c-blue: #316f98;
--vp-c-blue-light: #457da2;
--vp-c-blue-lighter: #6e9ab6;
@@ -15,7 +14,7 @@
--vp-c-blue-dimm-2: rgba(49, 111, 152, 0.2);
--vp-c-blue-dimm-3: rgba(49, 111, 152, 0.5);
- --vp-c-green: #20C996;
+ --vp-c-green: #20c996;
--vp-c-green-light: #36cea0;
--vp-c-green-lighter: #62d9b5;
--vp-c-green-dark: #1cb487;
@@ -33,7 +32,6 @@
--vp-c-yellow-dimm-2: rgba(255, 193, 7, 0.2);
--vp-c-yellow-dimm-3: rgba(255, 193, 7, 0.5);
-
--vp-c-red: #dc3545;
--vp-c-red-light: #df4957;
--vp-c-red-lighter: #e6717c;
@@ -71,18 +69,13 @@
:root {
--vp-home-hero-name-color: transparent;
- --vp-home-hero-name-background: -webkit-linear-gradient(120deg,
- #20C996 30%,
- #1d99f3);
+ --vp-home-hero-name-background: -webkit-linear-gradient(120deg, #20c996 30%, #1d99f3);
- --vp-home-hero-image-background-image: linear-gradient(-45deg,
- #20C996 50%,
- #1d99f3 50%);
+ --vp-home-hero-image-background-image: linear-gradient(-45deg, #20c996 50%, #1d99f3 50%);
--vp-home-hero-image-filter: blur(40px);
}
@media (min-width: 960px) {
-
:root {
--vp-home-hero-image-filter: blur(72px);
--vp-nav-logo-height: 36px;
@@ -120,18 +113,20 @@
kbd {
border: 1px solid var(--vp-c-border);
- box-shadow: var(--vp-c-gray-soft) 0px 1px 1px 0px, var(--vp-c-neutral-inverse) 0px 1px 0px 0px inset;
+ box-shadow:
+ var(--vp-c-gray-soft) 0px 1px 1px 0px,
+ var(--vp-c-neutral-inverse) 0px 1px 0px 0px inset;
background-color: var(--vp-c-gray-soft);
border-radius: 3px;
display: inline-block;
- margin: 0 .2em;
+ margin: 0 0.2em;
overflow-wrap: break-word;
- padding: .1em .6em;
+ padding: 0.1em 0.6em;
text-shadow: 0 1px 0 var(--vp-c-white);
}
:root {
- --vp-nav-logo-height: 36px
+ --vp-nav-logo-height: 36px;
}
/**
@@ -170,8 +165,8 @@ kbd {
/**
* implicitFigures
* -------------------------------------------------------------------------- */
-figure>figcaption {
+figure > figcaption {
text-align: center;
color: var(--vp-c-brand-lighter);
font-size: 14px;
-}
\ No newline at end of file
+}
diff --git a/.vitepress/theme/styles/style.css b/.vitepress/theme/styles/style.css
index bec1657..33033e3 100644
--- a/.vitepress/theme/styles/style.css
+++ b/.vitepress/theme/styles/style.css
@@ -8,7 +8,7 @@
*
* Each colors have exact same color scale system with 3 levels of solid
* colors with different brightness, and 1 soft color.
- *
+ *
* - `XXX-1`: The most solid color used mainly for colored text. It must
* satisfy the contrast ratio against when used on top of `XXX-soft`.
*
@@ -43,7 +43,7 @@
* in custom container, badges, etc.
* -------------------------------------------------------------------------- */
- :root {
+:root {
--vp-c-default-1: var(--vp-c-gray-1);
--vp-c-default-2: var(--vp-c-gray-2);
--vp-c-default-3: var(--vp-c-gray-3);
@@ -92,17 +92,9 @@
:root {
--vp-home-hero-name-color: transparent;
- --vp-home-hero-name-background: -webkit-linear-gradient(
- 120deg,
- #bd34fe 30%,
- #41d1ff
- );
-
- --vp-home-hero-image-background-image: linear-gradient(
- -45deg,
- #bd34fe 50%,
- #47caff 50%
- );
+ --vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe 30%, #41d1ff);
+
+ --vp-home-hero-image-background-image: linear-gradient(-45deg, #bd34fe 50%, #47caff 50%);
--vp-home-hero-image-filter: blur(44px);
}
@@ -140,6 +132,7 @@
/**
* Component: GitChangeLog
* -------------------------------------------------------------------------- */
- .bg-\$vp-custom-block-details-bg, .bg-vp-custom-block-details-bg{
+.bg-\$vp-custom-block-details-bg,
+.bg-vp-custom-block-details-bg {
background-color: var(--vp-c-gray-3) !important;
-}
\ No newline at end of file
+}
diff --git a/.vitepress/utils.ts b/.vitepress/utils.ts
index b5cb40c..3865da7 100644
--- a/.vitepress/utils.ts
+++ b/.vitepress/utils.ts
@@ -1,4 +1,4 @@
export const HASH_RE = /#.*$/
export const EXT_RE = /(index)?\.(md|html)$/
-export const normalize = (path: string): string => decodeURI(path).replace(HASH_RE, '').replace(EXT_RE, '');
\ No newline at end of file
+export const normalize = (path: string): string => decodeURI(path).replace(HASH_RE, '').replace(EXT_RE, '')
diff --git a/.yaspeller/apps&companies.json b/.yaspeller/apps&companies.json
index 7f9755a..be94e0b 100644
--- a/.yaspeller/apps&companies.json
+++ b/.yaspeller/apps&companies.json
@@ -1,129 +1,12 @@
[
- "(GSC|gsc)onnect",
- "[Aa]lacarte",
- "[Aa]ni[Ll]ibrix",
- "[Ee]asy[Ee]ffects",
"[Ee]e?pm",
+ "VitePress",
"[Ff]latpak",
- "[Ff]latseal",
- "[Ff]oliate",
- "[Ff]otema",
- "[Gg]aphor",
- "[Gg]rapejuice",
- "[Kk]ooha",
- "[Ll]ibre[Ww]olf",
- "[Mm]industry",
- "[Nn]eovim",
- "[Oo]nly[Oo]ffice",
- "[Oo]pen[Rr]azer",
- "[Pp]ipe[Ww]ire",
- "[Pp]olari",
- "[Rr]note",
- "[Tt]ext[Pp]ieces",
- "[Tt]uba",
- "[Uu]ngoogled",
- "[Vv]esktop",
- "[Ww]ike",
- "[Xx]eyes",
- "анимаций",
- "Видеотриммер",
- "зелёный",
- "медиаплатформа",
- "МойОфис",
- "подами",
- "хеши",
- "AGWCategories",
- "AGWGallery",
- "ALT Gnome",
- "app",
- "AppIndicators",
- "arduinoide",
- "audiosharing",
- "BaseALT",
- "BDF",
- "Biblioteca",
- "blast2",
- "Blender",
- "boxy",
- "cassette",
- "celluloid",
- "cli",
- "Client",
- "CommonMark",
- "Cost",
- "CSS",
- "Date",
- "desktopclient",
- "desktopeditors",
- "desrt",
- "devhelp",
- "Dialect",
- "discord",
- "DNOME",
- "eog",
- "Erekir",
- "figma",
- "FiraCode",
- "Flatpak",
- "Fullscreen",
- "g4music",
- "getpostman",
- "GFM",
- "GnomeAppsList",
- "GoToSocial",
- "gpu",
- "graphs",
- "gregorni",
- "GTK4",
- "Helvum",
- "hw-probe",
- "IDE",
- "keyd",
- "Krita",
- "liferooter",
- "LLC",
- "LTS",
- "Lutris",
- "macOS",
- "MetadataCleaner",
- "mts",
- "name",
- "Neofetch",
- "nextcloud",
- "Nextcloud",
- "obsidian",
- "OLEG",
- "OpenCore",
- "Pika",
- "pin(-app)?",
- "Podman(Desktop)?",
- "PortProton",
- "ProtonLG",
- "q-bittorrent",
- "RAAML",
- "rog",
- "Ryzen",
- "Serpulo",
- "SHCHAVELEV",
- "Snaps",
- "snapshot",
- "software",
- "sonic3",
"Steam Play",
- "svg",
- "Tantros",
- "TextEditor",
- "totem",
- "transmissionbt",
- "USBGuard",
- "Vala",
- "Viber",
- "VideoTrimmer",
- "Vimscript",
- "VitePress",
- "Vivaldi",
- "vscode",
- "WebfontKitGenerator",
- "wpsoffice",
- "ZeroTierOne"
+ "calligraplan",
+ "[Pp]lasma[Tt]ube",
+ "[Kk]iten",
+ "[Kk]ee[Pp]ass(XC|xc)",
+ "Chromium-GOST",
+ "Arianna"
]
diff --git a/.yaspeller/frontmatter.json b/.yaspeller/frontmatter.json
index abafb16..fe51488 100644
--- a/.yaspeller/frontmatter.json
+++ b/.yaspeller/frontmatter.json
@@ -1,13 +1 @@
-[
- "avatar",
- "bolt",
- "createdAt",
- "dontthemes",
- "icon",
- "lastUpdated",
- "link",
- "logo",
- "packageName",
- "pluginID",
- "progress"
-]
+[]
diff --git a/.yaspeller/names.json b/.yaspeller/names.json
index 9f22be7..51570cf 100644
--- a/.yaspeller/names.json
+++ b/.yaspeller/names.json
@@ -1,34 +1 @@
-[
- "[Bb]ytezz?",
- "[Kk]etok",
- "Adhami",
- "alexkdeveloper",
- "blissd",
- "Brendan",
- "Dynalist",
- "Evan",
- "flattool",
- "Forster",
- "Greg Ross",
- "johnfactotum",
- "Khaleel",
- "kra-mo",
- "libretro",
- "Martz",
- "Matt",
- "Mikhail",
- "Muse",
- "neithern",
- "nokyan",
- "OBS Project",
- "Paterakis",
- "pavloniym",
- "Philipp",
- "Povliuk",
- "Radolyn",
- "Rirusha",
- "ryuukyu",
- "SeaDve",
- "Tergoev",
- "wwmm"
-]
+["OLEG", "SHCHAVELEV"]
diff --git a/README.md b/README.md
index 604eff3..d9e4830 100644
--- a/README.md
+++ b/README.md
@@ -1,20 +1,21 @@
-
-
-
-
+
+
+
+
ALT KDE Wiki
-
+
База знаний открытого сообщества пользователей операционной системы ALT Regular KDE.
-
-
-
+
+
+
## Разработка
+
Перед запуском проекта убедитесь, что у вас установелны необходимые компоненты
```
@@ -34,7 +35,7 @@ npm run docs:dev
### Включение динамической сортировки участников на главной странице
-Для работы функции требуется создать `read-only` токен GitHub
+Для работы функции требуется создать `read-only` токен GitHub
(Оффициальный REST API GitHub не предоставляет данные об активности в репозитории без авторизации.
Поэтому для использования данного функционала требуется ключ с правом на чтение публичных репозиториев)
@@ -62,17 +63,19 @@ VITE_GIT_KEY="{ваш токен}"
- homeTopLimit - Лимит отображаемых пользователей на главной странице
- home_filter_type - Тип сортировки пользователей на главной странице
- page_filter_type - Тип сортировки пользователей на странице команды
+
1. 'additions' - по количеству добавленых в репозиторий строк
2. 'commits' - по количеству коммитов в репозиторий
3. 'role+additions' - по роли участника (Разработчик -> Участник) и количеству добавленых в репозиторий строк
4. 'role+commits' - по роли участника (Разработчик -> Участник) и количеству коммитов
+
- enable_autosearch - Включено/выключено автозаполнение перечня участников из статистики
- loading_placeholders - Массив с возможными выводами у спиннера загрузки виджета
-
-
## Зеркало
+
Вся документация из этого репозитория размещается на сайте [alt-kde.wiki](https://alt-kde.wiki/) автоматически.
## Лицензия
+
MIT Copyright © 2023-present OLEG SHCHAVELEV
diff --git a/docs/apps/_parts/install/content-epm-play.md b/docs/apps/_parts/install/content-epm-play.md
index c5d9ffb..923ea0b 100644
--- a/docs/apps/_parts/install/content-epm-play.md
+++ b/docs/apps/_parts/install/content-epm-play.md
@@ -1,7 +1,7 @@
-## Установка c помощью epm play
+## Установка c помощью epm play
При наличии пакета [eepm](/package-manager/epm/), можно установить **{{$frontmatter?.appstream?.name}}** одной командой:
```shell-vue
epm play {{$frontmatter.aggregation?.epm?.play?.id ?? $frontmatter.aggregation?.epm?.play}}
-```
\ No newline at end of file
+```
diff --git a/docs/apps/_parts/install/content-flatpak.md b/docs/apps/_parts/install/content-flatpak.md
index 29cc208..77e10b4 100644
--- a/docs/apps/_parts/install/content-flatpak.md
+++ b/docs/apps/_parts/install/content-flatpak.md
@@ -1,4 +1,4 @@
-## Установка с помощью Flatpak
+## Установка с помощью Flatpak
При наличии пакета [Flatpak](/package-manager/flatpak/), можно установить **{{ $frontmatter?.appstream?.name }}** одной командой:
diff --git a/docs/apps/_parts/install/content-repo.md b/docs/apps/_parts/install/content-repo.md
index 2db61c2..3dc632b 100644
--- a/docs/apps/_parts/install/content-repo.md
+++ b/docs/apps/_parts/install/content-repo.md
@@ -13,7 +13,9 @@ su -
apt-get update
apt-get install {{ $frontmatter?.aggregation?.sisyphus.id ?? $frontmatter?.aggregation?.sisyphus }}
```
+
```shell-vue[epm]
epm -i {{ $frontmatter?.aggregation?.sisyphus.id ?? $frontmatter?.aggregation?.sisyphus }}
```
-:::
\ No newline at end of file
+
+:::
diff --git a/docs/apps/_parts/install/software-flatpak.md b/docs/apps/_parts/install/software-flatpak.md
index 1cd618e..928cc92 100644
--- a/docs/apps/_parts/install/software-flatpak.md
+++ b/docs/apps/_parts/install/software-flatpak.md
@@ -1,3 +1,3 @@
:::tip Или с помощью Discover :thinking:
Перейдите по ссылке для установки {{ $frontmatter?.appstream?.name }} , затем в браузере подтвердите операцию «открыть приложение». После этого откроется Discover, выберите в нём источник **«Flathub»** и нажмите кнопку «скачать»
-:::
\ No newline at end of file
+:::
diff --git a/docs/apps/_parts/install/software-repo.md b/docs/apps/_parts/install/software-repo.md
index f835bc3..38ca9db 100644
--- a/docs/apps/_parts/install/software-repo.md
+++ b/docs/apps/_parts/install/software-repo.md
@@ -2,4 +2,4 @@
:::info В три клика :blush:
Перейдите по ссылке установить {{ $frontmatter.title }} и подтвердите в браузере операцию «открыть приложение» Откроется Discover, выберите в нём источник **«Sisyphus»**, и нажмите кнопку «скачать»
-:::
\ No newline at end of file
+:::
diff --git a/docs/apps/arianna/index.md b/docs/apps/arianna/index.md
index 28e1e79..f74b911 100644
--- a/docs/apps/arianna/index.md
+++ b/docs/apps/arianna/index.md
@@ -1,28 +1,28 @@
---
title: Arianna
aggregation:
- flatpak: org.kde.arianna
+ flatpak: org.kde.arianna
appstream:
- id: org.kde.arianna
- name: Arianna
- icon: ./img/org.kde.arianna.svg
- summary: Приложение для чтения электронных книг и управления библиотекой.
- keywords:
- - kdedeveloped
- developer:
- name: KDE Community
- metadata_license:
- name: GNU GPLv3
- link: https://choosealicense.com/licenses/gpl-3.0/
- url:
- homepage: https://apps.kde.org/ru/arianna/
- bugtracker: https://bugs.kde.org/enter_bug.cgi?product=Arianna
+ id: org.kde.arianna
+ name: Arianna
+ icon: ./img/org.kde.arianna.svg
+ summary: Приложение для чтения электронных книг и управления библиотекой.
+ keywords:
+ - kdedeveloped
+ developer:
+ name: KDE Community
+ metadata_license:
+ name: GNU GPLv3
+ link: https://choosealicense.com/licenses/gpl-3.0/
+ url:
+ homepage: https://apps.kde.org/ru/arianna/
+ bugtracker: https://bugs.kde.org/enter_bug.cgi?product=Arianna
---
# Arianna
-Arianna — приложение для чтения электронных книг и управления библиотекой с поддержкой файлов «.epub». Arianna автоматически обнаруживает книги и сортирует их по категориям, жанрам и авторам.
+Arianna — приложение для чтения электронных книг и управления библиотекой с поддержкой файлов `.epub`. Arianna автоматически обнаруживает книги и сортирует их по категориям, жанрам и авторам.
![Скриншот программы](https://cdn.kde.org/screenshots/arianna/library-view.png)
-
\ No newline at end of file
+
diff --git a/docs/apps/cryptopro/index.md b/docs/apps/cryptopro/index.md
index 4c26c17..62efe34 100644
--- a/docs/apps/cryptopro/index.md
+++ b/docs/apps/cryptopro/index.md
@@ -1,6 +1,7 @@
---
title: КриптоПро CSP 5
---
+
# КриптоПро CSP 5
КриптоПро CSP - программа для работы с электронными цифровыми подписями (ЭЦП)
@@ -16,9 +17,11 @@ su -
apt-get update
apt-get install cryptopro-preinstall
```
+
```shell[epm]
epm -i cryptopro-preinstall
```
+
:::
## Подготовка к работе КриптоПро CSP 5
@@ -27,7 +30,7 @@ epm -i cryptopro-preinstall
![Скачивание КриптоПро](img/20240424134657.png)
-После скачивания архива, полностью распакуйте его и через терминал под **root'ом** запустите графический инсталлятор командой `bash install_gui.sh` . На втором шаге можете выбрать нужные компоненты. Допустим, я выберу всё, кроме неиспользуемых мной средств защиты КС2.
+После скачивания архива, полностью распакуйте его и через терминал под **root'ом** запустите графический инсталлятор командой `bash install_gui.sh` . На втором шаге можете выбрать нужные компоненты.
![Версии КриптоПро](img/20240424135406.png)
@@ -35,39 +38,40 @@ epm -i cryptopro-preinstall
## Работа с носителями
-Если при установке была выбрана поддержка токенов и смарт-карт, то контейнеры, хранимые в защищенных носителях смогут определяться в "Инструменты КриптоПро".
-Если же контейнеры хранятся на незащищенных носителях (на обычных "флешках") и "из коробки" такие контейнеры не стали определяться в "Инструменты КриптоПро" при подключении USB-носителя, то, как вариант, можно скопировать содержимое USB-носителя в директорию `var/opt/cprocsp/keys/username`, где `username` - используемое имя пользователя. Тогда "Инструменты КриптоПро" начнут видеть контейнеры в считывателе "Директория" (HDIMAGE)
+Если при установке была выбрана поддержка токенов и смарт-карт, то контейнеры, хранимые в защищённых носителях, будут определяться в "Инструменты КриптоПро".
+Если же контейнеры хранятся на незащищённых носителях (на обычных "флешках") и "из коробки" такие контейнеры не стали определяться в "Инструменты КриптоПро" при подключении USB-носителя, то, как вариант, можно скопировать содержимое USB-носителя в директорию `var/opt/cprocsp/keys/username`, где `username` - используемое имя пользователя. Тогда "Инструменты КриптоПро" начнут видеть контейнеры в считывателе "Директория" (HDIMAGE)
![](img/20240424140740.png)
## Установка личных сертификатов в КриптоПро CSP 5
Теперь можно установить личные сертификаты.
+
1. Из контейнеров, в которые уже был установлен сертификат - выбрав в "Инструменты КриптоПро" во вкладке "Контейнеры" нужный из списка и нажав "Установить сертификат"
2. Из файла - выбрав в "Инструменты КриптоПро" вкладку "Сертификаты", нажав "Установить сертификаты"
-
### Установка корневых и промежуточных сертификатов в КриптоПро CSP 5
-Для работы на определенных площадках может потребоваться установка дополнительных корневых (root) и промежуточных (intermediate) сертификатов. После их скачивания, установить такие сертификаты можно будет средствами "Инструменты КриптоПро" в разделе Сертификаты/Установить сертификаты.
+Для работы на определённых площадках может потребоваться установка дополнительных корневых (root) и промежуточных (intermediate) сертификатов. После их скачивания, установить такие сертификаты можно будет средствами "Инструменты КриптоПро" в разделе Сертификаты/Установить сертификаты.
## Настройка Браузер
-Для работы с ЭЦП подойдут Яндекс.Браузер и Chromium GOST
+Для работы с ЭЦП подойдут Яндекс.Браузер и Chromium-GOST
### Плагин для браузера
Для полноценной работы с ЭЦП в браузере также требуется наличие:
-- установленного в браузере "**КриптоПро ЭЦП Browser plug-in**"
-- установленного в системе пакета "**cprocsp-pki-plugin**"
-Если в Chromium GOST по какой-то причине плагин "CryptoPro Extension for CAdES Browser Plug-in" не установился автоматически, то его потребуется установить [в магазине приложений](https://chrome.google.com/).
+- установленного в браузере `КриптоПро ЭЦП Browser plug-in`
+- установленного в системе пакета `cprocsp-pki-plugin`
+
+Если в Chromium GOST по какой-то причине плагин `CryptoPro Extension for CAdES Browser Plug-in` не установился автоматически, то его потребуется установить [в магазине приложений](https://chrome.google.com/).
-Далее, в случае отсутствия установленного пакета "**cprocsp-pki-plugin**", плагин предложит скачать архив:
+Далее, в случае отсутствия установленного пакета `cprocsp-pki-plugin`, плагин предложит скачать архив:
![](img/20240426104552.png)
-В скачанном архиве нас будет интересовать пакет "**cprocsp-pki-plugin-...amd64.rpm**".
+В скачанном архиве нас будет интересовать пакет `cprocsp-pki-plugin-*-amd64.rpm`.
![](img/20240426104048.png)
@@ -75,8 +79,7 @@ epm -i cryptopro-preinstall
`*` здесь команда приведена для примера. Версии пакетов и, соответственно, их номер постоянно обновляются.
-Теперь возвращаемся в браузер и идем проверять работу плагина. Все должно работать
-
+Теперь возвращаемся в браузер и идём проверять работу плагина. Все должно работать
![](img/20240426110739.png)
![](img/20240426111052.png)
diff --git a/docs/apps/flameshot/index.md b/docs/apps/flameshot/index.md
index 980e572..e7b9799 100644
--- a/docs/apps/flameshot/index.md
+++ b/docs/apps/flameshot/index.md
@@ -1,23 +1,23 @@
---
title: Flameshot
aggregation:
- flatpak: org.flameshot.Flameshot
- sisyphus: flameshot
+ flatpak: org.flameshot.Flameshot
+ sisyphus: flameshot
appstream:
- id: org.flameshot.Flameshot
- name: Flameshot
- icon: ./img/org.flameshot.Flameshot.png
- summary: Кроссплатформенный и многофункциональный создатель скриншотов с открытым исходным кодом.
- developer:
- name: flameshot-org
- metadata_license:
- name: GNU GPLv3.0
- link: https://choosealicense.com/licenses/gpl-3.0/
- url:
- homepage: https://flameshot.org/
- bugtracker: https://github.com/flameshot-org/flameshot/issues
- translate: https://hosted.weblate.org/engage/flameshot/
- help: https://flameshot.org/docs/
+ id: org.flameshot.Flameshot
+ name: Flameshot
+ icon: ./img/org.flameshot.Flameshot.png
+ summary: Кроссплатформенный и многофункциональный создатель скриншотов с открытым исходным кодом.
+ developer:
+ name: flameshot-org
+ metadata_license:
+ name: GNU GPLv3
+ link: https://choosealicense.com/licenses/gpl-3.0/
+ url:
+ homepage: https://flameshot.org/
+ bugtracker: https://github.com/flameshot-org/flameshot/issues
+ translate: https://hosted.weblate.org/engage/flameshot/
+ help: https://flameshot.org/docs/
---
# Flameshot
@@ -27,7 +27,7 @@ Flameshot - это программа, предназначенная для с
Помимо этого, программа предоставляет пользователю обширные возможности редактирования скриншотов.
:::tip
-На данный момент поддержка Wayland в Flameshot все еще является экспериментальной.
+На данный момент поддержка Wayland в Flameshot все ещё является экспериментальной.
Однако на практике все работает достаточно стабильно и корректно.
:::
@@ -37,12 +37,15 @@ Flameshot - это программа, предназначенная для с
---
+
## Настройка
Для открытия меню с настройками можно воспользоваться командой ниже:
+
```shell
flameshot config
```
+
Или же открыть программу из так называемого меню "пуск".
После этого нужно нажать правой кнопкой мыши по логотипу Flameshot, который должен был появиться в трее, и выбрать пункт "Настройки".
@@ -54,9 +57,11 @@ flameshot config
:::tip
Помимо вышеперечисленных способов, Flameshot можно конфигурировать прямо в терминале.
Для того чтобы посмотреть доступные опции, выполните следующую команду:
+
```shell
flameshot config -h
```
+
:::
![Скриншот настроек Flameshot](./img/flameshot_settings.png 'Скриншот настроек Flameshot')
@@ -64,41 +69,60 @@ flameshot config -h
### Аргументы
Создание скриншота с помощью GUI инструмента:
+
```shell
flameshot gui
```
+
:::info
Теперь вы можете выбрать область захвата.
-Если вы хотите сделать скриншот всего экрана, можно просто нажать сочетание клавиш `Ctrl+a`.
+Если вы хотите сделать скриншот всего экрана, можно просто нажать сочетание клавиш [[Ctrl]] + [[A]].
:::
+
---
+
Захват в полноэкранном режиме:
+
```shell
flameshot full
```
+
:::info
Если у вас несколько мониторов, данная команда сделает скриншот из всех них!
:::
+
---
+
Захват конкретного экрана:
+
```shell
flameshot screen -n screen_number
```
+
:::info
Нумерация экранов начинается с 0!
:::
+
---
+
При помощи `-p` можно указать нужный путь для сохранения скриншота:
+
```shell
flameshot gui -p ~/Downloads
```
+
---
+
Опция `-d` позволяет добавить задержку в миллисекундах:
+
```shell
flameshot gui -d 2000
```
+
---
+
Параметр `-c` копирует скриншот прямо в буфер обмена:
+
```shell
flameshot full -c
```
@@ -111,9 +135,11 @@ flameshot full -c
:::tip
Все представленные флаги можно комбинировать друг с другом.
Например, для того чтобы сохранить скриншот в каталог "Downloads", а также скопировать его в буфер обмена, выполните следующую команду:
+
```shell
flameshot full -c -p ~/Downloads
```
+
:::
## Горячие клавиши
@@ -121,26 +147,26 @@ flameshot full -c -p ~/Downloads
Посмотреть доступные сочетания клавиш с их назначением можно в меню "Настройки" во вкладке "Горячие клавиши".
Поэтому в данном разделе будут перечислены лишь несколько самых полезных из них.
-| Действие | Комбинация |
-|:-----------------------------------:|:--------------:|
-| Отменить последнее изменение | Ctrl+z |
-| Повторить последнее изменение | Ctrl+Shift+z |
-| Копировать выделение в буфер обмена | Ctrl+c |
-| Сохранить снимок экрана в файл | Ctrl+s |
-| Покинуть захват экрана | Ctrl+q |
-| Подтвердить захват | Enter |
-| Выбрать весь экран | Ctrl+a |
-| Выйти из захвата экрана | Esc |
-| Показать/Скрыть боковую панель | Space (Пробел) |
+| Комбинация | Действие |
+| :--------------------------: | :---------------------------------: |
+| [[Ctrl]] + [[Z]] | Отменить последнее изменение |
+| [[Ctrl]] + [[Shift]] + [[Z]] | Повторить последнее изменение |
+| [[Ctrl]] + [[C]] | Копировать выделение в буфер обмена |
+| [[Ctrl]] + [[S]] | Сохранить снимок экрана в файл |
+| [[Ctrl]] + [[Q]] | Покинуть захват экрана |
+| [[Enter]] | Подтвердить захват |
+| [[Ctrl]] + [[a]] | Выбрать весь экран |
+| [[Esc]] | Выйти из захвата экрана |
+| [[Space]] | Показать/Скрыть боковую панель |
-## Настройка PrintScreen
+## Настройка [[PrintScreen]]
По умолчанию рассматриваемая программа не имеет никаких комбинаций клавиш для вызова захвата экрана в GNU\Linux.
Однако их можно назначить в приложении "Параметры системы KDE5" в разделе "Комбинации клавиш" при помощи кнопки "Добавить команду".
-Теперь вводим нужную команду в появившемся меню, а после назначаем для нее сочетание клавиш.
+Теперь вводим нужную команду в появившемся меню, а после назначаем для неё сочетание клавиш.
:::info
-Комбинация клавиш будет называться, так же как и введенная команда.
+Комбинация клавиш будет называться, так же как и введённая команда.
При необходимости название можно изменить, нажав на иконку с карандашом возле самого сочетания.
Для удаления рядом есть иконка с мусоркой.
:::
diff --git a/docs/apps/haruna/index.md b/docs/apps/haruna/index.md
index 088a7be..eed7bf7 100644
--- a/docs/apps/haruna/index.md
+++ b/docs/apps/haruna/index.md
@@ -1,22 +1,22 @@
---
title: Haruna
aggregation:
- flatpak: org.kde.haruna
- sisyphus: kde5-haruna
+ flatpak: org.kde.haruna
+ sisyphus: kde5-haruna
appstream:
- id: org.kde.haruna
- name: Haruna
- icon: ./img/haruna-logo.svg
- summary: Медиаплеер от KDE на основе Qt.
- developer:
- name: KDE
- avatar: ./img/KDE_logo.png
- metadata_license:
- name: GNU GPLv3.0 or later
- link: https://choosealicense.com/licenses/gpl-3.0/
- url:
- homepage: https://haruna.kde.org/
- bugtracker: https://bugs.kde.org/enter_bug.cgi?product=haruna
+ id: org.kde.haruna
+ name: Haruna
+ icon: ./img/haruna-logo.svg
+ summary: Медиаплеер от KDE на основе Qt.
+ developer:
+ name: KDE
+ avatar: ./img/KDE_logo.png
+ metadata_license:
+ name: GNU GPLv3 or later
+ link: https://choosealicense.com/licenses/gpl-3.0/
+ url:
+ homepage: https://haruna.kde.org/
+ bugtracker: https://bugs.kde.org/enter_bug.cgi?product=haruna
---
# Haruna
@@ -29,15 +29,19 @@ Haruna — медиаплеер с открытым исходным кодом,
:::tabs
==apt-get
+
```shell
su -
apt-get update
apt-get install kde5-haruna
```
+
==epm
+
```shell
epm -i kde5-haruna
```
+
:::
@@ -45,20 +49,19 @@ epm -i kde5-haruna
### Комбинации клавиш
Для того чтобы ускорить и, возможно, облегчить использование данного плеера можно использовать сочетания клавиш, которые при надобности легко изменяются в настройках.
-Рассказывать о всех них нет смысла, поэтому ниже вы найдете таблицу с только самыми *нужными из них.
-
-| Описание | Комбинация |
-|:-----------------------------------------:|:------------:|
-| Переключить полноэкранный режим | f |
-| Загрузить последний воспроизведенный файл | Ctrl+Shift+l |
-| Выключить звук | m |
-| Открыть файл | Ctrl+o |
-| Открыть URL | Ctrl+Shift+o |
-| Увеличить скорость воспроизведения | ] |
-| Уменьшить скорость воспроизведения | [ |
-| Восстановить скорость воспроизведения | BackSpace |
-| Переключить отображение строки меню | Ctrl+m |
-| Переключить отображение заголовка | Ctrl+h |
+Рассказывать о всех них нет смысла, поэтому ниже вы найдёте таблицу с только самыми \*нужными из них.
-*В данную таблицу не были включены самые базовые комбинации в духе воспроизведение/пауза, выход и так далее.
+| Комбинация | Описание |
+| :--------------------------: | :---------------------------------------: |
+| [[F]] | Переключить полноэкранный режим |
+| [[Ctrl]] + [[Shift]] + [[L]] | Загрузить последний воспроизведённый файл |
+| [[m] | Выключить звук |
+| [[Ctrl]] + [[O]] | Открыть файл |
+| [[Ctrl]] + [[Shift]] + [[O]] | Открыть URL |
+| [[\]]] | Увеличить скорость воспроизведения |
+| [[\[]] | Уменьшить скорость воспроизведения |
+| [[Backspace]] | Восстановить скорость воспроизведения |
+| [[Ctrl]] + [[M]] | Переключить отображение строки меню |
+| [[Ctrl]] + [[H]] | Переключить отображение заголовка |
+\*В данную таблицу не были включены самые базовые комбинации в духе воспроизведение/пауза, выход и так далее.
diff --git a/docs/apps/keepassxc/index.md b/docs/apps/keepassxc/index.md
index a637963..7591f02 100644
--- a/docs/apps/keepassxc/index.md
+++ b/docs/apps/keepassxc/index.md
@@ -1,31 +1,31 @@
---
title: KeePassXC
aggregation:
- flatpak: org.keepassxc.KeePassXC
- sisyphus: keepassxc
+ flatpak: org.keepassxc.KeePassXC
+ sisyphus: keepassxc
appstream:
- id: org.keepassxc.KeePassXC
- name: KeePassXC
- icon: ./img/keepassxc-logo.svg
- summary: Кроссплатформенный менеджер паролей с открытым исходным кодом.
- developer:
- name: KeePassXC Team
- metadata_license:
- name: GNU GPLv3.0
- link: https://choosealicense.com/licenses/gpl-3.0/
- url:
- homepage: https://keepassxc.org/
- bugtracker: https://github.com/keepassxreboot/keepassxc/issues
- translate: https://www.transifex.com/keepassxc/keepassxc
- help: https://keepassxc.org/docs
+ id: org.keepassxc.KeePassXC
+ name: KeePassXC
+ icon: ./img/keepassxc-logo.svg
+ summary: Кроссплатформенный менеджер паролей с открытым исходным кодом.
+ developer:
+ name: KeePassXC Team
+ metadata_license:
+ name: GNU GPLv3
+ link: https://choosealicense.com/licenses/gpl-3.0/
+ url:
+ homepage: https://keepassxc.org/
+ bugtracker: https://github.com/keepassxreboot/keepassxc/issues
+ translate: https://www.transifex.com/keepassxc/keepassxc
+ help: https://keepassxc.org/docs
---
# KeePassXC
KeePassXC - менеджер паролей, позволяющий хранить все ваши логины и пароли в одном безопасном месте.
-За счет своей кроссплатформенности, KeePassXC доступен для GNU/Linux, Windows и MacOS.
+За счёт своей кроссплатформенности, KeePassXC доступен для GNU/Linux, Windows и MacOS.
Также при помощи неофициального порта, он доступен и на Android.
-Еще одной приятной особенностью рассматриваемого менеджера паролей является его одинаковый внешний вид на любой поддерживаемой платформе.
+Ещё одной приятной особенностью рассматриваемого менеджера паролей является его одинаковый внешний вид на любой поддерживаемой платформе.
![Скриншот программы KeePassXC](./img/keepassxc_screen.png 'Скриншот программы KeePassXC')
diff --git a/docs/apps/kiten/index.md b/docs/apps/kiten/index.md
index 60bcdc2..55e50d1 100644
--- a/docs/apps/kiten/index.md
+++ b/docs/apps/kiten/index.md
@@ -1,24 +1,24 @@
---
title: Kiten
aggregation:
- flatpak: org.kde.kiten
- sisyphus: kde5-kiten
- snap: kiten
+ flatpak: org.kde.kiten
+ sisyphus: kde5-kiten
+ snap: kiten
appstream:
- id: org.kde.kiten
- name: Kiten
- icon: ./img/org.kde.kiten.svg
- summary: Справочник и учебное пособие по изучению японского языка.
- keywords:
- - kdedeveloped
- developer:
- name: KDE Community
- metadata_license:
- name: GNU GPLv2.0+
- link: https://choosealicense.com/licenses/gpl-2.0/
- url:
- homepage: https://apps.kde.org/ru/kiten/
- bugtracker: https://bugs.kde.org/enter_bug.cgi?product=Kiten
+ id: org.kde.kiten
+ name: Kiten
+ icon: ./img/org.kde.kiten.svg
+ summary: Справочник по японскому языку и учебное пособие.
+ keywords:
+ - kdedeveloped
+ developer:
+ name: KDE Community
+ metadata_license:
+ name: GNU GPLv2+
+ link: https://choosealicense.com/licenses/gpl-2.0/
+ url:
+ homepage: https://apps.kde.org/ru/kiten/
+ bugtracker: https://bugs.kde.org/enter_bug.cgi?product=Kiten
---
# Kiten
@@ -29,4 +29,4 @@ Kiten — справочник и учебное пособие по изуче
-
\ No newline at end of file
+
diff --git a/docs/apps/libreoffice/index.md b/docs/apps/libreoffice/index.md
index 353ac43..f295112 100644
--- a/docs/apps/libreoffice/index.md
+++ b/docs/apps/libreoffice/index.md
@@ -1,33 +1,33 @@
---
title: LibreOffice
aggregation:
- sisyphus: LibreOffice-still
- flatpak:
- id: org.libreoffice.LibreOffice
- build: offical
-appstream:
+ sisyphus: LibreOffice-still
+ flatpak:
id: org.libreoffice.LibreOffice
- name: LibreOffice
- icon: ./img/org.libreoffice.LibreOffice.desktop.png
- summary: Мощный офисный пакет LibreOffice
- metadata_license:
- name: MPL-v2.0
- link: https://www.mozilla.org/en-US/MPL/2.0/
- developer:
- name: The Document Foundation
- url:
- homepage: https://www.libreoffice.org/
- bugtracker:
- name: documentfoundation.org
- link: https://bugs.documentfoundation.org/
- donation: https://www.libreoffice.org/donate/
- translate: https://www.libreoffice.org/community/localization/
+ build: official
+appstream:
+ id: org.libreoffice.LibreOffice
+ name: LibreOffice
+ icon: ./img/org.libreoffice.LibreOffice.desktop.png
+ summary: Мощный офисный пакет LibreOffice
+ metadata_license:
+ name: MPL-v2.0
+ link: https://www.mozilla.org/en-US/MPL/2.0/
+ developer:
+ name: The Document Foundation
+ url:
+ homepage: https://www.libreoffice.org/
+ bugtracker:
+ name: documentfoundation.org
+ link: https://bugs.documentfoundation.org/
+ donation: https://www.libreoffice.org/donate/
+ translate: https://www.libreoffice.org/community/localization/
---
# LibreOffice
LibreOffice — это мощный офисный пакет, который полностью совместим с 32 и 64-битными системами.
-Он был переведен более чем на 30 языков, что делает его доступным для пользователей по всему миру.
+Он был переведён более чем на 30 языков, что делает его доступным для пользователей по всему миру.
LibreOffice поддерживает большинство популярных операционных систем, включая GNU/Linux, Microsoft Windows и Mac OS X.
## Установка из репозитория
@@ -45,10 +45,12 @@ su -
apt-get update
apt-get install LibreOffice-still LibreOffice-still-kde5
```
+
```shell[epm]
epm -i LibreOffice-still LibreOffice-still-kde5
```
-== Fresh
+
+== Fresh
::: code-group
```shell[apt-get]
@@ -56,9 +58,11 @@ su -
apt-get update
apt-get install LibreOffice LibreOffice-kde5
```
+
```shell[epm]
epm -i LibreOffice LibreOffice-kde5
```
+
:::
:::info
@@ -74,14 +78,17 @@ epm -i LibreOffice LibreOffice-kde5
В ALT Regular KDE вы можете установить их при помощи терминала:
::: code-group
+
```shell[apt-get]
su -
apt-get update
apt-get install fonts-ttf-ms
```
+
```shell[epm]
epm -i fonts-ttf-ms
```
+
:::
Существует несколько вариантов установки дополнительных шрифтов в офисный пакет LibreOffice.
diff --git a/docs/apps/micro/index.md b/docs/apps/micro/index.md
index c4a1657..a887463 100644
--- a/docs/apps/micro/index.md
+++ b/docs/apps/micro/index.md
@@ -1,28 +1,28 @@
---
title: Micro
aggregation:
- sisyphus: micro
+ sisyphus: micro
appstream:
- id: micro.desktop
- name: Micro
- icon: ./img/micro-logo.png
- summary: Консольный текстовый редактор, сочетающий в себе простоту и функциональность.
- developer:
- name: Zachary Yedidia
- nickname: zyedidia
- metadata_license:
- name: MIT
- link: https://choosealicense.com/licenses/mit/
- url:
- homepage: https://micro-editor.github.io/
- bugtracker: https://github.com/zyedidia/micro/issues
- help: https://micro-editor.github.io/about.html
+ id: micro.desktop
+ name: Micro
+ icon: ./img/micro-logo.png
+ summary: Консольный текстовый редактор, сочетающий в себе простоту и функциональность.
+ developer:
+ name: Zachary Yedidia
+ nickname: zyedidia
+ metadata_license:
+ name: MIT
+ link: https://choosealicense.com/licenses/mit/
+ url:
+ homepage: https://micro-editor.github.io/
+ bugtracker: https://github.com/zyedidia/micro/issues
+ help: https://micro-editor.github.io/about.html
---
# Micro
-Micro - текстовый редактор с TUI интерфейсом, являющийся отличной альтернативой Nano.
-Он предлагает пользователю привычные сочетания клавиш, простой и удобный интерфейс, расширяемость при помощи плагинов, качественную подсветку синтаксиса и это еще не все!
+Micro - текстовый редактор с TUI, являющийся отличной альтернативой Nano.
+Он предлагает пользователю привычные сочетания клавиш, простой и удобный интерфейс, расширяемость при помощи плагинов, качественную подсветку синтаксиса и это ещё не все!
![Скриншот редактора Micro](./img/micro-screen.png 'Скриншот редактора Micro')
@@ -32,15 +32,19 @@ Micro - текстовый редактор с TUI интерфейсом, яв
:::tabs
==apt-get
+
```shell
su -
apt-get update
apt-get install micro
```
+
==epm
+
```shell
epm -i micro
```
+
:::
### Установка с официального сайта
@@ -50,6 +54,7 @@ su -
curl https://getmic.ro | bash
mv micro /usr/bin
```
+
:::info
Учтите, что в данном способе отсутствует возможность получения обновлений!
Если вы хотите получать обновления автоматически, воспользуйтесь пакетом из репозитория.
@@ -61,36 +66,40 @@ mv micro /usr/bin
В Micro используются всем известные горячие клавиши, как и в любом другом GUI текстовом редакторе.
В таблице ниже продемонстрированы их варианты "по умолчанию".
-| Комбинация | Назначение |
-|:----------:|:-----------------------------------------------------:|
-| Ctrl+q | Выход из программы |
-| Ctrl+s | Сохранить изменения в файле |
-| Ctrl+x | Вырезать текст из файла |
-| Ctrl+v | Вставить текст в файл |
-| Ctrl+k | Вырезать строку из файла |
-| Ctrl+z | Отменить действие |
-| Ctrl+f | Поиск по файлу (Ctrl+n = дальше, Ctrl+p = предыдущий) |
-| Ctrl+a | Выбрать все |
-| Ctrl+e | Командная строка |
-| Ctrl+t | Открыть новую вкладку |
-| Alt+, | Предыдущая вкладка |
-| Alt+. | Следующая вкладка |
-| Ctrl+g | Открыть раздел помощи |
-| Alt+g | Посмотреть горячие клавиши |
-| Ctrl+o | Открыть файл |
-| Ctrl+y | Вернутся к предыдущему действию |
-| Ctrl+d | Продублировать строку |
+| Комбинация | Назначение |
+| :--------: | :---------------------------------------------------: |
+| Ctrl+q | Выход из программы |
+| Ctrl+s | Сохранить изменения в файле |
+| Ctrl+x | Вырезать текст из файла |
+| Ctrl+v | Вставить текст в файл |
+| Ctrl+k | Вырезать строку из файла |
+| Ctrl+z | Отменить действие |
+| Ctrl+f | Поиск по файлу (Ctrl+n = дальше, Ctrl+p = предыдущий) |
+| Ctrl+a | Выбрать все |
+| Ctrl+e | Командная строка |
+| Ctrl+t | Открыть новую вкладку |
+| Alt+, | Предыдущая вкладка |
+| Alt+. | Следующая вкладка |
+| Ctrl+g | Открыть раздел помощи |
+| Alt+g | Посмотреть горячие клавиши |
+| Ctrl+o | Открыть файл |
+| Ctrl+y | Вернутся к предыдущему действию |
+| Ctrl+d | Продублировать строку |
:::info
Командная строка Micro поддерживает не только некоторые внешние команды, но и свои собственные.
Например, чтобы разделить окно по горизонтали, нужно выполнить следующую команду:
+
```shell
hsplit filename
```
+
По вертикали:
+
```shell
vsplit filename
```
+
:::tip
Переключаться между частями можно с помощью Ctrl + w или мышки.
:::
@@ -102,26 +111,32 @@ vsplit filename
Чтобы назначить Micro текстовым редактором "по умолчанию" существует несколько способов:
1. При помощи файла .bashrc:
+
```shell
echo "export EDITOR="micro"" >> ~/.bashrc && source ~/.bashrc
```
+
:::info
Файл ".bashrc" выполняется при инициализации сеанса интерактивной оболочки.
То есть при запуске терминала через графический интерфейс KDE будет использоваться данный файл.
:::
2. При помощи файла .bash_profile:
+
```shell
echo "export EDITOR="micro"" >> ~/.bash_profile && source ~/.bash_profile
```
+
:::info
Если планируется подключаться к сеансам с помощью login оболочек (например, вход по SSH), можно добавить переменную окружения в рассматриваемый файл.
:::
3. При помощи файла /etc/environment:
+
```shell
echo "export EDITOR="micro"" >> /etc/environment && source /etc/environment
```
+
:::info
Этот способ предназначен для изменения значения переменной окружения глобально, то есть у всех пользователей.
:::
@@ -129,9 +144,11 @@ echo "export EDITOR="micro"" >> /etc/environment && source /etc/environment
:::tip
Способы, приведенные выше, делают значение переменной окружения постоянной.
Если же вы хотите установить ее только на время текущего сеанса оболочки, воспользуйтесь командой ниже:
+
```shell
export EDITOR=micro
```
+
:::
### Конфигурация Micro
@@ -144,16 +161,23 @@ export EDITOR=micro
Нужно всего лишь указать желаемый параметр и значение для него.
Например, чтобы включить перенос строк, который по умолчанию отключен, добавьте в указанный файл следующий код:
+
```shell
"softwrap": true,
```
+
---
+
Для отображения полосы прокрутки укажите это:
+
```shell
"scrollbar": true,
```
+
---
+
Включить поиск по файлу без учета регистра можно так:
+
```shell
"ignorecase": true,
```
@@ -161,6 +185,7 @@ export EDITOR=micro
:::tip
Параметры должны находится внутри фигурных скобок, которые присутствуют в файле изначально.
Если вы добавили в конфигурацию все продемонстрированные опции, у вас получится примерно такая картина:
+
```shell
{
"softwrap": true,
@@ -168,7 +193,9 @@ export EDITOR=micro
"ignorecase": true,
}
```
+
Спустя некоторое время файл обновиться автоматически и примет подобный вид:
+
```shell
{
"scrollbar": true,
@@ -176,6 +203,7 @@ export EDITOR=micro
"ignorecase": true,
}
```
+
:::
:::info
@@ -183,7 +211,7 @@ export EDITOR=micro
На самом деле их там много, что перечислить все не хватит никаких сил.
Однако это получилось у разработчиков Micro, поэтому подробно узнать о всех опциях программы можно [здесь](https://github.com/zyedidia/micro/blob/master/runtime/help/options.md).
-P.S: Учтите, что вся документация написанa на английском языке.
+P.S: Учтите, что вся документация написана на английском языке.
Если для вас это является проблемой, можно использовать переводчики, которые в нынешних реалиях способны достаточно точно перевести нужную информацию.
:::
@@ -194,6 +222,7 @@ P.S: Учтите, что вся документация написанa на
:::tabs
==Wayland
:::code-group
+
```shell[apt-get]
su -
apt-get update
@@ -206,6 +235,7 @@ epm -i wl-clipboard
==X11
:::code-group
+
```shell[apt-get]
su -
apt-get update
@@ -215,6 +245,7 @@ apt-get install xclip
```shell[epm]
epm -i xclip
```
+
P.S: Вместо `xclip` можно использовать `xsel`.
:::
@@ -233,19 +264,24 @@ P.S: Вместо `xclip` можно использовать `xsel`.
:::
Например, чтобы поменять функционал комбинаций `Ctrl+z` и `Ctrl+y` местами, пропишите в файле следующее:
+
```shell
{
"Ctrl-y": "Undo",
"Ctrl-z": "Redo",
}
```
+
---
+
Помимо изменения уже существующих сочетаний, можно создавать свои собственные:
+
```shell
{
"Alt-s": "Save,Quit",
}
```
+
:::info
В данном примере создается горячая клавиша `Alt+s`, при нажатии которой произойдет сохранение изменений в файле с последующим выходом из редактора.
:::
@@ -260,9 +296,11 @@ P.S: Вместо `xclip` можно использовать `xsel`.
### Изменение внешнего вида
Чтобы изменить цветовую схему, нажмите `Ctrl-e` в Micro, чтобы вызвать командую строку, и введите в нее следующее:
+
```shell
set colorscheme twilight
```
+
:::info
Twilight можно заменить на любую другую доступную тему.
В примере приведена тема для терминалов, поддерживающих 256 цветов.
@@ -285,9 +323,11 @@ Twilight можно заменить на любую другую доступн
Для лучшего понимания представленной информации разберем работу с плагинами на примере того, что добавляет файловый менеджер в Micro.
Чтобы установить его, выполните указанную ниже команду в терминале:
+
```shell
micro -plugin install filemanager
```
+
:::info
Теперь в редакторе доступна возможность взаимодействия с деревом каталогов при помощи команды `tree`, которая вводится в меню, открывающееся по нажатию `Ctrl+e`.
@@ -307,9 +347,11 @@ P.S: По умолчанию на странице плагинов от Micro
### Удаление
Если же вы захотели удалить какой-либо плагин, достаточно всего лишь выполнить следующую команду в терминале:
+
```shell
micro -plugin remove filemanager
```
+
:::info
Вместо `filemanager` укажите желаемое расширение.
:::
diff --git a/docs/apps/nano/index.md b/docs/apps/nano/index.md
index 717297f..1d40d20 100644
--- a/docs/apps/nano/index.md
+++ b/docs/apps/nano/index.md
@@ -1,19 +1,19 @@
---
title: Nano
aggregation:
- sisyphus: nano
+ sisyphus: nano
appstream:
- name: Nano
- icon: ./img/nano-logo.png
- summary: Консольный текстовый редактор с открытым исходным кодом.
- developer:
- name: GNU
- avatar: ./img/gnu-logo.png
- metadata_license:
- name: GNU GPLv3.0
- link: https://choosealicense.com/licenses/gpl-3.0/
- url:
- homepage: https://www.nano-editor.org/
+ name: Nano
+ icon: ./img/nano-logo.png
+ summary: Консольный текстовый редактор с открытым исходным кодом.
+ developer:
+ name: GNU
+ avatar: ./img/gnu-logo.png
+ metadata_license:
+ name: GNU GPLv3
+ link: https://choosealicense.com/licenses/gpl-3.0/
+ url:
+ homepage: https://www.nano-editor.org/
---
# Nano
@@ -26,45 +26,61 @@ Nano - консольный текстовый редактор, подходя
:::tabs
==apt-get
+
```shell
su -
apt-get update
apt-get install nano
```
+
==epm
+
```shell
epm -i nano
```
+
:::
## Возможности
-Рассматриваемыей текстовый редактор имеет достаточно много возможностей, которые по умолчанию отключены. Из-за этого человек, не знающий о них, использует довольно-таки ограниченную версию Nano. Чтобы исправить это, достаточно всего лишь указать нужные флаги при запуске программы. Ниже представлены доступные опции для расширения возможностей Nano.
+Рассматриваемый текстовый редактор имеет достаточно много возможностей, которые по умолчанию отключены. Из-за этого человек, не знающий о них, использует довольно-таки ограниченную версию Nano. Чтобы исправить это, достаточно всего лишь указать нужные флаги при запуске программы. Ниже представлены доступные опции для расширения возможностей Nano.
Активировать поддержку мыши:
+
```shell
nano -m file_name
```
+
---
+
Отобразить полосу прокрутки:
+
```shell
nano -q file_name
```
+
---
+
Добавить нумерацию строк:
+
```shell
nano -l file_name
```
+
:::info
Вместо `-l` можно использовать `--linenumbers`.
В уже открытом файле можно использовать сочетание клавиш `Alt + n` для переключения нумерации строк.
:::
+
---
+
Активировать мини-бар:
+
```shell
nano --minibar file_name
```
+
:::info
Данная опция объединяет строки состояния снизу и сверху в общий мини-бар внизу.
:::
@@ -72,11 +88,15 @@ nano --minibar file_name
:::tip
При нажатии `Alt + c` появится дополнительная информация.
:::
+
---
+
Сделать редактор минималистичным:
+
```shell
nano -0 file_name
```
+
:::info
Данный параметр скроет заголовок, строку состояния и раздел справки. Важные сообщения будут появляться в нижней части строки состояния и исчезать через 1,5 секунды после нажатия любой клавиши.
:::
@@ -86,8 +106,11 @@ nano -0 file_name
`Alt + X` переключает раздел справки внизу.
:::
+
---
+
Автоматически сохранять файл при выходе:
+
```shell
nano -t file_name
```
@@ -95,85 +118,126 @@ nano -t file_name
:::info
Теперь файлы будут сохраняться автоматически без отображения подсказок с просьбой сохранить файл, подтвердить выход и так далее.
:::
+
---
+
Автоматически создавать резервные копии файла:
+
```shell
nano -B file_name
```
+
:::info
Копия будет сохранена в том же каталоге, что и текущий файл с тем же названием с символом `~` в конце.
:::
+
---
+
Разместить курсор на искомом слове:
+
```shell
nano +c/test file_name
```
+
:::info
Файл откроется с курсором на первом совпадении. В данном случае ищется слово test.
При использовании символа `+` поиск указанного слова начинается с начала текста.
Буква `c` добавляет поиск с учетом регистра.
:::
+
---
+
Разместить курсор в указанной позиции:
+
```shell
nano +line,columns file_name
```
+
:::info
Например:
+
```shell
nano +10,5 ~/.bashrc
```
+
Курсор будет расположен на десятой строке и пятом столбце (символе).
:::
+
---
+
Открыть файл в режиме "только для чтения":
+
```shell
nano -v file_name
```
+
---
+
Установить размер табуляции:
+
```shell
nano -T 4 file_name
```
+
:::tip
В данном примере табуляция равна 4 проблемам.
:::
+
---
+
Всегда показывать положение курсора:
+
```shell
nano -c file_name
```
+
---
+
Указать каталог для резервной копии:
+
```shell
nano -C ~/backups file_name
```
+
:::info
Каталог для хранения резервных копий должен существовать заранее, иначе Nano сообщит, что каталог недопустим.
:::
+
---
+
Конвертировать табуляции в пробелы:
+
```shell
nano -E file_name
```
+
---
+
Включить поддержку редактирования нескольких файлов:
+
```shell
nano -F file_name
```
+
---
+
Запоминать и восстанавливать позицию курсора во время последнего редактирования:
+
```shell
nano -P file_name
```
+
---
+
:::warning
В данном блоке были продемонстрированы многие, но далеко не все параметры текстового редактора Nano.
Чтобы узнать об остальных опциях, выполните команду ниже:
+
```shell
nano -h
```
+
:::
## Сочетания клавиш
@@ -182,21 +246,21 @@ nano -h
Однако из-за их сокращения некоторые комбинации могут быть не понятными.
Поэтому ниже вы увидите горячие клавиши, которые появляются при запуске текстового редактора Nano с более понятными описаниями.
-| Комбинация | Описание |
-|:----------:|:--------------------------------------------------------:|
-| ^ g | Отобразить все доступные сочетания клавиш с их описанием |
-| ^ o | Сохранить изменения в файле |
-| ^ w | Поиск по тексту |
-| ^ k | Вырезать текст из файла |
-| ^ j | Отформатировать текст |
-| ^ c | Отобразить текущую позицую курсора в виде данных |
-| M-u | Отменить действие |
-| ^x | Выйти из Nano |
-| ^r | Прочитать файл |
-| ^\ | Заменить текст |
-| ^u | Вставить текст в файл |
-| ^t | Выполнить команду и записать результат в файл |
-| M-e | Вернутся к предыдущему действию |
+| Комбинация | Описание |
+| :--------: | :------------------------------------------------------: |
+| ^ g | Отобразить все доступные сочетания клавиш с их описанием |
+| ^ o | Сохранить изменения в файле |
+| ^ w | Поиск по тексту |
+| ^ k | Вырезать текст из файла |
+| ^ j | Отформатировать текст |
+| ^ c | Отобразить текущую позицию курсора в виде данных |
+| M-u | Отменить действие |
+| ^x | Выйти из Nano |
+| ^r | Прочитать файл |
+| ^\ | Заменить текст |
+| ^u | Вставить текст в файл |
+| ^t | Выполнить команду и записать результат в файл |
+| M-e | Вернутся к предыдущему действию |
:::info
Символ `^` обозначает клавишу `Ctrl`.
@@ -215,26 +279,32 @@ nano -h
Чтобы назначить Nano текстовым редактором "по умолчанию" существует несколько способов:
1. При помощи файла .bashrc:
+
```shell
echo "export EDITOR="nano"" >> ~/.bashrc && source ~/.bashrc
```
+
:::info
Файл ".bashrc" выполняется при инициализации сеанса интерактивной оболочки.
То есть при запуске терминала через графический интерфейс KDE будет использоваться данный файл.
:::
2. При помощи файла .bash_profile:
+
```shell
echo "export EDITOR="nano"" >> ~/.bash_profile && source ~/.bash_profile
```
+
:::info
Если планируется подключаться к сеансам с помощью login оболочек (например, вход по SSH), можно добавить переменную окружения в рассматриваемый файл.
:::
3. При помощи файла /etc/environment:
+
```shell
echo "export EDITOR="nano"" >> /etc/environment && source /etc/environment
```
+
:::info
Этот способ предназначен для изменения значения переменной окружения глобально, то есть у всех пользователей.
:::
@@ -242,9 +312,11 @@ echo "export EDITOR="nano"" >> /etc/environment && source /etc/environment
:::tip
Способы, приведенные выше, делают значение переменной окружения постоянной.
Если же вы хотите установить ее только на время текущего сеанса оболочки, воспользуйтесь командой ниже:
+
```shell
export EDITOR=nano
```
+
:::
### Конфигурация Nano
@@ -254,6 +326,7 @@ export EDITOR=nano
В частности, в указанном файле настраиваются функции, доступные при использовании Nano без указания дополнительных флагов.
Например, чтобы не указывать опцию `-l` при каждом запуске программы, достаточно раскомментировать (убрать символ `#` в начале строки) следующий параметр:
+
```shell
set linenumbers
```
diff --git a/docs/apps/plan/index.md b/docs/apps/plan/index.md
index 678e04c..18efd26 100644
--- a/docs/apps/plan/index.md
+++ b/docs/apps/plan/index.md
@@ -1,22 +1,22 @@
---
title: Plan
aggregation:
- sisyphus: calligra-plan
+ sisyphus: calligra-plan
appstream:
- id: org.kde.calligraplan.desktop
- name: Plan
- icon: ./img/org.kde.calligraplan.svg
- summary: Приложение по управлению проектами.
- keywords:
- - kdedeveloped
- developer:
- name: KDE Community
- metadata_license:
- name: GNU GPLv2.0+
- link: https://choosealicense.com/licenses/gpl-2.0/
- url:
- homepage: https://apps.kde.org/ru/calligraplan/
- bugtracker: https://bugs.kde.org/enter_bug.cgi?format=guided&product=calligraplan
+ id: org.kde.calligraplan.desktop
+ name: Plan
+ icon: ./img/org.kde.calligraplan.svg
+ summary: Приложение по управлению проектами.
+ keywords:
+ - kdedeveloped
+ developer:
+ name: KDE Community
+ metadata_license:
+ name: GNU GPLv2+
+ link: https://choosealicense.com/licenses/gpl-2.0/
+ url:
+ homepage: https://apps.kde.org/ru/calligraplan/
+ bugtracker: https://bugs.kde.org/enter_bug.cgi?format=guided&product=calligraplan
---
# Plan
@@ -26,11 +26,11 @@ Plan — приложение по управлению проектами, пр
Возможности:
- Множество режимов просмотра: диаграмма Ганта, режим просмотра ресурсов, режим просмотра счетов
-- Использование стандартных структур: Структурная декомпозиция работ (СДР), иерархическая структура ресурсов (RBS), структура распредения затрат (CBS)
+- Использование стандартных структур: Структурная декомпозиция работ (СДР), иерархическая структура ресурсов (RBS), структура распределения затрат (CBS)
- Настраиваемый уровень детализации на диаграмме Ганта
-- Поддержка итоговых задач, задач и этапов
+- Поддержка итоговых задач и этапов
- Настраиваемые ограничения планирования
![Скриншот программы](./img/screenshot.png)
-
\ No newline at end of file
+
diff --git a/docs/apps/plasmatube/index.md b/docs/apps/plasmatube/index.md
index 164c91f..9710878 100644
--- a/docs/apps/plasmatube/index.md
+++ b/docs/apps/plasmatube/index.md
@@ -1,22 +1,22 @@
---
title: PlasmaTube
aggregation:
- flatpak: org.kde.plasmatube
+ flatpak: org.kde.plasmatube
appstream:
- id: org.kde.plasmatube
- name: PlasmaTube
- icon: ./img/org.kde.plasmatube.svg
- summary: Приложение для просмотра видео с YouTube на телефоне или компьютере.
- keywords:
- - kdedeveloped
- developer:
- name: KDE Community
- metadata_license:
- name: GNU GPLv3.0
- link: https://choosealicense.com/licenses/gpl-3.0/
- url:
- homepage: https://apps.kde.org/ru/plasmatube/
- bugtracker: https://bugs.kde.org/enter_bug.cgi?product=PlasmaTube
+ id: org.kde.plasmatube
+ name: PlasmaTube
+ icon: ./img/org.kde.plasmatube.svg
+ summary: Приложение для просмотра видео с YouTube на телефоне или компьютере.
+ keywords:
+ - kdedeveloped
+ developer:
+ name: KDE Community
+ metadata_license:
+ name: GNU GPLv3
+ link: https://choosealicense.com/licenses/gpl-3.0/
+ url:
+ homepage: https://apps.kde.org/ru/plasmatube/
+ bugtracker: https://bugs.kde.org/enter_bug.cgi?product=PlasmaTube
---
# PlasmaTube
diff --git a/docs/apps/qbittorrent/index.md b/docs/apps/qbittorrent/index.md
index dd5b63e..94542ca 100644
--- a/docs/apps/qbittorrent/index.md
+++ b/docs/apps/qbittorrent/index.md
@@ -1,50 +1,49 @@
---
title: qBittorrent
aggregation:
- flatpak: org.qbittorrent.qBittorrent
- sisyphus: qbittorrent
+ flatpak: org.qbittorrent.qBittorrent
+ sisyphus: qbittorrent
appstream:
- id: org.qbittorrent.qBittorrent
- name: qBittorrent
- icon: ./img/qbittorrent-logo.svg
- summary: Cвободный кроссплатформенный клиент файлообменной сети BitTorrent.
- developer:
- name: qBittorrent Community
- metadata_license:
- name: GNU GPLv3 + OpenSSL
- link: https://github.com/qbittorrent/qBittorrent/blob/master/COPYING/
- url:
- homepage: https://www.qbittorrent.org/
- bugtracker: https://github.com/qbittorrent/qBittorrent/issues/
- translate: https://github.com/qbittorrent/qBittorrent/wiki/How-to-translate-qBittorrent
+ id: org.qbittorrent.qBittorrent
+ name: qBittorrent
+ icon: ./img/qbittorrent-logo.svg
+ summary: Свободный кроссплатформенный клиент файлообменной сети BitTorrent.
+ developer:
+ name: qBittorrent Community
+ metadata_license:
+ name: GNU GPLv3 + OpenSSL
+ link: https://github.com/qbittorrent/qBittorrent/blob/master/COPYING/
+ url:
+ homepage: https://www.qbittorrent.org/
+ bugtracker: https://github.com/qbittorrent/qBittorrent/issues/
+ translate: https://github.com/qbittorrent/qBittorrent/wiki/How-to-translate-qBittorrent
gallery:
- 1:
- title: Галерея
- type: silentbox
- images:
- https://www.youtube.com/watch?v=XPe_MSCHBQ8:
- description: Видео фиулвифдцтдл
- download: true
- autoplay: true
- controls: false
- https://www.youtube.com/watch?v=g3xIvgnrWVk: Что угодго, просто чтобы был ключ, если не нужны параметры
- https://www.youtube.com/watch?v=XPe_MSC1BQ8:
- description: Видео фиулвфцафцацвфцвфцифдцтдл
- download: true
- autoplay: true
- controls: false
- lazyload: true
- 2:
- title: Ой, а это вторая галерея
- type: silentbox
- images:
- ./img/screenshot.png: 1
- ./img/screenshot copy.png:
- download: true
- ./img/screenshot copy 2.png:
- description: Очередной скриншот
- lazyload: true
-
+ 1:
+ title: Галерея
+ type: silentbox
+ images:
+ https://www.youtube.com/watch?v=XPe_MSCHBQ8:
+ description: Видео фиулвифдцтдл
+ download: true
+ autoplay: true
+ controls: false
+ https://www.youtube.com/watch?v=g3xIvgnrWVk: Что угодно, просто чтобы был ключ, если не нужны параметры
+ https://www.youtube.com/watch?v=XPe_MSC1BQ8:
+ description: Видео фиулвфцафцацвфцвфцифдцтдл
+ download: true
+ autoplay: true
+ controls: false
+ lazyload: true
+ 2:
+ title: Ой, а это вторая галерея
+ type: silentbox
+ images:
+ ./img/screenshot.png: 1
+ ./img/screenshot copy.png:
+ download: true
+ ./img/screenshot copy 2.png:
+ description: Очередной скриншот
+ lazyload: true
---
# qBittorrent
@@ -52,4 +51,4 @@ gallery:
qBittorrent — это бесплатный и открытый клиент BitTorrent, который позволяет пользователям загружать и скачивать файлы через протокол BitTorrent.
-
\ No newline at end of file
+
diff --git a/docs/apps/steam/index.md b/docs/apps/steam/index.md
index d56ab88..e9b3bcb 100644
--- a/docs/apps/steam/index.md
+++ b/docs/apps/steam/index.md
@@ -1,31 +1,31 @@
---
title: Steam
aggregation:
- flatpak:
- id: com.valvesoftware.Steam
- build: unoffical
- sisyphus: steam
- epm:
- play:
- id: steam
- build: unoffical
+ flatpak:
+ id: com.valvesoftware.Steam
+ build: unofficial
+ sisyphus: steam
+ epm:
+ play:
+ id: steam
+ build: unofficial
appstream:
- id: steam.desktop
- name: Steam
- icon: ./img/steam-logo.svg
- summary: Клиент для платформы Steam
- keywords:
- - proprietary
- - restrictions
- developer:
- name: Valve Software
- avatar: https://avatars.githubusercontent.com/u/3082775?s=200&v=4
- metadata_license:
- name: Собственная
- link: https://store.steampowered.com/eula/243950_eula_0
- url:
- homepage: https://store.steampowered.com/
- bugtracker: https://github.com/ValveSoftware/steam-for-linux/issues
+ id: steam.desktop
+ name: Steam
+ icon: ./img/steam-logo.svg
+ summary: Клиент для платформы Steam
+ keywords:
+ - proprietary
+ - restrictions
+ developer:
+ name: Valve Software
+ avatar: https://avatars.githubusercontent.com/u/3082775?s=200&v=4
+ metadata_license:
+ name: Собственная
+ link: https://store.steampowered.com/eula/243950_eula_0
+ url:
+ homepage: https://store.steampowered.com/
+ bugtracker: https://github.com/ValveSoftware/steam-for-linux/issues
---
# Steam
@@ -54,11 +54,11 @@ Proton — интегрированный со Steam Play инструмент,
Запустите клиент и найдите в верхней части приложения надпись Steam. При нажатии на неё откроется контекстное меню, выберите пункт «Настройки». В настройках перейдите в раздел совместимость и выберите:
-* Включить Steam Play, для поддерживаемых продуктов
-* Включить Steam Play для других продуктов
-* Включить другие игры с помощью `Proton 8.x.x`
+- Включить Steam Play, для поддерживаемых продуктов
+- Включить Steam Play для других продуктов
+- Включить другие игры с помощью `Proton 8.x.x`
-Включить поддержку Steam Play возможно и для конкретной игры. В разделе **БИБЛИОТЕКА** в перечне с играми выберите из списка игру, вызовите контекстное меню правой кликом мышки и выберите пункт свойства. В окне настроек в разделе **Совместимость**, активируйте опции **Принудительно использовать выбранный инструмент совместимости Steam Play** и выберите нужную вам ветку **Proton**
+Включить поддержку Steam Play возможно и для конкретной игры. В разделе **БИБЛИОТЕКА** в перечне с играми выберите из списка игру, вызовите контекстное меню правой кликом мышки и выберите пункт свойства. В окне настроек в разделе **Совместимость**, активируйте опции **Принудительно использовать выбранный инструмент совместимости Steam Play** и выберите нужную вам ветку **Proton**
![Steam Play](./img/steam_play.gif)
@@ -77,9 +77,11 @@ su -
apt-get update
apt-get install vulkan-amdgpu xorg-drv-amdgpu i586-xorg-drv-amdgpu
```
+
```shell[epm]
epm -i vulkan-amdgpu xorg-drv-amdgpu i586-xorg-drv-amdgpu
```
+
:::
## Запуск Steam для графических устройств от Intel
@@ -93,9 +95,11 @@ su -
apt-get update
apt-get install i586-libGL i586-libGLU i586-xorg-dri-intel
```
+
```shell[epm]
epm -i i586-libGL i586-libGLU i586-xorg-dri-intel
```
+
:::
## Рекомендации и обходные решения
@@ -105,6 +109,7 @@ epm -i i586-libGL i586-libGLU i586-xorg-dri-intel
Проверьте что при запуске игры в вашей системе выбрана английская раскладка клавиатуры. Если это не так, то закройте игру, поменяйте раскладку на английскую и запустите игру заново.
Так-же можно добавить параметр запуска к игре, это должно решить проблему:
+
```shell
-input_button_code_is_scan_code
```
@@ -113,7 +118,7 @@ epm -i i586-libGL i586-libGLU i586-xorg-dri-intel
### Залипают клавиши (stuck down) в играх Steam Play (Proton)
-Вы можете использовать xset утилиту, которая работает на X.org уровне в средах рабочего стола.
+Вы можете использовать `xset` утилиту, которая работает на X.org уровне в средах рабочего стола.
Отключить повторение с клавиатуры:
@@ -122,7 +127,8 @@ xset r off
```
:::info
-Как правило, данная проблема связанна с ошибкой в библиотеке Ibus.)
+Как правило, данная проблема связанна с ошибкой в библиотеке Ibus.
+
Данный метод работает как в Xorg, так и Wayland сессиях.
:::
@@ -132,7 +138,7 @@ xset r off
xset r on
```
-### Зависание мышки при движении в играх
+### Зависание мышки при движении в играх
Данная проблема обусловлена подключением «Неизвестного монитора» в списке устройств у пользователей NVIDIA c проприетарными драйверами версии 535.xx. Временное решение описано на станице [NVIDIA](https://alt-gnome.wiki/nvidia.html#%C2%AB%D0%BD%D0%B5%D0%B8%D0%B7%D0%B2%D0%B5%D1%81%D1%82%D0%BD%D1%8B%D0%B8-%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%C2%BB-%D0%B2-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D0%BA%D0%B0%D1%85-%D0%B4%D0%B8%D1%81%D0%BF%D0%BB%D0%B5%D0%B5%D0%B2-%D0%B2-%D1%81%D0%B5%D1%81%D1%81%D0%B8%D0%B8-wayland)
@@ -148,4 +154,4 @@ xset r on
```shell
flatpak override --user --env=STEAM_FORCE_DESKTOPUI_SCALING=1.25 com.valvesoftware.Steam
-```
\ No newline at end of file
+```
diff --git a/docs/developers/python/index.md b/docs/developers/python/index.md
index 636b43b..6d8ac3b 100644
--- a/docs/developers/python/index.md
+++ b/docs/developers/python/index.md
@@ -18,9 +18,11 @@ apt-get update
apt-get install gcc-c++ zlib-devel libssl-devel libsqlite3-devel libffi-devel
exit
```
+
```shell[epm]
epm -i gcc-c++ zlib-devel libssl-devel libsqlite3-devel libffi-devel
```
+
:::
## Установка из исходного кода
@@ -59,8 +61,6 @@ exit
`VERSION` — необходимая версия Python. \
`--prefix` — устанавливает директорию для сборки, можно убрать.
-
-
:::info
При сборке Python в собственную директорию, необходимо добавить её в переменную PATH.
:::
@@ -75,12 +75,14 @@ apt-get update
apt-get install pip
exit
```
+
```shell[epm]
epm -i pip
```
+
:::
-## Использование venv
+## Использование `venv`
### Переходим в папку проекта:
@@ -94,4 +96,4 @@ cd /path/to/project/
python3.10 -m venv venv
source venv/bin/activate
pip install -U pip
-```
\ No newline at end of file
+```
diff --git a/docs/developers/python/poetry/index.md b/docs/developers/python/poetry/index.md
index bb0e7c2..c640e59 100644
--- a/docs/developers/python/poetry/index.md
+++ b/docs/developers/python/poetry/index.md
@@ -28,7 +28,8 @@ poetry new NAME
`NAME` — название проекта.
-::: details Пример архитектуры
+::: details Пример архитектуры
+
```shell
new_project
├── new_project
@@ -38,6 +39,7 @@ new_project
└── tests
└── __init__.py
```
+
:::
### Инициализация существующего проекта:
@@ -108,20 +110,20 @@ poetry config OPTION VALUE
`OPTION` — параметр. \
`VALUE` — значение.
-| Параметр | Тип | Описание |
-| :----------------------------------------|:--------|:--------------------------------------------------------------------------- |
-| cache-dir | string | Путь к каталогу кэша, используемому Poetry |
-| experimental.system-git-client | boolean | Использовать серверную часть системного клиента git |
-| installer.max-workers | int | Максимальное количество рабочих при использовании параллельного установщика |
-| installer.modern-installation | boolean | Более современный и быстрый метод установки пакета |
-| installer.no-binary | boolean | Не устанавливать бинарные зависимости |
-| installer.parallel | boolean | Параллельное выполнение при использовании нового установщика |
-| virtualenvs.create | boolean | Создание venv при его отсутствие |
-| virtualenvs.in-project | boolean | Создавать venv в каталоге проекта |
-| virtualenvs.options.always-copy | boolean | Создавать файлы окружения вместо ссылок |
-| virtualenvs.options.no-pip | boolean | Не устанавливать pip |
-| virtualenvs.options.no-setuptools | boolean | Не устанавливать setuptools |
-| virtualenvs.options.system-site-packages | boolean | Использовать системные зависимости |
-| virtualenvs.path | string | Каталог для хранения venv |
-| virtualenvs.prefer-active-python | boolean | Использовать текущий активированный Python для venv |
-| virtualenvs.prompt | string | Строка, которая будет отображаться при активации venv |
+| Параметр | Тип | Описание |
+| :----------------------------------------- | :------ | :-------------------------------------------------------------------------- |
+| `cache-dir` | string | Путь к каталогу кэша, используемому Poetry |
+| `experimental.system-git-client` | boolean | Использовать серверную часть системного клиента Git |
+| `installer.max-workers` | int | Максимальное количество рабочих при использовании параллельного установщика |
+| `installer.modern-installation` | boolean | Более современный и быстрый метод установки пакета |
+| `installer.no-binary` | boolean | Не устанавливать бинарные зависимости |
+| `installer.parallel` | boolean | Параллельное выполнение при использовании нового установщика |
+| `virtualenvs.create` | boolean | Создание venv при его отсутствие |
+| `virtualenvs.in-project` | boolean | Создавать venv в каталоге проекта |
+| `virtualenvs.options.always-copy` | boolean | Создавать файлы окружения вместо ссылок |
+| `virtualenvs.options.no-pip` | boolean | Не устанавливать pip |
+| `virtualenvs.options.no-setuptools` | boolean | Не устанавливать setuptools |
+| `virtualenvs.options.system-site-packages` | boolean | Использовать системные зависимости |
+| `virtualenvs.path` | string | Каталог для хранения venv |
+| `virtualenvs.prefer-active-python` | boolean | Использовать текущий активированный Python для venv |
+| `virtualenvs.prompt` | string | Строка, которая будет отображаться при активации venv |
diff --git a/docs/developers/python/qt6-app/index.md b/docs/developers/python/qt6-app/index.md
index c2235d7..b34463a 100644
--- a/docs/developers/python/qt6-app/index.md
+++ b/docs/developers/python/qt6-app/index.md
@@ -15,11 +15,13 @@ mkdir test_qt
cd test_qt
pip3 install pyqt6
```
+
```shell[poetry]
poetry new test_qt
cd test_qt
poetry add pyqt6
```
+
:::
### Вставляем код в файл main.py:
@@ -27,9 +29,11 @@ poetry add pyqt6
```shell
nano main.py
```
+
::: info Обратите внимание
В данном примере мы используем редактор `nano`, вы же можете использовать любой другой.
:::
+
```python
from PyQt6.QtWidgets import QApplication, QLabel, QMainWindow, QPushButton
from PyQt6.QtGui import QDesktopServices
@@ -42,14 +46,14 @@ class MainWindow(QMainWindow):
self.setWindowTitle("Пример")
self.setMinimumSize(250, 200)
self.setMaximumSize(250, 200)
-
+
label = QLabel("Привет, мир", self)
label.move(78, 50)
button = QPushButton("ALT KDE Wiki", self)
button.move(75, 100)
button.clicked.connect(self.open_website)
-
+
def open_website(self):
url = QUrl("https://alt-kde.wiki")
QDesktopServices.openUrl(url)
@@ -69,10 +73,12 @@ if __name__ == "__main__":
```shell[pip]
python3 main.py
```
+
```shell[poetry]
poetry shell
python3 main.py
```
+
:::
-![qt-app](./img/qt-app.png)
\ No newline at end of file
+![qt-app](./img/qt-app.png)
diff --git a/docs/developers/rust/index.md b/docs/developers/rust/index.md
index f4f13e4..65cee79 100644
--- a/docs/developers/rust/index.md
+++ b/docs/developers/rust/index.md
@@ -30,7 +30,8 @@ cargo new NAME
`NAME` — название проекта.
-::: details Пример архитектуры
+::: details Пример архитектуры
+
```shell
new_project
├── Cargo.lock
@@ -40,6 +41,7 @@ new_project
└── src/
└── main.rs
```
+
:::
### Указание зависимостей:
@@ -66,4 +68,4 @@ cargo build --release
```shell
cargo run
-```
\ No newline at end of file
+```
diff --git a/docs/download/index.md b/docs/download/index.md
index e1bf243..a9e7686 100644
--- a/docs/download/index.md
+++ b/docs/download/index.md
@@ -2,7 +2,7 @@
Доступны несколько наборов образов, специфичных для конкретных сред/архитектур. Для скачивания доступны две ветки:
-- **tested** — образ обновляется после проверки сопровождающим проекта, обновление образа зависит от объема изменений и других факторов;
+- **tested** — образ обновляется после проверки сопровождающим проекта, обновление образа зависит от объёма изменений и других факторов;
- **current** — обновляется без проверки сопровождающим проекта, автоматически инструментами Сизифа, обновление образа еженедельно (каждую среду);
## Скачать ALT Regular KDE с Яндекс Зеркала
@@ -19,4 +19,4 @@
:::warning
На текущий момент, у репозитория производителя отсутствуют сертификаты безопасности SSL (https соединение), это связанно с устройством информационного портала, возможное изменение статуса в 2024 году, после релиза бранча P11
-:::
\ No newline at end of file
+:::
diff --git a/docs/graphics/nvidia/index.md b/docs/graphics/nvidia/index.md
index 9d19b39..7520ec2 100644
--- a/docs/graphics/nvidia/index.md
+++ b/docs/graphics/nvidia/index.md
@@ -8,7 +8,7 @@ NVIDIA — это собственный драйвер самой компан
Важно отметить, что драйвер NVIDIA постоянно развивается и обновляется, и различные версии этого драйвера могут иметь свои особенности и ограничения, [поэтому критически важно знать версию установленного драйвера и информацию, связанную с ним.](./nvidia-drivers/#настроика-драиверов)
-При установке основного пакета [nvidia_glx_common](./nvidia-drivers/#способ-2-вручную), необходимая версия драйвера устанавливается автоматически, и не требуется никаких дополнительных действий со стороны пользователя.
+При установке основного пакета [nvidia_glx_common](./nvidia-drivers/#способ-2-вручную), необходимая версия драйвера устанавливается автоматически, и не требуется никаких дополнительных действий со стороны пользователя.
Также существует скрипт установки через [EPM](./nvidia-drivers/#способ-1-через-epm), предлагающий собственные дополнительные настройки.
@@ -29,11 +29,13 @@ Nouveau — это [open-source](https://en.wikipedia.org/wiki/Open-source_softw
## Выбор правильного драйвера:
При выборе драйвера для графического чипа, следует учесть три основных аспекта:
-1. **Развитие драйверов:** Как Nouveau, так и NVIDIA постоянно обновляются и развиваются. Невозможно точно предсказать, какие функции будут добавлены или изменены в каждом из них в будущем. Если однажды услышали, что чего-то нет в каких-то драйверах, через пол-года это может поменяться.
-2. **Архитектура графического чипа:** Важно учитывать, что старые модели графических чипов, как правило, лучше работают с драйвером Nouveau, чем с последними поддерживаемым драйвером NVIDIA, но всё индивидуально и необходимо проверять для каждой архитектуры видеочипов отдельно. Для проверки уровня поддержки различных архитектур можно обратиться к [FeatureMatrix](https://nouveau.freedesktop.org/FeatureMatrix.html) для Nouveau и к странице ["Закрытые драйвера"](./nvidia-drivers/index.md) в случае с NVIDIA (См. блоки «Для драйверов XXX»).
-3. **Происхождение драйверов:** Проприетарный драйвер NVIDIA разрабатываются самой компанией NVIDIA и зачастую не контактирует с сообществом Linux. В то же время Nouveau является частью проекта Mesa 3D ( одной из основных частей графического стека Linux), но разрабатывается с помощью реверс-инжиниринга. Это означает, что проприетарный драйвер обычно обеспечивает более высокий уровень поддержки видеокарт NVIDIA, в то время как Nouveau обеспечивает более глубокую интеграцию с системами GNU Linux.
+
+1. **Развитие драйверов:** Как Nouveau, так и NVIDIA постоянно обновляются и развиваются. Невозможно точно предсказать, какие функции будут добавлены или изменены в каждом из них в будущем. Если однажды услышали, что чего-то нет в каких-то драйверах, через полгода это может поменяться.
+2. **Архитектура графического чипа:** Важно учитывать, что старые модели графических чипов, как правило, лучше работают с драйвером Nouveau, чем с последними, где предпочтительнее использовать драйвер NVIDIA. Однако всё индивидуально, и проверка требуется для каждой архитектуры видеочипов отдельно. Для проверки уровня поддержки различных архитектур можно обратиться к [Feature Matrix](https://nouveau.freedesktop.org/FeatureMatrix.html) для Nouveau и к [блоку настройки драйвера](#настройка-драйвера) в случае с NVIDIA.
+3. **Происхождение драйверов:** Проприетарный драйвер NVIDIA разрабатываются самой компанией NVIDIA и зачастую не контактирует с сообществом Linux. В то же время Nouveau является частью проекта Mesa (одной из основных частей графического стека GNU/Linux). Однако он разрабатывается с помощью реверс-инжиниринга, то есть проприетарный драйвер обычно обеспечивает более высокий уровень поддержки видеокарт, в то время как Nouveau обеспечивает более глубокую интеграцию с GNU/Linux системами.
### На данный момент, драйвера имеют следующие основные различия:
+
Проприетарный драйвер NVIDIA обеспечивает управление питанием большего числа видеокарт, поддерживают работу CUDA, а также обеспечивают лучшую поддержку игр и графических программ. Это способствует более комфортной работе с операционной системой.
С другой стороны, Nouveau встроен в ядро Linux и обычно не требует дополнительных настроек. Он также поддерживает управление питанием, но на меньшем количестве видеокарт, не поддерживает CUDA и имеют плохую поддержку игр. В некоторых моментах обеспечивает лучшую поддержку там, [где NVIDIA имеет плохую](https://gitlab.freedesktop.org/xorg/xserver/-/issues/1317).
@@ -43,15 +45,17 @@ Nouveau — это [open-source](https://en.wikipedia.org/wiki/Open-source_softw
:::
### Рекомендации по выбору:
+
Если вам необходимы игры, CUDA и другие технологии NVIDIA, и при использовании Nouveau возникают проблемы с производительностью, рекомендуется установить драйвер NVIDIA.
Если вы не используете вышеупомянутые технологии, и ваша видеокарта работает стабильно на Nouveau, рекомендуется остаться на нём.
### Источники:
+
https://www.altlinux.org/Nvidia
https://en.wikipedia.org/wiki/Nouveau_(software)
https://x.org/
-https://nouveau.freedesktop.org/
\ No newline at end of file
+https://nouveau.freedesktop.org/
diff --git a/docs/graphics/nvidia/nvidia-drivers/index.md b/docs/graphics/nvidia/nvidia-drivers/index.md
index cabee7d..baba2e5 100644
--- a/docs/graphics/nvidia/nvidia-drivers/index.md
+++ b/docs/graphics/nvidia/nvidia-drivers/index.md
@@ -30,7 +30,8 @@ epm play switch-to-nvidia
su -
update-kernel
```
-Для дальнейшей установки проприетарных драйвера NVIDIA, **необходимо перезагрузить операционную систему**.
+
+Для дальнейшей установки проприетарных драйвера NVIDIA, **необходимо перезагрузить операционную систему**.
Установим проприетарный драйвер NVIDIA:
@@ -52,6 +53,7 @@ make-initrd
Далее будет описана важная информация и настройка каждой из этих версий.
Чтобы узнать версию Ваших драйвера, необходимо ввести:
+
```shell
inxi -G
```
@@ -63,6 +65,7 @@ inxi -G
Если установили вручную, смотрите дальнейшую настройку.
#### Сессия Wayland
+
Для работы Wayland необходимо настроить [сохранение выделенных ресурсов видеопамяти](#настроика-сохранение-выделенных-ресурсов-видеопамяти)
::: warning
@@ -70,6 +73,7 @@ inxi -G
:::
### Драйвер 470.223.02
+
::: info
Драйвер до версии 495 имеет поддержку только одного buffer API — [EGLStreams](https://www.phoronix.com/news/GNOME-Mutter-Mainline-EGLStream).
@@ -81,6 +85,7 @@ Kwin [удалила поддержку EGLStreams](https://invent.kde.org/plasm
:::
#### Проблема с Intel:
+
Драйвер 470.223.02 и более ранние версии, начиная с **Linux 5.18** могут работать неправильно в системах с процессорами Intel 11-го поколения и новее, из-за несовместимости с [Indirect Branch Tracking](https://edc.intel.com/content/www/us/en/design/ipla/software-development-platforms/client/platforms/alder-lake-desktop/12th-generation-intel-core-processors-datasheet-volume-1-of-2/007/indirect-branch-tracking/).
Можно отключить его, добавив значение `ibt=off` в параметр `GRUB_CMDLINE_LINUX_DEFAULT`:
@@ -117,6 +122,7 @@ Kwin [удалила поддержку EGLStreams](https://invent.kde.org/plasm
:::
#### Сессия Wayland
+
Kwin [удалила поддержку EGLStreams](https://invent.kde.org/plasma/kwin/-/merge_requests/1638).
**Сессия Wayland на данном драйвере не поддерживается.**
@@ -125,12 +131,15 @@ Kwin [удалила поддержку EGLStreams](https://invent.kde.org/plasm
::: info
Для драйвера до версии ~400 ускоренное декодирование видео NVDEC **недоступен**.
:::
+
#### Сессия Wayland
+
Драйверы до версии 364.12 **не имеют поддержку Kernel Mode Settings**.
**Сессия Wayland на данном драйвере не поддерживается.**
### Драйвер 304.137
+
::: info
Для драйвера до версии ~400 ускоренное декодирование видео NVDEC **недоступен**.
@@ -138,11 +147,13 @@ Kwin [удалила поддержку EGLStreams](https://invent.kde.org/plasm
:::
#### Сессия Wayland
+
Драйверы до версии 364.12 **не имеют поддержку Kernel Mode Settings**.
**Сессия Wayland на данном драйвере не поддерживается.**
## Полезные программы:
+
::: info
При установке драйвера через **EPM**, многие программы, скорее всего уже будут установлены.
@@ -167,12 +178,15 @@ su -
apt-get update
apt-get install nvidia-settings
```
+
```shell[epm]
epm -i nvidia-settings
```
+
:::
### nvidia-smi
+
[nvidia-smi](https://developer.download.nvidia.com/compute/DCGM/docs/nvidia-smi-367.38.pdf) (также NVSMI) предоставляет возможности мониторинга и управления для NVIDIA Tesla, Quadro, GRID и GeForce начиная с семейства Fermi.
```shell[apt-get]
@@ -180,30 +194,30 @@ su -
apt-get update
apt-get install nvidia-smi
```
+
```shell[epm]
epm -i nvidia-smi
```
-
### EnvyControl
EnvyControl это утилита командной строки которая позволяет выбирать режим работы гибридной графики, на выбор представлено три режима
#### Гибридный режим
- - Позволяет драйверу самому решать какой графический процессор использовать, обычно большую часть времени используется интегрированная графика, а дискретная графика работает только если она нужна, например в играх или программах для монтажа
- - Позволяет использовать RTD3, [подробнее](#управление-питанием-pci-express-runtime-d3-rtd3)
- - Работает только на видеокартах Turing и выше
- - Возможны проблемы с HDMI
+- Позволяет драйверу самому решать какой графический процессор использовать, обычно большую часть времени используется интегрированная графика, а дискретная графика работает только если она нужна, например в играх или программах для монтажа
+- Позволяет использовать RTD3, [подробнее](#управление-питанием-pci-express-runtime-d3-rtd3)
+- Работает только на видеокартах Turing и выше
+- Возможны проблемы с HDMI
- #### Интегрированный режим
+#### Интегрированный режим
- - Использует только интегрированную графику (Intel или AMD) отключая Nvidia
- - Мониторы подключенные к Nvidia работать не будут
+- Использует только интегрированную графику (Intel или AMD) отключая Nvidia
+- Мониторы подключенные к Nvidia работать не будут
#### Nvidia режим
- - Используется исключительно видеокарта от Nvidia
+- Используется исключительно видеокарта от Nvidia
#### Пара примеров
@@ -222,6 +236,7 @@ envycontrol -s hybrid --rtd3
```
Установить гибридный режим, включить ForceCompositionPipeline, а так же установить coolbits на 28 разрешая разгон видеокарты:
+
```shell
su-
envycontrol -s nvidia --force-comp --coolbits 24
@@ -235,12 +250,14 @@ su -
apt-get update
apt-get install envycontrol
```
+
```shell[epm]
epm -i envycontrol
```
+
:::
-После установки рекомендуем ввести команду ```envycontrol --help``` что бы ознакомится со всеми возможностями утилиты, если вы желаете использовать графическую утилиту, доступен так же [апплет для KDE plasma](https://store.kde.org/p/2138365/)
+После установки рекомендуем ввести команду `envycontrol --help` что бы ознакомится со всеми возможностями утилиты, если вы желаете использовать графическую утилиту, доступен так же [апплет для KDE plasma](https://store.kde.org/p/2138365/)
### vulkan-tools
@@ -253,9 +270,11 @@ su -
apt-get update
apt-get install vulkan-tools
```
+
```shell[epm]
epm -i vulkan-tools
```
+
:::
Для вывода информации `vulkaninfo` в терминале введите:
@@ -265,6 +284,7 @@ vulkaninfo --summary
```
### nvidia-vaapi-driver
+
Реализация VA-API, использующая NVDEC в качестве бэкенда. Эта реализация специально разработана для использования в Firefox для ускоренного декодирования веб-содержимого и может работать некорректно в других приложениях. Доп. информацию смотрите на [странице проекта](https://github.com/elFarto/nvidia-vaapi-driver)
```shell[apt-get]
@@ -274,6 +294,7 @@ apt-get install nvidia-vaapi-driver
```
### nvidia-modprobe
+
Утилита nvidia-modprobe используется компонентами драйвера NVIDIA в пользовательском пространстве
для проверки загрузки модуля ядра NVIDIA и наличия
файлов символьных устройств NVIDIA. Эти возможности обычно предоставлялись
@@ -289,6 +310,7 @@ apt-get install nvidia-modprobe
```
### nvidia-cuda-toolkit
+
Этот пакет содержит библиотеки и сопутствующие файлы, необходимые для запуска
программ, использующих [CUDA](https://developer.nvidia.com/cuda-toolkit).
@@ -299,6 +321,7 @@ apt-get install nvidia-cuda-toolkit
```
### nvidia-xconfig
+
nvidia-xconfig - это инструмент, предназначенный для обеспечения базового управления по параметрам конфигурации, доступным в драйвере NVIDIA X11.
```shell[apt-get]
@@ -310,6 +333,7 @@ apt-get install nvidia-xconfig
## Детальная настройка драйвера
### Активация [Kernel Mode Setting](https://www.kernel.org/doc/html/latest/gpu/drm-kms.html).
+
Необходимо прописать в параметр `GRUB_CMDLINE_LINUX_DEFAULT` значение `nvidia-drm.modeset=1` и сгенерировать новых grub.cfg:
```shell
@@ -317,6 +341,7 @@ su -
mcedit /etc/sysconfig/grub2
grub-mkconfig -o /boot/grub/grub.cfg
```
+
::: tip
Чтобы проверить, работает ли KMS, напишите в терминале от пользователя root (Администратора):
@@ -332,6 +357,7 @@ grub-mkconfig -o /boot/grub/grub.cfg
:::
### Настройка сохранение выделенных ресурсов видеопамяти
+
[NVIDIA предлагает 2 способа](https://download.nvidia.com/XFree86/Linux-x86_64/550.40.07/README/powermanagement.html):
#### 1 способ. Через сохранение в безымянных временных файлах.
@@ -343,12 +369,13 @@ grub-mkconfig -o /boot/grub/grub.cfg
**Как включить:**
- Активируем интерфейсы управления питания NVIDIA:
+Активируем интерфейсы управления питания NVIDIA:
```shell
su -
systemctl enable nvidia-suspend.service nvidia-resume.service nvidia-hibernate.service
```
+
::: tip
Эти интерфейсы заменяют стандартные sleep hibernate и resume, давая возможность записать ресурсы видеопамяти перед отключением питания у видеокарты.
:::
@@ -371,9 +398,9 @@ make-initrd
::: info
Для сохранения ресурсов видеопамяти важно, чтобы файловая система имела поддержку безымянных временных файлов и имела достаточный объём для сохранения видеопамяти. Объём, равный сумме всей видеопамяти + 5% от неё, будет вполне достаточно для её сохранения.
-Узнать количество видеопамяти можно командой: `nvidia-smi -q -d MEMORY |grep 'FB Memory Usage' -A1`
+Узнать количество видеопамяти можно командой: `nvidia-smi -q -d MEMORY | grep 'FB Memory Usage' -A1`
-NVIDIA не даёт каких-то конкретных рекомендаций, какую директорию использовать, но на форумах зачастую рекомендуют `/var/tmp`, и судя по её [описанию](https://www.pathname.com/fhs/pub/fhs-2.3.html#VARTMPTEMPORARYFILESPRESERVEDBETWEE), этоn вариант наиболее рационален.
+NVIDIA не даёт каких-то конкретных рекомендаций, какую директорию использовать, но на форумах зачастую рекомендуют `/var/tmp`, и судя по её [описанию](https://www.pathname.com/fhs/pub/fhs-2.3.html#VARTMPTEMPORARYFILESPRESERVEDBETWEE), этоn вариант наиболее рационален.
:::
#### 2 способ. Через через режим сохранения питания [S0ix](https://ru.msi.com/blog/why-modern-standby-matters-for-business-laptop#:~:text=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F%20Modern%20Standby%20%E2%80%93%20%D1%8D%D1%82%D0%BE,%D0%BE%D0%BD%D0%B0%20%D0%BF%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82%20%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D1%83%20%C2%AB%D0%BF%D1%80%D0%BE%D0%B1%D1%83%D0%B6%D0%B4%D0%B0%D1%82%D1%8C%D1%81%D1%8F%C2%BB%20%D0%BC%D0%BE%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE).
@@ -388,6 +415,7 @@ NVIDIA не даёт каких-то конкретных рекомендаци
```shell
cat /sys/power/mem_sleep
```
+
::: tip
Если в выводе есть s2idle, значит s2idle поддерживается и проверяем видеочип. Если в выводе нет s2idle, тогда используйте 1 способ.
:::
@@ -398,11 +426,12 @@ cat /sys/power/mem_sleep
```shell
grep 'Video Memory Self Refresh' /proc/driver/nvidia/gpus/::.0/power
```
+
::: tip
Если ответ `Video Memory Self Refresh: is supported` значит s0ix поддерживает и можно проверять систему дальше.
:::
-Если система и видеочип поддерживает указанные режимы, добавляем параметр `NVreg_EnableS0ixPowerManagement=1`:
+Если система и видеочип поддерживает указанные режимы, добавляем параметр `NVreg_EnableS0ixPowerManagement=1`:
```shell
su -
@@ -415,6 +444,7 @@ modprobe nvidia NVreg_EnableS0ixPowerManagement=1
su -
echo "s2idle" > /sys/power/mem_sleep
```
+
После указания опции и режима , тестируем сон и проверяем, всё ли корректно загрузилось. Если всё хорошо, добавляем настройки на постоянную загрузку:
```shell
@@ -424,7 +454,9 @@ options nvidia NVreg_EnableS0ixPowerManagement=1
_EOF_
make-initrd
```
+
Если ранее приходилось вручную указывать s2idle, прописываем в параметр `GRUB_CMDLINE_LINUX_DEFAULT` значение `mem_sleep_default=s2idle` и генерируем новых grub.cfg:
+
```shell
su -
mcedit /etc/sysconfig/grub2
@@ -433,6 +465,7 @@ grub-mkconfig -o /boot/grub/grub.cfg
::: info
При переходе видеокарты в спящий режим S0ix, будет выполнятся один из 2-х сценариев:
+
- Если использование памяти было меньше определённого порога, видеопамять с копируется в системную память и полностью отключится вместе с графическим процессором
- Если использование памяти было больше определённого порога, видеопамять будет в режиме самообновления, в то время как остальная часть графического процессора будет отключена
@@ -440,6 +473,7 @@ grub-mkconfig -o /boot/grub/grub.cfg
:::
### Управление питанием PCI-Express Runtime D3 (RTD3)
+
Драйвер NVIDIA имеет поддержку динамического управления питанием графического процессора NVIDIA ([PCI-Express Runtime D3 (RTD3) Power Management](https://download.nvidia.com/XFree86/Linux-x86_64/550.40.07/README/dynamicpowermanagement.html).
В это управление входит регулирование тактовой частоты, напряжение на разных участках микросхемы, а также, в некоторых случаях, полное отключение тактовой частоты или питания элементов чипа.
@@ -447,6 +481,7 @@ grub-mkconfig -o /boot/grub/grub.cfg
И всё это не влияя на функциональность, позволяя работать графическому процессору с меньшей производительностью, но с более низким потреблением энергии.
Для работы RTD3 необходимо следующее:
+
- Ноутбук
- Процессор из серия чипсетов Coffeelake или новее
- Видеокарта архитектуры Turing или новее
@@ -460,6 +495,7 @@ grub-mkconfig -o /boot/grub/grub.cfg
:::
Для автоматизации управления надо добавить правила в '/lib/udev/rules.d':
+
```shell
su -
cat << _EOF_ > /lib/udev/rules.d/80-nvidia-pm
@@ -475,6 +511,7 @@ make-initrd
```
В /etc/modprobe.d добавляем конфигурационный файл с параметром:
+
```shell
su -
cat << _EOF_ > /etc/modprobe.d/nvidia_RTD3.conf
@@ -495,6 +532,7 @@ make-initrd
[PAT](https://docs.kernel.org/arch/x86/pat.html) более современная технология и является более гибким атрибутом, добавляя новые возможности для организации памяти.
Чтобы её включить, в /etc/modprobe.d добавляем конфигурационный файл с параметром:
+
```shell
su -
cat << _EOF_ > /etc/modprobe.d/nvidia_PAT.conf
@@ -503,6 +541,7 @@ options nvidia NVreg_UsePageAttributeTable=1
_EOF_
make-initrd
```
+
::: warning
Удостоверьтесь, что ваша система поддерживает PAT, а в противном случае, у вас могут быть проблемы с системой.
:::
@@ -550,10 +589,12 @@ _EOF_
## Решение известных проблем
### «Неизвестный монитор» в настройках дисплеев в сессии Wayland
+
:::info
Данная проблема может привести к не работе устройств ввода: мышка, тачпад. Особенно часто данные проблемы проявляются в играх.
:::
На данный момент существует 3 способа устранения фантомного неизвестного монитора:
+
#### Способ 1. Использование собственного фреймбуфера от NVIDIA:
Смотрите настройку [фреймбуфера от NVIDIA](#фреимбуфер-от-nvidia)
@@ -588,11 +629,12 @@ grub-mkconfig -o /boot/grub/grub.cfg
Откройте приложение "Параметры системы KDE5", перейдите во вкладку "Экран", в опции "Настройка экранов" выберите экран "Unknown" в параметре "Устройство" и отключите его, убрав галочку с параметра "Включен".
-### В сессии Wayland панель задач "зависает" (Plasma 5.7):
+### В сессии Wayland панель задач "зависает" (Plasma 5.7):
+
Необходимо отключить "миниатюры окон" в настройках панели задач (Plasma/Tasks)
Для этого необходимо снять галочку с **Показывать миниатюру окна при наведении указателя мыши на элемент в панели задач**.
-Для этого щёлкните правой кнопкой мыши и выберите **"настроить виджет «Панель задач»" -> "Внешний вид" -> "Показывать миниатюру окна при наведении указателя мыши на элемент в панели задач"**
+Для этого щёлкните правой кнопкой мыши и выберите **"настроить виджет «Панель задач»" -> "Внешний вид" -> "Показывать миниатюру окна при наведении указателя мыши на элемент в панели задач"**
::: info
Проблема наблюдается только на Plasma 5.x и затрагивает также владельцев AMD.
@@ -602,24 +644,28 @@ P.S: В KDE Plasma 6 данную проблему уже решили.
:::
### Не работает KMS
+
Если при загрузке системы чёрный экран, либо при проверке 'cat /sys/module/nvidia_drm/parameters/modeset' выводит 'N', можно попробовать [включить KMS через командную строку ядра](#активация-kernel-mode-setting)
### Чёрный экран при выборе сессии X11, либо ошибка в инициализации CUDA
+
Драйвер NVIDIA для Linux по умолчанию использует Message Signaled Interrupts (MSI). Это обеспечивает лучшую совместимость и масштабируемость, из-за избегания совместного использования IRQ.
Было замечено, что некоторые системы имели проблемы с поддержкой MSI.
Все известные ошибки были исправлены, но если наблюдаете данные проблемы, попробуйте отключить MSI:
+
```shell
su -
cat << _EOF_ > /etc/modprobe.d/nvidia_MSI.conf
-# This options deactivate MSI
+# This options deactivate MSI
options nvidia NVreg_EnableMSI=0
_EOF_
make-initrd
```
### Если при установке или первом запуске чёрный экран, артефакты или другие проблемы
+
Если при первом же включении или установке появляются проблемы с отображением картинки, можно попробовать сменить режим вывода графики, чтобы в последующем иметь возможность взаимодействовать с системой и выяснить причины проблем с видеодрайверами.
Для этого необходимо на этапе выбора вариантов загрузки в [GRUB](https://en.wikipedia.org/wiki/GNU_GRUB) нажать кнопку <<**e**>> и дописать одни из следующих параметров:
@@ -627,7 +673,7 @@ make-initrd
- **nomodeset** — не загружать видеодрайверы для видеокарты до момента, пока не будет загружена графическая система X. В результате система загружается в текстовом виде, можно видеть сообщения процесса загрузки, проблема «черного экрана загрузки» устраняется;
- **xdriver** — графический установщик предпринимает попытку автоматического подбора драйвера видеокарты, но иногда это ему не удаётся. Данным параметром можно отключить «искусственный интеллект» и явно указать нужный вариант драйвера;
- **instdebug** — если будет присутствовать этот параметр, то перед запуском и после завершения работы графического установщика будет запущена командная оболочка (shell). Это очень полезное средство для выявления причин отсутствия запуска графической части программы установки. Последовательность работы внутренних сценариев следующая: install2 → xinit → alterator-install2 → alterator-wizard. При необходимости можно вручную загрузить Xorg (команда xinit) и в открывшемся окне терминала запустить alterator-install2 (или alterator-wizard) вручную. Лог-файлы инсталлятора сохраняются в /tmp.
-xdriver — отключает авто определение и принудительно загружает указанный драйвер; можно указать любой драйвер, поддерживаемый Xorg. Например, i915, nvidia, radeon, fglrx и т.д.
+ xdriver — отключает авто определение и принудительно загружает указанный драйвер; можно указать любой драйвер, поддерживаемый Xorg. Например, i915, nvidia, radeon, fglrx и т.д.
Существуют универсальные видеодрайверы:
@@ -655,21 +701,27 @@ xdriver — отключает авто определение и прину
### [nvidia-smi](#nvidia-smi)
С его помощью можно установить порог TDP
+
```shell
su -
nvidia-smi -pl 160.30
```
+
Установить пороги часто GPU:
+
```shell
su -
nvidia-smi -q -d SUPPORTED_CLOCKS
nvidia-smi --lock-gpu-clocks=0,1695 --mode=1
```
+
Установить пороги часто GPU:
+
```shell
su -
nvidia-smi --lock-memory-clocks=0,5001
```
+
Для детальной настройки смотрите его [man-страницу](https://manpages.ubuntu.com/manpages/xenial/man1/alt-nvidia-340-smi.1.html)
::: tip
@@ -693,18 +745,19 @@ https://justin.palpant.us/monitor-and-maximize-nvidia-gpu-performance-on-linux/
Установить битовую маску можно либо в конфигурационном файле xorg.conf в разделе Device, либо через такие программы, как [nvidia-xconfig](#nvidia-xconfig) и [EnvyControl](#envycontrol)
Пример работы с nvidia-xconfig:
+
```shell
nvidia-xconfig --cool-bits=2
```
-|Бит|Описание|
-| - | - |
-| 1 | Если установлено значение "1" (бит 1), позволяет разгонять старые (до Fermi) ядра на странице "Тактовые частоты" в разделе "Настройки nvidia". |
-| 2 | Если установлено значение "2" (бит 1), драйвер NVIDIA попытается инициализировать SLI при использовании графических процессоров с разным объемом видеопамяти. |
-| 4 | Если установлено значение "4" (бит 2), на странице nvidia-настройки термомонитора будет доступна настройка скорости вращения вентилятора графического процессора на графических платах с программируемыми возможностями вентилятора. |
-| 8 | Если установлено значение "8" (бит 3), на странице PowerMizer в панели управления nvidia-настройки отобразится таблица, которая позволяет устанавливать смещения для каждого тактового домена и уровня производительности для применения к тактовым значениям. Это разрешено на некоторых графических процессорах GeForce. Не все тактовые диапазоны или уровни производительности могут быть изменены.(для Fermi и выше) |
-| 16 | Если установлено значение "16" (бит 4), интерфейс командной строки nvidia-settings позволяет настроить перенапряжение графического процессора. Это разрешено на некоторых графических процессорах GeForce.(для Fermi и выше) |
-| 0 | Если установлено значение "0" (бит 0), все неподдерживаемые функции отключены. |
+| Бит | Описание |
+| --- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 1 | Если установлено значение "1" (бит 1), позволяет разгонять старые (до Fermi) ядра на странице "Тактовые частоты" в разделе "Настройки nvidia". |
+| 2 | Если установлено значение "2" (бит 1), драйвер NVIDIA попытается инициализировать SLI при использовании графических процессоров с разным объемом видеопамяти. |
+| 4 | Если установлено значение "4" (бит 2), на странице nvidia-настройки термомонитора будет доступна настройка скорости вращения вентилятора графического процессора на графических платах с программируемыми возможностями вентилятора. |
+| 8 | Если установлено значение "8" (бит 3), на странице PowerMizer в панели управления nvidia-настройки отобразится таблица, которая позволяет устанавливать смещения для каждого тактового домена и уровня производительности для применения к тактовым значениям. Это разрешено на некоторых графических процессорах GeForce. Не все тактовые диапазоны или уровни производительности могут быть изменены.(для Fermi и выше) |
+| 16 | Если установлено значение "16" (бит 4), интерфейс командной строки nvidia-settings позволяет настроить перенапряжение графического процессора. Это разрешено на некоторых графических процессорах GeForce.(для Fermi и выше) |
+| 0 | Если установлено значение "0" (бит 0), все неподдерживаемые функции отключены. |
При перезагрузке все изменения в nvidia-settings сбрасываются. Для сохранения разгона необходимо Использование таких утилит, как [nvclock](https://packages.altlinux.org/ru/sisyphus/srpms/nvclock/) или [gwe](https://packages.altlinux.org/ru/sisyphus/srpms/gwe/)
@@ -722,16 +775,16 @@ _EOF_
## Данные об оборудовании и ПО пользователей за 2024 год.
-Ознакомиться с таблецей вы можете перейдя [по ссылке](https://cloud.alt-gnome.ru/index.php/s/JSCj9gxB7j5boPg)
+Ознакомиться с таблицей вы можете перейдя [по ссылке](https://cloud.alt-gnome.ru/index.php/s/JSCj9gxB7j5boPg)
### Источники:
+
https://www.altlinux.org/Nvidia
https://www.kernel.org/doc/html/latest/gpu/drm-kms.html
https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers/ru
-
https://www.altlinux.org/#Проблемы_с_драйвером_видеокарты
https://bugzilla.altlinux.org/39108
diff --git a/docs/graphics/nvidia/nvidia-nouveau/index.md b/docs/graphics/nvidia/nvidia-nouveau/index.md
index fa3338c..ad39e0b 100644
--- a/docs/graphics/nvidia/nvidia-nouveau/index.md
+++ b/docs/graphics/nvidia/nvidia-nouveau/index.md
@@ -1,9 +1,11 @@
# Nouveau драйвер:
+
## Смена проприетарного драйвера от NVIDIA на Nouveau
Для установки открытого драйвера NOUVEAU, необходимо следующее:
::: code-group
+
```shell[apt-get]
su -
apt-get remove nvidia_glx_common
@@ -39,6 +41,7 @@ epm reinstall xorg-dri-nouveau xorg-drv-nouveau
# перезагрузиться
reboot
```
+
:::
Как только все загрузилось и мы убедились, что NOUVEAU заработало:
@@ -50,6 +53,7 @@ make-initrd
# посмотреть что в выводе сборки initrd присутствует Nouveau
reboot
```
+
## Управление питанием на Nouveau
Nouveau, драйвер с открытым исходным кодом для графических процессоров Nvidia, развивается посредством реверс-инжиниринга. В области управления питанием были как прогрессы, так и регрессы (см. страницу [PowerManagement](https://nouveau.freedesktop.org/PowerManagement.html)).
@@ -70,4 +74,4 @@ https://nouveau.freedesktop.org/
https://wiki.archlinux.org/title/Nouveau
-https://wiki.gentoo.org/wiki/Nouveau
\ No newline at end of file
+https://wiki.gentoo.org/wiki/Nouveau
diff --git a/docs/index.md b/docs/index.md
index 6a6aaff..1b1ab56 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -3,8 +3,8 @@
layout: home
hero:
- name: "ALT Regular KDE"
- text: "Community"
+ name: 'ALT Regular KDE'
+ text: 'Community'
image:
src: /laptop.svg
alt: Gnome
@@ -19,9 +19,9 @@ hero:
features:
- title: Раньше чем у других
- details: Eжедневно обновляемый репозиторий пакетов свободных программ Sisyphus
- - title: Цифровая НЕзависмость
+ details: Ежедневно обновляемый репозиторий пакетов свободных программ Sisyphus
+ - title: Цифровая НЕзависимость
details: Семейство дистрибутивов Linux, производится в России с 2000 года.
- title: Открытое сообщество
details: Путеводитель в мир открытого программного обеспечения.
----
\ No newline at end of file
+---
diff --git a/docs/licence.md b/docs/licence.md
index 03a6494..07e33ba 100644
--- a/docs/licence.md
+++ b/docs/licence.md
@@ -1,10 +1,11 @@
# Лицензия
-The MIT License (MIT)
-Copyright © 2023-present OLEG SHCHAVELEV
+MIT License
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+Copyright (c) 2023 OLEG SHCHAVELEV
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/docs/package-manager/epm/index.md b/docs/package-manager/epm/index.md
index c826868..a726804 100644
--- a/docs/package-manager/epm/index.md
+++ b/docs/package-manager/epm/index.md
@@ -1,26 +1,27 @@
---
title: EPM
aggregation:
- sisyphus: eepm
+ sisyphus: eepm
appstream:
- name: EPM
- icon: ./img/etersoft.png
- summary: Единая система управления пакетами.
- developer:
- name: Этерсофт
- metadata_license:
- name: GNU AGPLv3
- link: https://choosealicense.com/licenses/agpl-3.0/
- url:
- homepage: https://github.com/Etersoft/eepm
- bugtracker: https://github.com/Etersoft/eepm/issues
+ name: EPM
+ icon: ./img/etersoft.png
+ summary: Единая система управления пакетами.
+ developer:
+ name: Этерсофт
+ metadata_license:
+ name: GNU AGPLv3
+ link: https://choosealicense.com/licenses/agpl-3.0/
+ url:
+ homepage: https://github.com/Etersoft/eepm
+ bugtracker: https://github.com/Etersoft/eepm/issues
---
# Единая команда управления пакетами (epm)
-**EPM** — команда управления пакетами, имеющая одинаковый интерфейс на всех системах. При интерфейсе, похожем на rpm, apt и urpm, выполняет необходимые операции **на любой платформе**.
+**EPM** — команда управления пакетами, имеющая одинаковый интерфейс на всех системах. При интерфейсе, похожем на `rpm`, `apt` и `urpm`, выполняет необходимые операции **на любой платформе**.
## Установка из репозитория
+
**EPM** можно установить используя терминал:
```shell
@@ -31,19 +32,19 @@ apt-get install eepm
## Команды
-| Описание операции | Команда EPM | Команда ALT Linux |
-| ----------------- | :-------------------: | :-----------------: |
-| Установка пакета по названию в систему | epm -i (package) | apt-get install (package) |
-| Установка файла пакета в систему | epm -i (package file) | apt-get install (package file) |
-| Удаление пакета из системы | epm -e (package) | apt-get remove (package) |
-| Поиск пакета в репозитории | epm -s (text) | apt-cache search (text) |
-| Проверка наличия пакета в системе | epm -q (package) | rpm -qa (pipe) grep (package) |
-| Список установленных пакетов | epm -qa | rpm -qa |
-| Поиск по названиям установленных пакетов | epm -qp (word) | grep (word) |
-| Принадлежность файла к (установленному) пакету | epmqf (file) | rpm -qf (file) |
-| Список файлов в (установленном) пакете | epm -ql (package) | rpm -ql (package) |
-| Вывести информацию о пакете | epm -ql (package) | apt-cache show (package) |
-| Обновить дистрибутив | epm upgrade | apt-get dist-upgrade |
+| Описание операции | Команда EPM | Команда ALT Linux |
+| ---------------------------------------------- | :---------------------: | :------------------------------: |
+| Установка пакета по названию в систему | `epm -i (package)` | `apt-get install (package)` |
+| Установка файла пакета в систему | `epm -i (package file)` | `apt-get install (package file)` |
+| Удаление пакета из системы | `epm -e (package)` | `apt-get remove (package)` |
+| Поиск пакета в репозитории | `epm -s (text)` | `apt-cache search (text)` |
+| Проверка наличия пакета в системе | `epm -q (package)` | `rpm -qa (pipe) grep (package)` |
+| Список установленных пакетов | `epm -qa` | `rpm -qa` |
+| Поиск по названиям установленных пакетов | `epm -qp (word)` | `grep (word)` |
+| Принадлежность файла к (установленному) пакету | `epmqf (file)` | `rpm -qf (file)` |
+| Список файлов в (установленном) пакете | `epm -ql (package)` | `rpm -ql (package)` |
+| Вывести информацию о пакете | `epm -ql (package)` | `apt-cache show (package)` |
+| Обновить дистрибутив | `epm upgrade` | `apt-get dist-upgrade` |
### Информация о системе
@@ -54,29 +55,31 @@ epm print info
```
::: details Пример вывода информация о системе
+
```shell
-distro_info v20230406 (EPM version 3.62.5-alt1) : Copyright © 2007-2024 Etersoft
-
- Pretty name (--pretty): ALT Regular (20240122) (Sisyphus)
- (--distro-name / --distro-version): Sisyphus / 20240122 (orig. Sisyphus 20240122)
- Base distro name (-d) / version (-v): ALTLinux/Sisyphus
- Vendor distro name (-s) / Repo name (-r): alt / Sisyphus
- Package manager/type (-g/-p): apt-rpm / rpm
- Base OS name (-o) / CPU arch (-a): linux x86_64
- CPU norm register size (-b): 64 bit
- Virtualization (-i): (host system)
- CPU Cores/MHz (-c/-z): 4 / 2500 MHz
- System memory size (-m): 15906 MiB
- Running service manager (-y): systemd
+distro_info v20230406 (EPM version 3.62.5-alt1) : Copyright © 2007-2024 Etersoft
+
+ Pretty name (--pretty): ALT Regular (20240122) (Sisyphus)
+ (--distro-name / --distro-version): Sisyphus / 20240122 (orig. Sisyphus 20240122)
+ Base distro name (-d) / version (-v): ALTLinux/Sisyphus
+ Vendor distro name (-s) / Repo name (-r): alt / Sisyphus
+ Package manager/type (-g/-p): apt-rpm / rpm
+ Base OS name (-o) / CPU arch (-a): linux x86_64
+ CPU norm register size (-b): 64 bit
+ Virtualization (-i): (host system)
+ CPU Cores/MHz (-c/-z): 4 / 2500 MHz
+ System memory size (-m): 15906 MiB
+ Running service manager (-y): systemd
Bug report URL (--bug-report-url): https://bugs.altlinux.org/
```
+
:::
## Утилита EPM Play
**EPM Play** — инструмент, автоматически устанавливающий и удаляющий пакеты, используя заготовленные сценарии. При этом не использует сторонние репозитории.
-```
+```
epm play [options] [argument]
```
@@ -110,9 +113,11 @@ epm play --remove telegram
su -
apt-get remove Telegram
```
+
```shell[epm]
epm -e Telegram
```
+
:::
### Обновить приложение до последней версии
@@ -144,7 +149,7 @@ epm play --list
```
:::warning
-При совпадение идентификаторов приложений, в списке будут присутствовать приложения установленные с помощью пакетного менеджера `apt-get`
+При совпадение идентификаторов приложений, в списке будут присутствовать приложения установленные с помощью пакетного менеджера `apt-get`
:::
Получить список установленных утилит:
@@ -181,19 +186,19 @@ epm play --installed telegram
epm play --product-alternatives telegram
```
-## Утилита EPM Repack
+## Утилита EPM Repack
EPM Repack — инструмент позволяющий конвертировать (переупаковать) пакеты от сторонних производителей в стандарт RPM семейства операционных систем ALT
-| Менеджер пакетов | Дистрибутив |
-| -----------------| ------------------- |
-| rpm | asplinux suse mandriva rosa mandrake pclinux sled sles fedora redhat scientific centos rhel |
-| deb | debian ubuntu mint runtu mcst |
-| tgz | slackware mopslinux |
-| tbz | freebsd |
-| tbz2 | gentoo |
-| apk | alpine |
-| pkg.gz | sunos |
+| Менеджер пакетов | Дистрибутив |
+| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
+| `rpm` | ASPLinux, SUSE (+ Enterprise Desktop/Server), Mandriva, ROSA, Mandrake, PCLinuxOS, Fedora, Red Hat (+ Enterprise), Scientific, CentOS |
+| `deb` | Debian, Ubuntu, Mint, Runtu, Эльбрус Линукс |
+| `tgz` | Slackware, MOPSLinux |
+| `tbz` | FreeBSD |
+| `tbz2` | Gentoo |
+| `apk` | Alpine |
+| `pkg.gz` | SunOS |
Установим deb приложение используя утилиту `epm repack`:
@@ -202,27 +207,28 @@ epm repack tonfotos.deb
epm -i tonfotos-1.6.5-epm1.repacked.2.x86_64.rpm
```
-Альтернативном вводом является:
+Альтернативном вводом является:
```shell
epm -i tonfotos.deb
```
-При установке пакета, epm автоматически определит, что установленный файл не является стандартным и запустит команду `epm repack`, а после переупаковки пакета, он автоматически его установит.
+При установке пакета, epm автоматически определит, что установленный файл не является стандартным и запустит команду `epm repack`, а после переупаковки пакета, он автоматически его установит.
:::info
- Предварительно скачайте deb-пакет [на официальном сайте производителя](https://tonfotos.com). Перейдите в папку со скаченной программой Tonfotos, в моём случае:
+Предварительно скачайте deb-пакет [на официальном сайте производителя](https://tonfotos.com). Перейдите в папку со скаченной программой Tonfotos, в моём случае:
```shell
cd Загрузки
```
+
:::
-## Установка приложений с помощью appinstall
+## Установка приложений с помощью `appinstall`
- Для установки и удаления приложений из каталога `epm play` используя графический интерфейс, рекомендуем использовать appinstall
+Для установки и удаления приложений из каталога `epm play` используя графический интерфейс, рекомендуем использовать `appinstall`
-**appinstall** можно установить используя терминал:
+`appinstall` можно установить используя терминал:
::: code-group
@@ -231,7 +237,9 @@ su -
apt-get update
apt-get install appinstall
```
+
```shell[epm]
epm -i appinstall
```
-:::
\ No newline at end of file
+
+:::
diff --git a/docs/package-manager/flatpak/index.md b/docs/package-manager/flatpak/index.md
index 4c0d818..a70abcc 100644
--- a/docs/package-manager/flatpak/index.md
+++ b/docs/package-manager/flatpak/index.md
@@ -4,11 +4,11 @@ title: Flatpak
# Flatpak
-Flatpak — пакетный менеджер для управления Flatpak-пакетами. В модели Flatpak приложения могут создаваться и распространяться независимо от устройства (host-системы), в которой они используются, приложение частично изолированы от хост-системы ('sandboxed') во время работы приложения.
+Flatpak — система для создания, распространения и запуска изолированных настольных приложений в Linux.
## Установка из репозитория
-Устоновим Flatpak используя Konsole:
+Установим Flatpak используя терминал:
:::tabs
== Flatpak
@@ -19,9 +19,11 @@ su -
apt-get update
apt-get install flatpak
```
+
```shell[epm]
epm -i flatpak
```
+
== Flatpak c FlatHub
::: code-group
@@ -30,9 +32,11 @@ su -
apt-get update
apt-get install flatpak-repo-flathub
```
+
```shell[epm]
epm -i flatpak-repo-flathub
```
+
:::
### Интеграция с центром приложений Discovery
@@ -46,22 +50,24 @@ su -
apt-get update
apt-get install plasma5-discover-flatpak
```
+
```shell[epm]
epm -i plasma5-discover-flatpak
```
+
:::
## Использование пакетного менеджера Flatpak
### Управления репозиториями
-Просмотр подключенных репозитриев осуществляется командой `remotes`, введите в Konsole:
+Просмотр подключенных репозиториев осуществляется командой `remotes`, введите в терминал:
```shell
flatpak remotes
```
-Подключить репозиторий общесистемно используйте следующую команду. Опция `--if-not-exists` останавливает команду от выдачи ошибки, если удаленное устройство уже существует:
+Подключить репозиторий для всей системы используйте следующую команду. Опция `--if-not-exists` останавливает команду от выдачи ошибки, если удаленное устройство уже существует:
```shell
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
@@ -89,7 +95,7 @@ flatpak search krita
flatpak install flathub org.kde.krita
```
-Альтернативном вариантом установки приложения указать агрумент путь к мета-файлу, в котором содержатя необходимые данные об установке:
+Альтернативном вариантом установки приложения указать аргумент путь к мета-файлу, в котором содержатся необходимые данные об установке:
```shell
flatpak install https://flathub.org/repo/appstream/org.kde.krita.flatpakref
@@ -115,4 +121,4 @@ flatpak run org.kde.krita
```shell
flatpak remove org.kde.krita
-```
\ No newline at end of file
+```
diff --git a/docs/project/about/index.md b/docs/project/about/index.md
index 653ef58..7cddce2 100644
--- a/docs/project/about/index.md
+++ b/docs/project/about/index.md
@@ -10,4 +10,4 @@
## Авторы и участники проекта
-Проект **ALT KDE Wiki** принадлежит русскоязычному сообществу, которое разрабатывает и поддерживает его на добровольной основе. Каждый участник сообщества является совладельцем проекта и вносит свой вклад в его развитие.
\ No newline at end of file
+Проект **ALT KDE Wiki** принадлежит русскоязычному сообществу, которое разрабатывает и поддерживает его на добровольной основе. Каждый участник сообщества является совладельцем проекта и вносит свой вклад в его развитие.
diff --git a/docs/project/contributions/index.md b/docs/project/contributions/index.md
index e16ec4c..9f41d7f 100644
--- a/docs/project/contributions/index.md
+++ b/docs/project/contributions/index.md
@@ -1,4 +1,4 @@
---
layout: contribution
longtitle: Участники
----
\ No newline at end of file
+---
diff --git a/docs/reference/index.md b/docs/reference/index.md
index 43f6126..2c4a448 100644
--- a/docs/reference/index.md
+++ b/docs/reference/index.md
@@ -1,3 +1,3 @@
# Для авторов
-В данном разделе расположены различные правила и советы для авторов. Здесь вы найдёте полезную информацию о том, как создавать и редактировать статьи на вики. Ознакомьтесь с этими правилами и советами, чтобы улучшить свои навыки авторства на ALT KDE Wiki.
\ No newline at end of file
+В данном разделе расположены различные правила и советы для авторов. Здесь вы найдёте полезную информацию о том, как создавать и редактировать статьи на вики. Ознакомьтесь с этими правилами и советами, чтобы улучшить свои навыки авторства на ALT KDE Wiki.
diff --git a/docs/wiki/index.md b/docs/wiki/index.md
index e87fd39..59699c6 100644
--- a/docs/wiki/index.md
+++ b/docs/wiki/index.md
@@ -4,4 +4,4 @@ aside: false
# ALT REGULAR KDE WIKI
-ALT Regular KDE — прогрессивная операционная система, разработанная таким образом, чтобы получать ежедневные обновления из репозитория Сизиф. Сизиф — нестабильный репозиторий, который развивается постоянно, то есть не обладает ограничениями на размещение в него пакетов.
\ No newline at end of file
+ALT Regular KDE — прогрессивная операционная система, разработанная таким образом, чтобы получать ежедневные обновления из репозитория Сизиф. Сизиф — нестабильный репозиторий, который развивается постоянно, то есть не обладает ограничениями на размещение в него пакетов.
diff --git a/docs/workarrounds/change-gtk-themes/index.md b/docs/workarrounds/change-gtk-themes/index.md
index a1b758e..035ff7a 100644
--- a/docs/workarrounds/change-gtk-themes/index.md
+++ b/docs/workarrounds/change-gtk-themes/index.md
@@ -2,7 +2,7 @@
title: Некоторые GTK приложения выглядят чужеродно
---
-# Некоторые GTK приложения выглядят чужеродно
+# Некоторые GTK приложения выглядят чужеродно
Некоторые GTK приложения используют тему «Default», которая имеет внешний вид в стиле «Windows 95».
Она совершенно не сочетается с современным дизайном KDE, но, к счастью, это легко исправить.
@@ -10,36 +10,41 @@ title: Некоторые GTK приложения выглядят чужеро
Ниже вы можете наблюдать вышеописанную проблему на примере приложения «Synaptic»:
![Default тема, приложение Synaptic](./img/default_theme.png)
-
Однако на сегодняшний день в основном вы будете встречаться с ситуацией, когда внешний вид схож с KDE, но при этом он не полноценный.
-Например, будут отсутствовать некоторые иконки у кнопок и/или не будет использоваться темная тема, если вам таковая нужна.
+Например, будут отсутствовать некоторые иконки у кнопок и/или не будет использоваться тёмная тема, если вам таковая нужна.
-На скриншоте ниже можно наблюдать именно этот случай на примере программы «Gparted»:
-![Сломанная KDE-подобная тема, приложение Gparted](./img/broken_gparted.png)
+На скриншоте ниже можно наблюдать именно этот случай на примере программы «GParted»:
+![Сломанная KDE-подобная тема, приложение GParted](./img/broken_gparted.png)
### Установка правильной темы
+
1. Заходим в приложение «Параметры системы KDE5»
2. Переходим во вкладку «Внешний вид» и выбираем пункт «Оформление приложений»
3. Нажимаем на кнопку «Настроить оформление приложений GNOME/GTK», которая находится в правом нижнем углу
4. Выбираем подходящую тему:
+
- Breeze-Education — Светлая тема
- - Breeze-Education-dark — Темная тема
+ - Breeze-Education-dark — Тёмная тема
P.S: Если у вас отсутствуют данные темы, то вам необходимо установить их вручную при помощи команды ниже:
:::tabs
== apt-get
+
```shell
su -
apt-get install gtk-theme-breeze-education
```
== epm
+
```shell
epm -i gtk-theme-breeze-education
```
+
:::
+
5. Нажимаем «Применить»
Теперь подобные приложения должны использовать корректную тему:
![Breeze тема, приложение Synaptic](./img/breeze_theme.png)
-![Темная Breeze тема, приложение Gparted](./img/correct_gparted.png)
+![Темная Breeze тема, приложение GParted](./img/correct_gparted.png)
diff --git a/docs/workarrounds/enable-downloading-of-third-party-themes/index.md b/docs/workarrounds/enable-downloading-of-third-party-themes/index.md
index 6e9e825..5af8bb2 100644
--- a/docs/workarrounds/enable-downloading-of-third-party-themes/index.md
+++ b/docs/workarrounds/enable-downloading-of-third-party-themes/index.md
@@ -7,11 +7,12 @@ title: Не работает загрузка сторонних тем KDE
По умолчанию в ALT Linux отключена возможность загружать и скачивать сторонние темы KDE, но это легко исправить.
![Скриншот настроек с загрузкой тем](./img/screenshot.png 'Скриншот настроек с загрузкой тем')
+
### Открываем терминал и выполняем следующую команду:
+
```shell
su -
sed -i 's/ghns=false/ghns=true/g' /etc/kf5/xdg/kdeglobals /etc/xdg/kdeglobals
```
Готово! Осталось только перезагрузить систему (иногда кнопка появляется сразу) и вы сможете скачивать темы, модули рабочего стола и т. д.
-
diff --git a/docs/workarrounds/how-lock-screen-after-waking/index.md b/docs/workarrounds/how-lock-screen-after-waking/index.md
index 84f26c9..ffbfa15 100644
--- a/docs/workarrounds/how-lock-screen-after-waking/index.md
+++ b/docs/workarrounds/how-lock-screen-after-waking/index.md
@@ -7,10 +7,11 @@ title: Не срабатывает блокировка экрана после
Бывает ситуация, перевёл компьютер в спящий режим и отошёл по своим делам. А другой человек выводит его из спящего режима и спокойно получает доступ к системе, ведь экран блокировки не срабатывает. Ситуация страшная, а решается одной галочкой.
### Исправляем проблему:
+
1. Заходим в «Параметры системы KDE5»
2. Переходим в «Поведение рабочей среды» => «Блокировка экрана»
3. Нажимаем на галочку «После выхода из ждущего режима»
4. И нажимаем «Применить»
![Скриншот настроек](./img/screenshot_settings.png)
-Готово, теперь экран всегда будет блокироваться после выхода из спящего или ждущего режима.
\ No newline at end of file
+Готово, теперь экран всегда будет блокироваться после выхода из спящего или ждущего режима.
diff --git a/docs/workarrounds/how-to-restore-grub-with-btrfs/index.md b/docs/workarrounds/how-to-restore-grub-with-btrfs/index.md
index 17deb8a..dac9179 100644
--- a/docs/workarrounds/how-to-restore-grub-with-btrfs/index.md
+++ b/docs/workarrounds/how-to-restore-grub-with-btrfs/index.md
@@ -12,7 +12,8 @@ sdb - HDD на 1000GB. Используется только для `home`
![](img/IMG_20240426_113454_533_1.jpg)
-Итак, в случае наличия поврежденной записи GRUB мы увидим следующее приветствие:
+Итак, в случае наличия повреждённой записи GRUB мы увидим следующее приветствие:
+
```shell
GNU GRUB version...
Minimal BASH-like line editing...
@@ -20,6 +21,7 @@ grub>
```
Теперь наша задача войти в систему. Для этого нам потребуется сначала найти директорию `boot` в корневом разделе. Но в GRUB свое обозначение разделов. Выведем список разделов командой `ls` и увидим примерно следующее:
+
```
(proc) (hd0) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1,gpt3), (hd1,gpt2), (hd1,gpt1) (hd2) (hd2,gpt1)
```
@@ -30,11 +32,11 @@ grub>
`ls (hd0,gpt2)/`
-`grub/ ventoy/ efi/ ENROLL_THIS_KEY_IN_MOKMANAGER.cer tool/` - очевидно мы нашли вставленный в компьютер USB-носитель с Ventoy'ем. Значит, диск hd0 нас больше не интересует
+`grub/ ventoy/ efi/ ENROLL_THIS_KEY_IN_MOKMANAGER.cer tool/` - очевидно мы нашли вставленный в компьютер USB-носитель с Ventoy. Значит, диск hd0 нас больше не интересует
`ls (hd2,gpt1)/`
-`@home/` - мы нашли раздел нашего HDD-диска, на котором размещен раздел `/home`. Значит, диск hd2 нас больше не интересует
+`@home/` - мы нашли раздел нашего HDD-диска, на котором размещён раздел `/home`. Значит, диск hd2 нас больше не интересует
`ls (hd1,gpt1)/`
@@ -52,7 +54,7 @@ grub>
`dev/ run/ selinux/ boot/ lib/ sbin/ ...` - теперь нам видна структура корневого раздела, в котором также присутствует директория `/boot`.
-Теперь наша задача найти и указать GRUB путь к образу ядра Linux, путь к корневому разделу (мы уже знаем, что это будет `root=/dev/sda3`) и путь к образу Initrd. Для этого еще углубимся в файловую систему
+Теперь наша задача найти и указать GRUB путь к образу ядра Linux, путь к корневому разделу (мы уже знаем, что это будет `root=/dev/sda3`) и путь к образу Initrd. Для этого ещё углубимся в файловую систему
`ls (hd1,gpt3)/@/boot/`
@@ -68,8 +70,8 @@ grub>
`boot`
-После выполнения последней команды система начнет загружаться и мы сможем войти в нее. Войдя в Параметрах системы KDE/Рабочая среда/Запуск и завершение/Загрузчик GRUB2 мы увидим то, что записей нет. Это говорит о том, что мы вошли в систему, но конфигурация GRUB автоматически не записалась. То есть если ничего не изменить, то при следующей перезагрузке мы попадем в GRUB. Для исправления ситуации устанавливаем GRUB
+После выполнения последней команды система начнёт загружаться и мы сможем войти в неё. Войдя в Параметрах системы KDE/Рабочая среда/Запуск и завершение/Загрузчик GRUB2 мы увидим то, что записей нет. Это говорит о том, что мы вошли в систему, но конфигурация GRUB автоматически не записалась. То есть если ничего не изменить, то при следующей перезагрузке мы попадём в GRUB. Для исправления ситуации устанавливаем GRUB
`apt-get install grub`
-После установки GRUB, он автоматически создаст и сохранит конфигурацию. Увидеть это можно будет вновь зайдя в Параметрах системы KDE/Рабочая среда/Запуск и завершение/Загрузчик GRUB2. На этом восстановление поврежденной записи GRUB будет завершено
+После установки GRUB, он автоматически создаст и сохранит конфигурацию. Увидеть это можно будет вновь зайдя в Параметрах системы KDE/Рабочая среда/Запуск и завершение/Загрузчик GRUB2. На этом восстановление повреждённой записи GRUB будет завершено
diff --git a/docs/workarrounds/lightdm-does-not-remember-last-session/index.md b/docs/workarrounds/lightdm-does-not-remember-last-session/index.md
index 0c20ce5..528eacd 100644
--- a/docs/workarrounds/lightdm-does-not-remember-last-session/index.md
+++ b/docs/workarrounds/lightdm-does-not-remember-last-session/index.md
@@ -4,10 +4,10 @@ title: LightDM не запоминает последнюю выбранную
# LightDM не запоминает последнюю выбранную сессию
-Распространённая проблема, LightDM просто не запоминает сеанс, который вы использовали в прошлый раз и каждый раз предлагает вам загрузиться в Plasma (X11).
+Распространённая проблема, LightDM просто не запоминает сеанс, который вы использовали в прошлый раз и каждый раз предлагает вам загрузиться в Plasma (X11).
## Решение проблемы
Проблема решается установкой пакета `accountsservice`. Как это сделать описывается в этой статье:
-- [Отсутствует список пользователей в настройках](/workarrounds/settings-user-no-list/)
\ No newline at end of file
+- [Отсутствует список пользователей в настройках](/workarrounds/settings-user-no-list/)
diff --git a/docs/workarrounds/settings-user-no-list/index.md b/docs/workarrounds/settings-user-no-list/index.md
index a0bed45..a263628 100644
--- a/docs/workarrounds/settings-user-no-list/index.md
+++ b/docs/workarrounds/settings-user-no-list/index.md
@@ -19,11 +19,13 @@ su -
apt-get update
apt-get install accountsservice
```
+
```shell[epm]
epm -i accountsservice
```
+
:::
Теперь перезайдите в параметры системы для вступления изменений в силу.
-![Список пользователей в настройках](./img/settings-user-no-list-2.png)
\ No newline at end of file
+![Список пользователей в настройках](./img/settings-user-no-list-2.png)
diff --git a/tsconfig.json b/tsconfig.json
index 2ffd07d..8d55733 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,25 +1,17 @@
{
- "compilerOptions": {
- "target": "ESNext",
- "module": "ESNext",
- "moduleResolution": "Node",
- "allowSyntheticDefaultImports": true,
- "resolveJsonModule": true,
- "types": [
- "node",
- "vite/client"
- ],
- "baseUrl": "./",
- "paths": {
- "@/*": ["./*"],
- "@vitepress/theme/*": ["node_modules/vitepress/dist/client/theme-default/*"]
- },
- },
- "include": [
- "/*.d.ts",
- "/*.ts",
- ],
- "exclude": [
- "node_modules"
- ]
- }
\ No newline at end of file
+ "compilerOptions": {
+ "target": "ESNext",
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "allowSyntheticDefaultImports": true,
+ "resolveJsonModule": true,
+ "types": ["node", "vite/client"],
+ "baseUrl": "./",
+ "paths": {
+ "@/*": ["./*"],
+ "@vitepress/theme/*": ["node_modules/vitepress/dist/client/theme-default/*"]
+ }
+ },
+ "include": ["/*.d.ts", "/*.ts"],
+ "exclude": ["node_modules"]
+}
diff --git a/uno.config.ts b/uno.config.ts
index 612b148..6e74ed7 100644
--- a/uno.config.ts
+++ b/uno.config.ts
@@ -4,18 +4,18 @@ export default defineConfig({
shortcuts: [],
presets: [
presetUno({
- dark: 'class',
+ dark: 'class'
}),
presetAttributify(),
presetIcons({
prefix: 'i-',
scale: 1.2, // size: 1.2 rem
extraProperties: {
- 'display': 'inline-block',
+ display: 'inline-block',
'vertical-align': 'middle',
- 'min-width': '1.2rem',
+ 'min-width': '1.2rem'
},
- warn: true,
- }),
- ],
-})
\ No newline at end of file
+ warn: true
+ })
+ ]
+})