Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions .github/workflows/deploy-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Deploy blog to GitHub Pages

on:
push:
branches: [master]
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Configure GitHub Pages
id: pages
uses: actions/configure-pages@v5

- name: Build with Jekyll
uses: actions/jekyll-build-pages@v1
with:
source: ./
destination: ./_site

- name: Upload GitHub Pages artifact
uses: actions/upload-pages-artifact@v4
with:
path: ./_site

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,8 @@
.cursorrules
actionlint
.claude/
.cursor
.cursor
_site/
.jekyll-cache/
.jekyll-metadata
.sass-cache/
12 changes: 12 additions & 0 deletions 404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
layout: default
title: 页面没有找到
permalink: /404.html
---
<main class="not-found-page wrap">
<p class="not-found-code">404</p>
<p class="section-kicker">PAGE NOT FOUND</p>
<h1>这张地图上,没有这一页。</h1>
<p>链接可能已经移动,或者它从未存在过。你可以返回首页继续探索。</p>
<a class="primary-button" href="{{ '/' | relative_url }}">返回首页 <span>→</span></a>
</main>
4 changes: 1 addition & 3 deletions AI/AI 论文资料.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ date: 2025-12-14
# Attention Is All You Need

- 英文原版:[Attention Is All You Need.pdf](https://arxiv.org/pdf/1706.03762)
- 中文翻译:[Attention Is All You Need 中文翻译.pdf](./资料/Attention%20Is%20All%20You%20Need%20中文翻译.pdf)

# The Illustrated Transformer

[The Illustrated Transformer](https://jalammar.github.io/illustrated-transformer/)
[The Illustrated Transformer](https://jalammar.github.io/illustrated-transformer/)
6 changes: 3 additions & 3 deletions AI/MCP 原理及 Java 开发指南.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ spring.ai.mcp.server.name=my-invoice-server
spring.ai.mcp.server.version=0.0.1
```

详细的配置参数及默认值可以参考官方文档:[Spring AI / Model Context Protocol (MCP) / MCP Server Boot Starters]([https://](https://docs.spring.io/spring-ai/reference/api/mcp/mcp-server-boot-starter-docs.html#_configuration_properties))。
详细的配置参数及默认值可以参考官方文档:[Spring AI / Model Context Protocol (MCP) / MCP Server Boot Starters](https://docs.spring.io/spring-ai/reference/api/mcp/mcp-server-boot-starter-docs.html#_configuration_properties)。

### 暴露 Tool

Expand Down Expand Up @@ -228,7 +228,7 @@ cline_mcp_setting.json 增加如下配置:

1. JDK 版本必须 >= 17
2. Spring Boot 版本必须 >= 3.2
3. Spring AI 底层使用 [modelcontextprotocol / java-sdk]([https://](https://github.com/modelcontextprotocol/java-sdk))
3. Spring AI 底层使用 [modelcontextprotocol / java-sdk](https://github.com/modelcontextprotocol/java-sdk)
4. MCP 协议等都在快速发展中,上面的代码示例仅供参考,具体实现可能会有所不同

## 完整配置示例
Expand Down Expand Up @@ -965,4 +965,4 @@ A: 常见瓶颈:
- **Java SDK**: https://github.com/modelcontextprotocol/java-sdk
- **TypeScript SDK**: https://github.com/modelcontextprotocol/typescript-sdk
- **Python SDK**: https://github.com/modelcontextprotocol/python-sdk
- **MCP Inspector**: https://github.com/modelcontextprotocol/inspector
- **MCP Inspector**: https://github.com/modelcontextprotocol/inspector
6 changes: 6 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
source "https://rubygems.org"

# Keep local builds aligned with the dependency set used by GitHub Pages.
gem "github-pages", "~> 232", group: :jekyll_plugins
gem "nokogiri", "1.16.7"
gem "webrick", "1.8.1"
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

### 在代码、书影音与生活之间,持续构建自己的知识地图

### [访问在线博客 →](https://ljyyano.github.io/Thinking_in_Java_MindMapping/)

<p>
<a href="编程/"><img src="https://img.shields.io/badge/Code-Java%20%7C%20Redis%20%7C%20Spring-ED8B00?style=for-the-badge&logo=openjdk&logoColor=white" alt="Code"></a>
<a href="AI/"><img src="https://img.shields.io/badge/AI-Agent%20%7C%20MCP-0A7EA4?style=for-the-badge&logo=openai&logoColor=white" alt="AI"></a>
Expand Down Expand Up @@ -217,7 +219,7 @@
<tr><td><a href="%E7%BC%96%E7%A8%8B/%E5%85%B6%E4%BB%96/LeetCode%20%E4%BA%8C%E5%8F%89%E6%A0%91%E7%B3%BB%E7%BB%9F%E9%A2%98%E8%A7%A3.md">LeetCode 二叉树系统题解.md</a></td><td>2019-10-10</td></tr>
<tr><td><a href="%E7%BC%96%E7%A8%8B/%E5%85%B6%E4%BB%96/Linux%20mmap%20%E6%8A%80%E6%9C%AF.md">Linux mmap 技术.md</a></td><td>2021-09-23</td></tr>
<tr><td><a href="%E7%BC%96%E7%A8%8B/%E5%85%B6%E4%BB%96/Linux%20%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98.md">Linux 虚拟内存.md</a></td><td>2021-03-21</td></tr>
<tr><td><a href="%E7%BC%96%E7%A8%8B/%E5%85%B6%E4%BB%96/LSM.md">LSM.md</a></td><td>-</td></tr>
<tr><td><a href="%E7%BC%96%E7%A8%8B/%E5%85%B6%E4%BB%96/LSM.md">LSM.md</a></td><td>2024-01-24</td></tr>
<tr><td><a href="%E7%BC%96%E7%A8%8B/%E5%85%B6%E4%BB%96/Mac%20mini%20%E5%AE%B6%E5%BA%AD%E7%BD%91%E7%BB%9C%E8%AE%BE%E7%BD%AE%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F.md">Mac mini 家庭网络设置内网穿透.md</a></td><td>2025-05-14</td></tr>
<tr><td><a href="%E7%BC%96%E7%A8%8B/%E5%85%B6%E4%BB%96/Maven%20%E4%BE%9D%E8%B5%96%E6%A0%91%E7%9A%84%E8%A7%A3%E6%9E%90%E8%A7%84%E5%88%99.md">Maven 依赖树的解析规则.md</a></td><td>2020-11-13</td></tr>
<tr><td><a href="%E7%BC%96%E7%A8%8B/%E5%85%B6%E4%BB%96/MySQL%20%E9%94%81%E6%B7%B1%E5%85%A5%E5%88%86%E6%9E%90.md">MySQL 锁深入分析.md</a></td><td>2023-12-14</td></tr>
Expand Down
71 changes: 71 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
title: "Yano's Notes"
tagline: "在代码、书影音与生活之间,持续构建自己的知识地图"
description: "Yano 的个人博客:Java、Redis、Spring、AI、读书、观影、游戏与生活随笔。"
author: "Yano"
lang: zh-CN
timezone: Asia/Shanghai

url: "https://ljyyano.github.io"
baseurl: "/Thinking_in_Java_MindMapping"
repository: "LjyYano/Thinking_in_Java_MindMapping"

markdown: kramdown
highlighter: rouge
strict_front_matter: true

kramdown:
input: GFM
syntax_highlighter: rouge
hard_wrap: false
auto_ids: true

plugins:
- jekyll-relative-links

relative_links:
enabled: true
collections: true

defaults:
- scope:
path: "AI"
values:
layout: article
category: AI
- scope:
path: "编程"
values:
layout: article
category: 编程
- scope:
path: "游戏"
values:
layout: article
category: 游戏
- scope:
path: "观影"
values:
layout: article
category: 观影
- scope:
path: "读书"
values:
layout: article
category: 读书
- scope:
path: "随笔"
values:
layout: article
category: 随笔

exclude:
- README.md
- Gemfile
- Gemfile.lock
- scripts
- vendor
- node_modules
- .claude
- .cursor
- .cursorrules
- .DS_Store
36 changes: 36 additions & 0 deletions _data/categories.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
- name: 编程
path: 编程/
slug: code
icon: "⌘"
kicker: CODE
description: "Java、Redis、Spring 与工程原理"
- name: AI
path: AI/
slug: ai
icon: "✦"
kicker: INTELLIGENCE
description: "Agent、MCP 与人工智能实践"
- name: 读书
path: 读书/
slug: books
icon: "◫"
kicker: BOOKS
description: "读书笔记、摘抄与长期思考"
- name: 观影
path: 观影/
slug: films
icon: "▶"
kicker: FILMS
description: "电影、剧集与年度观影总结"
- name: 游戏
path: 游戏/
slug: games
icon: "◆"
kicker: GAMES
description: "JRPG、任天堂与游戏体验"
- name: 随笔
path: 随笔/
slug: essays
icon: "≈"
kicker: ESSAYS
description: "生活记录、复盘与偶然所得"
14 changes: 14 additions & 0 deletions _includes/footer.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<footer class="site-footer">
<div class="footer-inner">
<div>
<a class="footer-brand" href="{{ '/' | relative_url }}">{{ site.title }}</a>
<p>{{ site.tagline }}</p>
</div>
<div class="footer-links">
<a href="{{ '/feed.xml' | relative_url }}">RSS</a>
<a href="{{ '/archive/' | relative_url }}">全部文章</a>
<a href="https://github.com/{{ site.repository }}" target="_blank" rel="noopener">源码</a>
</div>
<p class="copyright">© {{ 'now' | date: '%Y' }} Yano · Built with Jekyll &amp; GitHub Pages</p>
</div>
</footer>
32 changes: 32 additions & 0 deletions _includes/header.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<header class="site-header" data-header>
<div class="header-inner">
<a class="brand" href="{{ '/' | relative_url }}" aria-label="{{ site.title }} 首页">
<span class="brand-mark" aria-hidden="true">Y</span>
<span class="brand-copy">
<strong>{{ site.title }}</strong>
<small>THINK · LEARN · WRITE</small>
</span>
</a>

<nav class="main-nav" id="main-nav" aria-label="主导航" data-nav>
<a href="{{ '/' | relative_url }}"{% if page.url == '/' %} aria-current="page"{% endif %}>首页</a>
<a href="{{ '/archive/' | relative_url }}"{% if page.url == '/archive/' %} aria-current="page"{% endif %}>归档</a>
<a href="{{ '/about/' | relative_url }}"{% if page.url == '/about/' %} aria-current="page"{% endif %}>关于</a>
<a href="https://github.com/{{ site.repository }}" target="_blank" rel="noopener">GitHub</a>
</nav>

<div class="header-actions">
<button class="icon-button search-trigger" type="button" aria-label="搜索文章" data-search-open>
<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="6.75"></circle><path d="m16 16 4.25 4.25"></path></svg>
<span class="shortcut">/</span>
</button>
<button class="icon-button theme-toggle" type="button" aria-label="切换颜色主题" data-theme-toggle>
<svg class="sun-icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="3.5"></circle><path d="M12 2v2M12 20v2M4.93 4.93l1.42 1.42M17.65 17.65l1.42 1.42M2 12h2M20 12h2M4.93 19.07l1.42-1.42M17.65 6.35l1.42-1.42"></path></svg>
<svg class="moon-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M20.4 15.2A8.6 8.6 0 0 1 8.8 3.6 8.6 8.6 0 1 0 20.4 15.2Z"></path></svg>
</button>
<button class="icon-button nav-toggle" type="button" aria-label="打开导航" aria-controls="main-nav" aria-expanded="false" data-nav-toggle>
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"></path></svg>
</button>
</div>
</div>
</header>
12 changes: 12 additions & 0 deletions _includes/search.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<div class="search-dialog" role="dialog" aria-modal="true" aria-label="搜索文章" aria-hidden="true" data-search-dialog>
<button class="search-backdrop" type="button" aria-label="关闭搜索" data-search-close></button>
<section class="search-panel">
<div class="search-box">
<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="6.75"></circle><path d="m16 16 4.25 4.25"></path></svg>
<input type="search" placeholder="搜索 147 篇文章…" autocomplete="off" spellcheck="false" data-search-input>
<button type="button" class="search-esc" data-search-close>ESC</button>
</div>
<div class="search-status" data-search-status>输入标题、分类或正文关键词</div>
<div class="search-results" data-search-results></div>
</section>
</div>
52 changes: 52 additions & 0 deletions _layouts/article.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
layout: default
---
{% assign article_title = page.title | default: page.name | replace: '.md', '' %}
{% assign path_parts = page.path | split: '/' %}
{% assign category_name = page.category | default: path_parts[0] %}
{% assign category_slug = '' %}
{% for item in site.data.categories %}
{% if item.name == category_name %}{% assign category_slug = item.slug %}{% endif %}
{% endfor %}

<main class="article-shell">
<article class="article-card">
<nav class="breadcrumbs" aria-label="面包屑">
<a href="{{ '/' | relative_url }}">首页</a>
<span aria-hidden="true">/</span>
<a href="{{ '/categories/' | append: category_slug | append: '/' | relative_url }}">{{ category_name }}</a>
{% if path_parts.size > 2 %}
<span aria-hidden="true">/</span>
<span>{{ path_parts[1] }}</span>
{% endif %}
</nav>

<header class="article-header">
<div class="eyebrow-row">
<a class="category-pill" href="{{ '/categories/' | append: category_slug | append: '/' | relative_url }}">{{ category_name }}</a>
{% if page.date %}<time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: '%Y 年 %-m 月 %-d 日' }}</time>{% endif %}
</div>
<h1>{{ article_title }}</h1>
<div class="article-rule"><span></span></div>
</header>

<div class="prose" data-article-content>
{{ content }}
</div>

<footer class="article-footer">
<p>— END —</p>
<div class="article-footer-actions">
<a href="{{ '/categories/' | append: category_slug | append: '/' | relative_url }}">继续浏览「{{ category_name }}」</a>
<a href="https://github.com/{{ site.repository }}/edit/master/{{ page.path }}" target="_blank" rel="noopener">在 GitHub 上编辑</a>
</div>
</footer>
</article>

<aside class="article-aside" aria-label="文章目录">
<div class="toc-card" data-toc-card>
<p class="toc-label">ON THIS PAGE</p>
<nav data-toc></nav>
</div>
</aside>
</main>
Loading
Loading