[초보자를 위한] Hugo + GitHub Pages로 정적인 조합을 만들어보도록 하겠습니다.
7915 단어 GitHub
후속 문장
입문
지인이 GitHub로 Resume를 공개하는 것을 보고 나도 한번 해보고 싶다.
완성물
URL 이전의 내용이 변하지 않도록 취지를 전달할 수 없는gif
URL:
https://nkjzm.github.io/
GitHub Pages 저장소:
nkjzm/nkjzm.github.io
기술 선정
GitHub Pages(채택)
또한 표준 URL은 사용자 id로 발행하는 곳을 좋아합니다.(예:
https://[user_id].github.io/
Jekyll(미채택)
Adding a Jekyll theme to your GitHub Pages site - GitHub Help
하지만 맞춤형을 원하는 상황에서 설정이 복잡해지고 매번 반영을 기다려야 하는 것은 스트레스다.널리 사용되는 도구이기 때문에 능숙하게 사용할 수 있다면 편리하지만 자신의 경우 후술한 Hugo를 사용하기 쉽다.
Hugo
하지만 지킬과 달리 공식적인 지지가 없어 일부만 힘들다.
Github Pages 사양 이야기
2016년경 도입 이후 몇 가지 규격의 변경이 있었기 때문에 간단하게 정리하고 싶습니다.
gh-pages
몇 가지 지점의 정보가 나왔지만 현재 상황이라면 사용할 필요가 없기 때문에 참고하지 않는 것이 좋다.페이지 분류
GitHub Pages에는 사용자 페이지와 프로젝트 페이지 두 가지 사양이 있습니다.
사용자 페이지
프로젝트 페이지
용도
제품 조합 및 응답
프로젝트 웹 페이지
저장소 이름
[user_id].github.io
[user_id].github.io/[repository_name]
부여된 URLhttps://[user_id].github.io/
https://nkjzm.github.io/[repository_name]/
객체 게시master 지점 바로 아래
master 지점 바로 아래 또는 지정한 지점 바로 아래docs 폴더
프로젝트 페이지에서는
docs
폴더 아래를 게시 대상으로 설정하여 프로젝트의 소스 코드 관리와 같은 저장소에서 관리할 수 있습니다.이에 비해 사용자 페이지는 마스터 지점 바로 아래에서만 공개할 수 있는 제한이 있습니다.이번에는 Git 관리로 원본 파일을 생성하려면 후술 작업이 필요합니다.
사용 방법
위의 공개 객체에 파일을 배치한 후 저장소의 설정 탭에서 GitHub Pages 항목을 찾습니다.
Source에서 게시할 분기를 설정하고 저장합니다(사용자 페이지에 master가 자동으로 설정된 것 같습니다).
한 가지 주의할 점은 공개 대상이 업데이트된 경우 반영하는 데 시간이 좀 걸린다는 것이다.
push 다음에 다음 메시지가 표시됩니다.
Your site is ready to be published at https://nkjzm.github.io/
하면, 만약, 만약...Your site is published at https://nkjzm.github.io/
에서 설명한 대로 해당 매개변수의 값을 수정합니다.최소 30초 정도.실패하면 실패 메시지가 표시됩니다. 메일로 알려 줍니다.이 경우 게시된 페이지가 손상되지 않고 실패 전 버전이 계속 표시됩니다.
참조: GitHub Pages를 사용하여 웹 페이지 빠른 게시 - Qiita
Hugo 배포
나는 아래의 페이지를 보고 가져왔다.
Hugo 및 GitHub Pages에 정적 사이트 게시 - Qiita
간단히 말하다
(brew가 Mac에 설치되어 있는 경우)
$ brew install hugo
$ hugo new site hugo-test
$ cd hugo-test
# サーバー起動
$ hugo server
# 静的ファイル生成
$ hugo
상기 상태라면 아무것도 표시되지 않지만 theme를 설정하여 자신의 페이지를 맞춤형으로 만들 수 있습니다.로컬 서버 미리 보기
$ http://localhost:1313
에서 설명한 대로 해당 매개변수의 값을 수정합니다.이것은 상당히 우수해서 시동이 걸리면 매번 파일의 변경이 자동으로 업데이트됩니다.
서버를 낮출 때
Control + C
하지 않으면 프로세스가 남을 수 있으므로 주의해야 한다.Github Pages 설정
hugo
명령은 public
아래에 정적 파일을 생성하여 공개 객체로 설정하여 GitHub Pages로 표시합니다.그러나 GitHub Pages의 경우 공개 대상으로 선택할 수 있는 폴더는 바로 아래 또는 master
폴더이므로 설정을 변경해야 합니다.docs
파일의 config.toml
에 정의하도록 설정합니다.publishDir = "public"
다음 폴더를 설정할 때 docs
를 지정합니다.사용자 페이지의 경우
publishDir = "docs"
바로 아래에만 공개할 수 있는 제한이 있다고 하지만 후술 방법으로 대응할 수 있기 때문에 master
만 지정하면 된다.소스 코드를 관리할 필요가 없는 경우
docs
폴더를 Git의 루트 디렉토리로 사용하거나 publishDir
프로젝트 바로 아래에 토출할 수 있습니다.참조: Host on GitHub | Hugo
대략적인 사용자 정의 이미지
사용된 주제에 따라 다른 부분도 있습니다. 자세한 내용은 각 주제의 자술 파일과 문서를 참조하십시오.
나는 모든 주제의 견본 페이지를 복사한 후에 필요한 부분을 바꾸는 방법을 이해하기 쉽다고 생각한다.
publishDir = "./"
에 기술될 것이다.config.toml
아래에 저장됩니다.static/img
은 다음과 같다.content
첫 페이지의 각 요소의 내용을 설명합니다.content/home
등 기사의 내용 등을 기술한다.Academic 주제
광범위하게 이용되는 개원의 주제다.
만약 잘 쓰지 못한다면 나의 자료 파일 라이브러리를 참고하세요.
nkjzm/nkjzm.github.io
동일한 저장소에서 Hugo 소스 및 공용 파일 관리
GitHug Pages의 사용자 페이지는 master 브랜치 바로 아래에 있는 파일만 공개할 수 있는 제한이 있기 때문에 직접 실행할 수 없습니다.
따라서 아래의 보도는 참고가 되었다.
GitHub Pages의 User Pages에서 문서 루트 디렉토리를 변경하려면 master-Qiita 를 죽입니다.
업데이트를 하려면 다음과 같이 ok
content/post
가 publishDir
인 경우입니다.$ git push origin source
$ git subtree push --prefix docs/ origin master
한마디로 Git의 hooks 기능docs
으로 두 번째 줄의 조작을 자동화하고 싶습니다.참조: git pre-push hook에서 master 지점으로 push 할 때 확인 알림 - Qiita
참조: git/hooks--pre-push.sample at master · git/git
하지만
pre-push
동작이 없어 포기했다.while 이전의 줄에서
while read local_ref local_sha1 remote_ref remote_sha1
설명하면,push 시 출력echo "hello"
,while에서 처리하지 않음만약 누가 원인을 생각한다면, 반드시 나에게 알려 주십시오
마지막
Github Pages와 Hugo를 사용하면 자신의 투자조합 사이트를 쉽게 만들 수 있습니다.
최근에 나는 이렇게 하면 자신의 정보를 내려다볼 수 있는 페이지가 매우 의미가 있지 않을까 생각한다.
나는 평소에 기술과 수출을 자랑스럽게 여기며 트위터에 가능한 한 주위 사람들에게 메시지를 보내는 것에 주의한다.하지만 앞으로는 이런 발신을 참조하기 어렵다.실제로 어느 정도 교류가 있는 사람이라도 그 사람이 과거에 무엇을 했는지 모르는 사람이 많다.그래서 나는 자신의 실적, 기능, 지향성 등 통일된 장소의 필요성을 다시 한 번 느꼈다.
자신의 지향성으로서 직접적인 대화가 아니라 수출을 통해 자신의 생각을 이해하고 싶지만 이를 위해 다른 사람에게 자신의 수출을 전달하는 노력을 게을리해서는 안 된다고 생각합니다.
감사 인사
디버깅에 협조해 주셔서 감사합니다@pagu0602🙏
Reference
이 문제에 관하여([초보자를 위한] Hugo + GitHub Pages로 정적인 조합을 만들어보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nkjzm/items/ab8595f185348de7ba7e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)