Separate Blog and Tech sections
All checks were successful
Deploy Docusaurus Site / deploy (push) Successful in 26s

This commit is contained in:
koide 2026-02-19 04:31:43 +00:00
parent 516972ab1a
commit bfc04ddfa4
8 changed files with 91 additions and 20 deletions

View File

@ -437,7 +437,7 @@ vllm serve <model> --tensor-parallel-size 2 --max-model-len 4096
- [NVIDIA DGX Spark Playbooks](https://build.nvidia.com/spark/) - [NVIDIA DGX Spark Playbooks](https://build.nvidia.com/spark/)
- [vLLM ドキュメント](https://docs.vllm.ai/) - [vLLM ドキュメント](https://docs.vllm.ai/)
- [DGX SparkでMiniMax-M2.5を動かす](/blog/dgx-spark-minimax/) - [DGX SparkでMiniMax-M2.5を動かす](/tech/dgx-spark-minimax/)
--- ---

14
docs-tech/index.md Normal file
View File

@ -0,0 +1,14 @@
---
sidebar_position: 1
title: Tech
slug: /
---
# 💻 Tech
技術記事・ハウツー・検証レポートなど。
## DGX Spark
- [デュアル構成ガイド](/tech/dgx-spark-dual) - 2台接続で256GB環境を構築
- [MiniMax-M2.5-REAP-172Bを動かす](/tech/dgx-spark-minimax) - 172Bモデルを動かす

View File

@ -6,9 +6,6 @@ slug: /
# 📝 Blog # 📝 Blog
技術記事や思ったことなど。 日常の思考、情報収集、気になったことなど。
## DGX Spark *coming soon...*
- [DGX Spark デュアル構成ガイド](/blog/dgx-spark-dual) - 2台接続で256GB環境を構築
- [DGX SparkでMiniMax-M2.5-REAP-172Bを動かす](/blog/dgx-spark-minimax) - 172Bモデルを動かす

View File

@ -22,15 +22,27 @@ const config: Config = {
locales: ['ja'], locales: ['ja'],
}, },
plugins: [
// Tech技術記事用のドキュメント
[
'@docusaurus/plugin-content-docs',
{
id: 'tech',
path: 'docs-tech',
routeBasePath: 'tech',
sidebarPath: './sidebars-tech.ts',
},
],
],
presets: [ presets: [
[ [
'classic', 'classic',
{ {
docs: { docs: {
sidebarPath: './sidebars.ts', path: 'docs',
routeBasePath: '/blog', routeBasePath: '/blog',
breadcrumbs: true, sidebarPath: './sidebars.ts',
sidebarCollapsed: false,
}, },
blog: false, blog: false,
theme: { theme: {
@ -53,6 +65,11 @@ const config: Config = {
label: 'Blog', label: 'Blog',
position: 'left', position: 'left',
}, },
{
to: '/tech',
label: 'Tech',
position: 'left',
},
{ {
to: '/works', to: '/works',
label: 'Works', label: 'Works',
@ -69,7 +86,6 @@ const config: Config = {
darkTheme: prismThemes.dracula, darkTheme: prismThemes.dracula,
additionalLanguages: ['bash', 'json', 'yaml', 'python'], additionalLanguages: ['bash', 'json', 'yaml', 'python'],
}, },
// 目次の設定
tableOfContents: { tableOfContents: {
minHeadingLevel: 2, minHeadingLevel: 2,
maxHeadingLevel: 4, maxHeadingLevel: 4,

12
sidebars-tech.ts Normal file
View File

@ -0,0 +1,12 @@
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
const sidebars: SidebarsConfig = {
techSidebar: [
{
type: 'autogenerated',
dirName: '.',
},
],
};
export default sidebars;

View File

@ -36,9 +36,13 @@
.sectionTitle { .sectionTitle {
font-size: 1.5rem; font-size: 1.5rem;
margin-bottom: 1.5rem; margin-bottom: 0.25rem;
padding-bottom: 0.5rem; }
border-bottom: 1px solid var(--ifm-color-emphasis-200);
.sectionDesc {
font-size: 0.9rem;
color: var(--ifm-color-emphasis-600);
margin-bottom: 1rem;
} }
/* Posts */ /* Posts */
@ -87,6 +91,16 @@
border-radius: 4px; border-radius: 4px;
} }
/* Coming Soon */
.comingSoon {
padding: 2rem;
text-align: center;
color: var(--ifm-color-emphasis-500);
background: var(--ifm-background-surface-color);
border: 1px dashed var(--ifm-color-emphasis-300);
border-radius: 8px;
}
/* Works */ /* Works */
.works { .works {
display: grid; display: grid;

View File

@ -16,25 +16,26 @@ function HomepageHeader() {
); );
} }
function RecentPosts() { function RecentTech() {
const posts = [ const posts = [
{ {
title: 'DGX Spark デュアル構成ガイド', title: 'DGX Spark デュアル構成ガイド',
date: '2026-02-19', date: '2026-02-19',
tag: 'DGX Spark', tag: 'DGX Spark',
url: '/blog/dgx-spark-dual', url: '/tech/dgx-spark-dual',
}, },
{ {
title: 'DGX SparkでMiniMax-M2.5-REAP-172Bを動かす', title: 'DGX SparkでMiniMax-M2.5-REAP-172Bを動かす',
date: '2026-02-18', date: '2026-02-18',
tag: 'DGX Spark', tag: 'DGX Spark',
url: '/blog/dgx-spark-minimax', url: '/tech/dgx-spark-minimax',
}, },
]; ];
return ( return (
<section className={styles.section}> <section className={styles.section}>
<h2 className={styles.sectionTitle}>📝 </h2> <h2 className={styles.sectionTitle}>💻 Tech</h2>
<p className={styles.sectionDesc}></p>
<div className={styles.posts}> <div className={styles.posts}>
{posts.map((post, idx) => ( {posts.map((post, idx) => (
<Link key={idx} to={post.url} className={styles.postCard}> <Link key={idx} to={post.url} className={styles.postCard}>
@ -46,8 +47,23 @@ function RecentPosts() {
</Link> </Link>
))} ))}
</div> </div>
<Link to="/tech" className={styles.moreLink}>
</Link>
</section>
);
}
function RecentBlog() {
return (
<section className={styles.section}>
<h2 className={styles.sectionTitle}>📝 Blog</h2>
<p className={styles.sectionDesc}></p>
<div className={styles.comingSoon}>
<p>coming soon...</p>
</div>
<Link to="/blog" className={styles.moreLink}> <Link to="/blog" className={styles.moreLink}>
</Link> </Link>
</section> </section>
); );
@ -64,7 +80,8 @@ function Works() {
return ( return (
<section className={styles.section}> <section className={styles.section}>
<h2 className={styles.sectionTitle}>🛠 </h2> <h2 className={styles.sectionTitle}>🛠 Works</h2>
<p className={styles.sectionDesc}></p>
<div className={styles.works}> <div className={styles.works}>
{works.map((work, idx) => ( {works.map((work, idx) => (
<a <a
@ -95,7 +112,8 @@ export default function Home(): React.JSX.Element {
<main className={styles.main}> <main className={styles.main}>
<HomepageHeader /> <HomepageHeader />
<div className={styles.content}> <div className={styles.content}>
<RecentPosts /> <RecentTech />
<RecentBlog />
<Works /> <Works />
</div> </div>
</main> </main>