惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园 - 司徒正美
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
博客园_首页
博客园 - 【当耐特】
Cisco Talos Blog
Cisco Talos Blog
J
Java Code Geeks
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
SegmentFault 最新的问题
人人都是产品经理
人人都是产品经理
Jina AI
Jina AI
AWS News Blog
AWS News Blog
S
Schneier on Security
NISL@THU
NISL@THU
F
Fortinet All Blogs
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
量子位
IT之家
IT之家
T
The Exploit Database - CXSecurity.com
爱范儿
爱范儿
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
T
Tor Project blog
V
Vulnerabilities – Threatpost
V
Visual Studio Blog
宝玉的分享
宝玉的分享
Spread Privacy
Spread Privacy
L
Lohrmann on Cybersecurity
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Y
Y Combinator Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Privacy International News Feed
S
Securelist
P
Palo Alto Networks Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
Arctic Wolf
T
Tenable Blog
B
Blog
C
CERT Recently Published Vulnerability Notes
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Threat Research - Cisco Blogs
T
Threatpost

博客园 - 饭特稠

浪浪山老前端的2025 useAttrs 是响应式的吗(by 豆包) 实时互动教育版的自定义 UI 如何开发 2024,在路上 当蓝牙键盘连不上电脑:一次意外的debug之旅 前端技术选型时有用的网站 好用的zsh插件,打造好用的命令行 2023年终总结:怀孕,装修,还贷和其他 分享一个URL正则 如何使webpack编译 node_modules 中的 npm 包 小程序中实现图片旋转后保存 Custom Elements 和 Shadow DOM了解一下? CSS 原生嵌套来了 聊聊CSS 缓动函数的新成员linear() chatgpt: 在ts中如何声明一个全局类型 Workbox -- 为serviceWorker量身定做的工具 cache API简介 重新学车 魔幻2022
使用 scriptable 实现每日诗词小组件
饭特稠 · 2023-10-31 · via 博客园 - 饭特稠

什么是 scriptable

scriptable可以让我们用 js 就可以创建出 ios 中的桌面小组件,而不需要掌握 ios 开发。由于最近深感自己文化水平低,所以想借助 scriptable实现一个每日诗词小组件,这样可以提高一下自己的文化水平。

效果

代码

scriptable支持多种 api,比如发起请求,插入图片,布局。。。详细文档可以在 https://docs.scriptable.app 查阅

let url = "https://v2.jinrishici.com/one.json"
let req = new Request(url);
let json = await req.loadJSON();

// log(json)

let poem=json.data.origin.content[0]

let dotflag = /。|,|!|?/g
let dot=poem.match(dotflag)

poem=(poem.split(dotflag))
log(poem)


let str3=json.data.origin.author
let str4=json.data.origin.title


console.log(json.data.origin)

let widget = new ListWidget()

let lineColor=new LinearGradient()
// 自定义背景颜色
// widget.backgroundColor=new Color("#DC143C")

// 背景图片
let bgImg="https://d2w9rnfcy7mm78.cloudfront.net/8867234/original_63cd43c88048a9ff6279c0340faea9db.jpg?1601084036?bc=0"
const i = await new Request(bgImg);
const img = await i.loadImage();
widget.backgroundImage=img

for (let str of poem) {
  let strWidget=widget.addText(str)
  strWidget.font=new Font("KaiTi", 16)
  strWidget.textColor=new Color("#ffffff")
}

  
  widget.spacing=14
//   作者信息
  let author=widget.addText("-"+str3+"《"+str4+"》")
  author.textColor=new Color("#ffffff")
  author.rightAlignText()
  
  widget.presentMedium()


Script.setWidget(widget)
Script.complete()

one more thing

https://github.com/Nicolasking007/Scriptable