Skip to content

WareAoba/Paraglide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LogoDarkReady LogoLightReady

Paraglide - 텍스트 단락 처리기

.TXT 파일을 로드하여 각 단락별로 순차적으로 복사하고, Ctrl[Cmd] V를 감지하면 다음 단락으로 이동하여 복사하는 기능을 자동화한 프로그램입니다.

미리보기

Welcome Comparison Paste Shortcut Sidebar

핵심 기능

  1. .TXT 파일을 로드, 단락을 나누어 이전/현재/다음 단락을 표시.
  2. 키보드 입력을 모니터링. 특정 키 조합에 따라 대응하는 기능을 수행.
    • 붙여넣기(Ctrl V, Cmd V) : 다음 단락 복사
    • 쉬프트(Shift) 좌우 화살표(←→) : 이전/다음 단락으로 이동
      • 쉬프트(Shift) 알트(Alt, Opt) 좌우 화살표(←→) : 이전/다음 페이지로 이동
    • 쉬프트(Shift) 상하 화살표(↑↓) : 프로그램 일시정지/재개
      • 쉬프트(Shift) 알트(Alt, Opt) 상 화살표(↑) : 오버레이 토글
  3. .TXT 파일의 스타일에 따라 단락 혹은 단위로 처리 가능.
  4. 오버레이 창을 통해 현재 작업중인 단락을 표시 및 이전/다음 단락 이동.
  5. 로그를 저장해 이전 작업한 파일을 로드할 시 마지막 위치 복원
  6. 이전 작업했던 파일을 앱 내에서 빠르게 로드하여 작업.

개발 의도

식붕이툴에서 영감을 받아 제작했습니다.

기존 식붕이툴의 가장 큰 단점이었던 윈도우 전용 프로그램이라는 점을 해결하고자 코딩은 할 줄 모르지만 GPT 들고 신나게 만들어봤습니다.

자바스크립트(NPM, React, Electron)로 작성되어 기존의 윈도우 전용이 아닌, 범용으로 사용할 수 있다는 점이 가장 큰 장점입니다.

프로젝트 구조

📦 Paraglide
├── 📂 public                         # 정적 리소스
│   ├── 📂 icons                      # 앱 아이콘
│   └── 📂 UI_icons                   # UI 아이콘
│
├── 📂 src                            # 소스 코드
│   ├── 📂 components                 # React 컴포넌트
│   │   ├── 📂 Views                  # 메인 컴포넌트 뷰 모드
│   │   │   ├── 📜 ListView.js        # 리스트뷰
│   │   │   └── 📜 Overview.js        # 오버뷰
│   │   ├── 📜 MainComponent.js       # 메인 컴포넌트
│   │   ├── 📜 OverlayComponent.js    # 오버레이 컴포넌트
│   │   ├── 📜 Settings.js            # 설정 컴포넌트
│   │   └── 📜 Sidebar.js             # 사이드바 컴포넌트
│   │
│   ├── 📂 CSS                        # 스타일시트
│   │   ├── 📂 Controllers            # 설정 컨트롤러 전역 스타일
│   │   ├── 📂 Views                  # 메인 컴포넌트 뷰 모드
│   │   │   ├── 📜 ListView.css       # 리스트뷰 스타일
│   │   │   └── 📜 Overview.css       # 오버뷰 스타일
│   │   ├── 📜 App.css                # 전역 스타일
│   │   ├── 📜 MainComponent.css      # 메인 컴포넌트 스타일
│   │   ├── 📜 OverlayComponent.css   # 오버레이 스타일
│   │   ├── 📜 Settings.css           # 설정 스타일
│   │   └── 📜 Sidebar.js             # 사이드바 스타일
│   │
│   ├── 📂 store                      # Redux 스토어
│   │   ├── 📂 slices                 # Redux 리듀서
│   │   ├── 📂 utils                  # 프로세서
│   │   └── 📜 store.js               # Redux store 진입점
│   │ 
│   ├── 📜 App.js                     # React 진입점
│   ├── 📜 index.js                   # 앱 진입점
│   ├── 📜 main.js                    # Electron 메인 프로세스
│   └── 📜 SystemListener.js          # 시스템 이벤트 처리
│
├── 📜 forge.config.js                # Electron Forge 설정 파일
├── 📜 LICENSE                        # 라이선스 파일
├── 📜 package.json                   # 프로젝트 설정
├── 📜 README.md                      # 프로젝트 문서
└── 📜 README-EN.md                   # 프로젝트 문서(영어)

