GitHub 페이지에 가격 인하 문서 게시

개발자로서, 당신은 기계를 여러 번 교체할 수도 있고, 심지어는 운영체제까지 여러 번 교체할 수도 있다.아마도 너는 이미 일련의 특정한 조작을 집행했을 것이다. 너는 장래에 반드시 이런 조작을 반복해야 한다.명령을 기억하고 싶으신가요?코드 세그먼트 공유?온라인 강의 노트 얻기? 
상기 모든 원인과 더 많은 원인으로 인해 개인 문서 사이트를 가지는 것이 이상적인 선택이다.그것은 당신과 관련된 모든 정보를 자신의 방식으로 조직하고 종합하며 공유하기 쉬운 추가 이익을 가져다 줄 수 있다. 

우리 어떡하지?


모든 Markdown 파일을 포함하는 프로젝트는 Github Pages에 위탁 관리됩니다.
요구 사항

  • Python 3(버전 3.9.5+
  • 로 테스트)

  • Git (2.12+)

  • Make  
  • 우리 어떻게 해요?


    mkdocs 설치


    정적 사이트 생성기 mkdocs 를 사용하여 설치할 예정입니다.
    pip install mkdocs
    

    문서 원본 항목 만들기


    이제 프로젝트 폴더에 기본 프로젝트 구조를 작성합니다.
    mkdocs new GITHUB_USERNAME
    cd GITHUB_USERNAME
    
    GITHUB 사용자 이름 또는 원하는 항목 이름으로 GITHUB 사용자 이름을 바꿉니다.다음 단계에서 인용할 것입니다. 이 항목의 이름을 선택할 수 있는 이유를 더 명확하게 설명할 것입니다. 
    폴더에 생성된 파일을 확인하면 다음과 같이 표시됩니다.
    ./
    -- docs/
    -- mkdocs.yml
    
    계속하여 실행mkdocs serve을 시도한 다음 브라우저에서 실행http://127.0.0.1:8000합니다.봐라!개인 문서 로컬 사이트가 있습니다..md에 추가된 모든 docs/ 파일이 새 페이지로 표시됩니다.예를 들어, 편집을 시도합니다docs/index.md.mkdocs.yml 프로젝트 구성이 포함되어 있습니다.사이트 이름, 탐색 레이아웃 등을 사용자 정의할 수 있습니다.간단한 예는 다음과 같습니다.
    site_name: your site name
    site_url: https://GITHUB_USERNAME.github.io
    site_author: you
    site_description: a short description of your website
    
    nav:
      - About: index.md
    
    다음 항목을 추가하여 제공된 주제를 사용할 수도 있습니다readthedocs.
    theme:
      name: readthedocs
      highlightjs: true
      hljs_languages:
        - yaml
    
    참조 참조https://www.mkdocs.org/user-guide/configuration/
    이 점에서 너는 반드시 이런 곳이 있어야 한다.

    로컬 문서 항목에 대해서 말하자면, 이것만으로도 충분하다.GitHub 페이지에 배포할 수 있도록 계속 진행하겠습니다.

    GitHub 저장소 작성


    GitHub을 사용하면 특정 저장소에서 GitHub 사용자 이름과 일치하는 웹 사이트를 호스팅할 수 있습니다.github.io, GitHub 사용자 이름 대신 실제 GitHub 사용자 이름을 사용합니다.
    다행히도 mkdocs 명령을 통해 프로젝트 구축 파일을 GitHub 페이지로 쉽게 전송할 수 있습니다.mkdocs gh-deploy의 단점은 웹 사이트 파일(html, css, js)을 생성하기 위해 mkdocs gh-deploy의 모든 파일을 삭제하는 것이다.
    이 제한을 극복하고 배치 과정을 간소화하기 위해 GitHub 페이지 리포, GitHub 사용자 이름을 추적합니다.github.io, 문서 원본 프로젝트의 일부분으로 GITHUB_USERNAME.github.io/ .이것은 docs 원본 프로젝트 자체에서 내부 운행을 허용할 것입니다 mkdocs gh-deploy.
    결과적으로 GitHub 페이지에는 두 개의 다른 저장소가 필요하고 소스 파일에는 두 개의 저장소가 필요합니다.

    git 서브 모듈 GitHub 페이지 리포 만들기

  • 로 이동 및 GitHub 페이지 저장소 생성
  • 이름을 GITHUB 사용자 이름으로 지정합니다.github.io(GITHUB 사용자 이름 대신 실제 GITHUB 사용자 이름)
  • https://github.com/new 소스 재구매 계약 작성

  • 로 이동 및 소스 코드 저장소 생성
  • 이름을 GITHUB USERNAME(GITHUB USERNAME를 실제 GITHUB USERNAME 또는 선택한 다른 이름으로 변경하여 이전에 생성한 새 항목mkdocs 이름을 지정합니다.

  • Note that a repository named as your username is a special repository on GitHub. Its README.md will appear on your public profile. So you can customize that as well.


    이제 두 개의 GitHub 저장소가 있어야 합니다.
    지트 리콜
    묘사
    GITHUB 사용자 이름입니다.git (또는 선택한 다른 이름)
    할인 서류가 있는 원본 환매
    GITHUB 사용자 이름입니다.github.이오.지트
    정적 웹 파일이 있는 GitHub 페이지 재구매

    https://github.com/new git 저장소 초기화


    이전에 만든 폴더로 돌아가기
    git init
    
    echo site/ > .gitignore
    
    git add .
    git commit -m "first commit"
    
    git branch -M main
    git remote add origin SOURCE_REPO # replace SOURCE_REPO with your source repo HTTPS or SSH adddress
    git push -u origin main
    
    그런 다음 GitHub 페이지 리포를 초기화합니다.
    # still in your source folder
    
    mkdir GITHUB_USERNAME.github.io
    cd GITHUB_USERNAME.github.io
    
    git init
    git commit --allow-empty -m "first commit"
    
    git branch -M main
    git remote add origin GH_PAGE_REPO # replace GH_PAGE_REPO with your source repo HTTPS or SSH adddress
    git push -u origin main
    
    cd ..
    
    이제 각 GitHub 저장소에서 두 폴더를 추적해야 합니다.
    GITHUB_USERNAME/                  Source repo
    -- GITHUB_USERNAME.github.io/     GitHub page repo
    -- docs/
    -- .gitignore
    -- mkdocs.yml
    
    이제 삭제GITHUB_USERNAME.github.io/:
    rm -rvf ./GITHUB_USERNAME.github.io
    
    GitHub 페이지 리포를 소스 리포의 하위 모듈로 추가하려면:
    git submodule add -b main GH_PAGE_REPO # replace GH_PAGE_REPO with your source repo HTTPS or SSH adddress
    git add GITHUB_USERNAME.github.io
    git commit -m "add github page submodule"
    git push
    

    GitHub 페이지에 문서 배포


    실행:
    cd GITHUB_USERNAME.github.io
    mkdocs gh-deploy --config-file ../mkdocs.yml --remote-branch main
    cd ..
    
    계속, 브라우저에서 열기 .봐라!GitHub 페이지에서 개인 문서를 제공합니다.

    Note that you might have to wait a few seconds for your changes to be deployed.


    https://GITHUB_USERNAME.github.io Makefile에 deploy 명령 추가

    mkdocs gh-deploy 명령 자체가 사용자에게 친절하지 않고 기억하기도 쉽지 않기 때문에 간단한 Makefile 명령을 추가하여 변경 사항을 배치하기 쉽도록 하겠습니다.
    다음 내용을 사용하여 소스 폴더에 Makefile를 만듭니다.
    SHELL := /bin/bash
    GH_PAGE := GITHUB_USERNAME.github.io
    
    .PHONY: deploy
    deploy:
        cd $(GH_PAGE) && mkdocs gh-deploy --config-file ../mkdocs.yml --remote-branch main
    

    Ensure to paste Makefile indentation as Tabs or else you might get an error in the lines of [...] *** missing separator. Stop.


    현재 콘텐츠를 발표하고 싶으면 실행할 수 있다make deploy.

    두 저장소의 동기화 유지


    또한 배포를 수행할 때 GitHub 페이지 하위 모듈의 최신 커밋 버전을 업데이트할 수 있습니다.기술적으로는 필요 없지만 추적 목적에 쓰인다.Makefile에 다음을 추가합니다.
    .PHONY: update-build-version
    update-build-version:
        git submodule update --remote --merge
        git add $(GH_PAGE)
        git commit -m "ci: update build version"
    
    .PHONY: publish
    publish: deploy update-build-version
        git push
    
    make publish 서브모듈 버전의 배포 및 업데이트를 처리합니다.
    일반적인 워크플로우는 다음과 같습니다.
  • 할인 문서 또는 mkdocs.yml 변경 사항
  • git commit -am "commit message"
  • git push에서 귀하의 원래 환매 협의
  • 에 이르기까지
  • make publish GitHub 페이지
  • 왜 이렇게 복잡해?

    mkdocs build를 실행하고 site/를 GitHub 페이지로 사용할 수 없습니까?
    할 수 있어!참조 .구축 site/ 부품을 제출하거나 GitHub 페이지에 다른 지점을 사용할 수도 있습니다.나는 실제 소스 코드를 추적하고 공공 프로젝트에 가장 적은 파일을 배치하고 같은 저장소에 전혀 관련이 없는 두 가지가 있는 것은 너무 모호한 해결 방안이다.그래서 서브 모듈 방법을 채택했다.하지만 이것은 나의 편견입니다. 당신에게 가장 적합한 해결 방안을 사용하세요!

    GitHub 설명서 비밀번호 보여주세요.


    다음은 이 문서에 설명된 모든 출력을 포함하는 예제 항목입니다.
  • https://github.com/ar2pi/sample-mkdocs-gh-project 유사 문장


    이 글을 쓰기 전에 나는 다음과 같은 몇 편의 글을 찾을 수 있다.



  • 요약


    새 GitHub 페이지를 새로 만들었습니다. 이 페이지에는 가격 인하에 필요한 모든 문서가 포함되어 있습니다.이력서, 서류 가방, 업무 명세서, 무작위 아이디어, 고양이 사진 등도 포함된다.미치겠지, 인터넷은 무한해.
    해커!

    좋은 웹페이지 즐겨찾기