1.1.0 • Published 1 year ago

react-portfolio-component-library v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

Tutorial Intro

npm.io

포트폴리오 제작에 많은 시간투자를 했던 경험을 바탕으로,
누구나 손쉽고 빠르게 포트폴리오 사이트를 제작할 수 있는 라이브러리를 개발하게 되었습니다!

앞으로 디자인 시스템을 도입하여 다양하게 커스터마이징할 수 있는 기능을 제공할 계획입니다.
React 프로젝트를 생성하고 이 라이브러리를 활용해 직접 포트폴리오를 만들어 보세요!

튜토리얼

설치

$ npm install react-portfolio-component-library

구조

import { BrowserRouter } from "react-router-dom";
import {
  Header,
  Banner,
  Profile,
  Visual,
  ListNormal,
  ListHorizontal,
  ListCard,
  ListLego,
  Intro,
  PortfolioContent,
  PortfolioGroup,
} from "react-portfolio-component-library";

function App() {
  return (
    <BrowserRouter>
      <PortfolioGroup>
        <Header />
        <PortfolioContent>
          <Visual />
          <Intro />
          <ListNormal />
          <ListHorizontal />
          <Banner />
          <ListCard />
          <ListLego />
          <Profile />
        </PortfolioContent>
      </PortfolioGroup>
    </BrowserRouter>
  );
}

export default App;

PortfolioGroup

전체를 감싸는 컴포넌트로 필수항목 입니다.

<PortfolioGroup className={"portfolio-group"} as={"div"}>
  ...
</PortfolioGroup>

Props

이름설명타입기타
classNameclass 명String
astag 명String

PortfolioContent

Header를 제외한 content를 감싸는 컴포넌트로 필수항목 입니다.
gsap와 locomotive가 정의되어 있습니다.

<PortfolioContent className={"main-group"} as={"main"}>
  ...
</PortfolioContent>

props

이름설명타입기타
classNameclass 명String
astag 명String

Header

헤더 영역입니다.
npm.io

기본 로고가 제공되며, logo 를 통해 사용자가 정의한 로고 이미지로 대체됩니다.

<Header logo={IMG_PATH} alt={"logo"} title={"title"} />

<Header></Header>컴포넌트 안에 내용을 넣으면 사용자가 정의한 내용으로 대체됩니다.

<Header className={"header"}>
  <h1>
    <img src={LOGO_IMG} alt={"logo"} />
  </h1>
</Header>

Props

이름설명타입기타
classNameclass 명String
logo로고 이미지 경로String
alt로고 이미지 대체 텍스트String
title로고 옆 타이틀String

Visual

최상단 배너 영역입니다. npm.io

<Visual
  className={"visual"}
  bgcolor={"#fff"}
  title={{
    main: "MY\nPORTFOLIO",
    badge: "HELLO, WORLD!",
    move: "WELCOME MY PORTFOLIO",
  }}
/>

Props

이름설명타입기타
classNameclass 명String
bgcolor배경 색String
title타이틀object
title 객체
이름설명타입기타
main타이틀String
badge뱃지 타이틀String
move움직이는 타이틀String

Intro

마우스 스크롤에 반응하는 인트로 리스트 영역 입니다. npm.io

5가지의 기본 이미지와 아이콘을 제공하며 items 배열을 통해 변경 가능합니다.

<Visual
  className={"intro"}
  bgcolor={"#f5feff"}
  title={{
    main: "Plan and\norgnize\n",
    highlight: "anything",
  }}
  items={[
    {
      id: "01",
      title: "Blog",
      icon: ICON_PATH,
      thumb: IMG_PATH,
      alt: "Blog",
    },
  ]}
/>

Props

이름설명타입기타
classNameclass 명String
bgcolor배경 색String
title타이틀Object
items리스트 아이템Array

title 객체

이름설명타입기타
main타이틀String
highlight하이라이트 타이틀String

items 배열

이름설명타입기타
id*아이템 IDString
title아이템 타이틀String
icon아이템 아이콘String
thumb아이템 썸네일String
alt썸네일 대체 텍스트String

ListNormal

노멀 리스트 영역입니다. npm.io

<ListNormal
  className={"list-normal"}
  bgcolor={"#c2aeec"}
  title={"Hello✋🏻\nMy Portfolio"}
  items={[
    {
      id: "01",
      type: "react",
      title: "React",
      desc: "React 사이트입니다.",
      github: "https://github.com/username/repository",
      site: "https://example.com/site",
      thumb: IMG_PATH,
      speed: 4,
    },
  ]}