지원 환경

  • Windows - x64
  • macOS - arm64(M1 이상)

추후 지원 예정: macOS(intel), Linux

기여

여러분의 기여가 프로그램의 질을 높입니다!

능력자분들의 많은 도움이 절실합니다. 단순 훈수도 좋아요, 개선의 여지가 필요한 부분은 주저없이 말씀해주시면 감사하겠습니다!

릴리즈 버전 설치 / 실행

Release 페이지에서 파일을 다운로드해주세요.

  • Windows:

    • Paraglide-win32-x64-setup.exe 파일 설치
    • 프로그램 그룹에 자동 등록
  • macOS:

    • Paraglide-darwin-arm64.dmg 마운트
    • Paraglide.app~/Application에 복사
    • 환경 설정에서 손쉬운 사용입력 모니터링 권한 설정(안내 메세지를 따라해주시기 바랍니다.)

개발 버전 실행 / 빌드 및 컴파일

(Node.js 필요)

개발 버전 실행:

  1. 먼저 Clone해줍니다.
git clone https://github.com/WareAoba/Paraglide
  1. 개발용 브랜치 development로 교체합니다.
git checkout -b development
  1. 프로젝트 루트 디렉토리에 NPM을 설치해주세요.
npm install
  1. 다음 명령어로 실행합니다.
npm run dev

빌드 및 컴파일

  • 다음 명령어를 입력합니다.(개발용 브랜치는 컴파일 확인이 안 돼있을 가능성이 있습니다.)
npm run package

최근 추가 기능

최신 릴리즈: 0.2.0beta

  1. Line 모드 : 단락 단위가 아닌, 한 줄 단위로 처리할 수 있는 모드를 추가했습니다.
  2. List View : 이전/현재/다음 단락을 표시하는 기존 모드와 더불어,
    모든 단락을 스크롤로 볼 수 있는 리스트뷰를 추가했습니다.
  3. 페이지 번호 로직 개선
    • 페이지 번호 검출 정규식 확장
    • 단락과 붙어있는 페이지 번호도 검출
    • 빈 페이지와 관련된 버그 수정
  4. Redux 도입.
  5. 드래그&드랍 추가.

추가할 기능

  1. 검색 기능 : 텍스트/단락 등을 검색하고 원하는 단락으로 점프할 수 있는 기능
  2. Photoshop 모드 : 포토샵 API를 이용하여 텍스트레이어 생성 시 자동으로 입력
  3. 오버레이 창에서 단락 클릭으로 점프하는 기능
  4. UI 아이콘 추가 : 일시정지/재개 버튼부터 시작해서, 앞으로 추가하게 될 버튼에까지?
  5. 유저 가이드 : 나중에 프로그램 상세 설명서를 하나 작성하고 싶네요.
  6. 프로그램 내에서 파일 수정 기능 : 그냥 간단하게 파일명이나 단락내용 정도...?
  7. 다국어 지원 : 영어와 일본어 우선 지원 예정.

수정할 사항

  1. 오버레이 레이아웃이 좀 잘못돼있습니다. 모든 단락들이 같은 간격으로 벌어져야 하는데, 이전-현재, 현재-다음만 유난히 넓음. 어떻게 고쳐야 할지 감도 안 잡히는 상황.
  2. 로직 수정 중 예끼치 못한 버그가 발생했을 수 있습니다. 많은 제보 바랍니다!

라이센스

직접 판매를 제외한 모든 이용이 가능합니다.

해당 프로그램의 대부분의 코드는 Github Copilot Chat으로 작성되었습니다.

해당 프로그램과 코드는 MIT License를 통해 배포됩니다.