Files
FixIt/layouts/friends.html
T
Cell 09e08d0772 refactor!: migrate theme assets from css to scss and centralize deprecation detection (#735)
**Breaking changes**:

1. Legacy custom style/script files are no longer loaded automatically.
2. Users must migrate custom files to:
   - `custom.scss`
   - `override.scss`
   - `_variables.scss`
   - `assets/js/custom.js`

**Migration guide**:

1. Move `assets/css/_custom.scss` to `assets/scss/custom.scss`.
2. Move `assets/css/_override.scss` to `assets/scss/override.scss`.
3. Keep variables in `assets/scss/_variables.scss`.
4. Move `assets/js/_custom.js` to `assets/js/custom.js`.
5. Rebuild site and verify no deprecation warnings remain.
2026-04-19 13:34:01 +08:00

70 lines
2.6 KiB
HTML

{{- /*
[todo] refactor #206
[todo] link_guard usage in data file
Friends page template.
Usage:
1. Friend link items are loaded from data/friends.yml.
2. External link guard is disabled by default on this page.
3. To enable guard for all friend links on the current page, set `link_guard` to `true` in front matter.
@example
```md
---
title: friends
layout: friends
link_guard: true
---
```
*/ -}}
{{- define "title" -}}
{{- cond (.Param "capitalizeTitles") (title .Title) .Title -}}
{{- if .Site.Params.withSiteTitle }} {{ .Site.Params.titleDelimiter }} {{ .Site.Title }}{{- end -}}
{{- end -}}
{{- define "content" -}}
{{- $params := partial "function/params.html" -}}
{{- $isGuarded := .Params.link_guard | default false -}}
<article class="page single special friends">
<div class="header">
{{- /* Title */ -}}
<h1 class="single-title animate__animated animate__pulse animate__faster">{{- cond (.Param "capitalizeTitles") (title .Title) .Title -}}</h1>
{{- /* Subtitle */ -}}
{{- with $params.subtitle -}}<p class="single-subtitle animate__animated animate__fadeIn">{{ . | $.RenderString }}</p>{{- end -}}
</div>
{{- /* Friend links */ -}}
<script src="//at.alicdn.com/t/font_578712_g26jo2kbzd5qm2t9.js" async defer></script>
<div class="friend-links">
{{- range $index, $friend := hugo.Data.friends -}}
{{- $avatar := "" -}}
{{- if $friend.avatar -}}
{{- $avatar = dict "Src" $friend.avatar "Alt" $friend.nickname "Title" $friend.description "Class" "friend-avatar" | partial "plugin/image.html" -}}
{{- else -}}
{{- $avatar = printf `<svg class="friend-avatar" aria-hidden="true"><use xlink:href="#icon-%d"></use></svg>` (add 1 $index) -}}
{{- end -}}
{{- $nickname := printf `<span class="friend-nickname" title="%s">@%s</span>` $friend.nickname $friend.nickname -}}
{{- $options := dict
"Destination" $friend.url
"Title" $friend.description
"Content" (printf `%s%s` $avatar $nickname)
"Class" "friend-link"
"ExternalIcon" false
"IsGuarded" $isGuarded
-}}
{{- partial "plugin/link.html" $options -}}
{{- end -}}
</div>
{{- /* Content */ -}}
<div class="content" id="content">
{{- dict "Content" .Content "Ruby" $params.ruby "Fraction" $params.fraction "Fontawesome" $params.fontawesome | partial "function/content.html" | safeHTML -}}
</div>
</article>
{{- end -}}
{{- define "comments" -}}
{{- partial "layouts/comment.html" . -}}
{{- end -}}