[Blog] 주의점(TIP) 및 테스트 서버 구동법
깃 블로그 지킬 테스트 서버 구동 및 문법과 여러 주의할 점(TIP)들 위주로 정리 한다.
Ruby 언어 주의점과 특수 문자들로 인한 에러나 이미지 경로 문제나 깃 블로그 잔디와 드롭리스트 문제 등…
테스트 서버
실시간 블로그 업데이트 내역을 보면서 하기 위해 로컬로 서버 여는 방법을 알아보자
구동방법
-
git 블로그를 만든 폴더에서 “Shift + 마우스 우클릭” 해서
powerShell
터미널로 접속 -
bundle exec jekyll serve
입력만약 파일 없다고 에러 뜨면 “bundle add 파일이름” 으로 설치
-
localhost:4000
페이지 접속포트번호 다를 수도 있으니 본인에게 맞는 포트번호 적용
테스트 서버에서 주의점(TIP)
- 테스트 서버에서
config.yml
내용 변경 적용법은 “무조건 서버 재실행”- 서버 구동할 때 사용하기 때문
-
이미지가 로딩 안된다면 -> 경로의 문제 의심
- Github의 경로와 로컬의 경로는 다르다
- 따라서 절대경로 보다는 상대경로 권장 or 아래 TIP 확인
- jekyll serve 구동에 옵션을 설정 -> “테스트 속도 상승법”
- 컨텐츠가 많을수록 속도가 느릴 수 밖에 없어서 이때 추천!
- 10개 정도로 줄여서 빌드 테스트 (2~3분이 8초로 단축)
-
bundle exec jekyll serve --watch --limit_posts 10
: 최신글 10개 - 폰트 같은 “설정 변경” 적용여부 확인할 때 좋다고 생각
-
- 변경된 컨텐츠만 재빌드 -> 아마도 “캐시 사용” (2~3분이 17초로 단축)
bundle exec jekyll serve --incremental
- 전체 게시물들 수정여부 확인할 때 좋다고 생각
- 단, 게시물 실제 파일명도 바꾸게 되면 처음부터 다시 서버 실행 필요 -> “캐시 사용 때문이라 추측”
- 실제 파일명 변경은 테스트 할 필요가 없긴 해서 이 부분은 알고만 있자!
- 뭔가 잘 동작 안할때는
powershell
에 엔터키 적용 - 서버 빌드할 때 -> 로컬 테스트 서버에서만 “비공개 포스트” 확인 방법은
- 빌드에
--unpublished
추가 - ex :
bundler exec jekyll serve --unpublished
- 빌드에
필독 - 주의할 점(TIP)
경험했던 여러 가지 주의할 점과 TIP들을 정리해보자
깃 잔디 왜 안 채워져?
clone으로 가져왔다면 상관없지만,
fork한 git 레퍼지토리는 초록잎이 안 채워진다고 한다!
- 해결법은 branch를 병합!
- 테디노트님 영상 따라하기 : https://www.youtube.com/watch?v=Z053Qn8LJyk
- 참고
- git계정 한개당 github.io블로그 한개 생성 가능(레퍼지토리)
- 여러개 사이트는 블로그가 아닌 프로젝트로 생성해서 블로그처럼 보는 방법이 있다고 한다.
본섭 깃 블로그에 폰트 적용이 안 된다?
본섭에 scss 것들이 적용 안될때가 있다! 원인은?? => “캐시”
- git cache 에 몇몇 파일들은 자동으로 기록되기 때문에 변경사항이 적용이 안 되기 때문
-
캐시 초기화 방법
-
git rm -r --cached .
: 캐시 모두 제거 -
git add .
: 새로운 커밋 작성 위함 -
git commit -m "fixed untracked files"
: 커밋 작성완료 -
git push
: Github에 적용
-
주석 남발 절대 금지!
수많은 에러 중에 “주석”을 남발하여 에러가 발생할 가능성이 있다!
Jekyll 은 Ruby 언어로 만들어졌기 때문에 Ruby 언어를 HTML 주석으로 처리하면서 에러를 발생시킬 수 있다.
결론 : Ruby 언어에는 “주석”을 사용하지 않기를 권장!!
-
<!-- -->
: 이런 거 금지!! `` 가 없으면 문법상 에러발생 하기 때문 - 심지어 md파일에 남발해도 문제니까 조심해서 사용
- 위 코드도 에러 때문에 일부러 endif 를 추가 설명한 것
이미지 로딩 왜 안돼?
md파일에서 이미지 불러오는 문법은 딱히 문제가 없고 “무조건 경로 문제” 가 대다수이다.
-
<img src… 또는 
-
인라인 주소삽입 - 목차에 사용법
- 목차처럼 이동하는 것 - toc가 있어서 안 쓰긴 하지만 알아두자
- 문단 주소 따는 규칙
- 특수문자 제거(.,다 포함)
- 공백을 -로 표시
- 대문자는 소문자로
- 예 : 3. 파일명 조심!(name) => #3-파일명-조심name
- 3. 파일명 조심!(NAME)으로 이동해보기
-
마크다운 문법 무시 방법 :
\
사용
3. 파일명 조심!(NAME)
md파일 및 폴더이름에 [] 는 넣지 말자 -> 대신 () 를 사용 권장
md파일 및 폴더이름에 &,<,> 는 넣지 말자 -> 검색엔진에 사용하는 XML에 문제발생 가능성
- 물론 md파일 안에 title 에는 상관없다
md파일 이름에 2023-04-01-제목
이런 형태로 날짜 뒤에 -
까지 작성해줘야 한다.
md파일 이름에 날짜가 오늘 날짜 이후라면 해당 파일은 블로그에 게시되지 않는다.
4. 인라인과 진하게 표시주의!
진하게 표시와 인라인을 함께 사용하면 인라인이 먹히지 않는다.
인라인과 진하게는 구분하여 사용하자!
- 인라인만 사용 : 안녕
하
세요 - 인라인 포함하여 진하게 표시 : 안녕
하
세요 - 인라인 제외하고 진하게 표시 : 안녕
하
세요
필자의 게시물 작성 세팅방식 - YFM
본인이 세팅한 “검색” 부분은 TAG 부분도 읽기 때문에 TAG를 잘 적어두면 “검색”할 때 유용!
---
title: "Web_Programming(html, jsp, sql)" // 게시글 제목
categories : test // 카테고리 분류
tag : [android, github] // 태그
author_profile: false // 프로필 보이게, 안보이게 설정
sidebar: // 프로필 대신 -> 사이드바 보려는 목적(왼쪽에 Home, Category, Search 부분)
nav: "docs" // navigation.yml 에 docs로 등록한 설정 사용
toc: true // 목차 뜨게하기
toc_sticky: true // 목차 고정시키기
typora-root-url: ..\..\.. // 이미지 경로를 위해 root 경로를 직접 설정
---
Ruby 언어 문법 조금은 알고가자
실제로 마크다운에서도 자동으로 적용되어서 코드는 사진으로 대체..
코드
결과
- `` : 주석
- `` : 변수 선언
- 변수 변경도 다시 선언하는식으로 하면 되겠다
-
: check 변수가 있거나 true, false를 판단
로 마무리 필수- and, or 사용가능 : check and check2 == false 라던지 check or check2 등등
- `` 로 마무리 필수
-
true
: check 출력값
지킬 블로그 포스팅 비공개로 하는 법은?
게시물 yaml 작성란에
-
published: true
: 포스트 공개 -
published: false
: 포스트 비공개
서버 빌드할 때 -> 로컬 테스트 서버에서만 포스트 확인 방법은
- 빌드에
--unpublished
추가 - ex :
bundler exec jekyll serve --unpublished
Liquid Syntax Error?? 그게 뭔데??
md 파일 열심히 작성하고 포스팅을 했는데 이런 에러가 발생한다. 리퀴드 문법에러??
앞서 언급한 Ruby언어 문법 얘기한 거랑 정말 같은 맥락이다.
예를들어 {{ }} 를 사용하면 리퀴드에서는 탈출문으로 알고 있다.
따라서 이를 방지하기 위해서는 아래 문법을 사용해줘야 한다.
검색 엔진 에러?? xmlParseEntityRef: no name??
경로 상에(ex: posts/ee/과거&현재.md) &
가 있으면 XML에서 특수문자 취급을 다르게 하므로 에러가 발생할 수 있다.
따라서 애초에 &, <, >
특수문자의 경우 “경로 상에” 사용 안 하길 권장한다.
details 태그 사용한 드롭리스트 사용법
주의사항
- markdown=”1” 할 때 “1” 꼭 지키기. 쌍따옴표 순서 안맞아도 안되더라.
- 코드에 아래 주석 문제 발생 시?? 한줄로 수정하기
/** dd */
/**
* 문제의 주석 -> 근데 걍 되는 주석 코드도 있음;;
*/
- 코드(```)는 div markdown을 한번 더 입히는게 안전.
- <br>로 담줄 넘겨도
-
이거 들여쓰기가 탈출이 안돼서 그럼;;
- <br>로 담줄 넘겨도
-
-
이거 들여쓰기에 details를 쓰고싶다면?? 아래 코드처럼 사용해야함. (코드 markdown 추가 입히기 포함한 예시)-
-
이거와 details 사이에 공백처럼 한칸 엔터 필수!! + details 부분은 꼭 들여쓰기.
-
- **1:N, N:1** 의 경우 **N**에 사용 -> **1**은 양방향 필요시 연결(엔티티)
<details><summary><b>1쪽에 FK 놓으면 2가지 단점</b></summary>
<div markdown="1"><br>
아무거나 입력
<div markdown="1">
```java
System.out.println("test");
```
</div>
</div>
</details>
- 안녕하세요.
<details><summary><b>1쪽에 FK 놓으면 2가지 단점</b></summary>
<div markdown="1"><br>
아무거나 입력
<div markdown="1">
```java
System.out.println("test");
```
</div>
</div>
</details>
예시
-
1:N, N:1 의 경우 N에 사용 -> 1은 양방향 필요시 연결(엔티티)
1쪽에 FK 놓으면 2가지 단점
아무거나 입력System.out.println("test");
-
안녕하세요.
1쪽에 FK 놓으면 2가지 단점
아무거나 입력
System.out.println("test");
댓글남기기