GoogleDrive의 이미지 파일을 Markdown으로 내보내고 싶습니다.

해결하려는 문제



GitHub : e에서 Wiki가됩니다.



이번에는 이것을 어떻게 하고 싶다는 이야기가 됩니다.

요구사항


  • 이미지의 내용적으로 밖에 공개는 하고 싶지 않다
  • 출시 전 프로젝트 캡처이거나
  • 내부 설계의 도식이거나

  • 몇 번이나 바꾸거나하는 사정도 생각하면 git 리포지토리에 이미지 파일을 두는 것은 번거롭고 힘들다.
  • GitHub 리포지토리의 파일에 대한 URL은 링크가 잘 발생합니다.
  • commit->push->URL 가져오기->붙여 보자->「바꾸고 싶다…」

  • 인트라넷에 액세스할 수 있는 사람이라면 확실히 보이지 않으면 곤란하다
  • 전원이 사용하고 있는 클라우드 스토리지라고 전제가 있으면 좋다


  • 이번은, 「GoogleApps라고 할까 GoogleDrive를 모두가 사용해 주고 있는 전제」라고 이런 식으로 해결할 수 있다고 하는 것을 소개합니다

    하지만



    ↑의 이미지는 개인용 GoogleDrive를 공유 설정 [웹상에서 공개]에 지정한 폴더에 붙어 있는 gif입니다 ![LGTM](https://drive.google.com/uc?export=view&id=0B2wZU2hYh05XVVZmM19Ca3l2enc "LGTM") GitHub : e에서 클로즈드로 표시하고 싶은 경우는 「특정 사용자 만 열람 가능」이라든지, Google Apps의 사용자라면 열람 가능 등으로 지정해 두면 괜찮습니다 1. GoogleDrive 공유 링크 정보 '공유 링크 얻기'에서 다음 두 가지 URL을 사용할 수 있습니다. (라고 할까, 결국 이것 날아다니는데 왜 2개로 나누어져 있는지 수수께끼) # 파일 목록에서 컨텍스트 메뉴에서 얻을 수있는 공유 링크 https://drive.google.com/a/${APP_DOMAIN}/open?id=${FILE_ID}&authuser=0 # 미리보기에서 얻을 수있는 공유 링크 https://drive.google.com/a/${APP_DOMAIN}/file/d/${FILE_ID}/view?usp=sharing 여기서 FILE_ID 는 영숫자, 즉 [0-9a-zA-Z]+ 정규식으로 검색할 수 있습니다. 대조적으로, 이번에는 이미지를 직접 보여주고 싶기 때문에 이대로라면 잘 붙일 수 없습니다. URL을 이렇게 바꿉니다. https://drive.google.com/a/${APP_DOMAIN}/uc?export=view&id=${FILE_ID} 2. 정규 표현으로 잡히 치환 어색한 Ruby에서도 써 둡니다. drive-direct-url.rb #!/usr/bin/env ruby FILE_ID = "([[:alnum:]]+)" PATTERN = [ /(.*)\/open\?id=#{FILE_ID}.*/, /(.*)\/file\/d\/#{FILE_ID}.*/ ] def convert(url) unless url =~ /^https:\/\/drive\.google\.com/ return "[INFO] It is not url of GoogleDrive." 끝 if url =~ /(.*)\/uc\?export=view&id=#{FILE_ID}/ return "[INFO] already converted." 끝 PATTERN.each do | re | if url =~ re return "[INFO] convert => #{$1}/uc?export=view&id=#{$2}" 끝 끝 끝 puts(convert($*[0])) 잡담이군요. 잡 JavaScipt도 써 둡니다 이것을 UserScript가 되어 브라우저 확장에 사용한다든가, (Markdown에 있는 이미지 링크에 대해서 정규 표현으로 걸어 치환한다) Atom용으로 만든다든가, 뭐 여러가지 할 수 있는 것은 function getDriveImageURL(url) { var pattern = [ /(.*)\/open\?id=([0-9a-zA-Z]+).*/, /(.*)\/file\/d\/([0-9a-zA-Z]+).*/ ]; for (var i = 0; i < pattern.length; i++) { if (pattern[i].test(url)) { return url.replace(pattern[i], "$1/uc?export=view&id=$2"); } } } 이상 참고 링크
  • Permalinks for Google Drive Images
  • stackoverflow - Displaying files (e.g. images) stored in Google Drive on a website
  • 좋은 웹페이지 즐겨찾기