link
는 내부/외부 페이지의 링크를 제공합니다.
내부 페이지인 경우 front-matter (또는 분석한 결과) 의 제목, 설명으로 노출되며, 외부 페이지인 경우 빌드 시점에 해당 페이지를 로딩하고, 로딩된 페이지의 HTML 요소중 <title>
tag, <meta[description]>
를 획득하여 노출됩니다.
만일 페이지가 없거나, 불특정한 이유로 페이지를 분석 할 수 없는 경우엔 url 일 기준으로 노출되며, 링크에 대한 접근을 제한하지 않습니다.
기본적인 선언은 다음과 같습니다.
복사성공!
1
{% link url="/use/processor" caption="processor" %}
항목 | 유형 | 필수여부 | 설명 |
---|---|---|---|
url | string | Y | url 는 해당 링크의 접근 경로입니다. 상대 경로를 입력할 경우, 프로젝트 내 파일로 인지하고 파일 정보를 기준으로 노출됩니다. |
caption | string | caption 은 링크의 제목에 해당되며, 없을 경우 외부 페이지인 경우 HTML 의 title, 내부 페이지인 경우 분석한 title 이 노출됩니다. |
link
의 proto
theme 의 기본 template, stylesheet 는 다음과 같습니다.
이 값은 새로운 theme 작성시 용도에 맞게 변경이 가능합니다.
- template
- stylesheet
link.liquid
복사성공!
1
2
3
4
5
6
7
8
9
<div class="block">
<a class="block-body" href="{{ url }}">
<div class="thumb link"></div>
<div class="content">
<div class="large">{{ title }}</div>
<div class="small">{{ description }}</div>
</div>
</a>
</div>
template 작성 항목
변수명 | 필수여부 | 설명 |
---|---|---|
url |
Y | 선언시 사용한 url |
title |
선언시 사용한 caption 으로 선언하지 않은 경우 분석된 제목이 노출됩니다. | |
description |
분석된 문서의 설명이 노출됩니다. |
복사성공!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
div.block {
@extend %clicked-box;
height: fit-content;
&.pagination {
height: 6rem;
}
& > .block-body {
@extend %left-middle;
width: 100%;
height: 100%;
color: black;
text-decoration: none;
& > div.thumb {
width: 4em;
height: 4em;
&.prev {
@include left("darkgray", 80%);
}
&.next {
@include right("darkgray", 80%);
}
&.document {
@include document("darkgray", 70%);
}
&.file {
@include file("darkgray", 70%);
}
&.link {
@include link("darkgray", 60%);
}
}
& > div.content {
@extend %grid-row;
width: calc(100% - 4em);
height: fit-content;
margin-inline: 1em;
padding-block: 1em;
& > * {
@extend %left-middle;
align-items: center;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
min-height: 1em;
}
&.right > * {
@extend %right-middle;
}
}
}
}