22.03.30 TIL

README.md

  • 프로젝트와 Repository를 설명하는 책의 표지와 같은 문서
    따라서 공을 많이 들여야 하는 아주 중요한 문서
  • 자신과 동료, 해당 repo의 사용자를 위한 문서

기본 양식)

commit log나 issue 탬플릿 등 문서와 관련해서 참고하면 좋을 사이트

LICENSE

  • 오픈소스 프로젝트에서 가장 중요한 License는 자신이 만들 때에도, 배포할 때에도 가장 신경써야 하는 일 중 하나.

* MIT License
: MIT에서 만든 라이센스로, 모든 행동에 제약이 없으며, 저작권자는 소프트웨어와 관련한 책임에서 자유롭다.
* Apache License 2.0
: Apache 재단이 만든 라이센스로, 특허권 관련 내용이 포함되어 있습니다.
=>사용시 명시해야함
* GNU General Public License v3.0
: 가장 많이 알려져있으며, 의무사항(해당 라이센스가 적용된 소스코드 사용시 GPL을 따라야 함)이 존재합니다.
=> 위험한 라이센스..!

.gitignore

  • git이 파일을 추적할 때, 어떤 파일이나 폴더 등을 추적하지 못하게 한다.
  • 해당 문서에 작성된 리스트는 수정사항이 발생해도 git이 무시한다.
    특정 파일 확장자를 무시하거나 이름에 패턴이 존재하는 경우, 또는 특정 디렉토리 아래의 모든 파일을 무시할 수 있다.
    예시)
    # MacOS Setup
    .DS_Store
    # Python cache files
    .py[cdo]
    # Important files
    /Important
    # AWS key
    key.pem

# .gitignore과 .gitattributes

.gitignore : 특정파일 추적을 하고 싶지 않을 경우

  1. vi를 열어 파일 안에 추적 하고싶지 않은 파일명들을 넣어준다.
예시) secrets/**
*.java
*.pem
*.pyc
credential.*
auth.*)
  1. 그러면 $ git status했을 때 설정 전에는 떴었던 파일들이 다 없어지고 .gitignore만 추적하게 된다.
* TIP = 아래 사이트에 들어가보면 각 경우에 따라 ignore되어야할 것들이 미리 나와 있다.
os, editor, framework 등의 항목에 맞는 것들을 설정해준 뒤, create해서 복붙해주면 된다! gitignore.io.org

.gitattributes : 파일단위, 디렉토리 별 다른 설정을 부여하고 싶을 경우

# Avoid conflicts in pbxproj files
*.pbxproj binary merge=union
# Always diff strings files as text
*.strings text diff
=> 보통 ios, 안드로이드 앱 개발할 때, git이 텍스트 라인 추적하는 과정에서 깨지는 경우가 있어서 쓰임 (웹개발은 알 필요X)

Hexo

  • 대표적인 정적인 사이트 생성기(SSG)
  • Node.js을 기반으로 하며 커스터마이즈가 쉽고, 빠른 속도로 사용자 증가 중이다.
  • 참고자료 : https://hexo.io/ko/docs/ (theme설정 등 -> 들어가서 installtion절차보고 따라하기)

# 레이아웃

  • Hexo의 기본 레이아웃 : post, page, draft
  • 각각의 레이아웃에 의해 생성된 파일들은 서로 다른 경로에 저장된다.

    레이아웃 => 경로
    -post => source/_posts
    -page => source
    -draft => source/_drafts

$ hexo new [레이아웃] "제목 "post 는 기본 layout이다. 하지만 _config.yml 파일의 default_layout에서 설정을 변경할 수 있다.

# 게시글 올려보기

  1. github에 [유저네임].github.io라는 repo를 만든다.
username이 같아야 호스팅 서비스 제공됨!
  1. dev에서 clone한 뒤, 해당 repo에서 intex.html파일을 생성한 뒤, 아래 화면 입력하고 add, commit, push한다.
  2. https://cho-eunji.github.io/ 로 들어가면 입력한 html파일 내용대로 창이 뜨는 것 확인할 수 있다.
  3. node.js와 hexo를 설치한 뒤(설치 과정 생략), dev에서 hexo 게시물을 넣을 폴더를 만든다!
    # 참고 영상 : https://www.youtube.com/watch?v=FwRKkZXSdY8 => hexo 과정(최우영 강사님 유투브)
  4. dev에서$ hexo init [폴더명]을 입력한다.
    ex)
# 나의 경우
$ hexo init ghblog
  1. (해당 폴더로 들어가서 $ npm install -자세한 과정 생략)
  2. 게시글 써보기(Writing)

    : hexo를 입힌 폴더(ex. ghblog폴더)에서 파일을 만들고, 그 파일의 위치 잘 보고 불러내서 수정하면 된다!

$ hexo new [layout] <title> 
# ex) hexo new post "My-second-post" ->새로운 파일을 게시한다.
$ vi source/_posts/My-second-post.md
# 만든 파일의 위치를 확인하고 내용을 수정한다.
$ hexo server
# 웹페이지에서 내용 확인하기
  1. $ vi _config.yml에서 내용을 수정한다.

    수정 내용: type: git / repo: 주소 / branch: main

  2. $ hexo clean && hexo deploy를 입력하면 github에 소스가 업데이트 된다! (반영이 완료되면 사이트에서도 변경됨)
  • $ hexo deploy를 함으로써 commit, push가 자동적으로 된 것!
  • hexo관련 명령은 _config.yml이 있는 공간에서 해야함!!!
  • $ hexo clean && hexo deploy에서 clean은 아무것도 없는 상태로 삭제시켜주고, deploy를 거치며 파일을 다시 생산하는 것.
    글을 쓸 때 작성 후 clean deploy를 반복해주면 됨.

# git은 습관이 가장 중요하다!

좋은 웹페이지 즐겨찾기