diff --git a/astro.config.ts b/astro.config.ts
index e4bde353..f11accda 100644
--- a/astro.config.ts
+++ b/astro.config.ts
@@ -22,6 +22,7 @@ export default defineConfig({
icon({
include: {
feather: ["*"],
+ flowbite: ["*"],
},
}),
mdx(),
diff --git a/bun.lock b/bun.lock
index 5a12e448..609be8ec 100644
--- a/bun.lock
+++ b/bun.lock
@@ -9,6 +9,7 @@
"@astrojs/svelte": "^7.0.8",
"@date-fns/tz": "^1.2.0",
"@iconify-json/feather": "^1.2.1",
+ "@iconify-json/flowbite": "^1.2.5",
"@tailwindcss/typography": "^0.5.16",
"astro": "^5.5.5",
"astro-icon": "^1.1.5",
@@ -165,6 +166,8 @@
"@iconify-json/feather": ["@iconify-json/feather@1.2.1", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-gURNg2TJYuO1U7DoOGCylm9TwkMfzjOH2BHdWsE0IXLXj/MNkFIJu56Wu1xRws27M8hzDzUDt/biGUa/LfAjdg=="],
+ "@iconify-json/flowbite": ["@iconify-json/flowbite@1.2.5", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-HPaKCC4U5F3OrzDGkC6vTNv5DO9HG4rTYl2D1B4x6vetoNNhuHdh1mM3hDnpCPhNIUlbe2sBSMJxBtewP+YjVA=="],
+
"@iconify/tools": ["@iconify/tools@4.1.1", "", { "dependencies": { "@iconify/types": "^2.0.0", "@iconify/utils": "^2.2.0", "@types/tar": "^6.1.13", "axios": "^1.7.9", "cheerio": "1.0.0", "domhandler": "^5.0.3", "extract-zip": "^2.0.1", "local-pkg": "^0.5.1", "pathe": "^1.1.2", "svgo": "^3.3.2", "tar": "^6.2.1" } }, "sha512-Hybu/HGhv6T8nLQhiG9rKx+ekF7NNpPOEQAy7JRSKht3s3dcFSsPccYzk24Znc9MTxrR6Gak3cg6CPP5dyvS2Q=="],
"@iconify/types": ["@iconify/types@2.0.0", "", {}, "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="],
diff --git a/package.json b/package.json
index 07e549fb..fd92957d 100644
--- a/package.json
+++ b/package.json
@@ -28,6 +28,7 @@
"@astrojs/svelte": "^7.0.9",
"@date-fns/tz": "^1.2.0",
"@iconify-json/feather": "^1.2.1",
+ "@iconify-json/flowbite": "^1.2.5",
"@tailwindcss/typography": "^0.5.16",
"astro": "^5.6.1",
"astro-icon": "^1.1.5",
diff --git a/src/components/Header.astro b/src/components/Header.astro
index 90c3f0a3..cc596885 100644
--- a/src/components/Header.astro
+++ b/src/components/Header.astro
@@ -7,11 +7,11 @@ import banner from "+contents/banner.ts";
import Logo from "./Logo.astro";
const links = [
+ { title: "About", href: "/about", focus: Focus.about },
{ title: "プロジェクト", href: "/projects", focus: Focus.projects },
{ title: "記事", href: "/articles", focus: Focus.articles },
{ title: "メンバー", href: "/members", focus: Focus.members },
{ title: "参加", href: "/join", focus: Focus.join },
- { title: "お問い合わせ", href: "/contact", focus: Focus.contact },
];
interface Props {
diff --git a/src/layouts/StaticDocumentWrapper.astro b/src/layouts/StaticDocumentWrapper.astro
index f4e6f4f2..78fa4040 100644
--- a/src/layouts/StaticDocumentWrapper.astro
+++ b/src/layouts/StaticDocumentWrapper.astro
@@ -21,12 +21,8 @@ const { header, fill, title, position } = Astro.props;
loading="eager"
src={header}
width="1920"
- height="600"
- class:list={[
- "my-8 h-100 w-full object-cover md:h-100 lg:h-150",
- fill,
- position,
- ]}
+ height={300}
+ class:list={["my-8 h-75 w-full object-cover", fill, position]}
/>
diff --git a/src/pages/about/index.astro b/src/pages/about/index.astro
new file mode 100644
index 00000000..1dc81f66
--- /dev/null
+++ b/src/pages/about/index.astro
@@ -0,0 +1,125 @@
+---
+import GlobalLayout from "+/layouts/GlobalLayout.astro";
+import StaticDocumentWrapper from "+/layouts/StaticDocumentWrapper.astro";
+
+import ActionButton from "+/components/ActionButton.astro";
+import Header from "+/images/activity/develop/solo-dev.jpg";
+import { Focus } from "+/schema";
+---
+
+
+
+
+ 団体概要
+
+ - 団体名: ut.code();
+ - 構成人数: 30 人程度
+ - 発足: 2019 年
+ -
+ X: utokyo_code
+
+ -
+ GitHub: ut-code
+
+ - Email: 読込中...
+
+
+
+
+
+ 活動内容
+ ut.code(); には「学習」「交流」「開発」の三軸を主にして活動しています。
+
+ 活動例:
+
+ - 学習: ut.code(); Learn、全ゼミ・自主ゼミ
+ - 交流: 五月祭・駒場祭、合宿
+ - 開発: プロジェクト、ハッカソン
+
+
+
+
+ 活動場所
+
+ - 部室: 駒場学生会館 313B
+ - 本郷図書館 プロジェクトボックス
+ - オンライン (Discord)
+ など
+
+
+
+ FAQ / よくある質問
+
+ Q: 活動頻度はどのくらいですか?
+ A: プロジェクトの参加数や各プロジェクトによって異なりますが、 一般的には毎週夜のミーティングと月1~2回の作業会になります。
+
+
+ Q: 初心者でも大丈夫ですか?
+ A: 全く問題ありません! ut.code(); は全くの初心者がフルスタックのアプリケーションを作成できるようになる教材を公開しており、その教材を用いた勉強会や講習会も実施しています!
+
+
+ Q: 東京大学ではないです・一年生ではありません・文系です
+ A: 全く問題ありません! ut.code(); は大学名・学年による制限は設けていません。
+
+
+
+ 主な使用技術・スタック
+
+
+ - 言語: JavaScript, TypeScript など
+ - フレームワーク: React・Next.js, Svelte(Kit) など
+ - UI: MUI, Tailwind, DaisyUI など
+ - バックエンド: Hono, Express, Prisma, Drizzle など
+ - データベース: Supabase, Neon など
+ - インフラ: Cloudflare, Fly.io, Render など
+ - 情報: Notion, Discord, GitHub など
+
+
+
+ ご寄付・ご協賛のお願い
+
+ ut.code();
+ では、活動を支援していただける方を募集しております。詳細につきましては、次のページをご覧ください。
+
+
+ ご寄付・ご協賛のお願い
+
+
+
+
diff --git a/src/pages/contact.astro b/src/pages/contact.astro
index bb274acb..29f681b9 100644
--- a/src/pages/contact.astro
+++ b/src/pages/contact.astro
@@ -4,12 +4,14 @@ import Header from "+/images/headers/contact.jpg";
import GlobalLayout from "+/layouts/GlobalLayout.astro";
import StaticDocumentWrapper from "+/layouts/StaticDocumentWrapper.astro";
import { Focus } from "+/schema";
+
+// TODO: delete this file
---
diff --git a/src/pages/index.astro b/src/pages/index.astro
index b356d59d..985aa919 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -106,7 +106,7 @@ articles.splice(3);
-
+
@@ -156,6 +156,15 @@ articles.splice(3);
+
@@ -192,24 +201,6 @@ articles.splice(3);
-
-
// ヘッダーのスタイリングに使われています
export enum Focus {
none = 0,
- projects = 1,
- articles = 2,
- members = 3,
- join = 4,
- contact = 5,
+ about = 1,
+ projects = 2,
+ articles = 3,
+ members = 4,
+ join = 5,
}