Manifest 설명 - Veloighter 제작기

holdOn·2021년 6월 8일
0
post-thumbnail

Manifest

모든 익스텐션 프로그램은 JSON 포맷의 Manifest 파일(manifest.json)을 가지고 있습니다. 이 파일은 익스텐션의 중요한 정보를 제공합니다. manifest는 JSON 형태의 파일을 분석해서 원하는 크롬 익스텐션 기능을 사용할 수 있도록 해줍니다.

manifest_version

"manifest_version": 2,
  • 매니페스트의 버전을 명시하는 필드입니다. 필수적으로 적어야하는 필드입니다. 문자형이 아닌 숫자형으로 작성해야 합니다. Chrome 18부터는 버전2를 추천합니다. Chrome 17이하에서 사용될 익스텐션을 사용해야 할 경우 버전1을 사용하면 됩니다.

name and short_name

"name": "Veloighter",
"short_name": "Velolighter",
  • 크롬 익스텐션 앱의 이름을 적는 필드입니다. 필수적으로 적어야하는 필드입니다. 크롬 익스텐션을 인식할 수 있는 짧고 분명한 이름을 지어야합니다(최대 45글자까지 허용이 됩니다). name은 확장 프로그램 관리, 크롬 브라우저의 Toolbox 내 그리고 Chrome 의 웹 스토어에 기재됩니다.
  • short_name 의 경우, name 보다는 짧은 이름을 정할 때 사용하며, 최대 12자 이내로 작성합니다. 해당 필드는 필수값은 아니며, 따로 기재하지 않으면 name 옵션의 이름을 따라 갑니다(하지만 길이가 줄어들 수 있습니다). 해당 옵션 같은 경우는 긴 글자의 name 을 노출하기에 공간이 부족한 앱 실행기나 새 탭 페이지 등에서 사용됩니다.

version

"version": "2.0.0",
  • 크롬 익스텐션의 버전을 적는 필드입니다.
  • 크롬 익스텐션의 버전을 식별하기 위한 1~4개의 점과 정수로 구성되어 있습니다.
  • 숫자는 0~65535 사이의 값이어야 하며 0으로 시작할 수 없습니다.
  • 배포되어 있는 크롬 익스텐션 버전이 설치되어 있는 버전보다 높을 경우, 자동 업데이트 시스템이 설치되어 있는 익스테션을 업데이트 시켜줍니다.
  • 버전은 가장 왼쪽부터 비교합니다. 같은 위치에 있는 숫자가 동일할 경우 오른쪽 숫자를 비교합니다. 예를 들어 1.2.0 버전은 1.1.9.9999 버전보다 높은 버전입니다.
  • 누락된 정수는 0과 동일합니다. 예를 들어, 1.1.9.9999 버전이 1.1 버전보다 더 높은 버전이고, 1.1.9.9999 버전이 1.2 버전보다는 낮은 버전입니다.

icons

"icons": {
  "16": "assets/icons/favicon-16.png",
  "32": "assets/icons/favicon-32.png",
  "48": "assets/icons/favicon-48.png",
  "128": "assets/icons/favicon-128.png"
},
  • 크롬 익스텐션에 사용될 아이콘을 이미지를 넣는 필드입니다.
  • 128 x 128 사이즈의 icon은 필수적으로 제공을 해야합니다, 이 아이콘은 크롬 웹 스토어에서 설치할 때 사용됩니다.
  • 48 x 48 사이즈의 경우, 크롬 익스텐션 관리 페이지에서 제공됩니다.
  • 32 x 32 사이즈의 경우, 윈도우에서 종종 요구하는 사이즈입니다. 만약에 크롬 익스테션 앱이 32 사이즈를 가지고 있는 경우 크롬이 줄인 48 사이즈를 선택하지않고 32 사이즈를 선택하게 됩니다.
  • 16 x 16 사이즈의 경우, 크롬 익스텐션 파비콘으로 사용됩니다.
  • 사용자가 원하는 사이즈의 아이콘을 제공해도 됩니다. 그러면 크롬이 적절하게 사이즈를 다시 맞출것입니다. 하지만 모든 아이콘은 사각형 형태여야만 합니다. 그렇게 하지 않는다면 원하지 않는 결과가 나올 것입니다.

description

"description": "팔로우 하고싶은 사용자를 등록하면 메인 화면에서 팔로우한 사용자의 글을 표시해줍니다.",
  • 크롬 익스텐션에 대한 설명을하는 필드입니다. 명확하게 설명해야 합니다. 132자 이하로 적으실 수 있습니다.

homepage_url

"homepage_url": "https://github.com/velolighter/velolighter",
  • 크롬 익스텐션에 대한 homepage url 정보를 담고 있는 필드입니다.
  • 크롬 익스텐션 관리 페이지에서 해당 url 에 대한 정보를 담고 있습니다.

permission

"permissions": [
    "storage",
    "http://velog.io/",
	"https://velog.io/"
],
  • 이 필드에는 익스텐션에서 사용할 Chrome API를 기재해야 합니다. 각 API 설명 문서에는 permission 필드에 어떻게 기재해야 하는지 나와있습니다.
  • 익스텐션이 멈웨어에 감염되었을 경우 받을 수 있는 손상을 줄여줍니다.
  • 어떤 권한 옵션들은 설치전이나 필요시에는 런타임시에 사용자의 동의를 요구하는 창을 보여줍니다.

content_scripts

"content_scripts": [{
    "matches": [
      "http://velog.io/",
      "https://velog.io/"
    ],
    "js": [
      "js/contentScript.bundle.js"
    ]
}]
  • content script가 적용될 페이지를 적는 필드입니다.
  • matches는 필수적으로 적어야 합니다. 컨텐츠 스크립트가 적용될 페이지의 주소를 적습니다.

Github 링크

참고 내용 링크

profile
즐거운 마음으로 코딩하기 :)

0개의 댓글