feat(footer): internationalize footer layout and remove directions section
- Remove #directions section and DirectionsBlock component from home page - Translate Footer masthead brand titles to ANL and AI Agent Networking Lab - Update Footer affiliated institution links to KNU, CSE, and College of IT Engineering - Add advisor information (Prof. Seok-Joo Koh) and translate address to English - Translate Footer quick navigation links and colophon/copyright text - Update E2E test assertions for the updated footer layout and address
This commit is contained in:
@@ -1,95 +1,9 @@
|
||||
- `<p class="text-ink-mute text-base sm:text-lg leading-relaxed max-w-2xl">AI 에이전트 네트워크 연구실(ANL)은 멀티 AI 에이전트 오케스트레이션을 위해 서로 소통하고 협력하는 에이전트 네트워킹 기술과 표준 프레임워크 기술을 연구합니다.</p>`
|
||||
`body > footer > div.container-content.grid.gap-12.py-16.lg\:grid-cols-12 > div.lg\:col-span-5 > h3`와 `body > footer > div.container-content.grid.gap-12.py-16.lg\:grid-cols-12 > div.lg\:col-span-5 > h3` 앞에 favicon logo 넣어서 `body > header > div.container-content.flex.h-\[4\.25rem\].items-center.justify-between.gap-4.my-2.sm\:my-3 > a`와 같이 변경해줘.
|
||||
|
||||
- 문구 영어로 변경
|
||||
`body > footer > div.border-t.border-line > div > p.kicker.text-ink-mute`
|
||||
- 제거해줘.
|
||||
|
||||
- `<div class="pt-6 border-t border-line grid grid-cols-3 gap-4"><div><div class="font-serif text-3xl text-cobalt-dark font-normal">4</div><div class="font-mono text-xs text-ink-mute uppercase tracking-wider mt-1">Research Areas</div></div><div><div class="font-serif text-3xl text-cobalt-dark font-normal">220<!-- -->+</div><div class="font-mono text-xs text-ink-mute uppercase tracking-wider mt-1">Publications</div></div><div><div class="font-serif text-3xl text-ink font-normal">2026</div><div class="font-mono text-xs text-ink-mute uppercase tracking-wider mt-1">Issue Static</div></div></div>`
|
||||
`body > footer > div.container-content.grid.gap-12.py-16.lg\:grid-cols-12 > div.lg\:col-span-4 > address`
|
||||
- 교수 정보, 이메일 주소, 주소 순으로 배치해줘.
|
||||
|
||||
- 문구 수정
|
||||
- 4 RESEARCH AREAS -> {Number of International Journals & Conference} International Journals & Conference
|
||||
- 220+ PUBLICATIONS -> {Number of Patent} Patent
|
||||
- 2026 ISSUE STATIC -> {Number of Standardization} Standardization Contributions
|
||||
|
||||
- `body > main > div > section.space-y-6 > div.flex.flex-col.sm\:flex-row.sm\:items-end.justify-between.gap-4.border-b.border-line.pb-4 > div > h2`
|
||||
- 주요 연구 프로젝트 (Research Projects) -> Research Projects
|
||||
|
||||
- `"project-iot-standards`
|
||||
- IoT Standards -> AIoT & AI-RAN
|
||||
- `#project-iot-standards > div.space-y-4 > div.flex.items-start.justify-between.gap-3.border-b.border-line\/60.pb-3 > span` : 2026 ~ Present
|
||||
- AIoT 관련 특히 Agent based IoT 관련 내용으로 수정
|
||||
- `#project-iot-standards > div.space-y-3.pt-3.border-t.border-line\/60.text-xs.font-mono > div.flex.items-baseline.justify-between.gap-2 > span.text-cobalt-dark.font-bold`
|
||||
- ISO/IEC JTC1/SC41 -> 한국연구재단 (NRF) 수정
|
||||
- `#project-iot-standards > div.space-y-3.pt-3.border-t.border-line\/60.text-xs.font-mono > div.space-y-1\.5.pt-1` 부분 삭제
|
||||
|
||||
|
||||
- `#project-ccis`
|
||||
- CCIS -> MCM으로 수정
|
||||
- `#project-ccis > div.space-y-4 > div.flex.items-start.justify-between.gap-3.border-b.border-line\/60.pb-3 > span` : 2026 ~ Present
|
||||
- `#project-ccis > div.space-y-4 > p` : MCM 내용으로 수정
|
||||
- @`/research/projects/mcm.md` 참조
|
||||
- `#project-ccis > div.space-y-4 > div.flex.flex-wrap.gap-1\.5.pt-1` : MCM 관련 키워드로 수정
|
||||
- `#project-ccis > div.space-y-3.pt-3.border-t.border-line\/60.text-xs.font-mono > div.flex.items-baseline.justify-between.gap-2 > span.text-cobalt-dark.font-bold`
|
||||
- "IEC/TC 100/TA 17" -> "IEC/TC 100/WG 12 supported by KEIT"
|
||||
- `#project-ccis > div.space-y-3.pt-3.border-t.border-line\/60.text-xs.font-mono > div.space-y-1\.5.pt-1` 삭제
|
||||
|
||||
- `#project-vlc-iot`
|
||||
- VLC-IoT -> MVQM으로 수정
|
||||
- `#project-vlc-iot > div.space-y-4 > p` : MVQM 내용으로 수정
|
||||
- @`/research/projects/mvqm.md` 참조
|
||||
- `#project-vlc-iot > div.space-y-4 > div.flex.flex-wrap.gap-1\.5.pt-1` : MVQM 관련 키워드로 수정
|
||||
- `#project-vlc-iot > div.space-y-3.pt-3.border-t.border-line\/60.text-xs.font-mono > div.flex.items-baseline.justify-between.gap-2 > span.text-cobalt-dark.font-bold`
|
||||
- "ITU-T SG20" -> "IEC/TC 100/WG 12 supported by KEIT"
|
||||
- `#project-vlc-iot > div.space-y-3.pt-3.border-t.border-line\/60.text-xs.font-mono > div.space-y-1\.5.pt-1` 삭제
|
||||
|
||||
- `body > main > div > section.space-y-8.pt-20.md\:pt-28.border-t.border-line > div.flex.justify-between.items-end > div:nth-child(1)`
|
||||
- 영문화 작업을 위해 "RESEARCH AREAS" 로 수정
|
||||
- `body > main > div > section.space-y-8.pt-20.md\:pt-28.border-t.border-line > div.flex.justify-between.items-end > div:nth-child(1) > div`
|
||||
- 삭제
|
||||
|
||||
- `body > main > div > section.space-y-8.pt-20.md\:pt-28.border-t.border-line > div.flex.justify-between.items-end > div.font-mono.text-xs.text-ink-mute`
|
||||
- 삭제
|
||||
|
||||
- `body > main > div > section.space-y-8.pt-20.md\:pt-28.border-t.border-line > div.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-2.gap-6`
|
||||
- 삭제
|
||||
|
||||
- 다음 키워드들을 각각 카드 형태로 표현
|
||||
- Quick UDP Internet Conenction (QUIC)
|
||||
- QUIC-based Mobility and Multi-Streaming Support
|
||||
- Services and Protocols for Internet-of-Things (IoT)
|
||||
- Constrained Application Protocol (CoAP)
|
||||
- In-Vehicle Infotainment (IVI)
|
||||
- Optical Wireless or Visible Light Communications (OWC/VLC)
|
||||
- Lighting Control Networks (PLASA E1.45) for LED-based VLC
|
||||
- Mobility Management: Distributed Mobility Control
|
||||
- Multicast Routing Protocols and Reliable Multicasting
|
||||
- mobile SCTP (mSCTP): Soft Handover in Transport Layer
|
||||
- Stream Control Transmission Protocol (SCTP)
|
||||
- Telecommunication Optimization: Network Planning and Management
|
||||
- TAC/TAL Configuration for Paging and Location Management
|
||||
- Tabu Search and Genetic Algorithm
|
||||
|
||||
- 새로운 섹션 추가:
|
||||
위치 : `body > main > div > section.space-y-8.pt-20.md\:pt-28.border-t.border-line > div.flex.justify-between.items-end > div:nth-child(1)` 아래
|
||||
섹션명: International Standardizations
|
||||
내용:
|
||||
|
||||
```
|
||||
Along with the research activities, we are also in pursuit of the International Standardization,
|
||||
from the market deployment perspective, in the following SDOs (Standard-Defining Organizations):
|
||||
|
||||
- IEC TC100: Multimedia Systems and Equipment
|
||||
- ISO/IEC JTC1/SC41: Internet-of-Things (IoT) Applications
|
||||
- ITU-T SG20: IoT Services
|
||||
- ITU-T SG13: Mobility Management
|
||||
- ISO/IEC JTC1/SC6: Reliable Multicasting
|
||||
|
||||
Please refer to [here](link-to-standardization-page) for details of our works on International Standardization so far.
|
||||
```
|
||||
|
||||
|
||||
National Research Foundation of Korea (NRF)
|
||||
|
||||
`body > header > div.container-content.flex.h-\[4\.25rem\].items-center.justify-between.gap-4.my-2.sm\:my-3 > a > span.headline-ko.text-lg.text-ink.sm\:text-xl`
|
||||
- AI 에이전트 네트워크 연구실 -> ANL
|
||||
|
||||
`body > header > div.container-content.flex.h-\[4\.25rem\].items-center.justify-between.gap-4.my-2.sm\:my-3 > a > span.headline-ko.text-lg.text-ink.sm\:text-xl`
|
||||
- AI Agent Networking LAB (ANL) -> AI Agent Networking LAB
|
||||
Footer 레이아웃을 조금 더 구조적이고 모던하게 보이도록 레이아웃을 변경해줘.
|
||||
@@ -1,87 +0,0 @@
|
||||
import React from "react";
|
||||
|
||||
export function DirectionsBlock() {
|
||||
return (
|
||||
<section className="mt-20 pt-16 border-t border-line" id="directions">
|
||||
<div className="flex items-center gap-3 mb-6">
|
||||
<span className="h-px w-8 bg-cobalt-dark"></span>
|
||||
<span className="font-mono text-xs tracking-widest uppercase text-cobalt-dark font-bold">
|
||||
Location & Contact
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-1 lg:grid-cols-12 gap-8">
|
||||
{/* Left info column */}
|
||||
<div className="lg:col-span-7 space-y-6">
|
||||
<h2 className="font-serif text-3xl font-normal text-ink">
|
||||
오시는 길 & 연구실 소재지
|
||||
</h2>
|
||||
<p className="text-ink-mute text-base leading-relaxed">
|
||||
경북대학교 AI 에이전트 네트워크 연구실 (ANL)은 IT대학 5호관에 위치하고 있으며, 차세대 차세대 에이전트 오케스트레이션 및 고성능 네트워크 백본 연구를 수행합니다.
|
||||
</p>
|
||||
|
||||
<address className="not-italic space-y-4 pt-2 text-sm font-sans text-ink">
|
||||
<div className="flex items-start gap-3">
|
||||
<span className="font-mono text-xs uppercase tracking-wider text-ink-mute w-20 pt-0.5">
|
||||
소재지
|
||||
</span>
|
||||
<div>
|
||||
<p className="font-medium">
|
||||
경북대학교 IT대학 5호관(415동) 527호
|
||||
</p>
|
||||
<p className="text-xs text-ink-mute mt-0.5">
|
||||
School of Computer Science and Engineering, Kyungpook National University
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex items-center gap-3">
|
||||
<span className="font-mono text-xs uppercase tracking-wider text-ink-mute w-20">
|
||||
지도교수
|
||||
</span>
|
||||
<span>
|
||||
고석주 교수 (<a href="mailto:sjkoh@knu.ac.kr" className="text-vermillion hover:underline">sjkoh@knu.ac.kr</a>)
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div className="flex items-start gap-3">
|
||||
<span className="font-mono text-xs uppercase tracking-wider text-ink-mute w-20 pt-0.5">
|
||||
관련 기관
|
||||
</span>
|
||||
<div className="flex flex-wrap gap-x-4 gap-y-1 text-xs font-mono text-cobalt-dark">
|
||||
<a href="http://www.knu.ac.kr/" target="_blank" rel="noreferrer" className="hover:underline">
|
||||
경북대학교 (KNU) ↗
|
||||
</a>
|
||||
<a href="http://cse.knu.ac.kr/" target="_blank" rel="noreferrer" className="hover:underline">
|
||||
컴퓨터학부 ↗
|
||||
</a>
|
||||
<a href="http://it.knu.ac.kr/" target="_blank" rel="noreferrer" className="hover:underline">
|
||||
IT대학 ↗
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</address>
|
||||
</div>
|
||||
|
||||
{/* Right card column */}
|
||||
<div className="lg:col-span-5 bg-paper p-6 rounded-lg border border-line flex flex-col justify-between">
|
||||
<div className="space-y-4">
|
||||
<div className="font-mono text-xs text-ink-mute uppercase tracking-wider">
|
||||
Research Environment
|
||||
</div>
|
||||
<h3 className="font-serif text-xl font-normal text-ink">
|
||||
AI Agent Networking Lab
|
||||
</h3>
|
||||
<p className="text-xs text-ink-mute leading-relaxed">
|
||||
QUIC/gRPC 스트리밍 통신 인프라와 컨테이너 격리 프로세스 격리 환경을 포함한 멀티 에이전트 실험실 공간을 운용합니다.
|
||||
</p>
|
||||
</div>
|
||||
<div className="mt-6 pt-4 border-t border-line flex justify-between items-center text-xs font-mono text-ink-mute">
|
||||
<span>IT-5 Building #527</span>
|
||||
<span className="text-vermillion font-bold">ANL Laboratory</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
import React from "react";
|
||||
import Link from "next/link";
|
||||
import HeroComposition from "./_components/HeroComposition";
|
||||
import { DirectionsBlock } from "./_components/DirectionsBlock";
|
||||
import { ProjectPageView } from "./_components/ProjectPageView";
|
||||
import { publications, patents } from "../content/publications";
|
||||
import { standardsBodies } from "../content/standards";
|
||||
@@ -193,9 +192,6 @@ export default function HomePage() {
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Directions Block */}
|
||||
<DirectionsBlock />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@ import Marquee from "@/components/Marquee";
|
||||
|
||||
// CUSTOMIZATION HOOK: replace address / email placeholders & colophon below.
|
||||
const links = [
|
||||
{ href: "/", ko: "홈", en: "Home" },
|
||||
{ href: "/members", ko: "구성원", en: "Members" },
|
||||
{ href: "/publications", ko: "논문", en: "Publications" },
|
||||
{ href: "/lectures", ko: "강의", en: "Lectures" },
|
||||
{ href: "/standardization", ko: "표준화", en: "Standardization" },
|
||||
{ href: "/", en: "Home" },
|
||||
{ href: "/members", en: "Members" },
|
||||
{ href: "/publications", en: "Publications" },
|
||||
{ href: "/lectures", en: "Lectures" },
|
||||
{ href: "/standardization", en: "Standardization" },
|
||||
];
|
||||
|
||||
export default function Footer() {
|
||||
@@ -29,25 +29,48 @@ export default function Footer() {
|
||||
{/* Masthead title */}
|
||||
<div className="lg:col-span-5">
|
||||
<p className="kicker text-ink-mute">Colophon</p>
|
||||
<h3 className="headline-ko mt-3 text-2xl leading-snug text-ink">
|
||||
AI 에이전트 네트워크 연구실
|
||||
<h3 className="font-display mt-3 text-2xl leading-snug text-ink">
|
||||
ANL
|
||||
</h3>
|
||||
<p className="font-display mt-1 text-xl italic text-ink-soft">
|
||||
AI Agent Networking Lab (ANL)
|
||||
</p>
|
||||
<p className="mt-5 max-w-sm text-sm leading-relaxed text-ink-mute">
|
||||
경북대학교 컴퓨터학부<br />
|
||||
Kyungpook National University,<br />
|
||||
School of Computer Science and Engineering
|
||||
AI Agent Networking Lab
|
||||
</p>
|
||||
<div className="mt-5 flex flex-wrap gap-x-4 gap-y-1 text-xs font-mono text-cobalt-dark">
|
||||
<a
|
||||
href="https://www.knu.ac.kr/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="hover:underline"
|
||||
>
|
||||
KNU ↗
|
||||
</a>
|
||||
<a
|
||||
href="https://cse.knu.ac.kr/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="hover:underline"
|
||||
>
|
||||
CSE ↗
|
||||
</a>
|
||||
<a
|
||||
href="https://it.knu.ac.kr/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="hover:underline"
|
||||
>
|
||||
College of IT Engineering ↗
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Contact */}
|
||||
<div className="lg:col-span-4">
|
||||
<p className="kicker text-ink-mute">Contact</p>
|
||||
<address className="mt-3 not-italic text-sm leading-relaxed text-ink-soft">
|
||||
(41566) 대구광역시 북구 대학로 80<br />
|
||||
경북대학교 IT대학 5호관(415동) 527호<br />
|
||||
Prof. Seok-Joo Koh<br />
|
||||
Room 527, Bldg. 415 (IT-5), College of IT Engineering<br />
|
||||
Kyungpook National University<br />
|
||||
80 Daehak-ro, Buk-gu, Daegu 41566, Republic of Korea<br />
|
||||
<a
|
||||
href="mailto:sjkoh@knu.ac.kr"
|
||||
className="draw-underline mt-2 inline-block text-ink hover:text-vermillion-dark font-medium"
|
||||
@@ -70,8 +93,7 @@ export default function Footer() {
|
||||
href={l.href}
|
||||
className="text-sm text-ink-soft transition hover:text-vermillion-dark"
|
||||
>
|
||||
{l.ko}{" "}
|
||||
<span className="text-xs text-ink-mute">{l.en}</span>
|
||||
{l.en}
|
||||
</Link>
|
||||
</li>
|
||||
))}
|
||||
@@ -82,7 +104,7 @@ export default function Footer() {
|
||||
<div className="border-t border-line">
|
||||
<div className="container-content flex flex-col gap-2 py-5 sm:flex-row sm:items-center sm:justify-between">
|
||||
<p className="text-xs text-ink-mute">
|
||||
© {new Date().getFullYear()} AI 에이전트 네트워크 연구실 (ANL) · 경북대학교 컴퓨터학부. All rights reserved.
|
||||
© {new Date().getFullYear()} AI Agent Networking Lab (ANL) · School of Computer Science and Engineering, KNU. All rights reserved.
|
||||
</p>
|
||||
<p className="kicker text-ink-mute">Set in Fraunces · Noto Serif KR · Pretendard</p>
|
||||
</div>
|
||||
|
||||
@@ -44,7 +44,9 @@ class TestANLHomepageE2E(unittest.TestCase):
|
||||
|
||||
# 3. Location / Address section
|
||||
self.assertIn("address", html.lower())
|
||||
self.assertIn("경북대학교 IT대학 5호관", html)
|
||||
self.assertIn("Kyungpook National University", html)
|
||||
self.assertIn("College of IT Engineering", html)
|
||||
self.assertIn("Prof. Seok-Joo Koh", html)
|
||||
self.assertIn("sjkoh@knu.ac.kr", html)
|
||||
|
||||
def test_02_members_page_content(self):
|
||||
|
||||
Reference in New Issue
Block a user