diff --git a/bun.lockb b/bun.lockb index 356c4b7..19908dc 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 04c0585..b737906 100644 --- a/package.json +++ b/package.json @@ -21,10 +21,8 @@ "@nextui-org/kbd": "^2.0.33", "@nextui-org/react": "^2.4.6", "@tippyjs/react": "^4.2.6", - "autoprefixer": "^10.4.20", "framer-motion": "^11.3.21", "highlight.js": "^11.10.0", - "postcss": "^8.4.40", "react": "^18.3.1", "react-dom": "^18.3.1", "react-draggable": "^4.4.6", @@ -32,8 +30,6 @@ "react-router-dom": "^6.26.0", "rehype-highlight": "^7.0.0", "styled-components": "^6.1.12", - "tailwind": "^4.0.0", - "tailwindcss": "^3.4.7", "tippy.js": "^6.3.7" }, "devDependencies": { @@ -42,9 +38,12 @@ "@typescript-eslint/eslint-plugin": "^7.15.0", "@typescript-eslint/parser": "^7.15.0", "@vitejs/plugin-react-swc": "^3.5.0", + "autoprefixer": "^10.4.20", "eslint": "^8.57.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", + "postcss": "^8.4.49", + "tailwindcss": "^3.4.15", "typescript": "^5.2.2", "vite": "^5.3.4" }, diff --git a/postcss.config.js b/postcss.config.js index 8def97b..52012d2 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,4 +1,6 @@ -export const plugins = { +export default { + plugins: { tailwindcss: {}, autoprefixer: {}, -}; \ No newline at end of file + } +} \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index 00d3d7e..fa5207d 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,5 @@ import Root from './pages/Root'; -import Timeline from './pages/Timeline_Page'; +import Timeline_Page from './pages/Timeline_Page'; import { Route, Routes } from 'react-router-dom'; import { useEffect } from 'react'; @@ -39,7 +39,7 @@ function App() { <> - + ); diff --git a/src/components/Timeline.tsx b/src/components/Timeline.tsx new file mode 100644 index 0000000..d97fcd9 --- /dev/null +++ b/src/components/Timeline.tsx @@ -0,0 +1,49 @@ +//import { Link } from 'react-router-dom'; + +const events = [ + { date: '2024-12-07', description: '??? ???? ?? ?? ??? ?? (??: ????)', link: 'https://ncf.or.kr/' }, + { date: '2024-08-18', description: '29회 해킹캠프 CTF 1위 (고민중독)', link: 'https://ctf.hackingcamp.org/' }, + { date: '2024-08-05', description: '29회 해킹캠프 선발', link: 'https://hackingcamp.org/' }, + { date: '2024-08-01', description: '글로벌 스타트업 학교 2기 베트남 해외 연수 데모데이 대상 (1위)', link: 'http://ncf.or.kr' }, + { date: '2024-05-16', description: '글로벌 스타트업 학교 2기 합격', link: 'http://ncf.or.kr' }, + { date: '2024-05-11', description: 'LG AI 청소년 캠프 1기 LG 탐색상 수상', link: 'https://lgaiyouthcamp.or.kr/' }, + { date: '2024-05-11', description: 'LG AI 청소년 캠프 1기 수료', link: 'https://lgaiyouthcamp.or.kr/' }, + { date: '2024-04-22', description: '@isangjeong.today (인천상정중학교의 오늘 급식)', link: 'https://www.instagram.com/isangjeong.today/' }, + { date: '2024-04-06', description: 'TimeTable (Sekai 개조판 배포) [API 유실]', link: 'https://timeline.imnyang.xyz' }, + { date: '2024-03-24', description: 'Dreamhack #133', link: 'https://dreamhack.io/users/40116/wargame' }, + { date: '2024-03-24', description: 'Ubuntu Mirror', link: 'https://launchpad.net/ubuntu/+mirror/mirror.imnyang.xyz-release' }, + { date: '2024-03-24', description: '내 목소리로 AI Cover 만들기', link: 'https://colab.research.google.com/drive/1a4G4hD9huBeGRZhEL2HNDMpqSuf4y61k?usp=sharing' }, + { date: '2024-01-26', description: 'Fastapi를 통해 API 제작', link: 'https://github.com/imnyang/api' }, + { date: '2023-12-20', description: 'LG AI 청소년 캠프 1기 합격' }, + { date: '2023-11-14', description: '인천상정중학교 2023학년도 SW 문제 해결 활동 우수상(2위) 수여' }, + { date: '2023-11-01', description: '블로그 시작', link: 'https://blog.imnyang.xyz' }, + { date: '2023-10-12', description: '나는 로컬 시간을 알고 싶다', link: 'https://time.imnyang.xyz/' }, + { date: '2023-09-24', description: 'sqlr.kr 기획 및 초기 개발', link: 'https://github.com/sqlare/sqlr.kr/tree/main' }, + { date: '2023-09-02', description: '선린인터넷고등학교 제6회 소프트웨어나늠축제 Layer7 부서 과정 이수' }, + { date: '2023-08-26', description: '컴시간 시간표를 더 나아보이게 Sekai', link: 'https://github.com/imnyang/Sekai' }, + { date: '2023-08-23', description: '디스코드 통화방 녹음', link: 'https://github.com/imnyang/discord-voice-rec'}, + { date: '2023-07-24', description: '한국정보기술연구원이 주도하는 사이버 가디언즈 보안캠프 수료' }, + { date: '2023-03-20', description: '디스코드에서 대화형 인공지능 Siru 제작', link: 'https://github.com/imnyang/siru' }, + { date: '2023-05-15', description: '한국 코드페어 예선 진출' }, + { date: '2023-03-14', description: '타이머', link: 'https://github.com/imnyang/imnyang-timer' }, + { date: '2022-12-20', description: '2022 SW영재 창작대회 은상 수상'}, + { date: '2022-09-27', description: '2022 삼성 주니어 SW 창작대회 본선 진출' }, + { date: '2022-05-23', description: '2022학년도 석정초SW영재학급 첫 수업' }, + { date: '2022-07-26', description: '제 14회 맑은하늘 맑은웃음 공모전에서 맑은웃음상 수여' }, + { date: '2021-11-14', description: 'Become a ZEPETO Creator 이수' }, + { date: '2021-05-19', description: '소프트웨어와 전자신문이 주관한 소프트웨어재단 꿈찾기 캠프 이수' }, + { date: '2018-01-27', description: '제4회 맑은하늘 맑은웃음 어린이 문예공모전에서 위닉스상(2위) 수여' }, +]; + +export default function Timeline() { + return ( +
+ {events.map((event, index) => ( +
+

{event.date}

+ {event.link ? {event.description} : event.description} +
+ ))} +
+ ); +} diff --git a/src/index.css b/src/index.css index 7b2b8c3..3495ed5 100644 --- a/src/index.css +++ b/src/index.css @@ -1,7 +1,13 @@ @import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css"); +@tailwind base; +@tailwind components; +@tailwind utilities; + * { font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; + margin: 0; + padding: 0; } :root { @@ -30,6 +36,7 @@ a:hover { body { margin: 0; padding: 0; + width: 100vw; min-height: 100vh; display: flex; flex-direction: row; diff --git a/src/pages/Timeline_Page.tsx b/src/pages/Timeline_Page.tsx index 8327a10..b42cd28 100644 --- a/src/pages/Timeline_Page.tsx +++ b/src/pages/Timeline_Page.tsx @@ -1,69 +1,12 @@ -import { Link } from 'react-router-dom'; -import Timeline from '@mui/lab/Timeline'; -import TimelineItem from '@mui/lab/TimelineItem'; -import TimelineSeparator from '@mui/lab/TimelineSeparator'; -import TimelineConnector from '@mui/lab/TimelineConnector'; -import TimelineContent from '@mui/lab/TimelineContent'; -import TimelineDot from '@mui/lab/TimelineDot'; -import TimelineOppositeContent from '@mui/lab/TimelineOppositeContent'; +import { Link } from "react-router-dom"; +import Timeline from "../components/Timeline"; -const events = [ - { date: '2024-12-07', description: '??? ???? ?? ?? ??? ?? (??: ????)', link: 'https://ncf.or.kr/', dotColor: 'grey' }, - { date: '2024-08-18', description: '29회 해킹캠프 CTF 1위 (고민중독)', link: 'https://ctf.hackingcamp.org/', dotColor: 'success' }, - { date: '2024-08-05', description: '29회 해킹캠프 선발', link: 'https://hackingcamp.org/', dotColor: 'success' }, - { date: '2024-08-01', description: '글로벌 스타트업 학교 2기 베트남 해외 연수 데모데이 대상 (1위)', link: 'http://ncf.or.kr', dotColor: 'success' }, - { date: '2024-05-16', description: '글로벌 스타트업 학교 2기 합격', link: 'http://ncf.or.kr', dotColor: 'success' }, - { date: '2024-05-11', description: 'LG AI 청소년 캠프 1기 LG 탐색상 수상', link: 'https://lgaiyouthcamp.or.kr/', dotColor: 'success' }, - { date: '2024-05-11', description: 'LG AI 청소년 캠프 1기 수료', link: 'https://lgaiyouthcamp.or.kr/', dotColor: 'success' }, - { date: '2024-04-22', description: '@isangjeong.today (인천상정중학교의 오늘 급식)', link: 'https://www.instagram.com/isangjeong.today/', dotColor: 'success' }, - { date: '2024-04-06', description: 'TimeTable (Sekai 개조판 배포) [API 유실]', link: 'https://timeline.imnyang.xyz', dotColor: 'grey' }, - { date: '2024-03-24', description: 'Dreamhack #133', link: 'https://dreamhack.io/users/40116/wargame', dotColor: 'success' }, - { date: '2024-03-24', description: 'Ubuntu Mirror', link: 'https://launchpad.net/ubuntu/+mirror/mirror.imnyang.xyz-release', dotColor: 'success' }, - { date: '2024-03-24', description: '내 목소리로 AI Cover 만들기', link: 'https://colab.research.google.com/drive/1a4G4hD9huBeGRZhEL2HNDMpqSuf4y61k?usp=sharing', dotColor: 'success' }, - { date: '2024-01-26', description: 'Fastapi를 통해 API 제작', link: 'https://github.com/imnyang/api', dotColor: 'grey' }, - { date: '2023-12-20', description: 'LG AI 청소년 캠프 1기 합격', dotColor: 'success' }, - { date: '2023-11-14', description: '인천상정중학교 2023학년도 SW 문제 해결 활동 우수상(2위) 수여', dotColor: 'success' }, - { date: '2023-11-01', description: '블로그 시작', link: 'https://blog.imnyang.xyz', dotColor: 'secondary' }, - { date: '2023-10-12', description: '나는 로컬 시간을 알고 싶다', link: 'https://time.imnyang.xyz/', dotColor: 'success' }, - { date: '2023-09-24', description: 'sqlr.kr 기획 및 초기 개발', link: 'https://github.com/sqlare/sqlr.kr/tree/main', dotColor: 'success' }, - { date: '2023-09-02', description: '선린인터넷고등학교 제6회 소프트웨어나늠축제 Layer7 부서 과정 이수', dotColor: 'success' }, - { date: '2023-08-26', description: '컴시간 시간표를 더 나아보이게 Sekai', link: 'https://github.com/imnyang/Sekai', dotColor: 'grey' }, - { date: '2023-08-23', description: '디스코드 통화방 녹음', link: 'https://github.com/imnyang/discord-voice-rec', dotColor: 'grey' }, - { date: '2023-07-24', description: '한국정보기술연구원이 주도하는 사이버 가디언즈 보안캠프 수료', dotColor: 'success' }, - { date: '2023-03-20', description: '디스코드에서 대화형 인공지능 Siru 제작', link: 'https://github.com/imnyang/siru', dotColor: 'success' }, - { date: '2023-05-15', description: '한국 코드페어 예선 진출', dotColor: 'success' }, - { date: '2023-03-14', description: '타이머', link: 'https://github.com/imnyang/imnyang-timer', dotColor: 'success' }, - { date: '2022-12-20', description: '2022 SW영재 창작대회 은상 수상', dotColor: 'success' }, - { date: '2022-09-27', description: '2022 삼성 주니어 SW 창작대회 본선 진출', dotColor: 'success' }, - { date: '2022-05-23', description: '2022학년도 석정초SW영재학급 첫 수업', dotColor: 'success' }, - { date: '2022-07-26', description: '제 14회 맑은하늘 맑은웃음 공모전에서 맑은웃음상 수여', dotColor: 'success' }, - { date: '2021-11-14', description: 'Become a ZEPETO Creator 이수', dotColor: 'success' }, - { date: '2021-05-19', description: '소프트웨어와 전자신문이 주관한 소프트웨어재단 꿈찾기 캠프 이수', dotColor: 'success' }, - { date: '2018-01-27', description: '제4회 맑은하늘 맑은웃음 어린이 문예공모전에서 위닉스상(2위) 수여', dotColor: 'success' }, -]; export default function Timeline_Page() { return ( -
-
- 🏠 Back -

Timeline

- - {events.map((event, index) => ( - - - {event.date} - - - - {index < events.length - 1 && } - - - {event.link ? {event.description} : event.description} - - - ))} - -
+
+ Back +

Timeline

+
); } diff --git a/tailwind.config.js b/tailwind.config.js index c189a4a..a3ee00c 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,6 +1,8 @@ /** @type {import('tailwindcss').Config} */ export default { - content: [], + content: [ + "./src/**/*.{js,jsx,ts,tsx}", + ], theme: { extend: {}, },