프로젝트 개요
- 해결 과제
- Google Drive 공유 링크를 이미지 주소나 HTML·Markdown 코드로 바꾸는 작업을 링크마다 반복해야 했다.
- 접근 방식
- 공유 링크에서 파일 ID를 추출하고 여러 링크를 선택한 출력 형식으로 한 번에 변환하도록 구성했다.
- 담당 기여
- 도구 기획과 인터페이스, 정규표현식 기반 변환 로직, LocalStorage 입력 보존 기능을 개발했다.
- 결과
- 웹 문서 작성에 필요한 링크 변환을 일괄 처리하는 브라우저 유틸리티를 배포했다.
기획 배경: 반복 링크 변환 줄이기
Google Drive의 '링크 복사'는 이미지 파일이 아닌 뷰어 페이지 주소를 제공합니다. 웹사이트나 블로그의 <img> 태그에 사용하려면 파일 ID를 추출해 이미지 주소로 다시 조합해야 합니다.
여러 사진과 스크린샷을 다룰 때 반복되는 변환을 한 번에 처리하기 위해 브라우저 기반 유틸리티로 만들었습니다.
Web Utility UI: Google Drive Link Converter
입력부터 복사까지 한 번에
여러 공유 링크를 입력하고 필요한 코드 형식을 선택한 뒤 결과를 바로 복사하는 흐름으로 구성했습니다.
- 다중 링크 일괄 변환: Textarea를 활용하여 여러 줄의 공유 링크를 한 번에 입력받고 처리합니다.
- 다양한 포맷 지원: 단순 URL뿐만 아니라 HTML 태그, Markdown 문법 등 사용 목적에 맞는 포맷을 제공합니다.
- 태그 속성 커스터마이징: Alt 텍스트(자동 넘버링 포함), Width 설정, 정렬 옵션 등을 UI에서 손쉽게 설정할 수 있습니다.
- 작업 기록: LocalStorage를 사용해 같은 브라우저에서 최근 변환 내역을 다시 확인할 수 있습니다.
기술적 구현: 정규표현식 활용
Google Drive 공유 링크는 /d/ID/ 경로형과 id=ID 파라미터형 등 여러 형식으로 제공됩니다. 지원하는 패턴에서 파일 ID를 추출하도록 정규표현식 기반 로직을 구현했습니다.
function extractId(url) {
// 1. 일반적인 공유 링크 (/d/ID/) 패턴 매칭
const match1 = url.match(/\/d\/([a-zA-Z0-9_-]+)/);
// 2. 구형 ID 파라미터 (id=ID) 패턴 매칭
const match2 = url.match(/id=([a-zA-Z0-9_-]+)/);
if (match1) return match1[1];
if (match2) return match2[1];
// 매칭 실패 시 null 반환
return null;
}
추출한 파일 ID는 lh3.googleusercontent.com 형식의 이미지 주소로 조합합니다. 원본 파일의 공유 권한이 공개되어 있어야 외부 페이지에서도 이미지가 표시됩니다.
사용 결과와 한계
링크마다 파일 ID를 찾아 코드를 작성하던 작업을 여러 건의 일괄 변환으로 바꾸었다. 미리보기로 결과와 공유 권한 문제를 확인하고, 최근 기록은 LocalStorage에 보관하도록 구성했다. 서버 없이 브라우저 안에서 입력·변환·기록 확인이 끝나는 단일 목적 도구다.
English
Background: Improving Efficiency
This project started from a personal pain point: "Embedding Google Drive images into blog posts is too cumbersome." Drive links are viewer links, not direct file links. To use them in an <img> tag, one must manually extract the file ID. This tool automates that repetitive process.
Key Features
It focuses on productivity through batch processing. It supports various formats (HTML, Markdown), allows tag attribute customization (Alt text, width), and persists recent history using Local Storage.
Technical Implementation
Regular expressions extract file IDs from supported path-based and parameter-based Google Drive links. The tool then builds an image URL; the source file still requires public sharing permission to render outside Drive.