Evernote的官方为Opera用户提供了一个按钮,可以clip2EvernoteWeb,我之前是一直在用这个功能的,但是那个页面的加载速度实在是有点慢。
于是,我最近对Opera的菜单设置进行了一系列的改造。不过说是改造,其实就是改了改ini配置文件而已。
暗度陈仓:一键复制富文本内容到Evernote
需要用到的工具:htm2clip.exe,AutoHotKey
然后是我用AutoHotKey编写的小工具 EvernoteClip(仅适用于Evernote3.x)
源代码如下
DetectHiddenWindows, On
If WinExist("ahk_class ENMainFrame3") or WinExist("ahk_class TApplication")
{
Sleep,2000 Send, ^!v
return
}
else
{
MsgBox,1,,Evernote 3没有运行,是否启动Evernote 3?
IfMsgBox OK
{
RegRead, OutputVar, HKEY_LOCAL_MACHINE, SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Evernote.exe
Run %OutputVar%
return
}
}
首先,感谢这俩免费工具的作者,AHK还是开源的,感谢的话咱就不多说了,以下省略10000字
然后,对Evernote进行配置
- 启动Evernote3
- 菜单Application – Options
- 切换至Note选项卡
- 选中Use Ctrl+Alt+V to paste to new note from any Application
第三步,下载htm2clip,并配置
- 解压缩到任意文件夹(推荐放在opera文件夹下)
- 复制其中的autocopy.js到userJS目录
- 首选项 ->高级 ->下载,点击添加
- MIME类型:text/cwf 扩展名:无,用其他应用程序打开:htm2clip.exe的路径
第四步,编辑菜单
- 打开opera\profile\menu文件夹下你当前使用的菜单的配置文件
- 找到[Hotclick Popup Menu]
- 在最后添加一个新的item,如下
Item, "带格式复制"="Go to Page, "javascript:(function(){var sel=document.createDocumentFragment();var range=window.getSelection().getRangeAt(0); sel.appendChild(document.createComment('StartFragment')); sel.appendChild(range.cloneContents()); sel.appendChild(document.createComment('EndFragment'));var ele=range.commonAncestorContainer;while(ele){if(ele.nodeType==1){var clone=ele.cloneNode(false);clone.appendChild(sel);sel=clone}; ele=ele.parentNode};var head=document.getElementsByTagName('head')[0];if(head){var h=sel.insertBefore(head.cloneNode(true),sel.firstChild);var b=h.getElementsByTagName('base')[0];if(!b) {b=document.createElement('base');h.insertBefore(b,h.firstChild)} if(!b.href)b.href=location.href;var m=h.getElementsByTagName('meta');for(var i=0,mi;mi=m[i];i++){if(mi.httpEquiv&&mi.httpEquiv.toLowerCase()=='content-type')mi.content='text/html; charset=utf-8'}};location.href='data:text/cwf;charset=UTF-8,'+encodeURIComponent ('SourceURL:'+location.href+'\r\n\r\n'+sel.outerHTML)})();",,,"New Note"" - 这个菜单是仅仅管复制富文本内容
- 然后再添加一个可以复制到Evernote的。
- 首先下载附件中的EvernoteClip
- 把EvernoteClip.exe放到某个目录下
- 在上面找到[Hotclick Popup Menu]最后再添加一个新的item,如下
Platform Windows, Item, "带格式复制到Evernote"=Go to Page, "javascript:(function(){var sel=document.createDocumentFragment();var range=window.getSelection().getRangeAt(0); sel.appendChild(document.createComment('StartFragment')); sel.appendChild(range.cloneContents()); sel.appendChild(document.createComment('EndFragment'));var ele=range.commonAncestorContainer;while(ele){if(ele.nodeType==1){var clone=ele.cloneNode(false); clone.appendChild(sel);sel=clone};ele=ele.parentNode};var head=document.getElementsByTagName('head')[0];if(head){var h=sel.insertBefore(head.cloneNode(true),sel.firstChild);var b=h.getElementsByTagName('base')[0]; if(!b){b=document.createElement('base'); h.insertBefore(b,h.firstChild)}if(!b.href)b.href=location.href;var m=h.getElementsByTagName('meta');for(var i=0,mi;mi=m[i];i++) {if(mi.httpEquiv&&mi.httpEquiv.toLowerCase()=='content-type')mi.content='text/html; charset=utf-8'}};location.href='data:text/cwf;charset=UTF-8,'+encodeURIComponent ('SourceURL:'+location.href+'\r\n\r\n'+sel.outerHTML)})();" & Execute program, "刚才EvernoteClip.exe的路径"
目前的bug(已经修复)
如果这样还不可以,那么很可能是你的opera配置文件有问题,打开Opera\profile\opera6.ini文件,在User Prefs子项下面,加一句Cache Directory4=X:\XXX\cache4 说明一下,文件夹路径必须无空格无中文,我的选择是d:\recycler\cache4 直接扔进回收站。。呵呵
感谢老王报告bug
借尸还魂:不启动Evernote,照样能保存想要的内容
有时候我们不愿意启动evernote,只是临时想要保存什么东西,就像是opera自带的笔记一样。于是我修改了一下,做出了这个功能。
- 首先,是我们需要的东西 optool.exe,下载之后放在任意位置。
- 使用"快速文本保存设置.exe" 修改保存文件夹,比如设在Opera\Opera Clip Notes文件夹。
- 在Evernote中设定自动导入文件夹。Account – Properties.
选择File Import 选项卡,添加一个上面选择的文件夹。 - 在上面用到的配置文件中,找到[Note Item Popup Menu]和[Hotclick Popup Menu]中,再添加一个item
Item,保存选定文本="copy & Execute program,"D:\\Program Files\\Opera\\optool.exe","q"" - ok了,打开Opera,测试一下,选中文字,保存选定文本。
- 这个时候打开Evernote,你会发现刚刚保存的文件已经自动被导入到Evernote数据库了
没有评论:
发表评论