mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-17 23:20:13 +01:00
🎨 Improve dynamic icon kernel api for rendering template https://github.com/siyuan-note/siyuan/issues/13095
This commit is contained in:
parent
c96a062027
commit
aaeca6778f
2 changed files with 54 additions and 3 deletions
|
|
@ -26,6 +26,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/siyuan-note/siyuan/kernel/model"
|
||||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
|
|
@ -118,7 +119,6 @@ func getDynamicIcon(c *gin.Context) {
|
|||
color := c.Query("color") // 不要预设默认值,不然type6返回星期就没法自动设置周末颜色了
|
||||
date := c.Query("date")
|
||||
lang := c.DefaultQuery("lang", util.Lang)
|
||||
content := c.Query("content")
|
||||
weekdayType := c.DefaultQuery("weekdayType", "1") // 设置星期几的格式,zh_CH {1:周日,2:周天, 3:星期日,4:星期天,}, en_US {1: Mon, 2: MON,3: Monday, 4. MONDAY,}
|
||||
|
||||
dateInfo := getDateInfo(date, lang, weekdayType)
|
||||
|
|
@ -147,7 +147,9 @@ func getDynamicIcon(c *gin.Context) {
|
|||
svg = generateTypeSevenSVG(color, lang, dateInfo)
|
||||
case "8":
|
||||
// Type 8: 文字图标
|
||||
svg = generateTypeEightSVG(color, content)
|
||||
content := c.Query("content")
|
||||
id := c.Query("id")
|
||||
svg = generateTypeEightSVG(color, content, id)
|
||||
default:
|
||||
// 默认为Type 1
|
||||
svg = generateTypeOneSVG(color, lang, dateInfo)
|
||||
|
|
@ -518,7 +520,7 @@ func generateTypeSevenSVG(color string, lang string, dateInfo map[string]interfa
|
|||
}
|
||||
|
||||
// Type 8: 文字图标
|
||||
func generateTypeEightSVG(color, content string) string {
|
||||
func generateTypeEightSVG(color, content, id string) string {
|
||||
colorScheme := getColorScheme(color)
|
||||
|
||||
// 动态变化字体大小
|
||||
|
|
@ -556,6 +558,10 @@ func generateTypeEightSVG(color, content string) string {
|
|||
}
|
||||
}
|
||||
|
||||
if strings.Contains(content, ".action{") {
|
||||
content = model.RenderDynamicIconContentTemplate(content, id)
|
||||
}
|
||||
|
||||
return fmt.Sprintf(`
|
||||
<svg id="dynamic_icon_type8" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||
<path d="M39,0h434c20.97,0,38,17.03,38,38v412c0,33.11-26.89,60-60,60H60c-32.56,0-59-26.44-59-59V38C1,17.03,18.03,0,39,0Z" style="fill: %s;"/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue