
안녕하세요.
오늘은 티스토리 블로그에서 자동 목차를 생성하는 방법에 대해 공유하고자 합니다.
아래 순서대로 따라오시면 쉽게 목차를 생성하실 수 있을 거예요.
그럼 시작하겠습니다.
1. 주의사항
이 방법은 자동으로 목차를 생성하는 방법입니다. 제가 사용한 방법은 글에서 가장 첫 번째 <h2> 태그 바로 위에 목차를 자동으로 생성해 줍니다. 그렇기 때문에 첫 번째 <h2> 태그의 위치가 중요합니다. <h2> 태그라고만 말하면 html을 잘 모르시는 분들은 어려우실 텐데요. 티스토리 글 작성 상단에 '제목 1'이 바로 <h2> 태그가 적용된 것이기 때문에 그것을 사용하시면 됩니다.

주의사항을 확인하셨고 적용하고자 하신다면 아래 내용을 순서대로 따라 해주세요.
2. 적용 방법
2-1. 스킨 편집 들어가기
블로그 관리>꾸미기>스킨 편집을 들어가 줍니다.

2-2. html 편집 들어가기

2-3. HTML 편집
html 편집을 클릭해서 들어오시면 상단에 HTML, CSS, 파일업로드가 보이실 겁니다. 가장 첫 번째인 HTML을 선택해 주세요. </head> 바로 윗부분에 아래 코드를 모두 붙여 넣기 해줍니다.
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.25.0/tocbot.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.25.0/tocbot.min.js"></script>
<script>
window.onload = function() {
const content = document.querySelector('.entry-content');
const headings = content.querySelectorAll('h2, h3');
const tocDiv = document.createElement('div');
tocDiv.id = 'toc';
// "목차"라는 제목을 가진 heading을 생성
const tocTitle = document.createElement('span');
tocTitle.innerHTML = "<strong>목차</strong>";
tocTitle.style.borderBottom = '1px solid #ddd';
tocTitle.style.paddingBottom = '10px';
tocTitle.style.marginBottom = '10px';
tocTitle.style.fontSize = '20px';
tocDiv.appendChild(tocTitle);
if (headings.length > 0) {
const ul = document.createElement('ul');
let lastH2 = null;
headings.forEach((heading, index) => {
const headingText = heading.textContent.trim();
const id = `toc-item-${index}`;
heading.setAttribute('id', id);
// '목차'라는 단어가 포함된 제목은 제외
if (headingText.includes('목차')) {
return;
}
const a = document.createElement('a');
a.href = `#${id}`;
a.textContent = headingText;
if (heading.tagName === 'H2') {
const li = document.createElement('li');
li.appendChild(a);
ul.appendChild(li);
lastH2 = li;
} else if (heading.tagName === 'H3' && lastH2) {
let subUl = lastH2.querySelector('ul');
if (!subUl) {
subUl = document.createElement('ul');
lastH2.appendChild(subUl);
}
const li = document.createElement('li');
li.appendChild(a);
subUl.appendChild(li);
}
});
tocDiv.appendChild(ul);
// 첫 번째 <h2> 태그 바로 위에 목차 삽입
const firstH2 = content.querySelector('h2');
if (firstH2) {
firstH2.parentNode.insertBefore(tocDiv, firstH2);
}
}
};
</script>
2-4. CSS 편집
이번엔 CSS를 편집해 주도록 하겠습니다. CSS를 클릭하시고 가장 밑에 아래 코드를 추가해 주세요. CSS가 엄청 길 텐데 당황하지 마시고 맨 밑에 넣어주시면 됩니다.
#toc {
border: 1px solid #ddd;
padding: 15px;
background-color: #f9f9f9;
border-radius: 5px;
margin-bottom: 20px;
}
#toc h2 {
font-size: 1.5rem; /* 제목 크기 조절 */
margin-top: 0;
}
#toc ul {
list-style-type: none;
padding-left: 0;
}
#toc ul ul {
padding-left: 20px; /* 하위 목록 들여쓰기 */
}
#toc li {
margin-bottom: 5px;
}
#toc a {
color: #333;
text-decoration: none;
font-weight: bold;
}
#toc a:hover {
text-decoration: underline;
}
2-5. 마무리
이제 적용 버튼을 클릭해 주시면 실제 목차가 적용된 모습을 보실 수 있습니다. 해당 블로그에도 적용된 것과 동일한 것입니다. 추가적으로 수정해서 쓰신다고 하신다면 쓰셔도 괜찮습니다.

이 이미지는 이 블로그의 다른 포스팅 글의 목차가 적용된 것을 캡처해 본 것입니다.
감사합니다.
'블로그 정보' 카테고리의 다른 글
| 티스토리 블로그 네이버 최적화하기 (1) | 2022.01.04 |
|---|---|
| #3. 티스토리 블로그 글꼴 변경하기 (0) | 2021.09.07 |
| #2. 티스토리 블로그 최적화 방법 (구글 서치콘솔) (0) | 2021.06.08 |
| #1. 티스토리 블로그 최적화 방법 (0) | 2021.06.05 |