This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"tech": [
|
||||
{
|
||||
"title": "ローカルサーバーでマイク・カメラを使う方法",
|
||||
"date": "2026-02-28",
|
||||
"tag": "Browser",
|
||||
"url": "/tech/browser-secure-context"
|
||||
},
|
||||
{
|
||||
"title": "DGX SparkにAnythingLLMを導入してローカルLLMエージェントを構築",
|
||||
"date": "2026-02-28",
|
||||
"tag": "DGX Spark",
|
||||
"url": "/tech/dgx-spark-anythingllm"
|
||||
},
|
||||
{
|
||||
"title": "DGX SparkでClaude Code + Qwen3-Coder-Nextをローカル実行する",
|
||||
"date": "2026-02-28",
|
||||
"tag": "DGX Spark",
|
||||
"url": "/tech/dgx-spark-claude-code-local"
|
||||
},
|
||||
{
|
||||
"title": "ローカルClaude Code + Playwright CLIでブラウザ自動化エージェントを作る",
|
||||
"date": "2026-02-28",
|
||||
"tag": "DGX Spark",
|
||||
"url": "/tech/dgx-spark-claude-code-playwright"
|
||||
},
|
||||
{
|
||||
"title": "DGX Spark デュアル構成ガイド",
|
||||
"date": "2026-02-28",
|
||||
"tag": "DGX Spark",
|
||||
"url": "/tech/dgx-spark-dual"
|
||||
}
|
||||
],
|
||||
"blog": [
|
||||
{
|
||||
"title": "02/28 AIヘッドライン(朝刊)",
|
||||
"date": "2026-02-28",
|
||||
"tag": "AI",
|
||||
"url": "/blog/2026-02-28-morning-headline"
|
||||
},
|
||||
{
|
||||
"title": "Ollama がローカルAIのハブとしてめちゃ最強な件",
|
||||
"date": "2026-02-28",
|
||||
"tag": "AI",
|
||||
"url": "/blog/ollama-local-ai-hub"
|
||||
},
|
||||
{
|
||||
"title": "02/27 AIヘッドライン(夕刊)",
|
||||
"date": "2026-02-27",
|
||||
"tag": "AI",
|
||||
"url": "/blog/2026-02-27-evening-headline"
|
||||
},
|
||||
{
|
||||
"title": "02/27 AIヘッドライン(朝刊)",
|
||||
"date": "2026-02-27",
|
||||
"tag": "AI",
|
||||
"url": "/blog/2026-02-27-morning-headline"
|
||||
},
|
||||
{
|
||||
"title": "02/26 AIヘッドライン(夕刊)",
|
||||
"date": "2026-02-26",
|
||||
"tag": "AI",
|
||||
"url": "/blog/2026-02-26-evening-headline"
|
||||
}
|
||||
]
|
||||
}
|
||||
+15
-35
@@ -2,6 +2,7 @@ import React from 'react';
|
||||
import Layout from '@theme/Layout';
|
||||
import Link from '@docusaurus/Link';
|
||||
import styles from './index.module.css';
|
||||
import recentPosts from '../data/recent-posts.json';
|
||||
|
||||
function HomepageHeader() {
|
||||
return (
|
||||
@@ -25,39 +26,14 @@ function HomepageHeader() {
|
||||
}
|
||||
|
||||
function RecentTech() {
|
||||
const posts = [
|
||||
{
|
||||
title: "ローカルGitea × Webhook連携でAI自動コードレビュー",
|
||||
date: "2026-02-26",
|
||||
tag: "Gitea",
|
||||
url: "/tech/gitea-webhook-ai-review",
|
||||
},
|
||||
{
|
||||
title: "DGX SparkにAnythingLLMでローカルLLMエージェント構築",
|
||||
date: "2026-02-20",
|
||||
tag: "DGX Spark",
|
||||
url: "/tech/dgx-spark-anythingllm",
|
||||
},
|
||||
{
|
||||
title: 'DGX Spark デュアル構成ガイド',
|
||||
date: '2026-02-19',
|
||||
tag: 'DGX Spark',
|
||||
url: '/tech/dgx-spark-dual',
|
||||
},
|
||||
{
|
||||
title: 'DGX SparkでMiniMax-M2.5-REAP-172Bを動かす',
|
||||
date: '2026-02-18',
|
||||
tag: 'DGX Spark',
|
||||
url: '/tech/dgx-spark-minimax',
|
||||
},
|
||||
];
|
||||
const posts = recentPosts.tech;
|
||||
|
||||
return (
|
||||
<section className={styles.section}>
|
||||
<h2 className={styles.sectionTitle}>// Tech</h2>
|
||||
<p className={styles.sectionDesc}>技術記事・検証レポート</p>
|
||||
<div className={styles.posts}>
|
||||
{posts.map((post, idx) => (
|
||||
{posts.length > 0 ? posts.map((post, idx) => (
|
||||
<Link key={idx} to={post.url} className={styles.postCard}>
|
||||
<h3 className={styles.postTitle}>{post.title}</h3>
|
||||
<div className={styles.postMeta}>
|
||||
@@ -65,7 +41,7 @@ function RecentTech() {
|
||||
<span className={styles.postTag}>{post.tag}</span>
|
||||
</div>
|
||||
</Link>
|
||||
))}
|
||||
)) : <p>記事がまだありません。</p>}
|
||||
</div>
|
||||
<Link to="/tech" className={styles.moreLink}>
|
||||
すべて見る →
|
||||
@@ -75,18 +51,22 @@ function RecentTech() {
|
||||
}
|
||||
|
||||
function RecentBlog() {
|
||||
const posts = recentPosts.blog;
|
||||
|
||||
return (
|
||||
<section className={styles.section}>
|
||||
<h2 className={styles.sectionTitle}>// Blog</h2>
|
||||
<p className={styles.sectionDesc}>日常の思考・情報収集</p>
|
||||
<div className={styles.posts}>
|
||||
<Link to="/blog/2026-02-19-headline" className={styles.postCard}>
|
||||
<h3 className={styles.postTitle}>02/19 AIヘッドライン</h3>
|
||||
<div className={styles.postMeta}>
|
||||
<span className={styles.postDate}>2026-02-19</span>
|
||||
<span className={styles.postTag}>AI</span>
|
||||
</div>
|
||||
</Link>
|
||||
{posts.length > 0 ? posts.map((post, idx) => (
|
||||
<Link key={idx} to={post.url} className={styles.postCard}>
|
||||
<h3 className={styles.postTitle}>{post.title}</h3>
|
||||
<div className={styles.postMeta}>
|
||||
<span className={styles.postDate}>{post.date}</span>
|
||||
<span className={styles.postTag}>{post.tag}</span>
|
||||
</div>
|
||||
</Link>
|
||||
)) : <p>記事がまだありません。</p>}
|
||||
</div>
|
||||
<Link to="/blog" className={styles.moreLink}>
|
||||
すべて見る →
|
||||
|
||||
Reference in New Issue
Block a user