Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
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
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,10 @@ go.work.sum
# env file
.env
.qodo

# Website (Docusaurus)
website/node_modules/
website/.docusaurus/
website/.cache-loader/
website/build/
website/.DS_Store
20 changes: 20 additions & 0 deletions website/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Dependencies
/node_modules

# Production
/build

# Generated files
.docusaurus
.cache-loader

# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
135 changes: 135 additions & 0 deletions website/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
# 1024 TechCamp Website

这是 1024 实训营的官方网站,使用 [Docusaurus](https://docusaurus.io/) 构建。

## 本地开发

### 安装依赖

```bash
npm install
```

### 启动开发服务器

```bash
npm start
```

此命令启动本地开发服务器并打开浏览器窗口。大多数更改会实时反映,无需重启服务器。

### 构建

```bash
npm run build
```

此命令将静态内容生成到 `build` 目录,可以使用任何静态内容托管服务提供服务。

## 部署

### GitHub Pages 自动部署

创建 `.github/workflows/deploy.yml` 文件(需要 workflow 权限):

```yaml
name: Deploy to GitHub Pages

on:
push:
branches:
- main
workflow_dispatch:

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

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

jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: website
steps:
- uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: website/package-lock.json

- name: Install dependencies
run: npm ci

- name: Build website
run: npm run build

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: website/build

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
```

### 手动部署

```bash
GIT_USER=<Your GitHub username> npm run deploy
```

## 添加内容

### 添加博客文章

在 `blog/` 目录下创建新的 Markdown 文件:

```markdown
---
slug: my-post
title: 我的文章标题
authors: [techcamp]
tags: [tag1, tag2]
---

文章摘要

<!-- truncate -->

文章正文...
```

### 添加文档页面

在 `docs/` 目录下创建新的 Markdown 文件,并在 frontmatter 中指定位置:

```markdown
---
sidebar_position: 4
---

# 页面标题

页面内容...
```

## 许可证

Apache-2.0
12 changes: 12 additions & 0 deletions website/blog/2019-05-28-first-blog-post.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 Critical: Remove Demo Content

This and other demo blog posts (2019-05-29-long-blog-post.md, 2021-08-01-mdx-blog-post.mdx, 2021-08-26-welcome/) should be removed before production. They're Docusaurus template examples with Lorem ipsum content not relevant to TechCamp.

Consider keeping only 2025-01-01-welcome.md as the first real post.

slug: first-blog-post
title: First Blog Post
authors: [slorber, yangshun]
tags: [hola, docusaurus]
Copy link

Copilot AI Oct 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'hola' tag is not defined in blog/tags.yml. This example post should either use defined tags or be removed before production deployment as mentioned in the PR description's 'Next Steps'.

Suggested change
tags: [hola, docusaurus]
tags: [docusaurus]

Copilot uses AI. Check for mistakes.
---

Lorem ipsum dolor sit amet...

<!-- truncate -->

...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
44 changes: 44 additions & 0 deletions website/blog/2019-05-29-long-blog-post.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
slug: long-blog-post
title: Long Blog Post
authors: yangshun
tags: [hello, docusaurus]
---

This is the summary of a very long blog post,

Use a `<!--` `truncate` `-->` comment to limit blog post size in the list view.

<!-- truncate -->

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
24 changes: 24 additions & 0 deletions website/blog/2021-08-01-mdx-blog-post.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
slug: mdx-blog-post
title: MDX Blog Post
authors: [slorber]
tags: [docusaurus]
---

Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).

:::tip

Use the power of React to create interactive blog posts.

:::

{/* truncate */}

For example, use JSX to create an interactive button:

```js
<button onClick={() => alert('button clicked!')}>Click me!</button>
```

<button onClick={() => alert('button clicked!')}>Click me!</button>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions website/blog/2021-08-26-welcome/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
slug: welcome
title: Welcome
authors: [slorber, yangshun]
tags: [facebook, hello, docusaurus]
Copy link

Copilot AI Oct 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'facebook' tag is not defined in blog/tags.yml and doesn't align with the TechCamp project context. Consider using tags defined in tags.yml (announcement, ai, go, compiler, engineering, architecture) or removing this example post before production deployment.

Suggested change
tags: [facebook, hello, docusaurus]
tags: [announcement]

Copilot uses AI. Check for mistakes.
---

[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).

Here are a few tips you might find useful.

<!-- truncate -->

Simply add Markdown files (or folders) to the `blog` directory.

Regular blog authors can be added to `authors.yml`.

The blog post date can be extracted from filenames, such as:

- `2019-05-30-welcome.md`
- `2019-05-30-welcome/index.md`

A blog post folder can be convenient to co-locate blog post images:

![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)

The blog supports tags as well!

**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.
38 changes: 38 additions & 0 deletions website/blog/2025-01-01-welcome.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
slug: welcome-techcamp-website
title: 欢迎来到 1024 TechCamp 官方网站
authors: [techcamp]
tags: [announcement]
---

🎉 欢迎来到全新的 1024 TechCamp 官方网站!

<!-- truncate -->

## 关于本站

1024 实训营官方网站正式上线!在这里,你可以:

- 📖 阅读导师和学员的技术分享文章
- 🎓 了解实训营的课程和项目
- 💡 查看往期的技术讲座和工作坊
- 🤝 参与开源社区的讨论和贡献

## 我们的愿景

我们致力于打造一个开放、实践、创新的工程师成长平台。通过:

- **开源公开**:过程公开,结果开源,倒逼高质量产出
- **AI Native**:拥抱 AI 时代,让 AI 成为最强大的伙伴
- **资深带教**:资深专家全程陪跑,坚持高工程标准

## 精彩内容预告

即将发布的内容包括:

- 编译器技术深度解析
- AI 辅助开发实践经验
- 工程实践与架构设计分享
- 学员项目复盘与心得

敬请期待!🚀
30 changes: 30 additions & 0 deletions website/blog/authors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
techcamp:
name: 1024 TechCamp Team
title: 实训营团队
url: https://github.com/qiniu/techcamp
image_url: https://github.com/qiniu.png

yangshun:
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove Demo Authors

The yangshun and slorber entries are Docusaurus template examples. Only techcamp should remain for production use.

name: Yangshun Tay
title: Ex-Meta Staff Engineer, Co-founder GreatFrontEnd
url: https://linkedin.com/in/yangshun
image_url: https://github.com/yangshun.png
page: true
socials:
x: yangshunz
linkedin: yangshun
github: yangshun
newsletter: https://www.greatfrontend.com

slorber:
name: Sébastien Lorber
title: Docusaurus maintainer
url: https://sebastienlorber.com
image_url: https://github.com/slorber.png
page:
permalink: '/all-sebastien-lorber-articles'
socials:
x: sebastienlorber
linkedin: sebastienlorber
github: slorber
newsletter: https://thisweekinreact.com
29 changes: 29 additions & 0 deletions website/blog/tags.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
announcement:
label: 公告
permalink: /announcement
description: 实训营公告与通知

ai:
label: AI
permalink: /ai
description: AI 相关技术文章

go:
label: Go
permalink: /go
description: Go 语言相关

compiler:
label: 编译器
permalink: /compiler
description: 编译器技术

engineering:
label: 工程实践
permalink: /engineering
description: 工程实践与最佳实践

architecture:
label: 架构设计
permalink: /architecture
description: 架构设计与系统设计
Loading