플랫 페이지 사용 문서
FlatPages는 Markdown 형식의 컨텐츠 쓰기를 지원하고 자동으로 디렉토리를 생성하며 미적 판독 인터페이스를 제공하는 간단하고 강력한 정적 페이지 관리 시스템입니다.
기능적 특징
- 마크 다운 형식을 지원하여 컨텐츠를 작성합니다
- 기사 카탈로그를 자동으로 생성합니다
- 코드 강조 표시
- 진행 지침을 읽으십시오
- 반응 형 디자인, 모바일 지원
- 기사 탐색 지원 (이전/Next)
- 기사 검색 지원
- 국제 지원
사용 방법
1. 구성 활성화
구성 파일에서 플랫 페이지를 활성화합니다.
[flatpages]
# 是否启用flatpages
enable = true
# 支持配置多个flatpage目录
[[flatpages.dirs]]
nav_name = "帮助文档"
nav_path = "docs"
file_path = "statics/flatpages/docs"
# 每页显示的条目数,可选,默认为10
page_size = 20
# 可以继续添加更多目录配置...
2. 기사를 만듭니다
statics/flatpages
디렉토리에서 .md
파일을 작성하고 다음 형식으로 작성하십시오.
# 文章标题
> 文章描述(会显示在列表页)
正文内容...
## 二级标题
### 三级标题
正文内容...
3. 마크 다운 형식 설명
Flatpages는 다음을 포함하여 표준 Markdown 구문을 지원합니다.
- 제목 (H1-H4)
- 목록 (주문 및 변수)
- 코드 블록 (구문 강조 표시)
- 참조 블록
- 링크
- 그림
- 인라인 코드
코드 블록 예 :
def hello():
print("Hello, World!")
4. 특별 기능
코드 사본
복사 버튼은 모든 코드 블록의 오른쪽 상단에 자동으로 추가되어 사용자가 코드를 복사 할 수 있도록합니다.
디렉토리 탐색
이 시스템은 기사 제목 (H2-H4)을 기반으로 디렉토리를 자동으로 생성하고 오른쪽에 표시합니다. 디렉토리 지원 :
- 현재 읽기 위치를 자동으로 강조 표시합니다
- 점프하려면 클릭하십시오
- 동기화를 스크롤하십시오
읽기 진행
페이지 상단에 읽기 진행률 표시 줄이 표시되며, 이는 읽기 위치가 시각적으로 표시됩니다.
구현 원리
1. 파일 시스템
FlatPages는 GO의 embed.FS
사용하여 정적 파일을 관리합니다.
//go:embed flatpages/*
var Files embed.FS
2. 라우팅 등록
시스템은 시작시 InitFlatpages
함수를 통해 관련 경로를 등록합니다.
-
/fp/
- 기사 목록 페이지 -
/fp/:slug
- 기사 세부 정보 페이지
3. 마크 다운 분석
Markdown 파싱, 지원을 위해 gomarkdown/markdown
패키지를 사용하십시오.
- commonextensions
- 자동 헤드 링 시드
- HreftArgetBlank
4. 기사 관리
모든 Markdown 파일은 시작시로드됩니다.
- 파일 이름을 URL 슬러그로 해결하십시오
- 기사 제목 (H1) 추출
- 기사 설명 추출 (첫 번째 인용 블록)
- 읽기 시간을 계산하십시오
- 기록 업데이트 시간
5. 검색 구현
목록 페이지의 검색 기능은 제목 및 설명의 실시간 검색을 지원하는 JavaScript에서 구현됩니다.
6. 국제 지원
이 시스템은 i18N 지원을 통합하며 구성을 통해 다국어 지원을 활성화 할 수 있습니다.
[i18n]
enable = true
모범 사례
- 파일 이름 지정
- 의미있는 파일 이름을 사용하여 URL의 일부로 사용됩니다.
- 특수 캐릭터와 공간을 피하십시오
- 소문자와 하이픈이 권장됩니다
- 콘텐츠 조직
- 각 파일에는 H1 제목이 있어야합니다
- 인용 블록을 사용하여 기사 설명을 추가하십시오
- 컨텐츠를 구성하기 위해 2 차 및 3 차 타이틀을 합리적으로 사용하십시오
- 단일 파일의 크기를 제어하면 1000 줄을 초과하지 않는 것이 좋습니다.
- 이미지 처리
- 사진은
statics/img
디렉토리에 저장하는 것이 좋습니다. - 상대 경로를 사용한 참조 이미지
- 이미지를 압축하여 로딩 속도를 높입니다
- 사진은
- 코드 디스플레이
- 올바른 구문 강조 표시를 얻으려면 코드 블록의 언어를 지정하십시오.
- 중요한 코드에 주석을 추가하십시오
- 코드 블록이 올바르게 들여 쓰기되었는지 확인하십시오
문제 해결
- 페이지가 표시되지 않습니다
-
flatpages.enable
이 구성 파일에서 true인지 확인하십시오 - 마크 다운 파일이 올바른 디렉토리에 있는지 확인
-
- 디렉토리가 생성되지 않았습니다
- 기사에 2 차 또는 3 차 제목이 포함되어 있는지 확인
- 제목이 올바른지 확인하십시오 (## 또는 ###)
- 스타일 예외
- Markdown Syntax가 올바른지 확인하십시오
- 파일 인코딩이 UTF-8인지 확인하십시오
- 잘못된 검색
- 브라우저 콘솔에서 JavaScript 오류를 확인하십시오
- 페이지 JavaScript가 올바르게로드되는지 확인하십시오