-
Notifications
You must be signed in to change notification settings - Fork 531
插件编写
此功能最低要求 1.1.2 版本,如低于此版本,请升级 到最新版本。
1.1.2 开始引入了
插件系统
,同时也可以方便的编写基于阅读模式
的插件了。
只要你会
JavaScript
,就可以编写了,如果还会些 CSS 与 Chrome API 就更棒了~
1.1.2 开放了以下 API,可以在插件中使用,随着版本的升级,我会陆续开放一些更高级的玩法。
-
window 等全局变量;
-
jQuery
-
Mousetrap
快捷键支持
-
Velocity.js
动效支持
-
Notify 内置的提示器 (关于这部分,会单独详细说明)
-
Chrome / Firfox API (并没有开放更多的权限,只限于
消息系统
storage
等 ) -
已命名好的 jQuery 对象:
-
$$version →
当前插件的版本号
-
$title →
阅读模式的标题
-
$desc →
阅读模式的描述
-
$content →
阅读模式的正文
-
$footer →
阅读模式的页脚
-
$process →
当前 scroll 的进度
-
$toc →
当前页面的 目录
-
-
storage.current ( `当前页面的适配规则 )
-
storage.read (当前页面的配置信息)
// 无图版
$content.find( "img" ).remove();
// 快捷键关闭当前 Tab
Mousetrap.bind( 'x x', function() {
browser.runtime.sendMessage( {type:"close_tab", value:{ url: location.href }} );
});
// 为阅读模式增加字数统计
sr-plugin-count {
position: fixed;
display: block;
left: 5px;
bottom: 5px;
font-size: 12px
}
var count = $content.text().length,
html = '<sr-plugin-count> 共计:' + count + ' 个字 </sr-plugin-count>';
$content.append(html);
1.1.2 内置了插件编辑器,具体操作如下:
-
通过 选项页 → 共通 → 导出配置文件到本地,导出配置文件;
-
点击
导入配置文件
导入实现下载的配置文件;
会得到下图 ↓ 所示的界面
-
点击
新建一个插件
进行新建操作; -
点击
提交到服务器
进行提交,提交后会进入待审核状态,管理员审核后,就可以出现在 插件中心
-
插件名称,不可为空,用来描述插件的功能,尽量简单直接;
-
版本号,符合 semver 规则,例如 x.xx.xx 等;
-
当前插件生效的
域
,仅支持适配站点的name
属性; -
插件的类别,供有下图所示的内容
-
插件运行的位置,暂仅支持
进入阅读模式
后,目前包括的值有: -
插件的图标,仅可以使用 Font Awesome
-
插件的前景色,仅支持 CSS3 颜色值;
-
插件的背景色,仅支持 CSS3 颜色值;
-
插件的样式,可为空;
-
插件的脚本,必填项;
以
Chrome
为例,利用了特有的Snippet
机制,即可方便的测试插件。
-
点击
复制到剪切板
; -
打开一个任意可以进入阅读模式的页面,如 https://sspai.com/post/39491
-
Ctrl + Shift + I,打开 Chrome DevTools
-
点击
Source
选项卡,在右侧选择Snippets
-
点击
New snippt
新建一个空的Snippet
-
粘贴(Ctrl + V) 到空的
Snippet
-
如果
步骤1
无误的话,会出现以下的代码
console.log( 'SimpRead Plugin debbuger' )
/********************************************
* SimpRead Plugin debugger, version 0.0.1
********************************************/
/**
* Plugin
*
* @param {string} $$version
* @param {jquery} $title jquery object
* @param {jquery} $desc jquery object
* @param {jquery} $content jquery object
* @param {jquery} $footer jquery object
* @param {jquery} $process jquery object
* @param {jquery} $toc jquery object
* @param {object} Notify
* @param {object} browser, include: chrome, browser(firefox)
* @param {object} current site object
* @param {object} current simpread.read object
*/
function plugin($$version, $title, $desc, $content, $footer, $process, $toc, Notify, browser, $$current, $$read ) {
// debugger;
(function () {
// 你写的内容
})();
}
/**
* Style
*
* @returns {string} style str
*/
function style() {
return ``;
}
// change top to simpread
window.simpread.testPlugin( style, plugin );
- 选中下图所示的内容后,分别点击下图 ① ②
即可开始测试你的插件。
注意 上图 L25
,此处即为你的代码,建议在 步骤1
前在 样式 和 脚本 处随意加入些内容,方便 步骤 8
的定位。
简悦(SimpRead)- 让你瞬间进入沉浸式阅读的 Chrome 扩展。 © 2017 ksria.com by Kenshin Wang