duangsues.is_a? SaltedFish
59 subscribers
609 photos
6 videos
91 files
562 links
🌶🐔🐟 duangsuse 的日常
尤其喜欢发些奇奇怪怪的东西
和转载别人的东西
Download Telegram
Forwarded from dnaugsuz
GitApk 是在 Gitea 等社交源码托管站点上建立的
Forwarded from dnaugsuz
已经基本实现了之前 GeekApk 的设计特性
Forwarded from dnaugsuz
但是有一个缺点:更新检查比较慢
(然后发现好像有最新版本的 csv
这样就不慢了
(有点类似 FDroid
dnaugsuz
GitApk 是在 Gitea 等社交源码托管站点上建立的
GeekApk 依赖社交编程应用后端的版本被称为「GitApk」

永久链接约定:

假设服务器(Gitea 应用)地址为 https://gitapk.popf.rip

+ Gitea 用户

/:username

+ 用户的额外元数据

/:username/GitApk-Metadata

bio 自我介绍 /:username/GitApk-Metadata/raw/branch/master/README.md
nickname 昵称 /:username/GitApk-Metadata/raw/branch/master/nickname
avatar 链接 /:username/GitApk-Metadata/raw/branch/master/avatar

stars 记录 /:username/GitApk-Metadata/raw/branch/master/stars

timeline 时间线 issue /:username/GitApk-Metadata/issues/1

+ 应用包名跳转

/GitApk/packages/:package

+ 应用

/GitApk/apps/:aid

+ 分类目录

/GitApk/categories

/GitApk/categories/:name

/GitApk/categories.rank/:name

+ 主页

/GitApk/apps

+ 引入

/GitApk/gitapk

+ 元数据

/GitApk/metadata/reversion.csv
/GitApk/metadata/package.csv
/GitApk/metadata/author.csv
/GitApk/metadata/description.csv
/GitApk/metadata/apps.json
/GitApk/metadata/app/:package:.json
/GitApk/metadata/updates.json
/GitApk/metadata/updates/:package/:reversion:.json
准备拿 Crystal 写一个,开始想拿 C 写但是太慢了... 我还基本不会 C,虽然 man 手册又现成
「Gekyll」 😶
This media is not supported in your browser
VIEW IN TELEGRAM
什么时候 duangsuse 才能成为一个十足的前端
能背出来所有的 Gtk+ 控件,能自己写 View
能理解排版是什么
然后可以「GitHub 中国区排名前十」
不过我不是抱怨我完全不会写 HTML...
哈,其实我是在说 Drakeet 的 MultiType 类型对视图派发器
不过我只是不懂 MultiType,Android 使用 RecylerView 的项目做少了
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from dnaugsuz
我觉得 Gekyll 只需要渲染主页、分类页、用户页,生成查询数据即可

GitApk package tree 结构类似于这样

系统工具/ # 分类
dir/ # 将作为应用的「简单名」使用
README.md # readme
screenshots.yml # screenshots
metadata.yml # metadata
latest # latest reversion
issue # comment board issue no
update/
0.1.0/
reversion
metadata.yml
README.md
Foo/
bar/
# ...
gekyll.yml # 包含各种选项的文件


对于应用来说,它支持 aid、package、description、author、name、readme、icon、screenshots、created、updated、issue、latest 字段

aid、package、name 是必须的,生成结果作为默认 Tree

对于更新
,支持 reversion、minsdk、install、created 字段

GitApk 会占用一个源作为自己的「默认 Tree」,这个源要包含 /r.html 文件来进行重定向
GitApk 也会占用每个用户的一个源作为自己的「用户元数据源」

GitApk 渲染时要能分「获取 Gitea Comments 统计数据」、「生成 App 视图」、「生成应用别名跳转」、「生成分类」、「生成 rank 排行分类」、「生成分类索引」、「生成主页」、「生成索引」、「生成元数据」 阶段

用户元数据
MR 默认为 GitApk-Metadata
/:username/$MR/raw/branch/master/README.md
/:username/$MR/raw/branch/master/nickname
/:username/$MR/raw/branch/master/avatar

/:username/$MR/raw/branch/master/stars

/:username/$MR/issues/1

生成元数据:
/metadata/reversion.csv
/metadata/package.csv
/metadata/name.csv
/metadata/author.csv
/metadata/description.csv
/metadata/apps.json
/metadata/app/:package.json
/metadata/updates.json
/metadata/updates/:package/:reversion.json

默认 Tree 的 index.html 应该重定向到 r.html?type=index

其他操作都必须由 r.html 进行,动态的重定向到需要的 HTML 那里

r.html 接受 url 参数 type 来基于 JavaScript 进行动态重定向到指定视图

钦定有这些默认派发视图

+ about
+ doc
+ index
+ comments(aid)
+ user(username)
+ userlist
+ category(name)
+ categories
+ main
+ package(aid)
+ timeline(username)
+ notifications
+ timeline
+ stargazers
+ followers(username)
+ following(username)
+ update(aid, reversion)
+ updates(aid)
+ comment(aid, nth)
+ plugins
学习一下 TeX 是怎么做的,虽然必须使用 XeTeX 而不是 TeX... 因为 TeX 不支持 CJK
韦小宝
Photo
也需要了解一下 Android 使用的 FreeType (选学)以及 Pango、HarfBuzz(选学)

你会知道为何它能这麽智能的处理换行,而且是对「所有语言」!