Compare commits

..

3 Commits

Author SHA1 Message Date
祀梦
0fb0ad811b Merge branch 'main' of https://gitea.simengweb.com/si-meng-spec/SiMengWebSite_Notes 2025-12-24 16:20:38 +08:00
祀梦
98ec780ed9 feat(文档): 添加RImg组件并配置资源路径别名
删除未使用的Custom.vue组件,新增RImg组件用于处理资源图片路径
在vite配置中添加资源路径别名,简化图片引用方式
更新client.ts注册RImg组件
2025-12-24 16:20:35 +08:00
祀梦
ba9298852e docs: 删除过时的竞赛文档文件
移除两个已不再需要的竞赛相关文档文件:
1. docs/blog/technology/Xinchuang_Competition.md
2. docs/blog/competition/BRICS2025-ST-132.md

这些文档内容已过时且不再维护,删除以保持文档库的整洁性
2025-11-21 20:08:06 +08:00
5 changed files with 44 additions and 103 deletions

View File

@@ -1,22 +1,8 @@
import { defineClientConfig } from 'vuepress/client' import { defineClientConfig } from 'vuepress/client'
// import RepoCard from 'vuepress-theme-plume/features/RepoCard.vue' import RImg from './theme/components/RImg.vue'
// import NpmBadge from 'vuepress-theme-plume/features/NpmBadge.vue'
// import NpmBadgeGroup from 'vuepress-theme-plume/features/NpmBadgeGroup.vue'
// import Swiper from 'vuepress-theme-plume/features/Swiper.vue'
// import CustomComponent from './theme/components/Custom.vue'
// import './theme/styles/custom.css'
export default defineClientConfig({ export default defineClientConfig({
enhance({ app }) { enhance({ app }) {
// built-in components app.component('RImg', RImg)
// app.component('RepoCard', RepoCard)
// app.component('NpmBadge', NpmBadge)
// app.component('NpmBadgeGroup', NpmBadgeGroup)
// app.component('Swiper', Swiper) // you should install `swiper`
// your custom components
// app.component('CustomComponent', CustomComponent)
}, },
}) })

View File

@@ -3,6 +3,11 @@ import { plumeTheme } from 'vuepress-theme-plume'
import { viteBundler } from '@vuepress/bundler-vite' import { viteBundler } from '@vuepress/bundler-vite'
import { commentPlugin } from '@vuepress/plugin-comment' import { commentPlugin } from '@vuepress/plugin-comment'
import { umamiAnalyticsPlugin } from '@vuepress/plugin-umami-analytics' import { umamiAnalyticsPlugin } from '@vuepress/plugin-umami-analytics'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
export default defineUserConfig({ export default defineUserConfig({
base: '/', base: '/',
@@ -14,7 +19,16 @@ export default defineUserConfig({
['link', { rel: 'icon', type: 'image/png', href: 'https://theme-plume.vuejs.press/favicon-32x32.png' }], ['link', { rel: 'icon', type: 'image/png', href: 'https://theme-plume.vuejs.press/favicon-32x32.png' }],
], ],
bundler: viteBundler(), bundler: viteBundler({
viteOptions: {
resolve: {
alias: {
'@resources': path.resolve(__dirname, '../resources'),
'/@resources': path.resolve(__dirname, '../resources'),
},
},
},
}),
shouldPrefetch: false, shouldPrefetch: false,
theme: plumeTheme({ theme: plumeTheme({

View File

@@ -1,11 +0,0 @@
<script setup lang="ts">
import { ref } from 'vue'
const message = ref('Hello World!')
</script>
<template>
<div class="my-custom-content">
{{ message }}
</div>
</template>

View File

@@ -0,0 +1,27 @@
<template>
<img :src="imageSrc" :alt="alt" v-bind="$attrs" />
</template>
<script setup>
import { computed } from 'vue'
const props = defineProps({
src: {
type: String,
required: true
},
alt: {
type: String,
default: ''
}
})
// 使用 Vite 的 import.meta.glob 或简单字符串拼接
// 由于别名在运行时不可直接动态拼接,我们这里使用一个更稳妥的方法
// 映射到我们配置好的别名
const imageSrc = computed(() => {
// 处理路径,确保指向别名
const path = props.src.startsWith('/') ? props.src.slice(1) : props.src
return new URL(`../../../resources/${path}`, import.meta.url).href
})
</script>

View File

@@ -1,75 +0,0 @@
---
title: Linux 系统适配环境搭建
createTime: 2025/10/29 15:39:35
permalink: /article/xinchuang-competition-2025/
password: simeng
---
## 赛题要求
- yum 仓库地址http://192.168.122.1:58000/content
- 软件包下载地址http://192.168.122.1:58000/software
系统信息列表
| 序号 | 标签名称 | 操作系统 | 账号信息 |
|----|---------|----------|----------|
| 1 | Server1 | openEuler 22.03(已安装) | root / openEuler12#$ |
| 2 | Server2 | openEuler 22.03(已安装) | root / openEuler12#$ |
| 3 | Server3 | openEuler 22.03(待安装) | N/A |
| 4 | Desktop | Kylin v10已安装 | admin / admin@0000 |
## 第一部分 【适配环境搭建】
### 基础配置 yum 源
这里题目中没有提到,但是需要进行一下配置
### 系统安装与配置
为 Server3 安装 openEuler 操作系统
配置系统语言English
配置系统时区Asia/Shanghai
配置安装类型Server
系统启动分区保持不变,其他分区要求如下:
位置 容量 文件系统
| 挂载点 | 容量 | 文件系统 |
|--------|------|----------|
| / | 剩余所有容量 | ext4 |
| swap | 4G | swap |
| /opt | 40G | xfs |
其他未提及的配置内容保持系统默认设置。
确认并且配置服务器地址及名称:
| 服务器 | FQDN | IP |
|---------|-----------------------|------------------|
| Server1 | app1.system.org.cn | 172.16.50.101/24 |
| Server2 | app2.system.org.cn | 172.16.50.102/24 |
| Server3 | sts.system.org.cn | 172.16.50.103/24 |
| Desktop | - | 172.16.50.111/24 |
```bash title='配置服务器地址以及名称'
hostnamectl
```
确认并且配置系统网关为 172.16.50.1,确保服务器能与网关通信。
为所有 Server 主机启用防火墙,防火墙区域为 public ,根据不同服务在防火墙中使用添加端口的方式添加策略。
确认并且保持 root 用户密码为admin@0000,确保该账户能够通过 SSH 远程登录
为所有 Server 主机生成 2 组RSA 算法和国密算法SSH 公私钥对,其中 RSA 密钥长度为 4096。配置实现 Server 主机之间的 SSH 免密登录。
所有主机间的访问均通过 FQDN 的形式进行访问。
使用 chrony 进行时间同步。Server1 与 172.16.50.1 进行时间同步,同时为其他服务器提供时间服务。
## 第一部分
## 第一部分
## 第一部分