GithubXDiscord

getting-started > 프로젝트 소개

Notionpresso 프로젝트 소개

Notionpresso이란?

Notionpresso은 Notion의 강력한 콘텐츠 작성 기능을 웹사이트로 손쉽게 가져올 수 있게 해주는 도구입니다. 이 라이브러리를 사용하면 Notion에서 작성한 콘텐츠를 그대로 React 기반의 웹사이트에서 렌더링할 수 있습니다. 개발자에게는 빠르게 결과를 만들어낼 수 있는 도구가 되고, 콘텐츠 작성자에게는 편리한 관리 도구가 되는, 그야말로 "개발자와 작성자 모두를 위한 매직 포션" 같은 존재입니다. ✨

주요 기능 및 제공하는 가치

🛠️ Notion 데이터의 React 렌더링

Notion에서 작성한 글, 이미지, 리스트, 코드 블록 등 다양한 콘텐츠를 React 컴포넌트로 쉽게 변환할 수 있습니다. 다음과 같은 구조로 Notion 페이지가 웹에서 재탄생합니다:

import { Notion, type NotionPageData } from 'Notionpresso';

interface NotionPageProps {
  pageData: NotionPageData;
}

function NotionPage({ pageData }: NotionPageProps) {
  return (
    <Notion>
      <Notion.Cover src={pageData.cover} />
      <Notion.Body>
        <Notion.Title title={pageData.title} />
        <Notion.Blocks blocks={pageData.blocks} />
      </Notion.Body>
    </Notion>
  );
}

이 예제에서 NotionPageData 타입은 Notion 페이지의 데이터 구조를 정의합니다. 이를 통해 TypeScript의 타입 체크 기능을 활용하여 더 안정적인 코드를 작성할 수 있습니다.

🎨 커스터마이징의 자유

CSS만 건드려서 간단하게 테마를 바꾸거나, 기본 제공 컴포넌트를 부분적으로 수정해 필요한 부분만 커스터마이징할 수 있습니다. 심지어 완전히 새로운 컴포넌트를 만들어 Notionpresso에 결합할 수도 있어요. 코드를 다루는 개발자에게는 무한한 가능성을 제공합니다.

🚀 빠른 사이트 구축

@notionpresso/cli CLI를 사용해 Notion 데이터를 쉽게 추출하고, Next.js와 같은 프레임워크를 통해 빠르게 정적 사이트를 구축할 수 있습니다. 몇 가지 명령어만으로 사이트를 구축하는 과정은 마치 텍스트에서 바로 웹사이트가 완성되는 느낌을 줍니다.

npx npresso --page YOUR_PAGE_URL --auth YOUR_API_KEY

@notionpresso/cli를 실행하면 다음과 같은 폴더 구조로 Notion 데이터가 추출됩니다:

my-notion-project/
├── notion-data/
│   ├── page-id-1.json
│   ├── page-id-2.json
│   └── ...
└── public/
    └── notion-dadta/
        ├── page-id-1/
        │   ├── image1.png
        │   └── image2.jpg
        ├── page-id-2/
        │   └── image1.png
        └── ...
  • notion-data/: 각 Notion 페이지의 내용이 JSON 형식으로 저장됩니다. 파일명은 페이지의 slug를 기반으로 생성됩니다.
  • public/notion-data/: Notion 페이지에서 사용된 이미지들이 각 페이지별로 분류되어 저장됩니다.

이렇게 추출된 데이터는 Notionpresso 컴포넌트와 쉽게 연동되어, Notion의 콘텐츠를 빠르게 웹사이트로 변환할 수 있습니다. JSON 파일의 내용을 React 컴포넌트에 전달하기만 하면, Notion 페이지의 구조와 스타일이 그대로 웹사이트에 반영됩니다.

타겟 사용자와 그들의 활용 가능성

개발자

Notion에서 작성한 콘텐츠를 웹사이트에 쉽게 렌더링하고, 커스터마이징할 수 있는 자유가 주어집니다. 빠르게 웹사이트를 구축하고 싶거나, 상용 서비스의 한계를 넘어 원하는 스타일로 꾸미고 싶다면 Notionpresso이 답입니다.

디자이너 및 크리에이터

Notion에서 작성한 콘텐츠를 직접 웹에 반영할 수 있어 디자인에 일관성을 유지하면서 빠르게 콘텐츠를 업데이트할 수 있습니다.

활용 가능성 예시

  • 개인 블로그: Notion에서 쉽게 글을 작성하고, 자동으로 웹사이트에 반영합니다.
  • 회사 소개 및 채용 페이지: Notion을 활용해 회사 프로필이나 채용 정보를 빠르게 업데이트할 수 있습니다.
  • 포트폴리오 사이트: 프로젝트와 작업물을 손쉽게 업데이트할 수 있어, 포트폴리오 관리가 한결 쉬워집니다.

Notionpresso을 선택해야 하는 이유

  1. 개발자 중심의 커스터마이징: 다른 상용 서비스에서는 손댈 수 없는 세밀한 부분까지 수정할 수 있습니다. 코드를 통한 무한한 가능성, 이것이 Notionpresso의 매력입니다.

  2. 오픈소스의 자유: 모든 것이 투명하고, 여러분의 손에서 직접 다룰 수 있습니다. 필요하면 코드를 수정하고, 프로젝트를 자신의 서버에서 셀프 호스팅할 수 있어 비용 부담도 없습니다.

  3. 빠른 결과와 높은 효율성: Notion에서 콘텐츠를 작성하고, 간단한 설정만으로 웹사이트에서 바로 사용할 수 있습니다. 콘텐츠 작성과 배포의 과정이 한층 더 간소화됩니다.

Notionpresso은 여러분의 Notion 페이지를 멋진 웹사이트로 바꾸는 다리입니다. 이제 복잡한 설정은 그만, Notion에서 바로 시작해 보세요!