從 AWS S3 移轉到 Cloudflare Pages
我將這個部落格從 AWS S3 移轉到 Cloudflare Pages。過去是用 S3 做靜態網站托管,透過 CloudFront 發佈,但為了簡化管理及提升效能,決定採用 Cloudflare Pages。
我將這個部落格從 AWS S3 移轉到 Cloudflare Pages。過去是用 S3 做靜態網站托管,透過 CloudFront 發佈,但為了簡化管理及提升效能,決定採用 Cloudflare Pages。
這篇備忘錄記錄了如何建立個人主頁。
建立個人主頁是展示個人作品、技能、簡歷和聯絡方式的重要方式。它可以用作個人品牌建設、求職或僅僅作為一個分享興趣愛好的平台。
建立個人主頁有許多種方法,從靜態網頁到複雜的內容管理系統 (CMS)。選擇合適的技術棧取決於你的需求和技術熟練度。
靜態站點生成器是建立個人主頁的流行選擇,因為它們易於部署、加載速度快、安全且通常免費託管。
如果你需要更多互動性或動態內容,可以使用前端框架創建單頁應用程式 (SPA)。
如果你希望有管理界面來輕鬆更新內容,可以使用 CMS。
在開始編寫程式碼之前,先規劃你的主頁應該包含哪些內容。常見的內容區塊包括:
本網站就是使用 Docusaurus 建立的,所以這裡以 Docusaurus 為例。
npx create-docusaurus@latest my-website classic --typescript
cd my-website
編輯 docusaurus.config.ts 文件以配置網站標題、導航欄、腳註等。
修改首頁:
默認的首頁是 src/pages/index.tsx。你可以編輯這個 React 組件來設計你的首頁。
// src/pages/index.tsx
import React from 'react';
import clsx from 'clsx';
import Layout from '@theme/Layout';
import Link from '@docusaurus/Link';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import styles from './index.module.css';
import HomepageFeatures from '../components/HomepageFeatures';
function HomepageHeader() {
const {siteConfig} = useDocusaurusContext();
return (
<header className={clsx('hero hero--primary', styles.heroBanner)}>
<div className="container">
<h1 className="hero__title">{siteConfig.title}</h1>
<p className="hero__subtitle">{siteConfig.tagline}</p>
<div className={styles.buttons}>
<Link
className="button button--secondary button--lg"
to="/docs/intro">
我的簡歷 - 5min 閱讀 ⏱️
</Link>
</div>
</div>
</header>
);
}
export default function Home(): JSX.Element {
const {siteConfig} = useDocusaurusContext();
return (
<Layout
title={`Hello from ${siteConfig.title}`}
description="Description will go into a meta tag in <head />">
<HomepageHeader />
<main>
<HomepageFeatures />
</main>
</Layout>
);
}
建立個人資料頁面 (例如 about.md):
你可以在 docs/ 目錄下創建 Markdown 文件作為關於你的頁面。
{/**/}
---
sidebar_position: 1
---
# 關於我
你好!我是 [你的名字],一位熱愛 [你的興趣] 的 [你的職位/角色]。
我在 [領域] 擁有 [X] 年的經驗,專注於 [你的專長]。
## 我的技能
- 程式語言:Python, JavaScript, C#
- 框架:React, Node.js, .NET
- 工具:Git, Docker, Kubernetes
## 我的專案
- **專案 A**:[鏈接] - 簡要說明
- **專案 B**:[鏈接] - 簡要說明
## 聯絡方式
- 電子郵件:your_email@example.com
- GitHub:[你的 GitHub]
- LinkedIn:[你的 LinkedIn]
配置導航欄:
在 docusaurus.config.ts 中修改 navbar 配置,添加指向你的關於我頁面、部落格等鏈接。
navbar: {
title: 'Hikari Dev',
logo: {
alt: 'My Site Logo',
src: 'img/logo.svg',
},
items: [
{
type: 'doc',
docId: 'intro', // 指向你的關於我或簡歷文檔
position: 'left',
label: '關於我',
},
{to: '/blog', label: '部落格', position: 'left'},
// ... 其他鏈接
],
},
最簡單的方法是使用 GitHub Pages 或 Vercel / Netlify。Docusaurus 有內置的部署功能。
docusaurus.config.ts 中配置 baseUrl 和 projectName。
baseUrl: '/<your-repo-name>/', // 例如,如果你的 repo 是 yourusername.github.io/my-website
projectName: 'my-website',
organizationName: 'yourusername',
GIT_USER=<YOUR_GITHUB_USERNAME> USE_SSH=true yarn deploy
建立個人主頁是一個展現自己的絕佳機會。選擇合適的工具、精心策劃內容,並利用靜態站點生成器等現代技術,你可以輕鬆地建立一個專業且美觀的個人網站。