作者ybite (小犬)
看板C_Chat
标题Re: [NICO] NicoFox近况
时间Sun Feb 13 01:13:35 2011
先补一下ACG养分好了,FF竟然和台大硕士班入学考试同两天qqqqqqq
早上捷运公馆站可能人会比平常同人展再多一点,停车问题也会严重一些。
希望下星期的FF参与者能多注意。
────────────────────────────────────
有人寄信表示想参与了,我好感谢 Q__________Q
趁着读书读得快睡着的时候来赶快整理一下NicoFox的待作清单
大致可以分为简单、困难两个大部分
希望任何有志参与的人都能来帮一下忙qqqqqqq
如何参与?
1. 向我报备 (?),说你要做什麽,以免冲到
2. 申请 GitHub 帐号,Fork
https://github.com/littlebtc/nicofox
3. Fork过後你会拿到专属你的NicoFox >////<
使用Git版本控制系统拉下来,在你自己的 Fork 里头完成要做的事情
4. 完成过後请送Pull Request给我。
(进到你自己NicoFox在GitHub的页面,按一下「Pull Request」)
5. 耐心等待我的挑剔(?)和采用XDDDD
千万不要乱抄别人的程式码!
我很重视 License,希望大家复制贴上前请三思。
有很多现成的Open Source资源可以利用。
Task List for NicoFox 0.6b2pre
简单(只要读懂局部就可以参与)
* [字串] 有些字串目前是写死的,没有办法被翻译。
因为 NicoFox 0.6 的 UI 变动幅度太大,所以字串的整理会需要一点时间。
希望有人可以帮忙整理这一个部分(至少en-US和zh-TW要整理好)
所有字串应该都放在locale/底下
没有翻译的东西可能散布在content/*.xul, content/*.js和modules/*.jsm
* [除虫] 请协助检查频道影片、社区影片的评论有没有办法正常下载。
Nico的仕样经常改变,因此这方面会经常烂掉 qqqqq
如果您有付费会员帐号,也请详细检查网站的显示是否有任何问题。
目前下载的主判断放在modules/DownloadUtils.jsm
影片资讯的阅读放在modules/VideoInfoReader.jsm
这些两个都花了很长时间编写和重构,有问题请尽管丢出来
困难(需要对程式码有一定程度的了解)
* [暂停] 下载管理员需要追加「暂停」的状态。
主要原因是现在伫列的设计只能让他一直一直一直一直跑,
如果遇到防洪装置启用,或着连不上NICO时就会失败连环爆。
您需要花一点点时间阅读modules/DownlodManager.jsm来了解如何实现qqq。
* [报错] 下载错误不应该显示Modal-Dialog(也就是蹦出一个讯息)
合理讲应该要把错误讯息显示在下载管理员+右下讯息
而且不影响其他下载项目的继续进行才对。
这件事情需要调整modules/DownlodUtils.jsm
也可能会动到modules/DownloadManager.jsm的一些判断。
* [登入] 自动登入的功能目前已经暂时拿掉了。
我本来计画重写,但因为某些原因卡住。
如果对这块有兴趣,我会另外传一些程式码讲一下我的想法。
* [播放] Player「我觉得」应该改成放在分页里。
NicoFox Player的程式码叠层架屋的问题也应该解决。
Ant Video Downloader的程式作法我觉得可以多少参考。
* [猴子] 目前在页面上放工具列和下载连结的方式极端复杂。
modules/NicoMonkey.jsm是一个Greasemonkey的小改版,
使用这只猴子来读取content/nicomonkey/里的东西。
如果可以的话我想拿掉这个多余的部份,但这个真的极困难。
另一方面components/nicowatcher.js的?smilefox=get网址侦测我也想拿掉。
常见问题
Q:我没写过套件!
A:请先看一些有关JavaScript的再介绍:
https://developer.mozilla.org/en/JavaScript/A_re-introduction_to_JavaScript
(for那里我还是用烂写法qqq)
然後是套件课程:
http://www.slideshare.net/littlebtc/ext-0509
http://www.slideshare.net/littlebtc/ext-0523-1477028
Q:我不会用Git!
A:请读一下「写给大家的 Git 教学」。
http://www.slideshare.net/littlebtc/git-5528339
另外,Git对Windows不太友善。Mac/Linux推奖。
Q:拉下来之後要如何测试?
A:十分简单,Git Clone下来之後,资料夹改名为nicofox@littlebtc
拉进个人设定档的extensions/资料夹即可。
不过我自己的作法是Clone到其他路径之後建Symbolic Link。
Windows Vista,7 with NTFS / Mac / Linux 都可以这样做,我也都用得很愉快。
Q:如何侦错?
A:请先灌Console平方和Extension Developer两套件。
详细设置应该在套件课程第一张投影片里。
Q:程式码有特殊规定吗?
A:不分语言一律空两格当Tab,Vim使用者应该会自动侦测到第一行Comment的规定而调整
JS部分有几个地雷:一定要加var/let、setTimeout/setInterval禁止里头放string
禁用eval、parseInt如果十进位一定要加,10。理由都不难找。
Coding Style目前没有明确规范。可以看我怎麽写qqqqq
Q:Help me!有什麽好资源吗?
A:Mozilla官方的开发者网站有超多资讯
https://developer.mozilla.org
如果你需要研究Firefox的原始码,请浏览
http://mxr.mozilla.org/
Q:NicoFox下一版的版本相容性设定?
3.6(Mozilla 1.9.2)~4.0.*(2.0)。
NicoFox程式码简介
components/
about_nicofox.js 目前未使用,用於未来about:nicofox内部页面。
bootstrap.js 在Firefox启动时初始化下载管理员。
command_line.js 提供由Command Line启动Player的机制。
nicowatcher.js 拦截时报、提供?smilefox=get下载回路。
content/
nicomonkey/
commentHelper.js 评论辅助器。目前海外版限定。
downloadIconAdder.js 追加下载连结。
videoTools.js NicoFox工具列。
firefox_overlay.xul Overlay(对浏览器介面的附加)
nicofox_player.js NicoFox Player第一层的JS。
nicofox_player.xul NicoFox Player第一层。
options.xul 选项介面。
options_panel1.js 第一、二、三个选项页签的Script。
options_panel2.js
options_panel3.js
overlay.js Overlay上的JS。
smilefoxPanel.js Overlay上有关下载管理员显示区域的JS。
smilefoxPanel.xml 下载项目的XBL Binding。
tsundere_confirm.xul 0.1残留至今的彩蛋。目前未使用。
defaults/
......内建设定值。
inpage/
......目前未使用。about:nicofox施工用档案。完成後会移进content/。
以後有时间会把这个另外开Branch隔离。
locale/
......本地化用。目前有英文、正简体中文、日文。
modules/
Core.jsm 字串、设定值载入用。
DownloadManager.jsm 下载管理员,提供下载项目的新增/删除API并对下载排程。
DownloadUtils.jsm 给NICO连结,载下这部影片的主要回路。
FileBundle.jsm 决定下载档名、判断档案是否存在的简易机制。
另外也会随OS判断预设下载资料夹位置。
Network.jsm 在程式中存取HTTP页面的API。
NicoMonkey.jsm 修改过的Greasemonkey,用於工具列和连结附加。
ProcessRunner.jsm 呼叫外部播放器的API,针对Unicode下了超多功夫。
Services.jsm 快取常用的Fx内部服务。
VideoInfoReader.jsm 从影片页面或getthumbinfo XML读取影片资讯。
player-develop/
......ActionScript 3的FlashDevelop专案。是NicoFox Player的原始码。
对这里有兴趣欢迎写站内信。
player/
实际的Player SWF档案。其他两个档案计画拿掉,原因请见改善清单中的[播放]。
SWF应该要移进content/。
skin/
CSS档案与图档。
.gitignore Git用,设定不列入版本追踪的档案。
README.md 在GitHub页面下方显示的README。格式是Markdown。
build.sh 产生XPI档案,
目前似乎是Linux+Bash Only。
config_build.sh 前者的设置档。
chrome.manifest Firefox套件的基本组态档之一。
install.rdf Firefox套件的基本组态档之一。
license.txt 记录所有不是我写,且License相容於GPL的程式码来源。
-------------------------------------
写了好久,感谢大家看完 qqqqqqqqqq
也欢迎各路JS强者勇於报名参与,NicoFox等你带回家 >/////<
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.127.176.48
※ 编辑: ybite 来自: 122.127.176.48 (02/13 01:16)
1F:推 key0077:拿来研究(把最後的时间杀掉) 应该可以领悟些推坑术(误 02/13 01:20
※ 编辑: ybite 来自: 122.127.176.48 (02/13 01:25)
2F:推 aa1052v:辛苦了 加油!! 02/13 01:30
3F:推 bluegmn:推 02/13 01:46
4F:推 awashharp:今天有小小翻了一下GitHub上的档案XD 考完後再来仔细 02/13 03:02
5F:→ awashharp:研究NicoFox~ 02/13 03:03
6F:推 tdk4:小犬GOGOGO 考试也请加油 02/13 12:03
7F:推 ratadune:君なら出来る! もう何も怖くない! 02/16 16:21