/>

Props

이름설명타입기타
classNameclass 명String
bgcolor배경 색String
title타이틀String
items리스트 아이템Array

items 배열

이름설명타입기타
id*아이템 IDString
type아이템 타입String
title아이템 타이틀String
desc아이템 설명String
github아이템 깃허브 링크String
site아이템 사이트 링크String
thumb아이템 썸네일String
speed스크롤 속도Number

ListHorizontal

가로 스크롤 리스트 영역입니다. npm.io

<ListHorisontal
  className={"list-horisontal"}
  bgcolor={"#310591"}
  title={"Hello✋🏻\nMy Portfolio"}
  items={[
    {
      id: "01",
      title: "title",
      desc: "description",
      site: "https://example.com/site",
      thumb: IMG_PATH,
      alt: "title",
    },
  ]}
/>

Props

이름설명타입기타
classNameclass 명String
bgcolor배경 색String
title타이틀String
items리스트 아이템Array

items 배열

이름설명타입기타
id*아이템 IDString
title아이템 타이틀String
desc아이템 설명String
site아이템 사이트 링크String
thumb아이템 썸네일String
alt썸네일 대체 텍스트String

Banner

배너 영역입니다.

npm.io

<Banner className={"banner"} bgcolor={"#fde445"} />

ListCard

리스트 카드 영역입니다.

npm.io

<ListCard
  className={"list-card"}
  bgcolor={"#f5f5f5"}
  title={{
    main: "Hello,",
    highlight: "My Portfolio",
  }}
  items={[
    {
      id: "01",
      site: URL,
      thumb: IMG_PATH,
      title: "title",
      desc: "desc",
    },
  ]}
/>

Props

이름설명타입기타
classNameclass 명String
bgcolor배경 색String
title타이틀Object
items리스트 아이템Array

title 객체

이름설명타입기타
main타이틀String
highlight하이라이트 타이틀String

items 배열

이름설명타입기타
id*아이템 IDString
site아이템 URLString
thumb아이템 썸네일String
title아이템 타이틀String

ListLego

레고 리스트 영역입니다. npm.io

<ListLego
  className={"list-lego"}
  bgcolor={"#f6f3ff"}
  title={{
    main: "Hello,",
    highlight: "My Portfolio",
  }}
  items={[
    {
      id: "01",
      title: "title",
      type: "JavaScript",
      site: "https://example.com/site",
      thumb: IMG_PATH,
      alt: "title",
    },
  ]}
/>

Props

이름설명타입기타
classNameclass 명String
bgcolor배경 색String
title타이틀Object
items리스트 아이템Array

title 객체

이름설명타입기타
main타이틀String
highlight하이라이트 타이틀String

items 배열

이름설명타입기타
id*아이템 IDString
title아이템 타이틀String
type아이템 타입String
site아이템 URLString
thumb아이템 썸네일String
alt썸네일 대체 텍스트String

Profile

프로필 영역입니다.
npm.io

<Profile
  className={"profile"}
  bgcolor={"#f6f3ff"}
  bggradient={"#f06b67"}
  data={{
    textpath: "Welcome My Portfolio Site · Hello My World · ",
    footersbj: "IMPOSSIBLE IS NOTING · ",
    notice: "더 좋은 결과를 위해 수정중에 있습니다",
    photo: IMG_PATH,
    info: {
      name: "My Portfolio",
      email: "username@example.com",
      phone: "010-1234-5678",
      portfolio: "https://example.com/portfolio",
      github: "https://github.com/username",
      blog: "https://blog.example.com",
    },
  }}
/>

Props

이름설명타입기타
classNameclass 명String
bgcolor배경 색String
bggradient그라디언트 배경 색String
datatextpath, 정보 등Object

data 객체

이름설명타입기타
textpath물결모양의 움직이는 텍스트String
footersbj하단에 흘러가는 텍스트String
notice공지사항String
photo이미지String
info정보Object

info 객체

이름설명타입기타
name성함String
email이메일String
phone연락처String
portfolio포트폴리오 URLString
github깃허브 URLString
blog블로그 URLString

샘플

깃허브 사이트

제작과정

블로그

1.1.0

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago