GraphicMS와 Hugo를 연합하여 Giithub Pages에서 공개(1)~GraphicMS의 설정
8986 단어 HeadlessCMSGraphCMS
Hugo와 GraphicMS를 결합하여 컨텐트를 생성합니다.
마지막 목적은 Giithub Actions를 통해 생성된 정적 파일을 자동으로 구축하고 Giithub Pages를 공개하는 것입니다.
Hugo
최근에는 정적 사이트 생성기Hugo를 자주 사용한다.
Hugo의 매력은 풍부한 주제와 고속 건설에 있다.
한편, 특성상Gatsby과Nuxt.js 등에서 자주 사용하는 헤드리스 CMS는 직접 협업할 수 없다.
GraphCMS
헤드리스 CMOSGraphCMS는 Contentful와CosmicJS 등에 비해 다음과 같은 장점이 있다.
만약 이러한 결점이 문제가 되지 않는다면, 네가 하는 것을 추천한다.
사용 조건이 변경된 경우 언제든지 확인하십시오.
GraphicMS를 통해 컨텐츠 작성
먼저 서명하고 Giithub과 Google 계정이 있으면 바로 됩니다.
완료하면 로그인GraphCMS합니다.
그리고 화면 하단
Create a new project
으로 이동한다.몇 개의 틀이 있는데 이번에
Blank
로 스크래치로 제작되었습니다.Name
프로젝트 명칭을 선택하고Description
특별한 이유가 없으면 구역Asia(Tokyo)
을 설명한다.를 입력한 후
Create project
를 클릭합니다.다음은 계획의 선택 화면이다.자유 프로그램 중 사용 시 선택
Free forever
Select plan
.초대 멤버
Invite your team members
의 화면이기 때문에 필요하지 않으면 클릭Invite later
하세요.이렇게 하면 프로젝트의 관리 화면을 표시할 수 있다.그런 다음 왼쪽 메뉴를 선택하여 작업을 수행합니다.
패턴 정의
먼저 내용의 모델을 정의하여 블로그의 내용을 설계한다.
메뉴의
Schema
를 선택합니다.왼쪽에
Models
,Assets
,Enumerations
가 보이지만 기본적으로Models
에서 모형 제작을 진행한다.Models
옆에 있는 Add
를 클릭하면 Create Model
의 폼 화면이 표시되므로 적절하게 Display name
를 입력합니다.여기
post
입니다.그런 다음 자동으로
API ID
및 Plural API ID
를 입력합니다.이 두 개는 GraphiQL을 호출할 때 분리해서 사용합니다.
Post
: 단일 컨텐트가 호출된 경우, 즉 지정된 ID를 통해 컨텐트에 대한 세부 정보를 가져오는 경우Posts
: 여러 내용을 호출한 경우, 즉 일람표시 등 여러 내용을 얻은 경우Post (API ID)
. 푹 빠졌다.모두 입력한 후
Posts (Plural API ID)
를 클릭합니다.Post
의 메뉴를 표시하기 때문에 모델의 필드를 추가하여 설계합니다.종류는 다음과 같다(세로 표시이기 때문에 스크랩했다)
즉시 추가 장소에 착수하다.
우선 제목.
Create Model
를 클릭하면 대화상자가 표시되므로 다음과 같이 입력합니다.Add Fields
옵션 카드를 클릭하여 속성을 추가합니다.여기Single line text
에 대한 검사가 진행되었다.다른 필드도 추가돼 다음과 같이 구성됐다.
VALIDATIONS
: 블로그 제목Make field required
: 난로 부스러기.멀티바이트 범위 내에서는 사용하기 어렵지만 URL은 깨끗해지기 때문에 사용title
: 발언일slug
금형으로 만들 수 있지만 그렇게 상세한 정보가 필요 없고 입력도 번거롭기 때문에 날짜만 쓴다date
: 투고한 판넬 이미지DateTime
: 블로그 본문eyecatch
를 사용하면 > 형식으로 쓸 수 있지만 사용하기 편하다body
RitchText
: 레이블이런 상황에서 통상적으로 단독 모델 정의
Markdown
에서 참고(이른바 관계).그러나 단순히 문자열 정보일 경우 왼쪽 메뉴
tag
에 정의된Reference
에서 제작Models
하고 사용Enumerations
필드에 비해 조회가 간단해진다.이번 라벨도 모델 정의 없이 여러 줄 입력
Dropdown
을 실현했다.Hugo 측에서 라벨을 마음대로 처리할 수 있기 때문에 이 정도면 충분합니다.
참고로 모델에서 이러한 속성을 정의하는 것이 가장 좋은 것은 문자 정보 이외에 속성을 추가하고자 하는 상황에서 예를 들어 i18n(국제화) 등이다.
또 초고는 그래피CMS 쪽에서 진행돼 태그 관리가 이뤄지지 않았다.
시스템 필드에 내용의 제작, 업데이트, 공개 등 타임 스탬프 정보가 있기 때문에 투고일로 사용할 수도 있다.
투고자도 나밖에 없기 때문에 필드 정의를 하지 않지만 시스템 필드에도 표시할 수 있다.
이 정보는 오픈
Single line text
독수리로 볼 수 있다.컨텐트 작성
여기까지 해냈으니 콘텐츠 제작에 착수했다.
계기판 왼쪽 메뉴
Show system fields
를 클릭하세요.Content
를 클릭합니다.다음에 적절하게 입력한 것은 아래의 상황입니다. (이미지는 Lorem Picsum
여기서 주의해야 할 것은 이미지 파일입니다.
Create Item
에 표시된 대로 업로드할 때eyecatch
상태입니다.따라서 내용을
Draft
상태에 놓을 뿐만 아니라 이미지도 마찬가지Published
였다.내용을 잠시 보존하다.
Published
초고 보존.Save
공개.어쨌든 먼저
Save and publish
로 저장한 다음에 왼쪽 메뉴의 Save
를 눌러라.Assets
단추를 선택합니다.Publish
상태가 되면 이전 내용Published
으로 돌아가 클릭해 공개한다.GraphiQL에서 만든 내용 가져오기
GraphiQL로 방금 투고한 내용을 얻어 보세요.
먼저 왼쪽 메뉴
Publish
를 클릭합니다.처음에는 곤혹스러울 수 있습니다. 우선
API Playground
옵션 카드를 클릭하고 상기Explorer
의 이름을 선택하십시오. 여기는 Plural API ID
가 아닙니다.그리고 필드를 적당히 눌러서 이런 조회를 만듭니다.
query MyQuery {
posts {
id
title
slug
date
eyecatch {
url
}
body
tag
}
}
그리고 가운데 재생 버튼을 눌러서 실행합니다.결과는 json 형식으로 오른쪽으로 되돌아옵니다.
이를 토대로 휴고의 콘텐츠를 제작하고 다음에 휴고의 설정을 해설한다.
Reference
이 문제에 관하여(GraphicMS와 Hugo를 연합하여 Giithub Pages에서 공개(1)~GraphicMS의 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/higebobo/items/06fff13a50603879842b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)