update news picture
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Test / test (macos-latest) (push) Has been cancelled
Test / test (ubuntu-latest) (push) Has been cancelled
Test / test (windows-latest) (push) Has been cancelled

This commit is contained in:
锦恢 2025-07-15 22:10:42 +08:00
parent bde80bc3b7
commit 3966628644
2 changed files with 106 additions and 101 deletions

View File

@ -2,145 +2,147 @@
import { computed } from 'vue'; import { computed } from 'vue';
const props = defineProps({ const props = defineProps({
version: { version: {
type: String, type: String,
default: '0.1.9' default: '0.1.9'
}, },
changelogs: { changelogs: {
type: Array as () => string[], type: Array as () => string[],
default: () => [ default: () => [
'Brand new VSCode WebView adaptation, smoother experience https://example.com/image1.png', 'Brand new VSCode WebView adaptation, smoother experience https://example.com/image1.png',
'Support for AI Mock, toolchain visualization https://example.com/diagram.jpg and automatic topology detection', 'Support for AI Mock, toolchain visualization https://example.com/diagram.jpg and automatic topology detection',
'Multi-model concurrency, enhanced plugin capabilities https://example.com/arch.svg' 'Multi-model concurrency, enhanced plugin capabilities https://example.com/arch.svg'
] ]
} }
}); });
// //
const processedChangelogs = computed(() => { const processedChangelogs = computed(() => {
return props.changelogs.map(log => { return props.changelogs.map(log => {
// https // https
const imageRegex = /(https:\/\/[^\s]+?\.(?:png|jpg|jpeg|gif|svg|webp))/gi; const imageRegex = /(https:\/\/[^\s]+?\.(?:png|jpg|jpeg|gif|svg|webp))/gi;
const images = []; const images = [];
let match; let match;
// URL // URL
while ((match = imageRegex.exec(log)) !== null) { while ((match = imageRegex.exec(log)) !== null) {
images.push(match[1]); images.push(match[1]);
} }
// URL // URL
const text = log.replace(imageRegex, '').replace(/\s{2,}/g, ' ').trim(); const text = log.replace(imageRegex, '').replace(/\s{2,}/g, ' ').trim();
return { text, images }; return { text, images };
}); });
}); });
</script> </script>
<template> <template>
<section class="news-section"> <section class="news-section">
<div class="news-title"> <div class="news-title">
<span>📣 What's New in <span class="highlight">{{ props.version }}</span></span> <span>📣 What's New in <span class="highlight">{{ props.version }}</span></span>
</div> </div>
<div class="news-content"> <div class="news-content">
<ul class="news-list"> <ul class="news-list">
<li v-for="(item, index) in processedChangelogs" :key="index"> <li v-for="(item, index) in processedChangelogs" :key="index">
<span class="news-badge">{{ '/' }}</span> <span class="news-badge">{{ '/' }}</span>
<div class="log-content"> <div class="log-content">
<span>{{ item.text }}</span> <span>{{ item.text }}</span>
<div v-if="item.images.length" class="image-container"> <div v-if="item.images.length" class="image-container">
<a v-for="(img, imgIndex) in item.images" :key="imgIndex" :href="img" target="_blank" rel="noopener"> <a v-for="(img, imgIndex) in item.images" :key="imgIndex" :href="img" target="_blank"
<img :src="img" alt="Changelog image" class="changelog-image" /> rel="noopener">
</a> <img :src="img" alt="Changelog image" class="changelog-image" />
</div> </a>
</div> </div>
</li> </div>
</ul> </li>
<br> </ul>
<a class="release-link" href="https://openmcp.kirigaya.cn/preview/changelog.html" target="_blank" <br>
rel="noopener">View History Changelog </a> <a class="release-link" href="https://openmcp.kirigaya.cn/preview/changelog.html" target="_blank"
</div> rel="noopener">View History Changelog </a>
</section> </div>
</section>
</template> </template>
<style> <style>
.news-section { .news-section {
margin-bottom: 20px; margin-bottom: 20px;
} }
.news-title { .news-title {
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 1.5rem; font-size: 1.5rem;
font-weight: bold; font-weight: bold;
color: #B988D1; color: #B988D1;
margin-bottom: 10px; margin-bottom: 10px;
} }
.news-title .logo { .news-title .logo {
width: 38px; width: 38px;
height: 38px; height: 38px;
margin-right: 12px; margin-right: 12px;
vertical-align: middle; vertical-align: middle;
} }
.news-title .highlight { .news-title .highlight {
color: #B988D1; color: #B988D1;
} }
.news-content { .news-content {
border-radius: 12px; border-radius: 12px;
padding: 2rem; padding: 2rem;
margin: 2rem 0; margin: 2rem 0;
background-color: var(--vscode-sideBar-background); background-color: var(--vscode-sideBar-background);
box-shadow: 0 2px 8px var(--vscode-widget-shadow); box-shadow: 0 2px 8px var(--vscode-widget-shadow);
} }
.news-content li { .news-content li {
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
} }
.news-badge { .news-badge {
display: inline-block; display: inline-block;
margin-right: 10px; margin-right: 10px;
color: #B988D1; color: #B988D1;
font-weight: bold; font-weight: bold;
} }
.log-content { .log-content {
flex: 1; flex: 1;
} }
.image-container { .image-container {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 10px; gap: 10px;
margin-top: 10px; margin-top: 10px;
} }
.changelog-image { .changelog-image {
max-height: 250px; max-width: 100%;
border-radius: 6px; max-height: 350px;
border: 1px solid var(--vscode-widget-border); border-radius: 6px;
object-fit: contain; border: 1px solid var(--vscode-widget-border);
background-color: var(--vscode-editor-background); object-fit: contain;
padding: 4px; background-color: var(--vscode-editor-background);
box-sizing: border-box; padding: 4px;
transition: transform 0.2s ease; box-sizing: border-box;
transition: transform 0.2s ease;
} }
.release-link { .release-link {
color: #B988D1; color: #B988D1;
text-decoration: none; text-decoration: none;
font-weight: 500; font-weight: 500;
display: inline-block; display: inline-block;
margin-top: 10px; margin-top: 10px;
} }
.release-link:hover { .release-link:hover {
text-decoration: underline; text-decoration: underline;
} }
</style> </style>

