Open cssmagic opened 9 years ago
已建了一个 GHX 项目,作为 GitHub 用户脚本的开发框架,便于那些不愿意融入 Oh-My-GitHub 生态圈的其它开发者开发自己的作品。
所有基于该框架开发的用户脚本,即自动支持上述 “标准化” 段落。也就是说,这个标准将不是各个用户脚本开发者自己的选择,而是框架的选择。
本地存储数据的键名和格式要改一下,键名为 userscript_ghx
,而 extensions
的数据嵌套其中:
{
"extensions": [
{
"name": "oh-my-github", //用于生成菜单项的链接 URL
"label": "Oh-My-GitHub" //用于显示菜单项
},
{...}
],
...
}
扯远了,所以后续讨论将迁移到: https://github.com/UserScript/ghx/issues/1
关于配置界面的实现,在 Firefox + Greasemonky 下遇到问题。限于 GitHub 的 CSP 设置,无法在 JS 代码中执行 eval('...')
和 new Function('...')
之类的代码——这导致前端模板引擎挂了。可能需要以预编译的方式来解决这个问题。
不过在 Chrome + Tampermonkey 下就没有这个问题。
配置界面
打算在本项目中新建一个 Markdown 文件,以这个文件作为界面主体。脚本在其之上完成选项的读取、显示、存储。更新
把配置界面放到项目中,是出于推广项目的考虑。但这意义不大。
因此,还是决定把配置界面整合到 GitHub 的 Settings 界面中,这样体验更好。不用受制于 Markdown 的格式,看起来更像个界面。
预计页面 URL: https://github.com/settings/applications?x=oh-my-github
在配置页面的左栏,新增一个菜单组,叫 Extensions,在其中显示一个菜单项,叫 “Oh-My-GitHub”。
标准化
如果其它扩展也希望显示在侧栏菜单里,需要把自己存到本地存储的
extensions
键中。并且这些扩展也需要正确读取并显示这个键中的所有菜单项。