View File

@ -1,12 +1,15 @@
{ {
"version": "0.1.9", "version": "0.1.10",
"changelogs": [ "changelogs": [
"Add mook functionality: Automatically fill in test tool form data using random seeds or AI generation.", "Fix issue #48: Correct the wrong boot path.",
"Add tool self-check functionality: Under openmcp's tool, click 'Tool Self-Check' on the right side of 'Tool Module' to enter self-check mode. In this mode, users can define the topological order of tool execution and perform automatic detection in one go.", "Support kimi's usage counting + support kimi's system prompt.",
"Fix issue #44: Complete platform adaptation for link redirection. https://picx.zhimg.com/80/v2-87c2a29abdd2dd56a4d18cc4a8b946ff_1440w.png", "Implement parallel execution and pause functionality for openmcp tool testing. https://picx.zhimg.com/80/v2-4e09958d91dcf561c578294d8b6f3349_1440w.png",
"Fix issue #36: Ensure successful startup when not opening a folder. https://picx.zhimg.com/80/v2-87c2a29abdd2dd56a4d18cc4a8b946ff_1440w.png", "Revise the API speed test algorithm, splitting it into tps + queue time. https://picx.zhimg.com/80/v2-1cc3044a3ec3d5d21cb265dd67518ca0_1440w.png",
"Fix issue #45: Array type parameters are not supported.", "The large model API speed test now supports custom prompts. https://picx.zhimg.com/80/v2-ff70af72254b82c11a941fe9cc29eeb8_1440w.png",
"Fix the issue of abnormal dialog styles when pasting multi-line conversations into the dialog box." "Implement issue#49, tool module, debugging now supports markdown rendering echo. https://picx.zhimg.com/80/v2-5d708ccab00f33fdf63a656a0066bf23_1440w.png",
"Implement issue#54, right-click on the server list name to rename the server. https://picx.zhimg.com/80/v2-87c2a29abdd2dd56a4d18cc4a8b946ff_1440w.png",
"Fix some hot update issues related to resources and prompts.",
"Update the title of the tab created by vscode. https://picx.zhimg.com/80/v2-4d40c20f3eaa032573e4de58298c859f_1440w.png"
], ],
"contributors": [ "contributors": [
{ {